欢迎光临
我们一直在努力

对抗攻击实操入门(三):精读 USENIX Security 2024,首个物理世界轨迹预测攻击,LiDAR诱导欺骗如何导致63%碰撞率

前言

在前两篇文章中,我们分别探讨了数字空间的像素级对抗攻击(FGSM与PGD)和物理世界攻击的四大流派。本专栏的核心方向是传感器注入攻击,特别是针对LiDAR的攻击。本文我们将深入精读USENIX Security 2024的一篇重磅论文:Lou等人发表的《A First Physical-World Trajectory Prediction Attack via LiDAR-Induced Deceptions》。

对抗攻击实操入门(一):FGSM 与 PGD

对抗攻击实操入门(二):物理攻击全景图

论文链接:https://www.usenix.org/conference/usenixsecurity24/presentation/lou

这篇论文的创新之处在于,它没有直接攻击轨迹预测模块,而是通过攻击上游的LiDAR感知系统,间接导致下游的轨迹预测出错。这种"隔山打牛"的攻击策略,在实验中实现了高达63%的碰撞率,揭示了自动驾驶系统中一个被严重低估的安全漏洞。


1 这篇论文要解决什么问题

1.1 背景:自动驾驶系统的层级架构

要理解这篇论文的价值,首先需要了解现代自动驾驶系统的典型架构。一个完整的自动驾驶感知-规划-控制栈通常包含以下层级:

传感器层(LiDAR/摄像头/雷达)
↓
感知模块(3D目标检测、目标跟踪、语义分割)
↓
轨迹预测模块(预测周围动态目标的未来运动轨迹)
↓
规划模块(基于预测轨迹规划自车安全路径)
↓
控制模块(执行规划指令,控制车辆执行器)

传统的对抗攻击研究主要集中在感知模块。例如,通过向LiDAR点云注入噪声,使系统无法检测到特定障碍物;或者通过对抗性贴纸欺骗摄像头,导致交通标志识别错误。

然而,这篇论文提出了一个更深层次的问题:如果攻击者只是轻微干扰了感知系统,这种感知错误能够在多大程度上影响最终的驾驶决策? 换句话说,感知层的小误差是否会通过下游模块(特别是轨迹预测)被放大,从而导致灾难性后果?

1.2 核心发现:误差放大效应

作者通过系统的实验发现,感知模块的微小误差确实会被轨迹预测模块显著放大,最终导致规划模块做出极其危险的决策。具体来说,攻击链如下:

  • 感知层误差:通过LiDAR注入攻击,使感知模块对障碍物的位置估计产生几米的偏移(例如,将前车位置向左偏移2米)
  • 预测层放大:轨迹预测模块基于错误的位置信息,误判障碍物的未来行为(例如,认为前车即将向左变道)
  • 决策层错误:规划模块基于错误的轨迹预测,做出危险决策(例如,加速通过或紧急变道)
  • 最终后果:自车与障碍物发生碰撞
  • 核心洞见:攻击者不需要完全欺骗感知系统,只需要制造"看起来合理但实际上错误"的感知输出,下游的轨迹预测和规划模块就会自动将其放大为灾难性错误。这种"误差放大效应"是本文最重要的理论贡献。


    2 攻击方法详解

    2.1 攻击的整体思路:三步攻击链

    作者设计的攻击分为三个关键步骤,形成了一个完整的攻击链:

    第一步:注入虚假LiDAR点云

    • 使用定制化的激光发射装置,向受害车辆的LiDAR传感器发射特定模式的激光脉冲
    • 这些脉冲在LiDAR的点云数据中形成虚假的反射点,模拟出实际不存在的障碍物或改变真实障碍物的位置信息
    • 攻击者可以精确控制虚假点的空间分布,使其在点云可视化中难以被肉眼察觉

    第二步:诱导感知错误

    • 虚假点云与真实点云混合后,被送入基于深度学习的3D目标检测器(如PointPillars或CenterPoint)
    • 检测器在处理被污染的点云时,会产生位置偏移的检测框
    • 关键点:偏移量通常在2-5米范围内,这个距离足够小以避免触发异常检测,但又足够大以影响轨迹预测

    第三步:触发轨迹预测错误

    • 轨迹预测模型接收带有位置误差的感知结果作为输入
    • 由于轨迹预测模型的时间依赖性,微小的位置误差会在时间维度上被指数级放大
    • 最终导致预测的轨迹与真实轨迹严重偏离,进而引发危险的规划决策

    图1:三步攻击链示意图。从LiDAR注入到最终碰撞的完整流程。

    2.2 为什么选择轨迹预测作为攻击目标?

    作者选择轨迹预测而非直接攻击规划模块,基于两个关键考虑:

    (1)轨迹预测的枢纽地位 轨迹预测模块在自动驾驶栈中处于承上启下的关键位置:

    • 上游依赖:接收感知模块的输出(检测框、跟踪ID、速度等)
    • 下游影响:为规划模块提供未来场景的预测,直接影响路径规划决策
    • 攻击杠杆效应:攻击轨迹预测可以同时影响感知和规划两个层面,实现最大的攻击影响面

    (2)轨迹预测的脆弱性 轨迹预测模型对输入扰动具有特殊的敏感性:

    • 时间维度放大:微小的初始位置误差会在预测的时间窗口内被不断放大
    • 非线性响应:轨迹预测通常基于RNN、Transformer或GNN等复杂模型,这些模型对输入扰动高度敏感
    • 多模态不确定性:轨迹预测需要处理未来不确定性,这为攻击者创造了可乘之机

    图2:轨迹预测模块在自动驾驶栈中的位置及其脆弱性分析。

    2.3 攻击的数学形式化:串联优化问题

    作者将攻击建模为一个端到端的优化问题:

    min

    ⁡

    δ

    E

    s

    ∼

    S

    [

    L

    t

    r

    a

    j

    (

    f

    p

    r

    e

    d

    (

    f

    p

    e

    r

    c

    (

    P

    +

    δ

    )

    )

    ,

    y

    t

    a

    r

    g

    e

    t

    )

    ]

    +

    λ

    ⋅

    R

    (

    δ

    )

    \\min_{\\delta} \\mathbb{E}_{s \\sim S} \\left[ L_{traj}(f_{pred}(f_{perc}(P + \\delta)), y_{target}) \\right] + \\lambda \\cdot R(\\delta)

    δmin​Es∼S​[Ltraj​(fpred​(fperc​(P+δ)),ytarget​)]+λ⋅R(δ)

    其中各符号含义如下:

    • δ

      \\delta

      δ:要优化的虚假点云扰动,需要满足物理可实现性约束

    • S

      S

      S:所有可能的物理场景分布(包括距离、角度、光照、天气等条件)

    • f

      p

      e

      r

      c

      f_{perc}

      fperc​:感知模块函数,将原始点云

      P

      P

      P映射到检测框

    • f

      p

      r

      e

      d

      f_{pred}

      fpred​:轨迹预测模块函数,将检测框序列映射到未来轨迹

    • y

      t

      a

      r

      g

      e

      t

      y_{target}

      ytarget​:攻击者期望诱导的错误轨迹(如向左变道轨迹)

    • L

      t

      r

      a

      j

      L_{traj}

      Ltraj​:轨迹损失函数,衡量预测轨迹与目标轨迹的差异

    • R

      (

      δ

      )

      R(\\delta)

      R(δ):正则化项,确保扰动

      δ

      \\delta

      δ的隐蔽性(如限制扰动点数)

    • λ

      \\lambda

      λ:权衡参数,平衡攻击效果与隐蔽性

    技术难点与创新点:

  • 梯度传播:需要同时通过感知模块

    f

    p

    e

    r

    c

    f_{perc}

    fperc​和轨迹预测模块

    f

    p

    r

    e

    d

    f_{pred}

    fpred​进行梯度反向传播

  • 物理约束:扰动

    δ

    \\delta

    δ必须满足LiDAR的物理特性(如反射强度、角度限制)

  • 场景泛化:优化需要在多种场景

    s

    ∼

    S

    s \\sim S

    s∼S下有效,而不仅仅是单一场景

  • 图3:攻击优化问题的数学框架与梯度传播路径。


    3 实验设置:严谨的评估框架

    3.1 仿真平台:CARLA

    作者选择CARLA仿真器作为实验平台,原因如下:

    • 高保真物理模拟:CARLA能够精确模拟LiDAR的点云生成、车辆动力学、传感器噪声等
    • 可重复性:在仿真环境中可以精确控制实验条件,确保结果的可重复性
    • 安全性:避免了真实道路测试的伦理和法律风险
    • 社区支持:CARLA拥有活跃的开源社区和丰富的预构建场景

    技术细节:实验使用CARLA 0.9.13版本,在Ubuntu 20.04系统上运行,配备NVIDIA RTX 3090 GPU。所有代码已开源:https://github.com/carla-simulator/carla

    3.2 被攻击的系统配置

    作者构建了一个完整的自动驾驶栈作为攻击目标:

    感知模块:

    • 检测器1:PointPillars,基于VoxelNet的轻量级3D检测器
    • 检测器2:CenterPoint,基于CenterNet的anchor-free检测器
    • 输入:64线LiDAR点云,范围[-70m, 70m] × [-70m, 70m] × [-4m, 2m]
    • 输出:3D边界框(位置、尺寸、朝向、类别)

    轨迹预测模块:

    • 模型架构:基于Transformer的编码器-解码器结构
    • 训练数据:Argoverse 2.0数据集,包含超过250,000个场景
    • 输入:过去2秒的历史轨迹(10帧,0.2秒/帧)
    • 输出:未来3秒的轨迹预测(6种可能轨迹及其概率)

    规划与控制模块:

    • 规划器:基于优化的轨迹规划器,考虑安全性、舒适性、效率
    • 控制器:PID控制器,执行规划出的轨迹

    3.3 评估指标体系

    为了全面评估攻击效果,作者定义了三个层次的评估指标:

    (1)攻击成功率(Attack Success Rate, ASR)

    • 定义:轨迹预测输出与攻击目标轨迹的匹配程度超过阈值(如90%)的比例
    • 计算:

      A

      S

      R

      =

      1

      N

      ∑

      i

      =

      1

      N

      I

      [

      L

      t

      r

      a

      j

      (

      y

      p

      r

      e

      d

      i

      ,

      y

      t

      a

      r

      g

      e

      t

      )

      <

      τ

      ]

      ASR = \\frac{1}{N}\\sum_{i=1}^N \\mathbb{I}[L_{traj}(y_{pred}^i, y_{target}) < \\tau]

      ASR=N1​∑i=1N​I[Ltraj​(ypredi​,ytarget​)<τ]

    • 意义:衡量攻击在诱导特定错误轨迹方面的有效性

    (2)碰撞率(Collision Rate, CR)

    • 定义:攻击导致自车与障碍物发生碰撞的比例
    • 计算:在100次独立攻击试验中统计碰撞次数
    • 意义:最关键的指标,直接反映攻击的实际危害性

    (3)扰动隐蔽性(Perturbation Stealthiness)

    • 虚假点云比例:注入的虚假点数占总点数的百分比(2%-5%)
    • 视觉不可察觉性:人工评估点云可视化中能否发现异常
    • 异常检测逃逸率:能否逃逸基于统计的异常检测算法

    4 实验结果与分析

    4.1 主要实验结果:

    作者在三种典型驾驶场景下进行了大规模实验,结果如下表所示:

    场景类型攻击成功率(ASR)碰撞率(CR)平均扰动比例
    直道跟车 78% 63% 3.2%
    交叉路口 71% 52% 4.1%
    变道场景 82% 58% 2.8%

    关键发现:

  • 直道跟车场景最脆弱:碰撞率高达63%,意味着每10次攻击中超过6次会导致碰撞
  • 攻击成功率与碰撞率正相关:ASR越高,CR也越高,但并非严格线性关系
  • 扰动比例极低:仅需污染2%-5%的点云即可实现高碰撞率
  • 63%碰撞率的现实意义:这个数字远超出了学术研究中常见的"概念验证"范畴。在真实的自动驾驶部署中,如果攻击者能够以63%的概率导致车辆碰撞,这已经构成了严重的安全威胁。论文用硬数据证明了LiDAR注入攻击不是理论威胁,而是实际风险。

    4.2 扰动的隐蔽性分析

    定量分析:

    • 虚假点云占比:2%-5%,在点云统计特征上难以区分
    • 空间分布:虚假点均匀分布在真实障碍物周围,避免形成明显的异常簇
    • 反射强度:攻击者可以模拟真实材料的反射特性,进一步增加隐蔽性

    定性分析:

    • 视觉检查:即使经验丰富的工程师也难以在点云可视化中识别攻击
    • 时序一致性:攻击保持时间连续性,避免出现"闪烁"等明显异常
    • 物理合理性:虚假点的运动符合物理规律,不会出现"瞬移"等非物理现象

    4.3 与直接攻击感知的对比实验

    为了证明攻击轨迹预测的价值,作者设计了对比实验:

    实验组:完整攻击链(感知→预测→规划)

    • 碰撞率:63%
    • 攻击成本:需要同时优化感知和预测两个模块
    • 攻击效果:诱导特定的危险行为(如错误变道)

    对照组:仅攻击感知模块(让检测框偏移)

    • 碰撞率:18%
    • 攻击成本:只需优化感知模块
    • 攻击效果:主要导致漏检或误检,较少引发特定危险行为

    对比分析:

  • 效果差异:完整攻击链的碰撞率是仅攻击感知的3.5倍
  • 机制差异:仅攻击感知主要造成"看不见"(漏检)或"看错对象"(误检);攻击轨迹预测则造成"看错了还按错的行动"
  • 安全意义:攻击深度越深,危害性越大。轨迹预测层的攻击能够诱导特定的危险行为,而不仅仅是随机的感知错误
  • 深度攻击的价值:这个对比实验清晰地展示了攻击深度的重要性。停留在感知层的攻击虽然容易实施,但危害有限;而深入到预测规划层的攻击虽然技术难度更高,但能够造成更精确、更危险的后果。这为自动驾驶安全研究指明了新的方向:不能只关注感知安全,必须建立端到端的安全防御体系。


    5 复现指引:从零开始搭建攻击环境

    5.1 环境准备:详细步骤

    论文代码已开源:https://github.com/cluo314/Phys-Attack-Trajectory-Prediction

    第一步:安装CARLA仿真器(0.9.13版本)

    # 1. 下载CARLA 0.9.13(约4.5GB)
    wget https://carla-releases.s3.us-east-0.amazonaws.com/Linux/CARLA_0.9.13.tar.gz

    # 2. 解压到指定目录
    mkdir -p ~/carla_sim
    tar -xzf CARLA_0.9.13.tar.gz -C ~/carla_sim

    # 3. 设置环境变量
    echo 'export CARLA_ROOT=~/carla_sim/CARLA_0.9.13' >> ~/.bashrc
    echo 'export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla/dist/carla-0.9.13-py3.7-linux-x86_64.egg:${CARLA_ROOT}/PythonAPI/carla' >> ~/.bashrc
    source ~/.bashrc

    # 4. 安装依赖
    sudo apt-get update
    sudo apt-get install -y libomp5 libgl1-mesa-glx libgl1-mesa-dri

    第二步:克隆论文代码并配置环境

    # 1. 克隆论文仓库
    git clone https://github.com/cluo314/Phys-Attack-Trajectory-Prediction.git
    cd Phys-Attack-Trajectory-Prediction

    # 2. 创建conda环境(Python 3.8)
    conda create -n carla_attack python=3.8 -y
    conda activate carla_attack

    # 3. 安装PyTorch(根据CUDA版本选择)
    # CUDA 11.3
    pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 –extra-index-url https://download.pytorch.org/whl/cu113

    # 4. 安装其他依赖
    pip install -r requirements.txt
    pip install carla==0.9.13 # 可能需要从源码编译

    第三步:下载预训练模型和数据集

    # 1. 下载Argoverse 2.0数据集(需要申请权限)
    # 访问 https://www.argoverse.org/av2.html 申请下载

    # 2. 下载预训练的轨迹预测模型
    wget https://github.com/cluo314/Phys-Attack-Trajectory-Prediction/releases/download/v1.0/traj_predictor.pth

    # 3. 下载预训练的3D检测器
    wget https://github.com/cluo314/Phys-Attack-Trajectory-Prediction/releases/download/v1.0/pointpillars.pth

    硬件要求与注意事项:

    • GPU:至少RTX 3080(10GB显存),推荐RTX 4090(24GB显存)
    • 内存:32GB以上
    • 存储:100GB可用空间(CARLA+数据集)
    • 系统:Ubuntu 20.04/22.04,Windows需要WSL2
    • 常见问题:CARLA对NVIDIA驱动版本敏感,建议使用Driver 525+;如果遇到OpenGL错误,尝试安装libglvnd-dev

    5.2 运行攻击:完整流程

    第一步:启动CARLA服务器

    # 在新终端中启动CARLA服务器
    cd ~/carla_sim/CARLA_0.9.13
    ./CarlaUE4.sh -quality-level=Low -RenderOffScreen

    第二步:运行基准攻击实验

    # 运行完整的攻击评估
    python run_attack.py \\
    –scenario following \\ # 场景:跟车行驶
    –detector pointpillars \\ # 检测器
    –target_offset 2.0 \\ # 目标偏移量(米)
    –perturb_ratio 0.03 \\ # 扰动比例(3%)
    –trials 100 # 试验次数

    第三步:观察攻击效果

    攻击运行时,你可以在CARLA可视化窗口中观察到:

  • 自动驾驶车辆正常行驶一段时间
  • 攻击者在特定时刻注入虚假LiDAR点云
  • 感知模块的检测框发生微小偏移(2-3米)
  • 几秒后,轨迹预测输出错误轨迹,规划模块做出危险决策
  • 第四步:分析实验结果

    # 实验结果将保存在 results/ 目录下
    # 包括碰撞统计、轨迹偏差、视觉化图表等
    python analyze_results.py –exp_dir results/following_exp_1

    实验输出示例:

    === Attack Results Summary ===
    Total trials: 100
    Collision rate: 63%
    Avg trajectory deviation: 3.2m
    Avg perturbation ratio: 3.1%
    Success rate (ASR): 78%
    ==============================


    6 防御策略与未来方向

    6.1 现有防御的不足

    目前自动驾驶系统的安全防御主要集中在以下几个层面,但都不足以防御本文提出的攻击:

    (1)感知层防御

    • 点云滤波:能过滤明显的异常点,但攻击的虚假点云与真实点云混合,难以区分
    • 对抗训练:能提升检测器对扰动的鲁棒性,但对本文这种通过预测层放大的攻击效果有限
    • 多传感器融合:摄像头+LiDAR融合可以交叉验证,但攻击者可以同时攻击多个传感器

    (2)系统层防御

    • 异常检测:基于统计的异常检测难以识别2%-5%比例的虚假点
    • 冗余验证:部署多个异构检测器可以提升鲁棒性,但会增加计算成本
    • 安全监控:现有的安全监控主要关注已知攻击模式,对新型攻击响应滞后

    6.2 本文提出的防御方向

    作者在论文中提出了几个面向未来的防御方向:

    (1)端到端安全验证

    • 建立覆盖感知-预测-规划全链的安全测试框架
    • 在系统集成层面而非单一模块层面评估攻击影响
    • 开发针对"级联误差"的监控与熔断机制

    (2)轨迹预测鲁棒性

    • 对轨迹预测模块进行专门的对抗训练
    • 在预测模型中加入不确定性量化,识别异常输入
    • 开发对位置偏移不敏感的轨迹表示方法

    (3)物理层防御

    • LiDAR硬件层面的异常检测(如反射强度谱分析)
    • 车联网(V2X)合作感知,通过多车交叉验证检测异常
    • 传感器自诊断与健康管理系统

    7 论文局限性与真实世界部署

    7.1 局限性分析

    尽管论文取得了显著成果,但仍存在以下局限:

    维度局限性影响
    攻击场景 仅测试了单障碍物场景 真实道路常有多障碍物,攻击效果未知
    传感器 仅攻击LiDAR 实际车辆融合多种传感器,可以相互纠错
    攻击设备 假设攻击者具有精确的激光发射装置 物理实现难度较高,需要校准和同步
    仿真到真实 CARLA仿真与真实道路存在差距 真实环境可能有不同的误差传播特性

    7.2 从仿真到真实道路的挑战

    将本文的攻击方法从仿真迁移到真实道路,攻击者需要克服以下挑战:

  • 设备部署:需要精确控制激光束的方向和功率,实现难度高
  • 动态校准:攻击对象在高速移动,需要实时调整攻击参数
  • 环境干扰:真实环境中的光照、天气、其他车辆等因素会影响攻击效果
  • 法律风险:在真实道路上实施攻击涉嫌危害公共安全

  • 8 总结与启示

    8.1 核心贡献总结

    本文的核心贡献可以归纳为三点:

  • 发现了"误差放大效应":感知层的微小误差会被轨迹预测模块放大为灾难性后果,这是对自动驾驶安全理论的重大补充
  • 建立了端到端攻击框架:首次将攻击建模为同时优化感知和预测模块的串联优化问题,为后续研究奠定了基础
  • 提供了可复现的实验平台:所有代码、模型、数据均已开源,降低了后续研究的门槛
  • 8.2 对研究者与从业者的建议

    对研究者:

    • 跳出单一模块的安全思维,从系统层面审视自动驾驶安全
    • 关注模块间的级联失效问题,这可能比单一模块漏洞更具威胁
    • 建立更多的开源攻击与防御测试平台,推动社区共同进步

    对从业者:

    • 在安全测试中纳入"级联攻击"场景,不能只测试单一模块
    • 重视轨迹预测模块的鲁棒性,它与感知模块同样重要
    • 考虑部署端到端的安全监控系统,及时发现异常

    本文是我们专栏第三篇论文精读,系列文章持续更新中。下一篇我们将深入探讨另一种传感器注入攻击(GNSS欺骗),敬请期待。


    参考文献

    [1] Lou Y, Zhao Z, Zhu H, et al. A First Physical-World Trajectory Prediction Attack via LiDAR-Induced Deceptions[C]. USENIX Security Symposium, 2024.

    [2] CARLA Simulator. https://carla.org/

    [3] PointPillars: Fast Encoders for Object Detection from Point Clouds. CVPR, 2019.

    [4] CenterPoint: 3D Object Tracking with Transformer-Based Detection. ECCV, 2020.

    [5] Cao Y, Xiao C, Yang Q, et al. Invisible for Both Camera and LiDAR: Security of Multi-Sensor Fusion Perception Systems. USENIX Security, 2022.

    [6] Sun J, Xiong W, Yu Z, et al. Adversarial Attacks Against LiDAR Semantic Segmentation. CVPR, 2023.

    赞(0)
    未经允许不得转载:171主机测评 » 对抗攻击实操入门(三):精读 USENIX Security 2024,首个物理世界轨迹预测攻击,LiDAR诱导欺骗如何导致63%碰撞率
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址