简介
如何预测和缓解安全风险?ISO®/SAE® 21434 和 DO-356 等行业标准要求在将新产品推向市场之前回答此问题。如果没有用于记录、跟踪、实现和验证更改的统一流程,这可能很难做到。根据所在行业的不同,您可能将此流程称为 TARA(威胁分析和风险评估)、SRA(安全风险评估)或其他名称。通过采用基于模型的 SRA 框架(图 1),您可以使用引导式分步流程,在设计与其安全性和保密性之间实现紧密耦合。您也可以使用 MATLAB® 的众多功能,轻松地定制、扩展该流程或使其自动执行以满足您的需求。
上下文:仓库机器人
本白皮书展示仓库机器人示例,其中包含远程操作员、软件架构、被控对象模型和摄像头模型(图 3)。图 4 所示软件架构的详图显示规划调度器,规划、控制和位置估计器模块。
基于模型的安全分析包括以下步骤(如图 2 所示):
- 资产和威胁识别
- 安全风险计算
- 对策的定义、实现和验证
识别资产和威胁
在尝试识别资产和威胁时,一个重要问题是:“是什么需要保护?”在理想情况下,答案是能为您的系统提供价值的任何事项。然而,复杂性和高昂的成本限制了选择范围,使得我们只能保护必要的功能,例如与安全相关的功能。这些功能称为资产,每个资产都有一个或多个需要保护的属性,例如:
- 支持情况
- 完整性
- 真实性
- 保密性
- 不可抵赖性
- 授权
资产识别:您要保护什么?
有许多识别资产的方法,例如评估它们对用户的暴露程度、检查其数据流、审核软件材料清单 (SBOM) 或考虑它们在安全功能中的作用。简而言之,所有接受外部输入的组件都应考虑在内。
在机器人的软件架构中,有些组件依赖来自仓库屋顶摄像头(仿真模型)的信号 (robotPosition
):
- 规划调度器
- 位置估计器
就此示例而言,本报告将重点关注与这些资产相关的信号保护问题,即该信号的可用性、完整性和真实性。请注意,这些资产还有其他应受保护的属性,并且此分析应应用于系统中的所有资产。
为确保整个分析过程的可追溯性,务必使用 Simulink Fault Analyzer™ 中的安全分析管理器电子表格。要将这些资产添加到该电子表格中,需要使用 System Composer™ 中的构造型。当“资产”构造型分配给这些子系统时,它们将自动添加到表中。该电子表格跟踪资产类型、受保护属性以及您要捕获的任何其他信息(图 5)。使用 Requirements Toolbox™,还可以将资产链接到已识别的威胁,以创建连接其余分析的数字线索。这将帮助我们:
- 满足行业标准的可追溯性需求。
- 对更改进行影响分析。
威胁识别:可能会出现什么问题?
在识别了需要保护的资产后,下一步就是识别这些资产面临的威胁。识别软件安全威胁的一种常用方法是 STRIDE 建模框架。纳入考虑的资产属性直接映射到其对应的威胁,如表 1 所示。
威胁 | 纳入考虑的属性 | 威胁定义 |
欺诈 | 真实性 | 冒充他人身份 |
篡改 | 完整性 | 修改磁盘、网络、内存或其他位置的内容 |
抵赖 | 不可抵赖性 | 否认或推卸责任,可真可假 |
信息泄露 | 保密性 | 某人获取其未被授权访问的信息 |
拒绝服务 | 可用性 | 耗尽提供服务所需的资源 |
权限提升 | 授权 | 允许某人做其未被授权做的事情 |
一旦识别了具体威胁,就可以用 CAPEC 条目(例如 CAPEC-601)更新威胁电子表格。与资产表一样,威胁表也通过它与其余分析的链接实现可追溯性和影响分析。
计算安全风险
计算特定威胁的风险涉及若干主要因素。第一个因素是可行性,指实施攻击的难易程度。第二个因素是影响,它需要考虑后果的严重程度。
可行性:任务难度有多大?
使用 ISO 18045 中的攻击潜力方法可提供系统化框架,以基于以下一组必要因素来估计攻击的可行性:
- 专业知识:攻击者需要的技能有哪些?
- 情报:需要多少内部情报?
- 设备:执行攻击需要哪些工具或硬件?
- 历时:识别漏洞并利用漏洞需要多长时间?
- 机会窗口:攻击可以在何时何地进行?
威胁电子表格(图 6)中的列用于每个要考虑的因素,并且可自定义的 MATLAB 公式会自动计算可行性。如上所述,使用的是攻击潜力方法,该方法将每个因素的标准化枚举值相加。
影响:后果有多严重?
每个威胁都有潜在影响或后果。在此示例中,影响是根据对安全的影响来确定的。为此,我们直接使用了现有安全分析(即危险评估)中的影响评估。请注意,这是一种简化方法。通常,我们还会从运营、财务和隐私方面确定影响。
在危险评估(图 7)中,位置传感器功能故障的严重程度范围从 S3 到 S5。为简单起见,我们将取这些值中的最大值用作拒绝服务 (DoS) 威胁的影响。
风险计算和处理
在评估可行性和影响后,可以使用另一个 MATLAB 公式自动计算风险。在此示例中,风险是通过将可行性乘以影响来计算的。
根据您的风险承受能力,您可以决定如何应用风险处理措施。电子表格(图 8)中通过标注以下特征之一来显示风险处理措施:
- 避免:必须完全避免风险(例如,通过删除功能)。
- 降低:必须通过实现技术对策来降低风险。
- 分担:将风险转移给保险公司、用户、第三方等。
- 保留:“按现状”接受风险,不采取任何进一步措施。
- 不适用:此系统中不存在该威胁。
注意:“避免”和“降低”风险处理措施都会产生技术需求。
风险计算以及威胁、资产和其他要素之间的关系可以可视化为图形,这有助于深入了解它们对整体风险的影响。由于该图形显示有关每个关系重要性的信息,因此可用于确定工作优先级。从图 9 可以看出,拒绝服务 (DoS) 构成的威胁比数据篡改大,因此应首先处理。这是因为其严重程度级别 (S5) 高于篡改 (S4)。

图 9. 风险可视化。
对策的定义、实现和验证
为降低从摄像头到位置估计器的信号拥塞 (DoS) 的风险,可以通过降低可行性或采取对策来缓解风险。在本例中,通过添加紧急制动器来降低影响。此措施可通过对策表(图 10)中的链接回溯到威胁电子表格。每个对策都会产生安全目标,该目标以至少一个派生需求的形式呈现。在本例中,需求是机器人在检测到干扰后的一秒内停止,该需求也为了便于可追溯性和影响分析而被关联起来。
一致性和完整性检查
到目前为止,本白皮书已讲述了识别威胁、评估其风险,并为风险高到不可接受的情况定义了对策。下一步是制定对策。在移交安全目标之前,通过验证以下内容来确保威胁和风险模型有效:
- 已为每个资产识别至少一个威胁(完整性概念)。
- 没有未审核的威胁。
- 已针对过高的风险分配对策。
- 已创建需求(例如安全目标)并将其链接至对策。
- 威胁、资产、模型和安全分析之间没有断开的链接。
一次函数调用即可验证所有这些内容并生成绘图(图 11)。

图 11. 威胁和风险模型验证。
对策实现
在定义好对策后,就可以在模型中实现它们。在控制器的 Simulink® 模型中,使用 MATLAB 添加函数模块(图 12),该函数模块链接到需求以实现可追溯性。
验证和确认
在实现后,下一步是对攻击建模并验证对策的功能。这可以通过 Simulink Fault Analyzer 来完成,该工具用于对攻击进行建模和仿真。图 13 可视化对攻击建模时使用的设置。
在启用故障并运行模型后,可以使用仿真数据检查器 (SDI) 仔细查看信号,如图 14 所示。您也可以使用 Navigation Toolbox™ 可视化攻击响应,如图 15 所示。这些工具支持您以可视化方式验证对策是否按预期工作,并且可以使用 Simulink 测试管理器框架扩展此工作流,以确保所有功能都得到适当验证。
图 15. 有对策(左)和无对策(右)时攻击的可视化。
结束语
基于模型的安全分析框架提供一个工作流,该工作流具有内置的可追溯性、可自定义性(以满足您的合规标准)以及自动化功能,从而确保设计和分析之间的一致性。通过此简化工作流在设计过程中提前进行验证和确认,可以加快验证和确认速度,同时减少开发时间和成本。从发现潜在威胁到量化和确定风险,再到定义和仿真对策的有效性,这种端到端方法可确保涵盖您的安全流程。
参考资料
The MITRE Corporation.“CAPEC - Common Attack Pattern Enumeration and Classification (CAPEC™).”Accessed March 18, 2025.
The MITRE Corporation.“MITRE ATT&CK®.”Accessed March 18, 2025.
The MITRE Corporation.“MITRE EMB3D™.”Accessed March 18, 2025.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)