宁玉桥,马超,刘天宇
(中国汽车技术研究中心有限公司数据资源中心,天津 300393)
随着互联网、人工智能、云计算、大数据等技术的快速发展,以万物互联为目标的物联网技术正在快速发展,而车联网正是物联网技术在传统汽车行业的典型应用。典型的车联网系统分为3个模块,分别是车载智能终端、网络传输和云平台,主要目标是实现车辆与人、车辆与车辆、车辆与路基设备、车辆与云平台之间的通信[1]。通过车载传感设备感知车内及车外状况,实时收集道路交通状况等信息并通过无线网络传输给云平台进行分析和计算,为网联汽车提供实时精准的道路导航、应急抢险等综合服务[2]。在车联网技术给用户带来智能化体验的同时,也面临着信息安全方面的风险。
T-Box被称为与云端通信的桥梁,T-Box作为车内与外界进行信息交换的系统,主要功能是实现汽车与车联网服务云平台之间的通信,是车联网的核心部分。T-Box是集成了OBD、MCU/CPU、FLASH、SENSOR、GPS、3G/4G、WiFi/蓝牙等模块于一体的嵌入式系统。它对内与车载CAN总线相连,对外通过云平台与手机/PC实现互联。通过T-Box可主要实现远程控制、远程查询、安防服务等功能[3],如:远程控制车门、车窗、空调等开启,远程车辆定位、查询车况信息,车辆异动报警紧急救援求助等。T-Box作为智能网联汽车不可分割的一部分,已越来越受到整车厂商和消费者的欢迎[4]。
T-Box直接连接车内总线,经T-Box可从总线获取到汽车数据上传给用户,用户亦可通过T-Box向车内总线发送指令,实现对车的控制。随着网联汽车技术的应用越来越广泛,T-Box也为汽车带来了更多的信息安全隐患[5]。例如:2018年英国广播公司报道,中国一家网联安全实验室的研究显示黑客可以通过插入U盘、使用蓝牙以及车辆自带的3G/4G数据连接等方式入侵T-Box,在汽车行驶时取得部分控制权。这无疑对车辆安全行驶造成了巨大的威胁,因此加强T-Box的信息安全防护已迫在眉睫[6]。
一方面,T-Box可与车内总线通信,实现指令和信息的传递;另一方面,其内置调制解调器,可通过数据网络、语音、短信等与车联网服务平台交互,是车内外信息交互的纽带[7]。T-Box主要面临几方面的安全威胁:(1)固件逆向,攻击者通过逆向分析T-Box固件,获取加密算法和密钥,解密通信协议,用于窃听或伪造指令;(2)信息窃取,攻击者通过T-Box预留调试接口读取内部数据用于攻击分析,或者通过对通信端口的数据抓包,获取用户通信数据[8]。
T-Box作为车内外信息交互的纽带,保证T-Box通信安全至关重要。某公司数据资源中心信息安全团队对当前智能网联汽车车载智能终端T-Box的安全现状进行了深入研究,对5款T-Box进行多维度的安全测试与分析,最后对各款T-Box的信息安全测试结果进行归纳统计与分析。
主要采用信号欺骗、暴力破解等测试方法并参照相关安全指导标准,借助IDA、Kali Linux、Wireshark、gdb、CANoe等工具对5款T-Box进行攻击性测试,并针对有缺陷的T-Box系统提出了修复及改进意见。
(1)硬件安全测试
吹取PCB板芯片,并逆向提取芯片数据emmc/SOC/MCU及存储单元,并对提取数据进行分析;连接WiFi热点,使用扫描工具对T-Box进行全端口扫描并通过USB接口进行网络/数据攻击;在T-Box工作期间监控关键数据信号并进行分析,同时进行MCU和SOC通信攻击以及MCU和CAN通信攻击。
(2)数据安全测试
通过使用SSH等工具,检测文件系统中是否存在配置文件以及板端内存/控制器内部数据是否进行加密防护;扫描测试T-Box静态文件以及报文数据、代码数据和存储数据,并通过T-Box热点连接,检查文件系统中的个人隐私信息以及位置信息。
(3)应用安全测试
通过连接T-Box热点,登陆SSH服务获取系统权限,使用命令查看系统内核更新版本,检查是否及时安装补丁;向系统中安装恶意软件,检查系统中是否存在监控机制能够记录恶意软件的运行流程并查看恶意软件是否能够正常运行,确定系统中是否存在防护机制以及防护机制是否有效。
通过测试攻击可以查看Linux应用是否安装防护、防火墙是否配置安全策略以及系统是否开启防堆栈溢出攻击、是否存在内核漏洞。
(4)系统安全测试
连接T-Box热点,登陆SSH服务,遍历文件系统,获取升级包,将升级包下载到本地,查看升级包是否可被正常打开并对升级包进行解包,并在本地挂载升级镜像修改配置文件进行升级包替换。在此过程中使用中间人攻击工具对升级进行劫持,窃取升级数据。
(5)网络通信安全测试
使用伪基站、屏蔽房重建蜂窝数据网络,将T-Box网络连接到伪基站网络,监听T-Box通信数据包,并进行分析,查找敏感数据;登入SSH,使用抓包工具对网卡进行数据分析;连接T-BOX热点,使用端口扫描工具进行扫描并对扫描结果进行分析。
1.2.1 安全漏洞数量统计
通过对测试结果进行统计分析得知:B-026J和B-029C两款T-Box出现漏洞的数量最多,高达4个;B-010C这款T-Box出现漏洞的数量次之,达到2个;B-020C和B-019C这两款T-Box安全性能较好,只发现一个安全漏洞,如表1所示。
表1 T-Box漏洞数量
1.2.2 安全漏洞类型数量统计
如表2和表3所示,5款T-Box中通信端口漏洞、系统升级漏洞出现的数量较多。其中,通信端口漏洞出现次数最多,达到4次,占比高达33%;重放攻击漏洞的漏洞类型出现次数最少,为1次,占比为8%。
表2 漏洞类型数量
表3 漏洞类型数量占比
重放攻击漏洞这种漏洞类型出现的次数虽然较少,但是安全问题不可忽视,因为这种类型的安全漏洞会给智能汽车的安全性带来很严重的威胁。
1.2.3 安全漏洞危害等级统计
根据漏洞的影响范围、利用方式、攻击后果等情况,可以将危害分为低危、中危、高危、严重4个等级。此次测试结果表明:4类中,高危漏洞出现的次数最多,占比42%,中危漏洞出现次数占比33%,严重漏洞出现次数占比8%,如表4所示。应该及时加强对高、中危漏洞的修补和防护。
表4 安全漏洞危害等级占比
1.3.1 已知漏洞
已知漏洞是指系统中的应用或使用的组件中存在的已经公开的漏洞,由于这些漏洞都属于公开漏洞,因此大多数都具有公开的漏洞利用程序。虽然在车内嵌入式系统中,这些漏洞的利用条件非常苛刻,但是公开漏洞的存在仍是潜在的安全隐患,其安全问题越来越受到人们的重视。
通过分析已测车型存在的组件漏洞,发现存在漏洞的组件为66种,总计存在1 022个公开漏洞,如图1所示。
在这些组件漏洞中,存在漏洞较多的组件为ffmpeg和tcpdump,分别占所有组件漏洞的20%和12%。这些存在漏洞的组件一般存在于Linux系统的自带程序中,较为常见,如表5所示。
图1 公开组件漏洞
表5 存在已知漏洞的组件占比
1.3.2 未知漏洞
相对于已知漏洞而言,未知漏洞是通过二进制静态漏洞扫描工具对系统中存在的二进制文件进行漏洞扫描,发现程序代码中可能存在的漏洞。
经分析,这些未知漏洞大多位于read、fscanf、fread、scanf、accept、connect等函数的调用中,存在的安全问题为Unchecked Return Value(未检查返回值)。
此类漏洞可能导致缓冲区溢出、空指针解引用等较为严重的安全问题。对于其他函数的调用,也需注意返回值的检查,以确保函数的安全使用,如表6所示。
表6 存在未知漏洞的函数数量
T-Box应用领域很广,大体可分为两大类:安全相关应用以及其他应用。安全相关应用主要用于辅助驾驶,在生命受到威胁的情况下可能会阻止事故的进一步恶化。这一类的安全是强制性的,因为这些应用程序的任何操作都必须得到保障,哪怕正遭受黑客攻击。其他应用则包括交通优化、GPS 服务、信息娱乐等,这一类别的应用出现的目的是方便生活,此类应用会在用户使用的过程中产生大量跟用户相关的个人隐私数据,因此安全问题也必须引起重视。基于上文中的测试结果和分析,本文作者从4个方面给出了防护策略。
硬件防护是汽车最底层的防护措施,智能网联汽车的防护必须先从硬件防护开始。如今相关企业研发硬件安全模块(Hardware Security Module,HSM),将加密算法、访问控制、完整性检查嵌入到汽车控制系统,以加强ECU的安全性,提升安全等级。例如:隐藏PCB板中存在的调试接口;将PCB丝印、芯片型号等信息清除,通过隐藏这些芯片信息来增加敏感芯片和组件被识别出的难度;同时移除云端的固件下载接口,使用具有读写保护存储能力的芯片,可以通过设置使得设备不可读。
通信是当代智能网联汽车最为重要的功能,为了提升智能网联汽车整体的安全性,必须加强车联网通信的防护,如在T-Box中配置安全策略,限定网络可访问的地址、通信端口、通信协议,加强网络访问控制:敏感信息避免使用日志的方式进行打印输出;避免使用硬编码的方式存储用户名、密码、密钥等敏感信息;隐私信息使用软编码、加密形式进行传输;采用复杂的加密方式对敏感数据进行加密处理,避免明文存储;远程通信采用HTTPS等加密协议进行数据传输;安全存储用于解密数据公钥和私钥。
为了加强用户及网联汽车数据隐私等各方面的安全,必须加强系统的整体防护,关闭常见的危险端口,如21、22、23、5555等;设置防火墙过滤规则;及时更新端口所对应的应用程序;关注内核漏洞并及时更新系统内核;增加系统最高权限用户名密码的复杂度等。
在系统开发过程中,使用第三方组件时,需注意其安全状态,及时更新至最新版本;在系统开发过程中,建议遵守MISRA 2012和CERT-C编程规范;增加反调试机制,用来识别应用程序是否被调试,或者让调试器失灵,以此来防止攻击者使用调试器来观察应用程序的运行过程;增加代码混淆,将代码转换成功能上等价但是难于阅读和理解的形式。
随着汽车车载系统越来越精密、功能越来越繁杂,T-Box会变得更加普及、更加智能。本文作者首先介绍了T-Box的发展以及在发展过程中面临的信息安全问题,并针对车联网环境下T-Box面临的安全威胁,利用信号欺骗、威胁攻击、暴力破解等测试方法对现有的5款智能网联汽车的T-Box从多维度进行了信息安全测试,并对相应的测试结果进行统计及分析,最后根据测试分析结果,从硬件、通信、系统以及应用4个方面提出了相对应的防护措施。本文作者通过对多款T-Box进行测试分析,旨在为智能网联汽车高速发展的环境下设计更加安全、智能的T-Box献计献策。