
By Omar Yang (Senior Threat Researcher, Automotive)
2022年に発生した自動車盗難事件は、多くの車種で同じ「CANインジェクション」技法が悪用される危険性を露呈しました。本稿では、CANバスの概要、自動車窃盗犯がその脆弱性を悪用して車両を盗む手法、そして侵入検知によるリスク軽減策について解説します。
CANバスの概要
CAN(Controller Area Network)バスは、1980年代に自動車用途向けに特別に設計された通信プロトコルとして導入されました。CANバスの導入以前、自動車メーカー(OEM)は複数のポイント・トゥー・ポイント接続に依存していたため、複雑でかさばる配線システムが生じていました。現在、CANバスは自動車業界で広く採用されている標準規格であり、ほぼすべての車両で使用されています。
CANバスは、現代の車両において、異なる電子制御ユニット(ECU)や各種サブシステム間の効率的かつ信頼性の高い通信を可能にする重要な特徴をいくつか備えています。
- 配線の複雑さの軽減:CANバスでは、単一のネットワークケーブルで複数のイント・トゥー・ポイント接続を置き換えることが可能となり、配線の複雑さとコストを削減します。車両には通常、約1,500本の銅線が使用され、その総延長は約1マイル(約1.6km)にも及びます。CANバスを導入することで、最大50ポンド(約23kg)の配線重量を削減できます。
図1. CANバスの単一ネットワークケーブルは、従来の車両における複数のポイント・トゥー・ポイント接続を刷新した(CSS Electronics社提供のオリジナルに基づく)
- 信頼性の向上:CANバスはマルチマスターアーキテクチャを採用しており、中央制御装置に依存することなく、バス上の全デバイスが相互に通信できます。これによりシステムの信頼性が向上し、単一障害点が排除されます。さらに、新規デバイスをバスに容易に接続することが可能です。 CANバスは非破壊的なビット単位の競合解決方式を採用しており、同時にデータ送信できるデバイスを1台に制限します。これによりデータ衝突を防止し、バスの効率的な使用を確保します。
図2. CANバスは新規デバイスの接続を容易にする (CSS Electronics社提供のオリジナルに基づく)
- 故障検出機能の強化:CANバスには、CRC(巡回冗長検査)やACK(応答)などのエラー検出・訂正機能が組み込まれており、伝送エラーの特定と修正を支援します。これにより、異なるサブシステム間で伝送されるデータの正確性と完全性が確保されます。
図3. CANバスの内蔵エラー検出・訂正機構は、伝送エラーの特定と修正を支援する(CSS Electronics社提供のオリジナルに基づく)
自動車産業が進化する中、CANバスはこの分野において今後も不可欠な技術であり続けるでしょう。新しい通信プロトコルが登場しているものの、その実証済みの信頼性、効率性、コスト効率の高さから、CANバスは依然として最も広く使用されています。
さらに、自動車業界ではコネクテッドカー技術の利用が拡大しています。CANバスは、車両間通信(V2V)やインフラ間通信(V2I)を含む「車両とあらゆるものとの通信(V2X)」など、異なるコネクテッドカーシステム間の通信を実現する上で重要な役割を果たします。
とはいえ、CANバスには欠点もあり、バスオフ攻撃、CANCAN、 weepingCAN などで悪用される脆弱性は、修正することがほぼ不可能です。
インシデントの経緯と分析
この事件は、サイバーセキュリティのリサーチャーであるIan Tabor氏が、2022年4月に自身のSUVが誰かにいじられたとツイートしたことから始まります。当初、フロントバンパーが引き剥がされ、ヘッドライトの配線プラグが引き抜かれた状態で放置されていました。
約3か月後、車両のバンパーが再び破損しました。そして2日後、スマートフォンのモバイルコンパニオンアプリが、車両が移動中であることを示しました。Tabor氏はついに、自身の車が複数回盗難に遭っていることに気づきました。
画像1. 車両盗難を報告するIan Tabor氏のツイート
出典: @mintynet on Twitter
車両盗難の事実が明らかになってから、Ian Tabor氏とCanis Automotive Labsの最高技術責任者であるKen Tindell氏は、この事件の調査を開始しました。Tabor氏は、様々な車種向けの車両セキュリティを回避する製品を販売するウェブサイトを発見しました。盗まれた車両向けには、非常用始動装置が販売されており、その電子機器ハードウェアは巧妙にBluetoothスピーカー内部に組み込まれていました。彼は発見された車のスピーカーを分解し、CANインジェクション攻撃の主要な役割を担うPIC18Fチップを発見しました。
攻撃の準備
攻撃を実行するには、悪意のある攻撃者はCANパケットを送信できるCANインジェクションデバイス(この場合はPIC18Fチップとそのプリロード済みファームウェア)のみを必要とします。このデバイスはスマートキーECUを偽装することを目的としています。
画像2. CANインジェクションデバイス / 「通称『CANインベーダー』とも呼ばれる」
赤丸で囲まれたケーブルの2つのピン(CAN HighおよびCAN Low)は、車両のCANバスに接続するために使用される
(Ken Tindell氏のオリジナル画像に基づく)
攻撃シナリオ
- スマートキー受信機ECUがコネクテッドされているCANバス配線(ヘッドライト経由)にアクセスします。
図4. 左:ヘッドライトが車両のCANバスに接続された状態。
右:CANバス接続がCANインジェクションデバイスに交換された状態
- CANインジェクションデバイスの電源を入れ、ウェイクアップフレームを送信して、デバイスが応答を受信するまでCANバスを繰り返しウェイクアップさせます。
- 応答を受信後、CANインジェクションデバイスは前述のアービトレーション機構によりドミナントオーバーライド回路を作動させます。この回路は他のデバイスがCANバス上で送信することを阻止し、CANバスプロトコルのエラー機構を無効化します。これにより、他のECUがCANインジェクションデバイスを停止させたり、一部のセキュリティハードウェアをバイパスしたりするのを防ぎます。
- スマートキーECUを装ったCANインジェクションデバイスは、「キーが認証されました、イモビライザーを解除してください」という偽のメッセージを、車両のゲートウェイECUに向けてバースト送信します。
- ゲートウェイECUはこの偽のメッセージを別のCANバスに転送します。
図5. 盗難車両における簡略化されたCANバス図 (Ken Tindell氏のオリジナルに基づく)
- エンジン制御システムは偽のメッセージを受け入れ、イモビライザー機能を無効にする
- CANインジェクションデバイスは、「キーは有効です。ドアのロックを解除してください」という別の偽のCANメッセージをドアECUにバースト送信し、車のドアロックを解除する
対策
Tindell氏が提案しているように、この攻撃は一時的および恒久的な2つの方法で防止できます。一時的な解決策は、CANインジェクションデバイスのメッセージフィルタリング機能に基づいています。この方法が一時的な対策に留まる理由は、攻撃者が迅速に適応し類似攻撃を考案できるためです。この問題に対処するには、ゲートウェイECUを再プログラムすることが有効な解決策となります。具体的には、CANインジェクションデバイスがCANバスに障害を引き起こすことと、スマートキーを偽装したCANフレームを送信できることを踏まえ、特定の時間内にエラーが検出されない場合にのみメッセージを転送するように設定します。
恒久的な解決策としては、ゼロトラストアプローチを採用し、CANバス接続デバイスがデフォルトで他ECUからのメッセージを信頼しないようにする方法があります。代わりに、CANフレームに追加の検証措置を実装し、ECUの真正性を確認します。これを実現するには、ECUに秘密鍵を割り当て、特定の車両に対してのみペアリングするようにしておく必要があります。
VicOneのxCarbonはゲートウェイECUに実装可能です。CANバス異常検知機能により、インジェクション攻撃による偽装CANメッセージを含む異常動作を正確に検出します。xCarbonは異常なCANバスコマンドシーケンスや周波数エラーなどの異常イベント情報を、VicOneのxNexusなどの車両セキュリティ運用センター(VSOC)プラットフォームに送信し、詳細な調査を可能にします。脅威評価と対策分析(TARA)手法を活用することで、OEMメーカーは実際の脅威の有無を判断し、ライフサイクルのインパルス段階または次期車両開発において対策を講じることが可能です。
コネクテッドカーにおけるその他の潜在的な脆弱性に関する詳細な調査や、セキュリティ対策のベストプラクティスについては、VicOneのリソースセンターをご覧ください。
コネクテッドカーにおけるその他の潜在的な脆弱性に関する詳細な調査や、セキュリティ対策のベストプラクティスについては、VicOneのリソースセンターをご覧ください。
本記事は、VicOne社のxCarbon対策推奨事項を明確化するため、2023年5月8日午前10時(UTC)に更新されました。