自動車のセキュリティに対する懸念が高まっているが、具体的にはどのような課題があり、従来では考えられないような機能が搭載されているが、そのような機能が悪用されればどんな事態が起こる可能性があるのだろうか。特に、ECUなど個別の部品単位ではなく、システムとしての車全体で見た時に、どのようなリスクがあるのだろうか。
長年にわたり組み込みソフトウェアの検証サービスを提供してきたベリサーブと、IoTや組み込みセキュリティを研究テーマに掲げる京都産業大学情報理工学部の井上博之研究室が行った共同研究では、セキュリティテストベッド「PASTA(Portable Automotive Security Testbed with Adaptability)」や自動運転シミュレータの「CARLA」を活用し、数字ではなくその危険性を目で見える形で検証した。
幅広い分野の知識を背景に、テストベッドを用いて環境を構築
井上研究室とベリサーブでは2023年9月から、懸念の高まる自動車のセキュリティについて検証し、体系的にリスクを把握する目的で共同研究を開始した。
研究環境として活用したのが、トヨタが開発した車載ネットワークのセキュリティテストベッド「PASTA」だ。ECUやセントラルゲートウェイ(CGW)で構成されたシステムで、実際の自動車と同様にさまざまな運転操作をシミュレータで確認できる。同時に、ECU同士の通信が行われているCANバスにどのようなトラフィックが流れているかを解析し、外部からの攻撃にどのような挙動を示すかも確認できる。メーカーごとの固有プロトコルではなく、汎用プロトコルを採用しているため、広く研究開発・教育に活用できることが特徴だ。
実験では教育版である「PASTA for Education」を2セット購入し、一つは京都産業大学キャンパス内の井上研究室に設置して実験を行い、もう一つをベリサーブ社内で動かして実験結果の検証を行うことで、自動車セキュリティに関する知見を共有することとした。
なお、自動車のセキュリティ対策の難しさの根本には、レイヤーの幅広さ、関連する技術の幅広さがあると井上教授はいう。
「自動車に限らずIoTデバイス全般に言えることですが、ハードウェアはもちろん、ソフトウェやOSも独自設計というのがITとの大きな違いです。このため、ハードウェアに関する知識はもちろん、OSに関する知識、さらには外とつながるネットワークやその先にあるサーバ、クラウド、あるいはアプリケーションやスマートフォンなど端末側の知識も求められる、という具合です」(井上教授)
いずれのテーマを取っても、それだけで十分研究に値する分野だが、それらが組み合わさって今のコネクテッドカーはできている。
「もし何かが起こった時にどこに原因があるかをきちんと理解し、それぞれの役割を理解した上で全体を設計できるようにするには、こうした技術を一通り理解しておく必要があります」(井上教授)
共同研究の前提として、日頃の授業やゼミを通してこうした知識を一通り学ぶことで、少なくとも基本的な知識を身に付けるようにしているという。
何も手を触れていないのに車が横転? 検証で実証されたリスク
共同研究では
- 盗聴の可能性の調査
- なりすましの可能性の調査
- 自動運転シミュレータ「CARLA」との連携
- 自動運転の妨害
という4つのテーマを提示し、それぞれ検証を進めることにした。
実験に当たっては、環境構築や攻撃装置の準備が必要になる。構築にややてこずった部分もあったというが半年ほどかけて井上研究室の学生らが主体となり、実装と実験を行った。
まず「盗聴」の検証では、PASTAの内部CANコネクタと、一般的なOBD-IIを接続するためのケーブルを作成してCANバスを流れるトラフィックを観測した。その内容を、別途「Vehicle Spy 3」というCANプロトコルアナライザで構築したコンソールに表示し、公開されているPASTAのドキュメントを参照しながらCANメッセージの内容を解析し、エンジン回転数や速度などが把握できることを検証した。CANメッセージは暗号化されていないため、こうした解析も比較的容易だという。
続けて「なりすまし」の可能性も検証した。前述の通りCANメッセージは暗号化されていないため、流れるトラフィックからCAN IDとペイロードを抽出し、タイミングを見ながらペイロード部分を変更し、挙動を確認することで、ドライバーになりすましてさまざまな運転操作が行えることになる。実際に学生らは「なりすまし装置」を作成し、PASTAで流れるトラフィックに横からデータを注入することでアクセルやブレーキを操作でき、結果としてコンソールやメーターパネルの表示が変更されることが確認できた。
ここまでの検証はPASTA単体で行えるが、確認できるのはあくまでメーターパネル上の「数字」のみだ。そこで、車全体の挙動をより分かりやすく把握するために、Unreal Engineが提供するオープンソースの自動運転シミュレータ「CALRA」を組み合わせてみる、というのが三つ目の検証だ。
「CALRAでは、ハンドルをどのくらい切れば車がどのくらい曲がるのかなど、実際に車が走っている様子が分かります。なりすましによってブレーキをかければ車速が落ちることがメーター上でも分かりますが、CALRAを連携させることで、実際に車がどういう状態になっているかを視覚的に再現できます」(井上教授)
その上で、最後に自動運転機能の妨害が可能かどうかの検証を行った。ここまでの検証により、なりすましによって偽の妨害データを送り込めることは分かっている。それを簡単に実施できる「妨害装置」を学生が作成し、PASTA上のCANバスに対して送り込むことによってシフトポジションを変更したり、ハンドルを左右に切ったり、サイドブレーキを引くといった操作が行える環境を構築した。
実際に作成した検証環境では、ドライバーは何も操作をしていないのに、攻撃者側から操作を加えることで意図せぬ挙動が引き起こされ、車が壁に衝突したり、ひっくり返ってしまう様子がCALRAのシミュレータ上で確認できた。
井上教授は過去に、実車を使い、ODB-IIポート経由でCANメッセージの解析と再送を行うことでさまざまな運転操作が行えることを確認する実習を行ったこともある。これはこれで興味深い実験だが、シミュレータを活用することでより手軽に、また車を横転させてしまうような「無茶」も含め、よりさまざまな検証が行える。
学生の一人は「普段の授業は基本的に座学で、なりすましデータを送り込んだ後の結果も数値にしか反映されません。しかし今回の検証ではシミュレータを介して、操作結果が実世界に反映された状態を擬似的に見ることができ、実体験として大きかったと思います」と述べている。
特に、自動運転の妨害結果をCALRA上で目の当たりにすることで、「率直に言って、自動運転は、現時点では未完成の部分が多く少し怖いと感じました」という声もあった。自動運転やコネクテッドカーの分野は日進月歩で進化しているが、遠隔から簡単になりすましメッセージを送り込み、操作できてしまう可能性も皆無とは言えない。利便性は認めつつも、現時点ではまだ危険性が高いと感じたという。
「セキュリティの授業で、攻撃者は利益目的で攻撃を行っていることを習いました。しかしもし愉快犯がいれば、利益がなくてもこうした攻撃を行うかもしれないと感じました」という感想もあり、改めて、自動車のセキュリティ対策の必要性を認識することができた。
セキュリティに関する知見をもとに、日本のものづくりを元気に
このように井上研究室の学生らは、PASTAを活用したベリサーブとの共同研究を通して、車載ネットワークの基本とそれがはらむ脆弱性をより直感的に理解することができた。
「車に搭載されている組み込みシステムも単体で動作するのではなく、互いにつながり、通信し合いながら動作したり、遠隔からOTAでファームウェアのアップデートを行うようになっています。そんな中でわれわれは、ネットワーク的な知見も生かしつつ、『システムとしての自動車』に対する攻撃のメカニズムを知り、防御の仕組みを検討するといった形で、さらに共同研究を進めていきたいと思っています」(井上教授)
ベリサーブも、共同研究で得た知見を生かしつつ、自動車だけでなく、産業機器、医療機器など世の中とものづくりを支える機器のセキュリティ強化に貢献していく方針だ。
同時に学生たちがこうした知識を身に付けることで、コネクテッドカー領域で求められる専門人材へ育っていくことも期待できる。ネットワークとセキュリティ、組み込みやIoTといった幅広い分野を学んだ井上研究室の卒業生の中には、すでに、大手サプライヤーに就職して研究活動に従事している若手技術者もいるという。
井上教授は、「ものづくり立国」「技術立国」と言いながら、電機や携帯電話といったコンシューマー向け市場における日本メーカーの相対的な地位が低下している現状には、若干の歯痒さを感じるという。
「自動車はまだ世界的に見てもシェアが高く、最後の砦といってもいい存在です。また、部品・下請けメーカーも含め、産業として非常に裾野が広いという特徴もあります。日本のクルマ産業が引き続き成長し、ものづくりを続けていくには、きちんとネットワークやサイバーセキュリティのことを押さえていかなければなりません」(井上教授)。日本のものづくりを持続可能にしていくためにも、引き続き力を合わせて研究を進め、人材育成に努めていく。