コネクテッドカー:CAN通信の脆弱性を突くPoCについて解説

昨今、各リサーチャーやエンジニアがインターネットや無線通信ネットワークに接続する自動車「Connected Car(コネクテッドカー)」を乗っ取る手法について数多く報告しています。その一例が2015 年に報告された米 FCAUS(旧クライスラー)の事例です。Charlie Miller 氏と Chris Valasek 氏が同社の Jeep をハッキングする手法を公開。こうした手法の多くは、特定の製造業者が抱える脆弱性を突くものでした。そのような脆弱性は、通常、報告後すぐに修正されます。しかし、自動車の性能や機能に甚大な影響を与えるだけでなく、検知されにくく、特定の製造業者やメーカーに左右されないハッキング手法が発見されたとしたら、セキュリティ企業はどのように対応するべきでしょうか。

トレンドマイクロの脅威リサーチ部門「Forward-looking Threat Research(FTR)チーム」は、イタリアの国立ミラノ工科大学と、組み込み系システムのセキュリティツールおよびサービスを提供する「Linklayer Labs」との共同研究を実施し、製造業者に依存しないハッキング手法を確認および実証しました。現在の自動車セキュリティ技術ではこの手法に対応することはできず、完全に解決するためには、単なるリコールや無線通信によるファームウェアの更新ではなく、車載ネットワークおよび機器の標準規格を広範かつ全面的に更新する必要があります。現実的に、この脆弱性の修正には自動車技術の世代交代に要するだけの時間がかかると予想されます。

■新たに確認された脆弱性利用の概念実証コード

以下は、想定される基本的な質問とそれに対する回答です。

今回の概念実証の新しい点は?

この概念実証(Proof of Concept、PoC)の新しい点は、エアバッグや駐車センサー、予防安全システムのような車載ネットワークに接続した機器またはシステムを、最先端のセキュリティの仕組みが検知できない方法で使用不能にする点です。

今回のリサーチから得られた主な知見は?

ライドシェアやカーシェアのようなサービスが普及するにつれ、通常の使用例として他の人の自動車に乗る機会も増えています。このような変化を考慮に入れ、標準規格制定団体、企業の意思決定者および自動車製造業者は、情報システムと物理的な機器を接続し未来の自動車の機能を制御する「cyber-physical system(サイバー・フィジカル・システム)」を守るため、標準規格を設計レベルから更新する必要があります。

影響を受ける自動車は?

今回確認されたハッキング手法は製造業者に左右されない標準規格の脆弱性を突くため、ほとんどの自動車が影響を受ける可能性を持っています。しかし、製造業者の中には、この攻撃を困難にするために個別的に対応する企業もあるかもしれません。

「Jeep のハッキング」は、確認されている中で最も巧妙な攻撃?

上述の「Jeep のハッキング」は、実際に非常に巧妙かつ効果的なハッキングでした。しかし、この手法はフレームインジェクションを利用するため、侵入検知システム(IDS)/侵入防御システム(IPS)のようなサードパーティのサービスによって検知することが可能です。加えて、自動車製造業者は、車載機器を制御するソフトウェアの更新によってこの攻撃が突く脆弱性に対応することが可能です。

この問題の解決にはどれくらいの時間が必要?

この問題は、自動車製造業者の責任ではなく、彼ら自身が招いた問題というわけでもありません。今回トレンドマイクロが PoC で利用したセキュリティ問題は、「Controller Area Network(CAN)」のような車載機器ネットワークの標準的な通信規格に内在しています。そのため、個別的な対策によって攻撃を軽減することは可能ですが、完全に防ぐことはできません。根本的に解決するためには、新しい CAN 通信の規格を提案・採用・実装する必要があります。このような通信規格の更新には、自動車開発技術の世代交代に要するだけの時間がかかると予想されます。

本記事では、上述の共同研究について詳細に解説します。下の動画は、弊社のリサーチャ Federico Maggi がこの調査について発表したもので、2017 年 7 月 6 日にドイツのボンで開催された DIMVA カンファレンスでの発表と同じ内容です。

■CAN 通信の標準規格に存在する設計上の脆弱性

今回トレンドマイクロが実証した攻撃手法は、駐車センサー、エアバッグ、予防安全システムおよび車載情報娯楽システムのような車載機器を接続する CAN 通信プロトコルを悪用し、それらの機器との通信を可能にするものです。

自動車部品製造企業「Bosch」が 1983 年に開発した CAN 通信プロトコルは 1986 年に正式リリースされ、1989 年に初めて製品化された自動車に搭載されました。1993 年には、「International Organization for Standardization(国際標準化機構、ISO)」が道路運送車両用の規格として ISO11898 を発表し、CAN 通信を標準化しました。以来、CAN 通信は、今日流通している一般向け車両の事実上の標準規格として利用されており、米国連邦裁判所において唯一容認可能な規格として推奨されていました。

車載機器およびシステムは、特に緊急時に自動的に機能できるようにネットワークを介して互いに接続されています。例えば、事故発生時には、情報娯楽システムや安全管理システムが CAN 通信を利用してエアバッグから情報を受け取り、自宅に電話をかけるべきかどうか判定することができます。また、エンジン制御システムからアクセルが踏まれたという情報を受け取った音響システムは、大きくなったエンジン音にかき消されないように音量を上げ、運転者により良い体験を提供することができます。

図1
図 1:一般的な CAN 通信のネットワーク図(※1 の資料から引用)

エラーメッセージも含め、CAN 通信で送受信されるメッセージは「フレーム」と呼ばれます。CAN 通信はエラーを検出する仕組みを備えており、送信した値と実際に通信線を流れる値が異なる場合、機器は CAN の通信線にエラーメッセージを送信します。他の車載機は、エラーメッセージを受信すると間違った値を含むフレームを無視します。このようなエラーの発生は珍しいことではありません。通常、外部からのノイズや一時的な機能不全、あるいは単に多くのモジュールが同時にフレームを送信することによって発生します。もし、ある機器でエラーが頻発する場合、当該機器は CAN の標準規格に従ってネットワークから切断され、CAN 通信を利用したデータの読み書きができなくなる「Bus Off」状態になります。これは、機能不全に陥った機器をネットワークから切り離し、その他のモジュールやシステムに影響を与えないようにするための仕組みです。

今回トレンドマイクロが確認した攻撃手法は、機器をネットワークから切り離すこの仕組みを悪用します。具体的には、標的とする機器やシステムを Bus Off 状態にするために必要な回数のエラーを発生させ、機器を使用不能な状態にします。もし、エアバッグやアンチ・ロック・ブレーキのような特に重要なシステムが使用不能になった場合、自動車は、非常に危険な、状況によっては致命的な影響を受けることになります。この攻撃を実行するには、特別に細工した攻撃用の機器を自動車の CAN に物理的に接続する必要があります。また、「Jeep のハッキング」事例のような新しいフレームのインジェクションは行わず、CAN の通信線に流れているフレームを再利用します。

図2
図 2:エラーを発生させる仕組み(※1 の資料から引用)

■対象の自動車に直接接触する攻撃の現実性

対象の自動車に物理的に接触する必要のあるハッキング手法は、その実行が困難だと考えられることから、通常、それほど多くの関心を集めることはありません。しかし、情報娯楽システムのような電子制御ユニット(ECU)のファームウェアを遠隔から改ざんすることが可能な脆弱性が存在する場合、乗っ取ったシステムを介して問題の攻撃を実行することが可能になります。また、実現が困難だからと言って、対象の自動車に直接接触する攻撃を軽視することはできません。従来は、対象の自動車への接触は、ほとんど実行されないだけでなく、攻撃者にとって非常に危険な行為でした。その当時は確かにその通りだったかもしれません。しかし、レンタカーやカーシェアリング、あるいはライドシェアリングのように、不特定多数が同じ自動車に乗り降りするような状況は現在では珍しいことではありません。このような状況の変化を踏まえると、自動車のサイバーセキュリティについて、考え方を改める必要があるようです。

■被害に遭わないためには

問題の脆弱性は標準規格の設計レベルに存在し、更新プログラムの適用のような対策が取れません。そのため、このセキュリティ課題の解決は容易ではありません。自動車産業が実用的な対策を取ろうとする場合、規格および運用方針の大きな変更を含め、非常に多くの時間を要すると予想されます。当面は、以下のような長期的な対策が、問題の脆弱性攻撃に対して有効です。

  • ネットワークのセグメント化またはトポロジーの変更

    CAN のトポロジーを変更するあるいはセグメント化することにより、エラーを利用して特定のシステムに影響を与える攻撃をブロックすることが可能です。

  • 自動車の自己診断機能「OBD-II」ポートへの接続を制限

    特別なハードウェアキーまたはパスワードを利用して OBD-Ⅱ ポートへの物理的な接続を制限することにより、不正な機器が CAN に組み込まれるのを防ぐことができます。ポートに接続して情報を送受信するソフトウェアレベルで認証の仕組みを設けることも検討に値しますが、これには規格の変更が必要です。

  • 暗号化

    CAN のフレーム ID を暗号化することで、標的とする機器の特定を困難にすることが可能です。その結果、対象を絞った攻撃は困難になり、検知が容易になります。

トレンドマイクロは、既に米国の産業制御システムセキュリティ担当機関「Industrial Control Systems Cyber Emergency Response Team(ICS-CERT)」に問題のハッキング手法を開示しています。同機関からは警告が発表されました。

このハッキング手法とその調査に関するより詳細な情報は、「A Vulnerability in Modern Automotive Standards and How We Exploited It」と題した技術概要資料(英語)をご参照ください。この資料には、問題の脆弱性の詳細な解析結果がまとめられています。また、この攻撃の詳細な仕組みと脆弱性を回避するための推奨策についても解説されています。

※1:「A Stealth, Selective, Link-layer Denial-of-Service Attack Against Automotive Networks」 Andrea Palanca (Politecnico di Milano); Eric Evenchick(Linklayer Labs); Federico Maggi (FTR, Trend Micro, Inc.); Stefano Zanero(Politecnico di Milano)

参考記事:

翻訳:澤山 高士(Core Technology Marketing, TrendLabs)