白皮书

基于模型的安全风险分析

简介

如何预测和缓解安全风险?ISO®/SAE® 21434 和 DO-356 等行业标准要求在将新产品推向市场之前回答此问题。如果没有用于记录、跟踪、实现和验证更改的统一流程,这可能很难做到。根据所在行业的不同,您可能将此流程称为 TARA(威胁分析和风险评估)、SRA(安全风险评估)或其他名称。通过采用基于模型的 SRA 框架(图 1),您可以使用引导式分步流程,在设计与其安全性和保密性之间实现紧密耦合。您也可以使用 MATLAB® 的众多功能,轻松地定制、扩展该流程或使其自动执行以满足您的需求。

示意图:安全分析流程,其中“架构和实现模型”以及“安全目标”作为输入。该图包含“静态分析”阶段的三个关键步骤:1) 提出资产、威胁和对策建议;2) 加强的威胁与风险模型;3) 对攻击进行建模以测试安全目标。箭头连接各个阶段以展示工作流。

图 1. 基于模型的安全分析框架。

上下文:仓库机器人

本白皮书展示仓库机器人示例,其中包含远程操作员、软件架构、被控对象模型和摄像头模型(图 3)。图 4 所示软件架构的详图显示规划调度器,规划、控制和位置估计器模块。

基于模型的安全分析包括以下步骤(如图 2 所示):

  1. 资产和威胁识别
  2. 安全风险计算
  3. 对策的定义、实现和验证
说明安全风险管理步骤的流程图:识别资产和威胁、计算安全风险以及定义和验证对策。每节都包含问题和相关图像,例如风险矩阵和安全摄像头。

图 2. 基于模型的安全分析步骤。

系统示意图:仓库机器人系统,其中包含控制中心、机器人软件架构和仓库厂房。该图展示用于机器人控制、定位和导航的数据流。

图 3. 仓库机器人架构模型。

仓库作业机器人架构的详细示意图:规划调度器、位置估计器和管理机器人移动和作业的控制模块。

图 4. 仓库机器人软件架构。

小节

识别资产和威胁

在尝试识别资产和威胁时,一个重要问题是:“是什么需要保护?”在理想情况下,答案是能为您的系统提供价值的任何事项。然而,复杂性和高昂的成本限制了选择范围,使得我们只能保护必要的功能,例如与安全相关的功能。这些功能称为资产,每个资产都有一个或多个需要保护的属性,例如:

  • 支持情况
  • 完整性
  • 真实性
  • 保密性
  • 不可抵赖性
  • 授权

资产识别:您要保护什么?

有许多识别资产的方法,例如评估它们对用户的暴露程度、检查其数据流、审核软件材料清单 (SBOM) 或考虑它们在安全功能中的作用。简而言之,所有接受外部输入的组件都应考虑在内。

在机器人的软件架构中,有些组件依赖来自仓库屋顶摄像头(仿真模型)的信号 (robotPosition):

  • 规划调度器
  • 位置估计器

就此示例而言,本报告将重点关注与这些资产相关的信号保护问题,即该信号的可用性、完整性和真实性。请注意,这些资产还有其他应受保护的属性,并且此分析应应用于系统中的所有资产。

为确保整个分析过程的可追溯性,务必使用 Simulink Fault Analyzer™ 中的安全分析管理器电子表格。要将这些资产添加到该电子表格中,需要使用 System Composer™ 中的构造型。当“资产”构造型分配给这些子系统时,它们将自动添加到表中。该电子表格跟踪资产类型、受保护属性以及您要捕获的任何其他信息(图 5)。使用 Requirements Toolbox™,还可以将资产链接到已识别的威胁,以创建连接其余分析的数字线索。这将帮助我们:

  1. 满足行业标准的可追溯性需求。
  2. 对更改进行影响分析。
电子表格的截图。它列出两个资产:“规划调度器”和“位置估计器”,两者都标记为具有真实性、完整性和可用性检查的流程。

图 5. 资产电子表格示例。

威胁识别:可能会出现什么问题?

在识别了需要保护的资产后,下一步就是识别这些资产面临的威胁。识别软件安全威胁的一种常用方法是 STRIDE 建模框架。纳入考虑的资产属性直接映射到其对应的威胁,如表 1 所示。

表 1

用于将威胁映射到属性和定义的表。(来源:维基百科

威胁 纳入考虑的属性 威胁定义
欺诈 真实性 冒充他人身份
篡改 完整性 修改磁盘、网络、内存或其他位置的内容
抵赖 不可抵赖性 否认或推卸责任,可真可假
信息泄露 保密性 某人获取其未被授权访问的信息
拒绝服务 可用性 耗尽提供服务所需的资源
权限提升 授权 允许某人做其未被授权做的事情

无论您使用的是 STRIDE 还是其他方法,都可以编写 MATLAB 函数,根据之前识别的资产属性自动给出威胁建议。例如,与可用性对应的威胁是拒绝服务。该术语的定义较为宽泛,您可能需要更具体的内容来确定所带来的风险和对策。诸如 CAPEC™1、ATT&CK®2 和 EMB3D3 之类的威胁目录可用于获取更具体的威胁行为特征;在本例中,威胁可能表现为干扰从摄像头到位置估计器的信号。

一旦识别了具体威胁,就可以用 CAPEC 条目(例如 CAPEC-601)更新威胁电子表格。与资产表一样,威胁表也通过它与其余分析的链接实现可追溯性和影响分析。

小节

计算安全风险

计算特定威胁的风险涉及若干主要因素。第一个因素是可行性,指实施攻击的难易程度。第二个因素是影响,它需要考虑后果的严重程度。

可行性:任务难度有多大?

使用 ISO 18045 中的攻击潜力方法可提供系统化框架,以基于以下一组必要因素来估计攻击的可行性:

  • 专业知识:攻击者需要的技能有哪些?
  • 情报:需要多少内部情报?
  • 设备:执行攻击需要哪些工具或硬件?
  • 历时:识别漏洞并利用漏洞需要多长时间?
  • 机会窗口:攻击可以在何时何地进行?

威胁电子表格(图 6)中的列用于每个要考虑的因素,并且可自定义的 MATLAB 公式会自动计算可行性。如上所述,使用的是攻击潜力方法,该方法将每个因素的标准化枚举值相加。

截图:具有风险和可行性详细信息的威胁分析表。

图 6. 突出显示因素和可行性的威胁电子表格。

影响:后果有多严重?

每个威胁都有潜在影响或后果。在此示例中,影响是根据对安全的影响来确定的。为此,我们直接使用了现有安全分析(即危险评估)中的影响评估。请注意,这是一种简化方法。通常,我们还会从运营、财务和隐私方面确定影响。

在危险评估(图 7)中,位置传感器功能故障的严重程度范围从 S3 到 S5。为简单起见,我们将取这些值中的最大值用作拒绝服务 (DoS) 威胁的影响。

机器人危险评估表的截图:概述规划和位置传感器中的功能故障及其影响、严重程度、发生概率、风险和缓解策略。

图 7. 机器人的危险评估。

风险计算和处理

在评估可行性和影响后,可以使用另一个 MATLAB 公式自动计算风险。在此示例中,风险是通过将可行性乘以影响来计算的。

根据您的风险承受能力,您可以决定如何应用风险处理措施。电子表格(图 8)中通过标注以下特征之一来显示风险处理措施:

  • 避免:必须完全避免风险(例如,通过删除功能)。
  • 降低:必须通过实现技术对策来降低风险。
  • 分担:将风险转移给保险公司、用户、第三方等。
  • 保留:“按现状”接受风险,不采取任何进一步措施。
  • 不适用:此系统中不存在该威胁。

注意:“避免”和“降低”风险处理措施都会产生技术需求。

电子表格截图:各种威胁,例如“对位置估计器的拒绝服务攻击”和“对位置估计器的数据篡改”,并附攻击方专业知识和风险等详细信息。警告突出显示,表明风险级别远高于选定状态。

图 8. 威胁电子表格中的风险处理。

风险计算以及威胁、资产和其他要素之间的关系可以可视化为图形,这有助于深入了解它们对整体风险的影响。由于该图形显示有关每个关系重要性的信息,因此可用于确定工作优先级。从图 9 可以看出,拒绝服务 (DoS) 构成的威胁比数据篡改大,因此应首先处理。这是因为其严重程度级别 (S5) 高于篡改 (S4)。

图形能够可视化仓库作业机器人架构中资产、威胁和位置估计器之间的关系。指示威胁的优先级,“对位置估计器的 DoS 攻击”标记为优先级 1,“对位置估计器的数据篡改”标记为优先级 2。

图 9. 风险可视化。

小节

对策的定义、实现和验证

为降低从摄像头到位置估计器的信号拥塞 (DoS) 的风险,可以通过降低可行性或采取对策来缓解风险。在本例中,通过添加紧急制动器来降低影响。此措施可通过对策表(图 10)中的链接回溯到威胁电子表格。每个对策都会产生安全目标,该目标以至少一个派生需求的形式呈现。在本例中,需求是机器人在检测到干扰后的一秒内停止,该需求也为了便于可追溯性和影响分析而被关联起来。

表的截图:各种威胁的风险评估,包括攻击专业知识、可行性和风险级别等详细信息。箭头从标记为“用于检测并停止旋转的紧急制动器”的对策指向其相关威胁,突出显示它们之间的链接。

图 10. 将对策链接到威胁。

一致性和完整性检查

到目前为止,本白皮书已讲述了识别威胁、评估其风险,并为风险高到不可接受的情况定义了对策。下一步是制定对策。在移交安全目标之前,通过验证以下内容来确保威胁和风险模型有效:

  • 已为每个资产识别至少一个威胁(完整性概念)。
  • 没有未审核的威胁。
  • 已针对过高的风险分配对策。
  • 已创建需求(例如安全目标)并将其链接至对策。
  • 威胁、资产、模型和安全分析之间没有断开的链接。

一次函数调用即可验证所有这些内容并生成绘图(图 11)。

标题为“威胁与风险模型验证”的条形图,显示不同分析表中检查结果的数量。该图使用绿色、橙色和红色指示资产、威胁、对策和机器人危险评估的状态。

图 11. 威胁和风险模型验证。

对策实现

在定义好对策后,就可以在模型中实现它们。在控制器的 Simulink® 模型中,使用 MATLAB 添加函数模块(图 12),该函数模块链接到需求以实现可追溯性。

示意图:紧急制动系统的实现,包含 safetyLock 和 emergencyBrake 组件。右侧面板显示紧急制动器功能的摘要和描述,并突出显示与“紧急制动器激活”的链接。

图 12. 紧急制动器的实现,具有已链接的需求。

验证和确认

在实现后,下一步是对攻击建模并验证对策的功能。这可以通过 Simulink Fault Analyzer 来完成,该工具用于对攻击进行建模和仿真。图 13 可视化对攻击建模时使用的设置。

用于向模型元素添加故障的对话框,详细说明故障名称和行为等属性。故障设置为在指定的仿真时间触发,行为类型为“困在原地”。

图 13. 突出显示触发器的故障对话框。

在启用故障并运行模型后,可以使用仿真数据检查器 (SDI) 仔细查看信号,如图 14 所示。您也可以使用 Navigation Toolbox™ 可视化攻击响应,如图 15 所示。这些工具支持您以可视化方式验证对策是否按预期工作,并且可以使用 Simulink 测试管理器框架扩展此工作流,以确保所有功能都得到适当验证。

截图:对机器人位置估计器的 DoS 攻击的图形分析。顶部图形指示攻击注入的时间,中间图形显示机器人停止的时间。

图 14. 显示攻击注入位置的 Simulink 数据检查器。

图 15. 有对策(左)和无对策(右)时攻击的可视化。

小节

结束语

基于模型的安全分析框架提供一个工作流,该工作流具有内置的可追溯性、可自定义性(以满足您的合规标准)以及自动化功能,从而确保设计和分析之间的一致性。通过此简化工作流在设计过程中提前进行验证和确认,可以加快验证和确认速度,同时减少开发时间和成本。从发现潜在威胁到量化和确定风险,再到定义和仿真对策的有效性,这种端到端方法可确保涵盖您的安全流程。

小节

参考资料

  1. The MITRE Corporation.“CAPEC - Common Attack Pattern Enumeration and Classification (CAPEC™).”Accessed March 18, 2025.

  2. The MITRE Corporation.“MITRE ATT&CK®.”Accessed March 18, 2025.

  3. The MITRE Corporation.“MITRE EMB3D™.”Accessed March 18, 2025.