<aside> 💡

いろいろなページへのリンクが貼ってあります。筆者(laysakura)が執筆した記事のアウトラインは下記ブログ記事にまとめているのでご参照ください。

https://laysakura.github.io/2024/10/25/automotive-security-notes/

</aside>

自動車ハックのフロー

CANバスを使った自動車への攻撃手順の鳥瞰図を描く。大まかには↓の2フェーズに分かれる。

CANバスを使わない攻撃もあり得るが、その場合でも一部参考になると期待する。

フローチャート

<aside> 🔍

凡例

graph TB

  subgraph G1["G1: 施錠された車 (IG-OFF)"]
    G1-a1["`G1-a1: 解錠`"]
  end
  G1-a1-->G3
  
  subgraph G2["G2: 施錠された車 (IG-ON)"]
    G2-a1["`G2-a1: 解錠`"]

    G2-a2["`G2-a2: 外装破壊
            -> CANバス物理接続
            **[初期侵入]**`"]
    G2-a3["`G2-a3: CANで解錠`"]

    G2-a4["`G2-a4: ECU(IVI,テレマ,etc)のシェル奪取
            -> 権限昇格
            -> CANバス論理接続
            **[初期侵入]**`"]
    
    G2-a2-->G2-a3
    
    style G2-a2 fill:#ff0
    style G2-a4 fill:#ff0
  end
  G2-a1-->G4
  G2-a3-->G4
  G2-a4-->G2-a3
  
  subgraph G3["G3: 解錠された車 (IG-OFF)"]
    G3-a1["`G3-a1: IG-ON`"]
  end
  G3-a1-->G4

  subgraph G4["G4: 解錠された車 (IG-ON)"]

    G4-a1["`G4-a1: OBD2ポートに物理接続
            **[初期侵入]**`"]

    G4-c1{"`攻撃対象ECUにCAN受送信できる?`"}

    G4-a2["`G4-a2: 内装破壊
            -> CANバス物理接続
            **[初期侵入]**`"]

    G4-dummy1{{"攻撃開始"}}

    G4-a1-->G4-c1
    G4-c1-->|Yes|G4-dummy1
    G4-c1-->|No|G4-a2
    G4-a2-->G4-c1
            
    style G4-a1 fill:#ff0
    style G4-a2 fill:#ff0
  end 
  G4-dummy1-->G5

  subgraph G5["G5: 攻撃対象ECUに初期侵入済"]
    direction TB
  
    G5-a1["`G5-a1: CANでECU・車体操作
            **[攻撃]**`"]
    G5-a2["`G5-a2: UDSで情報収集`"]
    G5-a3["`G5-a3: 診断ツールのリバースエンジニアリング`"]
    G5-a4["`G5-a4: UDSのSecurityAccess突破`"]
    G5-a5["`G5-a5: UDSでファームウェアダンプ
            **[攻撃]**`"]
    G5-a6["`G5-a6: UDSでファームウェア更新
            **[攻撃]**`"]

    G5-a7["`G5-a7: ECU外装破壊`"]
    G5-a8["`G5-a8: デバッグ回路接続`"]
    G5-a9["`G5-a9: 回路からファームウェアダンプ
            **[攻撃]**`"]
    G5-a10["`G5-a10: 回路からファームウェア更新
            **[攻撃]**`"]
            
    G5-a2-->G5-a4
    G5-a3-->G5-a4
    G5-a4-->G5-a5
    G5-a4-->G5-a6
    
    G5-a7-->G5-a8
    G5-a8-->G5-a9
    G5-a8-->G5-a10
    
    G5-a9-->G5-a4

    style G5-a1 fill:#f88
    style G5-a5 fill:#f88
    style G5-a6 fill:#f88
    style G5-a9 fill:#f88
    style G5-a10 fill:#f88
  end

行動の詳細

[G1-a1, G2-a1, G3-a1] 解錠

[G2-a2] 外装破壊 → CANバス物理接続

[G2-a4] ECUのシェル取得 → PrivEsc → CANバス論理接続

[G2-a3] CANで解錠