“乘风破浪”背后的安全隐患
看过《速度与激情8》的人,都应该对纽约第五大道汽车失控的那一幕记忆深刻。停车场里1000多辆汽车被黑客控制,上演了一场“僵尸车大战”。黑客通过类似手机网络系统控制了指定区域汽车的OBD系统,进而取得了汽车的控制权,通过程序设定车辆的驾驶模式。电影情节在增强观众的视觉冲击力的同时,也引起了汽车行业的广泛关注。
虽然电影的表现手法比较夸张,但单从技术角度来说,目前远程控制和劫持汽车是可行的。因为今天的智能网联汽车已经变成名副其实的万物互联时代的智能终端设备。
目前,汽车的普通车型拥有25到200个不等的ECU(电子控制单元),高级轿车有144个ECU连接,软件代码超过6500万行,无人驾驶汽车的软件代码超过2亿行。汽车中ECU和连接越多,黑客对汽车的攻击面就越多,尤其是汽车通过通信网络接入互联网连接到云端之后,每个计算、控制和传感单元,每个连接路径都有可能因存在安全漏洞而被黑客利用,实现对汽车的攻击和控制。此外,与外部连接的接口,如蓝牙、WiFi等的增多,也相应增加了网络攻击的渠道。
黑客的攻击不仅会对驾驶员人身安全造成威胁,对社会公共安全也会造成一定的危害。因此,智能网联汽车的信息安全已经成为汽车开发的关注点。
信息安全标准(ISO/SAE 21434)剖析
针对智能网联汽车快速发展背景下的车辆信息安全开发,信息安全开发流程标准应运而生。2020年2月12日,ISO/SAE 21434 Road Vehicle-Cybersecurity Engineering 标准DIS版正式发布。该标准的出台意味着将汽车信息安全提升到与功能安全等同重要亦或更甚的位置。功能安全设计旨在避免因功能失效导致的安全事故,信息安全旨在避免恶意攻击事件。
与ISO 26262标准类似,ISO/SAE 21434标准同样基于“V模型”的总体思路,覆盖了汽车电子从研发到制造领域的核心开发活动。ISO/SAE 21434通过建立一个可重复且结构化的控制流程,有效地识别出可能被利用的威胁与漏洞,并能在系统设计过程中针对已识别的漏洞做出有效控制,且可贯穿整个车辆生命周期,从概念阶段,到产品,运营以及售后服务。不难看出,汽车功能安全与汽车信息安全相互渗透,都是在架构功能设计之初就将Safety/Cybersecurity纳入到系统中,且都贯穿于产品的设计、研发、制造、维修、回收等环节。ISO/SAE 21434标准的发布,为OEM/Tier1/Tier2解决信息安全问题提供了理论依据和实施指南。
ISO/SAE 21434对概念阶段的开发要求
按照正向开发的流程,概念阶段是信息安全开发活动的起点,也是信息安全开发中很重要的环节。一个系统的开发如果没有清晰的架构和功能定义,就无法准确识别系统中可能存在的漏洞风险;若不能恰当的辨识威胁及攻击路径,就无法准确的提出cybersecurity requirements。因此,概念阶段的重要性不言而喻。
我们先关注一下ISO/SAE 21434信息安全开发流程中对概念阶段的重点要求:
♦ 相关项定义,确定系统的架构与功能
♦ 威胁分析与风险评估,导出信息安全目标
♦ 信息安全概念开发,导出信息安全需求并分配到各模块上
♦ 验证
接下来,我们就展开剖析在ISO/SAE 21434中概念阶段开发具体如何实施:核心的开发活动包括item definition、cybersecurity goals、cybersecurity concept三部分。
• Item Definition(相关项定义)
在相关项定义阶段,需要定义系统与车辆内部/外部的其他系统和组件的接口(item boundary)、功能(function)和初始架构(preliminary architecture)。
• Cybersecurity goals(定义信息安全目标)
车辆功能安全在概念阶段需要进行危害分析与风险评估(HARA),确定ASIL等级,提出safety goals;同样,信息安全也需要进行威胁分析与风险评估(TARA),提出cybersecurity goals。
对于更容易进行识别的功能危害分析来说,传统车辆的评估流程已非常完善,能对车辆潜在的安全风险逐个进行功能测试,如碰撞试验等,即可逐个排除。但信息安全的威胁分析则更为复杂,对整车以及各个子网部件,存在太多未知的攻击漏洞及攻击方式,且需要站在攻击者的立场上,使用非传统式的漏洞分析,渗透及统计学技术进行分析,难度相对较大。
ISO/SAE 21434中专家给出的建议是通过辨识系统中的资产(Asset identification)并赋予相应的安全属性,然后通过CIAA、HEAVENNS、STRIDE等安全属性-威胁映射方法进行威胁识别(Threat scenario identification)。
基于STRIDE(CIAA/HEAVENNS)方法识别特定资产和威胁之后,需要对风险进行评估(Impact rating)。也就是说要导出每个威胁的安全等级(Security Level)。安全等级用于衡量安全相关资产满足特定安全级别所需的安全机制强度。安全等级(Security Level)的确定由威胁的“可能性”(Likelihood Level)和“严重度”(Severity Level)这两个参数共同决定。
系统模型的搭建应该本着深层防御的思想,尽量减少因某些元素遭到攻击而导致其他元素受到损失。进行FTA分析,可以识别出会违反安全目标的单点或多点故障。而对于ATA分析,我们的目标是识别出attackers攻击的潜在路径(Attack path analysis)及其攻击可行性等级(Attack feasibility rating)进而通过制定相应的信息安全措施消除漏洞或使其更难被利用。(Risk determination)。
根据利益相关者的可接受风险分等级和潜在攻击路径,确定Risk Treatment,提出Security Measures,并确定Cybersecurity Goals。(Risk determination)。
Cybersecurity Concept(信息安全概念)
在信息安全概念开发阶段,需要基于Cybersecurity Goals,导出对应的Cybersecurity Requirements(Specify cybersecurity requirement),并将其分配到系统设计架构/运行环境中(Allocate cybersecurity requirement to component)。
验证Cybersecurity Requirements与Cybersecurity Goals的一致性、完整性以及与预期功能的一致性(Verification)。
信息安全开发解决方案-Medini Cybersecurity
针对智能网联汽车信息安全开发需求,Medini Cybersecurity第一时间推出了支持ISO/SAE 21434开发流程、以模型为中心的信息安全开发解决方案,可以覆盖信息安全概念阶段的开发环节,助力信息安全开发活动开展。
通过SySML模型在Medini中搭建系统架构,识别资产并定义其安全属性。
基于安全属性-威胁映射方法STRIDE辨识威胁,并对威胁进行风险评估。
基于系统架构快速构建攻击树,分析攻击路径,制定处理措施并提出安全目标及对应的安全需求,并把安全需求分配给对应的系统和组件。
安全需求、系统设计、安全分析三者可以统一在Medini中进行链接、交互和管理,保证信息安全开发活动的一致性和追溯性,节省开发时间成本。
经纬恒润从2008年开始研究及实施功能安全,并于同年组建了功能安全团队,从消化ISO-26262标准到参与2017年GB/T 34590功能安全标准的制定;结合自身汽车电子产品研发实践,经纬恒润的功能安全团队在智驾域、底盘域、动力域、车身域实施国内外100+成功案例,积累了丰富的经验。迎合市场所需,结合量产产品功能安全落地实施的技术难点,经纬恒润功能安全团队将以智能驾驶功能安全为主题,陆续发布解决方案系列文章,欢迎大家共同探讨!