维克多(Vector)集团为汽车及相关产业的OEM商及供应商,提供了专业的开放式开发平台,包括各种工具,软件组件和服务,应用于嵌入式系统的创建。
维克多汽车技术(上海)有限公司高级咨询顾问王振围绕《车端网络安全一站式解决方案》展开演讲,从维克多咨询业务简介、行业现状与趋势分析、网络安全需求分析、网络安全嵌入式软件设计、网络安全渗透测试等方面进行介绍。以下是演讲内容整理:
维克多汽车技术(上海)有限公司高级咨询顾问王振
先简单介绍一下我所在的部门:维克多咨询。维克多咨询是维克多集团于2001年专门建立的子公司,也是集团的产品线与事业部之一,主要业务就是做咨询,成立二十多年来,维克多咨询在全球范围内为众多中外客户在汽车、航空航天、IT、金融、医疗等相关行业提供各种技术咨询服务。
维克多咨询主要分为四个部分:第一部分是帮客户做技术转型咨询,包括帮客户引入敏捷开发,满足部分客户提出的降本增效的定向咨询的要求。第二部分是可信,主要是跟我们的网络安全和功能安全相关,这也是今天的主要话题。第三部分是技术,新的科技,比如说,我们的客户从非AUTOSAR切换到AUTOSAR,从CP切换到AP,有哪些行业内的成功经验可以借鉴?以及我们帮客户做生命周期管理中不同阶段的咨询等等。最后一部分是针对以上三类咨询为客户提供培训和辅导。
图片来源:维克多
行业现状与趋势分析
第二部分讲安全需求的设计和分析。首先跟大家分享维克多咨询的年度调查活动,维克多咨询每年底会对全球范围内的主要市场和客户进行咨询调查,重点聚焦软件领域,关注客户在近期,也就是过去一年,或者未来一年所关注的焦点,有哪些顾虑,哪些是比较头疼的问题。维克多在2021年底同样做了这样的调查。我们根据客户的反馈绘制了下图,横轴代表短期的挑战,纵轴是长期的挑战,每一个点代表客户在近期所关注和担忧的具体方面。
图片来源:维克多
右上角是软件领域内,各行各业的企业所集中关注的问题:包括企业创新能力的需求;个人或企业能力不足;以及老生常谈的降本提效问题。针对他们的反馈,我们绘制了一个三角,这个三角表示:流程优化不当的情况下,创新、能力、质量、复杂度、成本等因素会形成恶性循环。
在过去很长的时间里,我们发现客户端,很多工程师在编码上有很强的基础知识,但对于流程管理、优化、体系建设等缺乏专业知识的储备。我们知道,创新其实不仅仅依赖于编程,创新实际上是一个大的工程,讲究系统化、体系化,还有流程优化。如果在这方面缺乏,企业在创新上就会没有更多的发展空间。
这就导致很多企业聚焦在成本竞争上,进一步加剧了红海竞争的激烈程度,而企业要控制成本必然会减少对于工程师的培训,减少一些技术方面的投入,这打击了工程师自我学习、技术能力上进一步提升的积极性,进而导致了工程师的技能持续下降,或者没有更高的提升空间,最终形成这样的恶性循环。
根据调查结果,可以从两个方面突破死循环。一是把敏捷开发引入正常的软件开发流程中,二是要对流程的复杂度进行管理。从而帮助工程师将有限的时间和精力放在研发和创新,以及解决核心问题上。
除了这些方面,企业整体实力提升还存在部分着力点。例如,怎么优化流程,提高效率,怎么提高质量,质量的提高又会涉及到功能安全、网络安全等方面,这些和今天的话题密切相关。
网络安全需求分析
接下来通过简单的案例,讲一讲我们在做网络安全分析和设计过程当中需要哪些步骤,经历哪些环节,采用哪些技术。
第一步是项目边界定义、资产定义。前者大家可能比较了解。那么资产(Asset)怎么理解?资产是有价值或者有助于价值的对象:比如密码、密钥,私人的数据,包括行车过程中记录的驾驶数据,加密算法,ADAS算法等等。资产不仅仅对于车主或OEM有价值,同样对攻击者有价值。正是由于资产的存在,才引发了攻击者潜在的攻击,攻击的存在就是威胁,实施网络安全就是为了降低攻击带来的潜在威胁。
定义完资产之后,第二步就是TARA威胁分析和风险评估。主要是建立从资产到攻击、威胁之间的映射关系,关系的建立最好先不要考虑已经部署的安全措施,只有在这样的情况下才能够尽可能全面系统地了解待分析对象,明确其有哪些薄弱环节需要进行安全措施的部署。
建立这样一个依赖关系之后就可以形成攻击路径,下一步我们需要针对攻击和威胁进行风险等级评估,评估主要分两个方面,一个是攻击可行性等级,攻击发生的概率是多少,评判方法在ISO 21434中也有具体介绍,比如需要考虑攻击的时间,采用的工具等方面。评估的第二个方面是关注攻击的影响等级。大家知道ISO 21434里面从四个维度去评价攻击发生之后有什么样的影响。基于以上两个方面的评级,可以得出风险等级,从而支撑决策,如果等级比较高,就需要想办法消灭、降低它。如果危险等级比较低,就可以登记、监控甚至忽略它。这些决策的结果汇总起来就得到了网络安全目标。
图片来源:维克多
针对网络安全目标,我们还要做进一步细化,细化到功能性的安全需求,一直到技术性的安全需求,这里面包括架构设计和软硬件的映射关系,在这个层面就会涉及具体的落地细节:比如说用到什么样的算法,用到什么样的加密设施等等。
在经历了前面一系列分析之后,还有必要通过树型结构把安全需求和安全措施映射起来。结构树中,相邻点之间存在逻辑关系,比如说我们想控制CAN总线,起码我们应该做到两点,第一点是能够写CAN总线,第二点我们能够正确的写CAN总线。我们一直往下去逻辑性的分析,其实可以找到逻辑路径中一些薄弱的环节,比如蓝框所指定的部分。总体而言,针对这样的一类项目,我们可以采取的措施主要包含:安全通信、安全诊断、安全存储、安全下载、、安全启动、安全调试等。每一种方案施我们都会部署相应的落地措施,比如安全下载当中可以采用公钥基础设施 PKI体系建设,以及包括安全通信过程当中可以用车载安全通讯(SecOC)等一系列技术。
值得注意的是,TARA分析不只是在开发阶段,在整个汽车生命周期过程中,需要不断地采用TARA技术进行循环迭代,一直到系统比较完善,漏洞比较少的程度。
完成分析之后就要进行开发,这里主要说的是软件层面的开发,可以在编码的过程中采用防御性编码,可以采用AUTOSAR、CWE软件的编码规范。在条件允许的情况下,还可以采用跟加密或者编码相关的模块,比如采用KeyM模块可以做密钥管理,或者证书管理,在成本和性能允许的情况下,可以用HSM这样一种硬件加密解决方案。
图片来源:维克多
完成设计之后,在测试端还会有不同级别的测试:比如单元测试、功能需求测试、系统测试等各个环节,维克多都提供了相应的工具和服务。
网络安全嵌入式软件设计
接下来我们进一步谈谈软件层面的落地,在软件层面主要可以有不同的解决方案:
因为汽车现在用AUTOSAR比较多,在AUTOSAR里面会有一些模块帮助企业解决安全通信,比如说有SecOC模块。维克多也可以根据不同的客户的对SecOC需求进行定制化开发。还可以进行以太网方面的安全通信加密IPSec。针对V2G充电,维克多也可以采取相关的加密措施。除此之外,行业讨论热度比较高的IDPS入侵检测防御系统,维克多也提供一些成熟的方案给大家做参考。
除了安全通信,还有安全存储、安全诊断、安全下载、安全启动,其中安全启动和安全下载可以用Boot Loader来解决问题。此外,企业采用硬件加密还要用到HSM,HSM上面可以刷一些软件代码包,HSM可以帮助存储密钥、密码、机密文件,还可以通过硬件为对称式和非对称式算法进行加速。
图片来源:维克多
再讲讲安全下载和安全启动,安全下载有两个方面,远程下载OTA和传统下载模式,这两个下载都可以采用安全方面的措施。维克多提供的安全下载流程如下:在开发完成之后会形成二进制代码,然后对代码进行签名,进而获得哈希值,也就是消息摘要,这里会使用PKI技术,用私钥来签名,并会将签名的结果和原始数据一起发送到车端,在车端用公钥进行验签,验签成功之后会做Mac值计算,计算之后把Mac值存在HSM里面。在安全启动的过程中,首先HSM会对boot进行Mac计算,计算结果会与之前存储的Mac值进行比较。如果对比结果一样,就证明从下载代码到启动之间的时间内,代码具备完整性,没有被更改。在应用程序启动前也会做同样的完整性校验。
这样一个安全逻辑会极大地增加安全性与防护性,但是也会带来启动时间的延长。这需要企业在启动时间和安全性之间进行平衡。
网络安全渗透测试
软/硬件设计完成之后就是验证和测试环节。测试和验证环节可以采取很多不同的方法,而每个方法的侧重点不一样:有些注重架构,有些注重非预期行为和算法等等。
这里我只提一下渗透测试。维克多提供的渗透测试方法论如下:基于灰盒测试的十步法则,我们进行测试的时候会保持黑盒的视角,在测试之前会做一个mini TARA,其意义有两点:1、可以系统地甄别待测对象有哪些行测点,提高测试效率。2、在mini TARA过程中会建立功能模块和测试用例之间的映射关系,这一映射关系会用于后期回归测试的优化。
图片来源:维克多
做完测试还有KPI考核,这是基于测试效率和效果的考核。主要是将测试结果反馈到需求设计端,在KPI考核环节,测试人员可以有更多发挥的空间,在整个信息安全流程里有更高的参与度。这个方法论维克多已经发表在国际期刊上,同时也翻译成了中文发表在微信公众号上,大家有时间可以看一下。
简单做一个总结,网络安全管理贯穿于汽车全生命周期,这要求网络安全管理做到系统、完整、有效、实时可更新。此外,不只是网络安全,在功能安全维克多也可以提供一站式的解决方案,不管是需求设计、嵌入式软件、测试工具链,维克多都可以提供相应的解决方案。
(以上内容来自维克多汽车技术(上海)有限公司高级咨询顾问王振于2022年8月25日由盖世汽车主办的2022中国汽车信息安全与功能安全大会发表的《车端网络安全一站式解决方案》主题演讲。)