日本マイクロソフトが開催した技術イベント「de:code 2018」で、「コネクテッドカー」のセキュリティに関するセッションが行われた。登壇したのは、カーシステムのセキュリティに関わるソフト開発、製造、販売、コンサルタント業務を専門とするWHITE MOTIONのCEO、蔵本雄一氏だ。
あらゆる分野にデジタル技術の影響が及ぶ「デジタルトランスフォーメーション」の時代において、その先陣を切っている業界の1つが「自動車」だ。ソフトウェアによる情報処理で利便性や安全性能を高めた「スマートカー」、インターネットと接続しデータをやりとりしながら各種の制御を行う「コネクテッドカー」などは、その最新の成果として期待されている。
そうした進化が進む一方、懸念されているのが「セキュリティリスクの増大」だ。新しいカーシステムが次々と生まれて進化する中で、どのようなリスクが生じる可能性があるのか。また、そのリスクを突こうとするサーバ攻撃を、どう防げばいいのだろうか。日本マイクロソフトが開催した技術イベント「de:code 2018」では、それをテーマにセッションが行われた。
「セキュリティマニアックス 〜みんなで守ろうコネクテッドカー〜」と題されたセッションに登壇したのは、カーシステムのセキュリティに関わるソフト開発、製造、販売、コンサルタント業務を専門とするWHITE MOTIONのCEO、蔵本雄一氏だ。
蔵本氏はまず、あるWebサイトを参照しながら、「最近の自動車に搭載されているソフトウェアのソースコード量はどのくらいだと思うか」と会場に質問した。
正解は「約1億行」。ちなみに、Linuxカーネル(2.2.0)は約100万行、Windows 3.1は200万行強、旅客機のボーイング787が約1000万行、ロッキード・マーティンのステルス戦闘機「F-35」は約2500万行である。実に最新鋭戦闘機の約4倍の量で書かれたソフトウェアが自動車には搭載されているという。
蔵本氏は「自動車には、膨大な量のコードで作られたプログラムが搭載されている。にもかかわらず、その保護は十分に行われていないのが現実」とし、幾つかのスライドやデモを交えながら、カーシステムのソフトウェアが十分に守られていない現状を示した。
カーシステムのプログラムが書き込まれたマイコンチップは、車載の基盤にハンダ付けされていることがほとんどだが、ハンダを剥がしてチップを引き抜き、解析ボードに接続することで、ハードウェアの知識がある人であれば比較的容易に内部へアクセスすることが可能だという。
また、そのプログラムは多くの場合、平文で書かれており難読化などが行われていない。そのため、リバースエンジニアリングも行いやすい。
さらにコード署名の考え方も浸透していないため、プログラムを改変することで認証などの仕組みを用意していたとしても無意味になってしまうケースが見受けられるとする。
「ソフトウェアの保護を意識してきたIT業界では、普通に行われているようなプログラムの暗号化、難読化、コード署名といった対策が、まだ十分に浸透していない。まず、自動車業界ではソフトウェアセキュリティに対する意識がIT業界ほどには進んでいない現状がある」
蔵本氏は、自動車業界が今後進んでいくだろう方向性を示すキーワードとして「CASE」を挙げた。これは、「コネクテッド(Connected)」「自律化(Autonomous)」「共有(Sharing)」「電気自動車(Electric Vehicle)」の頭文字を取ったものだ。これらのキーワードに基づく変化に合わせて、どのようにカーシステムのセキュリティを高めていくかが課題だとする。
特に「Connected」「Autonomous」「Share」といった領域では、その実現のためにネットワーク(インターネット)、サーバシステムなども活用されることになる。自動車単体のみならず、それら全てのポイントでの対策が必要で、「防御」すべきポイントは膨大になっていく。
自動車がエンドポイントの端末になると考えれば、「ネットワーク」や「システム」の防御は、現在ネットサービス業界で一般的に行われているような「盗聴防止」「データ改ざん防止」「侵入・攻撃への防御」といった対策が適用可能だ。一方の自動車側では、ソフトウェアであるカーシステム全体の保護、ネットワーク保護に加え、「製造段階でのリスク」「物理的なハッキング」といったハードウェアならではの攻撃ポイント、さらには「車内システムと連動するスマホアプリ」などの周辺環境までを視野に入れた対策が必要になってくる。
「攻撃者はどこを攻撃してもいい。一方、守る側にとっては守らなければならない範囲がとてつもなく広くなる。その全体を、1社で全て守るのはほぼ不可能。モダンビークルの時代には、それぞれの領域のスペシャリストが力を合わせて自動車を守る仕組みを作っていく必要がある。現在の自動車の多くは既に電気制御されているため、これはガソリン車かEVかといった動力の違いにかかわらず、どのような自動車に対しても当てはまる」
蔵本氏は「電気制御されている自動車がどのようにハッキングされるか」のイメージを示すため会場にミニチュアカーを用意し、コンセプトのデモを行った。現在、多くの自動車には「CAN(Controller Area Network)」と呼ばれる車載ネットワーク規格が採用されている。用意されたミニチュアカーは、このCAN準拠のプロトコルで動作が制御できるようになっているものだ。
まずは、一般的なPCへの攻撃などと同様に、ポートスキャンを行って開いているポートを発見。OSを特定した上で、「ディレクトリトラバーサル」脆弱(ぜいじゃく)性を利用して、ファイルを確認。発見したファイルを解析した上で、SSHでログインを行う。その状態からCANプロトコルによるメッセージを送り、自動車を攻撃者の意図で操作してしまうところまでが示された。
「余談だが、海外では、CANメッセージを一般的なPC周辺機器用の信号に変換し、本物の車の操縦席を使ってレースゲームを操作するような仕組みを趣味で作ってしまうようなことも実際に行われている」
攻撃者にとっては、既にそうしたホビー感覚での自動車ハッキングが可能な時代になっていることを十分に理解させるデモとなった。
蔵本氏は最後に「既に自動車は『ソフトウェアの固まり』と呼べる製品である」と改めて強調した上で「コネクテッドカーの時代が来れば、今よりもさらにコードの量は増え、リスクポイントは増えていく。それら全体をきちんと守っていくことの重要性は今後さらに高まっていくだろう」と述べた。
ソフトウェアをいかにセキュアに開発し、システムを安全に運用していくかといった点では、これまで自動車業界にあったノウハウだけではなく、IT業界で蓄積されてきた知見が必要となる。
「互いに知恵を持ち寄りながらコネクテッドカーを守っていきましょう」
Copyright © ITmedia, Inc. All Rights Reserved.