“转载自维克多汽车技术(上海)有限公司,作者VectorChina”
汽车网络领域的犯罪正在急剧增加。在过去几年,网络犯罪的投资回报发生了巨大变化。通过应用勒索软件,如今的网络犯罪比毒品交易更加有利可图。据估计,网络犯罪每年造成的损失高达6000亿美元,而毒品交易的同期金额是4000亿美元[1]。由图1可见,网络攻击几乎呈现出指数增长的趋势[1]。
01报告的针对车辆的严重网络安全攻击
网络犯罪的影响是多方面的,例如改变车辆功能导致车辆意外行为、操纵数据和软件导致故障,或通过DOS攻击和勒索软件破坏常规功能等。在上述所有网络攻击场景中,对于制造商发布的各种组件,其质量不再能够得到保证,而这也意味着车辆不应该继续在道路上行驶,因为车辆本身已成为安全风险。显然,没有网络安全就无法达到功能安全。为应对汽车网络安全的挑战,主机厂和供应商必须对整车的电子电气系统进行有效保护。
面向风险的网络安全管理方法会将安全需求、设计决策以及测试联系起来[1,2,3,4]。为实现安全性,在车辆开发过程中需要考虑以下事项:
>对于面向完整开发过程的系统级流程,需要流程模型来对其进行标准化。这一流程模型应当从需求分析开始,覆盖设计、开发以及组件和网络的测试环节。
>通过快速的软件更新来修复ECU软件中的漏洞。
>使用最先进且满足长期安全需求的可靠协议。由于这些协议通常要用到加密密钥,因此,必须要实现覆盖车辆全生命周期的密钥管理。
>车载网络和系统架构必须具备灵活性和可扩展性,其在设计时应当充分考虑网络安全问题。
以风险为导向的网络安全管理方法,有助于平衡日益严重的网络安全威胁与产品在全生命周期中日益增加的复杂性。而在网络安全的概念设计阶段,要对遭受攻击造成损失所带来的成本与产品全生命周期进行安全加固所产生的成本进行平衡。图2显示ISO21434所要求的以风险为导向的网络安全方法。
02面向风险的网络安全分析流程
ISO21434可用于构建网络安全管理系统(UNECER.155CSMS),包括网络安全风险管理和治理。其中,组织层面的活动主要是建立所需的网络安全管理条例,并在公司中灌输网络安全文化。这还应包括在不同项目团队之间建立信息共享系统,采购所需的新网络安全工具并提供培训。组织应重新评估现有的IT安全系统并计划组织层面的审计。
根据ISO21434,要开展项目层面的活动,首先需要一个定义明确的管理系统,在项目中明确定义角色和职责。通过应用诸如AutomotiveSPICE(ASPICE)这样的流程框架,可以满足ISO21434标准对于流程方面的大部分要求。在实践中,VectorConsulting在功能安全、网络安全和ASPICE领域识别到了一些相似的弱点,比如项目团队在需求工程、可追溯性、测试方法、项目管理和风险管理等方面通常存在不足。
本节通过一个简化后的ADAS客户项目案例,展示如何在实践中逐步应用ISO21434。虽然示例经过简化,但意义在于介绍安全工程。
04ADAS网络架构示例
简单起见,假设所有通信都通过CAN总线完成。对于外部接口,要根据底层架构来识别。该系统可通过4G网络与OEM云基础设施进行通信,并拥有可连接到网关的OBD接口。
>A1:ADAS接收或发送的网络报文
>A2:ADAS软件,包括安全机制
>A3:安全密钥
>A4:驾驶历史和记录的数据
基于已经识别出的资产,下一步要进行TARA分析。通过TARA可以系统性地分析在受到攻击时威胁所带来的影响程度,以及实现攻击的难易程度。然后结合影响等级和攻击可行性等级,按照从1(非常低)到5(非常高)的尺度来划定风险等级。之后,根据风险等级的高低来计划和实施进一步的风险应对措施。除此之外,ISO21434还建议按照从CAL1(低)到CAL4(高)的尺度,对每项资产划定网络安全保障级别(CAL)。
示例中,我们列出了一些针对已识别资产的攻击,以及相应的威胁,资产和威胁都各自有专属ID。以下是一些攻击路径的示例:
>安全机制(即手动接管期间无车道保持)遭到破坏,无法正常工作。
在此基础上,可识别出相应的威胁,即:
>A1-AT1-T1:尽管驾驶员踩下制动踏板,但车辆不制动(危害:如果制动失效,可能引发事故并造成伤害)
>A2-AT1-T1:手动接管期间保持车道(危害:因接管失败而造成重伤)。
表1显示了根据识别出的攻击内容和威胁场景进行评估所获得的攻击可行性等级和影响等级,进而判定出风险级别和网络安全保障级别(CAL)。
表1TARA分析示例
为了降低风险,要根据风险可能造成的影响来识别和评估安全目标。安全目标是高层面的安全要求。从每个安全目标出发,可以衍生出一个或多个功能级安全要求,而对于每个功能级安全要求,又可以衍生出一个或多个技术级安全要求。在这个例子中:
>安全目标:A1-AT1-T1-SG1:系统必须阻止对驾驶员辅助系统所发送消息的操纵行为。
>功能级安全要求:SG1-FSecR1:必须确保驾驶员辅助系统和传感器之间通信的完整性。
>技术级安全要求:SG1-FsecR1-TSecR1:MAC应由符合安全硬件扩展(SHE)的硬件信任锚(HTA)使用算法RSA2048计算获得。SG1-FsecR1-TSecR2:MAC值应在x字节后进行截断。
可追溯性有助于保持一致性并降低责任风险。即使在发生变更,增量构建或持续构建的过程中,可追溯性对于确保覆盖率和一致性也是必不可少的。
05网络安全可追溯性
在落实安全要求的过程中,硬件设计可能会相应地发生变更。在本文所研究的案例中,必须使用HTA。同时,通过应用MISRA和CERT提供的指南进行安全编码,可以避免设计和代码错误可能导致的安全漏洞。应当始终牢记,大多数攻击得逞的原因是设计不足,而非密码学的限制。
该步骤的主要目的是验证实施和集成的安全机制是否满足网络安全目标和要求。为实施这一步骤,推荐以下具有相互依赖性的典型方法:
>单元级验证:静态和动态代码质量分析侧重于MISRA和CERT等安全编码指南以及单元级鲁棒性。自动工具用于执行代码质量分析(CQA)并生成测试报告。
>模糊测试:模糊测试用于测试超出预期范围和边界的各类车辆通信协议。
>渗透测试:渗透测试是在组件和系统级别上独立执行的测试策略。灰盒渗透测试[5]因其高效率和有效性,已被证明能够实现这一策略。
>运营和维护:作为持续网络安全活动的一部分,每个组织都需要维护一个独立的项目监控团队。当网络安全事件触发时,运营团队必须按照预先定义和商定的网络安全事件响应计划来进行事件响应。
网络安全不仅仅是一个安全团队的职责,更是每个工程师的责任。网络安全需要一个整体方法去应对,即以系统工程的方式深化落实,并在整个产品生命周期中建立完整的追溯关系。