(57)【要約】      （修正有）【課題】ネットワークに侵入した異常が疑われるデータに関する情報を収集できる監視装置を提供する。【解決手段】監視装置３は、ネットワーク上のメッセージを順次受信する取得部１５と、連続する２つのメッセージのデータ値の差分を算出する第１算出部１８と、連続する２つのメッセージの受信時刻の差分を算出する第２算出部１９と、第１算出部または第２算出部が算出した差分に基づいて、受信したメッセージが異常なメッセージであるか否かを判定する第１判定部２１と、第１算出部または第２算出部が算出した差分に基づいて、受信したメッセージが疑わしいメッセージであるか否かを判定する第２判定部２２と、受信したメッセージが疑わしいメッセージであると第２判定部により判定されると、疑わしいメッセージ及びその前後に受信した所定数のメッセージのデータ値及び受信時刻を履歴として記録する記録部２６とを備える。【選択図】図２
2020092379.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを流れるメッセージを監視する監視装置であって、
前記ネットワーク上のメッセージを順次受信し、受信した連続する所定数のメッセージのデータ値及び受信時刻を、メッセージが有する識別子毎にバッファに格納する取得部と、
前記バッファを参照して、同一の識別子を有する連続する２つのメッセージのデータ値の差分を算出する第１算出部と、
前記バッファを参照して、同一の識別子を有する連続する２つのメッセージの受信時刻の差分を算出する第２算出部と、
前記第１算出部または前記第２算出部が算出した差分が、異常を判定するための所定条件を満足しない場合に受信したメッセージが異常なメッセージであると判定する第１判定部と、
前記第１算出部または前記第２算出部が算出した差分が前記所定条件を満足し、当該所定条件とは異なる判定条件を満足しない場合に、受信したメッセージが異常である可能性のある、疑わしいメッセージであると判定する第２判定部と、
前記ネットワークに送出されたメッセージを順次受信し、受信したメッセージのデータ値及び受信時刻を、メッセージが有する識別子毎に所定上限数まで一時的に記憶し、受信したメッセージが前記疑わしいメッセージであると前記第２判定部により判定されると、当該疑わしいメッセージのデータ値及び受信時刻と、当該疑わしいメッセージと同一の識別子を有し、かつ、当該疑わしいメッセージの前後に受信した所定数のメッセージのデータ値及び受信時刻とを含む情報を履歴として記録する記録部とを備える、監視装置。
【請求項２】
前記記録部は、受信したメッセージが前記異常なメッセージであると前記第１判定部により判定されると、当該異常なメッセージのデータ値及び受信時刻と、当該異常なメッセージと同一の識別子を有し、かつ、当該異常なメッセージの前後に受信した所定数のメッセージのデータ値及び受信時刻とを含む情報を履歴として記録する、請求項１に記載の監視装置。
【請求項３】
前記第１判定部は、前記所定条件として、メッセージの識別子毎に予め定められた通信仕様を用いて前記異常なメッセージを判定し、
前記第２判定部は、統計処理または機械学習により生成した判定条件に基づいて、前記疑わしいメッセージを判定する、請求項１または２に記載の監視装置。
【請求項４】
前記記録部は、メッセージの識別子毎に関連する識別子を対応付けた情報を予め記憶し、受信したメッセージが前記疑わしいメッセージであると前記第２判定部により判定されると、当該疑わしいメッセージの識別子と関連する識別子を有し、かつ、当該疑わしいメッセージの前後に受信した所定数のメッセージのデータ値及び受信時刻を更に履歴として記録する、請求項１〜３のいずれかに記載の監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを流れるメッセージを監視する監視装置に関する。
【背景技術】
【０００２】
従来、同一の識別子を持つデータの受信周期や、異なる識別子を持つデータの受信間隔、異なる種類のデータ間の関係に基づいて、ネットワーク上の不正なデータを検知する手法が知られている。
【０００３】
例えば、特許文献１には、車載ネットワーク等の周期的にデータを受信して処理するネットワーク装置において、同一の識別子を持つデータの受信周期が設計周期より短い場合に、不正攻撃等の異常が発生したと判定する手法が記載されている。特許文献２には、基準データフレームを受信してから、不正検知対象のデータフレームを受信するまでの時間差が予め定められた範囲内であれば、対象データフレームを適性と判定し、範囲外であれば対象データフレームを不正と判定する不正検知方法が記載されている。特許文献３には、第１識別子を有するフレームと、第２識別子を有するフレームとの許容される関係についての条件を含む不正検知ルールを用いて、複数の識別子のフレームが所定条件を満たすか否かを判定し、満たされない場合に不正状態が発生したと検知する不正検知方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１４６８６８号公報
【特許文献２】特開２０１７−０５０８４１号公報
【特許文献３】特開２０１７−１２３６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１〜３に記載される従来の不正検知手法では、明らかに異常なデータを検出することができるが、明らかに異常なデータでなければ、未定義の攻撃によりネットワークに侵入した疑わしいデータがあったとしても対処ができないという問題がある。
【０００６】
それ故に、本発明は、ネットワークに侵入した異常が疑われるデータに関する情報を収集できる監視装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ネットワークを流れるメッセージを監視する監視装置に関する。当該監視装置は、ネットワーク上のメッセージを順次受信し、受信した連続する所定数のメッセージのデータ値及び受信時刻を、メッセージが有する識別子毎にバッファに格納する取得部と、バッファを参照して、同一の識別子を有する連続する２つのメッセージのデータ値の差分を算出する第１算出部と、バッファを参照して、同一の識別子を有する連続する２つのメッセージの受信時刻の差分を算出する第２算出部と、第１算出部または第２算出部が算出した差分が、異常を判定するための所定条件を満足しない場合に受信したメッセージが異常なメッセージであると判定する第１判定部と、第１算出部または第２算出部が算出した差分が所定条件を満足し、当該所定条件とは異なる判定条件を満足しない場合に、受信したメッセージが異常である可能性のある、疑わしいメッセージであると判定する第２判定部と、ネットワークに送出されたメッセージを順次受信し、受信したメッセージのデータ値及び受信時刻を、メッセージが有する識別子毎に所定上限数まで一時的に記憶し、受信したメッセージが疑わしいメッセージであると第２判定部により判定されると、当該疑わしいメッセージのデータ値及び受信時刻と、当該疑わしいメッセージと同一の識別子を有し、かつ、当該疑わしいメッセージの前後に受信した所定数のメッセージのデータ値及び受信時刻とを含む情報を履歴として記録する記録部とを備える。
【発明の効果】
【０００８】
本発明によれば、ネットワークに侵入した異常が疑われるデータに関する情報を収集できる監視システムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る監視装置を備える車載装置の機能ブロック図
【図２】図１に示した監視装置の詳細を示す機能ブロック図
【図３】図２に示した侵入検知部が行う制御処理を示すフローチャート
【図４】図２に示した通信履歴収集部が行う制御処理を示すフローチャート
【図５】図２に示した通信履歴収集部が記録する履歴情報の一例を示す図
【図６】実施形態に係る監視装置の動作を説明するための模式的なタイムチャート
【発明を実施するための形態】
【００１０】
本発明の一実施形態に係る監視装置は、ネットワークから受信したメッセージが異常なメッセージであるかどうかを判定すると共に、受信したメッセージが異常とは判定できないが、異常である可能性が疑われる疑わしいメッセージであるか否かを判定する。受信したメッセージが疑わしいメッセージであると判定された場合、一実施形態に係る監視装置は、判定に係るメッセージ及びその前後のメッセージに関する情報を履歴として記録する。記録された疑わしいメッセージに関する情報は、別途解析することにより、ネットワークに対する不正侵入の事実の把握や対処に利用することができる。
【００１１】
（実施形態）
＜構成＞
図１は、実施形態に係る監視装置を備える車載装置の機能ブロック図である。
【００１２】
車載装置１は、ソフトウェア実行部２と、侵入検知部１１と、通信履歴収集部１２とを備える。車載装置１は、例えば、車両の各部を制御するＥＣＵである。ソフトウェア実行部２は、制御対象の装置（アクチュエータ等）を制御するソフトウェアや各種運転支援機能を実現するソフトウェアを実行することにより、車両の制御機能を提供する。侵入検知部１１及び通信履歴収集部１２は、ネットワークのバス１３に接続されており、バス１３を流れるメッセージを監視し、必要に応じて履歴情報を記録する監視装置３を構成する。ネットワークの種類は特に限定されないが、本実施形態では、ネットワークがＣＡＮである場合を例として説明する。また、以下の説明において、ｍ及びｎは、整数（ただし、ｎ＞ｍ）とする。
【００１３】
図１に示した車載装置１の構成例では、監視装置３がソフトウェア実行部２とバス１３との間に設けられており、侵入検知部１１は、バス１３から取得したメッセージをソフトウェア実行部２に転送する機能と、異常なメッセージを受信するとソフトウェア実行部２に通知を行う機能とを有する。ただし、監視装置３をＥＣＵ等の車載装置１に設けず、独立した構成としても良い。この場合、ソフトウェア実行部２を有する車載装置と監視装置３とは並列にバス１３に接続される。以下、侵入検知部１１及び通信履歴収集部１２の詳細を説明する。
【００１４】
図２は、図１に示した監視装置の詳細を示す機能ブロック図である。
【００１５】
侵入検知部１１は、取得部１５と、第１算出部１８と、第２算出部１９と、第１判定部２１と、第２判定部２２とを備える。
【００１６】
取得部１５は、バス１３に接続され、他の車載装置がバス１３に送出したメッセージを順次受信する。取得部１５は、メッセージに含まれるデータ値を一時的に格納するためのデータ値用バッファ１６と、メッセージの受信時刻を一時的に格納するための受信時刻用バッファ１７とを有する。データ値用バッファ１６及び受信時刻用バッファ１７は、バス１３を流れるメッセージの識別子毎に設けられる。データ値用バッファ１６及び受信時刻用バッファ１７は、それぞれ所定数（図２の例では３つ）のデータの格納領域を有し、同一の識別子を有する連続した所定数のメッセージに係るデータをＦＩＦＯ方式で格納する。取得部１５は、バス１３に送出されたメッセージを受信するたびに、受信したメッセージに含まれるデータ値及びメッセージの受信時刻をそれぞれデータ値用バッファ１６及び受信時刻用バッファ１７に格納する。尚、データ値用バッファ１６及び受信時刻用バッファ１７が有するデータの格納領域の数は３に限定されず、４以上であっても良い。
【００１７】
第１算出部１８は、同一の識別子を有する連続する２つのメッセージのデータ値の差分を算出する。より詳細には、第１算出部１８は、データ値用バッファ１６に新たなデータ値が格納されるたびに、データ値用バッファ１６に格納された最新のデータ値Ｄｎ、最新のデータ値Ｄｎの１つ前に格納された２番目に新しいデータ値Ｄｎ−１、最新のデータ値Ｄｎの２つ前に格納された３番目に新しいデータ値Ｄｎ−２を読み出し、最新のデータ値及び２番目に新しいデータ値の差分Ｄｎ−Ｄｎ−１と、２番目に新しいデータ値及び３番目に新しいデータ値の差分Ｄｎ−１−Ｄｎ−２とを算出する。尚、差分Ｄｎ−１−Ｄｎ−２の値は、前回データ値用バッファ１６に新たなデータ値が格納された際に算出された差分Ｄｎ−Ｄｎ−１と同じであるので、差分Ｄｎ−１−Ｄｎ−２を算出する処理を省略し、前回のデータ格納時に算出された算出された差分Ｄｎ−Ｄｎ−１を使用しても良い。
【００１８】
第２算出部１９は、同一の識別子を有する連続する２つのメッセージの受信時刻の差分を算出する。より詳細には、第１算出部１８は、受信時刻用バッファ１７に新たな受信時刻が格納されるたびに、受信時刻用バッファ１７に格納された最新の受信時刻Ｔｎ、最新のメッセージの１つ前に格納された２番目に新しいメッセージの受信時刻Ｔｎ−１、最新のメッセージの２つ前に格納された３番目に新しいメッセージの受信時刻Ｔｎ−２を読み出し、最新の受信時刻及び２番目に新しい受信時刻の差分Ｔｎ−Ｔｎ−１と、２番目に新しい受信時刻及び３番目に新しい受信時刻の差分Ｔｎ−１−Ｔｎ−２とを算出する。尚、差分Ｔｎ−１−Ｔｎ−２の値は、前回受信時刻用バッファ１７に新たな受信時刻が格納された際に算出された差分Ｔｎ−Ｔｎ−１と同じであるので、差分Ｔｎ−１−Ｔｎ−２を算出する処理を省略し、前回のデータ格納時に算出された算出された差分Ｔｎ−Ｔｎ−１を使用しても良い。
【００１９】
第１判定部２１は、第１算出部１８が算出したデータ値の差分と、第２算出部１９が算出した受信時刻の差分とに基づいて、受信したメッセージが異常なメッセージであるか否かを判定する。第１判定部２１は、異常なメッセージを判定する条件として、ネットワーク（規格）の通信仕様やネットワークに接続される機器のシステム仕様を使用する。ネットワークの通信仕様や機器のシステム仕様の具体例としては、定期的に送信されるメッセージの送信周期、メッセージの送信条件、メッセージの最低送信間隔、メッセージに含まれるデータ値の範囲、データ値の変化量の範囲、連続するメッセージ間におけるデータ値の変化の有無等が挙げられる。これらの条件は、メッセージの識別子毎に予め定められる。第１判定部２１は、例えば、第１算出部１８が算出したデータ値の差分及び第２算出部１９が算出した受信時刻の差分のそれぞれが、予め定められたデータ値の条件及び送信間隔の条件を満たしているか否かを判定し、データ値の差分及び受信時刻の差分のいずれかが予め定められた条件を満足していない場合に、受信したメッセージが異常なデータであると判定する。第１判定部２１が、受信したメッセージを異常であると判定すると、受信したメッセージが異常である旨を示す異常通知を後述する通信履歴収集部１２に出力する。
【００２０】
第２判定部２２は、第１算出部１８が算出したデータ値の差分と、第２算出部１９が算出した受信時刻の差分とに基づいて、受信したメッセージが疑わしいメッセージであるか否かを判定する。ここで、疑わしいメッセージとは、第１判定部２１による判定によって異常なメッセージであると判定されないが、算出されたデータ値または受信時刻の変化量（差分）が、正常なメッセージのデータ値または受信時刻の変化量（差分）とは異なる傾向を示しており、異常なメッセージである可能性のあるメッセージをいう。疑わしいメッセージは、第１判定部２１の判定基準では判定できない。そこで、第２判定部２２は、統計処理や機械学習で生成した判定基準に基づいて、受信したメッセージが疑わしいメッセージであるか否かを判定する。例えば、判定対象値（メッセージのデータ値または受信時刻）の差分の正常な範囲がａ以上ｂ以下であり、更に、複数の正常なメッセージの統計処理により、正常なメッセージの判定対象値の差分が、例えば、９８％の確率でａ'以上ｂ’以下（ただし、ａ＜ａ’＜ｂ’＜ｂとする）の範囲に入ることが分かっている場合を想定する。算出された判定対象値の差分がａ以上ａ’未満またはｂ’より大きくｂ以下の範囲内であれば、受信したメッセージが明らかに異常なメッセージであると判定することはできないが、正常なメッセージが通常示す傾向から外れたメッセージであると言える。そこで、本実施形態では、算出されたデータ値または受信時刻の差分が第１判定部２１の判定条件を満足する場合でも、データ値または受信時刻の差分が正常なメッセージの通常の傾向とは異なる傾向を示す場合には、第２判定部２２は、受信したメッセージを疑わしいメッセージであると判定する。第２判定部２２が、受信したデータを疑わしいと判定すると、受信したメッセージが疑わしい旨を示す疑わしい通知を後述する通信履歴収集部１２に出力する。
【００２１】
通信履歴収集部１２は、論理和演算器２５及び記録部２６を備える。
【００２２】
論理和演算器２５は、第１判定部２１から出力される異常通知の有無と、第２判定部２２から出力される疑わしい通知の有無との論理和を求め、演算結果を記録部２６に出力する。具体的には、論理和演算器２５は、異常通知または疑わしい通知のいずれかが入力されると、記録部２６に対して履歴情報の記録を指示する信号を出力し、異常通知または疑わしい通知のいずれの入力もない場合には、記録部２６に対する信号の出力を行わない。
【００２３】
記録部２６は、バス１３に接続され、他の車載装置がバス１３に送出したメッセージを順次受信する。記録部２６によるメッセージの受信は、上述した取得部１５によるメッセージの受信と並行して行われる。記録部２６は、ＲＡＭやＥＥＰＲＯＭ等からなるデータの記憶領域を有し、受信したメッセージのデータ値及び受信時刻を含むデータセットを、メッセージの識別子毎に所定上限数まで記憶領域内のバッファに一時的に記憶する。記録部２６は、所定上限数のデータセットを、例えばリングバッファ方式で管理することができる。一時的に記憶可能なデータセットの数は、固定値であっても良いし、可変値であっても良い。
【００２４】
記録部２６は、論理和演算器２５から履歴情報の記録を指示する信号を受信すると、第１判定部２１が異常であると判定したメッセージまたは第２判定部２２が疑わしいと判定したメッセージ（以下、異常または疑わしいと判定されたメッセージを「判定対象メッセージ」という）に含まれるデータ値及び受信時刻と、判定対象メッセージと同じ識別子を有し、判定対象メッセージの前後に受信した所定数のメッセージのデータ値及び受信時刻とを含む履歴情報を記憶領域に記録する。尚、記録部２６が記録すべき判定対象メッセージを特定する方法は特に限定されず、第１判定部２１が出力する異常通知及び第２判定部２２が出力する疑わしい通知のそれぞれに、判定対象メッセージを特定する情報（例えば、メッセージの識別子及び受信時刻）を含ませ、当該判定対象メッセージを特定する情報を、記録部２６が論理和演算器２５を介して取得しても良い。あるいは、第１判定部２１及び第２判定部２２による判定処理は、バス１３にメッセージが送出されるたびに実行されるので、論理和演算器２５からの信号を受信する直前に記録部２６がバッファに一時的に記憶したメッセージを判定対象メッセージと特定しても良い。記録部２６は、判定対象メッセージとこれより前に受信した同一識別子のメッセージのデータセット（データ値及び受信時刻を含む）をバッファから読み出し、読み出したメッセージのそれぞれのデータ値と受信時刻を履歴情報として記録する。また、記録部２６は、判定対象メッセージより後に受信するメッセージに関するデータ値及び受信時刻を、判定対象メッセージを受信した後、判定対象メッセージと同一識別子のメッセージを受信するたびに作成した履歴情報に追加する。記録部２６が履歴情報として記録する。記録部２６が履歴情報として記録するデータ値及び受信時刻のデータセット数は特に限定されず、固定値であっても良いし、可変値であっても良い。
【００２５】
また、例えば、ある運転支援系システムからバス１３に送出されたメッセージが異常または疑わしいと判定された場合、この運転支援系システムの識別子を有するメッセージを解析する際に、車速に関するメッセージなどの他の識別子の情報も参照したい場合があり得る。そこで、バス１３を流れるメッセージの識別子毎に関連のある識別子を定義したテーブル等を予め用意しておき、記録部２６が履歴情報の記録を開始するときに、判定対象メッセージと関連する１以上の識別子のメッセージのデータセット（データ値及び受信時刻）を記録することが好ましい。この場合、記録部２６は、判定対象メッセージの受信時刻を基準として、判定対象メッセージの受信前後に受信された、判定対象メッセージと関連付けられた識別子のメッセージのデータセットを所定数記録すれば良い。
【００２６】
＜制御処理＞
以下、図１〜図５を参照して、侵入検知部１１及び通信履歴収集部１２の制御処理を説明する。
【００２７】
図３は、図２に示した侵入検知部が行う制御処理を示すフローチャートである。
【００２８】
ステップＳ１：取得部１５は、バス１３に送出されたメッセージを受信したか否かを判定する。ステップＳ１の判定がＹＥＳの場合、処理はステップＳ２に進み、それ以外の場合は、再度ステップＳ１の判定を行う。
【００２９】
ステップＳ２：取得部１５は、受信したメッセージのバッファリングを行う。具体的に、図２の構成例では、取得部１５は、データ値用バッファ１６における最新及び１世代前のデータ値格納領域の値を、それぞれ１世代前及び２世代前のデータ値格納領域に移動し、受信したメッセージのデータ値を最新のデータ値格納領域に格納する。同様に、取得部１５は、受信時刻用バッファ１７における最新及び１世代前の受信時刻格納領域の値を、それぞれ１世代前及び２世代前の受信時刻格納領域に移動し、受信したメッセージの受信時刻を最新の受信時刻格納領域に格納する。その後、処理はステップＳ３に進む。
【００３０】
ステップＳ３：第１算出部１８及び第２算出部１９が差分算出処理を行う。上述したように、第１算出部１８及び第２算出部１９は、データ値用バッファ１６及び受信時刻用バッファ１７をそれぞれ参照し、同一の識別子を有する連続する２つのメッセージのデータ値の差分及び受信時刻の差分をそれぞれ算出する。その後、処理はステップＳ４に進む。
【００３１】
ステップＳ４：第１判定部２１は、第１算出部１８が算出したデータ値の差分と第２算出部１９が算出した受信時刻の差分とに基づいて、受信したメッセージが異常なメッセージであるか否かを判定する。ステップＳ４の判定がＹＥＳの場合、処理はステップＳ６に進み、それ以外の場合、処理はステップＳ５に進む。
【００３２】
ステップＳ５：第２判定部２２は、第１算出部１８が算出したデータ値の差分と第２算出部１９が算出した受信時刻の差分とに基づいて、受信したメッセージが疑わしいメッセージであるか否かを判定する。ステップＳ５の判定がＹＥＳの場合、処理はステップＳ７に進み、それ以外の場合、処理はステップＳ１に進む。
【００３３】
ステップＳ６：第１判定部２１は、受信したメッセージが異常なメッセージである旨を示す異常通知を通信履歴収集部１２及びソフトウェア実行部２に通知する。ソフトウェア実行部２は、第１判定部２１から異常通知を受信すると、異常と判定されたメッセージを破棄したり、異常なメッセージを受信したことをユーザに報知したりするなど、予め用意されたエラー発生時の処理を実行することが好ましい。その後、処理はステップＳ１に進む。
【００３４】
ステップＳ７：第２判定部２２は、受信したメッセージが疑わしいメッセージである旨を示す疑わしい通知を通信履歴収集部１２に通知する。その後、処理はステップＳ１に進む。
【００３５】
図４は、図２に示した通信履歴収集部が行う制御処理を示すフローチャートであり、図５は、図２に示した通信履歴収集部が記録する履歴情報の一例を示す図である。
【００３６】
ステップＳ１１：記録部２６は、バス１３に送出されたメッセージを受信したか否かを判定する。ステップＳ１１の判定がＹＥＳの場合、処理はステップＳ１２に進み、それ以外の場合は、再度ステップＳ１１の判定を行う。
【００３７】
ステップＳ１２：記録部２６は、受信したメッセージのバッファリングを行う。具体的に、記録部２６は、受信したメッセージのデータ値及び受信時刻を含むデータセットを、メッセージの識別子毎に所定上限数まで記憶領域内のバッファに一時的に記憶する。その後、処理はステップＳ１３に進む。
【００３８】
ステップＳ１３：記録部２６は、論理和演算器２５から出力される信号の有無に基づいて、侵入検知部１１からの通知、すなわち、第１判定部２１からの異常通知（図３のステップＳ６参照）または第２判定部２２からの疑わしい通知（図３のステップＳ７参照）を受信した否かを判定する。ステップＳ１３の判定がＹＥＳの場合、処理はステップＳ１４に進み、それ以外の場合、処理はステップＳ１１に進む。
【００３９】
ステップＳ１４：記録部２６は、異常または疑わしいと判定された判定対象メッセージ及びその前後に受信した、同一識別子を有するメッセージのデータ値及び受信時刻を、識別子毎に記録する。図５に示す例において、判定対象メッセージがＭＳＧｎ−３である場合、記録部２６は、メッセージＭＳＧｎ−３のデータ値及び受信時刻と共に、メッセージＭＳＧｎ−３より前に受信したＭＳＧｎ−４〜ＭＳＧｎ−ｍのデータ値及び受信時刻と、メッセージＭＳＧｎ−３より後に受信したメッセージＭＳＧｎ〜ＭＳＧｎ−２のデータ値及び受信時刻をＩＤ：ＸＸＸを有するメッセージの履歴として記憶する。尚、履歴情報には、判定対象メッセージが異常と判定されたメッセージであるか、あるいは、疑わしいと判定されたメッセージであるかを表す情報を含めることができる。また、メッセージの識別子毎に関連のある識別子が予め定義されている場合、記録部２６は、ステップＳ１４において、判定対象メッセージの識別子と関連のある識別子に関する履歴情報を併せて記録する。その後、処理はステップＳ１１に進む。
【００４０】
＜効果等＞
図６は、実施形態に係る監視装置の動作を説明するための模式的なタイムチャートである。図６において横軸は時間を表し、縦軸はデータ値を表し、黒三角は、バスから受信した同一識別子のメッセージの受信時刻及びデータ値のプロットである。
【００４１】
図６の例では、メッセージのデータ値が予め定められた異常判定閾値を超えた場合に、第１判定部２１が受信したメッセージを異常なメッセージであると判定する。図６に示す例では、時刻ｔ０以降に受信したメッセージのデータ値は、異常判定閾値未満であるので、第１判定部２１は、時刻ｔ０以降に受信したメッセージのいずれも異常であると判定しない。ただし、時刻ｔ２で受信したメッセージと時刻ｔ１で受信したメッセージとのデータ値の差分Δが、第２判定部２２が判定基準として用いる閾値Δｔｈを超えたため、第２判定部２２は、時刻ｔ２で受信したメッセージを疑わしいと判定する。第２判定部２２の判定結果に基づいて、記録部２６は、例えば、時刻ｔ２で受信した判定対象メッセージと、時刻ｔ２より前の時刻ｔ１で受信したメッセージと、時刻ｔ２より後の時刻ｔ３〜ｔ４で受信したメッセージとに含まれるデータ値及び受信時刻を履歴として記録する。
【００４２】
時刻ｔ２で受信したメッセージは、受信時点で明らかに異常なメッセージではないが、正常なメッセージである可能性だけでなく、未定義の攻撃手法によってバス１３送出され、バス１３に接続された機器に不具合を生じさせるメッセージである可能性が考えられる。尚、図６の例では、メッセージのデータ値の変化量（差分）に基づいて疑わしいメッセージを判定する例を説明したが、メッセージの受信時刻の変化量（差分）に基づく判定処理も同様に、第２判定部２２が有する判定基準に基づいて行うことができる。
【００４３】
このように、本実施形態に係る監視装置３は、明らかな異常ではないが、異常である可能性のあるメッセージを検知すると、当該検知したメッセージとその前後に受信したメッセージに含まれる情報を履歴として記録する。したがって、記録した履歴情報を事後に解析することにより、ネットワークに対する新たな攻撃手法の発見や新たな攻撃手法に対する対処を早期に行うことが可能となる。
【００４４】
また、本実施形態に係る監視装置３は、受信したメッセージが疑わしいメッセージであると判定された場合に加え、受信したメッセージが異常なメッセージであると判定された場合にも、判定対象メッセージ及びその前後の情報を履歴として記録する。したがって、ネットワークのバス１３に流れる異常なメッセージが検知された場合においても、履歴情報を解析することにより、ネットワークに対する不正侵入の状況を詳細に確認することが可能となる。
【００４５】
また、第１判定部２１及び第２判定部２２が異なる判定基準に基づいて判定処理を行い、第２判定部２２は、統計処理や機械学習に基づいて生成された判定基準を用いるため、明らかな異常ではないが、異常である可能性のあるメッセージを抽出することができる。
【００４６】
また、本実施形態に係る監視装置３では、異常または疑わしいと判定されたメッセージの識別子と関連のある識別子の情報を併せて記録することができるため、事後に履歴情報を解析する際に解析の精度を向上させることができる。
【００４７】
尚、記録部２６が記録した履歴情報の解析は、車載装置１に設けても良いが、履歴情報の解析には高い計算能力が必要となるため、データセンタに設ける外部サーバ等の解析装置において行っても良い。この場合、監視装置３が定期的に、または、車両停止時等の所定のタイミングで履歴情報を外部サーバに送信しても良いし、外部サーバからの要求に応じて監視装置３が履歴情報を送信しても良い。更に、監視装置３は、履歴情報と共に、判定対象メッセージを送信した機器及びこれに関連する機器の通信履歴や、ダイアグデータ（故障診断用情報）を外部サーバ等の解析装置に送信することが好ましい。履歴情報と併せて関連する機器の通信履歴やダイアグデータを解析することにより、解析の精度を向上させることができる。
【産業上の利用可能性】
【００４８】
本発明は、車載ネットワークやその他のネットワークを流れるデータを監視する監視装置として利用できる。
【符号の説明】
【００４９】
３  監視装置
１１  侵入検知部
１２  通信履歴収集部
１３  バス
１５  取得部
１６  メッセージ用バッファ
１７  受信時刻用バッファ
１８  第１算出部
１９  第２算出部
２１  第１判定部
２２  第２判定部
２６  記録部
【図１】
2020092379.tif 000003
【図２】
2020092379.tif 000004
【図３】
2020092379.tif 000005
【図４】
2020092379.tif 000006
【図５】
2020092379.tif 000007
【図６】
2020092379.tif 000008