汽车E/E架构网络安全设计(三):攻击方式和防护手段
上一篇主要是介绍汽车电电子电气架构的信息安全问题,那么,面对这些问题,如今的整车厂都是如何解决的呢?现在汽车上都采用了哪些安全保护机制呢?本篇将为大家介绍汽车信息安全防护的现状。
—完整性
当前,安全措施在自动驾驶系统中的应用还非常有限。比较高端的车型中会设计网络保护功能,但这些保护机制大部分是设计在汽车网络的外围,起到针对网关的防火墙作用。随着汽车电气产品与外部连接数量的日益增多,汽车所面临的攻击数量也随之增长。图1.4中列举了多个攻击介质以及这些攻击介质攻击汽车所需要的距离。
为了检测攻击行为,有供应商可以提供商用入侵检测系统(IDS)。通过这套系统,汽车在生产之时,如果需要连接到网络或云服务,则可通过最新的安全保护机制给汽车提供安全保护。但是,想要汽车保护机制时时处于最新状态,就需要后台支撑并且要对系统进行不断更新。这个问题很难解决,目前仍然没有解决办法。针对这个问题,有些整车厂提供空中升级技术(OTA)更新选项供车主选择,还有的整车厂要求车主到授权的维修店更新。还有一些整车厂则不提供更新服务。
为了保护汽车到汽车通信信息的安全,即将颁布的保护标准中会包括信息认证、授权和加密方面的方案。但有一点值得注意的是,汽车所接受的信息,会对汽车的驱动方式产生直接影响。从这个角度讲,汽车所接受的信息是非常敏感的信息。举例来讲,一个攻击者,他可以在自己车内,在报文通过安全连接传输之前,通过更改报文的方式,让后车紧急刹车。随着这类系统的不断普及和强制推行,车对车数据的完整性将日益重要。
车载网络的保护机制并非能一劳永逸。学界提出了多种保护机制。但截止到目前,真正用到车上的寥寥无几。在下文中,我们会从学界和企业界的角度,详细回顾当前的一些保护机制。但万物均有例外,就当前汽车内部网络的信息传递这个问题,整车厂使用加密技术也是一种可行的做法。有些整车厂会根据规则系统的规范,在不同总线之间,采用中央网关的方式来过滤信息。但是,很多整车厂往往不过滤信息,采用多总线ECU的方式绕过网关,直接桥接总线。这种绕过网关的设计方式,会使汽车直接面临安全问题。判断一般网络是否安全,绝非小事,亦不可一概而论。
在汽车系统中,先期占主导地位的CAN通信系统的属性成为实施安全保证措施的障碍。由于CAN自身的特点,数据速率和每个报文的数据量有限,且缺乏安全的发送方和接收方识别能力。因此,CAN难以成为汽车安全保护的基础系统。
CAN报文的数据空间小,可以传输的信息非常有限。在这种情况下,攻击者能轻易反转加密,加密手段也就失去了意义。因为CAN只提供低数据速率,那么像大报文,比如认证过程中的证书等,就无法通过CAN传输。虽然FlexRay等系统能提供较大的数据传输率,但是这些系统结构固化,对每条报文的字节数有严格的限制,这又等于是给数据传输提出了新的问题。
当今的汽车在数据传输率方面的要求越来越高。车载摄像头,雷达传感器等都需要数据传输。鉴于此,所有主流整车厂都开始着手重新设计车载网络了。车载以太网预计将是下一代的汽车高速总线方案。以太网能提供足够的带宽,虽然以太网还有待进一步完善,但是在通信双方身份验证方面,较现在的系统可靠。Ethernet是点对点连接,与CAN总线结构相比,这种连接方式是一种完全不同的拓扑结构。因此,需要整车厂重新设计整个网络架构。这次的网络重设,从整车厂的角度讲,是一次将汽车信息安全防护措施和业内最佳实践融入到车载网络结构的一个机会。
汽车安全性的另外一个需要考虑的地方就是汽车的ECU、网关和其他设备的安全。辨别汽车上哪些是硬件,哪些是软件不是难事。越来越多的汽车ECU上都安装了加密加速器和安全储存器,这直接地提高了汽车安全标准。这其中就有密码保护和不定时的签名ECU更新,以及在某些情况下的安全启动策略。但是,纵然安全标准在不断提升,这些保护机制依然不够,这就导致上述安全措施依然得不到广泛应用。一些改装者会通过芯片调试等手段大规模利用这种漏洞来攻击汽车。
车载设备的安全保护,不论是对车主还是整车厂,都异常重要。芯片调试和产品信息窃取就是其中之一,往往会给整车厂带来经济损失。芯片调试后会产生汽车是否可靠的问题。如果有人将一个未授权的软件下载到了ECU中,导致汽车功能失灵,整车厂需要承担汽车部件失灵的责任。实际情况是这种任意下载的事情并非个案。因此,整车厂正着手解决提高设备软件和硬件保护机制的问题。在此背景下,PUF就日显重要了。
关于信息安全,不同的领域有不同的标准。比较权威的标准有ISO/IEC 27001和ISO/IEC 27002。这两个标准分别概述了对组织中的信息安全管理系统(ISMSs)和处理这些系统个人的要求。在评估和认证系统安全性时,一般会采用“通用标准”。这部分内容可在ISO/IEC 15408第1-3部分查阅。ISA/IEC 62443系列的标准则更具体地阐述了内在的和实时IDE系统安全问题。从第1-1到第3-3 部分,该标准为工业自动化和控制系统(IACS)的整个生命周期和所有零部件安全问题提供了指导性意见。汽车领域不仅采用了上述标准中的部分内容,也将该标准中的一些基本概念引用到了自身领域。
虽然 ISO 26262 第 1-10 部分和信息安全没有直接的联系,但是其核心标准是安全性。因此,该部分内容受信息安全的影响很大。首先,汽车信息安全问题在SAE J3061 中已有阐述。标准中的指南和最佳实践,在其他领域中已被广泛应用,现被引入到汽车领域。并且,4.2.2版本的AUTOSAR明确规定了消息传输的安全性。其中提出了使用信息认证码(MAC)对发送者和信息进行认证的安全车载通信(SecOC)模块的高层次抽象概念。
AUTOSAR采用的是对称密钥进行加密。在Crypto Abstraction Library (CAL)中给出了应用编程接口(API)的定义。该定义规定了加密和解密,密匙交换等方面的加密操作。需要特别注意的是,这些定义是非常抽象的API定义,并不包含实施的算法和协议。因此,后续开发的框架,只要能满足API的要求,就能与AUTOSAR整合到一起。并且,在2015年AUTOSAR标准版本4.2.2中,非常清楚地说明“SecOC模块并未明确规定是用于MOST和LIN通信网络。由于(SecOC)并未特别规定要支持MOST,因此SecOC模块在多媒体和远程汽车领域的应用范围有限。”鉴于远程信息处理和信息娱乐领域存在较高的安全风险,(SecOC模块的局限性和现实之间)还是有较大的距离。
在汽车信息安全保障领域,法律框架至关重要。本文暂时无法开展全球范围内的法律状况调查,在这里尽最大可能给读者简单介绍当前汽车领域法律框架的情况。虽然关于汽车安全性的立法、操作和维保已然存在,但在现行法律中未涉及信息安全问题。截止到本文撰写之时,许多国家都有关乎汽车信息安全的提案交由当地议会在讨论。这些提案可分为信息安全和隐私两个方面。
一方面,这些提案力图保证汽车的外部和内部连接的安全性。但另一方面,当今高度数字化的车载电气产品,在使用导航信息(包括行车速度、加速度和制动信息)、车载麦克风录音(比如语音通话)等产品时,会产生大量的数据。当前的法律中未明确规定车载电子所产生数据的归属问题。甚至在汽车转卖时,车主都无法读取或删除车载电子所生成的数据。多数情况下,车载电子产生的数据都会传输给整车厂用于产品的研发分析。当前,还没有任何法律就这类数据的处理和归属问题进行明确的规定。正因为如此,也衍生了另外一个问题,隐私保护。
在过往的一些立法中,虽然未直接规定汽车信息安全方面的问题,但是对当前的汽车信息安全具有一定的影响。对车载OBD接口的规定,就是过往立法对当前汽车行业信息安全问题的影响例子。该立法要求,OBD接口这个车载诊断端口必须按照竞争法原则的要求配置。该要求规定,整车厂的独立维修点也要能通过该端口诊断汽车状况,并通过该端口对汽车进行维保。这一规定在许多国家的相关法律中都有规定。并且,这一规定中还包括了不提供加密或授权的通信协议规范。虽然该规定通过立法得到了确定,但是想要完全保证车内通信的安全,也困难重重。因此,就车载诊断端口而言,就依然存在一个薄弱环节。
本篇仅对围绕汽车安全的复杂法律状况作简要介绍。连载的其他章节将重点阐述关于汽车信息安全的技术方法。
在下文中将重点讲解几个关于汽车信息安全和过往对汽车进行攻击入侵的例子。数字化和网联化的车载电子产品不断增加,我们主要集中关注在数字攻击方面,对于传统的撬锁等攻击方式,则省略不予介绍。本部分所介绍的例子可以分为三个类别。第一个类别总结了所有能非法打开车门的攻击案例。第二个类别描述了攻击者通过本地访问汽车(本地攻击),对汽车内部网络进行攻击的案例。第三个类别总结了攻击者不通过本地访问(远程攻击),对内部汽车网络进行攻击的案例。
—访问汽车
非法打开车门是实施本地访问汽车并攻击汽车网络的第一步。如果能通过本地访问汽车网络,则攻击者可轻易通过汽车内部网络攻击汽车。一旦发生这种情况,汽车的诊断端口就成为攻击者进一步入侵汽车网络的接口。不论是实验室情况下的模拟攻击,还是现实生活中警察所掌握的案件,都属于这一类攻击。最明显的攻击方式就是通过撬锁开门或者砸窗开门。防范这类机械性的攻击不属于本文的讨论范围,在此不予展开。但是,攻击者撬开数字锁,比如,通过远程锁门/关门功能来攻击汽车,则属于本类别。
在本部分中,本文描述了几种不同的攻击方式。我们可以看到,攻击方式种类很多,有单纯利用暴力代码猜测装置、模拟驾驶员对汽车远程安全芯片的复杂逆向工程的远程控制,也有对智能手机汽车应用程序和 '无钥匙进入 '系统的连接的攻击。攻击者一旦获得了对汽车的访问权限,则攻击者就能窃取汽车中的物品。或者通过OBD端口来访问汽车内部网络,使车主遭受更大的损失。但是有一点请注意,即使攻击者攻入了汽车的内部网络,在大多数情况下,攻击者也无法将汽车开走,因为在非法情况下,汽车防盗器依然工作,汽车发动机是无法启动的。
—本地攻击
攻击者一旦进入汽车内部,并接入汽车诊断端口后,攻击者的攻击行为就属于第二类攻击范畴了。在本部分中,本文总结了所有攻击者通过汽车的有线连接直接执行的攻击行为。大多数情况下,攻击者都是通过CAN或OBD到通用串行总线(USB)适配器与汽车进行连接的。通过这种串行总线(USB)适配器,攻击者就可以利用汽车内部网络来接受和传输信息。如果汽车没有设计网关作为防火墙进行屏蔽,则攻击者可以访问汽车的内部网络。攻击者成功接入汽车内部网络后,就能拥有与车主以及授权维修人员一样的权力了。
但是,因为车与车之间的差异很大。攻击者需要做大量的辨识工作后才能执行所有的汽车功能。并且,中央网关可能会过滤某些报文,攻击者想要随意发送报文给接收者就不大可能了。但是,攻击者可以通过手动操作绕过网关,连接到目标总线的方式避开中央网关过滤信息这个保护机制。攻击者也可以读取和重新编程网络中ECU上的软件。但像中央ECU、发动机控制单元和防盗器等这类汽车部件,即使在攻击者绕开了网关的情况对其进行攻击,它们的功能也不会失灵。
在某些文献中已记载了这类攻击的案例。通常情况下,只有实验室才会模拟进行这类攻击。另外,遍布全球的维保服务,也会利用此类别中的漏洞来修改汽车里程数、重新编辑钥匙代码或者绕开防盗器(比如改装为“一键启动”)对汽车进行攻击。虽然这种维保服务是非法行为,但是我们在网上却能轻易地买到相关的设备来攻击汽车。
3月19日:TüV认证ISO 26262功能安全工程师资质认证
—远程攻击
与上述两种类型完全不同的一种攻击方式就是第三类攻击,通过远程访问汽车来攻击汽车。攻击者通过蜂窝网络连接等方式,远程连接访问汽车。这种攻击方式需要先在网络上识别汽车,然后通过网关设备执行攻击汽车的动作,最后在来攻击汽车的内部网络。这种攻击方式的可行性已经在实验室环境中得以验证。但是,我们还需要对这类汽车攻击行为做进一步的观察和研究。随着关于汽车网络网关标准的不断推出,比如针对谷歌的安卓系统汽车和苹果的Carplay汽车应用标准的推出,这种汽车接入方式的障碍会越来越少。这就像智能手机上的病毒应用一样,攻击者也可以通过欺骗车主,完全绕过网关保护机制,让车主下载病毒应用到汽车上。
其他方面的远程攻击表现为滥用保护系统。2010年,有报道称,美国得克萨斯州奥斯汀市的一辆汽车保护系统被滥用。这套保护系统原本是用于跟踪汽车并在车主未支付车贷时瘫痪汽车使用的。但在本案例中,一位被解雇的员工启动了该系统,导致100多辆汽车的引擎无法启动。并且,他还同时启动了汽车的喇叭。这位被解雇的员工是利用他前同事的账号,登陆了基于网络的车载网络系统。这种行为是法律范畴的行为,从技术的角度来看,是很难防范的。既然技术角度很难防范,那么,对于车主而言,就得为防范不会发生类似的滥用行为承担很高的风险了。这个案例说明,个人的社会生活对于汽车安全保障也会有一定的影响。
汽车安全的另外一个威胁来自于车主本身。一般来讲,车主是天然的汽车可信赖人,同时也是可以访问汽车OBD接口的人。近年来,市面上出现了多种OBD加密狗的设备。该设备连接OBD后,可诊断和调整汽车的功能。并且,很多保险公司会给一些能很好遵守交规的司机提供相应的保险折扣。那么,如何确定哪个司机具备资格呢?保险公司会通过OBD适配器来跟踪汽车的行驶速度,行驶里程和行驶位置来判断该司机的驾驶行为。这其中,就有一些适配器具备蓝牙功能,可以和车主的智能手机连接。还有一些适配器配置了内置蜂窝调制解调器,能非常高效地将汽车内部网络和互联网连接起来。如果这些加装的适配器无法保证安全,那么攻击者就能利用这些漏洞,接管加装的适配器,更改汽车功能。这种攻击就和攻击者本地连接汽车OBD攻击汽车网络的情况一样了。在文献中有关于这方面案例的记载。在这种案例中,虽然车主本人并非攻击者,但是,他却成为了汽车安全的威胁者。
—安全漏洞披露策略
在软件公司中有一个常见的做法,那就是制定安全漏洞披露方案,软件公司会对发现漏洞并提交给公司的安全研究人员给予奖励。这种做法会吸引很多自由职业的软件安全研究人员花时间去使用软件公司推出的软件,测试软件的安全性。作为自由职业的安全研究人员,也会为了获得这笔奖金,在将软件漏洞公开之前,将软件漏洞收集起来,提交给软件公司。软件公司可以利用提交的漏洞数据,改善软件,避免给客户造成损失。但是,这种操作模式,在汽车领域却未得到推行。现在有一批汽车公司正在试水这种漏洞测试的方式,但是推广还为时尚早。如果有安全保障研究人员或者其他人发现了汽车上的安全漏洞,他们也没有很好的办法能联系上汽车整车厂来修复漏洞。
本文简单地回顾了汽车信息安全的现状。安全问题,是所有领域都面临和需要解决的问题。车内通信、汽车外部连接、车锁、甚至是法律框架等,有些是技术问题,但有些并非技术能解决的。有些是和社会属性有关,因此需要一种全新的解决办法。
在连载接下来的文章中,我们会讨论一些技术方法来解决汽车安全问题,请持续关注牛喀网。
如果您有建议或希望发表您的文章,欢迎联系:conni.luo@i-newcar.com。
1. 引言
1.1汽车电子/电气(E/E)架构
1.1.1要求
1.1.2 计算
1.1.3 当前和未来的网络
1.2 网络安全
1.2.1 原理
1.2.2 过程
1.2.3 密码学的类型
1.2.4 算法
1.2.5 安全性评估
1.3 汽车网络安全
1.3.1 外部网络安全
1.3.2 内部网络安全
1.3.3 设备网络安全
1.3.4 标准化
1.3.5 法律情况
1.3.6 攻击案例
1.3.7 概述
1.4 面临的挑战
1.4.1 设计时间
1.4.2 运行时间
1.5 贡献
1.6 相关工作
1.6.1 汽车的威胁
1.6.2 入侵检测、网络分析与验证
1.6.3 加密和硬件支持
1.6.4 网络安全集成
1.6.5 其他领域
1.6.6 概述
1.7 组织架构和书目说明
2 设计体验
2.1 引言和概述
2.1.1概述
2.2 架构
2.3 实施
2.3.1 中央服务器
2.3.2 中央信息屏(CIS)
2.3.3 仪表盘(IC)
2.3.4 智能电话
2.4 评估
2.4.1 性能
2.4.2 网络安全
2.5 结束语
3 汽车架构的概率安全分析
3.1 问题描述和概述
3.2 相关工作
3.3 框架
3.3.1 问题描述
3.3.2 分析流程
3.4 问题解决方法
3.4.1 模型转换
3.4.2 部件评估
3.4.3 属性定义
3.5 模型合成
3.6 属性定义
3.7 模型检查
3.8 实验结果
3.8.1 架构评估
3.8.2 参数探究
3.8.3 可扩展性
3.9 结束语和今后的工作
4 轻量级认证框架
4.1 问题描述和概述
4.1.1 挑战和机遇
4.1.2 贡献
4.2 相关工作
4.3 认证和授权
4.3.1 专业术语
4.3.2 电子控制单元(ECU)认证
4.3.3 流授权
4.4 集成
4.4.1 证书验证
4.4.2 系统生命周期场景
4.4.3 系统设置
4.4.4 车辆服务
4.4.5 固件更新
4.5 验证
4.6 模拟
4.6.1模型
4.6.2 实施方案
4.7评估
4.7.1 模拟器
4.7.2 LASAN
4.7.3 安全性比较
4.7.4 延时比较
4.8 结束语和今后的工作
5 FlexRay中灵活耐用的消息调度功能
5.1 问题描述和概述
5.2相关工作
5.3架构
5.3.1 运行时间调度算法
5.3.2 多模式应用
5.3.3 封装式PDU
5.4 设计时间调度
5.4.1 启发式方法
5.4.2 整数线性程序(ILP)
5.5 实验结果
5.5.1 尺寸变化
5.5.2 延时
5.5.3 周期变化
5.5.4 计算性能
5.6 结束语和今后的工作
6. 结束语
6.1今后的工作