(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022125099
(43)【公開日】2022-08-26
(54)【発明の名称】不正検知サーバ、及び、方法
(51)【国際特許分類】
H04L 12/28 20060101AFI20220819BHJP
【FI】
H04L12/28 200Z
H04L12/28 100A
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022101196
(22)【出願日】2022-06-23
(62)【分割の表示】P 2019521864の分割
【原出願日】2018-11-19
(31)【優先権主張番号】P 2017231495
(32)【優先日】2017-12-01
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】岸川 剛
(72)【発明者】
【氏名】松島 秀樹
(72)【発明者】
【氏名】芳賀 智之
(72)【発明者】
【氏名】前田 学
(72)【発明者】
【氏名】佐々木 崇光
(57)【要約】
【課題】車載ネットワークに関する情報が多数の車両から不正検知サーバにアップロードされたとしても、不正検知サーバの処理負荷の増大を抑える。
【解決手段】車載ネットワークを含む車載ネットワークシステムに関する情報を、車両外部の不正検知サーバに通知するゲートウェイ(900)は、車載ネットワークシステムを搭載する車両の状態と、車載ネットワークで通信されるメッセージの識別子と、メッセージの不正検知結果とのうちの1つ以上を用いて優先度を決定する優先度決定部(930)と、車載ネットワークで通信されるメッセージを送受信するフレーム送受信部(910)と、車載ネットワークに関する情報を、フレーム送受信部(910)が受信したメッセージに基づいて抽出するフレーム解釈部(920)と、優先度と、車載ネットワークに関する情報とを含んだ通知情報を不正検知サーバに通知するフレームアップロード部(950)とを備える。
【選択図】
図8
【特許請求の範囲】
【請求項1】
車載ネットワークを含む車載ネットワークシステムに関する情報を含んだ通知情報を1以上の車両から受信する不正検知サーバであって、
前記1以上の車両の車載ネットワークを含む車載ネットワークシステムに関する情報と当該情報の所定処理を優先する度合いを示す優先度とを含んだ通知情報を保持するメモリと、
前記メモリに保持される前記車載ネットワークシステムに関する情報から、前記車載ネットワークシステムに不正が発生しているか否かを分析するログ分析部を備え、
前記ログ分析部は、
前記通知情報に含まれる前記優先度が大きい前記通知情報ほど、前記通知情報に含まれる前記車載ネットワークシステムに関する情報の分析をより優先的に行う
不正検知サーバ。
【請求項2】
前記ログ分析部は、
前記通知情報に含まれる前記優先度が大きいほど、
前記車載ネットワークシステムに関する情報の分析の順番をより早くし、
前記車載ネットワークシステムに関する情報の分析に割り当てる計算資源をより大きくし、又は、
前記車載ネットワークシステムに関する情報の分析の実行をするか否かの判定において、より優先的に実行すると判定する
請求項1記載の不正検知サーバ。
【請求項3】
前記不正検知サーバは、さらに、
前記車載ネットワークシステムの不正に対処する処理を行う対処部を備え、
前記ログ分析部は、前記優先度が第一の所定の値以下である場合には、前記車載ネットワークシステムに関する情報の分析を禁止し、
前記対処部は、前記優先度が第二の所定の値以上である場合に、前記車載ネットワークシステムの不正に対処する処理を行う、
請求項2記載の不正検知サーバ。
【請求項4】
前記対処部は、
前記1以上の車両のうちの車両が備える前記車載ネットワークシステムの不正に対処する処理として、
(a)不正検知サーバ外部の管理者への不正発生の通知、
(b)前記車両に対する、運転支援機能及び自動運転機能を無効化する制御信号の通知、
(c)前記車両に含まれる暗号鍵情報の更新、
(d)前記車両に対する、機能安全モードへの移行の通知、
(e)前記車両に対する、遠隔制御モードへの移行の通知、
(f)前記車両の外部に存在するオペレータとの通話、
(g)前記車両に含まれる情報系システムの強制終了、及び、
(h)前記車両に含まれる電子制御装置のファームウェアのアップデート、
(i)前記車両のカーメーカに通知、
(j)前記車両に含まれる電子制御装置のサプライヤに通知、
(k)前記車両のユーザに通知、及び、
(l)複数のカーメーカ間で共通で利用可能なセキュリティプロバイダーに通知、のいずれか1つ以上を行う、
請求項3記載の不正検知サーバ。
【請求項5】
前記不正検知サーバは、さらに、
前記1以上の車両が前記不正検知サーバに通知する前記通知情報の前記優先度の下限値を設定する設定部を備え、
前記設定部は、
前記不正検知サーバの処理負荷を測定し、
計測した前記不正検知サーバの処理負荷が所定の値以上である場合に、前記優先度の下限値を上昇させて、前記車両に通知する、
請求項1から3のいずれか1項に記載の不正検知サーバ。
【請求項6】
前記不正検知サーバは、さらに、
前記1以上の車両の前記車載ネットワークシステムに関する情報と前記優先度とを含んだ通知情報を受信する通信部を備える、
請求項1から5のいずれか1項に記載の不正検知サーバ。
【請求項7】
前記不正検知サーバは、エッジサーバであり、
前記エッジサーバは、クラウドサーバと通信可能であり、
前記ログ分析部による分析結果を前記クラウドサーバに通知する、
請求項1から6のいずれか1項に記載の不正検知サーバ。
【請求項8】
前記不正検知サーバは、路側機である、
請求項7に記載の不正検知サーバ。
【請求項9】
車載ネットワークを含む車載ネットワークシステムに関する情報を含んだ通知情報を1以上の車両から受信する不正検知サーバであって、
前記1以上の車両から、前記車載ネットワークシステムに関する情報と当該情報の所定処理を優先する度合いを示す優先度とを含んだ通知情報を受信する第三通信部と、
前記車載ネットワークシステムに関する情報を用いて、前記車載ネットワークシステムに不正が発生しているか否かの分析の優先順を決定するログ分析部を備え、
前記ログ分析部は、
前記通知情報に含まれる前記優先度が大きいほど、
前記車載ネットワークシステムに関する情報の分析の順番をより早くし、又は、
前記車載ネットワークシステムに関する情報の分析の実行をするか否かの判定において、より優先的に実行すると判定する
不正検知サーバ。
【請求項10】
不正検知サーバが実行する方法であって、
不正検知サーバは、1以上の車両の車載ネットワークを含む車載ネットワークシステムに関する情報と当該情報の所定処理を優先する度合いを示す優先度とを含んだ通知情報を保持するメモリを含み、
前記方法は、
前記メモリに保持される前記車載ネットワークシステムに関する情報から、前記車載ネットワークシステムに不正が発生しているか否かを分析し、
前記分析は、
前記通知情報に含まれる前記優先度が大きい前記通知情報ほど、前記通知情報に含まれる前記車載ネットワークシステムに関する情報の分析をより優先的に行う
方法。
【請求項11】
車載ネットワークを含む車載ネットワークシステムに関する情報を含んだ通知情報を1以上の車両から受信する不正検知サーバが実行する方法であって、
前記1以上の車両から、前記車載ネットワークシステムに関する情報と当該情報の所定処理を優先する度合いを示す優先度とを含んだ通知情報を受信し、
前記車載ネットワークシステムに関する情報を用いて、前記車載ネットワークシステムに不正が発生しているか否かの分析の優先順を決定するログ分析部を備え、
前記ログ分析部は、
前記通知情報に含まれる前記優先度が大きいほど、
前記車載ネットワークシステムに関する情報の分析の順番をより早くし、又は、
前記車載ネットワークシステムに関する情報の分析の実行をするか否かの判定において、より優先的に実行すると判定する
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不正検知サーバ、及び、方法に関する。
【背景技術】
【0002】
近年、自動車の中のシステムには、電子制御ユニット(以下、ECU、Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在するが、その中でも最も主流な車載ネットワークの一つに、Controller Area Network(以降、CANともいう)という規格が存在する。
【0003】
CANでは、不正なフレームが送信されるようなケースを想定したセキュリティ機能が存在しないため、不正なノードが勝手にCANのバスに接続し、不正にフレームを送信することで、車両を不正にコントロールしてしまうことが可能である。
【0004】
特許文献1は、車載ネットワークに送信されたフレームに関する情報を、不正検知サーバにアップロードすることで、車載ネットワークにおいて送信されたフレームの異常度を算出する方法を開示している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の方法では、車両ネットワークに関する情報が多数の車両からアップロードされた際に、ネットワークの通信量、又は、不正検知サーバの処理負荷が増大する。不正検知サーバの処理負荷の増大は、電力利用の観点で望ましくなく、また、不正なイベント検知の遅延の原因になる点でも望ましくない。
【0007】
そこで、本発明は、車載ネットワークに関する情報が多数の車両から不正検知サーバにアップロードされたとしても、不正検知サーバの処理負荷の増大を抑える電子制御装置等を提供する。
【課題を解決するための手段】
【0008】
本発明の一態様に係る不正検知サーバは、車載ネットワークを含む車載ネットワークシステムに関する情報を含んだ通知情報を1以上の車両から受信する不正検知サーバであって、前記1以上の車両の車載ネットワークを含む車載ネットワークシステムに関する情報と当該情報の所定処理を優先する度合いを示す優先度とを含んだ通知情報を保持するメモリと、前記メモリに保持される前記車載ネットワークシステムに関する情報から、前記車載ネットワークシステムに不正が発生しているか否かを分析するログ分析部を備え、前記ログ分析部は、前記通知情報に含まれる前記優先度が大きい前記通知情報ほど、前記通知情報に含まれる前記車載ネットワークシステムに関する情報の分析をより優先的に行う不正検知サーバである。
【0009】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本発明によれば、電子制御装置は、車載ネットワークに関する情報が多数の車両からアップロードされたとしても、不正検知サーバの処理負荷の増大を抑えることができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態1における、車載ネットワーク監視システムの全体構成を示す図である。
【
図2】
図2は、実施の形態1における、車載ネットワークシステムの全体構成を示す図である。
【
図3】
図3は、実施の形態1における、不正検知サーバの構成を示す図である。
【
図4】
図4は、実施の形態1における、車両情報DBに格納される車両情報の例を示す図である。
【
図5】
図5は、実施の形態1における、車両ログ格納DBに格納される車両ログの例を示す図である。
【
図6】
図6は、実施の形態1における、分析結果格納DBに格納される分析結果の例を示す図である。
【
図7】
図7は、実施の形態1における、セキュリティ情報DBに格納されるセキュリティ情報の例を示す図である。
【
図8】
図8は、実施の形態1における、ゲートウェイの構成を示す図である。
【
図9】
図9は、実施の形態1における、ルール保持部の優先度ルールの例を示す図である。
【
図10】
図10は、実施の形態1における、車両と不正検知サーバとの間の処理シーケンスの例を示す図である。
【
図11】
図11は、実施の形態1における、不正検知サーバでの車両ログ分析処理を示すフローチャートである。
【
図12】
図12は、実施の形態2における、車載ネットワークシステムの構成を示す図である。
【
図13】
図13は、実施の形態2における、ゲートウェイの構成を示す図である。
【
図14】
図14は、実施の形態2における、不正通知フレームの例を示す図である。
【
図15】
図15は、実施の形態2における、不正検知ルール保持部に格納される不正検知ルールの例を示す図である。
【
図16】
図16は、実施の形態2における、ECUの構成を示す図である。
【
図17】
図17は、実施の形態2における、優先度ルール保持部に格納される優先度ルールの例を示す図である。
【
図18】
図18は、実施の形態2における、フレーム受信履歴保持部に格納されるフレーム受信履歴の例を示す図である。
【
図19】
図19は、実施の形態2における、ゲートウェイのフレーム受信時の処理を示すフローチャートである。
【
図20】
図20は、実施の形態2における、ECUの処理を示すフローチャートである。
【
図21】
図21は、実施の形態2における、車両と不正検知サーバとの間の正常時の処理シーケンスを示す図である。
【
図22】
図22は、実施の形態2における、車両と不正検知サーバとの間の不正検知時の処理シーケンスの第一例を示す図である。
【
図23】
図23は、実施の形態2における、車両と不正検知サーバとの間の不正検知時の処理シーケンスの第二例を示す図である。
【
図24】
図24は、実施の形態2における、車両と不正検知サーバとの間の不正検知時の処理シーケンスの第三例を示す図である。
【
図25】
図25は、その他の変形例(6)における、車載ネットワーク監視システムの全体概要を示す図である。
【
図26】
図26は、その他の変形例(7)における、不正検知サーバの処理フローチャートである。
【
図27】
図27は、その他の変形例(8)における、車載ネットワークシステムの概要を示す図である。
【発明を実施するための形態】
【0012】
本発明の一態様に係る不正検知サーバは、車載ネットワークを含む車載ネットワークシステムに関する情報を含んだ通知情報を1以上の車両から受信する不正検知サーバであって、前記1以上の車両の車載ネットワークを含む車載ネットワークシステムに関する情報と当該情報の所定処理を優先する度合いを示す優先度とを含んだ通知情報を保持するメモリと、前記メモリに保持される前記車載ネットワークシステムに関する情報から、前記車載ネットワークシステムに不正が発生しているか否かを分析するログ分析部を備え、前記ログ分析部は、前記通知情報に含まれる前記優先度が大きい前記通知情報ほど、前記通知情報に含まれる前記車載ネットワークシステムに関する情報の分析をより優先的に行う不正検知サーバである。
【0013】
本発明の一態様に係る不正検知サーバは、車載ネットワークを含む車載ネットワークシステムに関する情報を含んだ通知情報を1以上の車両から受信する不正検知サーバであって、前記1以上の車両から、前記車載ネットワークシステムに関する情報と当該情報の所定処理を優先する度合いを示す優先度とを含んだ通知情報を受信する第三通信部と、前記車載ネットワークシステムに関する情報を用いて、前記車載ネットワークシステムに不正が発生しているか否かの分析の優先順を決定するログ分析部を備え、前記ログ分析部は、前記通知情報に含まれる前記優先度が大きいほど、前記車載ネットワークシステムに関する情報の分析の順番をより早くし、又は、前記車載ネットワークシステムに関する情報の分析の実行をするか否かの判定において、より優先的に実行すると判定する不正検知サーバである。
【0014】
本発明の一態様に係る方法は、不正検知サーバが実行する方法であって、不正検知サーバは、前記1以上の車両の車載ネットワークを含む車載ネットワークシステムに関する情報と当該情報の所定処理を優先する度合いを示す優先度とを含んだ通知情報を保持するメモリを含み、前記方法は、前記メモリに保持される前記車載ネットワークシステムに関する情報から、前記車載ネットワークシステムに不正が発生しているか否かを分析し、前記分析は、前記通知情報に含まれる前記優先度が大きい前記通知情報ほど、前記通知情報に含まれる前記車載ネットワークシステムに関する情報の分析をより優先的に行う方法である。
【0015】
本発明の一態様に係る方法は、車載ネットワークを含む車載ネットワークシステムに関する情報を含んだ通知情報を1以上の車両から受信する不正検知サーバが実行する方法であって、前記1以上の車両から、前記車載ネットワークシステムに関する情報と当該情報の所定処理を優先する度合いを示す優先度とを含んだ通知情報を受信し、前記車載ネットワークシステムに関する情報を用いて、前記車載ネットワークシステムに不正が発生しているか否かの分析の優先順を決定するログ分析部を備え、前記ログ分析部は、前記通知情報に含まれる前記優先度が大きいほど、前記車載ネットワークシステムに関する情報の分析の順番をより早くし、又は、前記車載ネットワークシステムに関する情報の分析の実行をするか否かの判定において、より優先的に実行すると判定する方法である。
【0016】
本発明の一態様に係る電子制御装置は、車載ネットワークを含む車載ネットワークシステムに関する情報を、車両外部の不正検知サーバに通知する電子制御装置であって、前記車載ネットワークシステムを搭載する車両の状態と、前記車載ネットワークで通信されるメッセージの識別子と、前記メッセージの不正検知結果とのうちの1つ以上を用いて優先度を決定する優先度決定部と、前記車載ネットワークで通信されるメッセージを送受信する第一通信部と、前記車載ネットワークに関する情報を、前記第一通信部が受信した前記メッセージに基づいて抽出する車両ログ抽出部と、前記優先度と、前記車載ネットワークに関する情報とを含んだ通知情報を前記不正検知サーバに通知する第二通信部とを備える。
【0017】
これにより、電子制御装置は、車載ネットワークシステムに関する情報を優先度とともに車外に設置される不正検知サーバにアップロードする。これにより、不正検知サーバは、車両内部の状況に応じた、通知情報の優先度を把握することが可能となる。そして、不正検知サーバにおいて、優先度に応じた分析等の処理が可能となり、分析に割り当てる計算資源の判断及び効率的な分析、対処すべき優先度の高い通知情報への即時対処につながり効果的である。
【0018】
言い換えれば、車載ネットワークシステムにおける不正検知装置が受信する、車載ネットワークに関する情報が増大したとしても、車載ネットワークから通知される情報に優先度を示す情報が含まれているので、不正検知装置は、優先度を示す情報にしたがって上記情報を処理することができる。よって、不正検知装置の処理負荷を抑えつつ、即時の不正なイベント検出を可能にする。このようにして、電子制御装置は、車載ネットワークに関する情報が多数の車両から不正検知サーバにアップロードされたとしても、不正検知サーバの処理負荷の増大を抑えることができる。
【0019】
例えば、前記車両の状態は、前記第一通信部が受信した前記メッセージをもとに算出される情報であって、前記車両の速度、前記車両の加速度、前記車両の操舵角度、前記車両の運転支援機能の動作状況、及び、前記車載ネットワークの帯域占有率のうちの1つ以上を含む情報であってもよい。
【0020】
これにより、車両の走行状態又はリスクが比較的高い状況が反映された優先度が不正検知サーバに送信される。そして、よりリスクの高い状況において、不正検知サーバでの処理優先度が高まり、安全性向上につながる。
【0021】
例えば、前記優先度決定部は、前記メッセージの識別子により定まる前記メッセージの種別が、運転支援及び自動運転に関わる制御メッセージ、前記車両に搭載されている電子制御装置のファームウェアアップデートに関わるメッセージ、前記車両の走行状態通知に関わるメッセージ、及び、前記車両の診断用メッセージのいずれかを含む場合に、より高い前記優先度を決定してもよい。
【0022】
これにより、より車両制御への影響の高いメッセージであることを示す情報が反映された優先度が不正検知サーバに送信される。そして、よりリスクの高いメッセージにおいて、不正検知サーバでの処理優先度が高まり、安全性向上につながる。
【0023】
例えば、前記不正検知結果は、前記車載ネットワークで通信されるメッセージに含まれる、メッセージ認証コードの検証結果を含み、前記優先度決定部は、前記メッセージ認証コードの検証結果が不当である場合に、より高い前記優先度を決定してもよい。
【0024】
これにより、車両内部で発生した不正な状況が反映された優先度が不正検知サーバに送信される。そして、よりリスクの高い不正な状況において、不正検知サーバでの処理優先度が高まり、安全性向上につながる。
【0025】
例えば、前記電子制御装置は、さらに、前記車載ネットワークで通信されるメッセージの不正を検知する不正検知部を備え、前記メッセージの不正検知結果は、前記不正検知部が前記メッセージの不正を検出したか否かを示す情報であり、前記優先度決定部は、前記不正検知結果が、前記メッセージの不正を検出したことを示す場合に、より高い前記優先度を決定してもよい。
【0026】
これにより、車両内部で発生した不正な状況が反映された優先度が不正検知サーバに送信される。そして、よりリスクの高い不正なメッセージにおいて、不正検知サーバでの処理優先度が高まり、安全性向上につながる。
【0027】
例えば、前記通知情報は、前記通知情報に含まれる前記車載ネットワークに関する情報に係る前記メッセージの識別子を含み、前記第二通信部は、前記不正検知サーバに過去に通知した過去の通知情報を保持しており、前記不正検知サーバに新たな通知情報を通知する前に、前記過去の通知情報の中に、前記新たな通知情報に含まれる前記車載ネットワークに関する情報に係る前記メッセージの識別子、前記メッセージの不正検知結果、及び、前記優先度のうちの所定の一部が一致する場合に、前記通知情報を前記不正検知サーバに通知することを禁止してもよい。
【0028】
これにより、同種の通知情報を不正検知サーバに繰り返し通知することを回避できる。その結果、ネットワークの通信帯域の削減および、サーバの処理負荷軽減につながり効果的である。
【0029】
例えば、前記第二通信部は、前記優先度が第一の所定の値以下である場合には、不正検知サーバに前記通知情報を通知することを禁止する処理、又は、所定の通信間隔を有する第一タイミングで不正検知サーバに前記通知情報を通知する処理のいずれかの処理を行い、前記優先度が第二の所定の値以上である場合には、前記第一タイミングとは異なる第二タイミングで不正検知サーバに前記通知情報を通知してもよい。
【0030】
これにより、優先度が比較的高い通知情報を即時に、不正検知サーバへ通知することが可能となり、リスクの高い状況において、即時の分析及び、対処が期待でき効果的である。
【0031】
また、本開示の一態様に係る不正検知サーバは、車載ネットワークを含む車載ネットワークシステムに関する情報を含んだ通知情報を1以上の車両から受信する不正検知サーバであって、前記1以上の車両から、優先度と前記車載ネットワークシステムに関する情報とを含んだ通知情報を受信する第三通信部と、前記車載ネットワークシステムに関する情報から、前記車載ネットワークシステムに不正が発生しているか否かを分析するログ分析部を備え、前記ログ分析部は、前記通知情報に含まれる前記優先度が大きい前記通知情報ほど、前記通知情報に含まれる前記車載ネットワークシステムに関する情報の分析をより優先的に行う。
【0032】
これにより、不正検知サーバは、車両内部の状況に応じた、通知情報の優先度を把握することが可能となる。そして、不正検知サーバにおいて、優先度に応じた分析等の処理が可能となり、分析に割り当てる計算資源の判断及び効率的な分析、対処すべき優先度の高い通知情報への即時対処につながり効果的である。
【0033】
例えば、前記ログ分析部は、前記通知情報に含まれる前記優先度が大きいほど、前記車載ネットワークに関する情報の分析の順番をより早くし、前記車載ネットワークに関する情報の分析に割り当てる計算資源をより大きくし、又は、前記車載ネットワークに関する情報の分析の実行をするか否かの判定において、より優先的に実行すると判定してもよい。
【0034】
これにより、不正検知サーバは、優先度の大きさに応じてより具体的に、車載ネットワークに関する情報の分析の順番、当該分析に割り当てる計算資源の大きさ、当該分析を実行するか否かについて決定し、分析の処理を制御することができる。
【0035】
例えば、前記不正検知サーバは、さらに、前記車載ネットワークの不正に対処する処理を行う対処部を備え、前記ログ分析部は、前記優先度が第一の所定の値以下である場合には、前記車載ネットワークに関する情報の分析を禁止し、前記対処部は、前記優先度が第二の所定の値以上である場合に、前記車載ネットワークの不正に対処する処理を行ってもよい。
【0036】
これにより、あらかじめ定められた閾値をもとに、優先度に応じた分析等の処理が可能となる。そして、分析に割り当てる計算資源の判断及び効率的な分析、対処すべき優先度の高い通知情報への即時対処につながり効果的である。
【0037】
例えば、前記対処部は、前記1以上の車両のうちの車両が備える前記車載ネットワークの不正に対する対処として、(a)不正検知サーバ外部の管理者への不正発生の通知、(b)前記車両に対する、運転支援機能及び自動運転機能を無効化する制御信号の通知、(c)前記車両に含まれる暗号鍵情報の更新、(d)前記車両に対する、機能安全モードへの移行の通知、(e)前記車両に対する、遠隔制御モードへの移行の通知、(f)前記車両の外部に存在するオペレータとの通話、(g)前記車両に含まれる情報系システムの強制終了、及び、(h)前記車両に含まれる電子制御装置のファームウェアのアップデート、のいずれか1つ以上を行ってもよい。
【0038】
これにより、不正検知サーバの分析結果にしたがって、安全な車両制御のための具体的な対処を促すことが可能となり、効果的である。
【0039】
例えば、前記不正検知サーバは、さらに、前記1以上の車両が前記不正検知サーバに通知する前記通知情報の前記優先度の下限値を設定する設定部を備え、前記設定部は、前記不正検知サーバの処理負荷を測定し、計測した前記不正検知サーバの処理負荷が所定の値以上である場合に、前記優先度の下限値を上昇させて、前記車両に通知してもよい。
【0040】
これにより、サーバの処理負荷に応じて、車両から通知される情報を制限することが可能となり、通信量の削減及び、サーバの処理負荷安定化の観点から効果的である。
【0041】
また、本開示の一態様に係る車載ネットワークシステムは、車載ネットワークを含む車載ネットワークシステムに関する情報を含んだ通知情報を、車両外部の不正検知サーバに通知する車載ネットワークシステムであって、前記車載ネットワークシステムは、第一電子制御装置と、第二電子制御装置と、を備え、前記第一電子制御装置は、前記車載ネットワークで通信されるメッセージの不正を検知する不正検知部と、前記不正検知部が前記メッセージの不正検知結果を、前記第二電子制御装置に通知する不正通知部とを備え、前記第二電子制御装置は、前記車載ネットワークシステムを搭載する車両の状態と、前記車載ネットワークシステムで通信されるメッセージの識別子と、前記メッセージの不正検知結果とのうちの1つ以上を用いて優先度を決定する第二優先度決定部と、前記車載ネットワークで通信されるメッセージを送受信する第四通信部と、前記車載ネットワークに関する情報を、前記第四通信部が受信した前記メッセージに基づいて抽出する第二車両ログ抽出部と、前記第一電子制御装置から前記メッセージの不正検知結果を受信する第二不正検知結果受信部と、前記優先度と、前記車載ネットワークに関する情報とを含んだ通知情報を前記不正検知サーバへ通知する第五通信部とを備える。
【0042】
これにより、第一及び第二の電子制御装置を用いて通知された優先度と情報とに基づいて、不正検知サーバが、車両内部の状況に応じた、通知情報の優先度を把握することが可能となる。そして、不正検知サーバにおいて、優先度に応じた分析等の処理が可能となり、分析に割り当てる計算資源の判断及び効率的な分析、対処すべき優先度の高い通知情報への即時対処につながり効果的である。
【0043】
例えば、前記車載ネットワークシステムは、さらに、第三電子制御装置を備え、前記第三電子制御装置は、前記車載ネットワークシステムを搭載する車両の状態と、前記車載ネットワークシステムに通信されるメッセージの識別子と、前記メッセージの不正検知結果とのうちの1つ以上を用いて優先度を決定する第三優先度決定部と、前記車載ネットワークで通信されるメッセージを送受信する第六通信部と、前記車載ネットワークに関する情報を、前記第六通信部が受信した前記メッセージに基づいて抽出する第三車両ログ抽出部と、前記第一電子制御装置から前記メッセージの不正検知結果を受信する第三不正検知結果受信部と、前記優先度と、前記車載ネットワークに関する情報とを含んだ通知情報を前記不正検知サーバへ通知する第七通信部とを備え、前記不正通知部は、検知した不正なメッセージに含まれる識別子が、第一電子制御装置が送信するメッセージの識別子である場合に、前記不正検知結果を前記第三電子制御装置へ通知してもよい。
【0044】
これにより、車両内部の不正である疑いがある電子制御装置を介さずに、車載ネットワークに関する情報を、不正検知サーバに通知することが可能となり、安全性の向上に効果的である。
【0045】
また、本開示の一態様に係る車載ネットワーク監視システムは、車両に搭載される車載ネットワークを監視する、車載ネットワーク監視システムであって、前記車載ネットワーク監視システムは、前記車載ネットワークを含む車載ネットワークシステムに関する情報を、車両外部の不正検知サーバに通知する電子制御装置と、前記不正検知サーバと、を含み、前記電子制御装置は、前記車載ネットワークシステムを搭載する車両の状態と、前記車載ネットワークで通信されるメッセージの識別子と、前記メッセージの不正検知結果とのうちの1つ以上を用いて優先度を決定する優先度決定部と、前記車載ネットワークで通信されるメッセージを送受信する第一通信部と、前記車載ネットワークに関する情報を、前記第一通信部が受信した前記メッセージに基づいて抽出する車両ログ抽出部と、前記優先度と、前記車載ネットワークに関する情報とを含んだ通知情報を前記不正検知サーバに通知する第二通信部とを備え、前記不正検知サーバは、前記1以上の車両から、優先度と前記車載ネットワークシステムに関する情報とを含んだ通知情報を受信する第三通信部と、前記車載ネットワークシステムに関する情報から、前記車載ネットワークシステムに不正が発生しているか否かを分析するログ分析部を備え、前記ログ分析部は、前記通知情報に含まれる前記優先度が大きい前記通知情報ほど、前記通知情報に含まれる前記車載ネットワークシステムに関する情報の分析をより優先的に行う。
【0046】
これにより、車載ネットワーク監視システムは、上記電子制御装置及び上記不正検知サーバと同様の効果を奏する。
【0047】
また、本開示の一態様に係る車載ネットワーク監視方法は、車両に搭載される車載ネットワークを監視する、車載ネットワーク監視方法であって、車載ネットワークシステムを搭載する車両の状態と、前記車載ネットワークで通信されるメッセージの識別子と、前記メッセージの不正検知結果とのうちの1つ以上を用いて優先度を決定する優先度決定ステップと、前記車載ネットワークで通信されるメッセージを送受信する第一通信ステップと、前記車載ネットワークに関する情報を、前記第一通信ステップで受信した前記メッセージに基づいて抽出する車両ログ抽出ステップと、前記優先度と、前記車載ネットワークに関する情報とを含んだ通知情報を通知する第二通信ステップと、前記1以上の車両から、優先度と前記車載ネットワークシステムに関する情報とを含んだ通知情報を受信する第三通信ステップと、前記車載ネットワークシステムに関する情報から、前記車載ネットワークシステムに不正が発生しているか否かを分析するログ分析ステップとを含み、前記ログ分析ステップでは、前記通知情報に含まれる前記優先度が大きい前記通知情報ほど、前記通知情報に含まれる前記車載ネットワークシステムに関する情報の分析をより優先的に行う。
【0048】
これにより、車載ネットワーク監視方法は、上記電子制御装置及び上記不正検知サーバと同様の効果を奏する。
【0049】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【0050】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0051】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0052】
(実施の形態1)
以下、複数の電子制御ユニット(電子制御装置又はECUともいう)がCANバスを介して通信する車載ネットワーク(車載ネットワークシステム)を搭載した複数台の車両と、サーバ(不正検知サーバともいう)とを含む車載ネットワーク監視システム、並びに、車載ネットワークシステムに関する情報を不正検知サーバに通知する情報通知方法について説明する。
【0053】
この情報通知方法では、車載ネットワークシステム上に流れるフレームの情報に加えて、不正検知サーバの処理の優先度を示す情報を含めて、電子制御装置が不正検知サーバに情報を通知する。
【0054】
不正検知サーバは、車載ネットワークシステム上のフレームを大量に通知されたとしても、優先度に従い、不正検知処理を行うことができるので、即時の不正検知および、サーバの処理負荷低減につながり有用である。
【0055】
[1.1 車載ネットワーク監視システムの全体構成]
図1は、本実施の形態に関わる車載ネットワーク監視システムの全体構成を示す図である。車載ネットワーク監視システムは、不正検知サーバ80と、車両1010a、1010b、1010c、1010d、1010e及び1010fとが、通信路であるネットワーク81で接続されて構成される。
【0056】
ネットワーク81は、インターネットあるいは、専用回線を含みうる。車両1010a、1010b、1010c、1010d、1010e及び1010fは、車内の制御装置、センサ、アクチュエータ、ユーザインタフェース装置等の各種機器に接続されて、車内のバス(CANバス)を介して通信を行う複数のECUを含んで構成される車載ネットワークを備える。
【0057】
各車両の車載ネットワークでは、各ECUはCANプロトコルにしたがって通信を行う。CANプロトコルにおけるフレームには、データフレーム、リモートフレーム、オーバーロードフレーム及びエラーフレームがある。ここでは主としてデータフレームに注目して説明する。なお、CANにおいてデータフレームは、IDを格納するIDフィールド、データ長を示すDLC(Data Length Code)、データを格納するデータフィールドを含むように規定されている。
【0058】
車両1010a及び1010bは、車種Aの車両であり、車両1010c及び1010dは、車種Bの車両であり、車両1010e及び1010fは、車種Cの車両である。
【0059】
ここで、車種が同一の車両同士は、車載ネットワークの構成が同一である。すなわち、ここでの車種が同一の車両は、例えば、型式(車両型式)が同一の車両であり、車両の識別情報としての車両IDの一部が同一の車両である。同一車種の複数の車両において、車載ネットワークのCANバスに流れるデータフレーム(メッセージ)の利用に関する仕様(メッセージIDごとのデータフィールドの内容の規定等)は同じである。
【0060】
また、車種が相違する車両同士において、同種のECUを備えることもある。同種のECUとは、構成が同一のECUであり、例えば、同じ製造業者による同型式のECUであり、また、主たる機能を実現するための構成が同一のECUを含むこととしてもよい。
【0061】
車種が相違する車両同士において同種のECUを搭載している場合には、その各車両の同種ECUが送信するフレームのIDは互いに異なり得る。
【0062】
[1.2 車載ネットワークシステムの構成]
図2は、車種Aの車両1010a(車両1010bも同様)における車載ネットワークシステムの構成の一例を示す図である。他の車種の車両においては、
図2に示す構成と同様の構成あるいは、一部異なる構成等を備える。
【0063】
車両1010a等における車載ネットワークシステムは、バス(CANバス)10、20、30、40及び50により接続された複数のECU(ECU100、101、200、201、300、301、302、400及び401)とゲートウェイ900といった各ノードを含んで構成される。なおゲートウェイ900もECUの1つである。
図2では省略しているものの、車載ネットワークシステムには、さらに多くのECUが含まれうる。
【0064】
ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAMであり、プロセッサにより実行される制御プログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラムにしたがって動作することにより、ECUは各種機能を実現する。なお、コンピュータプログラムは、所定の機能を実現するために、プロセッサに対する命令コードが複数個組み合わされて構成されたものである。
【0065】
バス10には、それぞれエンジン110及びトランスミッション111に接続されたECU(エンジンのECU)100及びECU(トランスミッションのECU)101を含む、モータ、燃料、電池の制御といった車両の「走る」に関連するパワートレイン系のECUが、接続されている。
【0066】
バス20には、それぞれ、ブレーキ210及びステアリング211に接続されたECU(ブレーキのECU)200及びECU(ステアリングのECU)201を含む、「曲がる」、「止まる」等といった車両の挙動等の制御に関連するシャーシ系のECUが、接続されている。
【0067】
バス30には、それぞれカメラ310、カーナビゲーション装置(カーナビともいう)311及び車車間通信モジュール312に接続されたECU300、ECU301及びECU302を含む、カメラ情報を元に運転支援の認知、判断及び制御を行う機能、又は、オーディオヘッドユニットに関わる機能、車車間通信といった情報系に関連するECUが接続されている。
【0068】
バス40には、それぞれドア410及びライト411に接続されたECU400及びECU401を含む、エアコン又はウィンカー等といった車両の装備の制御に関連するボディ系のECUが、接続されている。
【0069】
バス50には、例えばOBD2(On-Board Diagnostics2)等といった、外部の診断ツール(故障診断ツール)等と通信するためのインタフェースである診断ポート510が接続されている。
【0070】
ECU(ECU100及び200等)のそれぞれは、接続されている機器(エンジン110、ブレーキ210等)の状態を取得し、定期的に状態を表すフレーム等を車載ネットワークつまりCANバスに送信している。
【0071】
バス10に接続されたECU100、101と、バス20に接続されたECU200、201と、バス30に接続されたECU300、301及び302とは、メッセージ認証コード(MAC、Message Authentication Code)を処理する機能を有するECUであるMAC対応ECUである。MACを処理する機能とは、具体的には、MACの生成機能及びMACの検証機能などである。
【0072】
バス40に接続されたECU400及び401は、MACを処理する機能を有しないMAC非対応ECUである。
【0073】
ゲートウェイ900は、MACの生成機能および検証機能を有するMAC対応ECUである。
【0074】
ゲートウェイ900は、異なる複数の通信路を接続して通信路間でデータを転送するECUである。ゲートウェイ900は、バス10、バス20、バス30、バス40及びバス50と接続している。つまり、ゲートウェイ900は、ゲートウェイ900に接続されている一のバスから受信したフレーム(データフレーム)を、一定条件下で他のバス(つまり条件に応じて選択した転送先バス)に転送する機能を有する一種のECUである。
【0075】
ゲートウェイ900は、車両の外部の不正検知サーバ80と通信するための通信装置(通信回路等)を備え、例えば、各バスから受信したフレームについての情報を不正検知サーバ80に送信(アップロード)する機能を有する。ゲートウェイ900の構成については、後に詳細に説明する。
【0076】
[1.3 不正検知サーバの構成]
図3は、不正検知サーバ80の構成図である。不正検知サーバ80は、車両1010a等の車載ネットワークで送信される不正なフレームに対処するためのサーバである。不正検知サーバ80は、例えばプロセッサ、メモリ、通信インタフェース等を備えるコンピュータにより実現され、通信部810と、処理判断部820と、ログ収集部830と、ログ分析部840と、結果通知部850と、受付部860と、対処部870と、車両情報DB880と、車両ログ格納DB881と、分析結果格納DB882と、セキュリティ情報DB883と、設定部890とを含んで構成される。
【0077】
車両情報DB880と、車両ログ格納DB881と、分析結果格納DB882と、セキュリティ情報DB883とは、例えば、メモリ、ハードディスクといった記憶媒体等により実現されうる。
【0078】
また、処理判断部820、ログ分析部840、ログ収集部830、対処部870および設定部890それぞれの機能は、例えば、メモリに格納された制御プログラムがプロセッサにより実行されることにより、実現されうる。
【0079】
通信部810は、通信インタフェース、メモリに格納された制御プログラムを実行するプロセッサ等により実現される。通信部810は、第三通信部に相当する。
【0080】
通信部810は、車両1010a、1010b、1010c、1010d、1010e及び1010fと、ネットワークを介して通信することで、各車載ネットワークに関する情報を受信する。車載ネットワークに関する情報は、例えば、各車載ネットワークのCANバス上に流れたフレームの内容、受信タイミング(間隔又は頻度等)、バス負荷率及びフレームのMAC検証結果に関する情報が含まれうる。
【0081】
また、各車載ネットワークに関する情報に加えて、現在の車両の状態等のメタ情報が併せて通知される。メタ情報は、現在の車両の位置、BSM(Basic Safety Message)、天候、車載ネットワークに関する情報の処理優先度を示す情報が含まれうる。車両の位置は、例えばGPS(Global Positioning System)により取得されるGPS位置である。
【0082】
また、通信部810は、対処部870から通知される、車両セキュリティインシデントに対処するためのセキュリティ用情報を、各車両に送信する。セキュリティ用情報は、例えば、車両の乗員等を対象としたアラート(警告)通知のための提示用情報、車両の走行等の制御指示を示す制御情報、車両において暗号処理の適用に際して用いられる暗号鍵の更新を指示するための制御情報、車両側でフレームに関わる不正を検知するための不正検知用情報、自動運転システム若しくは運転支援システムを無効化するための情報、オーディオヘッドユニット若しくは外部通信モジュールの機能を無効化するための情報、又は、車両をフェイルセーフモードへ移行させる制御情報等である。
【0083】
処理判断部820は、通信部810から通知される、車載ネットワークに関する情報に対する処理内容を判断する。このとき、メタ情報をもとに、処理内容を判断する。
【0084】
処理判断部820は、例えば、メタ情報に含まれる優先度が比較的低いときは、通知された情報をログ収集部830へ通知することで、車両ログ格納DB881へ保存する。なお、優先度が比較的低いとは、例えば、優先度が所定の閾値以下である範囲に属すること、又は、優先度が比較的低いことを意味する所定値であることをいう。より具体的には、所定値は、優先度が0~5の範囲の整数値で表現される場合において0とする。
【0085】
また、優先度が中程度であるときは、通知された情報をログ収集部830へ通知するとともに、ログ分析部840に、通知されたログの分析を処理するように通知する。なお、優先度が中程度であるとは、例えば、優先度が比較的低い場合と、比較的高い場合との間の範囲に属すること、又は、優先度が中程度であることを意味する所定値であることをいう。より具体的には、所定値は、優先度が0~5の範囲の整数値で表現される場合において、1、2又は3とする。
【0086】
また、優先度が比較的高いときは、通知された情報をログ収集部830へ通知するとともに、ログ分析部840に、通知されたログの分析をするように通知するとともに、優先的に、分析処理にメモリまたはCPUのリソースを割り当てる。なお、優先度が比較的高いとは、例えば、優先度が所定の閾値以上である範囲に属すること、又は、優先度が比較的高いことを意味する所定値であることをいう。より具体的には、所定値は、優先度が0~5の範囲の整数値で表現される場合において4又は5とする。
【0087】
さらに、優先度が最高であるときは、通知された情報をログ収集部830へ通知するとともに、ログ分析部840へ、分析をするように通知し、さらに、結果通知部850へ、情報を通知することで、不正なイベントを車載ネットワーク監視システムの管理者、またはセキュリティオペレーションセンターのセキュリティアナリストへ通知する。なお、優先度が最高であるとは、優先度が、とりうる値のうちでの最高の値であることをいう。例えば、優先度が0~5の範囲の整数値で表現される場合において、5とする。
【0088】
ログ収集部830は、各車両から収集したログ情報の内容である各種データ(車載ネットワークで受信されたフレームについての情報等)を、車両情報DB880に格納されている情報に基づき、車両ログ格納DB881に格納する。
【0089】
ログ収集部830は、各種データを車両ログ格納DB881へ格納する際に、各種データに所定の正規化等の処理を施してもよい。
【0090】
車両情報DB880に格納されるデータについては、
図4を用いて後に説明する。また、車両ログ格納DB881に格納されるデータ(車両ログ情報)については
図5を用いて後に説明する。
【0091】
ログ分析部840は、車載ネットワークシステムに関する情報から、車載ネットワークシステムに不正が発生しているか否かを分析する。ログ分析部840は、通知情報に含まれる優先度が大きい通知情報ほど、通知情報に含まれる車載ネットワークシステムに関する情報の分析をより優先的に行う。なお、ログ分析部840は、優先度が第一の所定の値以下である場合には、車載ネットワークに関する情報の分析を禁止してもよい。第一の所定の値は、例えばゼロである。
【0092】
具体的には、ログ分析部840は、車両ログ格納DB881に格納された各車両から収集されたログ情報を用いて分析することにより、ある車両の車載ネットワークで受信されたフレームが不正であるか否か、つまり、攻撃者によりその車載ネットワークに攻撃フレームが送信されたか否かを判断する機能を有する。
【0093】
ログ分析部840は、蓄積されたログ情報が表す、各車両から収集された複数のフレームについての情報、より具体的には、複数のフレームそれぞれの内容、受信タイミング等の情報について、例えば、統計処理等を行いうる。
【0094】
ログ分析部840は、通信部810により取得された複数のフレームについての情報と、その複数のフレームについての取得より後に、通信部810により取得された、一の車両(例えば車両1010a)の車載ネットワークおいて受信されたフレームについての情報とに基づいて、その一の車両の車載ネットワークにおいて受信されたそのフレームの異常度、又は、異常の有無を判断する機能を持つ。
【0095】
ログ分析部840は、例えば、正常状態において車載ネットワークで流れる各フレームについての所定モデルであって、異常状態との比較に用いることができる所定モデルを構築し、逐次取得されるログ情報に基づいて機械学習を用いて所定モデルをより適切なものへと調整(更新)することとしてもよい。
【0096】
この場合に、ログ分析部840は、集積したログ情報が表す複数のフレームについての情報に適宜、加工処理(例えば多変量解析等)を施して、所定モデルの学習のために供給し得る。所定モデルの学習には、教師あり学習、教師なし学習のいずれの方式を用いてもよい。
【0097】
例えば、各車両の車載ネットワークシステムにおいて、所定ルールに基づいてそのルールに適合しないフレーム(不正フレーム)がCANバスに流れたことを検知する不正検知機能がある場合には、不正フレームか不正でないフレームかの区別を示す情報をログ情報に含ませてもよく、ログ分析部840では、その区別を示す情報に基づいて、所定モデルについて教師あり学習を行ってもよい。
【0098】
また、ログ分析部840では、各車両から不正フレームでないフレームについてのログ情報を収集して、或いは不正フレームか否かについて区別せずにログ情報を収集して、これらのログ情報に基づいて、所定モデルについて教師なし学習を行ってもよい。
【0099】
この所定モデルは、ある車両の車載ネットワークで受信されたフレームについての異常度(異常の度合い)の算定に利用される。所定モデルの内容は、そのフレームの異常度の算定に用いることができるものであればよい。
【0100】
異常度は、例えば、そのフレームについての情報と所定モデルとの比較(つまりフレームについての情報と所定モデルとを用いた演算処理)により算定される。ログ分析部840は、異常度の算定のための所定モデルとして、例えば、同一車種の各車両におけるログ情報に基づいて、正常状態において車載ネットワークで受信されるフレームについての特徴量、より具体的には、フレームの内容、受信間隔、受信頻度等の各成分を含む特徴ベクトル等の分布を表わすように所定モデルを構築し得る。
【0101】
なお、所定モデルは、例えば、異常度を目的変数としてログ情報を説明変数とする場合の目的変数と説明変数との間の関係を表すモデルであってもよい。異常度は、例えば、異常なし(つまり正常)の場合に0(ゼロ)とし、異常ありの場合に異常の度合いに応じた正の数値をとるように定め得る。異常度は、0(例えば異常なし)と1(例えば異常あり)との2値をとるものであってもよいし、異常ありを複数段階に区別して3値以上をとるものであってもよい。
【0102】
異常度が所定閾値を超える場合に異常ありと判別するような活用も可能である。一例としては、ある車両の車載ネットワークで受信されたフレームの異常度は、そのフレームの特徴量が、既に集積されたログ情報に基づいて定められた所定モデルが示す特徴量の分布(例えば平均値と分散で特定される正規分布)に対する標準偏差に所定係数(例えば3)を乗じて定まる閾値を境界とする範囲の内に位置するか否かで算定でき、また、所定係数を複数用いることで異常度を複数段階に算定できる。異常度を算定するための所定モデルの構築に用いられる手法としては、外れ値検出、又は、時系列上の急激な変化を検出する変化点検出等の手法がある。
【0103】
このようにログ分析部840は、集積されたログ情報(車両ログ情報)が表す各車両の車載ネットワークで受信された複数のフレームについての情報に基づいて、その複数のフレームについての受信より後に、ある車両の車載ネットワークにおいて受信されたフレームの異常度等を算定する。ある車両の車載ネットワークにおいて受信されたフレームの情報もその車両のログ情報から得ることができる。
【0104】
ある車両の車載ネットワークで受信されたフレームについて算定した異常度により異常ありと判別した場合(つまり攻撃フレームを検知した場合)に、ログ分析部840は、結果通知部850へ、分析結果を通知することで、不正なイベントの発生を車載ネットワーク監視システムの管理者あるいは、セキュリティオペレーションセンターに所属するセキュリティアナリストへ通知する。
【0105】
ログ分析部840は、集積したログ情報に基づく統計処理、所定モデルの更新(学習)、ある車両の車載ネットワークで受信されたフレームの異常度の算定等の各種分析処理を逐次行う。
【0106】
そしてログ分析部840は、その分析処理の結果(例えば更新後の所定モデルを表わす情報、算定した異常度に関する情報等)を、分析結果格納DB882に格納して保存し、次回の分析処理(つまりフレームの異常度の算定等)に利用する。分析結果格納DB882に格納されるデータは
図6を用いて後に説明する。
【0107】
結果通知部850は、処理判断部820、またはログ分析部840から、車載ネットワーク監視システムの管理者に通知すべき不正なイベントがあると判断された場合に、分析結果格納DB882に格納される不正なイベントに関わる情報を、車載ネットワーク監視システムの管理者Uへ通知する手段を備える。
【0108】
例えば、結果通知部850は、ディスプレイに接続され、不正な発生のイベントをディスプレイ上に表示する等を行う。また、結果通知部850は、Webサーバとして機能してもよいし、メールサーバとして、管理者Uにメール通知を行ってもよい。
【0109】
なお通知先は、車載ネットワーク監視システムの管理者Uでなくてもよい、例えば車載ネットワーク監視業務を委託されたセキュリティオペレーションセンターのセキュリティアナリストへ通知するとしてもよい。
【0110】
受付部860は、車載ネットワーク監視システムの管理者Uから、不正なイベントに対する対処のための操作を受け付ける。例えば、受付部860は、GUI(Graphical User Interface)を備えており、GUIを介して不正なイベントに対する対処のための操作を受け付けてもよい。なお、受付部860は、マイクと備え、マイクによって取得した管理者Uの音声に対する音声認識処理により、不正なイベントに対する対処のための操作を受け付けてもよい。
【0111】
対処の例としては、車両の乗員等を対象としたアラート(警告)通知、車両の走行等の遠隔制御、車両において暗号処理の適用に際して用いられる暗号鍵の更新、車載ネットワークシステムのアップデート、自動運転システム若しくは運転支援システムを無効化、オーディオヘッドユニット若しくは外部通信モジュールの機能を無効化、車両のフェイルセーフモードへの移行、又は、オペレータとの通話などが含まれうる。
【0112】
受付部860は、車載ネットワーク監視システムの管理者から、対処の処理を受け付けると、対処部870へ、その処理の内容を通知する。
【0113】
対処部870は、車載ネットワークの不正に対処する処理を行う。対処部870は、受付部860から通知された内容を実現するために、セキュリティ情報DB883に格納される情報をもとに、通信部810へ通信内容を通知する。セキュリティ情報DB883に格納されるデータは
図7を用いて後に説明する。
【0114】
対処部870は、1以上の車両のうちの車両が備える車載ネットワークの不正に対する対処として、例えば、(a)不正検知サーバ80外部の管理者への不正発生の通知、(b)車両に対する、運転支援機能及び自動運転機能を無効化する制御信号の通知、(c)車両に含まれる暗号鍵情報の更新、(d)車両に対する、機能安全モードへの移行の通知、(e)車両に対する、遠隔制御モードへの移行の通知、(f)車両の外部に存在するオペレータとの通話、(g)車両に含まれる情報系システムの強制終了、及び、(h)車両に含まれる電子制御装置のファームウェアのアップデート、のいずれか1つ以上を行う。
【0115】
なお、優先度が第二の所定の値以上である場合に限り、車載ネットワークの不正に対処する処理を行うようにしてもよい。第二の所定の値は、例えば1である。
【0116】
設定部890は、1以上の車両が不正検知サーバ80に通知する通知情報の優先度の下限値を設定する。設定部890は、不正検知サーバ80の処理負荷を測定し、計測した不正検知サーバ80の処理負荷が所定の値以上である場合に、優先度の下限値を上昇させて、車両に通知する。所定の値は、例えば、70%~80%とすることができる。なお、設定部890は、必須の構成ではない。
【0117】
なお、本実施の形態においては、不正検知サーバ80内に受付部860と対処部870を含む構成を示したが、これらは同一サーバ内に含まれていなくてもよい。例えば、ログ分析を行った結果を通知する不正検知サーバ80とは別に、対処を行うインシデントレスポンスサーバが存在し、その構成に受付部860と、対処部870とが含まれていてもよい。
【0118】
[1.4 車両情報DB]
図4は、不正検知サーバ80の車両情報DB880が保持する車両情報の一例を示す図である。
図4に示すように車両情報は、車種ごとに共通の設計情報などを含む。設計情報は、その車種の車両が搭載しているECUのID(つまりECUの種別を識別するための型式等)と、そのECUが送信するフレームのID(つまりCANメッセージID)と、フレームの送信されるバスの識別情報と、そのフレームにMACが含まれているか否かとを対応付けた情報である。
【0119】
なお、車両情報はこれらに限らない。例えば、フレームの送信設定周期、又は、フレームに含まれるデータフィールドを適切なフィールドに分割する信号表を保持していてもよい。
【0120】
例えば、
図4に示される車両情報では、車種Aの車載ネットワークを構成するECU IDが「001」であるECUが、CANメッセージID「0x100」のフレームと、CANメッセージID「0x101」のフレームとを送信することが示されている。
【0121】
そして、CANメッセージIDが「0x100」のフレームがバス10に送信されること、及び、CANメッセージIDが「0x101」のフレームがバス20に送信されることが示されている。また、いずれのフレームもMACを含んでいることが示されている。
【0122】
同様に、
図4に示される車両情報では、ECU IDが「002」のECUが、CANメッセージIDが「0x200」のフレームをバス10に、MACを含めずに送信することが示されている。
【0123】
また、
図4に示される車両情報では、車種Bの車載ネットワークを構成するECU IDが「001」であるECUが、CANメッセージID「0x110」のフレームと、CANメッセージID「0x111」のフレームとを送信することが示されている。
【0124】
そして、CANメッセージIDが「0x110」のフレームがバス10に送信されること、及び、CANメッセージIDが「0x111」のフレームがバス20に送信されることが示されている。また、いずれのフレームもMACを含んでいることが示しされいる。
【0125】
同様に、
図4に示される車両情報では、ECU IDが「003」のECUが、CANメッセージIDが「0x301」のフレームをバス30に、MACを含めて送信するが示されている。
【0126】
この例では、車種Aの車両と車種Bの車両とは、同種のECU(つまり、ECU IDが「001」のECU)を搭載しているが、それぞれのECUが送信するフレームについてのCANメッセージIDが互いに異なることを示している。このように同種のECUは、複数の車種の車両に搭載されうる。相違する車種の各車両に搭載された、同種のECUそれぞれが送信するフレームについては、フレームのCANメッセージIDが相違しうるだけで、そのほかのフレームの内容は、同一である。
【0127】
[1.5 車両ログ格納DB]
図5は、不正検知サーバ80の車両ログ格納DB881の内容である車両ログ情報の一例を示す図である。
図5に示すように車両ログ情報は、カーメーカが製造する各種車両について、車種と、車種ごとに車両を識別するための車両IDと、車両に搭載される各ECUのECU IDと、その各ECUが送信するフレームについての情報であるCANログとを関連付けて表す情報である。この車両ログ情報は、不正検知サーバ80が各車両から取得したログ情報を集積することで生成されている。
【0128】
ここで、CANログは、例えばCANフレームの識別情報(ID)、フレームの受信周期、フレームのDLCが示すデータ長、又は、フレームのデータフィールドの内容であるデータ等を示し、各車両から受信したログ情報の内容に基づく情報である。
【0129】
なお、CANログの各情報は、ログ情報が示すCANのフレームについての特徴量(例えば特徴ベクトル等)を正規化したものであってもよい。
【0130】
なお、車両ログ情報における車種は、例えば車両IDに基づいて特定されうる。この車両ログ情報に基づく分析処理により、ログ分析部840では、ある車両の車載ネットワークで受信されたフレームについての異常度の算定等が行われる。
【0131】
なお、
図5では、記載を省略したが、車両ログ格納DB881には、車両状態、位置情報、又は、処理優先度等のメタ情報が含まれていてもよい。
【0132】
[1.6 分析結果格納DB]
図6は、不正検知サーバ80の分析結果格納DB882の内容である分析結果の一例を示す図である。
図6に示すように分析結果は、車種、車両ID、時刻、位置情報、車両状態、検知された異常、及び、優先度を含んで構成される。
【0133】
例えば、
図6の分析結果では、車種Aであり、車両IDが1010aの車両が、時刻が2020年5月6日の13時51分30秒であるときに東京を高速走行しており、そのときに、バスの負荷が高い「高バス負荷」の異常が検知されたことが示されている。また、上記の情報とともにゲートウェイ900から通知された優先度が3であったことが示されている。
【0134】
同様に、車種Aであり、車両IDが1010aの車両が、時刻が2020年5月6日の13時51分20秒であるときに東京を高速走行しており、そのときに、「高バス負荷」の異常が検知されたことが示されている。また、上記の情報とともにゲートウェイ900から通知された優先度は2であったことが示されている。
【0135】
また、車種Aであり、車両IDが1010aの車両が、時刻が2020年5月6日の13時41分18秒であるときに大阪を走行しており、そのときに偽装メッセージが検知された「偽装メッセージ検知」の異常が検知されたことが示されている。また、上記の情報とともにゲートウェイ900から通知されたメタ情報の優先度は2であったことが示されている。
【0136】
なお、
図6では、位置情報を都道府県単位で記載しているが、GPS情報などの情報であってもよい。
【0137】
[1.7 セキュリティ情報DB]
図7は、不正検知サーバ80のセキュリティ情報DB883の内容であるセキュリティ情報の一例を示す図である。
図7に示すように、セキュリティ情報は、各車両が実行可能又は実行不可能である処理の一覧を保持している。
【0138】
車載ネットワーク監視システムの管理者は、車種ごとに実行可能な処理のうちから、車載ネットワークの不正に対する対処として実行する処理を決定する。
図7の例では、車種Aは、運転支援の無効化とファームウェアの更新とを実行することが可能であるが、遠隔制御を実行することが不可であることが示されている。同様に車種Bは、運転支援の無効化と、遠隔制御と、ファームウェアの更新との全てを実行することが可能であることが示されている。また、車種Cは、ファームウェア更新を実行することが可能であり、運転支援の無効化と遠隔制御とを実行することが不可であることが示されている。また、車種Dは、車種Aと同様に、運転支援の無効化とファームウェアの更新とを実行することが可能であるが、遠隔制御を実行することが不可であることを示している。
【0139】
[1.8 ゲートウェイの構成]
図8は、ある車両(例えば車両1010a)の車載ネットワークにおけるゲートウェイ900の構成を示す。ゲートウェイ900は、車載ネットワークを含む車載ネットワークシステムに関する情報を、車両外部の不正検知サーバ80に通知するECUである。
【0140】
図8に示すように、ゲートウェイ900は、フレーム送受信部910と、フレーム解釈部920と、優先度決定部930と、更新処理部940と、フレームアップロード部950と、転送制御部960と、鍵処理部970と、フレーム生成部980と、ルール保持部990と、転送ルール保持部991と、鍵保持部992とを含んで構成される。
【0141】
これらの構成要素の各機能は、例えばゲートウェイ900における通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。例えば、フレームアップロード部950及び、更新処理部940は、不正検知サーバ80と通信するための通信回路等により実現される。
【0142】
フレーム送受信部910は、バス10、バス20、バス30、バス40及びバス50のそれぞれに対して、CANプロトコルに従ったフレームを送受信する。フレーム送受信部910は、バスからフレームを1bitずつ受信し、フレーム解釈部920に通知する。フレーム送受信部910は、第一通信部に相当する。
【0143】
また、フレーム送受信部910は、フレーム生成部980より通知を受けた転送先のバスを示すバス情報及び送信用のフレームに基づいて、そのフレームの内容を、バス10、バス20、バス30、バス40及びバス50のうち転送先のバスに、1bitずつ送信する。
【0144】
フレーム解釈部920は、フレーム送受信部910よりフレームの値を受け取り、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。フレーム解釈部920は、受信されたフレームの各フィールドの情報を優先度決定部930へ通知する。フレーム解釈部920は、車載ネットワークに関する情報を、フレーム送受信部910が受信したメッセージに基づいて抽出する車両ログ抽出部に相当する。
【0145】
なお、フレーム解釈部920は、受け取ったフレームがCANプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するようにフレーム生成部980へ通知する。
【0146】
また、フレーム解釈部920は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降は、そのフレームを破棄する、つまりエラーフレームの解釈を中止する。
【0147】
優先度決定部930は、車載ネットワークシステムを搭載する車両の状態と、車載ネットワークで通信されるメッセージの識別子と、メッセージの不正検知結果とのうちの1つ以上を用いて優先度を決定する。
【0148】
優先度決定部930は、具体的には、ルール保持部990が保持する優先度ルールを参照し、不正検知サーバ80へ通知するメッセージに含める優先度を決定する。一例としては、車両の走行状態を判断し、走行中であれば、優先度を中程度と決定する。ルール保持部990が保持するルールについては
図9を用いて後に説明する。なお、優先度決定部930が優先度を決定することを、優先度を判断する、又は、優先度を算出すると表現することもできる。
【0149】
優先度決定部930は、優先度を決定すると、フレームアップロード部950に、受信したフレームと、決定した優先度を通知する。優先度決定部930は、車両のイグニッションがONになってからの起動時刻を保持するタイマ、又は、受信したフレームの個数を表すカウンタを保持するメモリ等を保有しており、バスごとに単位時間あたり(例えば1秒間)の受信フレームの個数を算出する。
【0150】
また、優先度決定部930は、現在の車両の状態を保持するメモリを保有しており、例えば、現在の車両の速度情報、又は、加速度情報を記憶している。
【0151】
ここで、車両の状態は、フレーム送受信部910が受信したメッセージをもとに算出される情報であって、車両の速度、車両の加速度、車両の操舵角度、車両の運転支援機能の動作状況、及び、車載ネットワークの帯域占有率のうちの1つ以上を含む情報であってもよい。
【0152】
また、優先度決定部930は、メッセージの識別子により定まるメッセージの種別が、運転支援及び自動運転に関わる制御メッセージ、車両に搭載されている電子制御装置のファームウェアアップデートに関わるメッセージ、車両の走行状態通知に関わるメッセージ、及び、車両の診断用メッセージのいずれかを含む場合に、より高い優先度を決定してもよい。
【0153】
また、上記不正検知結果は、車載ネットワークで通信されるメッセージに含まれる、メッセージ認証コードの検証結果を含んでいてもよい。その場合、優先度決定部930は、メッセージ認証コードの検証結果が不当である場合に、より高い優先度を決定する。
【0154】
さらに、優先度決定部930は、さらに、車載ネットワークで通信されるメッセージの不正を検知する不正検知部931を備えてもよい。この場合、メッセージの不正検知結果は、不正検知部931がメッセージの不正を検出したか否かを示す情報とする。そして、優先度決定部930は、不正検知結果が、メッセージの不正を検出したことを示す場合に、より高い優先度を決定する。
【0155】
更新処理部940は、ルール保持部990が保持している優先度ルールを、不正検知サーバ80から取得される情報に基づいて更新する。
【0156】
フレームアップロード部950は、優先度決定部930から通知される、いずれかのCANバスから受信されたフレームを逐次取得し、受信されたフレームについての情報(例えば、フレームの内容、受信間隔、受信頻度等)を含むログ情報を不正検知サーバ80に送信(アップロード)する。フレームアップロード部950は、第二通信部に相当する。
【0157】
この時にログ情報に加えて、優先度決定部930から通知される優先度をメタ情報として含めてアップロードする。メタ情報はさらに、その他の各種情報(車両の状態情報、Basic Safety Message、車両の位置情報、バス負荷率)を含めてもよい。
【0158】
さらに、フレームアップロード部950は、ログ情報に、車両の識別情報(車両ID)を含める。フレームアップロード部950は、受信されたフレームについての情報として、不正検知サーバ80で統計処理、機械学習等を行う場合に取り扱いやすいように、フレームの内容、受信間隔、又は、受信頻度等を加工する加工処理を施してもよい。
【0159】
ここで、フレームの受信間隔は、例えば、そのフレームの受信時刻と、そのフレームと同一IDのフレームが前回受信された時刻との差である。
【0160】
また、フレームの受信頻度は、例えば、一定の単位時間において、そのフレームと同一IDのフレームが受信された数である。この加工処理は、例えば、フレームの内容、受信間隔、受信頻度等の特徴から特徴量を抽出し、正規化等を行い、特徴量の情報量の縮約を行うこと等である。特徴量の情報量の縮約は、例えば、特徴量を各成分としての特徴ベクトルで表し、不正検知サーバ80と連携して得た情報に基づいて、特徴ベクトルの次元数を主成分分析等の次元削減アルゴリズムを用いることで実現されうる。
【0161】
また、フレームアップロード部950は、優先度決定部930から通知を受けるたびに、そのフレームについての情報を含むログ情報を不正検知サーバ80に送信することとしてもよいし、優先度にしたがって不正検知サーバ80に送信しないとしてもよい。但し、CANバスから受信されたフレームについての情報を、迅速に不正検知サーバ80へ伝えると、そのフレームが異常であるか否かを不正検知サーバ80に迅速に検知させて対処を可能にしうる。
【0162】
また、フレームアップロード部950は、例えば不正検知サーバ80とのトラフィック量を削減すべく、無条件で、又は通信状況に応じて、ログ情報を圧縮して不正検知サーバ80に送信してもよい。また、フレームアップロード部950は、フレーム送受信部910がCANバスから受信したフレームのうち全てのフレームについての情報ではなく特定の1つまたは複数のIDのフレームだけについての情報をログ情報に含めて送信してもよい。
【0163】
また、フレームアップロード部950は、不正検知サーバ80に過去に通知した過去の通知情報を保持しており、不正検知サーバ80に新たな通知情報を通知する前に、過去の通知情報の中に、新たな通知情報に含まれる車載ネットワークに関する情報に係るメッセージの識別子、メッセージの不正検知結果、及び、優先度のうちの所定の一部が一致する場合に、通知情報を不正検知サーバ80に通知することを禁止するようにしてもよい。ここで、通知情報は、通知情報に含まれる車載ネットワークに関する情報に係るメッセージの識別子を含んでいるとする。
【0164】
また、フレームアップロード部950は、優先度が第一の所定の値以下である場合には、不正検知サーバ80に通知情報を通知することを禁止する処理、又は、所定の通信間隔を有する第一タイミングで不正検知サーバ80に通知情報を通知する処理のいずれかの処理を行い、優先度が第二の所定の値以上である場合には、上記第一タイミングとは異なる第二タイミングで不正検知サーバ80に通知情報を通知するようにしてもよい。
【0165】
なお、不正検知サーバ80からの通知に対応して、ゲートウェイ900は、CANバスを介してあらかじめ定められたECUに必要な情報を送信する等によって、ファームウェアの更新、運転支援機能の無効化、及び、遠隔制御等の機能を実現させる。
【0166】
転送制御部960は、転送ルール保持部991が保持する転送ルールに従って、受信したフレームのID、及び転送元バス(つまりそのフレームを受信したバス)に応じて、転送先のバスを選択し、転送先のバスを示すバス情報と、転送されるべきフレームの内容(例えばフレーム解釈部920より通知されたID、DLC、データ等)をフレーム生成部980へ通知して、送信を要求する。
【0167】
フレーム生成部980は、転送制御部960からの送信の要求に従い、転送制御部960より通知されたフレームの内容を用いて送信用のフレームを構成し、その送信用のフレーム及びバス情報(例えば転送先のバスの識別子等)をフレーム送受信部910へ通知する。
【0168】
転送ルール保持部991は、バスごとのフレームの転送についてのルールを示す転送ルール情報を保持する。転送ルール情報は、転送元となりうる各バスについて、そのバスで受信された転送すべきフレームのIDと転送先のバスとを示す。
【0169】
また転送ルール情報は、各バスが、フレーム内容を暗号化すると規定されたバスか否か、及び、フレームにMACが付与されると規定されたバスか否かを示す情報を含む。この情報を参照することで転送制御部960は、転送元が暗号化に対応している場合は、鍵保持部992が保持している、転送元のバスに接続された各ECUと共有している暗号鍵を用いて、鍵処理部970にフレームの内容を復号させる。
【0170】
そして、転送先が暗号化に対応している場合は、転送制御部960は、鍵保持部992が保持している、転送先のバスに接続された各ECUと共有している暗号鍵を用いて、鍵処理部970にフレームの内容を暗号化させて転送するように制御する。
【0171】
鍵処理部970では、フレームの内容の暗号化、復号、及び、フレームの内容等に基づくMACの生成・検証のそれぞれについて、いかなる方式を用いてもよい。
【0172】
MACは、例えばフレームのデータフィールド内の一部の値に基いて生成してもよいし、その値と、他のフィールドの値あるいは、その他の情報(例えばフレームの受信回数をカウントするカウンタ値等)を結合したものに基づいて生成してもよい。
【0173】
MACの計算方法としては、例えばHMAC(Hash-based Message Authentication Code)、CMAC(Cipher-based Message Authentication Code)等を用いることができる。
【0174】
[1.9 ルール保持部]
図9は、ゲートウェイ900のルール保持部990の内容である優先度ルールの一例を示す図である。
図9に示すように優先度ルールには、優先度を決定するための条件のテーブルが記載されている。
【0175】
図9に示される優先度ルールでは、例えばCANのフレームから取得される車両の速度が0km/hより大きい場合、すなわち走行中に、優先度を「+1」(すなわち1加算、以下同様)することが示されている。さらに、速度が80km/hより大きい場合(すなわち高速走行中)に、優先度を「+1」することが示されている。また、診断フレーム又はファームウェアアップデートに関わるフレーム、並びに、運転支援及び自動運転に関わるフレームについても優先度を「+1」することが示されている。進行又は旋回に関わる加速度が0.4Gを超える場合も優先度が「+1」されることが示されている。優先度決定部930が保持する、1秒ごとにリセットされるフレーム受信カウンタが1000を超える(すなわち高バス負荷)時は、異常発生の度合いが高いとして、優先度が「+2」されることが示されている。MAC検証が失敗した場合は、異常が既に発生しているとして、優先度を「+3」することが示されている。
【0176】
優先度決定部930は、優先度のデフォルト値を0として、ルール保持部990に保持される条件を検証していき、最終的な優先度を算出する。なお、優先度は、予め定められた範囲の上限値(例えば5)を超えないように調整される。
【0177】
[1.10 車両と不正検知サーバ間の処理シーケンス]
図10は、不正検知サーバ80と車両との処理シーケンスの一例を示す図である。
図10は、主として、ある車両(車両1010a)が、車載ネットワークCANバスで受信されたフレームについての情報(具体的には、フレームの情報を加工処理して得られた特徴ベクトル)と、優先度を示す情報とを含むログ情報を、不正検知サーバ80に送信し、不正検知サーバ80がフレームの分析を行う動作例を示す。具体的には、ある車両のゲートウェイ900が1つのフレームを受信する際の動作例を表している。
【0178】
この例では車両1010aがログ情報を不正検知サーバ80に送信する例を示すが、不正検知サーバ80に対しては、その他の各車両(車両1010b、1010c、1010d、1010e及び1010f等)が同様のログ情報を送信する。以下、
図10に即して動作例を説明する。
【0179】
車両1010aの車載ネットワークにおけるバス10に接続された1つのECU(例えば、エンジンのECU100、又は、トランスミッションのECU101等)がバス10にCANのフレームを送信し始める(ステップS101)。
【0180】
車両1010aのゲートウェイ900は、ステップS101により送信されているフレームをバス10から受信する(ステップS102)。
【0181】
ゲートウェイ900は、受信したフレームに関して、ルール保持部990を参照しながら優先度を決定する(ステップS103)。
【0182】
ゲートウェイ900は、フレームアップロード部950により、決定した優先度と、フレームに関する情報(ID、DLC、データフィールド、受信間隔、受信頻度等)とを含むログ情報を、不正検知サーバ80に送信する(ステップS104)。
【0183】
また、ゲートウェイ900は、転送制御部960により、フレーム転送処理(つまり転送ルール情報に基づいてフレームの転送を行う処理)を行う(ステップS105)。
図10の例では、フレーム転送処理により、ゲートウェイ900は、バス20にフレームを転送し、バス20に接続されたブレーキのECU200或いは、ステアリングのECU201は、転送されたフレームを受信する(ステップS106)。
【0184】
不正検知サーバ80は、ゲートウェイ900から、車両1010aの車載ネットワークで受信されたフレームに関する情報を含むログ情報を受信する(ステップS107)。そして、不正検知サーバ80は、受信したログ情報を利用して、ログ分析を行う(ステップS108)。
【0185】
次に、ログ分析について
図11を用いて詳しく説明する。
【0186】
[1.11 不正検知サーバのログ分析フローチャート]
図11は、不正検知サーバ80におけるログ分析の一例を示すフローチャートである。以下、
図11に即して、ログ分析について説明する。
【0187】
不正検知サーバ80は、各車両から送信されたログ情報(つまり各車両の車載ネットワークで受信されたフレームについての情報を含むログ情報)を、車両ログ格納DB881に保存する(ステップS201)。
【0188】
次に、不正検知サーバ80は、ログ情報とともに受信した、メタ情報、具体的には優先度を取得する(ステップS202)。
【0189】
不正検知サーバ80は、ステップS202で取得した優先度に基づいて処理を分岐する(ステップS203)。
【0190】
ステップS202で取得した優先度が0である場合(ステップS203で「=0」)、不正検知サーバ80は、
図11に示された処理を終了する。
【0191】
ステップS202で取得した優先度が1である場合(ステップS203で「=1」)は、不正検知サーバ80は、ステップS201で受信したログの分析を行う(ステップS205)。ログの分析はログ情報に基づいて、例えば、統計的異常検知処理を行う。
【0192】
統計的異常検知処理は、各車両から取得したログ情報(つまり車両ログ情報として集積した各ログ情報)を参照して、車載ネットワークで受信されたフレームについての情報に基づいて統計処理、多変量解析等を行うことで、異常状態との比較用に用いることのできる所定モデルの構築あるいは、機械学習による所定モデルの更新を行う処理を含む。
【0193】
また、統計的異常検知処理は、過去に各車両の車載ネットワークで受信されたフレームに基づくその所定モデルと、ある車両(ここでは1010aとする)から最後に取得したログ情報が含むその車両の車載ネットワークで受信されたフレームについての情報とを用いた演算処理(比較等)により、その車両1010aで受信されたフレームの異常度について算定する処理を含む。この演算処理は、例えば、外れ値検出、時系列上の急激な変化を検出する変化点検出等のための処理を含み得る。
【0194】
不正検知サーバ80では上述したログ分析部840により、フレームの異常度を算定し、異常度があらかじめ定められた閾値より高いか否かにより、当該フレームが異常であるかを判断する。
【0195】
なお、不正検知サーバ80が、異常度について算定するフレームは、車両1010aの車載ネットワークで受信されたフレームに限定されるものではなく、他の車両の車載ネットワークで受信されたフレームでもよい。
【0196】
ステップS202で取得した優先度が2~4である場合(ステップS203で「=2~4」)は、不正検知サーバ80のログ分析部840は、ログ情報の分析に割り当てる計算資源を、その優先度に応じて優先的に割り当てる(ステップS207)。具体的には、優先度が大きいほど、車載ネットワークに関する情報の分析に割り当てる計算資源をより大きくする。なお、ログ分析部840は、上記とともに、又は、上記に代えて、優先度が大きいほど、車載ネットワークに関する情報の分析の順番をより早くしてもよいし、また、車載ネットワークに関する情報の分析の実行をするか否かの判定において、より優先的に実行すると判定してもよい。このようにして、ログ分析部840は、優先度が大きいほど、より優先的にログ情報の分析を行えるようにする。
【0197】
その後、ログ分析部840は、ステップS201で受信したログの分析を行う(ステップS205)。ステップS205の処理内容は上記のとおりである。なお、ステップS207で、車載ネットワークに関する情報の分析の実行をするか否かの判定において、実行しないと判定された場合には、ステップS205は実行されない。
【0198】
ステップS202で取得した優先度が5である場合(ステップS203で「=5」)は、不正検知サーバ80は、即座に、車載ネットワーク監視システムの管理者に不正なイベントとして、受信ログ情報を通知する(ステップS208)。その後、ステップS205(ログの分析)を実行する。
【0199】
次に、結果通知部850は、ログの分析(ステップS205)の結果、異常を検知したかを確認する(ステップS209)。異常を検知していない場合(ステップS209でNo)は、
図11に示された一連の処理を終了する。異常を検知した場合(ステップS209でYes)は、分析結果を車載ネットワーク監視システムの管理者に通知する(ステップS210)。
【0200】
[1.12 実施の形態1の効果]
実施の形態1に係る車載ネットワーク監視システムでは、ゲートウェイ900は、ルール保持部990に保持される優先度ルールに従って、優先度を算出し、車載ネットワークから受信したフレームに関する情報とともに、不正検知サーバ80に通知する。優先度ルールは、現在の車両の走行状態、受信したフレームの種類、受信したフレームを観測したバスの負荷率、フレームに含まれるMACの検証結果等を条件に規定される。
【0201】
このような条件を元に算出された優先度にしたがって、不正検知サーバ80は分析処理を変更する。
【0202】
これにより、即時検知が要求される、車両の状況において、例えば、高速走行中、運転支援動作中のログを優先的に分析することが可能になる。また、高バス負荷、MACの検証失敗などの異常度の高い状況においては、ログの分析結果を待たずに、車載ネットワーク監視システムの管理者に通知することができ効果的である。
【0203】
(実施の形態2)
以下、複数の電子制御ユニット(電子制御装置又はECU)がCANバスを介して通信する車載ネットワーク(車載ネットワークシステム)を搭載した複数台の車両と、サーバ(不正検知サーバ)とを含む車載ネットワーク監視システム、並びに、車載ネットワークシステムに関する情報を不正検知サーバに通知する情報通知方法について説明する。本実施の形態で示す車載ネットワーク監視システムの構成は、実施の形態1で示したもの(
図1参照)と同様である。
【0204】
[2.1 車載ネットワークシステムの全体構成]
図12は、本実施の形態に関わる車載ネットワークシステムの構成を示す図である。実施の形態1の車載ネットワークシステム(
図2参照)と同様の機能を実現するものは、実施の形態1と同様の番号を付与し、説明を省略する。
【0205】
ゲートウェイ1900は、異なる複数の通信路を接続して通信路間でデータを転送するECUである。ゲートウェイ1900は、バス10、バス20、バス30、バス40及びバス50と接続している。
【0206】
つまり、ゲートウェイ1900は、ゲートウェイ1900に接続されている一のバスから受信したフレーム(データフレーム)を、一定条件下で他のバス(つまり条件に応じて選択した転送先バス)に転送する機能を有する一種のECUである。
【0207】
ゲートウェイ1900は、IDS(Intrusion Detection System)機能または、IPS機能(Intrusion Prevention System)機能を備え、車載ネットワークシステムにおける不正なメッセージを、検知する機能、又は、検知して排除する機能を持つ。
【0208】
さらにゲートウェイ1900は、検知した不正なメッセージに関する情報を、CANバスを介して、他の装置に通知する機能をもつ。ゲートウェイ1900の構成については後に、詳細に説明する。
【0209】
ECU1301と、ECU1302は、車両の外部の不正検知サーバ80と通信するための通信装置(通信回路等)を備え、例えば、ゲートウェイ1900から通知される不正なメッセージに関する情報を不正検知サーバ80に送信(アップロード)する機能を有する。ECU1301と、ECU1302の構成は後に、詳細に説明する。
【0210】
なお、ゲートウェイ1900、ECU1301、及び、ECU1302は、それぞれ、第一電子制御装置、第二電子制御装置、及び、第三電子制御装置に相当する。
【0211】
[2.2 ゲートウェイ1900の構成]
図13は、ゲートウェイ1900の構成を示す図である。ゲートウェイ1900は、フレーム送受信部910と、フレーム解釈部920と、不正フレーム検知部1930と、不正通知部1940と、更新処理部940と、転送制御部960と、鍵処理部970と、フレーム生成部980と、不正検知ルール保持部1990と、鍵保持部992とを含んで構成される。
【0212】
なお、実施の形態1と同様の構成要素を示すものは、同じ番号を付与して説明を省略する。
【0213】
フレーム解釈部920は、実施の形態1における場合と同様、フレーム送受信部910よりフレームの値を受け取り、解釈を行う。そして、フレーム解釈部920は、受信されたフレームの各フィールドの情報を不正フレーム検知部1930へ通知する。
【0214】
不正フレーム検知部1930は、フレーム解釈部920から通知されたフレームが不正なフレームであるかを、不正検知ルール保持部1990を参照することで判断する。不正なフレームの判断基準としては、例えば、メッセージに含まれる特定のフィールドがあらかじめ定められた値以外の不正な値となっている場合、又は、予め定められた受信間隔から逸脱している場合などである。不正フレーム検知部1930は、フレーム解釈部920から通知されたフレームが上記場合に該当することを検知したら、不正なフレームと判断する。
【0215】
不正フレーム検知部1930は、不正なフレームを検知すると、不正通知部1940に不正なフレームを検知したことを通知する。また、不正フレーム検知部1930は、不正なフレームを判断するために、車両のイグニッション時からの経過時間を示すタイマと、過去に受信したフレームに関する情報を保持するメモリとを保有している。不正フレーム検知部1930は、不正検知部に相当する。
【0216】
不正通知部1940は、不正フレーム検知部1930から、不正なフレームを検知したことを通知されると、不正なフレームを検知したことをゲートウェイ1900外部に通知するために、転送制御部960に不正通知フレームの送信要求を行う。転送制御部960は、この送信要求を受けると、フレーム送受信部910を通じて不正通知フレームを送信する。
【0217】
不正通知フレームの通知先を表す情報、又は、送信先のバスは、検知した不正により変わりうる。例えば、不正通知フレームは、通常、ECU1301を介して、不正検知サーバ80に通知される。そして、ECU1301が送信するフレームに関して、不正なフレームを検知した場合には、ECU1302を介して不正通知フレームが不正検知サーバ80に通知される。
【0218】
このように、車両に不正な機器が接続されている場合に、不正な機器を介さずに、不正検知サーバ80へ情報を通知することができるようになり、安全性の観点から望ましい。
【0219】
これを実現するためには不正通知フレーム内に、通知先の宛先情報(ECU1301あるいはECU1302を示す情報)を含めておき、不正通知フレームのIDを通知先に応じて変更する、といった手段がとられ得る。不正通知フレームについては、
図14を用いて後に、詳細に説明する。
【0220】
不正検知ルール保持部1990は、不正フレーム検知部1930が参照する、不正なフレームと判断するための判断条件を保持している。不正検知ルール保持部1990に格納されるデータについては、
図15を用いて後に詳細に説明する。
【0221】
[2.3 不正通知フレーム]
図14は、ゲートウェイ1900が不正なフレームを検知したときに、他のECUに不正なフレームの検知を通知する不正通知フレームの一例を示す図である。図では、検知した不正なフレームを3つのCANフレームにわたり通知する例を示している。
【0222】
なお、
図14におけるフレームフィールドは、16進数で表現されており、1つの数値が4ビットに対応している。
【0223】
不正通知フレーム1は、CAN IDが0x600である不正通知フレームであり、ゲートウェイ1900がバス30に送信したものである。データの上位4ビットの「0」は、不正通知フレームの順序を示すカウンタであり、不正通知フレーム1が1つ目のフレームであることから「0」が設定されている。
【0224】
次の4ビットの「3」は、当該通知に用いる不正通知フレームの総数を表す。この例では、3つの不正通知フレームを当該通知に用いるので「3」と設定されている。
【0225】
次の8ビットの「01」は、不正検知コードを表す。不正検知コードは、不正検知の種類を示す。例えば、不正検知ルール保持部1990に格納されている不正検知ルールのうちのどのルールに該当することで不正と検知されたのかを示す。この例では、フレームの受信間隔が不正であったことを「01」で表している。
【0226】
次の32ビットは、不正を検知したフレーム(つまり不正フレーム)のIDを表す。この例では、IDが「100」のフレームにおいて不正が検知されたことが示されている。
【0227】
最後の16ビットは、不正検知に関する付加情報用のフィールドである。この例では「00 00」となっており、特に情報が含まれていないことを示している。このフィールドでは、例えば、フレームの受信間隔が不正と判断されたときに、実際にフレームの受信間隔がいくつであったかの情報などを含めてもよい。
【0228】
不正通知フレーム2は、同じくCAN IDが0x600である不正通知フレームであり、ゲートウェイ1900がバス30に送信したものである。データの上位4ビット「1」は、不正通知フレームの順序を示すカウンタであり、不正通知フレーム2が2つ目のフレームであることから「1」が設定されている。
【0229】
次の4ビットは予約ビットであり特に意味を持たず「0」が設定されている。
【0230】
次の24ビットは、タイムスタンプであり、車両のイグニッションがONになってからの秒数が含まれている。この例では「21」であり、33秒が経過したことが示されている。
【0231】
次の32ビットは、不正通知フレームの正当性を検証するためのMACが含まれている。MACの生成は、不正フレームのID、タイムスタンプ、不正フレームのデータフィールドを含めて算出され、上位32ビットが使用される。この例で、算出されたMACは「E6 A1 23 5C」であることが示されている。
【0232】
不正通知フレーム3は、同じくCAN IDが0x600である不正通知フレームであり、ゲートウェイ1900がバス30に送信したものである。不正通知フレーム3には、不正と検知されたフレームのデータフィールドが含まれており、この例では、不正と判定されたIDが0x100のデータフレームのデータフィールドは「FF FF FF FF FF FF FF FF」であったことが示されている。
【0233】
なお、不正通知フレーム3には、不正通知フレームの順序を示すカウンタは含まれていない。
【0234】
なお、上記では不正通知フレームの個数が3である例を示したが、不正通知フレームの個数は3に限らず、1以上であればいくつでもよい。
【0235】
[2.4 不正検知ルール]
図15は、ゲートウェイ1900の不正検知ルール保持部1990の内容である不正検知ルールの一例を示す図である。
図15では、4つの不正検知ルールが保持されている例を示している。
【0236】
ルール番号1の不正検知ルールは「周期」に関するルールであり、フレームの正常な受信間隔を規定したルールである。対象バスは「バス10」であり、対象フレームのCAN IDは「100」である。ルールである正常な受信間隔は「9~11ms」であることを示している。つまりゲートウェイ1900は、バス10から受信したCAN IDが100であるデータフレームの受信間隔が9~11msの範囲に収まっていない場合に、不正なフレームを受信したとして、不正通知フレームの送信を行う。
【0237】
同様に、ルール番号2の不正検知ルールは「周期」に関するルールである。対象バスは「バス20」であり、対象CAN IDは「200」、正常な受信間隔は「18~22ms」であることを示している。
【0238】
ルール番号3の不正検知ルールは「周期」に関するルールである。対象バスは「バス30」であり、対象CAN IDは「300」、正常な受信間隔は「36~44ms」であることを示している。
【0239】
ルール番号4の不正検知ルールは「データ」に関するルールである。対象バスは「バス10」であり、対象CAN IDは「100」である。正常なデータを表すルールは「0バイト目が0x00」であることを示している。つまりゲートウェイ1900はバス10から受信したCAN IDが100であるデータフレームのデータフィールドの0バイト目が0x00以外である場合に、不正なフレームを受信したとして、不正通知フレームの送信を行う。
【0240】
[2.5 ECU1301の構成図]
図16は、ECU1301の構成を示す図である。なお、ECU1302も同様の構成である。ECU1301は、フレーム送受信部910と、フレーム解釈部1320と、優先度決定部1330と、サーバ通信部1340と、接続機器通信部1350と、フレーム生成部980と、優先度ルール保持部1360と、フレーム履歴保持部1370とを含んで構成される。なお、ECU1301のフレーム送受信部910を第四通信部ともいう。
【0241】
フレーム解釈部1320は、フレーム送受信部910よりフレームの値を受け取り、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。
【0242】
また、フレーム解釈部1320には、鍵処理部970と鍵保持部992が含まれており、受信したフレームにMACが含まれる場合に、フレームの正当性を検証し、検証に失敗したフレームを破棄する。
【0243】
フレーム解釈部1320は、受信したフレームを接続機器通信部1350へ通知する。
【0244】
また、フレーム解釈部1320は、ゲートウェイ1900から受信した不正通知フレームと不正検知サーバ80に通知する予め定められたフレームとを優先度決定部1330へ通知する。予め定められたフレームとは、例えば、車両の走行に関わる信号を含むフレーム(例えば、車両の速度、操舵角度、加速度、ブレーキ油圧等)が含まれる。フレーム解釈部1320は、第二不正検知結果受信部及び第二車両ログ抽出部に相当する。
【0245】
なお、フレーム解釈部1320は、受け取ったフレームがCANプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するようにフレーム生成部980へ通知する。
【0246】
また、フレーム解釈部1320は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降は、そのフレームを破棄する、つまりエラーフレームの解釈を中止する。
【0247】
優先度決定部1330は、優先度ルール保持部1360が保持する、優先度ルールを参照し、不正検知サーバ80へ通知するメッセージに含める優先度を決定する。あらかじめ定められたフレームの優先度は0であり、不正通知フレームに含まれている不正なフレームについては1以上の優先度が設定される。優先度ルール保持部1360が保持するルールについては
図17を用いて後に説明する。なお、優先度決定部1330は、第二優先度決定部に相当する。
【0248】
優先度決定部1330は、優先度を決定すると、サーバ通信部1340に、通知するフレームと、決定した優先度とを通知する。優先度ルール保持部1360が保持するルールについては
図17を用いて後に説明する。
【0249】
サーバ通信部1340は、優先度決定部1330から通知されたフレームと優先度とを不正検知サーバ80に通知する機能を持つ。サーバ通信部1340は、優先度決定部1330から通知された情報(フレーム及び優先度)をフレーム履歴保持部1370へ格納する。サーバ通信部1340は、第五通信部に相当する。
【0250】
サーバ通信部1340では、定期通信用のフレームに含まれる信号(車両の速度、操舵角度、加速度、ブレーキ油圧等)は、優先度0で受信され、内部に保持されるメモリに常に最新値が保持されている。定期通信用フレームの情報は定期的(例えば1秒ごと)に不正検知サーバ80へ通知される。
【0251】
一方で優先度が1以上であるフレームの情報(不正検知されたフレームに関する情報)は、優先度決定部1330から通知されたタイミングで、不正検知サーバ80へ通知する。このとき、フレーム履歴保持部1370を参照し、不正検知サーバ80へ前回に通知した情報が、今回送信する情報と同一のIDであり、かつ、同一の不正コードをもつ場合には、不正検知サーバ80への通知を行わず、言い換えれば、通知を禁止する。
【0252】
これにより、車載ネットワークで継続的に不正なフレームが送信されている場合において、比較的高い優先度のフレームを不正検知サーバ80に頻繁に通知することがなくなり、通信量削減および、不正検知サーバ80の処理負荷低減につながり効果的である。
【0253】
また、サーバ通信部1340は、不正検知サーバ80からの制御コマンドを受信し、接続機器通信部1350へ通知あるいは、フレーム生成部980へ通知する。フレーム履歴保持部1370が保持するフレーム履歴については、
図18を用いて後に詳細に説明する。
【0254】
接続機器通信部1350は、ECU1301が接続する機器(カーナビ311)の制御を行う。例えば、サーバ通信部1340から、セキュリティアラートの表示を通知された場合には、カーナビ311の画面に、セキュリティアラートの表示を行うように制御する。
【0255】
ECU1302は、ECU1301と同じ構成を有する。ただし、ECU1302の優先度決定部1330を第三優先度決定部という。また、ECU1302のフレーム解釈部1320のうち第二不正検知結果受信部に相当する機能を、第三不正検知結果受信部という。また、ECU1302のフレーム解釈部1320のうち第二車両ログ抽出部に相当する機能を、第三車両ログ抽出部という。また、ECU1302のフレーム送受信部910を、第六通信部という。ECU1302のサーバ通信部1340を、第七通信部という。
【0256】
[2.6 優先度ルール保持部]
図17は、ECU1301の優先度ルール保持部1360の内容の優先度ルールの一例を示す図である。優先度ルールには、優先度を決定するための条件と、優先度とが規定されている。
【0257】
図17に示される1番目の優先度ルールでは、定期通信用フレーム(車両の速度、操舵角度、加速度、ブレーキ油圧等)が通知された場合に優先度を0とする。
【0258】
図17に示される2番目の優先度ルールでは、不正通知フレームが受信され、かつ、不正フレームが車両の制御に関わらないフレームであった場合に優先度を1とする。車両の制御に関わらないフレームとは、車両の走る、曲がる、止まる、に関わる制御に、直接的あるいは間接的に影響しない信号のみを含むフレームを表す。例えば、ドア若しくはウィンドウの開閉状態、又は、ライトの点灯状態といった、状態通知に関わるフレームが該当する。
【0259】
図17に示される3番目の優先度ルールでは、不正通知フレームが受信され、かつ、不正フレームが車両の制御に関わるフレームであり、かつ、車両が停車中である場合に、優先度を2とする。車両の制御に関わるフレームとは、ステアリングの操舵指示若しくは減速要求といった直接的に車両の制御に関わる信号、又は、車両の速度、白線検知状態若しくは前方車両との距離等の運転支援機能の制御判断に必要となるセンサ情報の間接的に車両の制御に関わる信号が含まれるフレームを表す。
【0260】
図17に示される4番目の優先度ルールでは、不正通知フレームが受信され、かつ、不正フレームが車両制御に関わるフレームであり、かつ、車両が走行中である場合に、危険度が高いとし、優先度を3とする。
【0261】
なお、本実施の形態においては、不正フレームが車両の制御に関わる又は関わらない、および、現在の車両状態によって、優先度が決定されるとしたが、優先度の決定の方法は、これに限らない。例えば、診断コマンド、ファームウェアアップデートに関わるコマンド、あるいは、あらかじめ決められたIDのリストと、不正検知コードとの組み合わせによって、優先度が決定されてもよい。
【0262】
[2.7 フレーム履歴保持部]
図18は、ECU1301のフレーム履歴保持部1370の内容のフレーム履歴の一例を示す図である。フレーム履歴には、フレームの時刻、フレームの種類、不正の種類、優先度、及び、サーバへの通知の有無が含まれうる。
【0263】
図18の例では、上から新しい順にフレームが保持されている。
【0264】
図18に示される1番目のフレーム履歴では、時刻341.000(秒)において、定期通信のフレームが不正検知サーバ80へ通知されたことが示されている(「サーバへの通知」=1)。また、このフレームは、不正が検知されず(不正の種類が「無」)、優先度がゼロであることが示されている。
【0265】
図18に示される2番目のフレーム履歴では、時刻340.330(秒)において、シフトポジションの信号を含むフレームに関する不正が不正検知サーバ80へ通知されなかったことが示されている(「サーバへの通知」=0)。また、このフレームは、周期ルールの不正であり(不正の種類が「周期」)、優先度が2であることが示されている。
【0266】
図18に示される3番目のフレーム履歴では、時刻340.230(秒)において、シフトポジションの信号を含むフレームに関する不正が不正検知サーバ80へ通知されたことが示されている(「サーバへの通知」=1)。また、このフレームは、周期ルールの不正であり(不正の種類が「周期」)、優先度が2であることが示されている。
【0267】
上記3番目のフレームが送信され、上記2番目のフレームが送信されなかったのは、サーバ通信部1340が、最初に通知されたシフトポジションを含むフレームを不正検知サーバ80へ通知した後に、同様の不正通知フレームが通知されたため、不正検知サーバ80への通知を省略又は禁止したことを示している。
【0268】
図18に示される4番目のフレーム履歴では、時刻340.000(秒)において、定期通信のフレームが不正検知サーバ80へ通知されたことが示されている(「サーバへの通知」=1)。また、このフレームは、不正が検知されず(不正の種類が「無」)、優先度がゼロであることが示されている。
【0269】
[2.8 ゲートウェイ1900の処理フローチャート]
図19は、ゲートウェイ1900のフレーム受信時の処理フローチャートである。以下、
図19に即して、フレーム受信時の処理フローチャートについて説明する。
【0270】
ゲートウェイ1900は、フレームを受信する(ステップS1101)。
【0271】
ゲートウェイ1900は、受信したフレームの不正検知処理を行う(ステップS1102)。
【0272】
ゲートウェイ1900は、不正検知処理の結果、不正フレームが検知されたか否かを判断する(ステップS1103)。
【0273】
ステップS1103で不正なフレームが検知された場合(ステップS1103でYes)は、その不正フレームが、ECU1301に関する不正フレームであるか否かを判定する(ステップS1104)。具体的には、不正フレームに含まれるCAN IDを参照して、ECU1301が送信したフレームであるか否かを判定する。
【0274】
ステップS1104において、ステップS1103で検知された不正フレームに含まれるIDが、ECU1301に関連するフレームである場合(ステップS1104でYes)は、ゲートウェイ1900は、ECU1302に対して、不正なフレームを検知したことを通知する不正通知フレームを送信する(ステップS1106)。具体的には、不正フレームを検知したときにECU1301に対して送信する不正通知フレームのIDとは異なるIDで、不正通知フレームを送信する。その後処理を終了する。
【0275】
ステップS1104において、ステップS1103で検知された不正フレームに含まれるIDが、ECU1301に関連するフレームでない場合(ステップS1104でNo)は、ゲートウェイ1900は、ECU1301に対して不正フレームを検知したことを通知する不正通知フレームの送信を行う(ステップS1107)。その後処理を終了する。
【0276】
ステップS1103で不正フレームが検知されなかった場合(ステップS1103でNo)は、転送ルール保持部991に保持されている転送ルールに従って、受信したフレームの転送を行う(ステップS1105)。その後処理を終了する。
【0277】
[2.9 ECU1301の処理フローチャート]
図20は、ECU1301の処理フローチャートを示す図である。以下、
図20に即してECU1301の処理フローチャートを説明する。
【0278】
なお、
図20に示される一連の処理は、ECU1301の内部のタイマがリセットされた状態から開始する。
【0279】
ECU1301は、所定の時間(例えば1秒)が経過したかを内部のタイマを用いて判断する(ステップS1201)。
【0280】
ECU1301は、所定の時間が経過していた場合(ステップS1201でYes)、定期通信用フレームの情報と、優先度(0)とを含めて不正検知サーバ80に通知する(ステップS1202)。定期通信用フレームは、最新の車両の走行状態に関わる情報(車両の速度、操舵角度、加速度、ブレーキ油圧等)を含み、これらの情報は、バス30から受信されるフレームから取得される。
【0281】
その後、ECU1301は、フレーム履歴保持部1370が保持するフレーム履歴を更新する(ステップS1203)。
【0282】
そして、ECU1301は、タイマをリセットし(ステップS1204)、ステップS1201に戻る。
【0283】
ECU1301は、ステップS1201で所定の時間が経過していなかった場合(ステップS1201でNo)に、フレームを受信していたか否かを判定する(ステップS1205)。フレームを受信していないと判定した場合(ステップS1205でNo)は、ステップS1201に戻る。フレームを受信していたと判定した場合(ステップS1205でYes)は、そのフレームが不正通知フレームであるかを判断する(ステップS1206)。
【0284】
ECU1301は、受信したフレームが不正通知フレームであった場合(ステップS1206でYes)は、優先度ルール保持部1360を参照し、不正通知フレームの優先度を決定する(ステップS1207)。
【0285】
その後、ECU1301は、フレーム履歴保持部1370を参照し、受信した不正通知フレームが、前回に受信した不正通知フレームと同種のものであるか否かを判定する(ステップS1208)。具体的には、今回に受信した不正検知フレームと、前回に受信した不正検知フレームとで、CAN ID及び不正の種類が一致した場合に、同種の不正通知フレームであったと判定する。前回に受信した不正通知フレームと同種のものであった場合(ステップS1208でNo)は、不正通知フレームを不正検知サーバ80に送信せずに、フレーム履歴保持部1370のフレーム受信履歴を更新して(ステップS1210)、ステップS1201に戻る。前回に受信した不正通知フレームと同種のものでない、つまり異なる場合(ステップS1208でYes)は、不正通知フレームに関連する情報と優先度とを含めて、不正検知サーバ80へ通知する(ステップS1209)。
【0286】
その後、ECU1301は、フレーム履歴保持部1370のフレーム受信履歴を更新して(ステップS1210)、ステップS1201に戻る。
【0287】
ステップS1206で受信したフレームが不正通知フレームでないと判定した場合(ステップS1206でNo)、ECU1301は、受信したフレームが定期通信用フレームに関連するフレームであるか否かを判定する(ステップS1211)。具体的には、定期通信用フレームに含まれる情報(車両の速度、操舵角度、加速度、ブレーキ油圧等)のいずれかの情報を含んだフレームであるか否かを判定する。
【0288】
受信したフレームが定期通信用フレームに関連するフレームであると判定した場合(ステップS1211でYes)は、ECU1301は、内部のメモリに保持する、定期通信用フレームに含まれる情報を更新し(ステップS1212)、ステップS1201に戻る。
【0289】
ステップS1211で定期通信用フレームに関連するフレームでないと判定した場合(ステップS1211でNo)、ECU1301は、受信したフレームに従った処理を行う。具体的には、接続されている機器の制御等を実行し(ステップS1213)、ステップS1201に戻る。
【0290】
[2.10 車両とサーバ間の正常時の処理シーケンス]
図21は、車両内部で不正なフレームが検知されていない正常時の不正検知サーバ80と車両との処理シーケンスの一例を示す図である。
図21は、主として、ある車両(車両1010a)が、車載ネットワークのCANバスで受信されたフレームについての情報(フレームの情報を加工処理して得られた特徴ベクトル)と、優先度を示す情報とを含むログ情報を不正検知サーバ80に送信し、不正検知サーバ80がフレームの分析を行う動作例を示す。
【0291】
具体的には、ある車両のゲートウェイ1900が1つのフレームを受信する際の動作例およびECU1301の動作例を表している。この例では車両1010aがログ情報を不正検知サーバ80に送信する例を示すが、不正検知サーバ80に対しては、その他の各車両(車両1010b、1010c、1010d、1010e及び1010f等)が同様のログ情報を送信する。以下、
図21に即して動作例を説明する。
【0292】
バス10に接続されたECUがフレームを送信し、ゲートウェイ1900がそのフレームをバス30に転送し、ECU1301がそのフレームを受信する。この一連のシーケンスをS2001とする。S2001は繰り返し実行される。
【0293】
ECU1301は、内部のタイマに従って、定期通信用フレームと、優先度(0)とを不正検知サーバ80に送信する(S2002)。
【0294】
不正検知サーバ80は、定期通信用フレームを車両ログとして受信する(S2003)。優先度が0であるので、不正検知サーバ80は、受信した車両ログを保存するのみである。
【0295】
[2.11 車両とサーバ間の不正検知時の処理シーケンス1]
図22は、車両内部で不正なフレームが検知された場合の、不正検知サーバ80と車両との処理シーケンスの第一例を示す図である。以下、
図22に即して、動作例を説明する。
【0296】
図21と同様に、ECU1301が定期通信用フレームを不正検知サーバ80へ通知している。その後、あるフレームがゲートウェイ1900により不正フレームと判断され、言い換えれば、あるフレームが不正であることがゲートウェイ1900により検知される(S2101)。
【0297】
ゲートウェイ1900は、不正フレームを検知すると、フレームが不正であることを通知する不正通知フレームの送信を行う(S2102)。
【0298】
ECU1301は、不正通知フレームを受信する(S2103)。
【0299】
ECU1301は、不正通知フレームに基づいて、優先度を決定する(S2104)。
【0300】
ECU1301は、S2104で決定した優先度と、不正通知フレームとを、不正検知サーバ80へ通知する(S2105)。
【0301】
不正検知サーバ80は、受信した車両ログを、受信した優先度に従って分析する。
【0302】
[2.12 車両とサーバ間の不正検知時の処理シーケンス2]
図23は、車両内部で不正なフレームが検知された場合の、不正検知サーバ80と車両の処理シーケンスの第二例を示す図である。以下、
図23に即して、動作例を説明する。
【0303】
ECU1301が、不正通知フレームを受信し、優先度を決定し、不正検知サーバ80へ通知する処理は、
図22と共通である。
【0304】
なお、ECU1301は、
図20に示すように、定期通信用フレームを不正検知サーバ80へ通知しているが、
図20では記載を省略している。
【0305】
ECU1301は、2回目の不正通知フレームを受信したときは、フレーム履歴保持部1370を参照し、前回に受信した不正通知フレームと同種の不正であったため、不正検知サーバ80への通知を行わない(S2201)。その後、また別の不正通知フレームを受信したため、優先度と、不正通知フレームに関する情報とを含めて、不正検知サーバ80へ送信する(S2202)例を示している。
【0306】
[2.13 車両とサーバ間の不正検知時の処理シーケンス3]
図24は、車両内部で不正なフレームが検知された場合の不正検知サーバ80と車両との処理シーケンスの第三例を示す図である。以下、
図24に即して、動作例を説明する。
【0307】
ECU1301が定期通信用フレームを不正検知サーバ80へ通知する点は、
図20と共通である。
【0308】
ECU1301は、バス30へフレームを送信する(S2301)。
【0309】
ゲートウェイ1900は、このフレームを不正なフレームとして判断する(S2302)。
【0310】
ゲートウェイ1900は、不正通知フレームを送信するが、ECU1301が、不正な動作をしている可能性があるため、通知先をECU1301から、ECU1302に切り替える(S2303)。具体的には、不正通知フレームのIDを、ECU1301に通知する場合とは異なるものに変更する。
【0311】
ECU1302は、不正通知フレームを受信し、優先度を決定し、不正通知フレームに関する情報と、優先度とを、不正検知サーバ80に送信する。不正検知サーバ80は、受信した車両ログを、優先度に従って分析する。
【0312】
[実施の形態2の効果]
実施の形態2に係る車載ネットワーク監視システムでは、車両内部に、不正検知処理を行うゲートウェイ1900を保持しており、車載ネットワークを常に監視することが可能となる。これにより、不正検知時のみに、検知した不正なフレームを、不定期的に不正検知サーバ80へ通知することができ、車両ログの通信量を削減および、不正検知サーバ80の処理負荷の低減につながる。
【0313】
また、ECU1302は、車載ネットワークにおいて観測された同種の不正なフレームを、不正検知サーバ80に通知しないことにより、通信量の削減および、不正検知サーバ80の処理負荷低減につながり効果的である。
【0314】
またゲートウェイ1900は、検知した不正なフレームのIDに基づいて、不正検知サーバ80へ不正なフレームを通知するための経路を変更する。これにより、車両ログ通知経路の途中に不正な動作を行っている疑いのある装置を迂回して、不正検知サーバ80に、車両ログを通知することが可能となり、車載ネットワーク監視システムの安全性の向上が期待できる。
【0315】
(その他変形例)
なお、本発明を上記各実施の形態に基づいて説明してきたが、本発明は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【0316】
(1)上記の実施の形態では、車載ネットワークをCANとして説明したが、これに限定されることなく、CAN-FD(CAN with Flexible Data rate)、Ethernet、LIN(Local Interconnect Network)、Flexrayであってもよいし、それぞれを組み合わせた構成であってもよい。
【0317】
(2)上記の実施の形態では、機械学習による異常検知処理を、クラウドサーバ側で行っているが、車両内部の装置で処理してもよい。例えば、ヘッドユニット上のGPU(Graphics Processing Unit)で行うようにしてもよい。このようにすることで、即時検出性を上げる事が可能となる。この場合、クラウドでは、車両ローカルで異常検知した結果を集約するようにしてもよい。この時、処理の優先度はヘッドユニット内部で算出してもよいし、他の装置、例えばゲートウェイなどにより、CANメッセージに含めて通知されてもよい。
【0318】
(3)上記の実施の形態では、特徴ベクトルを作成する際の前処理をローカル側で行っているが、クラウドサーバ側で行うようにしてもよい。
【0319】
(4)上記の実施の形態では、クラウドサーバ側で異常検知処理をしているが、よりローカル環境に近いエッジサーバで異常検知処理をするようにしてもよい。このようにすることで、クラウド側で異常検知処理するよりも、ネットワーク遅延処理の影響が少なくなる。例えばエッジサーバが路側機であって、路側機がクラウドサーバと接続されており、車両は路側機に車載メッセージ情報をアップロードし、路側機で異常検知処理し、異常検知した結果をクラウドサーバにアップロードするようにしてもよい。
【0320】
(5)上記の実施の形態では、車両やクラウドサーバ側で異常検知時にアラートを通知する先として車載ネットワーク監視システム管理者としていたが、それに限定されない。例えば、カーメーカ又はECUサプライヤ、ユーザが所有する情報端末に通知するようにしてもよい。また、複数のカーメーカ間で共通で利用可能なセキュリティプロバイダーに通知するようにしてもよい。
【0321】
(6)上記の実施の形態では、不正検知サーバは、優先度が高いときに、車両ログの分析に用いるサーバの計算資源を多く割り当てるとしたが、計算資源を多く割り当てるだけでなく、優先度の高いものから順番に処理していくとしてもよい(
図25)。不正検知サーバがシングルスレッドで処理されている場合に、優先度の高いものから順番に分析することが可能となり、即時の不正検知および対処につながり効果的である。
【0322】
(7)上記の実施の形態では、優先度が最高の時には、車載ネットワーク監視システムの管理者へ即時通知を行った後に、車両ログの分析を行っていたが、車両ログの分析は行わなくてもよい(
図26)。これにより、明らかな不正なイベントは、即時に管理者に通知するとともに、分析の処理を省くことができ、サーバの処理負荷軽減につながり効果的である。
【0323】
(8)上記の実施の形態2では、優先度決定部が、不正検知サーバと通信を行うECUに存在したが、ゲートウェイにあってもよい。また
図26に示すような車載ネットワークアーキテクチャにおいて、複数のドメインコントローラ内に、優先度決定部があってもよい。この時ゲートウェイは、各ドメインコントローラから通知される、優先度およびログをもとに、高優先度のログから順番に、不正検知サーバに通知してもよいし、優先度を再計算してもよいし、同一の優先度のログを、一括で不正検知サーバに通知してもよい。
【0324】
(9)上記の実施の形態2では、不正検知処理部と、サーバ通信部が異なる装置に分かれて存在していたが、同一の装置内に両要素が存在してもよい。例えば、ゲートウェイにサーバ通信部が存在してもよいし、ECU内に不正検知処理部が存在してもよい。
【0325】
(10)上記の実施の形態2では、不正通知フレームの通知先を切り替える時に、同一のバスに、CAN IDを変更した不正通知フレームを送信することで、通知先を変更していたが、通知先を変更する方法はこれに限らない。例えば同一のCAN IDで、データフィールドの中に通知先を指定することでも実現可能である。また同一のバスではなく、異なるバスに不正通知フレームを送信してもよい。これにより、異常度の高いバスを迂回して、不正通知フレームを送信することが可能となり安全性の向上につながるため、効果的である。
【0326】
(11)上記の実施の形態では、不正検知サーバへ通知するログとともに常に優先度が含まれていたが、常に優先度が含まれていなくてもよい。例えば、実施の形態2における、定期通信用フレームには、優先度を含めなくてもよい。
【0327】
(12)上記の実施の形態では、優先度は、0~5の値をとり得るが、優先度はこれに限らない。例えば、0~100のスコアとして優先度を表してもよい。これにより、不正検知サーバの優先度の割り当てがより、詳細に行えるようになり効果的である。この時、所定の第1の閾値未満の優先度の場合は、ログの保存のみ、第1の閾値以上、第2の閾値未満の場合は、優先度の高い順に車両のログ分析、第2の閾値以上の場合は、車載ネットワーク監視システムの管理者へ通知するとしてサーバの処理を実現してもよい。
【0328】
(13)上記の実施の形態では、現在の車両の状態に従って算出される優先度と、不正なフレームに対して算出される優先度が、実施の形態1および、実施の形態2で分けて記載したが、両者を同時に扱ってもよい。この時、車両状態に基づく優先度と、フレームに対する優先度を分けて、不正検知サーバに通知してもよいし、両者を併せた新たな優先度ルールに基づき、1つの優先度を算出してもよい。これにより、より多面的に優先度を算出することが可能となり、リスクの高い不正なイベントを不正検知サーバが優先的に処理でき効果的である。
【0329】
(14)上記の実施の形態2では、同種の不正通知フレームを受信した場合は、不正検知サーバに通知しないとしたが、不正検知サーバに通知しない条件はこれに限らない。例えば単位時間当たりに通知可能な通信量の閾値を定めておき、通信量の閾値を超えている場合は、不正検知サーバに通知しないとしてもよい。
【0330】
(15)上記の実施の形態では、どの優先度の車両ログも、不正検知サーバに通知していたが、優先度によっては、不正検知サーバへの通知を省略してもよい。例えば、優先度が所定の閾値以下の場合は、車両ログを不正検知サーバへ通知しないようにしてもよい。さらに、所定の閾値を不正検知サーバから指定できるような構成にしてよい。これにより、不正検知サーバの処理負荷状況に応じて、車両からアップロードされる車両ログを制限することが可能となり、通信量の削減および、不正検知サーバの処理負荷軽減に効果的である。
【0331】
(16)上記の実施の形態では、優先度の高いフレームを、不正検知サーバに即座に通知する例を示したが、車両ログを即座に通知しなくてもよい。例えば、同種の優先度の高いフレームが、所定の期間内に、所定数以上検知された場合にのみ、不正検知サーバに、フレームに関する情報を通知してもよい。また優先度が所定の期間、蓄積されるようにしてもよく、所定の閾値を超えた場合に、不正検知サーバに通知してもよい。これにより、通信量の削減および、不正検知サーバの処理負荷軽減に効果的である。
【0332】
(17)上記の実施の形態2では、不正と判断したフレームを、不定期的に不正検知サーバに通知したが、さらに不正と判断したフレームと同一のCAN IDをもつフレームを、所定の期間保持するようにしてもよい。これにより、後からサーバの要求により、不正と判断したフレームと同一のCAN IDを持つフレームの受信履歴を参照することが可能になり、フレームの分析に効果的な情報を得られる。
【0333】
(18)上記の実施の形態では、不正検知サーバに通知する車両ログは、CANのフレームにかかわる情報であったが、不正検知サーバに通知する車両ログはこれに限らない。例えばEthernetのフレーム、CAN-FDフレーム、FlexRayフレームであってもよいし、車載ネットワークフレームでなくてもよい。例えば、車両の現在位置を表すGPS情報、オーディオヘッドユニットへのアクセスログ、動作プロセスに関するログ、ファームウェアのバージョン情報等といった情報であってもよい。
【0334】
(19)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0335】
(20)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0336】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又はすべてを含むように1チップ化されてもよい。
【0337】
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。
【0338】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0339】
(21)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0340】
(22)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0341】
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0342】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0343】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
【0344】
また、プログラムまたはデジタル信号を前記記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0345】
(23)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【0346】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態の車載ネットワーク監視システムなどを実現するソフトウェアは、次のようなプログラムである。
【0347】
すなわち、このプログラムは、コンピュータに、車両に搭載される車載ネットワークを監視する、車載ネットワーク監視方法であって、車載ネットワークシステムを搭載する車両の状態と、前記車載ネットワークで通信されるメッセージの識別子と、前記メッセージの不正検知結果とのうちの1つ以上を用いて優先度を決定する優先度決定ステップと、前記車載ネットワークで通信されるメッセージを送受信する第一通信ステップと、前記車載ネットワークに関する情報を、前記第一通信ステップで受信した前記メッセージに基づいて抽出する車両ログ抽出ステップと、前記優先度と、前記車載ネットワークに関する情報とを含んだ通知情報を通知する第二通信ステップと、前記1以上の車両から、優先度と前記車載ネットワークシステムに関する情報とを含んだ通知情報を受信する第三通信ステップと、前記車載ネットワークシステムに関する情報から、前記車載ネットワークシステムに不正が発生しているか否かを分析するログ分析ステップとを含み、前記ログ分析ステップでは、前記通知情報に含まれる前記優先度が大きい前記通知情報ほど、前記通知情報に含まれる前記車載ネットワークシステムに関する情報の分析をより優先的に行う車載ネットワーク監視方法を実行させる。
【0348】
以上、一つまたは複数の態様に係る電子制御装置などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【0349】
本発明は、車両に搭載される電子制御装置、及び、車載ネットワークにおける不正を検知する不正検知サーバなどに適用可能である。
【符号の説明】
【0350】
10、20、30、40、50 バス
80 不正検知サーバ
81 ネットワーク
100、101、200、201、300、301、302、400、401、1301、1302 ECU
110 エンジン
111 トランスミッション
210 ブレーキ
211 ステアリング
310 カメラ
311 カーナビ
312 車車間通信モジュール
410 ドア
411 ライト
510 診断ポート
810 通信部
820 処理判断部
830 ログ収集部
840 ログ分析部
850 結果通知部
860 受付部
870 対処部
880 車両情報DB
881 車両ログ格納DB
882 分析結果格納DB
883 セキュリティ情報DB
890 設定部
900、1900 ゲートウェイ
910 フレーム送受信部
920、1320 フレーム解釈部
930、1330 優先度決定部
931 不正検知部
940 更新処理部
950 フレームアップロード部
960 転送制御部
970 鍵処理部
980 フレーム生成部
990 ルール保持部
991 転送ルール保持部
992 鍵保持部
1010a、1010b、1010c、1010d、1010e、1010f 車両
1340 サーバ通信部
1350 接続機器通信部
1360 優先度ルール保持部
1370 フレーム履歴保持部
1930 不正フレーム検知部
1940 不正通知部
1990 不正検知ルール保持部
U 管理者