「课程回顾」SDV系列微课堂:车联网信息安全攻防实践
现在一台网联汽车有多复杂?先给你看一下代码量的对比:一个航天飞机的代码量是有40万行左右;波音787飞机的代码量有1400万行,而网联汽车已经超过了1亿行的代码,车联网大部分在100个ec的数量级。代码行数越多,必然会导致BUG和漏洞数量也会越来越多,所以我们可以想象一下1亿行的代码大概会存在多少的漏洞和BUG。现在都说,汽车更像是一台架在四个轮子上的电脑。
本期盖世汽车论坛抗疫系列专场免费线上公开课,邀请到了腾讯安全科恩实验室技术专家范士雄,为我们带来腾讯安全科恩实验室在车联网安全方面的研究案例,分析目前智能网联汽车中存在的主要风险和威胁,并为企业提供相应的防护措施和解决方案。
讲师介绍
范士雄:在加入腾讯安全科恩实验室从事物联网安全研究之前,主要专注于传统信息安全,曾在微软亚太安全应急响应中心负责大客户的安全事故响应和调查。在主机安全、Web安全方面有超过7年从业经历。加入科恩实验室后,主要负责车联网安全,负责了实验室多个重要的商业化合作项目,其中包括奥迪、上汽大众、通用等客户。
01
车联网安全研究实战案例分享
腾讯科恩实验室与2016,2017年对特斯拉Model S,Model X的网联模块进行了深入安全研究,利用安全漏洞对特斯拉进行无物理接触远程攻击,实现了对特斯拉驻车状态和行驶状态下的远程控制。
特斯拉内部网联架构如图所示:
(特斯拉内部网联架构)
●中控屏(CID)是一个Ubuntu Linux系统,显示界面使用一个基于WebKit的浏览器;同时中控屏包含4G模块与云端服务连接;
●车内中控屏与网关,仪表盘,Wi-Fi的模块通过以太网连接,网关是一个实时操作系统(RTOS),实现多路CAN隔离;
●研究中我们主要关注两路CAN:负责车门,空调等车身控制的Body CAN,以及负责动力控制的CH CAN;
●同时特斯拉车辆有远程更新功能,可以实现中控屏,网关等模块的固件远程更新。
通过研究,科恩实验室发现了各模块中的多个漏洞,最终实现完整远程攻击链:
●通过钓鱼网址或构造同名Wi-Fi热点,接入特斯拉车内网络;
●利用浏览器组件漏洞,实现浏览器权限的代码执行操作;
●利用Linux系统内核漏洞实现提权,获取中控屏系统最高权限;
●利用远程更新功能中的缺陷,刷入修改后的网关固件;
●发送CAN指令,实现远程对车辆进行操控;
2016年和2017年两次入选了特斯拉安全研究名人堂,还在Black Hat大会上做了相关特斯拉研究的技术分享。
关于宝马汽车的安全研究
宝马网联汽车研究是一项遵循白帽黑客准则的安全研究项目。在这个研究过程中,腾讯科恩实验室对多款宝马汽车的车载信息娱乐系统(Head Unit)、车载通讯模块(T-Box)和车载中心网关(Central Gateway)的硬件以及软件做了深入和全面的分析,并遵循“负责任的漏洞披露”的流程,向宝马报告了漏洞和攻击链的详细细节,并提供技术分析及相关修复建议。研究过程中,我们重点分析汽车暴露在外部的攻击面(包括GSM网络,BMW远程服务,BMW互联驾驶系统,远程诊断,NGTP协议,蓝牙协议,USB以及OBD-II接口):
(宝马内部网联架构)
通过一年多的深入研究,腾讯科恩实验室实现了对宝马多款车型的物理接触和远程非接触式攻击,科恩研究员证明可以通过远程破解车载信息娱乐系统、车载通讯模块等,获取CAN总线的控制权。
在完成破解车载通讯模块和信息娱乐系统后,经过进一步分析,我们组合利用这些安全漏洞实现了完整的本地攻击链和远程攻击链。本地和远程攻击链的最终目的都是实现从车载网关向不同CAN总线 (例如: PT-CAN, K-CAN)发送诊断命令来影响车上的电子控制单元(ECU), 进而影响车辆功能。
02
车联网安全面临的挑战
●系统版本的老旧。这个问题在传统车型以及像特斯拉这种比较新的车企都能看到。不管是它的操作系统,还是它的浏览器,内核都是有比较老旧的,有很多没有修补的CVE漏洞。
●原有标准不适用高度连接的汽车。一个比较典型的例子就是CAN协议。由于车辆刚开始是一个比较封闭的系统,不会考虑车辆需要联网的场景,所以基础的通信协议CAN并没有安全防护功能,例如加密、认证等,所以CAN本身是一个不安全的协议。现在车企为了网联化,很多情况都是直接就把这个车辆插上一个T-Box模块就直接连接到外部网络上面来,相当于把缺乏安全防护的汽车直接接入到了外网,原本封闭体系中的安全漏洞就都暴露出来了。
●车企安全能力短板。目前车企在网络安全方面的能力还是有所欠缺。在车辆网络安全质量上的评估和测试方面还有待提高。
●不断扩张的风险面。现在汽车不断引入新的功能,其实从安全角度来讲,每个新的功能都可能成为一个新的攻击面。现在车辆的攻击面非常广,下面攻击面分析的图片中,每个红点都是一个安全攻击面。
03
安全防护建议
系统防护
车辆中目前复杂操作系统主要是车机和T-Box系统,
●第一点是Patch。打补丁永远是绕不开的问题。比如某汽车现在网联架构的安全性评分是40分,但是把系统组件、操作系统、浏览器等核心组件的补丁打齐之后,甚至可以提升到60分。这是一个非常迅速有效的提升安全质量的方法。
●第二点是签名校验。尤其是在实现OTA内部通讯的时候。在前面对特斯拉的漏洞利用链中,其中一个环节就是通过其固件签名校验的漏洞,实现任意固件的刷写。
●第三点是系统加固。我们看到最新版本的安卓或Linux,都自带很多安全防护的措施。但是前面看到很多车辆系统根本没有开启这些防护措施。除此之外,还有一些系统的基础配置,例如防火墙,都是容易出现纰漏的地方。
●第四点就是防护系统对外的接口。例如WiFi、蓝牙、USB。
网络防护
●消息的认证和加密。对车内的通讯消息应该添加认证和加密防护,防止中间人劫持。
●做好车内域的隔离。这是最基础也是最重要的防护,对于不同域之间的通讯应设置严格的控制机制。
● IDS。IDS也是比较进阶的要求。在不同的网络结点,尤其是网关,添加网络的检测的功能,去判断是否有异常的网络通讯。比较简单的理解场景,比如说某ECU每隔五秒的时间就会发送一个信号,它这个发送是非常规律的。如果发现中间突然第三秒钟收到一个消息,那我们就可以判断这个消息有可能是有一个异常的消息。
●SOC(安全运营中心)。这个也是跟刚才IDS检测结合起来,我们要去监测所有在网车辆的运行状况。如果某辆车有异常状况,运营中心需要能够及时地收到告警信息。
TSP平台
TSP平台提供了大量的API接口供车辆或者手机终端进行调用访问。以前也有车企出现过由于TSP平台中的API接口出现了访问控制的漏洞,导致攻击者可以利用这些接口去批量控制车辆或者窃取数据。
提问
Qustions&
解答
Answers
以下是问答环节:
Q:有一些车企会用加密芯片来做秘钥存储和数据加密,有必要吗?
A:安全芯片目前在车端ECU中运用的越来越广泛,主要用来做秘钥存储和加解密操作。秘钥存储在安全芯片中可以有效地防止秘钥泄露,很大程度上保证了秘钥的安全性。除此之外,安全芯片还可以加速加解密操作,保证加解密安全性、随机数随机性。
Q:你们除了对车端的网络安全进行安全测试之外,会测试他们的云端服务器的安全吗
A: 云端服务在整个车联网功能上也是核心的一部分,云端一方面会存储大量的用户数据,一旦出现安全问题便会造成严重的数据泄露问题。另一方面,远程车控的指令也是通过云端中转到车端,如果这些控制指令的接口出现安全漏洞,可以导致受影响车辆被远程控制。所以在做车联网安全渗透测试的时候,通常都会包含云端服务区。
Q:车联网安全方面大家比较关注的标准有哪些
A: ISO/SAE 21434、 UNECE WP.29
完整课程
&
如何获取
01
【盖邦会员】可获取完整版课程
点击并扫描二维码 即可加入盖邦
02
【非盖邦会员】单课或拼团购买
点击并扫描二维码 进入课程直播回顾链接