停止中の車が急加速!?CANになりすまし攻撃
実車実験!車載CANプロトコル解析入門
実車で確認されたCANなりすましの実際
|
|---|
|
図1 送信エラーの累積によってノードが自己隔離する「バスオフ」は,故障耐性を目的とした規定動作.復帰には一定の条件や手続きが必要.画像クリックで動画を見る.または記事を読む.[著]井上博之 詳細:[VOD] GPU/CPU/量子コンピュータによるサイバ・セキュリティ実践プログラミング【セッション2】車載CANプロトコルのゼロ知識解析と実車への適用 |
停止中の車両が急に加速した事例は,車載CAN(Controller Area Network)上で他ノードを装ったメッセージを注入する「なりすまし攻撃」が原因である可能性が高いです.本稿は実車実験の音声記録を元に,どのようなパケットがどのようにふるまい,車両側でどのように解釈されるかを技術的に解説します.
CANの基本動作と解析の視点
CANはIDとデータ長,周期性をもつ短いフレームで制御情報をやり取りします.各ECUは受信したIDを元に内部ロジックを動かします.解析ではまずスニッファで流れるIDと周期,データの変化幅を観測します.観測した値の例としてセンサ電圧を示す信号は$V_{in}$として扱い,バス上のタイミング特性はI2Cなどの汎用シリアルとは異なることを意識します.
実車実験で行う解析手順
- 受信ログ取得:CANスニッファでIDとタイムスタンプを収集する
- 相関解析:ブレーキ入力やアクセル開度と該当IDのデータ列を照合する
- 注入試験:解析で得たフォーマットを用いて横から偽メッセージを送信する
- 挙動観察:ECUの状態(パーキング解除,オートクルーズ設定等)を記録する
実験で確認された典型的なふるまいは次のとおりです. ブレーキ圧を表すデータを0にオーバーライトすると制動力が低下し,電動パーキングをパケットで解除すると車両が前後に移動しやすくなる点です. オートクルーズの「オン」状態をパケットで作り,速度値を注入すると停止状態から駆動力が発生するケースが観測されています
技術的考察と防御の方向性
CANには認証や暗号が標準で組み込まれていない設計上の制約があります. 防御は多層化が有効です. 代表的対策を挙げます
- メッセージ単位の整合性チェック導入:周期やカウンタの異常検知を行う
- 物理層分離:重要ECUは専用サブネットに分ける
- IDS導入:遅延や送信頻度の異常をリアルタイムで検出する
攻撃の再現実験は安全管理と法令順守の下で行う必要があります. 解析から得られた知見は,ECU設計者がメッセージ設計と異常検出ロジックを見直す際に活用できます. 本文ではソースコードや数式は示しませんが,実験の観察点と防御の考え方を整理しました
〈著:ZEPマガジン〉参考文献
- 強度128ビット! AES暗号セキュリティ・プログラミング入門,ZEPエンジニアリング.
- 宇宙ロケットの高セキュア暗号通信技術,ZEPエンジニアリング.