软件如何推动汽车行业发展

本文作者: Gary McGraw       点击: 2018-10-10 15:27
前言:
作者:新思科技安全技术部副总裁 Gary McGraw
现代汽车越来越多地成为敏感个人数据的移动接入点。源代码和设计的缺陷、未打补丁的漏洞和应用安全实践不足都可能将您的软件和您的客户数据置于风险之中。因此,汽车制造商必须关注软件安全以保证现代汽车的安全。
 

新思科技安全技术部副总裁Gary Mcgraw认为,汽车制造商必须高度关注现代汽车的软件完整性—— 质量与安全。软件完整性与他们现在所关心的冶金轴承、防撞安全气囊、安全带和材料等一样重要。

相对来说,软件是一种新的人工产品。如今,即使我们的智能手机和物联网设备变得越来越易于使用,但软件其实越来越复杂。很有趣的是,表面上看起来很简单的软件应用,其实背后的代码却十分复杂。而这种复杂性有机会被网络黑客等利用。

在现代社会,软件可谓无处不在,即使你是一个非常严肃的勒德分子(Luddite是指害怕或者厌恶技术的人,尤其排斥威胁到现有工作的新技术)。软件已经成为日常生活中看不见,却非常必要的一部分。举个例子,你的电力供应是否正常取决于幕后大量软件的运行。真的需要软件才能使用电力,才能打开灯吗?是的,确实如此。而且,我们还需要很多软件来让汽车运转。

软件已经成为现代经济发展的驱动力之一,但构建完美的软件非常困难。软件缺陷与质量和安全问题密不可分。

当我们深入研究汽车行业软件和安全性的关系时会发生什么?让我们首先来看一下其它行业的安全软件开发状态,例如金融服务和医疗行业。2008年,许多创建软件的公司都专注于构建系统。这些系统的设计和实现都提前将安全纳入其中。事实证明,如果构建的软件是安全的,那么保护软件免受黑客攻击就容易很多。在系统中,针对可能有缺陷且易受攻击的软件寻找外围解决方案,并使用防火墙保护实际上就像是天方夜谭。

在软件开发过程中,越来越强调软件安全性。所以技术人员都认同在软件开发早期就要纳入安全性。在软件生命周期的早期识别、修复漏洞和设计缺陷,可以节省企业后期补救的时间和成本,以便企业可以在产品其它方面进行更多投入。

这种理念在汽车领域同样适用。在汽车出厂,销售给消费者之前,制造商需要确保成车的安全性,包括车辆性能和软件。汽车很快就像“轮子上的智能手机”,内置许多软件,设计汽车这样的复杂工件时,制造商不能只是祈祷他们的软件和所有供应商的软件都是安全的。事实上,就像关注冶金轴承、防撞安全气囊、安全带和材料一样,制造商也必须关注软件安全以保证现代汽车的安全。

我们可以进一步将安全类推,汽车安全不仅仅是汽车碰撞测试。当然,碰撞测试很重要。但是通过汽车的碰撞测试发现的简单问题只能通过重新设计,如此一来,成本会变得高昂。通过运行渗透测试找到代码中的漏洞,然后在软件开发人员将所有工序都完工后再修复它,同样成本高昂、不可取。

缺乏安全设计会怎么样?

工程设计也需要权衡。当汽车制造商在设计一辆汽车时,决定燃油箱多大以平均每个油箱的里程数是必须要做的决定。将油箱布局到汽车的哪个位置也需要做同样的决定。这些决策可能是通过反复试验和总结失败经历才做出的,但仅限于在汽车生产之前得出解决方案。

汽车推出市场后一旦出现问题,后果不堪设想。从典型的福特Pinto案例可见一斑。福特忽略了加固Pinto的油箱,其油箱在碰撞时很容易破裂,导致汽车起火。虽然提出了重新设计的计划,但福特决定采用针对事故进行赔偿4,900万美元的方案,而不是采取措施花费1.13亿美元的成本来解决这一问题。因此,此问题依然存在,而且没有合适的解决方案。这件事情几十年后依然困扰着福特公司。

基于媒体的负面报道和美国国家公路交通安全管理局(National Highway Traffic Safety Administration)对此情况的调查,福特于1978年召回了1971年至1976年生产制造的所有Pintos以进行安全升级。如今40年过去了,我仍然想借此来证明一点,尽管安全不像油箱(它是一个系统属性),但是软件是非常重要的。软件安全是我们现在知道如何去解决的问题。事实上,我们需要在软件设计阶段考虑安全性(就像油箱设计的例子),随后在代码设计阶段也要考虑安全性。

汽车制造已经有比较悠久的历史。随着越来越多的软件融入这一行业并渗透到汽车设计中,我们必须将软件安全和工程安全视为同等重要。软件可以实现安全性,我们也知道如何做到,而且我们必须做到这一点。

软件安全的第一步是什么?
软件安全的第一步是要找到专业的人来负责这项工作。成立软件安全小组,并且让一位有话语权的高管来负责这个小组。这个软件安全小组的任务是负责开发公司强大的软件安全计划。值得注意的是,软件安全小组的员工最好是具备安全知识的软件人员,而不仅仅是懂防火墙的网络工程师。

建立软件安全小组是企业采用软件安全构建成熟度模型(BSIMM),并加入BSIMM社区的基本要求。BSIMM现在已经成为软件安全和内置安全性的重要标准之一。BSIMM拥有100多个公司成员,代表许多垂直行业,但是很遗憾的是并没有汽车行业的代表。汽车行业应该利用BSIMM,以推动自身在软件安全方面快速发展。

尽管现在汽车中的软件仍然是一个早期的概念,但黑客不会等到行业成熟之后再发起攻击。在日益互联的网络生态系统中,从充当密钥的智能手机应用程序到自动驾驶汽车的智能芯片,有太多可能出错的方式。如果系统由于软件缺陷而出现故障,或者黑客利用恶意软件控制汽车,事情将会变得雪上加霜。

因此,我们必须积极主动,应对软件安全问题,确保内置到汽车的软件的安全性。组建软件安全小组,对企业的软件安全能力进行基准测试,评比企业创建的软件或者从其他供应商购买的软件的优势和弱势,制定明确的蓝图,以加强软件的安全性,从而推动业务并保护客户的利益。