导读

汽车工业正在走向车联网时代,迅速发展之际,安全形势也日益严峻。最近,美国科研人员开发了一个免费、通用、开源的软件框架,用于保护汽车中的软件更新。在开源框架投入汽车工业使用之前,研究团队呼吁世界各地的安全专家帮助他们寻找该框架的漏洞。

简介

这款开源安全软件框架名为“Uptane”,它在目前广泛使用的“TUF”(软件更新框架)基础上发展而来。

Uptane 项目,由纽约大学坦登工程学院计算机科学和工程学院的助理教授 Justin Cappos 领导,由纽约大学坦登工程学院和密歇根大学交通研究所(UMTRI),美国西南研究院(SwRI)合作开展。

(图片来源于:纽约大学坦登工程学院)

背景

ECU

如今,汽车内部都会具有一些列的微机控制模块,简称“电子控制单元”(ECU),又称为“行车电脑”、“车载电脑”。它是一种汽车专用微机控制器,和普通电脑一样,由微处理器、存储器、输入输出设备、模数转换器等大规模集成电路组成。这些ECU控制了汽车主要的安全设备例如安全气囊、刹车系统、发动机和传动装置等环节。

(图片来源于:维基百科)

ECU升级

然而,ECU和普通的计算机系统一样,随着根据用户需要的变化,软件缺陷和功能的相关更新,也会遭遇软件(固件)升级的情况。例如, F1等汽车拉力赛的赛车,需要根据不同的赛道情况,来改善发动机动力输出,以提高赛车成绩,这时就会需要更新ECU。更新ECU固件,就类似更新计算机主板BIOS,对发动机来说,可以达到调控发动机动力输出数值的效果。

传统的升级方式,一般都需要专业人员将ECU拆出,连接专业设备进行升级。然而,这种方法需要用户去汽车维修站或者返回原厂进行升级,操作难度大、过程复杂、风险高。

OTA升级

然而,对于新能源和车联网汽车来说,例如丰电和特斯拉的一些型号,都可以通过空中无线通信的“空中升级服务”(OTA)方式,对于ECU进行软件升级。升级可以修复车辆控制单元的安全漏洞,或者追加新的功能。这种方式通过无线网络更新,无需用户去维修站,更加方便、安全、快捷,同时也减少了厂家的召回。

安全风险

OTA 升级方式也并不是万无一失的,黑客仍然会瞄准这些汽车软件更新机制,安装恶意软件,病毒,甚至是勒索软件。一旦发生类似事件,结果往往是灾难性的。

Uptane

Uptane,正是为汽车制造商提供一种安全的软件更新框架,以抵御各种安全攻击和威胁。它的设计正是针对汽车行业的特点,考虑到其特殊的风险和限制。其中众多设计细节,是和美国大多数汽车行业厂商和专家一起合作完成的。所以,它具有更加好的灵活性,适应各个汽车厂家需求,抵御各种安全风险。

研究人员称开发Uptane的首要目标,就是创建汽车软件安全更新机制,保持最强的安全级别。不管更新的来源是哪里,该机制都可以尽可能地确保软件更新的真实性和可靠性,同时也能够灵活地支持各个特殊的用户模型和部署机制。

下面,首先介绍一下汽车安全威胁的来源,即黑客针对ECU的攻击要达成的目标和攻击采取的行动。

攻击类型

针对ECU的主要攻击类型,根据其目的,可以分为:

第一,读取更新

攻击者会窃取软件更新内容,研究ECU固件内容,盗取汽车的知识产权财富。

第二,拒绝更新

攻击者想要阻止汽车修复软件问题。有以下类型:

阻止更新攻击:阻止汽车内部或者外部的网络流量,让ECU无法接收任何更新。缓慢检索攻击:让ECU缓慢地接收应用更新,这样攻击者可以同时展开安全攻击。冻结攻击:在ECU已经有更新的情况下,不定期的发送给ECU已有的更新。软件版本部分安装攻击:让一些ECU无法完全安装最新的更新。攻击者可以通过阻止ECU的网络通信来完成这个目的。有时,这种攻击也会偶然地发生在电力供应终端的情况下。

第三,阻碍工作

攻击者会尝试让ECU工作失效,使汽车或者其组件短时间或者永久性的行为反常,有以下攻击方式:

回滚攻击:让ECU安装具有问题的过期软件。无休止数据攻击:这是攻击者最简单的攻击方式之一,通过执行无休止的数据攻击,发送大量的数据让ECU存储空间耗尽,从而发生崩溃。混合软件版本攻击:它会引起ECU在互操作方面的失败,阻止汽车正常工作。攻击者通过给不同的ECU安装不兼容的软件更新版本(不能同时安装),从而达到攻击目的。攻击者虽然无法设计出新的软件包,但是他们能够给不同的ECU同时安装不同版本软件更新。混搭的攻击:这种攻击也会引起ECU互操作性方面的失败,如果攻击者盗用了服务器密钥,他们可以使用这些密钥发布一个独特的新软件镜像。例如ECU-1和ECU-2都可以从软件分支3上安装更新。但是,攻击者已经滥用签署软件版本的密钥。这种混搭的攻击,比前面提到软件版本部分安装攻击和混合软件版本攻击更加恶劣,因为攻击者可以任意组合更新。

第四,控制

这是第四点,也是最严重的一点。攻击者能够修改汽车的性能。攻击者让ECU安装攻击者选择的软件,这样导致攻击者可以随意修改汽车的性能。他们可以通过任意的软件攻击,以恶意软件覆盖ECU现有的软件。

攻击行动

那么,攻击者又会采取那些具体行动呢?

拦截和改变网络通信(例如进行中间人攻击),这些行动的实现途径包括:(1)汽车外部:攻击者可以控制用于发布软件更新的蜂窝网络;(2)汽车内部:攻击者可以控制ECU网关、普通ECU、OBD-II 接口、 USB。危害汽车ECU。危害软件更新的密钥或者存储密钥的服务器。

防御机制

Uptane 框架所具有的主要抵御机制有以下四条:

第一,使用额外的存储空间从无休止的数据攻击中恢复。

(图片来源于:参考资料【3】)

前面提到,黑客会对于ECU执行无休止的数据攻击。然而,ECU往往只存储一个镜像文件。这样,如果这些攻击者会通过给ECU发送随机数据,而不是实际的镜像文件,让它无法启动到工作镜像中去。虽然,引导程序能够检查出随机数据和最近下载的元数据不匹配。

为了解决这个问题,ECU可以使用一个额外的存储空间,使得它可以有足够的存储空间保存之前的镜像和最新下载的镜像。ECU在更新时,无需具有覆盖之前已知的良好镜像。这样,如果攻击者在数据传输时修改了镜像,它仍然可以引导到功能镜像。

第二,广播元数据防止混合软件版本攻击。

(图片来源于:参考资料【3】)

攻击者控制了主ECU以后,就可以执行混合软件攻击,因为它们可以向不同的从ECU,同时展示不同版本的元数据。为了防止这个问题,主ECU需要向从ECU广播最新下载的元数据。

所以,在CAN网络或者以太网络中,主ECU向某个从ECU发送的任何元数据,也需要同时发向其他的ECU。

第三,使用版本清单检测软件部分安装攻击

(图片来源于:参考资料【3】)

即使有时ECU没有受到任何其他攻击,但是也偶尔会出现一种软件版本部分安装攻击的情况,导致ECU只成功安装了部分的软件更新。

无论,这些攻击是如何发生的,OEM 都可以通过软件版本清单和ECU关于它最近安装的签署信息,检测这种攻击。在验证和安装更新后,ECU会使用OEM在汽车制造期间提供的对称密钥,来验证其安装的软件,然后发送给主设备。

ECU,每个点火周期只会进行一次签署和发回它的版本清单。主设备将搜集这些签名,构建汽车版本信息,然后发送给汽车制造商。如果汽车制造商发现最近的汽车更新,和它们实际安装的不匹配,制造商将会收到警报,并且采取进一步行动。

第四,使用时间服务器限制冻结攻击

(图片来源于:参考资料【3】)

关于攻击者对于ECU采取的冻结攻击,是由于ECU桌面和服务器程序不同,E无法具有可靠的时钟。这样主设备不能判断元数据是否超时。

为了解决这个问题,每个ECU应该使用外部时钟,周期性地更新目前的时间。

集思广益

因为Uptane是开源的,所以与任何一个开源项目的标准流程一样,团队正在呼吁全是世界的安全专家和学术机构,帮助他们发现该软件框架的漏洞,以及模仿黑客对于该框架展开攻击,以进一步完善该框架,最终形成稳定的版本。

参考资料

【1】http://engineering.nyu.edu/press-releases/2017/01/18/call-issued-white-hat-hackers-find-flaws-new-automotive-software-updater

【2】https://uptane.github.io/

【3】https://isis.poly.edu/~jcappos/papers/kuppusamy_escar_16.pdf

重磅:保障汽车软件安全更新 美国研发新开源框架相关推荐

  1. 保障汽车行业的软件供应链安全

    汽车行业正处于激烈的变革性技术创新之中.20多年来,从1999年的混合动力,到2010年的插电式混合动力,再到现在的纯电动汽车,汽车行业发生了翻天覆地的新变化.最近,它在安全.车辆连接.半自动驾驶等领 ...

  2. 让汽车软件进入 iPhone 时代!

    从燃油版到新能源到自动驾驶,汽车行业迎来快速发展期.然而面对全新的数字化赛道,汽车制造商打破传统枷锁的契机何在?在此,本期<新程序员>采访到了镁佳科技CEO庄莉,邀请她分享汽车创新软件的筑 ...

  3. 汽车软件开发:目前还存在几大方面的痛点亟待解决?

    http://www.evinchina.com/newsshow-1370.html 通过对不同的汽车软件开发者的访谈,以及软件开发管理过程中的经验教训,@爱索咨询认为,除去组织架构的独立性之外,汽 ...

  4. 让汽车软件进入iPhone时代!

    从燃油版到新能源到自动驾驶,汽车行业迎来快速发展期.然而面对全新的数字化赛道,汽车制造商打破传统枷锁的契机何在?在此,本期<新程序员>采访到了镁佳科技CEO庄莉,邀请她分享汽车创新软件的筑 ...

  5. 华为美国研发中心将迁至加拿大;高通CEO否认中国5G超美国:技术上还没有,顶多算并驾齐驱;亚马逊宣布进军量子界……...

    关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...

  6. 汽车软件开发的8种颠覆性趋势及国产自主可控的多领域全数字实时仿真平台SkyEye

    汽车工业中产生的断层正引起人们对创新的日益渴望,而创新又极大地增加了汽车中的软件功能.这种创新正在自动驾驶.高级驾驶员辅助系统 (ADAS).数字驾驶舱技术.车辆电气化等领域进行. 目前影响汽车电子产 ...

  7. 诚迈科技智能汽车软件产业峰会落幕,智达诚远峰昇操作系统FusionOS发布!

    4月6日,由诚迈科技.智达诚远共同主办,苏州工业园区投资促进委员会协办,苏州工业园区智能网联产业促进会大力支持的中国(苏州)智能汽车软件产业峰会在苏州盛大举行.本次活动以"创新融合 聚力赋能 ...

  8. 汽车软件赛道的新「困局」

    在过去几年时间,不少上市公司都将智能汽车赛道作为未来寻求增量空间的选项之一,这里既有传统汽车零部件公司,也有跨界玩家,后者大部分来自消费.工业或者安防等领域. 这其中,消费类电子相关行业的公司,进入汽 ...

  9. 视频教程-软件项目管理实战-研发管理

    软件项目管理实战 前CMMI5上市公司PMO负责人 工信部认证高级项目经理 美国项目管理协会PMP认证 信息系统项目管理师 山猫 ¥288.00 立即订阅 扫码下载「CSDN程序员学院APP」,100 ...

最新文章

  1. 基环树一些有趣的事情
  2. else 策略模式去掉if_业务复杂=if else?刚来的大神竟然用策略+工厂彻底干掉了他们!...
  3. java日期用什么属性_java日期以及使用Java反射机制遍历实体类的属性和类型
  4. Linux/CentOS安装MySQL(RPM安装、编译安装)
  5. 【mysql】悲观锁和乐观锁的实现原理
  6. java中怎样创建线程_java中的线程创建和使用
  7. Linux笔记 rm -rf 嘻嘻
  8. iOS 滑动性能优化
  9. 技术面试时这样介绍自己的项目经验,等于成功了一大半
  10. php算法求出一个数可以被分解成多少个_小学数学1—6年级必考的34个数学重难点公式,赶紧给孩子收藏!...
  11. 2021年危险化学品经营单位安全管理人员考试题及危险化学品经营单位安全管理人员模拟试题
  12. 启动vidalia 时不用打开firefox
  13. 前端模型--css动画(旋转八音盒)
  14. flowable中强制结束流程
  15. 顺丰快递电话查询比网上查询更提前更详细
  16. 虎父的素数年之黄帝内经谭
  17. 关于windows10下前面板插入耳机没有声音
  18. Linux磁盘管理 df、du、fdisk
  19. C++实现声音文件的播放(OpenAL、Fmod、BASS、SFML)
  20. 经常使用的function Module

热门文章

  1. android 11鼠标右键返回功能(已验证)
  2. 使用pandas读取excel表格如何去掉标题
  3. Google TPU edge装机
  4. U系银河麒麟配置本地镜像源
  5. 太原理工大于丹计算机,太原理工大学硕士生将参加中国第30次南极考察
  6. 研发团队建设的心得体会
  7. 微信小程序----地理围栏实现员工防作弊地图打卡功能
  8. ESP32 触摸传感器应用方案简介
  9. 鼠标及键盘详细的键值表
  10. C#、.NET迷你音乐播放器