[レポート]ドライブをアンロックする:テスラ・モデル3の攻略 – CODE BLUE 2023 #codeblue_jp

CODE BLUE 2023で行われた「ドライブをアンロックする:テスラ・モデル3の攻略​」というセッションのレポートです。
2023.11.09

CODE BLUE 2023で行われた以下のセッションのレポートです。

ドライブをアンロックする:テスラ・モデル3の攻略

近年、自動車業界ではコネクテッド・テクノロジーの採用が進み、最新の自動車に潜在する脆弱性やセキュリティ上の脅威に対する懸念が高まっています。電気自動車業界のパイオニアであるテスラ社も、この脅威から免れることはできませんでした。本発表では、Pwn2Own Vancouver 2023で使用されたSynacktivの研究を詳細に解説します。

この発表では、Tesla Model 3を侵害するために使用された、リモートアクセスからセキュリティゲートウェイの乗っ取りに至る、3つのバグチェーンについて説明します。私たちはBluetooth リモートコード実行(RCE)、カーネル ローカル権限昇格(LPE)、セキュリティゲートウェイのRCEという、3 つの主要な攻撃部分を開発します。

最初のステップでは、Tesla Model 3のBluetoothスタックの脆弱性を悪用し、サンドボックス化されたサービスで車両へのリモートアクセスを可能にします。バグの技術的詳細とその悪用について解説します。

次に、Linuxドライバーの脆弱性を利用して、カーネルでのローカル権限昇格を行い、車両のインフォテインメント・オペレーティング・システム内で、権限昇格する方法を説明します。このステップにより、サンドボックスの外でコードを実行できるようになり、車両のインフォテインメントシステムの制御がさらに強化されました。

最後に、セキュリティゲートウェイに対するリモートコード実行(RCE)について説明します。この脆弱性を利用して、セキュリティ機構を効果的に回避し、最終的には複数のCANバスにまたがるCAN通信を完全に乗っ取りました。

発表では、これらの脆弱性を発見し、悪用するために使用された方法論についての考察も行います。また、このようなセキュリティ侵害がもたらす潜在的な影響についても議論し、コネクテッドカーにおける強固なサイバーセキュリティ対策の重要性についてお話します。

Presented by : ヴィンセント・ドゥオール - Vincent Dehors デヴィッド・ベラール - David Berard

レポート

    • 講演者について
      • SYNACKTIV所属のセキュリティスペシャリスト
      • ふたりともリバースエンジニアリングチーム所属
    • Pwn2Ownについて
      • ZDIによるコンペティション
      • 来年1月には東京で開催
      • 自動車を標的とする
      • 2022年のPwn2Ownでも脆弱性を見つけた
      • 今回の講演は2023年のPwn2Ownでの成果
    • Pwn2Own 2023への取り組み
      • 調査は2022年の12月から始めた
      • 開催1ヶ月前に権限昇格の脆弱性を見つけた
      • PoCを開催日直前に作成
    • テスラの車のアーキテクチャ
      • Security GatewayでMultimedia domainとVehicle domainが分離されている
        • エンターテイメント用の機能はMultimedia domainにあり、そちらに問題があっても車の重要な機能に影響がないようにしている
    • テスラのInfotainment ECU
      • IntelかAMD製のSoC、Gateway、WiFiなどがあり、CANバスに接続するインターフェイスなどがある
    • ハードウェアの用意
      • 車の用意は難しいので、Infotainment ECUのボードを複数枚用意
    • 攻撃の概要
      • 車内のBluetoothから、bsa_serverというプロセスへアクセス
    • なぜbsa_serverをターゲットにしたか?
      • 大きなAttack Surface
      • クローズドソースのため脆弱性がある可能性が高い など
    • 以下の経路でMultimedia domainからVehicle domainへ侵入
      • Bluetoothでオーディオのプレイバックを行うプロトコル(BIP)の脆弱性を突いてStage1Payloadをbsa_serverへ
      • bsa_serverに仕込んだStage1 PayloadをHCI経由でBluetoothファームウェアへ送り、BluetoothとWiFIファームウェアのShare memoryにStage2 Payloadを仕込む
      • WiFiファームウェア経由でカーネルスタックの脆弱性を突いてStage3のペイロードをユーザーランドに送り込む
      • 脆弱性を突いてSecurity GatewayにStage4のペイロードを送り込む
    • テスラは素早くこの脆弱性に対処した

感想

    • 攻撃の詳細はメモしきれなかったので、若干抽象的なメモとなってしまいましたが、実際のセッションは車という閉じられた環境へのexploitをどのように考えて行うか詳細を話されていて非常に勉強になりました。車の脆弱性を外部から突かれてしまうと大きな事故につながりかねないので、こうした試みは非常に重要ですね。