Tesla車両のジェイルブレイク:ファームウェアのパッチ適用と電圧グリッチングによる機能解放

2023年9月12日
CyberThreat Research Lab
Tesla車両のジェイルブレイク:ファームウェアのパッチ適用と電圧グリッチングによる機能解放

By Omar Yang (Senior Threat Researcher, Automotive)

半導体企業AMD社のセキュリティ機構の精査していたベルリン工科大学の調査チームは、今回、Teslaの車載インフォテインメント(IVI)システムの調査にも取り組みました。調査成果は、技術分野のセキュリティ問題に対処するイベントBlack Hat USAで発表されました。この研究により、Tesla車のIVIシステムを利用して任意のコードやコマンドを実行し、車両の設定を変更(有料機能の解除を含む)し、システム内の保存された認証情報にアクセスする能力が明らかになりました。

このようなジェイルブレイクには、いくつかの前提条件が必要となっています。実際はTesla社では、ファームウェアやオペレーティングシステムの署名、ブートプロセス中の信頼の連鎖、AMD社製のシステムオンチップ(SoC)内での信頼の根源の確立など、セキュリティ機構を強化しています。

起動プロセスと信頼による連携

この調査の主な目的は、ルートファイルシステム(root FS)内でルートシェルにアクセスすることでした。この目標を達成するには複数のアプローチがありますが、すべてルートFSファームウェアの変更を必要とします。起動シーケンスのファームウェアを一部変更すると、起動プロセスに支障が生じます。変更されたファームウェアは固有のハッシュ値を生成し、これは前段階で保存された予想される値と一致しなくなります。

これはセキュアブートの特徴の一部で、現代のほとんどのシステムで広く採用されている重要なセキュリティ機構です。セキュアブートは、暗号アルゴリズムを利用して実行予定のプログラムの整合性を検証し、不正なコードの実行を防ぐ役割を果たします。Tesla社はこの技術の初期の支持者であり、特にそのメディアコントロールユニット(MCU)の初代モデル、MCU0での実装において、この技術を積極的に採用しています。

図1:TeslaのIVIシステムの起動プロセス。一部のファームウェアはSPIフラッシュ、他はNVMe SSDに格納
リサーチペーパー「Jailbreaking an Electric Vehicle in 2023(2023年 電気自動車のジェイルブレイキング」より

調査チームは、起動シーケンスの最後の要素から逆順に進み、全てのファームウェアコンポーネントへのパッチ適用に成功しました。しかし、信頼の基点となるROMブートローダーに取り組む際に障壁に直面しました。このコンポーネントはAMDのセキュアプラットフォーム(SP)内のCPU SoCのハードウェアレベルに統合されており、単純なパッチ適用は困難となっています。

図2:AMDのSP内のROMブートローダーには単純なパッチは適用できない
リサーチペーパー「Jailbreaking an Electric Vehicle in 2023(2023年 電気自動車のジェイルブレイキング」より

この時点で、CPU電圧グリッチングという代替手法が用いられました。この方法の場合、ブートロードの初期段階で次のブートローダーを検証する際に、CPUに電圧のグリッチを発生させる可能性を探りました。このグリッチを比較処理の重要なタイミングで引き起こすことで、CPUは検証手順をスキップし、次のブートローダーが読み込まれるようになります。

図3:CPU電圧グリッチング機能の簡単な例
リサーチペーパー「Jailbreaking an Electric Vehicle in 2023(2023年 電気自動車のジェイルブレイキング」より


電圧グリッチング

電圧グリッチングは、チップに供給される電圧を特定の期間だけ一時的に下げるフォールトインジェクション技術です。レーザーや電磁干渉(EMI)などの他のフォールトインジェクション手法も、チップの動作環境を変えることを目的としています。最大の課題は、これらのグリッチの多くが効果がなかったり、システムの停止や顕著な影響が見られなかったりすることです。そのため、調査チームは、チップに生じるグリッチを正確な電圧降下と上昇の速度で完璧にタイミングを合わせる必要があります。さらに、最新のプロセッサは最適化のために命令を非順序で実行することがあり、これが攻撃技術の複雑さを増加させます。

図4:電圧グリッチング
リサーチペーパー「Jailbreaking an Electric Vehicle in 2023(2023年 電気自動車のジェイルブレイキング」より

電圧グリッチングが成功し、チップ外のブートローダーの検証を回避すると共にパッチを適用したファームウェアと連携することで、研究チームはルートシェルへのアクセスを実現しました。これにより、任意のコードの実行や、ソフトウェアでロックされた機能(例えばシートヒーティングなど)の有効化といった設定の操作が可能になりました。

電圧グリッチングには持続性がなく、再起動の度に実施する必要があることに注意が必要です。しかし、Tesla車両のシステム構造では、設定を変更することが必ずしもファームウェアの変更を意味するわけではありません。言い換えれば、アンロックされた機能は再起動後も維持されます。

Tesla車両および所有者の機密情報の窃取

信頼の基点として機能するAMD SPのセキュリティを侵害し、Tesla車両の設定を操作することに加え、今回調査チームは、車両とその所有者の認証情報を暗号化するチップ固有の機密情報の窃取も実証しました。

Tesla車両の認証情報は、車両をTeslaのサーバーに認証させるために使用され、ファームウェアの更新や設定調整などの操作を実行します。一方、所有者の個人情報には、電話帳エントリー、カレンダーデータ、過去の位置情報記録、さらにアクティブなサービスクッキーやセッションなどの多岐にわたる機密情報が含まれており、これにはGmailなどのプラットフォームも含まれています。

被害の影響について

テスラは、チップ上での信頼性を高めるための厳格なセキュリティ対策、特に信頼による連携と基本的な信頼体系を徹底的に実装しています。しかし、今回の調査ではハードウェア領域からの新たな攻撃方法が明らかにされました。このため、発見された脆弱性やエクスプロイトは、従来のソフトウェアパッチでは対処できないことが分かります。Tesla車両をジェイルブレイクするには特殊なハードウェアとカスタムファームウェアが必要で、起動プロセスの詳細な理解が求められます。

こうしたTesla車両のジェイルブレイクは、非公式な手段で機能を解放する市場を生み出す可能性がありますが、今のところ、その実現は非常に複雑な作業になることも予測されます。

緩和策

調査チームがプレゼンテーションで強調した通り、電圧グリッチングはソフトウェアベースのパッチでは対応できないという事実を理解することが重要です。グリッチ自体を直接軽減するのは難しいかもしれませんが、ゼロトラストの考え方を採用することは、その後のセキュリティ妥協を防ぐ上で効果的です。厳格な再認証要求などの対策を導入することで、セキュリティは大幅に強化されます。

さらに、電圧グリッチングのようなハードウェアベースの攻撃への認識をファームウェアやソフトウェアの開発プロセスに組み込むことにより、この種の攻撃や類似の脆弱性悪用に対する防御機構を大きく強化することができます。開発段階でこれらの脆弱性に積極的に取り組むことで、システムの総合的な回復力を大きく向上させることが可能です。

コネクテッドカーにおける他の潜在的な脆弱性についての研究やセキュリティ対策に関するさらなる詳細は、VicOne公式サイトのリソースをご参ください。

<

自動車業界のお客さまのサイバーセキュリティを加速させるために

デモの依頼