【コンピュータシステム学科 大石和臣】車載組込みシステムとネットワークのセキュリティについて

 最近の自動車には複数のコンピュータが搭載されています.エンジンの燃焼性能を向上させるためにコンピュータ(マイコン)が使われたことがきっかけと言われていますが,今ではエンジンに限らず,ブレーキ,ドアロック,ウインドウ,タコメータ,エアコン,室内ライト等の様々な対象をマイコンが制御する車種が増えているようです.モータやセンサ等の部品をマイコンに接続して,それらの部品(周辺機器と呼ぶ)からの入力やそれらの部品への出力を制御して特定の機能を実現するコンピュータシステムを組込みシステムと呼びます.つまり,現在の自動車には複数の組込みシステムが搭載されており,自動車はそれらによって制御されていると言えます.自動車に搭載されているこのような組込みシステムのことをECU(Electronic Control Unit)と呼びます.

 これらのECUsはそれぞれが単独で動作しているとは限らず,ネットワークで接続され,協調して動作しているものも存在します.例えば,アクセルペダルを踏むとエンジンの回転が変化しますが,エンジンの回転を計測するセンサは常に回転を計測しており,センサからの計測結果を受け取ったECUは回転数の値をネットワークに送り続けています.一方,運転手の正面にあるインストゥルメンタルパネルにはいくつかの計器が備え付けられています.その中の一つであるタコメータ(エンジンの回転数を表示する計器)を制御するECUは,ネットワークから回転数の値を受け取り,タコメータにその値を表示するように制御しています.運転席のドアに助手席や後部座席のドアを遠隔ロックする集中制御スイッチが用意されている場合は,その集中制御スイッチのECUは運転手によってスイッチ操作された指示を受け取り,ネットワークを介して各ドアのロックを制御するECUに伝え,各ドアのECUはドアをロックするモータあるいはアクチュエータを制御することで,各ドアが物理的にロックあるいはアンロックされるという仕組みです.このようなECU間通信は専用のネットワークではなく共通のネットワーク上で行われており,その代表的な車載ネットワークがCAN(Controller Area Network)です.

 CANでやりとりされるデータを見ることはできないでしょうか?例えば,エンジンの回転数を読み取れるならば,好みのタコメータを取り付けてそのタコメータで回転数を表示できると嬉しいかもしれません.あるいは走行距離と消費燃料のデータが読み取れるならば,それらから燃費を自動で計算して表示してエコドライビングに役立てることができるかもしれません.そのような用途にも利用できる手段として,実は最近の自動車の多くにはOBD IIと呼ばれる接続端子が用意されています(写真1参照).

写真1:OBD II

写真1:OBD II

このOBD IIからCANの信号を読み取ることができるようになっています.また,読み取ったデータをBluetoothにより無線でタブレットやスマホに送る機械も手に入れることができます.写真2は,そのような機械の一つでありELM327とラベルに記載されています.

写真2:ELM 327

写真2:ELM 327

 OBD IIにELM 327を接続した様子を写真3に示します.

写真3:OBD IIにELM 327を接続した様子

写真3:OBD IIにELM 327を接続した様子

 ELM 327とタブレットをペアリング(Bluetoothを使って無線信号でデータをやりとりできるように設定)すると,タブレットにCANの情報が表示されます.写真4は,タブレットにTORQUEというアプリケーションを入れて動作させたときの画面です.

写真4:TORQUEのスクリーンショット

写真4:TORQUEのスクリーンショット

 以上は一つの例ですが,自動車の車載ネットワークCANを観測して車のいろいろな情報を取り出して活用することができます.コンピュータとネットワークの普及と発展は素晴らしい.しかし,世の中,便利なことばかりとは限りません.CANのデータを偽造して,偽の情報がOBD IIから自動車の中に流されたらどうなるでしょう?本当はエンジンの回転数は1000なのに,タコメータに5000が表示されたら運転手はビックリするでしょう.あるいは,夜の高速道路を運転中にいきなりワイパーが動きだしウインドウ洗浄液が吹き出してきたらビックリするだけではなく視界が遮られて前の車に衝突してしまうかもしれません.このように,自動車の組込みシステムとネットワークには,今までは考えられなかったセキュリティの問題が存在することが最近明らかになってきました.私の研究室ではこのような組込みシステムのセキュリティの研究も行っています.