車載セキュリティに対応する開発プロセスとセキュリティ評価手法:いまさら聞けない 車載セキュリティ入門(5)(3/3 ページ)
車載セキュリティに対応するには、車載システムの開発プロセスそのものを変えていく必要がある。さらにその車載システムのセキュリティレベルを評価する仕組みも整備しなければならない。
4ステップで交際される実用セキュリティテスト
セキュア開発プロセスのベストプラクティスが適用されても、まだ実装に脆弱性があるかもしれません。実用セキュリティテストで攻撃を仕掛けるのは、このような脆弱性を見つけるために実施されます。より深い実用セキュリティテストであれば、実装の未定義機能や仕様書との不一致などを見つけることができます。その上、実用セキュリティテストはターゲットシステムに実際に攻撃を仕掛けることがいかに難しいかを示してくれます。
典型的な実用セキュリティテストは、4つのステップから構成されます。第1のステップは、機能セキュリティテストでターゲットシステムの全てのセキュリティ関連機能の堅牢性と機能の正常な作動に焦点を当てたものです。このステップではセキュリティ脆弱性につながる実装エラー、仕様書との不一致、未定義機能を見つけることができます。
第2のステップは脆弱性スキャニングと呼ばれるもので、ターゲットシステムに対して既知の通常のセキュリティ脆弱性の検査が行われます。例えば、既知のセキュリティエクスプロイトや不適切な設定による既知の脆弱性などです。
第3のステップではさらに深堀し、未知のセキュリティ脆弱性を見つけ出すことに焦点を当てます。このステップはファジングと呼ばれており、ターゲットシステムに対して不正形式あるいは仕様書とは異なるインプットを送信しモニタリングします。そして異常があるか否かの確認をします。CANのファジングで、ターゲットECUの作動をチェックするのはかなり困難です。おれは、多くのCANメッセージが受信ECUからの返答を要求しないためです。しかし、モニタリング機能を使ってCANのファジングを改良する手法も提案されています。例えば、重要な値が上書きされているかどうかを確認するためのメモリ検査を行ったり、コードのどの部分が実行されたのかを確認するためにジャンプに対してのブレークポイントをセットしたりします※5)。
第4のステップは、ターゲットシステムのソフトウェアとハードウェアの両方に侵入テストを行うことによるシステム全体のテストに焦点を当てます。このステップでは、試験者が優れた攻撃者を模倣して既知のセキュリティ脆弱性の全てを活用することを試します。試験者は長年のハッキングの経験を生かし、リバースエンジニアリングや重要なデータの抜き出し、ソフトウェアとハードウェアを結び付けるアプローチを行い、より洗練された攻撃を実行します(例えば、ハードウェアデバッグインタフェースの脆弱性をエクスプロイトしてから一部のメモリを読み出し、ソフトウェアベースの攻撃実行により秘密鍵や他の重要なデータを抜き出すなどします)。
しかしながら、実用セキュリティテスト、特にファジングと侵入テストは、全ての攻撃可能性を網羅するのが極めて困難であることに注意してください。全てを網羅できない以上、テストに費やす時間とリソース、テスト範囲などを決めなければなりません。もちろん、結果としてこのような実用セキュリティテストが重大な系統的欠陥を見逃すこともあり得ます。実用セキュリティテストが、理論セキュリティ分析に取って代わることはできないのです。より完全なセキュリティテストを実現するには、理論セキュリティ分析によってカバーされるべきです。
先述したように、早い段階で攻撃領域を最小化するためのソフトウェア開発プロセス全体を改善することが必要で、それには開発サイクルのあらゆる段階でセキュリティを追加していかなければなりません※6)。
参考文献
※5)Keisuke Hirata, Dennis Kengo Oka, Camille Vuillaume “Using Monitoring Capabilities to Improve Fuzz Testing over CAN”, SCIS 2016.
※6)S.Bayer, T.Enderle, D.K.Oka, M.Wolf “Security Crash Test - Practical Security Evaluations of Automotive Onboard IT Components”, Automotive - Safety & Security 2015.
http://www.etas.com/ja/
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「いまさら聞けない 車載セキュリティ入門」バックナンバー
- 車内ネットワークへのサイバー攻撃は4つの階層構造で防ぐ
車載システムの進化を支えてきたCANに代表される車内ネットワーク。この車内ネットワークに対するサイバー攻撃は、多層防御(Defense-in-depth)の原則に基づき、4つのレイヤー(階層)によって防ぐことが推奨されている。 - 車載ソフトウェアのアップデートを実現するOTAと遠隔診断
車載ソフトウェアの規模増大と複雑化が進む中で、無線ネットワークによるアップデート(OTA:Over-The-Air)の実用化が求められている。同じく無線ネットワークを使った遠隔診断に対する要求も高まっている。これらOTAと遠隔診断を運用するには、セキュリティの枠組みが必要だ。 - 車車間と路車間の通信を守るためのセキュリティ技術
自動車に搭載される通信機能の中でも今後の採用拡大が見込まれているのが、いわゆるITS(高度道路交通システム)に用いる車車間通信や路車間通信だ。今回は、これらV2X通信を守るセキュリティ技術について解説する。 - つながるクルマに求められるサイバーセキュリティ
スパイ映画やSF映画には、自動車がハッキングを受けて乗っ取られるシーンが出てくることがある。つながるクルマ=コネクテッドカーが当たり前になるこれからの時代、これらのシーンは絵空事では済まされない。本連載では、つながるクルマをサイバー攻撃から守る「車載セキュリティ」について解説する。