摘要

网联自动驾驶汽车(CAV)数量的增加为网络攻击创造了更多机会。网络攻击可能出于恶意意图,也可能用于研究和测试目的。随着网联汽车向完全自动驾驶迈进,这些网络攻击可能造成的影响也在不断扩大。本综述分析了网联自动驾驶汽车网络安全测试面临的挑战,包括代表性测试环境的获取与成本问题以及该领域专家的缺乏,并提出了一系列应对这些挑战的潜在解决方案。研究表明,在其他行业的渗透测试中,人工智能(AI)是一种很有前景的技术,能够缩短运行时间、提高测试效果并全面覆盖所有标准测试方面。然而,本综述发现,在网联自动驾驶汽车网络安全领域,人工智能在渗透测试中的系统性应用存在显著缺口。本综述旨在研究潜在的人工智能算法,这些算法有望在网联自动驾驶汽车模型的渗透测试中实现类似的运行时间缩短和效率提升。如果证实人工智能是网联自动驾驶汽车渗透测试的有效方法,该方法论可能会应用于完整的网联自动驾驶汽车测试网络。

一、引言

网联汽车为道路安全带来了巨大益处,但如果开发过程中缺乏安全保障,也可能成为一种威胁。道路上网联汽车数量的增加与网络攻击风险的上升呈正相关。本研究将综述多种用于降低网联汽车网络攻击风险的方法,重点关注汽车开发阶段针对漏洞的设计、开发后加强渗透测试以及产品发布后由学术研究人员或 “白帽黑客” 进行的进一步测试。网联自动驾驶汽车为乘客提供了更高的安全性、更优的运行性能,同时降低了环境影响。其网联功能包括空中交通更新、紧急制动警报、前方碰撞预警、空中软件更新等。这些功能不仅提高了安全性、有助于减少交通事故,还提升了出行便利性。

网络安全是网联自动驾驶汽车的重要组成部分,若缺乏适当的保护和防护措施,网联自动驾驶汽车可能会被网络犯罪分子利用,对公共安全构成威胁,甚至导致人员死亡。在汽车设计阶段,需从组件层面和系统层面考虑网络安全问题,随后先进行组件层面的测试,再开展全系统测试。渗透测试(又称道德黑客攻击)是在受控环境下对汽车进行模拟网络攻击,目的是发现并报告潜在漏洞,在网络犯罪分子发现并利用这些漏洞之前将其修复。然而,由于渗透测试领域人才匮乏,要在产品发布前发现所有漏洞面临着巨大挑战。此外,由于网络犯罪分子可能采用新的攻击手段,确保渗透测试的全面覆盖也并非易事。已有部分文献详细介绍了利用硬件测试平台和 / 或软件仿真网络进行的模拟攻击,后续章节将对所使用的测试方法和仿真环境进行详细探讨。首先,本文将深入探讨通用网络安全和网络攻击相关内容,进而综述防御策略、道德黑客攻击,最后分析近年来人工智能在道德黑客攻击中的应用优势。在此基础上,以先前发表的文献综述为基础,详细阐述网联自动驾驶汽车的网络安全问题。最后,在总结文献综述结果之前,将探讨如何将其他网络安全协议中使用的类似人工智能方法应用于网联自动驾驶汽车的渗透测试。

二、网络安全

随着社会在信息通信技术(ICT)行业的不断发展,网络安全已成为一个持续成长的领域。物联网实现了以往从未有过的设备与系统互联,因此迫切需要网络安全技术来保护我们的系统免受各类信息泄露的威胁。在开发任何与计算机或网络相关的产品时,都应考虑网络安全问题。提到网络安全,人们通常会联想到这样一幅画面:一名黑客坐在带有霓虹绿屏幕的电脑前,利用网络漏洞获取用户登录凭证。网络犯罪分子还可能通过社会工程学手段,或伪装成可信机构进行电话诈骗,以获取此类敏感信息。这些获取敏感信息的攻击方式也是网络安全需要考虑的范畴。

多年来,人们采用了各种各样的方法来增强计算机和网络的安全性,即防御策略。表 1 列出了部分防御策略,实际上还有更多其他机制可供选择 [7]。随着网络犯罪分子不断学习和改进攻击方法,这些防御策略的最佳实践也会随之发生变化。例如,过去大多数系统仅使用单一密码进行用户身份验证,为了加强安全防护,某篇综述文献提出了多项防御建议。如今,为了提高安全性,双因素认证正逐渐成为主流。

表 1、防御策略

A. 网联自动驾驶汽车的网络安全

近年来,网联自动驾驶汽车的互联性不断增强,针对汽车的网络攻击数量也相应增加。为应对这一问题,网联自动驾驶汽车的网络安全已取得了多项改进,部分改进措施如表 2 所示。

表 2、近年来的网络安全改进

上述每种方法都有其优缺点。异常检测更像是一种修复方法,因为它通常在攻击已经开始后才采取行动。在某些情况下,损害已经造成,修复攻击点对汽车的意义不大。模糊测试工具已在多个项目中被证明是有效的,但存在数据丢失或损坏的风险。格模型利用冗余实现过度通信,这已被证明是开发汽车系统的一种有效方法,但会消耗更多电力并产生一定的干扰。

B. 当前存在的漏洞

近年来,网络犯罪分子和白帽黑客均发现并利用了网联自动驾驶汽车中的多个漏洞。汽车制造商随后已修复了其中部分漏洞。这些漏洞主要集中在网络相关的薄弱环节,这与本研究的主题更为相关。美国国家标准与技术研究院(NIST)维护的国家漏洞数据库(NVD)是获取漏洞信息的优质来源。图 1 所示的汇总表重点关注了按收入排名的五大汽车制造商,由于特斯拉在全球范围内享有盛誉的互联性和公众关注度,该表也将其纳入其中。

图1、前五大汽车制造商的安全漏洞趋势

表 3、来自NIST国家漏洞数据库(NVD)的漏洞

表 3 让我们了解到当前存在的漏洞以及已被发现的漏洞情况。国家漏洞数据库(NVD)中的信息提供了每个漏洞的大致概述以及相关跟踪链接。其中部分漏洞存在争议或已被修复,但可以观察到一些普遍趋势。如表 3 所示,近年来发现并报告的漏洞数量呈上升趋势。与 2009-2017 年相比,2018-2021 年漏洞数量大幅增加,这表明即使部分漏洞此前已存在但未被发现,如今检测到的漏洞数量仍在不断增多。由于表 3 中列出的大多数漏洞都与新功能相关,如手机互联、空中更新、远程钥匙控制等,这表明新的互联功能与漏洞数量的增加之间存在相关性。

国家漏洞数据库(NVD)中的漏洞由 MITRE 等类似组织记录在案。这意味着这些网络漏洞是在产品已向公众发布后才被发现的。这凸显了汽车制造商在产品上市前进行更广泛测试的必要性。

C. 法规要求

为了保护组织并遵循最佳实践,国际标准化组织(ISO)制定了相关法规以维持高水平的安全性。ISO15408 涵盖的计算机安全指南的一个关键要素是,网络安全必须纳入整个组织的流程中。有专门针对汽车网络安全的 ISO 和汽车工程师学会(SAE)法规文件,包括 ISO/SAE 21434《道路车辆 —— 网络安全工程》和 SAE 指南 SAE J3061。汽车产品必须符合这些法规要求并获得认证才能上市销售。ISO 21434 是 2021 年才发布的详细汽车网络安全法规文件,这意味着在此之前,汽车行业仅依靠相关指南来处理网络安全问题。ISO26262 仅关注汽车的功能安全,并未详细规定网络安全法规。这意味着在 ISO 21434 发布之前生产的汽车,其网络安全法规要求明显不足。ISO 21434 的出台为未来提高汽车安全性铺平了道路,确保汽车行业的新技术符合该法规设定的标准。

D. 渗透测试(道德黑客攻击)

渗透测试(又称道德黑客攻击)始于 20 世纪 90 年代末。汽车渗透测试是对汽车软件进行的受控攻击,目的是发现潜在漏洞并评估攻击可能造成的损害。

渗透测试通常包括以下几个步骤:

1. 首先,黑客必须找到一个切入点。有多种方法可以实现这一点:黑客可能拥有登录凭证、采用暴力破解攻击、伪装成来自可信 IP 地址等。

2. 一旦黑客侵入设备或网络,就可以开始渗透测试。此时,黑客可以开始针对设备或网络的其他互联部分发起攻击。例如,黑客可能实施窃听攻击以获取敏感数据。

3. 利用 —— 黑客根据已获取的信息,既可以断开连接完成攻击,也可以利用其发现进一步渗透网络。例如,如果获得了高级权限,黑客就可以访问更多数据。

4. 高级持续性威胁(APT)攻击是指能够访问设备或网络、维持访问状态、在不被发现的情况下自由移动并获取有价值数据的攻击能力。这是所有攻击中最具危害性的一种。

5. 最后一步是数据泄露(或 “不留痕迹地消失”)。这包括断开连接,同时掩盖或清除所有攻击痕迹。

成功完成上述 5 个步骤意味着一次非常成功的渗透测试,但仅第一步发现漏洞就可能颇具挑战性。有许多软件工具可以提供帮助,包括 Kali Linux、nmap、burp suite、Nessus 和 Wireshark 等。

在汽车行业,渗透测试既可以由汽车制造商自行进行,也可以委托专门从事渗透测试的外部团队完成。委托外部团队具有一定优势,因为他们对产品的了解有限或完全不了解,其访问权限与网络犯罪分子相似。

E. 人工智能(AI)

近年来,随着设备的不断发展,传统的渗透测试方法由于资源消耗大以及系统之间的差异性,已逐渐不再受青睐,因此人工智能已开始被视为一种替代方法。

2019 年完成的一项关于人工智能在渗透测试中应用的系统性文献综述和荟萃分析,概述了一些常用的人工智能模型。该研究详细介绍了所分析的 31 篇论文中使用的独特变量和人工智能模型。总共涉及 10 个不同的自变量:问题规模、暴露的主机数量、遗传代数、训练周期、网络状态、目标数量、行动模型、人工智能引擎、连接性和漏洞。同样,这些论文中使用了 10 种不同的人工智能模型。研究指出,在大多数情况下,许多模型都采用了共同的方法,即在一定程度上通过攻击图生成、攻击树建模或其他形式来制定攻击计划。根据攻击计划的方法,可以确定要使用的人工智能模型。部分可观察马尔可夫决策过程(POMDP)在攻击图生成方法中得到了一定程度的应用,其中 9 篇论文采用了这种方法,是最受欢迎的选择。其次是快速推进模型,有 4 篇论文采用了该模型,部分论文还使用了条件快速推进模型来提升结果。荟萃分析得出结论,这组模型在生成攻击计划方面表现最佳。其他使用较少的技术包括多值模型、NuSMV(模型检查器)、遗传进化、强化学习等。部分论文还采用了多种模型的组合。自 2019 年该系统性文献综述 发表以来,已有更多论文支持强化学习的应用。其中一篇论文指出,强化学习在一般渗透测试(而非网联自动驾驶汽车特定的渗透测试)中使用时,具有更高的时间效率、更可靠的输出、更高的准确性,并能覆盖更多攻击向量。2020 年,Hu等人提出将深度强化学习用于渗透测试。这种深度强化学习技术利用了深度 Q 学习网络(DQN)。通过攻击树方法构建奖励系统,并用于训练深度 Q 学习网络(DQN)。在该案例中,从攻击计划中选择正确攻击路径的准确率达到了 86%。

仅关注人工智能在汽车网络安全中的应用,人工智能并非汽车网络安全领域的新概念,它已被证明是一种有效的网络防御方法。欧洲项目 CARAMEL采用先进的人工智能技术来检测对内部和外部感知模块的网络威胁。Kyrkou等人几乎没有分享他们所使用的人工智能模型类型的相关信息,而这些信息对于当前的研究将非常有帮助。Kamel等人使用人工智能进行高级异常行为检测,但同样没有详细说明所使用的算法。

人工智能和机器学习的另一个应用是自动化发现系统网络中的漏洞。在某些情况下,强化学习(一种通过环境的试错来学习的机器学习算法)被用作一般网络安全中渗透测试的人工智能解决方案。本研究的重点是将这些技术应用于汽车行业。Mckinnell等人表明,有多种人工智能模型可用于渗透测试,但挑战在于找到最适合仿真的模型类型。

F. 强化学习和 Q 学习

强化学习是一种使人工智能智能体能够与环境交互,并通过对接收结果的试错来学习的技术。Hanem等人指出,在一般渗透测试(即非网联自动驾驶汽车特定的渗透测试)中使用强化学习时,具有更高的时间效率、更可靠的输出、更高的准确性,并能覆盖更多攻击向量。强化学习本质上是一个马尔可夫决策过程(MDP),智能体根据环境的观察结果和反馈采取行动,如图 2 所示。每次循环后,输出结果都会存储在学习表中。下次进行相同观察时,智能体可以预测特定行动的反馈 / 奖励。强化学习的原理是,对所有可用可观察状态下的所有行动进行测试,并更新学习表。智能体从开始到结束对环境的每次运行都被称为一个回合。

图2、强化学习的MDP

Q 学习是一种强化学习算法,旨在根据观察到的状态找到最佳行动方案。最佳行动是指能够获得最高奖励的行动。学习表(或 Q 表)存储了基于迄今为止的训练得出的最佳行动。在每个回合的每一步中,从 Q 表中选择已知的最佳行动,或者随机选择一个不同的行动。如果随机选择的行动获得了更高的奖励,则 Q 表将更新为这个新行动。

三、网联自动驾驶汽车网络测试平台仿真

本节将综述相关研究,以寻找适合本研究的测试平台。最初考虑了软件和硬件两种解决方案,但软件解决方案更为可取。根据研究结果,将选择合适的测试平台用于本研究。

初步搜索结果显示了一些颇具前景的文献,例如Fowler等人发表的《面向汽车网络安全的测试平台》。该文献提到了一款名为 CANoe 的软件仿真工具,由 Vector 公司开发。然而,该论文内容非常简略,没有详细说明如何通过 CANoe 构建这种仿真汽车模型,以及如何连接硬件以搭建可用的测试平台。另一篇论文利用机器人操作系统(ROS)创建了一种软硬件结合的解决方案。从标题来看,该论文介绍了一种用于自动驾驶汽车研究的低成本开源测试平台,但进一步阅读后发现,该论文的成果仅仅是一种控制真实汽车的交互式方法,并非软件仿真,使用时需要完全访问一辆汽车,因此并非合适的解决方案。基于此,后续搜索重点转向了软件仿真解决方案。

部分汽车制造商也尝试推出了无需访问实体汽车的经济型测试平台解决方案。丰田汽车于 2018 年推出了便携式自适应汽车安全测试平台(PASTA)。该平台包含网联汽车的硬件模拟,包括 4 个嵌入式电子控制单元(ECU):一个中央网关(CGW),另外 3 个分别用于控制动力传动系统、车身和底盘领域。这些电子控制单元通过控制器局域网(CAN)与输入设备连接。输入控制既可以通过手动输入实现,也可以使用内置软件完成。从初步发布情况来看,PASTA 是一个有效的测试平台,后续已有更多论文对此予以支持 [37][38]。然而,巴尔(Baar)提到了 PASTA 的一个缺点,通过在线价格对比进一步发现,该测试平台的价格约为 28000 美元,这使得大多数独立研究人员难以承受,因此不适合当前的研究。尽管 PASTA 以研究项目为目标市场,但其价格使其主要适用于大型公司的研究人员。巴尔提供了一种 PASTA 的原型替代方案,预算大幅降低,约为 398 欧元,该方案使用树莓派(Raspberry Pi)作为电子控制单元(ECU),并通过控制器局域网(CAN)总线在它们之间传输数据。这无疑是一种更便宜的选择,但它牺牲了汽车内部传输的数据量和控制能力,即该方案无法接收驾驶员输入等额外输入,电子控制单元(ECU)也未编程以处理动力传动系统、车身或底盘控制等典型汽车系统,而 PASTA 则具备这些功能。

由于无法获得合适的汽车测试平台,且需要进一步开发解决方案,因此重新评估了搜索参数。与在车辆间层面查看消息相比,在节点层面查看车辆获得了更多相关结果。在这些研究中,研究人员使用了 SUMO、OMNeT++、VEINS 和 INET 等仿真工具来构建车载自组织网络(VANET)的工作仿真。车载自组织网络(VANET)是由一组移动或静止的车辆通过无线网络连接组成的网络。

四、结论

通过应用本文献综述中所学的方法论,可以克服网联自动驾驶汽车网络安全领域的部分挑战。回顾当前关于人工智能在网络安全(尤其是汽车网络安全)中应用的文献,显然人工智能在汽车网络安全中的应用存在缺口。在网络安全测试方面,其他行业利用人工智能模型缩短运行时间并制定最佳攻击计划的优势已十分明确。从荟萃分析综述可以看出,采用既定攻击计划的人工智能模型成功率更高。此外,还应设计攻击树以完成整个测试过程。在其他行业中,部分或完全可观察的马尔可夫决策过程(MDP)是一种常用方法,并已被证明具有积极效果。由于汽车环境的复杂性,应用强化学习技术具有一定难度。然而,创建仿真环境来评估部分选定场景,将是测试强化学习模型在网联自动驾驶汽车安全中潜力的最佳方法。如果证明该方法有效,可将其扩展到网联自动驾驶汽车的其他领域。

关于仿真方面,开源软件 VEINS 符合要求,且已在类似项目中得到应用。实施并创建模拟网络攻击场景的开源版本,为该项目理解仿真环境提供了良好的起点,而 Python/C++ 接口允许在 Python 中实现人工智能模型并将其注入到仿真中。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐