従来の車両セキュリティ対策といえば盗難防止やスマートキー、あるいは直接モジュールを接続して不正操作するなどの物理的な側面が強く、またさして重要視されていなかった傾向がありました。しかしながら、近年の自動車の技術的進歩は目覚ましく、車両に搭載されるECU(Electronic Control Unit)の数は年々増加し、今では「車輪のついたコンピューター」と揶揄されるほど、自動車には多くのコンピューターが搭載されています。
自動車がコンピューター化しているならば、そこには必ずセキュリティ脆弱性が存在します。特に、ECU同士の通信に使われる「車載通信プロトコル」の分野にはセキュリティ上の課題が山積しており、対策を急ぐ必要があります。
そこで本記事では、車載通信プロトコルの種類と役割、抱えているセキュリティ脅威とその対策について詳しく解説していきます。
車両に搭載されている「走る・曲がる・止まる」などの多くのコア機能は、多くのECU(Electronic Control Unit)によって電子制御されており、ときにその数は100を超えることもあります。これらの複雑な制御機構を協調制御するためには、ECU間で相互通信を行い、必要に応じて即座に情報を共有する必要があります。
車載通信プロトコルとはそういったECU間の情報通信(車載通信)に使用される通信規格のことで、その用途や特徴に応じていくつかの種類が使い分けられています。
CANは国際標準化機構(ISO)によって標準化された通信規格で、それまでメーカーごとに様々に開発されていた通信・制御システムの規格を統一し、大容量かつ高速なデータ通信を実現しました。
CAN通信の最大の特徴は外部からのノイズ耐性や、エラーの検出・修正機能に裏打ちされた高い「信頼性」です。そのため特に、正確な情報伝達が求められるエンジン・クラッチ・プロペラシャフトといったパワートレイン制御や、サスペンション・ブレーキといったシャシー制御などで利用されています。つまり「走る・曲がる・止まる」といった安心・安全を求められる制御機能において、CAN通信は必要不可欠なプロトコルといえます。
また、自動車以外にも飛行機や産業機器など、その高い信頼性が評価され、様々な分野で使用されています。
LINはパワーシート・パワーウィンドウ・ドアロックなどのボディー系システムにおいて主に使用されます。CAN通信は高性能である代わりにコストが高く、車載通信のすべてにCAN通信を採用することは最適ではありません。そういった背景から策定されたのがLINプロトコルで、CAN通信ほどの信頼性や高速性を必要としない箇所においては標準的に採用されています。
FlexRayは、CANと比較して機能性面で上位に位置づけられる次世代の通信プロトコルとして注目を集めています。主な特徴は次の通りです。
仕様が想定されるシーンとしては、従来の機械式制御に代わって電気信号でステアリングを制御する「ステアパイワイヤー」などで、CANよりも高速なデータ通信と冗長性が求められます。
車載ネットワーク・システムの脆弱性報告の中で、比較的多いものが車載通信プロトコル「CAN」に関連した脆弱性についてです。もともとCANは自動車の電子制御システムの複雑化に伴うコスト増加への対策として、データ通信の大容量化と高速化を目的に作られた規格です。よって決してセキュアなプロトコルとはいえず、様々な欠陥が存在します。
代表的な欠陥を3つ挙げると、以下の通りです。
車両のセキュリティ脅威が物理的側面に集中していた時代であれば、CANの脆弱性が問題になることはさほどありませんでした。車両内に物理的に侵入されなければ、ハッキングされる可能性が無かったためです。
しかし現代の自動車業界は、CASEとも呼ばれる新たな時代に突入しています。自動車はインターネットを介して、路側装置やスマートフォンを始めとする様々な通信デバイスに接続されます。自動車の制御に直結している車載ネットワークは、Wi-FiやBluetooth等を経由した外部危機からの接続が可能であるため、車両は常に、悪意のある第三者による遠隔ハッキングリスクに晒されることになります。
CASE:Connected(ネットワークへの接続)、Autonomous(自動運転)、Shared and Services(シェアリングとサービス)、Electoric(電動化)の頭文字を取った造語。
通常、CAN単体の脆弱性によって重大なセキュリティ事故が引き起こされることはありませんが、複数存在する様々なECUの脆弱性を利用されることで、大きな脅威となり得るといわれています。
CANでは、ノードをネットワークに接続することで構成するシンプルかつ容易なネットワーク設計が採用されています。また、各ノードに対して同レベルでのバスアクセスを許可しているため、比較的自由度の高い設計が可能となっています。しかし、この特徴を逆手に取れば、悪意のある攻撃を簡単に実行できてしまうのです。
CAN通信は同一バス上にブロードキャスト(一斉配信)されるうえに、暗号化等のセキュリティ対策は施されていないため、一度ネットワークに接続してしまえば簡単に通信の盗聴・解析が可能となります。また、デフォルトでは認証の仕組みも施されていないため、正規の通信へのなりすましも可能です。
こういった脆弱性から、例えば、CANバス上への偽メッセージの大量送信によるDoS攻撃によって、低機能なECUの処理を麻痺させたり。あるいは、偽メッセージを送信するインジェクション攻撃により、標的の機能の制御を乗っ取ることが可能になります。
無線等を利用して車載ネットワークへ接続し、リモートで不正操作が行われた事例も多く報告されています。例えば、自動車保険会社が開発した”運転時の行動をモニタリングできるデバイス”を悪用された事例では、実際に車載ネットワークに侵入され、リモートで不正操作が行われました。これは、当該デバイスに認証や暗号化等のセキュリティ対策が施されていないのにもかかわらず、CANバスへアクセスが可能だったことが原因でした。
別の事例では、Wi-FiやBluetoothを経由してマルチメディアシステム(ヘッドユニット)へアクセスできた事例が報告されています。ヘッドユニットにはLinuxなどの汎用的なOSが使用されているケースが多く、一度侵入してしまえば、攻撃者は容易にOSの権限を奪取することが可能です。しかし一般的にヘッドユニットとLANバスは切り離されており、ヘッドユニットの権限を奪ってもLANバスへアクセスすることは出来ません。ただし、この事例を報告した研究者は、V850と呼ばれる車載用マイコンのファームウェアを改ざんすることでCANバスへのアクセスを成功させており、ヘッドユニットの脆弱性といえども重大な事故へと繋がるリスクは捨てきれません。
このように、これから先の自動車はネットワークを介してあらゆるデバイスと繋がると同時に、無数の脆弱性と悪意のある脅威に晒され続けます。開発過程において脆弱性を可能な限り排除する取り組みはもちろん大事ですが、「侵入されることを前提とした対策」も同じくらい重要です。
サイバー攻撃に対してリアルタイムに対策を行うためには、まずは車両が攻撃を受けていることを検知する必要があります。そのための手段として用いられるツールが「車両侵入検知システム(IDS/Intrusion Detection System)」です。
車両侵入検知システムの役割としては、ネットワークやアプリケーションのデータ通信を監視し、疑わしい動きを検知することが基本となります。検知手法にはシグネチャ―型とアノマリー型に大別され、前者は事前に定義された「誤った振る舞い」を検知するのに対し、後者は「”通常の動き”から逸脱する振る舞い」を検知します。シグネチャー型は既知の攻撃に対しては強力に働きますが、未知の攻撃を検知することはできません。アノマリ型は未知の攻撃も検知することができますが、「通常の振る舞い」と「疑わしい振る舞い」をどれだけ正確に判別できるかが課題となります。
CASEという言葉が示す通り、これからの自動車はより一層便利で快適な移動体験を提供する手段として進化していきますが、同時に制御機構はより複雑化し、見えない脆弱性が次々に生まれ、あらゆるシーンで悪意のある第三者の脅威にさらされることになるでしょう。
そういった中、今回ご紹介した「車両侵入検知システム」は、自動車を利用する人間のプライバシーや安全を保護するための必要不可欠なセキュリティソリューションとして、広く導入が進められていくと考えられます。今後も車載通信プロトコルとセキュリティ脅威の動向に目が離せません。