面向车辆域控制器的渗透测试方法研究

原创 智能汽车设计 2023-10-19 07:58

为了更便捷发现安全漏洞,提高安全防御水平。基于渗透测试的基本原理,介绍了一种针对域控制器的渗透测试方法,将该方法以渗透工具的形式进行展现,并进行实际测试验证。以简单的操作实现针对域控制的MPU 和MCU两大部分进行漏洞检查、密码破解、诊断攻击等测试,从而降低渗透测试门槛,提高工作效率。

0 引言

伴随着车辆智能化、网联化程度的提高,车辆已不仅仅利用CAN总线进行信息交互,而是作为智能的移动终端,实现和车、路、云、人的通信交互。在带来优质体验的同时,也带来信息安全的隐患。信息安全问题不仅能造成财产损失,还可能对用户的生命构成威胁[1],因此信息安全重要性得到国家和车企的高度重视。国家出台了相关的车辆信息安全法规,各大主机厂及供应商也正在进一步加强信息安全的防御、检测。其中渗透测试就是专门针对网络安全的测试,可帮助发现网络安全漏洞,进而协助提高网络安全水平。

作为车辆云—管—端中端的一环,域控制器得到越来越广泛应用,主要由微控制器(micro controller unit,MCU)和微处理器(micro processor unit,MPU)组成。域控制器不仅涉及CAN通信,还涉及网络通信等计算机方面内容,由于其同时涉及CAN和以太网,而且还是域中重要一环,便成为网络安全的重点保护对象。

由于渗透测试来源于计算机的信息安全,渗透测试也主要涉及计算机方面知识,入手较为困难,且委托第三方的渗透价格也较为昂贵。为此,本文利用渗透测试理论,开发出简捷的渗透测试工具,便于开发人员快速地找出域控制存在的安全漏洞。


1 域控制器基本组成介绍

车辆域控制一般按照功能划分为5个域:动力域(power train)、底盘域(chassis)、车身域(body)、座舱域(cockpit)和自动驾驶域(ADAS),每个域都有一个相应的域控制器来实现相应的功能[2]。

域控制器目前主要由MCU和微处理MPU两大部分组成,以目前的ADAS域控制器为例,如图1所示,MCU作为“Safety host”,主要以CAN通信的形式和车内CAN网络建立联系,MPU作为“Performance host”完成视觉算法的处理,主要以车载以太网的形式和外界建立联系,MPU端的操作系统一般采用Linux 或QNX。

图1 ADAS域控制器


2 MCU端渗透测试内容及方法介绍

针对MCU的攻击,这里主要以CAN总线的攻击为主,下面将介绍几种较为常见的攻击方法以及相应的防御措施[3]

2.1 洪水攻击

洪水攻击:攻击者向CAN总线上发送高频率、高优先级的总线信号,从而使ECU无法正常响应其他低优先级的数据包,造成车辆的瘫痪,故障灯点亮。若在启动前进行洪水攻击,则可导致车辆无法正常启动。

针对洪水攻击,防御措施主要有增设网关、在OBD处增设防火墙等。

2.2 诊断攻击

诊断攻击:攻击者通过发送一些诊断命令来实现对控制器的篡改。例如,通过发送11 02实现重置功能,通过2E服务实现参数篡改等[4]。

针对诊断攻击,防御措施有增加诊断的前提条件。例如,增加车速和发动机的前置判断条件、增加27服务的解锁条件等。

27服务示例:

请求seed

发送请求:27 01

肯定响应:67 01 xx(xx为seed值)

发送key

发送请求:27 02 xx(xx为key值)

肯定响应:67 02

2.3 篡改攻击

篡改攻击:攻击者通过更改正常通信的CAN报文的有效载荷实现攻击,若ECU针对篡改的内容做出正确的响应,则可实现控制、干扰的目的,如修改车速显示信息、控制转向和制动等。

针对篡改攻击,防御措施除增加“checksum”之外,还可以升级为安全报文[5]。以MAC校验及增加新鲜度值(FV)等手段进行完整性和机密性方面的防御,如图2所示。

图2 安全报文结构


3 MPU端渗透测试内容及方法介绍

针对MPU的攻击,攻击的步骤比MCU测试更复杂一些,攻击也主要是通过网口或者车载以太网接口进行。针对MPU端的渗透测试主要包含下面几个步骤[6]

3.1 信息收集

收集目标的相关信息,例如:IP地址、端口信息、操作系统版本信息等,可通过Wireshark或者Netdiscover等工具来获得MPU的IP地址;也可通过Netdiscover-p来实现监听,发现在线的设备信息,如图3所示。

图3 IP信息

获取IP地址之后,可以通过Nmap工具来获得开放的端口信息。例如,通过发送Nmap-Pn1-65535 192.167.68.130命令可以获得针对IP 192.167.68.131中1-65535的开放端口的信息。如图4所示,获取这些端口之后,就可以利用开放端口存在的漏洞,进入到MPU内部,进而实施一些违规操作。

图4 端口扫描

通过Nmap 或者Nessus工具可获得操作系统的版本信息。例如,Linux或QNX的版本信息,通过已知版本信息,在接下来的漏洞扫描中,查找该版本是否有已知的漏洞,利用该漏洞就可进行渗透攻击。

3.2 漏洞扫描

漏洞扫描的目的是找出MPU弱点,攻击者可利用该弱点进行渗透攻击,如权限设置错误、采用默认的弱密码、http 端口开启等可通过Nessus工具进行漏洞扫描。通过漏洞扫描可发现目前的漏洞数量、漏洞描述及漏洞的严重程度。可通过修复漏洞来提高网络安全的防御能力,如降低用户权限、关闭端口、密码改为证书认证等[4]。

3.3 渗透攻击

渗透测试主要指利用漏洞加载攻击载荷,实现对MPU的攻击。渗透攻击可以通过Metasploit工具进行。密码暴力破解也属于攻击的一种,若密码设得很简单或者未采用证书认证方式登录,则很容易进行暴力破解,进而进入MPU内部,实施更改或破坏。


4 渗透测试实现

4.1 渗透测试工具展示

由于渗透测试需要较多的不同工具,而且大部分需在终端中输入相应的指令来进行完成,过程比较烦琐,且可视化不强。基于目前渗透测试遇到的痛点以及MCU和MPU的渗透测试逻辑,将主要的渗透内容进行汇总,编译开发出可视化较强的渗透测试软件。测试者只需要输入一些简单信息,点击相应按钮即可完成对应的测试工作,如图5所示。

图5 渗透测试工具展示

4.1.1 MPU端测试

MPU端测试主要包含信息收集、漏洞扫描和密码破解3个方面:

信息收集:可进行IP地址、端口、操作系统、可用命令的收集。其中端口信息通过调用底层Nmap工具来实现,并将最终的收集展示。

漏洞扫描:基于IP信息进行漏洞扫描,找出漏洞及漏洞的严重程度。

密码破解:基于需要破解的用户名及密码字典进行破解。例如,若 root账户使用了默认或者简单密码,则很容易进行破解。

4.1.2 MCU端测试

MCU端测试主要进行洪水攻击、诊断攻击及信号篡改攻击。

洪水攻击:可通过设置发送频率来实现攻击的程度。

诊断攻击:通过设计CAN ID,指定攻击对象,通过设定诊断服务命令来指定攻击种类。诊断服务命令包含了UDS的26种服务,如 11 reset命令、 2E DID写入命令等。

篡改攻击:通过更改报文内容来实现,若MCU做出正确响应,则说明篡改攻击成功。

4.2 软件实际应用效果

针对MPU端测试,通过对模拟MPU端进行渗透测试,故意设计多个漏洞。例如,将root密码设置为默认的密码可以发现,通过该工具,可以准确获得IP地址和相应的漏洞信息,而且还可以破解root密码。

针对CAN通信测试,对其进行了诊断攻击和篡改攻击,诊断攻击通过发送2E DID写入服务,MCU给出了消极响应——条件不正确。说明针对2E服务,MCU设置了接收前置条件,测试通过。

篡改攻击,通过更改安全报文有效载荷进行测试,发现MCU端报了MAC校验错误故障。说明更改后的安全报文未通过MAC值校验,MCU端设置了MAC校验机制,测试通过。

软件实际应用结果如图6所示。

图6 软件实际应用结果


5 结束语

针对域控制器的渗透测试,将MCU和MPU的测试内容结合在一起,利用渗透测试的基本原理,开发出简捷的测试方法,将该方法以软件的形式进行展现,在实际的测试中,该方法也得到有效验证,协助降低了渗透测试门槛,便于渗透测试工作在测试中的推广。


参考文献:

[1] 宋昊辰,杨林,徐华伟,等.智能网联汽车信息安全综述[J].信息安全与通信保密,2020,18(7):106-114.SONG H C,YANG L,XU H W,et al.Overview of the intelligent connected vehicles cyber security[J].Information security and communications privacy,2020,18(7):106-114.

[2] 深度详解域控制器[EB/OL].(2020-08-04)[2022-03-06].https://auto.vogel.com.cn/c/2020-08-04/1051269.shtml.

[3] 宋泽峰.面向CAN总线的车内网络渗透测试研究与实现[D].成都:电子科技大学,2018.

[4] International organization for Standardization.ISO 14229-1 Road vehicles—Unified diagnostic services(UDS)Specification and requirements[S].2013.

[5] AUTOSAR.Specification of Secure Onboard Communication [EB/OL] .[2022-03-06].https://www.autosar.org/.

[6] 魏德曼.渗透测试:完全初学者指南[M].范昊,译.北京:人民邮电出版社,2019.

报告下载

报告分享|2023中国汽车基础软件发展白皮书4.0

报告分享|2022中国汽车基础软件发展白皮书3.0

报告分享 2023年中国商用车线控底盘行业研究报告

报告分享|智能电动汽车EE架构的演进路线

报告分享|比亚迪案例研究


加入智能汽车生态交流群(备注公司和姓名)仅限汽车行业人士 

END


智能汽车设计 关注智能汽车发展,分享智能汽车知识!
评论
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 186浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 113浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 616浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 209浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 418浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 189浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 140浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 293浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 150浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 117浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 58浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 143浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦