高层摘要
对车辆网络安全的需求越发迫切,因为车辆系统面临着多方面的恶意威胁。白帽黑客已经证明他们可以远程侵入互联车辆的仪表板功能和变速箱。为应对由此造成的威胁,各国政府正在制定法令以确定自动驾驶车辆的责任(美国 2017 年的自动驾驶法案即是其中一例)。因此,防火墙是为车辆提供保护以及保证车辆整体安全性和可靠性的多层方法的关键。
汽车软件安全威胁
汽车装备的软件比我们当下使用的最复杂的机器还要多。2009 年 10 月发布的科技纵览 (IEEE Spectrum) 报告指出,美国空军装备的 F-22 猛禽一线喷气战斗机包含 170 万行软件代码。F-35 联合攻击战斗机包含 570 万行代码,波音 787 梦想客机包含 650 万行代码。与此同时,一辆普通汽车包含 1 千万行以上的代码。而梅赛德斯奔驰 S 级轿车等高端品牌汽车包含 2 千万行以上的代码。如今,福特的 F-150 卡车包含 1.5 亿行代码。
在互联性、电气化和无人驾驶的大趋势下,汽车软件内容的关联度越来越高。软件的复杂性和互联性使汽车越发容易遭受安全威胁,人们已经记录了许多现实案例。资深黑客查利·米勒 (Charlie Miller) 和克里斯·瓦拉塞克(Chris Valasek) 曾远程侵入一辆吉普大切诺基,他们不仅能控制这辆车的变速箱,还侵入并控制了包括雨刷在内的其他功能;这辆车最终被撞毁。4 在该事件后,克莱斯勒公司被迫召回了 140 万辆吉普。同一年,这两位黑客又通过控制器局域网 (CAN) 的车载自动诊断系统 (OBD) 端口控制了另一辆吉普,而且他们可以控制刹车和转向系统。
2015 年,一位安全研究员使用一台廉价的自制设备演示了对通用公司安吉星远程连接系统的攻击。通过本次攻击,他可以跟踪车辆、解锁车辆、按响喇叭和警报器并发动引擎。5 2018 年,黑客利用加密漏洞并克隆遥控钥匙在几秒钟内就盗走了一辆特斯拉 Model S。6 在黑帽网络攻击下,没有任何品牌的汽车是安全的,因为当今时代可以从互联网和开源资源随意获取汽车黑客手册和低成本黑客工具,例如 Wireshark 和 ChipWhisperer。
Upstream Security 在其 Global Automotive Cyber-security Report 2019 7 中提供了一系列数据,指明成功的黑帽网络攻击数量在不断增长。从 2010 年到 2018 年,数量增长了 6 倍,而且网络攻击途径五花八门,包括 OBD 端口、OEM 应用程序以及远程入侵。网络攻击不仅数量猛增而且效率极高,人们对开发安全解决方案的需求越发迫切。政府的介入达到前所未有的程度,并制定了各种法规以预防网络攻击。
汽车网络安全基本知识
美国高速公路安全管理局 (NHTSA) 根据威胁分析方法展开了一项汽车网络安全研究项目。该项目使用一个威胁模型识别了潜在攻击造成影响所需具备的条件。该模型将威胁分成不同的类别,以便根据不同的威胁分组来制定规避措施。NHTSA 的模型综合使用了三种建模方法。它使用微软的 STRIDE、ASF 和 Open Web Application Security Project 的 Trike 作为基准。NHTSA 威胁模型中的威胁类型借用自微软的 STRIDE:
欺骗身份。在身份欺骗威胁中,应用或程序可以伪装成其他人并获取通常不受程序允许的有利条件。
篡改数据。数据篡改涉及恶意修改数据,包括在未获授权的情况下更改数据库以及更改在计算机之间流动的数据。
抵赖。举一个抵赖方面的示例;比如,用户或程序拒绝承认某件正确或合理的事情的真实性。
信息泄露。信息泄露威胁指将信息泄露给无权获取该信息的个体。例如,用户可以阅读他们无权阅读的文件,或者侵入者可以读取在计算机之间传输的数据。
拒绝服务。这些攻击拒绝为有效用户提供服务。例如,使用非法请求对网站进行淹没攻击,使网站不可用或不稳定,导致合法用户无法获得服务。
提升权限。未获授权的用户通过更改组成员身份等方法获取授权访问权限,从而可以侵入或破坏系统。
攻击面
黑客对汽车进行网络攻击时,第一步是在车辆中找到攻击途径,即确定攻击面。第二步是侵入电子控制单元 (ECU)。第三步是找到可以利用和黑入的控制功能以侵入某些功能。
汽车的攻击面可以分为四个类别:
直接物理攻击。直接物理攻击可以通过线束连接器、OBD 或充电端口或车辆网络发起。制造商和消费者必须认识到汽车的使用环境相当恶劣。车主可能将车借给他人或送去维修;在这些情况下,黑客可以直接以物理方式侵入汽车。
间接物理攻击。间接物理攻击使用恶意软件威胁进行攻击,这种威胁以 CD、SD 卡、USB 设备或固件升级等形式出现,并可以在车内投放特洛伊木马病毒。
无线攻击。短距离无线包括 Wi-Fi、蓝牙、近场通信 (NFC) 和射频 (RF)。在互联的无人驾驶环境中,汽车需要配备所有这些技术,但这会扩大汽车的受攻击面。
传感器欺骗。尽管很少有新闻或研究指出黑客通过控制传感器来制造网络攻击,但可以肯定的是,传感器是潜在的受攻击面。波音 737 MAX 空难的潜在原因就是传感器发出非法数据并造成逻辑行为错误,最终导致了不幸的坠机事故。传感器数据可能被操控并产生不准确的数据,为黑客提供了另一个攻击面。
汽车开放系统架构 (AUTOSAR)
讨论安全性之前,有必要先了解一下汽车开放系统架构 (AUTOSAR)。AUTOSAR 是汽车利益相关方于 2003 成立的世界范围内的开发合作组织。它追求的目标是为车用电子控制单元制定和确立开放和标准的软件架构。AUTOSAR 的目标涵盖了软件在不同平台以及跨程序间的扩展性、维护性以及转移性等诸多方面。
如下图所示,位于顶层的是应用程序软件组件,它们通过标准化接口与运行时环境交互。运行时环境与软件模块进行交互,这些模块可以用于服务或通信。同样,软件通过标准化接口与底层硬件进行交互。AUTOSAR 合作联盟设置了管理层或工作结构;在负责制定规范的技术层面上,相关管理主体被称为工作组,负责管理已发布的规范。
AUTOSAR 分层式架构
WG-SEC 是安全工作组,在联盟中负责汽车安全方面的工作。安全性工作组成立于 2014 年 11 月,其任务是改进安全措施并将其扩展到 AUTOSAR 中,并为安全的异构汽车软件架构采用一套整体方法。AUTOSAR 成立于 2003 年,但直到 2014 年联盟才认识到有必要并最终成立了一个单独的安全工作组。
AUTOSAR 使用一套加密技术规范。在硬件抽象层,使用的是加密接口模块;而在服务层,规范提供了加密服务管理器。加密规范提供的不是安全概念而是加密服务,这些服务可以用来支持并落实安全概念。
AUTOSAR 加密服务
在 AUTOSAR 中,传输单元是协议数据单元 (PDU) 和支持这些 PDU 的网关,该网关称为 PDU 路由器 (PduR)。实现 AUTOSAR 安全通信的方法是在 PduR 层级进行集成。如图中所示,PduR 负责将传入的和传出的与安全相关的信息 PDU (IPDU) 路由到 SecOC 模块。SecOC 随后添加或处理与安全相关的信息,并将结果以 IPDU 的形式传播回 PduR。PduR 随后负责将 IPDU 路由到它们的目标位置。
AUTOSAR 安全板载通信
多层安全方法
保护互联汽车需要多层安全方法,而防火墙是其中的关键。开放式系统互联 (OSI) 模型将通信功能标准化为七层架构(三层为媒体层,四层为主机层),必须对这七层加以保护才能将应用程序视为安全的应用程序。整体安全策略必须能在每个层级或使用层级提供保护。
边缘节点或网关节点最容易遭受攻击,因为它们暴露在外部环境中,需要最多的保护。车辆网络内部的节点不会直接暴露,而且 PDU 层过滤可以为这些节点提供基本的保护。在第 2 层(即 OSI 的数据链路层)中,作为行业标准的媒体访问控制安全 (MACsec) 为直接连接节点之间的以太网链接提供了点对点的安全,并且可以识别和阻止大多数安全威胁,包括拒绝服务、入侵、中间人攻击、伪装攻击、被动窃听和重放攻击。对于与媒体访问无关的协议,MACsec 定义了无连接数据的保密性和完整性。
在第 3 层(即网络层)中,互联网协议安全 (IPsec) 是一套彼此互相作用的协议,可以通过 IP 网络提供安全的专用通信,支持系统建立和维护与安全网关的安全通道;虚拟专用网络 (VPN) 即是其中一例。
在第 6 层(即表示层)中,传输层安全 (TLS) 提供了专门用于提供网络通信安全的加密协议。网站可以使用 TLS 保护其服务器与网络浏览器之间的所有通信,而 TLS 协议则主要用于确保以客户端-服务器模式运行的两个或多个通信中的计算机应用程序之间的隐私和数据完整。
在 AUTOSAR 层级,数据传输单元是 PDU。AUTOSAR 的安全板载通信 (SecOC) 规范专为保护这些 PDU 的安全而制定。同样,在第 2 层(数据层)和第 3 层(网络层)之间,可以部署一道防火墙来屏蔽未使用的端口或阻止探测这些端口和过滤数据用例。
多层安全方法
使用防火墙抵御威胁
防火墙是网络元素,它根据特定的安全策略来控制穿越安全网络边界的数据包传输。
安全策略是一系列过滤规则列表,定义了针对数据包执行的操作。
过滤规则由一组过滤字段组成,例如协议类型、源地址、目标地址、源端口、目标端口和操作字段。
过滤字段列举了实际网络流量中相应字段针对该特定规则可能采用的值。一个过滤字段可以是单个值,也可以是一系列值,并且可以用于创建黑名单或白名单来阻止或允许来自或定向到特定源地址的流量。根据这组规则,防火墙可以确定是接受数据包以进一步处理,还是丢弃数据包并记录该事件。
配备防火墙的网络布局可以控制数据包的传输。它不仅可以保护内部网络免受外部环境中恶意数据的威胁,还可以保护外部环境免受网络内部生成的潜在恶意数据的威胁。防火墙可以保护网络在汽车内的部分;因此,当某个具体的 ECU 遭到侵入时,ECU 的漏洞不会被用来攻击网络的安全部分。
配备防火墙的网络布局
防火墙设计注意事项
规则式过滤,也称为数据包过滤或静态过滤,是设计防火墙的首要注意事项。这种类型的过滤不保留数据包的状态。它的基础是过滤引擎中可配置的规则,过滤引擎可以支持协议、源 IP 地址和 MAC 地址过滤,并且可以用于创建白名单和黑名单过滤。
规则式过滤
动态过滤。其他类型的防火墙使用动态过滤,也称为电路级网关或状态数据包检测。动态过滤可以根据连接的状态阻止数据包。它可以检查具有较多端口的非特许端口的传入流量,确定它对之前要求建立连接的传出请求的响应未被侵入。动态过滤可以支持 IP 标头选项、传输控制协议 (TCP) 或用户数据报协议 (UDP) 标志和可配置的数据包生存时间 (TTL)。其中应用的高级原理是,过滤引擎选择网络数据包并根据规则执行具体的逻辑,决定是允许数据包通行还是丢弃数据包并加以记录和报告。
动态过滤
深度数据包检测又称应用层网关,它支持对消息中的每个单独字段进行控制和验证,并根据类型、内容和来源过滤消息。它通常用于保护工业自动化和控制系统的安全。
深度数据包检测(应用层网关)
阈值过滤可以根据超过阈值的值来阻止数据包以免受拒绝服务攻击、广播风暴攻击和其他类型的数据包淹没攻击。阈值过滤以网络流量模式为基础。该方法使用阈值来判断应在哪个层级丢弃或阻止网络流量。与阈值过滤相比,静态过滤的效率较低。阈值过滤可以实时判断网络流量模式,确定要设置哪些阈值,以及针对特定数据包应做出哪些决定和采取哪些过滤措施。
阈值过滤
协议过滤是一种防火墙方法,它根据一组与应用层协议相关的规则来丢弃数据包,可以设置用于以太网、互联网协议 (IP)、互联网控制消息协议 (ICMP)、传输控制协议 (TCP) 或用户数据报协议 (UDP)。如果流量符合规则设置的准则,那么协议过滤可以终止应用层连接,并将流量重新发送到目标。
协议过滤
数据日志记录和警报也是很重要的防火墙设计注意事项。应妥善保存记录了安全事件和策略违例事件的日志。还应妥善记录对防火墙策略的更改,以便为审核和取证提供支持。事件日志记录可以用于取证调查,以及确定攻击来源和将来要采取的措施。其他优点还包括实时分析和帮助制定风险缓解策略。
数据日志记录和警报
互联汽车环境是设计防火墙时需要考虑的另一事项。更先进的尖端防火墙技术以人的使用模式为基础,并应用了人工智能和机器学习技术;与之相比,互联汽车环境以汽车内较小的功率和内存足迹以及 ECU 为特点,其内在效率非常重要。
内在效率 – 可配置性、CPU 负载、内存
过滤引擎处理各个数据包时遵循的规则是必须具备足够的内存并且它将占用 CPU 周期。从可重复使用的角度来看,应用这些规则十分重要。防火墙设计者应根据具体的用例来部署最为合适的防火墙。可配置性是其中的关键 – 在应用了 ECU 的具体场景、用例或情景下,可以根据需要启用或停用规则集。
最后要考虑的设计事项是当数据包进入网络后,应尽早采取过滤措施。太晚过滤可能会无法阻止破坏。当网络遭受数据包淹没攻击时,应考虑拒绝服务攻击。如果数据包能够在网络中存留较长时间,那么攻击目的就达到了。当遭受数据包淹没攻击时,如果太晚才丢弃数据包,那么设备可能会变得不稳定。
防火墙应部署在 TCP/IP 层级的第 2 层和第 3 层之间。TCP/IP 具有防火墙发挥作用所需的全部信息:源 IP 地址、目标、MAC 地址等等。如果在网络内部深度部署防火墙,那么防火墙可以更高效地发挥作用;在处理直接暴露到外部网络的高风险网关时,这是尤为需要注意的事项。
结语
早期检测。早期检测是在互联汽车中使用防火墙抵御安全威胁的关键。因为黑客会寻找缺乏抵抗力的端口来入侵网络,屏蔽所有未设防的端口并记录在这些端口中违反了规则的数据包非常重要。
可配置性。可配置性对于内在效率极为重要;要实现内在效率,需要能够单独启用或禁用过滤规则。如果可以使用企业级安全管理系统执行远程配置,那么这将是一项巨大优势。现有的某些解决方案支持对安全策略的集中管理,并提供了其他一些优势,例如远程监控设备的健康状态、支持分析等。
标准化。标准化极为关键;应根据 AUTOSAR 安全策略管理器贯彻防火墙安全理念。我们建议通过 AUTOSAR 为连通性防火墙定义一套规范。
汽车行业必须证明自己的产品值得信赖才能使人们信任互联汽车。安全保护不是营销卖点,而是驾驶互联汽车的必备条件,防火墙在多层安全方法中始终保持关键作用。