先ごろあるリサーチャーがProgressiveのドライバー追跡ツールSnapshotをエクスプロイトし、特定の自動車の車載ネットワークをハッキングできることを発見しました。SnapshotはOBDIIポートに取り付けて使うツールで、自動車保険会社のProgressiveが開発したものです。安全運転のドライバーに安価な保険料を提案できるように、運転時の行動をモニタリングするのがSnapshotの役目です。
よくご存じない方のために説明すると、OBDIIは運転席の下側にある入力ポートで、たいていはハンドルのやや左側にあります。大気汚染ガスを出さないように車載コンピューターシステムのコードをチェックするとき、整備士が排出ガス点検機器を接続するのがこのポートです。このほか、このポートに診断スキャナーを取り付ければ、エンジンチェックランプが点灯した原因を調べることができます。
簡単に言うと、車のコンピューターネットワークはセンサー、ECU(電子制御ユニット)、CAN(コントロールエリアネットワーク)バスで構成されています。中でも、ECUは搭載数が非常に多く、さまざまな用途で利用されます。主にセンサーからの信号を処理し、エンジン制御からエアバッグ、さらには聞いたこともないものまで、すべてを監視します。ECUは相互に接続され、CANバス経由で通信します。たとえば車が衝突した場合、あるセンサーから衝突したという信号がECUに渡され、そのメッセージがCANバスを経由して他のECUへ通知され、ECUからエアバッグを開けという指令が出るのです。
@Progressive のドライバー監視ツール #Snapshot に脆弱性:車をハッキングされる可能性も
Tweet
これまで、OBDIIポートはCANバスおよびECUと通信できる唯一のポートとされてきました。しかし、最新の調査結果によって、無線からも通信可能ということが判明したのです。
Digital Bond Labsのセキュリティリサーチャー、Cory Thuen氏は、200万台もの車で利用されているSnapshotデバイスを1台入手しました。リバースエンジニアリングで仕組みを解明した後、トヨタ・タンドラのOBDIIポートにSnapshotを取り付けました。その結果、Snapshotデバイスは認証もトラフィックの暗号化も行わず、電子証明書もセキュアブート機能もないことがわかりました。
わかりやすく言うと、Snapshotデバイスは携帯通信ネットワークを介して平文でProgressiveと通信します。要は、攻撃者がいとも簡単に偽の基地局を設置し、中間者攻撃を実行できるのです。
そんな重大なセキュリティ上の欠陥があるにもかかわらず、このデバイスはCANバスと通信できてしまいます。つまり、ハッカーは離れた場所からSnapshotドングル経由で車載ネットワークにコードを挿入し、エアバッグや非常ブレーキを乗っ取ることが十分に可能というわけです。Thuen氏の調査は、車載ネットワークにコードを挿入するところで終了しています。同氏はその理由について、コードインジェクションを阻止する対策が実装されているかどうか確かめたいだけだったからと述べています。
とは言うものの、慌てなくても大丈夫です。昨年、IOActiveの自動車セキュリティ研究ディレクターで、車のハッキングでも有名なクリス・ヴァラセク(Chris Valasek)氏に、CANバスに悪意あるコードを挿入する件について質問したところ、口で言うほど簡単ではないと断言されました。
もちろん、コードを挿入して、高速道路を走行中に並列駐車の自動支援機能を起動させることは可能です。ですが、車のECUは走行中に他にも無数の信号を処理しています。そのため、並列駐車の自動支援機能(他の機能でも同じですが)を起動するには、CANバスに大量の信号を送り込み、車のセンサーが出力する正規の情報をすべて無効にしなければなりません。
ヴァラセク氏とリサーチャー仲間のチャーリー・ミラー(Charlie Miller)氏は数年前、車載ネットワークに偽のセンサー信号を大量に送り込み、シートベルトのロック、ブレーキ、ハンドル操作を乗っ取ることに成功しました。ただし、これは途方もない労力がいる作業で、セキュリティ業界の聡明なリサーチャーである両氏は、研究を進めるためにDARPA(国防高等研究計画局)の許可が必要だったと聞きます。
CANバスを研究する人はあまり多くありません。一方で、ブラウザーセキュリティの研究には多くのリサーチャーが取り組んでいます。車のハッキングは、メーカーがブラウザーなどのインターネット接続機能を車に搭載し、販売するようになってから本格化しそうです。