自動車イノベーションの中で進化する脆弱性発見:EV充電器脆弱性を狙う攻撃シナリオ

2024年1月19日
VicOne
自動車イノベーションの中で進化する脆弱性発見:EV充電器脆弱性を狙う攻撃シナリオ

By Jonathan Andersson (Senior Manager – Security Researcher, Zero Day Initiative)

この2部構成のブログシリーズでは、脆弱性の発見がいかに重要か、そして脆弱性が迅速に対処されない場合に生じる潜在的なサイバー脅威を明らかにする3つの攻撃シナリオを検討します。第1回の本稿では、これらの攻撃シナリオのうち2つに注目し、トレンドマイクロのゼロデイイニシアチブ(ZDI)プログラムに所属するリサーチャーたちが電気自動車(EV)充電器の分野で行った調査について解説します。ZDIは、今回初めて開催されるPwn2Own AutomotiveでVicOneと共同ホストを務めます。

自宅用EV充電器からのファームウェア抽出

この最初の攻撃シナリオでは、物理的にアクセスできる自宅用EV充電器からファームウェアを抽出する方法を示します。ファームウェアの抽出は、デバイスに関するさらなる調査を実施する際、セキュリティ上の欠陥を見つける上で最初の重要なステップです。

ファームウェアは一般的にNANDのような永続的なメモリデバイスに保存されています。そのため、抽出過程では、デバイスのメモリに保存されたファームウェアイメージが読み取られてコピーされます。これを行うために、プリント基板で広く使用される業界標準のプロトコルであるJTAGが使用されます。JTAGはデバイスのメモリに直接アクセスでき、これにより、リサーチャー(または潜在的な攻撃者)が暗号化や認証などの保護機構を迂回することが可能となります。

この攻撃シナリオではデバイスへの物理的アクセスが必須となります。デバイスへのアクセスを得ると、Atmel CPU、シリアルコンソール、NANDフラッシュ、JTAGデバッグポートが見つけられます。さらに、ファームウェアを抽出するために必要な全ての情報も収集されます。そしてブートローダとLinuxコンソールから得られた重要情報に基づき、NAND内の各パーティションの開始および終了のアドレスが確認されます。

ファームウェア抽出プロセス

図1:ファームウェア抽出プロセス


JTAGツールを使用することで、充電器との通信が可能になります。図2に示されているように、最初にJTAGulatorを用いてJTAGインターフェースを検証し、各ピンの機能を特定します。

ターゲットユニットに接続されたJTAGulator

図2:ターゲットユニットに接続されたJTAGulator


その後、ターゲットCPUとデバッグソフトウェアツールをつなぐためにJLinkツールを使用します。このツールは、プロセッサの開始や停止、実行中のブレークポイント設定、メモリやCPUレジスタの値の表示および設定が可能なデバッグソフトウェアを使用するために重要です。最終的にデバッガーを使って、ターゲットのCPUを操作し、ファームウェアを抽出することができます。

ターゲットユニットに接続されたJLinkデバッガー

図3:ターゲットユニットに接続されたJLinkデバッガー


この段階から、収集した情報を活用してブートローダ内のnand_loadimage関数の実行をコントロールします。CPUが特定のブレークポイントに達した際には、レジスタを操作してブートローダがNAND内のファームウェアをSRAM内のバッファへコピーするようにします。その後、JTAGツールを使ってこれをファイルに保存し、さらに分析するために用います。

今回は6台のEV充電器を調査しましたが、そのどれもでファームウェアの暗号化が採用されておらず、JTAGアクセスの無効化や難読化を試みている例もほんの一部でした。これらのセキュリティギャップを埋めるためには、両方でのセキュリティ戦略の実施が必要でしょう。

特権昇格関連の脆弱性悪用

第2の攻撃シナリオでは、EV充電器コントローラーにおけるローカルでの特権昇格関連の脆弱性悪用事例を示します。ここでの目的は、ローカルユーザーアカウントがルートアクセスを得られるかどうかを確認することです。

脆弱性悪用のプロセス

図4:脆弱性悪用のプロセス


この攻撃シナリオで使用されるデバイスには、ローカルのユーザーアカウントが搭載されています。このローカルユーザーアカウントにより、ルートで実行されるシステムレポートを出力するスクリプトが実行できます。

EV充電器コントローラー

図5:EV充電器コントローラー


これにより、エクスポートスクリプトは出力先のパスをチェックせず、エクスポートファイルに適切な権限が設定されません。そのため、ローカルのユーザーがファイルを上書きできてしまいます。そして「sudo」許可リストにあるスクリプトを選択し、出力先として使用することができます。出力先のファイルに書き込まれた任意のコマンドは、ルートのユーザーとして実行される可能性があります。

ローカルのユーザーがルートアクセスを獲得

図6:ローカルのユーザーがルートアクセスを獲得


第1の攻撃シナリオと同様、この攻撃シナリオは、基本的なセキュリティ対策または手順の実施により防ぐことができます。この場合、システムスクリプトとセキュリティ権限の適切な監査が必要となります。

脆弱性発見の重要性

これら2つの攻撃シナリオは、Pwn2Own Automotiveで披露される脆弱性発見の例を示しています。このような発見からの脆弱性公表は、自動車業界において実際の問題につながる脆弱性のリスクを減らす上で有効となります。これにより、製造業者はセキュリティリサーチャーと共同で、システムの不備に対処するための時間と機会を得ることができます。

新たなモビリティの時代に突入する中、自動車業界にとってセキュリティを最優先にすることがこれまで以上に重要になっています。自動車業界は、一般的なサイバー脅威や脆弱性が、特に道路安全において前例のない影響を及ぼす可能性があるというユニークな状況に直面しています。

自動車の脆弱性の影響は、このシリーズの第2部で解説します。特にVicOneによる車両API攻撃シナリオのデモについて詳しく議論します。

VicOneとZDIのリサーチャーたちは、2024年1月24日から26日まで東京ビッグサイトのオートモーティブワールドで開催される自動車を対象にした初のイベントPwn2Own Automotiveにおいて、これらの攻撃シナリオを実際にデモを交えて解説します。

リソースからもっと知る

自動車サイバーセキュリティの理解を深める

  • 2025年に向けたギアチェンジ:次世代の自動車サイバーセキュリティにおける課題
    ブログ
    2025年6月2日
    AI、EV、SDV が自動車業界を変革する中、サイバー脅威も同様に進化しています。VicOne の 2025 年の自動車サイバーセキュリティレポートを参考にし、この記事では、業界の脅威の展望に関する重要な洞察と、自動車メーカーが先手を打つために必要な戦略の概要をご紹介します。
    続きを読む
  • シングルSTM32ボードを使用したRAMNの再現
    ブログ
    2025年5月26日
    たった1枚のSTM32ボードを使用して、本格的なRAMN(Resistant Automotive Miniature Network)のコア機能を再現することは、高度なインビークル・ネットワーキングに取り組むための実用的でコスト効率の高い方法です。このハンズオンガイドでは、エンジニアやリサーチャーが最小限のハードウェアで弾力性のある車載通信システムを試作できるように、ステップ・バイ・ステップのセットアップを実行します。
    続きを読む
  • 見えない脆弱性がもたらすリコールリスク:より安全なSDVのための戦略
    ブログ
    2025年5月21日
    従来の脆弱性管理プラットフォームには、増加するゼロデイ脆弱性のリスクについては見落としてしまうセキュリティ上のギャップがどうしても生まれてしまっていました。VicOneの脆弱性&SBOM管理ツール、xZETAがどのように脆弱性の可視性を高め、新たな脅威に先手を打つことを支援できるかを紹介します。
    続きを読む
  • LockBitランサムウェアグループのデータ流出:自動車のサイバーセキュリティへの示唆
    ブログ
    2025年5月21日
    最近起きたLockBit(ロックビット)ランサムウェアグループの内部データ流出により、グループのチャットのやり取りが公開され、被害者がどのように標的とされ、恐喝されたかを知る貴重な内部情報が得られました。攻撃された被害者の中には、自動車関連企業の名前が目立ちます。その主な調査結果を紹介し、LockBit攻撃や類似のインシデントを阻止するために自動車関連企業が講じることのできる実践的な対策を概説します。
    続きを読む
ブログを読む

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

デモの依頼