最近机缘巧合接触到一款海外公司的车辆产品生命周期管理(PLM,Production Lifecycle Management)的软件系统,叫做SystemWeaver。使用了一段时间它的车辆产品信息安全开发模块,非常准确地还原了“ISO / SAE 21434道路车辆-信息安全工程”国际规范中定义的车辆信息安全工作过程,还挺有意思。
趁这个机会,写篇文章和大家讨论一下,什么是车辆的信息安全开发?
1. 车辆的信息安全,是什么?
9月5日,俄罗斯最大的打车平台Yandex Taxi遭黑客入侵,把所有出租车同时叫到莫斯科Kutuzov Prospect上同一目的地,大量出租车造成的壅塞扰乱莫斯科交通。
Yandex Taxi遭黑客入侵
5月16日,英国安全公司披露特斯拉model 3和model y无钥匙进入系统的漏洞,通过重定向车主的手机或密钥卡与汽车之间的通信,可以欺骗无钥匙进入系统,对车辆进行解锁和启动。
蓝牙钥匙漏洞被披露
近期,上海的车主在使用车机自带的导航软件时,出现了匪夷所思的交通警告提示。虽然后来经过上海警方证实,事实上并没有发生。
车辆信息安全相关的事件,正在引起越来越多的关注。
虽说汽车是最复杂的家用工业产品,有几百个电子零部件,里面运行着几百万行代码,但是长久以来每辆车都是孤立的个体,说起信息安全大家都不信,那么复杂搞半天,还不如撬个锁偷车来的实在。
可是随着车联网产业发展,“电动化、智能化、网联化”的大趋势下,车辆正在变成家庭中最复杂最精密的“电子产品”。
车联网应用迅速丰富,从早期的远程启动发动机、远程开空调、车载导航等简单功能,到现在远程诊断和排除车辆故障、付费升级软件功能、监控车辆动态信息实时调整动力输出达到最佳油耗性能比、无钥匙进入车辆等等,同时新一代车联网的发展也催生出了不同的业务场景,并产生/采集了大量极具价值的敏感数据,包括车辆运营大数据、车辆故障和修复数据、车主个人生物信息/行为信息等隐私数据,及支付和车主账户信息等财务数据。
车辆正在变成黑客眼中富有价值的复杂信息系统。以特斯拉为例,下一代智能网联汽车架构正变成“域控制器+业务子网络”的框架。域控制器软件复杂度提升,高级操作系统(Linux/QNX/Android)大量使用,开源软件方案引入,在增强汽车控制器性能和降低研发成本的同时,也提升了信息安全风险。
Model 3网络架构是典型的“域控制器+业务子网络”的框架(来源:网络)
关于车辆信息安全的研究和防护体系建设,也正被美国、欧盟、日本、中国的监管部门和汽车行业重点关注起来。
2. 车辆信息安全开发的难点,是什么?
车辆,或者说车联网信息安全,从类别上属于物联网信息安全问题,但是其复杂度高于一般物联网系统。当前比较主流的车联网经典模型,包含四个组成部分:
一方面,车辆本身就是一个边界比较宽广的复杂局域网系统。包含多个子系统和子网络,资产分散度高,和边界的距离浅,因此对黑客而言,攻击面比较宽泛,风险自然更高。
另一方面,车辆研发流程约3年,长于绝大多数IT信息系统,项目管理难度更高。车辆子系统涉及动力、底盘、新能源、智驾、网络娱乐等多个专业领域,参与车辆开发的供应商数量多,专业背景和技术能力参差不齐,对信息安全的理解和技术积累差异大。
导致整车信息安全方案开发过程中,最经常遇到的,就是供应商两手一摊,说:这要求我们没做过,不会啊,得加钱。
以上情况,造成了车辆研发过程中的信息安全流程管控难度极大。行业亟需一套车辆信息安全开发流程的管理措施,甚至一套信息安全开发流程的自动化管理工具,来支撑整车的研发流程。目前,行业中还是比较缺乏相关经验的人才和配套工具的。
懂这个,好找工作。
3. 整车信息安全开发流程,是什么?
《ISO / SAE 21434道路车辆-信息安全工程》标准应运而生,而且在21~22短短两年,ISO 21434、欧盟的WP.29 R155法规、中国的强制标准《汽车整车信息安全技术要求》陆续推出,或即将公布。
通过一系列的流程要求,技术要求和检测要求,为整车信息安全开发树立标准的开发流程方法论。而且这一个二个的,不是法规就是强标,车厂你也别说做不做了,就说还卖不卖吧。
ISO 21434、WP29和中国强标相互照应,所以本文就以ISO 21434为例子,简单介绍一下标准定义的车辆信息安全开发流程。
按照ISO 21434的定义,车辆信息安全分为7个相互依赖的过程:组织的信息安全管理、项目相关的信息安全管理、信息安全的分布式活动、信息安全的持续性活动、概念阶段、产品开发阶段、后开发阶段、威胁分析和风险评估模型。
ISO21434框架
4. TARA的过程,是什么?
车辆信息安全管理流程的一个重要阶段,就是风险评估(TARA,Threat analysis and risk assessment),通过TARA分析为后续信息安全需求定义和产品开发提供了“法律依据”。
在TARA阶段,明确的定义了整车和零部件级别TARA的基本过程,这是车辆信息安全流程早期,对工程师经验要求高,且工作量相当大的信息安全分析工作。
业内目前的主流做法是依赖自身培养的信息安全专家,通过维护一张非常庞大的Excel表格,来进行TARA分析。
但是,在SystemWeaver的swExplorer工具提供了半自动化的操作过程,可以很清晰地展示TARA过程。
ISO 21434定义的TARA过程,从“资产分析”开始,经过“损害场景”、“威胁场景”、“攻击路径”一系列分析,评估出每一个“资产-威胁场景”的风险级别,生成TARA报告。然后根据风险级别定义信息安全目标,从目标得出每一条高级别的信息安全需求,然后细化需求输出指导产品进行信息安全开发。
资产识别。从系统角度出发,梳理系统内部组件以及各自的资产,并且识别系统外部和系统存在交互。在这个阶段,通常需要绘制一张系统资产模型图,标识出资产和数据流关系。
系统资产和数据流图
系统资产识别
损害场景分析。针对每一个识别出的资产的完整性、可用性和保密性,以及其它信息安全属性,分析每个属性的可能被损害的场景,详细描述该损害场景的损害过程。并且对每一条梳理出的损害场景,从多个维度进行损害级别的打分,测算出该损害场景的损害级别。
这个过程涉及大量的重复文本编辑工作,听起来就很累人。SystemWeaver工具提供了复制粘贴操作,可以简化一部分工作。
威胁场景分析。根据损害场景,用穷举的方法构建每一条可实施的攻击链路,汇聚成攻击树。
对攻击树上的每一条攻击链路,SystemWeaver能够根据ISO21434标准中提到的三中威胁可行性的评估方法(Attack Vector,CVSS,Attack Potential),分别采用不同的评估维度,计算得出它对应的风险级别。
从风险等级高的威胁场景,可以推导出信息安全目标,也就是最高等级的信息安全需求。
最后,得出信息安全目标,生成TARA分析报告,产出信息安全需求。走到这个阶段,已经完成了TARA分析的全部工作,可喜可贺。接下来就正式进入漫长的产品开发过程了,在开发过程中,可能还会重复迭代TARA,得出新的信息安全需求。可以说,信息安全开发流程,是一个循环往复、逐渐精进的过程。
5. 工具的优势,是什么?
根据本文的简单说明,大家应该都对车辆信息安全流程建设工作(的复杂性和工作量)有了基本概念。其主要特点总结一下,就是:知识点多,流程复杂,工作量大,累死个人。
如果是一个经验相当丰富的信息安全专家,哪怕对信息安全流程相当熟悉,进行完整的TARA分析也要脱掉一层皮。
那么对于信息安全人才极度匮乏的汽车行业(投简历啊,记得投简历),信息安全团队经验不足的情况下,在车辆研发过程中非常容易遗漏关键信息安全过程,导致最后生产出的车辆无法通过法规和强标的检测。
在这个过程中,SystemWeaver这一类产品生命周期管理系统(PLM),能够提供完善的产品研发流程管理工作的方法论,串联其研发工作上下游,有效地降低了产品管理工作的门槛,避免分析过程产生遗漏。
比如说,SystemWeaver针对大型项目信息安全开发,提供了版本控制和协作评审的特性。从资产识别、损害场景分析、到信息安全目标整个过程中,每一个设计或分析成果,都有“Work”、“Frozen”、“Released”三个阶段,设计在Released阶段时定版,如果定版后还需要修改,就必须升级到新版本从Work阶段开始编写。
“Work”、“Frozen”、“Released”三个阶段
这样一来,有两个好处。一是团队协调进行TARA时,每个人负责不同资产、功能的分析工作,进度不统一的情况很常见,但是通过阶段管控,存在依赖关系的设计人员能够知道对方提供的前置条件的完成状态,避免因为信息错误导致无效工作。
另一方面,通过版本管理,可以加强团队对设计和分析过程的监管,SystemWeaver可以轻松对比当前版本和上一个Released版本之间的差异项,方便协同评审和错误排查。
当前版本和上一个版本的区别比对
更重要的是,这些工具一般都能够一键生成过程文档和最终报告。为什么这个最重要呢?做过合规性认证的小伙伴应该都知道,认证机构主要就是审查文档数量是否达到法规要求,文档内容是否达到法规要求,文档是否和过程管控一一对应且归档留痕。
编辑:黄飞
评论
查看更多