一、ISO/SAE 21434 第9章

从第9章至第14章,21434 描述了车辆从概念设计到退役的全生命周期各阶段的网络安全要求。
第9章概念阶段(Concept phase),这是整个车辆网络安全生命周期的起点,简单来说,概念阶段的核心是从相关项定义出发,通过TARA分析找出威胁场景和风险,最终形成初步的网络安全目标 和声明 ,为后续设计和验证提供依据。
- 相关项定义:先搞清楚"保护谁"
- 活动目的:定义相关项及其运行环境,以及在网络安全环境下与其他要素的交互,是后续活动的基础。
- 活动输入:有关相关项和运行环境的现有信息。
- 活动输出:相关项定义报告。
- 活动要求:相关项定义应包括:相关项边界,相关项功能,相关项初步架构,与网络安全相关的运行环境信息等。
首先,需要明确我们要保护的对象(也就是"相关项"),把它和周围环境划清界限。
- 边界划分 :比如这个ECU(电子控制单元)和其他系统之间的接口在哪?
- 功能描述 :它在车里干啥?比如刹车系统的ECU负责接收传感器信号并控制刹车。
- 初步架构:它由哪些部分组成?和外部系统怎么交互?比如它通过CAN总线和其他ECU通信。
- 运行环境:它装在车里的哪个位置?运行时会遇到什么场景?这些信息对识别威胁场景和攻击路径非常重要。
举个栗子 :如果某车载娱乐系统安装在副驾侧,它可能更容易被黑客通过无线网络入侵,这就是运行环境的影响。
- 网络安全目标:用TARA分析"找风险"
- 活动目的:明确网络安全目标和网络安全声明。
- 活动输入:相关项定义,持续性网络安全活动的网络安全事件也可用于更新TARA。
- 活动输出:TARA分析报告(包括网络安全目标和网络安全声明),评审报告。
- 活动要求:基于相关项定义,利用TARA完整进行威胁分析和风险评估。
网络安全目标分析的关键工具 :用第15章的TARA方法(威胁分析与风险评估)来识别潜在威胁,并制定应对方案。
一般有三种策略 :
- 避免风险 :比如直接去掉某个功能(改设计)。
- 降低风险 :比如加防火墙、加密通信,目标是让攻击变得更难。
- 分担或保留风险:比如买保险或者监控风险,但这需要写成"网络安全声明",作为后续持续监控的重点。
举个栗子 :
假设你的车载系统依赖公钥基础设施(PKI),那就得假设证书颁发机构是可信的。如果发现这个假设不成立,就得重新调整网络安全目标。
3. 网络安全概念:把目标变成"具体措施"
- 活动目的:基于相关项定义和网络安全目标,明确网络安全要求和对运行环境的要求。
- 活动输入:相关项定义、TARA分析报告(主要是网络安全目标和网络安全声明)。
- 活动输出:网络安全概念报告,评审报告。
- 活动要求 :网络安全概念应包括以下内容:
-
确定技术层面或运行层面的网络安全控制措施和技术实现方式,要结合功能间的依赖性、网络安全声明,这个将用于后续设计评估和网络安全确认过程目标确定,应包含以下:
- 达到网络安全目标的条件(安全控制措施),如防止入侵、监控入侵;
- 专门处理威胁场景的技术(技术实现方式),如使用保密通信通道;
-
基于以上网络安全要求,明确对运行环境的要求。取决于或包括相关项的特定功能,如在运行过程获得用户同意的能力;对运行环境的要求是相关项之外实现的,但同样会在网络安全确认过程,以确认实现了相应的网络安全目标;如果其他相关项作为运行环境一部分,也可以对其他相关项提网络安全要求;
-
网络安全要求应分配给相关项,如适用,可进一步分配到对应的组件。
-
其实就是三步走 :
- 技术层面 : 制定具体的防护措施,比如防止黑客入侵、监控异常行为。 明确技术实现方式,比如使用加密通信通道、定期更新密钥。
- 运行层面: 对运行环境提出要求,比如用户同意隐私条款后才能启用某些功能。如果其他系统是运行环境的一部分,也可以给它们提要求(比如要求另一个ECU也支持加密通信)。
- 分配任务 :就是把网络安全要求分配到各个组件上,比如某个传感器负责数据加密,某个ECU负责入侵检测。
举个栗子 :
如果自动驾驶系统的目标是"防止刹车指令被篡改",那就要给刹车ECU分配任务:必须支持加密通信,同时实时监控异常指令。
以下是一个例子:

总结来说,第9章就是教会我们如何从"模糊的需求"到"清晰的网络安全目标",而TARA分析是整个过程的核心工具!
二、ISO/SAE 21434 第10章

产品开发阶段,这个阶段主要分为两部分:设计阶段 和 集成与验证阶段 。

-
活动目的
- 定义网络安全规范
- 验证定义的网络安全规范和架构设计符合更高层级的网络安全规范;
- 识别组件的弱点;
- 证明组件实施和集成结果符合网络安全规范。
-
活动输入
- 更高层级的网络安全规范,如:分配的网络安全要求;组件的外部接口规范;组件运行环境的信息;
- 相关项定义;
- 网络安全概念。
-
活动输出
- 网络安全规范,评审报告;
- 建模、设计或编程语言和编码指南的文件;
- 开发分析和测试得到的弱点;
- 集成和验证规范,报告。
-
活动要求
- 设计:应用成熟和可信的设计和实现原则,以避免或减少弱点的引入。架构设计应识别弱点并进行漏洞分析和管理。
- 集成与验证:功能测试、漏洞扫描、模糊测试、渗透测试。
-
总结来说,设计阶段是从"规范"到"实现"的过程。
-
第一步:定义网络安全规范
- 网络安全规范是设计的基础,得基于更高层级的要求来细化。比如: 明确子组件之间的接口规范;
- 考虑开发后的安全需求(比如关闭调试接口)。
-
第二步:选择编程语言和规则
- 编程语言的选择很重要,得挑成熟、可信的语言。
- 编码规则也得补充好,比如避免使用容易出问题的函数(如GOTO)。
-
第三步:避免弱点和漏洞
- 在架构设计时就得提前识别可能的弱点,并进行漏洞分析和管理。
- 如果复用了一些老组件,可以直接用已知的弱点或漏洞信息;如果准备通过改设计解决问题,就不用再单独分析了。
举个栗子 :
假设你在设计一个车载娱乐系统,就得考虑:
它和其他ECU怎么通信?接口是不是加密的?
开发完成后会不会留下调试接口?如果留下,黑客可能利用它入侵系统。
-
集成与验证阶段:测试"有没有问题"
-
关键点 :验证所有组件是否满足网络安全规范。
-
测试方法 :
- 功能测试 :检查系统能不能正常工作。
- 漏洞扫描:用工具扫一遍,看看有没有已知漏洞。
- 模糊测试 :给系统输入一堆随机数据,看它会不会崩溃。
- 渗透测试:模拟黑客攻击,看看能不能找到漏洞组合,拿到更多权限。
举个栗子 :
漏洞扫描 :比如发现某个车载系统用了过时的加密算法,那就得赶紧换掉。
模糊测试 :如果输入一堆乱码数据后系统直接挂了,说明代码里有隐患,得修复。
渗透测试 :比如模拟黑客通过蓝牙入侵车载系统,看看能不能控制刹车指令。
-
渗透测试和漏洞扫描:黑客视角找问题
- 渗透测试 : 就是用黑客的方式攻击自己的系统,看看能不能找到漏洞组合。比如:单独一个漏洞可能没啥危害,但多个漏洞组合起来,可能让黑客拿到管理员权限。
- 漏洞扫描 :用工具检查系统有没有已知漏洞,比如编码错误、协议漏洞等。 可以针对硬件、软件、网络协议等不同层面进行扫描。
举个栗子 :
如果漏洞扫描发现某个车载系统的Wi-Fi模块有未修复的漏洞,那黑客可能利用它入侵整个车辆网络。
网络安全的开发阶段就是"从规范到实现、从设计到验证"的完整闭环,确保每个环节都安全无虞!