自動車のペネトレーションテストチェックリスト
要約
この記事は、自動車のサイバーセキュリティを強化するための重要なステップとアプローチについて解説しています。具体的には、CAN バスへの不正な侵入テストや、ファームウェアの改ざんテストなどが紹介されています。
詳細分析
主なポイント
- CAN バスへの不正な侵入テスト
- ファームウェアの改ざんテスト
- 不正な CAN メッセージの検知と対応
社会的影響
- 自動車のサイバーセキュリティ強化は、ドライバーの安全と社会インフラの保護に直結する重要な課題
- ペネトレーションテストの結果は、自動車メーカーや関連企業の製品開発や対策に活用される
- 自動車のサイバーセキュリティ対策は、IoT 時代の重要な社会的課題となっている
編集長の意見
自動車のサイバーセキュリティ対策は、ハードウェアとソフトウェアの両面から総合的に取り組む必要があることがわかります。CAN バスの脆弱性対策やファームウェアの改ざん防止など、多層的なセキュリティ対策が重要だからです。また、ペネトレーションテストを通じて発見された脆弱性は、迅速に修正されるべきで、その運用体制が今までの自動車メーカーや関連企業の取り組み以外にも必要だと考えます。セキュリティ研究者や専門家と連携し、継続的な改善に取り組むことが求められ流でしょう。
今日は、自動車のペネトレーションテストについて詳細を解説します。
解説
自動車のペネトレーションテスト
自動車のデジタル化が進む現代、自動車のサイバーセキュリティは極めて重要な課題となっています。
車載システムの複雑化に伴い、潜在的な脆弱性も増加しており、これらを悪用した攻撃から自動車を守るためには、徹底的なペネトレーションテスト(侵入テスト)が不可欠です。
本レポートでは、自動車のセキュリティ評価に役立つ詳細なチェックリストを提供し、車載ネットワークやファームウェア、無線通信など、多岐にわたる領域でのテスト手法を網羅します。
これにより、メーカーやセキュリティ専門家が自動車の安全性を確保し、ユーザーに安心を提供する一助となることを目指します。
テスト内容
自動車のペネトレーションテストでは、このような観点で実施されています。
-
CANバスインジェクションテスト
自動車のCAN(Controller Area Network)バスが不正なメッセージに対して適切に防御できるかを確認します。
具体的には、診断機器を使用してCANバスに接続し、悪意のあるペイロードを含むCANフレームを送信し、自動車の反応(例:ドアの不正な解錠など)を観察します。
期待される結果は、自動車が不正または不正形式のCANメッセージを無視し、正常な機能を維持することです。 -
ファームウェアのセキュリティ
自動車のファームウェアが改ざんや不正な更新から保護されていることを確認します。
ハードウェアデバッガーや診断ツールを使用してファームウェアの抽出を試み、修正したファームウェアを再アップロードし、システムがそれを受け入れるか拒否するかを確認します。
期待される結果は、システムが不正なファームウェアを拒否することです。 -
無線通信のセキュリティ評価
BluetoothやWi-Fiなどの無線インターフェースが不正アクセスから保護されていることを確認します。
これには、無線ネットワークのスキャン、既知の脆弱性の評価、不正な接続試行などが含まれます。
期待される結果は、無線インターフェースが強力な認証と暗号化を使用し、不正なアクセスを防止することです。 -
テレマティクスシステムの評価
自動車のテレマティクスユニットがリモート攻撃に対して安全であることを確認します。
リモート接続を確立し、システムの脆弱性を評価し、不正なコマンドの実行やデータの抽出が可能かどうかを確認します。
期待される結果は、テレマティクスシステムが強力な認証と暗号化を使用し、不正なアクセスやコマンド実行を防止することです。 -
物理的アクセスのセキュリティ
自動車の物理的なポート(例:OBD-IIポート)が不正なアクセスから保護されていることを確認します。
物理的に接続し、システムへのアクセスやデータの抽出が可能かどうかを評価します。期待される結果は、物理的なポートが適切に保護され、不正なデバイスの接続やデータ抽出が防止されていることです。
自動車のペネトレーションテストの詳細
テスト環境の前提条件
- 診断機器
- Vector CANcase XL
- Kvaser Leaf Light v2
- Peak PCAN-USB FD
- 無線通信解析機器
- HackRF One (10MHz-6GHz)
- Ubertooth One (Bluetooth解析用)
- YARD Stick One (Sub-1GHz RF)
- 物理アクセス用機器
- JTAGulator
- Bus Pirate v4
- Logic Analyzer (Saleae Logic Pro 16)
チェックリスト
- CANバス診断
CANバストポロジーのマッピング
- 全ECUの識別子(ID)のスキャンと列挙
- 使用ツール: Vector CANoe
- スキャン範囲: 0x000-0x7FF (標準ID)
- 拡張ID範囲: 0x00000000-0x1FFFFFFF
- 各ECU間の通信フローの可視化
- 周期的メッセージの特定(周期、データ長)
- イベントトリガーメッセージの分類
- 診断メッセージの識別
ECU応答特性の文書化
- 各ECUの応答時間測定
- 通常操作時の応答レイテンシ
- 高負荷時の応答特性
- エラー状態からの回復時間
- 診断要求に対する応答パターン分析
- サービス別の応答時間
- エラー応答の種類と頻度
- セッションタイプごとの動作差異
セキュリティアクセス検証
- シード/キーアルゴリズムの解析
- 検証項目
- シード予測可能性
- キー生成アルゴリズムの強度
- 試行制限の実装
- 検証項目
- セキュリティレベル別アクセス制御
- 各レベルで許可される操作の特定
- レベル遷移条件の検証
- タイムアウト処理の確認
診断セッション認証評価
- セッション確立プロセスの検証
- デフォルトセッション動作確認
- プログラミングセッション要件
- 拡張診断セッション制限
- セッション管理のセキュリティ
- 同時セッション制御
- セッションタイムアウト処理
- 異常切断時の挙動
- ファームウェアセキュリティ
暗号化アルゴリズム評価
-
使用暗号方式の特定と評価
- 確認項目:
- 暗号化アルゴリズム (AES, RSA等)
- 鍵長
- 暗号モード (CBC, GCM等)
- IV/ノンス生成方式
- 確認項目:
-
鍵管理メカニズムの評価
- 鍵生成プロセス
- 鍵更新メカニズム
- 鍵保護方式
署名検証プロセス解析
- 署名アルゴリズムの評価
- 検証項目
- デジタル署名方式 (ECDSA, RSA-PSS等)
- ハッシュアルゴリズム
- 署名検証タイミング
- 検証項目
- 証明書チェーンの検証
- 証明書階層構造
- 失効確認メカニズム
- 信頼チェーンの完全性
- 無線通信セキュリティ
BLEセキュリティレベル評価
- ペアリングメカニズムの検証
- 確認項目
- ペアリングモード (Just Works, Numeric Comparison等)
- 暗号化強度
- キー交換プロトコル
- 確認項目
- サービス/特性アクセス制御
- 認証要件
- 暗号化要件
- アクセス権限管理
キーフォブセキュリティ評価
- 無線通信プロトコル解析
- 検証項目
- 使用周波数帯
- 変調方式
- ローリングコード実装
- 暗号化強度
- 検証項目
- リレーアタック対策評価
- 距離測定実装
- 応答時間制限
- 信号強度監視
- 電波干渉耐性テスト
- 各周波数帯での干渉テスト
- テスト周波数
- 433MHz帯
- 868MHz帯
- 2.4GHz帯
- テスト周波数
- 干渉時の動作検証
- 通信回復メカニズム
- エラー処理
- フォールバック動作
- 物理セキュリティ
- OBD-IIポートの認証メカニズム確認
- 診断コネクタのピンマッピング評価
- 物理的な改ざん検知機能の確認
- ECUの物理的保護措置の評価
- デバッグインターフェースの無効化確認
- センサー入力の妥当性検証
- 電源管理システムの保護評価
- 暗号鍵の物理的保護確認
確認事項について概説
- CANバス診断
・CANバストポロジーのマッピング(Vector CANoe使用)
CANoe等を用いてネットワーク上の全ECUを特定し、それらの間の通信関係を図式化します。各ECUの役割、送受信するメッセージID、通信頻度などを記録します。
・ECU応答特性の文書化
各ECUが特定のメッセージに対してどのように応答するかを詳細に記録します。正常な応答だけでなく、エラー発生時の挙動やタイムアウト値なども含まれます。
・セキュリティアクセス検証
診断セッション確立に必要なセキュリティアクセスの手順と認証メカニズムを検証します。シード/キー交換アルゴリズムの解析や、不正アクセス試行による挙動確認を行います。
・診断セッション認証評価
診断セッションの認証メカニズムの強度を評価します。ブルートフォース攻撃やリバースエンジニアリング等の手法を用いて、認証の突破を試みます。
・メッセージフィルタリング確認
各ECUが受信するメッセージを適切にフィルタリングしているか検証します。不正なメッセージIDやデータ長を持つメッセージを送信し、ECUの挙動を観察します。
・タイミング攻撃実施
メッセージ送信のタイミングを操作することで、システムの脆弱性を探索します。例えば、メッセージ間の遅延を変化させることで、ECUの挙動に変化が生じるかを確認します。
・バッファオーバーフロー検証
長すぎるメッセージを送信することで、バッファオーバーフローを引き起こせるか検証します。システムのクラッシュや予期せぬ挙動が発生しないかを確認します。
・異常フレーム応答確認
異常なフォーマットを持つCANフレームを送信し、ECUが適切にエラー処理を行うかを確認します。DoS攻撃への耐性評価に繋がります。 2. ファームウェアセキュリティ
・暗号化アルゴリズム評価
ファームウェアで使用されている暗号化アルゴリズムを特定し、その強度を評価します。既知の脆弱性やサイドチャネル攻撃への耐性などを考慮します。
・署名検証プロセス解析
ファームウェアアップデートの署名検証プロセスを解析し、改ざん検知の仕組みを評価します。署名検証のバイパスや偽造署名によるアップデートが可能か検証します。
・セキュアブート検証
セキュアブートプロセスが正しく実装されているか検証します。ブートローダーの脆弱性や、不正なファームウェアの起動が可能かを確認します。
・HSM実装確認
ハードウェアセキュリティモジュール(HSM)が使用されている場合、その実装とセキュリティ機能を検証します。鍵の生成・保管・使用に関するセキュリティポリシーを確認します。
・デバッグ保護評価
デバッグポートへのアクセス制限や、デバッグ機能の無効化が適切に行われているか評価します。デバッグポートを介した情報漏洩やシステム操作のリスクを検証します。
・メモリ保護確認
メモリ保護メカニズム(例: ASLR, DEP)が有効化されているか、正しく機能しているかを確認します。メモリリークやバッファオーバーフロー攻撃に対する耐性を評価します。
・ロールバック保護検証
ファームウェアのダウングレード攻撃を防ぐためのロールバック保護メカニズムが実装されているか、正しく機能しているかを確認します。
・機密情報保護確認
ファームウェア内に保存されている機密情報(例: 暗号鍵、パスワード)が適切に保護されているか確認します。暗号化やアクセス制御の有無、強度の評価を行います。 3. 無線通信セキュリティ
・BLEセキュリティレベル評価
Bluetooth Low Energy (BLE) のセキュリティレベルを評価します。ペアリング、認証、暗号化方式の強度、既知の脆弱性などを検証します。
・GATT権限確認
Generic Attribute Profile (GATT) のアクセス権限設定を確認します。不正なアクセスから保護するために、適切な権限設定が行われているか検証します。
・Wi-Fi実装検証
Wi-Fiの実装とセキュリティ設定を検証します。WPA2/3の利用、暗号化方式、認証方式、既知の脆弱性などを確認します。
・キーフォブセキュリティ評価
キーフォブリレー攻撃や、その他のキーフォブ関連の脆弱性を評価します。ローリングコード方式の採用、暗号化強度、リプレイ攻撃への耐性などを検証します。
・リプレイ攻撃防止確認
無線通信におけるリプレイ攻撃への対策が適切に実装されているか確認します。タイムスタンプ、シーケンス番号、チャレンジレスポンス方式などの有無と有効性を検証します。
・電波干渉耐性テスト
電波干渉に対する耐性をテストします。意図的な電波干渉によって、システムの挙動に異常が生じないかを確認します。
・セッション管理評価
無線通信セッションの管理方法を評価します。セッションハイジャックや、不正アクセスを防ぐための適切なセッション管理が行われているかを確認します。
・認証タイムアウト確認
認証タイムアウトの設定値が適切であるか確認します。ブルートフォース攻撃に対する耐性を高めるために、適切なタイムアウト値が設定されている必要があります。
背景情報
- 自動車のサイバーセキュリティは重要な課題となっている
- CAN バスは自動車の重要なコミュニケーションシステムであり、セキュリティ上の脆弱性がある
- ファームウェアの改ざんは深刻な影響を及ぼす可能性がある