ApriorIT

普通豪华轿车的代码行数比波音787梦幻客机、F-35联合攻击战斗机和F-22猛禽战斗机的代码行数总和还要多。这一数量的代码是推动汽车行业向前发展的引擎,但同时也暴露出新的漏洞和网络风险。

汽车黑客和小偷跟上了汽车软件的进步,创造了技术先进的方法来偷车。制造商还必须改进并保护他们的汽车免受网络攻击。第一步是全面的安全测试,有助于在早期阶段检测车辆代码中的漏洞。

对汽车软件进行安全测试需要了解行业需求、挑战和最佳实践。在本文中,我们将讨论如何保护汽车软件,以及为什么安全测试如此重要。

这篇文章将对开发团队和他们的领导者有用,他们正在开发汽车软件,需要检查其安全性。

内容:

为什么要关注车辆软件安全?

保护汽车软件的要求是什么?

汽车软件常见攻击向量

测试汽车网络安全的最佳实践

汽车安全测试面临的挑战

结论

为什么要关注车辆软件安全?

现代汽车不再是独立的机械系统。它们通过许多电子控制单元(ECU)与外部世界连接。汽车使用复杂的软件来确保安全行驶、实现自动驾驶、娱乐乘客、执行汽车诊断等。

这样的智能功能受到了购车者的青睐,这就是为什么对汽车软件的需求每分钟都在增长。麦肯锡估计汽车软件和电子产品市场将从2020年的2380亿美元增长到2030年的4690亿美元。

汽车软件的主要类型

在创新软件推动汽车行业向前发展的同时,它也使汽车更容易受到黑客攻击。黑客可能滥用保护较差的汽车软件来窃取或控制:

  • 受害者的个人资料和财务状况
  • 由受损车辆装运的货物
  • 车辆本身

仅在2021年,我们就看到了很多汽车安全漏洞。例如,2021年5月,两名安全研究人员黑了一辆特斯拉X型车使用配备Wi-Fi加密狗的无人机只需40分钟。研究人员可以打开和关闭目标车的车门,改变驾驶和加速设置,等等。这不是第一次特斯拉黑客,尽管该公司非常重视网络安全。

另一个普遍存在的安全漏洞的例子是闯入装有无钥匙进入系统. 在俄亥俄州哥伦布市,黑客们模拟了遥控钥匙和遥控器发出的信号偷了43个汽车两个月后从同一个街区来。他们没有触发汽车警报,甚至没有触摸遥控钥匙。

所有这些案例证明,确保汽车软件的适当安全性应该是汽车制造商和物流公司的首要任务。对这一问题重视不够可能会给汽车制造商带来许多负面后果。

安全性差的汽车软件带来的风险

考虑到网络安全,设计汽车软件可以降低汽车黑客和相关风险的概率。确保汽车软件适当安全的第一步是使其符合行业和国家要求。让我们看一看汽车软件安全要求,您可以遵循这些要求来保护您的产品。

另请阅读:
汽车工业中的人工智能:竞争优势的6个关键应用

保护汽车软件的要求是什么?

为了提高安全性和防止黑客攻击,许多政府和国际组织正在制定安全汽车软件开发的指导方针和要求。你可以跟着这些去实施安全最佳实践在使用车载解决方案时:

  • 现代汽车安全的网络安全最佳实践美国国家公路交通安全管理局。这些做法不具约束力,将在2021年底前更新新的提示。
  • 联合国条例第。155,156,157描述车辆网络安全、安全管理和软件更新的要求,并将成为车辆的强制性要求欧洲经委会成员国2024年7月在联合国
  • 草案汽车数据安全管理规定由中国网络空间管理局发布。计划这些规则将在2021年实施并成为强制性的。
  • ISO/SAE 21434. 本标准目前正在制定中,不具有约束力。它描述了车辆开发、生产、操作、维护和处置的最佳实践。
  • SAE J3061. 本指南包含设计和开发车辆系统的指南和推荐做法,以保护车辆在使用寿命期间免受黑客攻击。
应遵循的关键汽车软件安全要求和标准

检查您的解决方案是否满足相关安全标准和指南的关键要求的一种方法是在汽车软件开发的不同阶段对其进行彻底的安全测试。

汽车安全测试可以帮助您实现几个网络安全目标:

  • 识别潜在的软件漏洞
  • 测试解决方案对相关攻击向量的保护
  • 检查汽车软件是否存在意外行为
  • 确保多个软件组件的正确集成

完整汽车系统的安全测试有助于检查所有保护措施是否正常工作,检测漏洞,并降低我们前面提到的风险。

在对汽车系统进行安全测试时,确保软件不受常见攻击向量的影响是很重要的。在下一节中,我们来看看八种最常见的攻击现代车辆的载体。

相关服务

安全测试

汽车软件常见攻击向量

平均每辆车包含一百多个运行某种软件的ECU,黑客可以攻击其中任何一个。但是,网络罪犯最感兴趣的是车辆的某些部分,这些部分使他们能够访问有价值的数据,或者完全控制整个车辆。

让我们看看汽车软件的主要攻击向量:

汽车网络攻击的关键载体

无钥匙进入系统。许多现代汽车使用无钥匙钥匙卡而不是传统的钥匙。这个遥控装置会发送一个短波无线电信号,当汽车的接收器接收到它时,它就会打开车门,启动引擎,或者启动其他一些动作。钥匙对司机来说很方便,但也很容易被罪犯滥用。犯罪分子可以利用中继装置将信号从遥控车上传输到汽车上,即使它们相距很远。保险研究据利物浦《维多利亚报》报道,所有汽车盗窃案中有48%是特斯拉、宝马、捷豹、雷克萨斯和其他豪华品牌的无钥匙盗窃案。

车载移动应用。移动应用程序为驾驶员提供了改进的导航、汽车气候控制、自动停车、远程解锁、娱乐和许多其他方便的功能。它们还可用于安排车辆共享和车队管理。但是,黑客可能会绕过签名验证系统,安装自己的签名,并为应用程序提供根访问权限,从而破坏这些功能。通过一个被破坏的车载移动应用程序,犯罪分子可以窃取保存在车载应用程序中的凭证,并进一步滥用车辆和与之同步的设备。

汽车制造商服务器。据统计,与2019年相比,2020年汽车制造商服务器攻击数量增长了73%上游安全. 制造商服务器处理车辆内外的所有通信,包括与驾驶员移动设备以及其他车辆的通信。这是一个有利可图的攻击面恶意演员。攻击者可以使用勒索软件感染目标服务器、截获传输的数据或执行拒绝服务(DoS)攻击。通过这种方式,黑客可以窃取敏感数据或中断汽车服务的工作。

汽车传感器。传感器收集汽车周围环境的信息,如天气、道路标志、胎压、发动机转动和燃料温度。利用传感器欺骗或信号干扰,黑客可以改变车辆的行为。它们还可以捕捉传感器信号,并对其进行逆向工程,以了解汽车的内部系统。

另请阅读:
使用NFQUEUE和ARP欺骗修改网络流量

信息娱乐系统。该系统为驾驶员和乘客提供有用的信息和娱乐内容。信息娱乐系统积累了大量的个人数据:凭证、浏览历史记录、旅行路线、个人偏好。恶意参与者可以拦截来自信息娱乐系统的流量并扰乱其设置。这样,他们就可以窃取驾驶员的敏感数据。

Wi-Fi、蓝牙和手机连接。网络连接系统可能成为黑客进入信息娱乐系统的入口。从那里,他们可以访问关键的汽车部件,影响车辆行为,或窃取传输的数据。通过破坏网络连接,黑客甚至可以同时攻击几辆汽车。

车内网络。这些网络由实时工作的ECU和控制局域网(CAN)总线组成。根据设计,ECU和CAN总线首先接受任何数据,然后验证数据并将其发送给其他车辆部件。如果软件开发人员此时不实施数据加密,黑客可以利用这种数据处理机制。他们可以滥用它,在车辆网络中充斥垃圾数据包,制造DoS攻击,或者嗅探流量并从中提取敏感数据。

板载诊断(OBD)、SD卡和USB端口。攻击车载OBD或USB端口是一种不太普遍的攻击类型,因为它需要物理访问目标车辆上的端口。然而,攻击者可以通过车内端口进行大量破坏:向设备注入恶意软件、控制车辆、劫持交通或访问各种车辆组件。

如您所见,这些攻击通常针对隐藏在汽车软件和嵌入式系统中的特定弱点和漏洞。为了确保网络犯罪分子无法利用您的汽车软件解决方案,您需要确保在您的产品上市之前检测并解决这些安全问题。这就是汽车软件安全测试发挥作用的地方。

另请阅读:
12对嵌入式系统的常见攻击及其防范

测试汽车网络安全的最佳实践

为了验证汽车软件的安全性,请考虑以下六个最佳实践:

7汽车软件的安全测试最佳实践

研究并跟踪最新的网络安全要求。正如我们上面提到的,许多政府和标准化机构正在研究汽车软件安全的需求。这就是为什么您需要不断关注新兴的法律、法规和标准。关注那些仍在开发或讨论中的游戏也很有意义。由于车辆生产周期持续数年,您可能需要在预发布安全测试期间考虑这些需求。

同步生产、开发和测试。汽车安全性需要与软件开发和汽车生产过程同时进行测试。通过这种方式,安全测试团队可以在开发过程中检测漏洞,避免重大代码返工。在物理车辆硬件上测试安全性和软件行为也很重要。为了同步这些活动,您可以实施灵活的项目管理方法,如敏捷和Scrum。

应用模糊测试。向车辆软件组件注入随机数据并查找故障是一种高效的安全测试技术,称为模糊测试或模糊化。模糊测试是一种可靠的方法,可以发现可攻击的bug和代码错误,如果不解决这些bug和代码错误,可能会导致软件崩溃、行为改变、内存和数据泄漏,甚至可能成为潜在的后门。

另请阅读:
应用模糊技术查找封闭源代码Windows软件中的漏洞

分析软件组成。汽车软件通常由几个第三方供应商开发,这些供应商使用开源代码及时交付组件。其中一些开源组件可能包含已知的漏洞成为恶意行为者的入口。手动查找用于构建汽车软件的所有开源库和解决方案非常耗时,而且容易出现人为错误。软件组合分析工具可以为您的测试团队自动完成这项工作。

特别注意集成测试。考虑到有多少汽车软件组件是由不同的团队甚至组织开发的,它们之间发生意外交互的可能性很大。这些交互可以隐藏潜在的威胁,例如建立不受保护的连接或接受来自未知来源的数据。这就是为什么汽车软件需要对所有组件进行仔细的集成测试。

进行渗透测试。汽车渗透测试模拟对汽车软件的攻击,试图发现任何漏洞并评估攻击的潜在损害。汽车渗透测试可以由熟悉软件的内部安全测试团队进行,也可以由能够从新角度分析产品的外部团队进行。

另请阅读:
渗透测试风险评估简要指南

定期更新你的软件。黑客更可能将目标对准装有过时软件的汽车,因为他们已经知道该软件中的所有安全漏洞。这就是为什么您需要针对新类型的攻击定期测试代码,并推出新的安全更新。

遵循这些最佳实践将帮助您优化安全测试过程,检测代码中的更多漏洞,并发布安全软件。但是,在测试汽车软件的安全性时,您需要注意一些挑战。我们来看看。

汽车安全测试面临的挑战

独特的测试条件和实践带来了您的QA团队可能面临的独特挑战。这些挑战的一部分与汽车行业的整体特征有关,您需要在规划安全测试时将其考虑在内。但是,通过正确的测试方法,可以缓解甚至避免一些问题。

让我们看一看在汽车项目上进行安全测试的主要挑战以及应对这些挑战的方法。

汽车安全测试的5个主要挑战

缺乏具体的测试专业知识。汽车软件的全面安全测试包括检查嵌入式、物联网、移动、虚拟、基于云的和客户端-服务器系统的保护。先进的汽车系统还可以采用人工智能算法进行预测性维护和自动驾驶。在所有这些领域拥有专业技能的安全测试人员和测试团队极为罕见。这就是为什么在内部创建一个完整的团队或快速雇佣具有所需技能的工程师可能是一个挑战。解决这一挑战的一个办法是寻找具备所需专业知识的外包团队。

另请阅读:
外包工程服务的收益和风险

缺乏用于测试的物理硬件。车辆是一种安全关键设备,不能仅使用虚拟机进行测试。安全测试人员需要确保,当汽车软件在现实设备上运行时,没有办法滥用它。然而,获得最终测试所需的必要硬件可能很棘手,因为它通常是根据汽车制造计划制造的。为了避免等待硬件制造商,您可以使用灵活的项目管理方法,并将测试活动与汽车生产同步。

需要快速测试OTA更新。当开发团队推动安全更新时,测试团队必须将计划的任务放在一边,集中精力进行更新。他们必须确保更新修复了发现的漏洞,并且在实际硬件上启动时不会产生新的漏洞。这是一项需要尽快完成的大量工作。这就是为什么OTA更新的安全测试必须由一个高度灵活的团队来完成,该团队可以轻松地适应新任务。

供应链的发展标准化不佳。汽车制造商与数百家开发汽车硬件和软件组件的供应商合作。在整个供应链中保持一致的标准几乎是不可能的。供应商使用的语言、操作系统、开源组件和硬件部件使他们能够以尽可能低的成本及时交付产品。这给安全测试团队带来了额外的压力,他们必须进行广泛的集成和兼容性测试,以搜索第三方代码中的漏洞。

高水平的测试覆盖率。测试覆盖率通常不是一个特别重要的指标,但它适用于汽车软件。测试覆盖率显示测试覆盖的代码百分比和未在代码中实现的需求百分比。这两个参数都可以指示潜在的安全漏洞。测试覆盖率还帮助QA团队识别无用的测试用例并从中学习。然而,实现高水平的测试覆盖率需要测试团队进行大量耗时的手动工作,因为很少有自动安全测试工具用于测量覆盖率。手动覆盖率评估也为人为错误留下了空间。

结论

汽车软件使车辆更安全、更舒适、更易于管理。不幸的是,这也使他们成为黑客攻击的目标。恶意行为人可以滥用汽车软件获取个人数据,盗窃或损坏车辆,或损坏制造商的服务器。

彻底的汽车网络安全测试可以帮助您在黑客攻击之前发现漏洞。在汽车行业,软件安全测试必须由具有深厚专业知识和行业理解的QA团队进行,因为有太多的独特需求、最佳实践和挑战需要考虑。

安全测试小组在Apriorit有丰富的经验,在许多行业,许多技术,和不同寻常的要求。联系我们讨论如何我们可以帮助您提高您的汽车软件的安全性!

告诉我们你的项目
给我们发提案请求吧!我们稍后会告诉你细节和估价。

浏览
单击“发送”,表示您同意处理您的数据

预约一次试探性电话

没有任何特定的任务,但我们的技能似乎很有趣?

快速获取Apriorit简介,以更好地了解我们的团队能力。

联系我们

  • +1 202-780-9339
  • [受电子邮件保护]
  • 美国威尔明顿市银边路3524号35B室,邮编:19810-4929
  • D-U-N-S编号:117063762
Baidu