摘要
片上系统(SoC)集成了所有的计算部件,为当今的物联网(IoT)提供动力,包括车联网和自动驾驶汽车(CAVs)。它们的全球连接性和计算资源使它们容易受到通过各种载体的网络攻击,包括有线(如CAN、LIN)和无线(如蓝牙、Wi-Fi)通信。因此,CAVs代表了一个重大的网络安全挑战。虽然目前的软件监控解决方案无法检测到网络攻击,但却没有基于硬件的解决方案来实时监控整个SoC的运行情况。在本文中,提出了一个包含SoC现场可编程门阵列(FPGA),部署了一个独特的硅知识产权(IP),包括专用的分析CPU(中央处理器),不仅可以智能地监测SoC本身,还可以平行地实时监测汽车内部网络。该解决方案已经针对三个汽车相关的侵权案例进行了测试,突出了控制器区域网络(CAN)和高级可扩展接口(AXI)总线网络的漏洞。结果表明,所提出的解决方案有能力成功地检测和阻止汽车领域的网络攻击。
I.简介
现代汽车由多个联网的计算机组成,被称为电子控制单元(ECU),以实现一系列的功能和特性,包括驾驶和动力系统控制、连接、传感和车身模块。这些ECU通过包括CAN在内的车载网络相互连接。因此,现代汽车是网络物理系统(CPS)的一个实例。由于连接性(通过各种接口)和复杂性(设计和功能)的结合,现代汽车也受到了网络攻击。随着传感器、执行器和设备的相互连接的趋势,现代汽车往往具备能够与外界进行有线(如通用串行总线(USB))或无线(如蓝牙、WiFi、蜂窝)通信的接口。因此,现代汽车中嵌入的各种计算系统不能再被视为一个封闭的网络,针对嵌入式汽车网络的网络攻击的机会已经成为现实。已经有事实表明,一些网络攻击如果被破坏,会严重影响车辆的安全。
在过去的十年中,针对汽车的网络攻击数量明显增加。
攻击包括入侵车辆的各种安全关键系统,如刹车失灵,停止引擎和关掉前灯,所有这些都使人的生命受到严重威胁。因此,有必要加强CAVs的操作弹性,以尽量减少其对安全关键的物联网系统的影响。然而,现有的软件监控解决方案受到一些限制。首先,它们通常需要数百毫秒的时间来处理来自传感器的数据。这对于可能对避免事故至关重要的安全关键型应用来说太慢了。第二,它们非常明显更容易受到黑客攻击。第三,它们的实施是侵入性的,干扰了CAV的正常运行。最后,由于其数据访问量有限,它们无法监控整个系统。
另一方面,基于硬件的SoC监控方法可以提供适当的解决方案以克服这些限制,因为它们具有非侵入性和运行时可配置性。例如,西门子已经开发了一套独特的硅IP,可以实现基于硬件的SoC监测。在强大的机器学习模式的支持下,它们支持系统行为学习、快速异常识别、检测警报和故障原因的排查跟踪。
在本文中,提议将基于硬件的SoC监控应用于汽车领域,以加强其网络安全标准。这种方法将确保安全关键型物联网系统,如CAVs,按照设计发挥功能,智能地保护乘员和数字基础设施系统。此外,这也提供了线速的异常检测,以避免潜在的致命灾难,如车祸和重大社会经济破坏。为了证明基于硬件的SoC监控的有效性,我们在嵌入西门子IP的SoC FPGA上实现了三个汽车网络安全侵权案例。侵权案例包括里程篡改、未经授权访问信息娱乐系统和汽车门锁单元内存。为此,我们将展示如何对它们进行检测、警告和减轻。
本文的结构如下:在第二节中,回顾了汽车网络攻击的现状及其现有的基于软件的解决方案。接下来是几个基于硬件的示范性解决方案之一。然后,在第三节中规定了SoC FPGA的结构及其西门子分析IP。
第四节介绍了三个侵权案例的实施。然后,在第五节中展示了基于硬件的监控解决方案的有效性。最后,第六节总结。
II.相关工作
在本节中,我首先回顾了文献中的汽车网络攻击及其现有的基于软件的解决方案。然后,介绍了一个基于硬件的解决方案的例子。最后,重新审视了可以支持验证这些解决方案的现有汽车测试平台。
A.汽车网络安全攻击和检测方法
对CAN网络的攻击需要攻击者改变数据包广播。攻击可能会破坏数据包广播率,例如,通过用捏造的数据包充斥网络来进行拒绝服务(DoS),从而使车辆或某些功能丧失能力。虽然是立即破坏性的,但这种粗糙的攻击被认为是相对容易检测的。试图控制汽车的某些功能或有意义地改变信息表述的攻击可能更难检测。例如,通过广播编造的带有误导性的有效载荷数据包。这种攻击可能会迫使汽车陷入危险境地,系统地改变汽车的性能或效率,或者为了经济利益或不满而进行操纵。这些小伎俩可能需要从伪装成合法控制单元的攻击系统中编造看似合法的数据包。
对一辆吉普切诺基的攻击广为人知,它要求攻击者广播编造的数据包,其中包含似是而非的速度数据,从而欺骗汽车系统,使其认为汽车行驶速度更慢--这反过来又允许激活其他功能,如停车辅助。 检测这种攻击的一个问题是,被操纵的数据值仍然在合法范围内,所以可能看起来没有明显的恶意。
检测包括CAN在内的任何计算机网络的攻击的两种常见方法是签名法和异常法。签名方法将流量模式与基于规则的方式进行比较。尽管这些方法可能是准确的,假定它们能够确定、编码和分发演化的攻击模型。但这对汽车CAN系统来说是有问题的,因为:i)数据推导通常对制造商是保密的;ii)汽车有不同的位置、使用模式和生命周期,这使得维护和更新签名数据库很困难;以及,iii)攻击场景仍在出现。因此,用于检测CAN攻击的签名法通常被认为是不太有利的。
异常方法试图识别网络流量中的异常情况。其假设是,异常情况可能是由攻击造成的。因此,可应用于网络安全领域的主要机器学习算法都集中在检测异常或异常值。根据定义,这些数据点在所收集的数据集中是稀缺的,并且具有挑战性,甚至不可能被标记为异常点。
出于这个原因,无监督模型通常比有监督分类或回归模型更受青睐,因为不需要标记数据。另一方面,虽然异常方法更容易出现检测不准确的情况,如假阳性,但它们不依赖已知的攻击特征,使它们对汽车CAN攻击检测具有吸引力。常见的检测方法包括密度技术,如K-近邻,支持向量数学,局部离群因子模型,统计方法,更复杂的深度学习神经网络方法,如变异自动编码器,等等。这些方法中许多都有一个共同的特点,即试图在没有异常的情况下学习数据的统计属性,或学习所述数据的一些维度映射,并针对可能包含异常的传入实时数据测量这些属性。然而,这些方法往往仍然假定可以访问CAN字典(以便可以设计一个特定的统计模型),或者依赖有代表性的攻击样本来训练和制定模型。
除了CAN总线漏洞,作为目前汽车安全的主要关注点,网络攻击还可以直接或间接地针对汽车SoCs,如ADAS。汽车SoC与一些非安全硬件和至少一种类型的网络或服务相连。它们存储和交换大量的用户数据,包括敏感信息,如手机银行的详细信息或私人信息。随着世界的数字化,这种数据云,包括与安全有关的数据和私人信息使物联(IoT)成为对攻击者有吸引力的领域,这提高了对安全的需求。如今,用于物联网的汽车片上系统(SoC)的安全问题并不是一个简单的话题。事实上,SoCs正变得越来越复杂,它们包括许多复杂的应用,如硬件加速,使这些应用和整个SoC安全是对半导体行业的巨大挑战,特别是如果他们的设计者想减少面积成本和功耗;因此,审查和了解SoC的AXI互连漏洞开发是至关重要的。
B.一个基于汽车硬件的解决方案
现代汽车系统正在变得越来越复杂。这些由通常连接到一个或多个车内网络的ECU集群组成。许多单个ECU在本质上是简单的,但其他ECU则不是。片上系统(SoC)发展最迅速的领域之一是用于自适应巡航控制、驾驶员监控、车道偏离警告和避免碰撞的ADAS子系统。这些设备采用了一系列的摄像头、LiDAR、雷达和超声波传感器。此外,它们本身包含复杂的系统,可以处理来自传感器的数据,以及控制车辆的机电执行器来执行自动转向和制动的系统。
图1.SoC FPGA框图
随着ECU在自动驾驶汽车领域的不断发展,人们迫切需要确保ECU的性能得到控制。ECU中部署的硅芯片将具有特殊的、非侵入式的监测基础设施,不仅可以用于了解ECU的工作情况,还可以用于了解整个车辆的工作情况。
例如,ADAS系统有许多功能同时发生,其中许多可能是相互依赖的。需要满足严格的时间期限,否则整个系统可能会崩溃。在实验室里识别和诊断这些问题是非常困难的,在某些情况下是不可能的。这种情况更加复杂,因为像这样的系统经常无线更新:行业标准正在迅速发展,固件也必须如此。
西门子的嵌入式分析IP自省监测器(显示为浅绿色)被用来评估ADAS SoC的运行情况。这些监控器可以在运行时配置,并提供丰富的数据,分析工具可以使用这些数据来深入了解可能观察到的问题。例如,AXI总线监控器是协议感知和事务感知的。它们可以在运行时进行配置,以提供许多项目信息--例如,事务的延迟;事务的最小/最大/平均延迟;带宽;事务的持续时间;计数和计时。这些数据被在专用CPU上执行的分析软件使用,以确定性能、安全和保障方面的问题。
III.基于硬件的Soc实时监测解决方案
本节提供了一个可演示的基于硬件的SoC FPGA监控平台,它能够模拟一系列ECU。图1给出了这个FPGA的框图,它包含了几个西门子监测IP,也被称为嵌入式分析IP,以及一些硬件的和软件的CPU。分析IP以蓝绿色显示。这些IP模块与分析软件一起用于检测和缓解一些安全威胁,这些威胁被联盟成员和汽车制造商认定为是重要的。
简而言之,以下IP块被部署在FPGA中:
•一个分析型CPU:可用于配置和分析监测基础设施的数据。
•系统CPU(两个RISC-V,四个ARM A53,两个ARM R5):可用于执行系统功能,如信息娱乐系统、中央门锁和其他ECU等。
•CAN总线:一个CAN收发器可用于集成其他CAN节点。与分析型CPU一起,它可以作为CAN总线哨兵的原型。此外,还有两个增强的CAN-HGTM、总线控制器。CAN-HGTM处理了高速和受保护的总线。这被用来在CAN帧中携带额外的信息,以克服限制和漏洞。它们也与标准CAN完全兼容。
•JPAM(x3):提供在RISC-V内核上轻松停止/恢复/重新启动代码的能力。
•静态仪表:用于实现基于软件的监测。
•虚拟控制台:用于实现在CPU上运行的代码与调试主机之间的通信。
•直接内存访问(DMA):用于提供对整个空间的访问。
•总线监控器(x8):用于提供对所有感兴趣的AXI接口的观察。在相关的网络安全背景下,
它们还可以监控、检测和删除错误的互连事务。
最重要的是,这些模块与西门子的信息传递结构相连--被注释为信息引擎。这使得监测IP收集和产生的数据可以在整个SoC(在这种情况下是FPGA)上传输。数据可以从芯片外获取,例如,通过USB 2.0通信器;提供没有片上软件开销的通信-- 也就是说,USB通信完全是在硬件中完成的。
然而,在本文中,来自监视器的数据被分析的CPU消耗和处理,这意味着没有数据离开芯片。分析IP通过AXI通信器访问监测基础设施的数据。AXI互连是ARM在2003年推出的第三代AMBA总线协议,在SoC的子系统之间提供良好的电源效率以及高效可靠的数据传输。它被广泛用于智能手机、笔记本电脑和各种嵌入式系统。它针对的是高性能和高时钟频率的系统设计。它广泛用于ARM Cortex A处理器,如Cortex A9, Cortex A53处理器。由AXI总线监视器观察和产生的数据被分析IP用来确定在FPGA的系统上CPU上模拟的ECU的正确行为。这些数据可用于基于规则的分析或基于ML的分析。
IV.汽车网络安全侵权案件
在本节中,介绍了三个汽车网络安全侵权案例,以及在第三节中描述的SoC FPGA中实施的检测和缓解。第一个侵权案例是里程篡改,与监控CAN总线通信有关。第二个和第三个侵权案例是未经授权对信息娱乐系统和汽车门锁装置的内存访问。这两个案例都与监控AXI通信有关。
A.CAN-BUS监控 - 篡改里程数
在对针对CAN总线的多种汽车潜在系统攻击威胁进行审查后,创建了一份可以调查的短名单。在与汽车行业成员的讨论中,里程篡改被选为要调查的最初威胁。
篡改里程的攻击试图破坏车辆的里程表值,使其不再与车辆的真实行驶距离直接相关。这样做的结果是,里程表增加的速度可能被改变,或者里程表根本就不再增加。这种攻击是利用CAN过滤器实现的。它对一些CAN帧进行修改,以减少里程表的增量。本研究中使用的商用滤波器具有两个CAN接口,一个与CAN总线连接,另一个与FPGA连接。它有四种操作模式。
•在模型2中,递增率降低了10%,即每行驶10英里,里程表只增加1英里。
•在模型3中,增量率降低了20%,即每行驶10英里,里程表只增加2英里。
•在模型4中,增量率降低了30%,即每行驶10英里,里程表只增加3英里。
随着机器学习技术的应用,可以学习这两个变量之间的映射关系,从而进行预测。这样一来,与这一预测的偏差可以作为系统内发生里程篡改攻击的证据提出来。
CAN总线实时监测与车辆速度和里程表有关的CAN帧。车辆的速度是从与速度有关的CAN帧的有效载荷中提取的。这些CAN帧的时间戳也被记录下来。
计算里程表数值之间的时间差,∆T,在这两个距离CAN帧之间取速度CAN帧收集的数值,vi的平均值,以找到车辆在时间间隔∆T内的平均速度。
将平均速度值 v输入一个线性转换模型,该模型预测距离CAN帧的时间差,∆T,对于未改变里程数据的CAN数据,应该在该速度下观察到。
线性模型将速度值乘以一个学习到的常数α,并与另外一个学习到的常数β相加,这个常数将速度映射到时间差值Δt,该值应在给定速度下观察到。这个模型由下面的方程表示:
∆t = αv + β(1)
然后可以将报告的时间差值ΔT和预测的时间差值Δt进行比较,如果差值在不确定的水平之外,就可以提出对异常情况的检测,表明里程数被以某种方式篡改了。分析IP通过修复被操纵的信息来减轻威胁。
B.AXI监测
在汽车方面的威胁检测和缓解并不仅仅是监测CAN总线流量。虽然监控CAN是汽车安全的一个重要部分,但除了CAN之外,还可以通过监控其他接口来检测更多的威胁。
这种接口的一个例子是AXI,一个用于访问多个系统的SoC互连的接口。目前的FPGA系统也支持使用西门子嵌入式分析IP监测AXI。为了验证解决方案的有效性,选择了信息娱乐系统和门锁单元篡改作为侵权案例。这两种情况是通过监测AXI读/写来实现的,如IV-B1和IV-B2节所述。
为了实现攻击场景,并与FPGA和模拟ECU进行通信,我们开发了一个python主机会话,首先初始化FPGA CPU和IP,其次将与侵权情况有关的恶意攻击注入FPGA,在现场测试期间触发检测和缓解。
这意味着,它们复制了网络攻击的场景。这些功能也是高度可定制的,可以根据攻击的性质来修改。
1)损坏的信息娱乐系统:在这种情况下,攻击者破坏了汽车信息娱乐系统,恶意软件在信息娱乐系统的CPU上运行。它试图访问系统模块(外围设备/存储器),这些系统模块存在于SoC互连上,并且从架构上可以被CPU访问,但CPU通常不应该访问它们。这方面的例子包括:
•通常不被信息娱乐系统软件使用的内存区域
•闪存控制器
•内存控制器
•CAN总线控制器
事实上,它可以是任何攻击者用来恶意触发行动或从中获取信息的外围设备。不可能从结构上永久地阻止对所有潜在敏感外设的访问,因为信息娱乐系统将需要在适当授权的情况下访问这些外设。当然,对未经授权使用这些资源会有多层保护(例如适当地设置MMU或MPU),但使用西门子嵌入式分析IP提供了独立于信息娱乐系统软件的硬件监控,即使攻击者设法对MMU表进行重新编程,仍然可以正常工作。
在FPGA中,信息娱乐系统由一个ARM53 CPU模拟,它运行一个代表信息娱乐软件的应用程序。请注意,这个应用程序实际上并不会模拟实际信息娱乐系统的全部功能,它只是能够在AXI总线上进行意外访问。它根据控制FPGA的主机Python会话的请求执行这些访问。这个请求代表攻击者试图恶意访问被禁止的AXI地址。
分析IP(APCU,系统中的RISC-V CPU之一)负责:
•在启动时,配置AXI总线监视器,当信息娱乐CPU的访问以禁止的AXI地址范围为目标时,通知APCU。
•在正常运行期间,当它看到禁止访问时,接收从总线监控器发出的通知。
2)未经授权的汽车门锁装置篡改:在这种情况下,攻击者获得了对AXI总线启动器的访问,以执行未经授权的汽车解锁。
在FPGA上,一个AXI总线哨兵寻找对汽车门锁控制器的地址范围的访问,这些访问来自一个指定的AXI总线启动器(一个DMA),模拟一个受损的启动器。
与之前的情况类似,在启动时,APCU配置西门子嵌入式分析IP来监控从DMA到汽车门锁控制器的禁止访问。这一次,使用的IP块不是总线监视器,而是总线哨兵。
总线哨兵与总线监控器不同,除了监控AXI访问外,还能够阻断AXI访问。
图2.用于验证的试验台配置
V.验证
在本节描述了一组步骤,以验证西门子在SoC FPGA上实现的基于硬件的解决方案,以应对第四节中介绍的三个侵权案例。为了测试和验证这些侵权情况,FPGA已经通过其CAN收发器连接到[31]中描述的汽车网络安全测试平台(如图2所示)。它代表了一个车载网络,并将被用来建立和验证基于硬件的解决方案的安全措施。它包括一个汽车模拟器,一个车载网络模拟器,一个物理网络,一个欺骗硬件和拟议的SoC FPGA。
A.篡改里程数
为了验证由分析软件和硬件执行的检测和缓解模型,演示器在每种模式下都要运行10分钟。在每次运行中,模拟的仪表盘将实际的和修正的里程表值都记录下来。将它们的比率与CAN过滤器手册中给出的额定过滤百分比进行比较。表一报告了在测试平台上对每个CAN过滤模式和分析IP实时监测的结果。
从报告的过滤模式百分比和第四节中定义的过滤模式的比较中可以看出这一点。因此,分析IP及其外围设备成功地检测到并缓解了里程篡改的威胁。
B.未经授权对信息娱乐系统和汽车门锁的内存访问
为了验证每个模拟的侵权案例,通过Python主机会话向FPGA注入一个函数。
这个函数触发了一个模拟恶意攻击的动作,使用上面提到的DMA作为AXI启动器。AXI总线监控器/哨兵(分别用于信息娱乐系统和门锁侵权情况)发现该访问并阻止它(阻止只在使用总线哨兵的情况下),这样它就不会到达目的地,也就是模拟的ECU。除此以外,ACCPU会被通知恶意访问,并向模拟仪表盘发送命令,出现闪烁警告标志并向用户报告。在演示中没有做进一步的缓解行动,但是在真实的系统中,ACPU可以触发其他的行动,如重置信息娱乐系统,从已知的良好来源刷新其软件和/或通知外部各个模块。
VI.结论
本文提出了一种新颖的片上硅片IP (SIP)包括总线滤波器、总线监护器、锁步监视器和专门为汽车安全和安全应用定制的专用分析IP已被引入并在SoC FPGA上实现。它还由ML提供支持,授权检测并实时报告SoC的异常情况,使汽车SoC高度安全并能抵御网络攻击。解决方案的评估是通过将SoC FPGA集成到[31]中介绍的多组件汽车测试平台中进行的。三个选定的与CAN和AXI总线监控有关的侵权案例,已经在实时条件下实施测试。侵权案例的验证证明了西门子硬件解决方案实时检测、阻止和缓解网络攻击的能力。这也显示了在汽车网络安全中应用基于硬件的监控的前景。我们计划针对更多的汽车网络攻击来测试这项技术。
作者:Hesamaldin
来源:公众号:智能汽车开发者平台
推荐阅读:
更多汽车电子干货请关注汽车电子与软件专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。