• 汽车信息安全攻击研究、实例总结


    本文主要总结汽车信息安全相关的攻击研究和实例。(持续更新中)

    注: 下面每个攻击实例的详细介绍见对应的参考文献。百度学术、必应搜索中查询一般可以找到原文。

    攻击车载无线系统

    攻击胎压监测系统 2010 [1]

    [1] 分析了一个胎压监测系统,它采用无线传输方式通信。发现

    1. 这个胎压监测系统没有使用任何密码机制来认证传输的信号
    2. 在每个信号包内包含了固定的传感器ID

    可被攻击的方式:

    1. 信号窃听

      传感器传输可通过激活信号从路边设备触发。无论是金属车身的重屏蔽,还是低功率传输,都没有充分减少窃听范围。测试证明,在40米的范围内可以窃听到信号。通过窃听固定传感器的ID,可以跟踪车辆。

    2. 信号欺骗

      消息未通过身份验证,车辆电子控制单元也似乎未使用输入验证。我们能够在一辆以高速公路速度从附近另一辆车上行驶的汽车上注入欺骗信息并点亮低胎压警告灯,并且通过利用数据包欺骗来反复打开和关闭警告灯,成功地禁用了TPMS电子控制单元。

    攻击 CAN 通信

    CAN信号逆向 2013 [3]

    [3] 描述了一种逆向汽车私有 CAN 消息 ID 的方法。在一辆 2003 款 Mini Cooper 使用这种方法,成功逆向并篡改了仪表盘上的汽车车速和发动机转速,把它们变成了一个闹钟。

    因为2003款Mini Cooper的CAN信号没有消息认证机制,所以很容易被篡改。

    攻击传感器

    自动驾驶车辆传感器的非接触式物理攻击 2016 [4]

    [4] 研究和分析了特斯拉汽车自动驾驶系统所依赖的三种基本传感器,即超声波传感器、毫米波雷达和摄像机。对这些传感器发起了干扰攻击和欺骗攻击,并导致汽车系统故障,所有这些都有可能导致撞车,损害自动驾驶汽车的安全。

    对自动驾驶车辆发动非接触式物理攻击的技术难度不高,但可能导致的后果很严重(撞车等)。防止传感器的非接触式物理攻击是自动驾驶必须解决的现实问题。

    1. 攻击超声波传感器 (Attacking Ultrasonic Sensors)

      1. 干扰攻击 (jamming attack)

        干扰攻击可使物体变得不可监测,从而导致碰撞。实测发现干扰攻击时,超声波传感器有两种完全相反的响应。第一种响应是距离变成最远,第二种是距离变成零。

      2. 欺骗攻击 (spoofing attack)

        欺骗攻击能够操纵传感器读数,导致检测到不存在的物体

      3. 声音消除(Acoustic Quieting)

        声音可以和干扰攻击达到类似的小说,是物体变得不可监测。声音是一种波,有波峰和波谷。我可以产生一个波峰和波谷相反(相位差180度)的补偿声波来抵消掉原来的声波,是超声波传感器监测不到物体。这种技术已经用在耳机主动降噪(ANC)中。

    2. 攻击毫米波雷达 (Attacking MMW Radar)

      1. 干扰攻击

        干扰攻击可以使监测到的物体消失。

      2. 欺骗攻击

        欺骗攻击可以改变物体的距离。

    3. 攻击摄像机(Attacking Cameras)

      研究发现,汽车摄像头没有提供足够的降噪或保护,因此能被强光致盲或永久损坏,这将进一步导致基于摄像头的功能失效。

    激光雷达的非接触式物理攻击-欺骗2019 [6]

    激光雷达信号处理模块的核心是深度神经网络(DNN)。对抗样本攻击是攻击DNN的有效方式之一。

    [6] 生成了3维对抗样本,在百度阿波罗号自动驾驶平台上测试,发现对抗样本比正常样本的探测距离短,也就是在正常样本被检测到的时候,激光雷达还看不到对抗样本。

    实验中,对抗样本可以欺骗激光雷达,使激光雷达变近视眼。

    攻击电子控制单元(ECU)

    故障注入攻击

    故障注入攻击是对微处理器(MCU)的一种物理攻击。

    故障注入(fault injection)亦称为干扰攻击/毛刺攻击(glitching),是指通过干扰芯片的正常工作,导致其跳过指向某些特定指令(例如,用于启用安全措施的那些指令)的一种攻击方法。在阅读芯片手册时,可以看到,在时钟速度和电压范围指标之后,会附带一个警告,称不能保证这些指令将可能导致无法预测的后果——而这就是干扰攻击方法得以有用的关键。[2]

    故障注入攻击的方式有

    1. 时钟
    2. 电压
    3. 电磁干扰
    4. 激光

    比如下面代码

    1 ...
    2 if ( key_is_correct ) <-- 注入故障
    3 {
    4     open_door();
    5 }
    6 else
    7 {
    8     keep_door_closed();
    9 }
    10 ...
    

    当MCU执行到第二行代码时,我们注入适当的故障,能使MCU执行错误,误执行 open_door() 操作。

    用故障注入攻击绕过UDS的安全访问 2018 [5]

    [5] 使用故障注入方法,绕过了通用诊断协议 (Universal Diagnostic Service, UDS) 的安全访问保护($27 服务),提取了微处理器内的固件(包括一些机密信息,比如安全访问算法),可以做进一步攻击。

    参考

    [1] Rouf I , Miller R D , Mustafa H A , et al. Security and Privacy Vulnerabilities of In-Car Wireless Networks: A Tire Pressure Monitoring System Case Study[C]// 19th USENIX Security Symposium, Washington, DC, USA, August 11-13, 2010, Proceedings. DBLP, 2010.

    [2] Craig Smith 著, 杜静,李博译. 汽车黑客大曝光. 2017.

    [3] Jason Staggs . How to Hack Your Mini Cooper: Reverse Engineering CAN Messages on Passenger Automobiles. 2013.

    [4] Yan Chen, Xu Wenyuan, Liu Jianhao. Can You Trust Autonomous Vehicles: Contactless Attacks against Sensors of Self-driving Vehicle. 2016.

    [5] Pareja P, Cordoba S. Fault injection on automotive diagnostic protocols. //riscure. 2018-6-19.

    [6] Cao Yulong, Xiao Chaowei, Yang Dawei et al. Adversarial Objects Against LiDAR-Based Autonomous Driving Systems. 2019.


    版权声明: 本文博主原创,未经许可,禁止转载。原文地址:https://www.cnblogs.com/byronsh/p/vehicle-security-attack-research-example.html

    20191210 bubuko未经授权转载: http://www.bubuko.com/infodetail-3321797.html

  • 相关阅读:
    58 回调函数callbacks——eat_tensorflow2_in_30_days
    57 优化器optimizers——eat_tensorflow2_in_30_days
    62训练模型的3种方法——eat_tensorflow2_in_30_days
    63 使用单GPU训练模型——eat_tensorflow2_in_30_days
    61构建模型的3种方法——eat_tensorflow2_in_30_days
    56 评估指标metrics——eat_tensorflow2_in_30_days
    64 使用多GPU训练模型——eat_tensorflow2_in_30_days
    66 使用tensorflowserving部署模型——eat_tensorflow2_in_30_days
    65使用tensorflowserving部署模型——eat_tensorflow2_in_30_days
    一、计算机硬件基础
  • 原文地址:https://www.cnblogs.com/byronsh/p/vehicle-security-attack-research-example.html
Copyright © 2020-2023  润新知