(57)【要約】  周期から外れるフレームに対する不正の検知を可能にする抽出装置等を提供する。抽出装置は、ノードと関連付けられた識別子が同一である同一識別子のフレームごとに、周期を維持するフレームと周期から外れるフレームに選別するフレーム選別部と、前記同一識別子で周期から外れるフレームから、前記フレームにおけるイベント発生に関連するデータフィールドのビット変化の特徴を抽出するルール抽出部を備える。
2019207764.tif 000002
【特許請求の範囲】
【請求項１】
ノードと関連付けされた識別子が同一である同一識別子のフレームの集合ごとに、周期を維持するフレームと周期から外れるフレームに選別するフレーム選別手段と、
前記同一識別子で周期から外れるフレームの集合から、イベント発生に関連するデータフィールドのビット変化の特徴をイベントルールとして抽出するルール抽出手段と、
を備える、抽出装置。
【請求項２】
前記フレーム選別手段は、前記同一識別子のフレームの集合から前記同一識別子で周期を維持するフレームを除いて、前記周期から外れるフレームを選別する、請求項１に記載の抽出装置。
【請求項３】
前記データフィールドのビット変化の特徴は、前記データフィールドにおける特定位置のビットの反転である、請求項１又は２に記載の抽出装置。
【請求項４】
前記データフィールドのビット変化の特徴は、前記データフィールドにおける０と１が指定されたビットの組み合わせである、請求項１又は２に記載の抽出装置。
【請求項５】
前記データフィールドのビット変化の特徴は、前記データフィールドにおける特定位置のビットが前記イベント発生の前後で同じ値をとる、請求項１又は２に記載の抽出装置。
【請求項６】
請求項１乃至５のいずれか１つに記載の抽出装置と通信可能に接続される検知装置であって、
検知対象となる前記周期から外れるフレームの前記データフィールドが、前記抽出装置が抽出した前記特徴と合致しない場合、前記検知対象のフレームを不正なフレームと判定する判定手段を備える、検知装置。
【請求項７】
ノードと関連づけされた識別子が同一である同一識別子のフレームごとに、周期を維持するフレームと周期から外れるフレームに選別し、
前記同一識別子で周期から外れるフレームから、前記フレームにおけるイベント発生に関連するデータフィールドのビット変化の特徴を抽出する、
を備える、抽出方法。
【請求項８】
ノードと関連した識別子を含むフレームが同一である同一識別子のフレームの集合ごとに、周期を維持するフレームと周期から外れるフレームに選別し、
前記同一識別子で周期から外れるフレームから、前記フレームにおけるイベント発生に関連するデータフィールドのビット変化の特徴を抽出する、
ことをコンピュータに実行させるプログラムを格納した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
車両等に搭載される電子制御ユニットが通信するネットワークに関し、当該ネットワークに出力された不正なフレームを検知する抽出装置等に関する。
【背景技術】
【０００２】
自動車等の車両には、電子制御ユニット（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）が複数搭載されている。これらＥＣＵを繋ぐネットワークは車載ネットワークと呼ばれ、車両を制御する様々なデータを含むフレームがＥＣＵの間で送受信されている。【０００３】
一方、閉じられた車載ネットワークでフレームを送受信していたＥＣＵが、外部と接続可能となることで、セキュリティ問題の発生リスクが高くなっている。例えば、外部と通信可能なＥＣＵが攻撃を受けた場合、車載ネットワークに不正なフレームが出力されて車両が不正に制御されるおそれがある。【０００４】
このような不正なフレームを検知する技術として、ＥＣＵから出力されたフレームの周期を予め登録し、検知対象のフレームが登録された周期に該当するか否かで不正なフレームを判定することが特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１１１７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方で、ＥＣＵが出力するフレームの中には、周期を維持するフレームの他、ドアの開閉のように、イベント発生によって出力される周期から外れるフレームがある。上述の検知技術は、ＥＣＵから出力されるフレームの周期性を利用して不正を検知するため、周期から外れるフレームに対する不正を検知することができない。【０００７】
本発明の目的は、周期から外れるフレームに対する不正の検知を可能にする抽出装置等を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の抽出装置は、ノードと関連付けられた識別子が同一である同一識別子のフレームごとに、周期を維持するフレームと周期から外れるフレームに選別するフレーム選別部と、前記同一識別子で周期から外れるフレームから、前記フレームにおけるイベント発生に関連するデータフィールドのビット変化の特徴を抽出するルール抽出部を備える。【０００９】
本発明の抽出方法は、ノードと関連付けられた識別子が同一である同一識別子のフレームごとに、周期を維持するフレームと周期から外れるフレームに選別し、前記同一識別子で周期から外れるフレームから、前記フレームにおけるイベント発生に関連するデータフィールドのビット変化の特徴を抽出する。【００１０】
本発明の記録媒体に格納されたプログラムは、ノードと関連付けられた識別子が同一である同一識別子のフレームごとに、周期を維持するフレームと周期から外れるフレームに選別し、前記同一識別子で周期から外れるフレームから、前記フレームにおけるイベント発生に関連するデータフィールドのビット変化の特徴を抽出する、ことをコンピュータに実行させる。
【発明の効果】
【００１１】
本発明によれば、周期から外れるフレームに対する不正の検知が可能になる。
【図面の簡単な説明】
【００１２】
【図１】ＣＡＮの構成を示すブロック図である。
【図２】ＣＡＮのフレーム構造を説明する図である。
【図３】第１の実施形態に係る抽出装置の構成の一例を示すブロック図である。
【図４Ａ】データフィールドのビット変化の特徴の一例を説明する図である。
【図４Ｂ】データフィールドのビット変化の特徴の別の例を説明する図である。
【図４Ｃ】データフィールドのビット変化の特徴の他の例を説明する図である。
【図５】第１の実施形態に係る抽出装置１０の動作を示すフローチャートである。
【図６】フレーム選別処理の動作の一例を示すフローチャートである。
【図７】ルール抽出処理の動作の一例を示すフローチャートである。
【図８】第２の実施形態に係る検知装置の構成の一例を示すブロック図である。
【図９】第２の実施形態に係る検知装置の動作の一例を示すフローチャートである。
【図１０】第３の実施形態に係る監視装置をＣＡＮに適用した構成を示すブロック図である。
【図１１】第３の実施形態に係る監視装置の構成を示すブロック図である。
【図１２】第３の実施形態に係る抽出装置の構成を示すブロック図である。
【図１３】第３の実施形態に係る検知装置の構成を示すブロック図である。
【図１４】イベント発生により周期を維持するフレームの基点の変更を説明する図である。
【図１５】第１の実施形態の抽出装置の内部構成を示すハードウエア構成図である。
【発明を実施するための形態】
【００１３】
本実施形態の抽出装置、検知装置等について、自動車の車載ネットワークに適用した例を用いて説明する。以下、車載ネットワークの１つであるＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を用いて説明する。なお、本実施形態は、車載ネットワークに好適であるが、それ以外のネットワークへの適用、例えば、産業用ネットワークへの適用を妨げるものではない。
【００１４】
（第１の実施形態）
第１の実施形態に係る抽出装置について図面を用いて説明する。はじめに、ＣＡＮについて簡単に説明する。図１は、ＣＡＮの構成を示すブロック図である。図１に示すように、複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）３１がＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）バス３２に接続されている。ＣＡＮは、車載ネットワークの通信プロトコルの一種であり、例えば、車両のパワートレイン系、ボディ系に幅広く適用されている。ＥＣＵ３１は、例えば、車両に搭載されたセンサからの信号又は車両のスイッチ操作に伴う信号をフレームに含めてＣＡＮバス３２に出力する。ＥＣＵ３１およびＣＡＮバス３２は、それぞれノードおよびネットワークバスとも呼ばれる。
【００１５】
図２は、ＣＡＮのフレーム構造を説明する図である。ＣＡＮのフレームは、主に識別子（ＩＤ：ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）と最大８バイト（６４ビット）のデータフィールドで構成される。識別子（以後、単にＩＤと示す）には、フレームを出力するＥＣＵごとにユニークなＩＤが割り振られる。このため、ＩＤによって、そのフレームを出力したＥＣＵの識別、あるいは、フレームに含まれるデータの種類の識別が可能となる。データの種類は、例えば、ステアリング角、エンジン回転数、車両速度、又は、ドア開閉状態である。
【００１６】
ただし、ＩＤごとに割り当てられているデータの種類は、自動車メーカーごとに異なる。例えば、ある自動車メーカーではエンジン回転数にＩＤ２５６を割り当てたとしても、別のメーカーではエンジン回転数にＩＤ２５６は使用されない、もしくは、ステアリング角に割り当てられている場合がある。
【００１７】
データフィールドは、ＥＣＵが出力したデータの内容を表す。ＣＡＮフレームのデータフィールドは、一般的に、状態を１ビットで表す０／１のフラグ、状態を複数ビットで表すもの、複数ビットで連続値を表現するものが複数含まれている。なお、データフィールドにおける各ビットが示す情報は自動車メーカーから公開されていない。
【００１８】
＜抽出装置＞
第１の実施形態に係る抽出装置について図面を用いて説明する。図３は、第１の実施形態に係る抽出装置１０の構成を示すブロック図である。図３に示す抽出装置１０は、フレーム選別部１１、ルール抽出部１２を備える。まず、抽出装置１０は、フレームログを取得する。フレームログは、例えば、図１に示す車載ネットワークにおけるＥＣＵ３１がＣＡＮバスに出力したフレームの集合である。フレームログには、他のＥＣＵ３１が受信した、各フレームに対応するタイムスタンプ（受信時刻）も含まれる。
【００１９】
抽出装置１０が、ＣＡＮバス３２に接続されている場合、抽出装置で受信した各フレームをフレームログとして取得してもよい。あるいは、抽出装置１０がＣＡＮバス３２に接続されていない場合、ＣＡＮバス３２に接続された装置、例えば、ＥＣＵ３１が受信したフレームの集合をフレームログとしてもよい。
【００２０】
（フレーム選別部１１）
フレーム選別部１１は、ＥＣＵ３１から出力された同一ＩＤのフレームごとに、周期を維持するフレームと周期から外れるフレームに選別する。周期を維持するフレームとは、ＥＣＵ３１から一定周期で出力されたフレームをいう。同一ＩＤのフレームの周期は、フレームログに含まれる同一ＩＤのフレームの受信時刻（タイムスタンプ）から同一ＩＤのフレームの受信間隔を導出することにより取得できる。
【００２１】
具体的には、フレーム選別部１１は、フレームログを、フレームに含まれるＩＤに基づき、ＩＤごとのフレームの集合を生成する。さらに、フレーム選別部１１は、ＩＤごとのフレームに対応した受信時刻に基づき、ＩＤごとにフレームの周期を抽出する。フレーム選別部１１は、抽出されたＩＤの周期に基づき、同一ＩＤのフレームの集合を、周期を維持するフレームの集合と周期から外れるフレームの集合に選別する。周期から外れるフレームの集合は、同一ＩＤのフレームの集合から、周期を維持するフレームの集合を除いたフレームの集合である。同一ＩＤの周期から外れるフレームの集合には、イベント発生による正常なフレームの他に、不正なフレームが含まれている可能性がある。フレーム選別部１１は、選別された同一ＩＤで周期から外れるフレームの集合をルール抽出部１２に送る。
【００２２】
（ルール抽出部１２）
ルール抽出部１２は、同一ＩＤで周期から外れるフレームの集合から、フレーム間におけるデータフィールドのビット変化の特徴をイベントルールとして抽出する。具体的には、ルール抽出部１２は、同一ＩＤで周期から外れるフレームの集合をタイムスタンプに基づき受信順に並べ、フレーム前後におけるデータフィールドのビット変化の特徴を分析する。
【００２３】
図４Ａ、図４Ｂ、および、図４Ｃは、それぞれ別ＩＤのデータフィールドにおけるビット変化の特徴を説明する図である。図４Ａに示す第１のビット変化の特徴は、イベント発生に関連して、フレーム前後でデータフィールドの特定位置のビットが反転する例である。図中、「Ｆ」は、ビットの反転を示し、「−」はイベント発生時の値が不定であることを示す。図４Ａの例は、イベント発生によってデータフィールドの４番目のビットが反転していることを表している。
【００２４】
図４Ｂに示す第２のビット変化の特徴は、イベント発生に関連して、データフィールドで「０」又は「１」が指定されているビットについて、所定の列挙された組み合わせとなる例である。所定の列挙された組み合わせとは、例えば、「１１０１」あるいは「００１０」のようなビット列である。
【００２５】
図４Ｃに示す第３のビット変化の特徴は、イベント発生に関連して、データフィールドの特定位置のビットがイベント発生時の直前の値と同じ値をとる例である。
【００２６】
ルール抽出部１２は、イベント発生時の前後におけるデータフィールドのビット変化の特徴を分析し、分析結果を基に、ビット変化の特徴をＩＤと関連付けてイベントルールとして抽出する。
【００２７】
ルール抽出部１２で抽出されたイベントルールは、同一ＩＤで周期から外れるフレームのうち、イベント発生によってＥＣＵ３１から出力された正常なフレームとして判定するための指標となる。
【００２８】
次に、第１の実施形態の抽出装置の動作について図面を用いて説明する。図５は、第１の実施形態に係る抽出装置１０の動作を示すフローチャートである。はじめに抽出装置１０は、フレームログを取得する。抽出装置１０のフレーム選別部１１は、フレーム選別処理を実行する（ステップＳ１０１）。
【００２９】
図６は、フレーム選別処理の動作の一例を示すフローチャートである。フレーム選別部１１は、フレームログのフレームに含まれるＩＤに基づき、ＩＤごとのフレームの集合を生成する（ステップＳ１０１１）。フレーム選別部１１は、ＩＤごとのフレームに対応した受信時刻に基づき、ＩＤごとにフレームの周期を抽出する（ステップＳ１０１２）。フレーム選別部１１は、抽出されたＩＤの周期に基づき、同一ＩＤのフレームの集合を、周期を維持するフレームと周期から外れるフレームに選別する（ステップＳ１０１３）。周期から外れるフレームは、同一ＩＤのフレームの集合から、周期を維持するフレームの集合を除き、周期から外れるフレームの集合を選別する。
【００３０】
次に、ルール抽出部１２は、同一ＩＤで周期から外れるフレームの集合から、フレーム間におけるデータフィールドのビット変化の特徴を表すイベントルールを抽出するルール抽出処理を実行する（ステップＳ１０２）。
【００３１】
図７は、ルール抽出処理の動作の一例を示すフローチャートである。ルール抽出部１２は、同一ＩＤで周期から外れるフレームの集合を、タイムスタンプに基づき受信順に並べ、フレーム間におけるデータフィールドのビット変化の特徴を分析する（ステップＳ１０２１）。ルール抽出部１２は、分析結果を基に、ビット変化の特徴を同一ＩＤのフレームと関連付けてイベントルールとして抽出する（ステップＳ１０２２）。抽出装置１０は、抽出されたイベントルールを出力する。イベントルールは、ルール抽出部１２によって出力されてもよい。
【００３２】
（第１の実施形態の効果）
第１の実施形態の抽出装置１０によれば、周期から外れるフレームに対する不正の検知が可能になる。その理由は、抽出装置１０が、周期を維持するフレームを出力するノードが、イベント発生によって出力した周期から外れるフレームを識別するためのイベントルールを抽出するからである。具体的には、フレーム選別部１１が、ノードに関連付けられた識別子が同一である同一識別子のフレームごとに、周期を維持するフレームと周期から外れるフレームに選別し、ルール抽出部１２が、同一識別子で周期から外れるフレームから、フレーム間におけるデータフィールドのビット変化の特徴を表すイベントルールを抽出するからである。
【００３３】
（第２の実施形態）
＜検知装置＞
次に、第２の実施形態に係る検知装置、検知方法について、図面を用いて説明する。第２の実施形態の検知装置は、第１の実施形態の抽出装置で抽出されたイベントルールを用いて、周期から外れるフレームが正常なフレームか不正なフレームかを判定する機能を有する。
【００３４】
図８は、第２の実施形態に係る検知装置２０の構成を示すブロック図である。第２の実施形態に係る検知装置２０は、判定部２１を備える。検知装置２０は、検知対象のフレームと、第１の実施形態の抽出装置１０が抽出したイベントルールを取得する。第２の実施形態における検知対象のフレームは、周期から外れるフレームである。
【００３５】
判定部２１は、周期から外れるフレームのデータフィールドが、抽出装置１０が抽出したイベントルールと合致するかを比較する。判定部２１は、イベントルールと合致する場合、正常なフレームと判定し、イベントルールと合致しない場合、検知対象のフレームを不正なフレームと判定する。検知装置の出力部（図示せず）は、判定結果を出力する。
【００３６】
次に、第２の実施形態の検知装置の動作について図面を用いて説明する。図９は、第２の実施形態に係る検知装置２０の動作を示すフローチャートである。検知装置２０は、抽出装置１０が抽出したイベントルールを取得する。さらに、検知装置２０は、検知対象のフレームとして、周期から外れるフレームを取得する。
【００３７】
判定部２１は、周期から外れるフレームのデータフィールドとイベントルールと比較する（ステップＳ２０１）。具体的には、判定部２１は、周期から外れるフレームのデータフィールドのビット列がイベントルールに合致するかを調べる。
【００３８】
イベントルールに合致する場合（ステップＳ２０２のＹｅｓ）、判定部２１は、周期から外れるフレームは正常なフレームであると判定する（ステップＳ２０３）。一方、イベントルールに合致しない場合（ステップＳ２０２のＮｏ）、判定部２１は、周期から外れるフレームは不正なフレームであると判定する（ステップＳ２０４）。ステップＳ２０３、ステップＳ２０４の判定後、検知装置２０の出力部（図示せず）は、判定結果を出力する。
【００３９】
（第２の実施形態の効果）
第２の実施形態の検知装置によれば、周期から外れるフレームに対する不正の検知が可能になる。その理由は、判定部が検知対象となる周期から外れるフレームのデータフィールドが、抽出装置が抽出したイベントルールと合致しない場合、検知対象のフレームを不正なフレームと判定するからである。これにより、周期から外れるフレームを出力するノードが攻撃を受けて不正なノードとなった場合でも、当該ノードから出力される不正なフレームを検知することが可能となる。
【００４０】
（第３の実施形態）
第３の実施形態に係る監視装置について図面を用いて説明する。図１０は、第３の実施形態に係る監視装置をＣＡＮに適用した構成を示すブロック図である。図１０に示すＥＣＵ３１およびＣＡＮバス３２は、第１の実施形態で説明した構成と同様であり、詳細な説明は省略する。監視装置３０は、ＣＡＮバス３２と通信可能に接続されている。監視装置３０は、ＥＣＵ３１から出力されたフレームを他のＥＣＵ３１と同様に受信できるものとする。監視装置３０が受信したフレームの集合であるフレームログには、受信したフレームのＩＤにタイムスタンプ（受信時刻）が関連付けされているものとする。
【００４１】
＜監視装置＞
第３の実施形態に係る監視装置の構成について図面を用いて説明する。図１１は、第３の実施形態に係る監視装置３０の構成を示すブロック図である。図１１に示す監視装置３０は、抽出装置４０と、検知装置５０を備える。
【００４２】
監視装置３０に含まれる抽出装置４０は、第１の実施形態の抽出装置１０と同様、同一ＩＤで周期から外れるフレームに対して正常なフレームの指標となるイベントルールを抽出する機能を有する。第３の実施形態の抽出装置４０は、イベントルールの抽出に加え、同一ＩＤで周期を維持するフレームに対する周期ルールを抽出する機能を有する。
【００４３】
また、監視装置３０に含まれる検知装置２５は、第２の実施形態の検知装置２０と同様、イベントルールを用いて周期から外れるフレームが正常なフレームか不正なフレームかを判定する機能を有する。第３の実施形態の検知装置５０は、イベントルールによる周期から外れるフレームの判定に加え、周期ルールを用いて周期を維持するフレームが正常なフレームか不正なフレームかを判定する機能を有する。
【００４４】
以下、第３の実施形態の抽出装置４０、検知装置５０の説明では、第１の実施形態の抽出装置１０と、第２の実施形態の検知装置２０と同じ機能の構成については、詳細な説明を省略する。
【００４５】
第３の実施形態に係る抽出装置４０について図面を用いて説明する。図１２は、第３の実施形態に係る抽出装置４０の構成を示すブロック図である。抽出装置４０は、フレーム選別部１１、ルール抽出部４２を備える。
【００４６】
フレーム選別部１１は、第１の実施形態と同様に、フレームログを取得し、同一ＩＤのフレームの集合ごとに、周期を維持するフレームと周期から外れるフレームに選別する。フレームログは、ＣＡＮバス３２に接続された監視装置３０が受信して蓄積したフレームの集合である。
【００４７】
ルール抽出部４２は、周期ルール抽出部４２１と、イベントルール抽出部４２２を備える。周期ルール抽出部４２１は、フレーム選別部１１でフレームの選別の際に使用されたＩＤごとの周期情報から、フレームログに含まれるＩＤと周期の関係を周期ルールとして抽出する。例えば、フレームログの中でＩＤ４２０のフレームが１０ｍｓごとに出現していた場合、周期ルール抽出部３２１は、周期ルールとして「ＩＤ４２０：１０（ｍｓ）」を抽出する。
【００４８】
イベントルール抽出部４２２は、第１の実施形態のルール抽出部１２と同様にイベント発生時の前後におけるデータフィールドのビット変化の特徴を分析し、分析結果を基に、ビット変化の特徴をＩＤと関連付けてイベントルールとして抽出する。抽出された周期ルールとイベントルールは、出力部（図示なし）によって検知装置５０へ出力される。
【００４９】
第３の実施形態に係る検知装置５０について図面を用いて説明する。図１３は、第３の実施形態に係る検知装置５０の構成を示すブロック図である。検知装置５０は、判定部５１を備える。判定部５１は、周期ルール判定部５１１と、イベントルール判定部５１２を有する。
【００５０】
周期ルール判定部５１１は、抽出装置４０が出力した周期ルールを用いて周期を維持するフレームが正常なフレームか不正なフレームかを判定する。具体的には、検知対象となるフレームが、周期ルールに含まれるＩＤとその周期に合致するかを確認する。ここで、周期の合致とは、周期ごとの許容誤差を含んだ範囲であってもよい。例えば、周期が１０ｍｓの場合、１０ｍｓ±１ｍｓの範囲であり、周期が５００ｍｓの場合、５００ｍｓ±１０ｍｓの範囲であるとする。
【００５１】
周期ルール判定部５１１は、検知対象となるフレームが周期と合致する場合、あるいは、許容誤差に収まっている場合、正常なフレームと判定する。一方、周期ルール判定部５１１は、検知対象となるフレームが周期と合致しない場合、あるいは、許容誤差から逸脱している場合、検知対象となるフレームを周期から外れるフレームとしてイベントルール判定部５１２に送る。
【００５２】
イベントルール判定部５１２は、抽出装置４０が出力したイベントルールを用いて周期から外れるフレームが正常なフレームか不正なフレームかを判定する。イベントルール判定部５１２におけるイベントルールを用いた周期から外れるフレームの判定については、第２の実施形態の判定部２１と同様であり、詳細な説明については省略する。
【００５３】
ここで、周期を維持するフレームを出力しているＥＣＵには、イベント発生によりその後に出力するフレームの基点が変わるものがある。図１４は、イベント発生による周期を維持するフレームの基点の変更を説明する図である。図１４中、Ｆ１〜Ｆ５は、ＥＣＵによって出力された周期を維持するフレームを表している。また、Ｆｅｖｅｎｔは、イベント発生によって出力されたフレームを表している。
【００５４】
図１４（ａ）に示すフレームを出力するＥＣＵは、フレームＦ３の後にイベント発生によってフレームＦｅｖｅｎｔが出力されるが、その後に出力される周期を維持するフレームＦ４は、フレームＦ３からの間隔Ｔを保って出力される。
【００５５】
一方、図１４（ｂ）に示すフレームを出力するＥＣＵは、フレームＦ３の後にイベント発生によってフレームＦｅｖｅｎｔが出力されると、その後に出力される周期を維持するフレームＦ４は、フレームＦｅｖｅｎｔからの間隔Ｔで出力される。図１４（ｂ）の場合、フレームＦ３と、その後に出力されるフレームＦ４以降のフレームは、周期ルール判定部５１１において、周期の合わないフレームとして判定されることになる。
【００５６】
このため、イベントルール判定部５１２は、周期から外れるフレームが正常なフレームであることを判定した後、周期判定の基点をイベント発生時のフレームに更新する。具体的には、イベントルール判定部５１２は、イベント発生時のフレームＦｅｖｅｎｔの時刻情報を周期の基点とすることで、フレームＦ４以降のフレームの周期性をチェックすることが可能となる。
【００５７】
（第３の実施形態の効果）
第３の実施形態の抽出装置４０によれば、周期から外れるフレームに対する不正の検知が可能になる。その理由は、抽出装置４０が、周期を維持するフレームを出力するノードが、イベント発生によって出力した周期から外れるフレームを識別するためのイベントルールを抽出するからである。
【００５８】
第３の実施形態の検知装置５０によれば、周期から外れるフレームに対する不正の検知が可能になる。その理由は、判定部５１が検知対象となる周期から外れるフレームのデータフィールドが、抽出装置４０が抽出したイベントルールと合致しない場合、検知対象のフレームを不正なフレームと判定するからである。これにより、周期から外れるフレームを出力するノードが攻撃を受けて不正なノードとなった場合でも、当該ノードから出力される不正なフレームを検知することが可能となる。
【００５９】
（ハードウエア構成）
図１６は、第１の実施形態の抽出装置１０の内部構成を示すハードウエア構成図である。抽出装置１０は、制御を実行するプロセッサ６０１、プログラムおよび不揮発性データを保存するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６０２、揮発性データを保存するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６０３、データを送受信する通信インターフェース６０４、装置内部の通信に用いる内部バス６０５を備える。なお、第１の実施形態のＥＣＵ３１、第２の実施形態の検知装置２０、第３の実施形態の抽出装置４０、検知装置５０も、第１の実施形態の抽出装置１０と同様に図１６示すハードウエア構成を用いた装置として実現することができる。
【００６０】
第１、第２、第３の実施形態における各構成要素は、これらの機能を実現するプログラムをプロセッサ６０１が取得して実行することで実現される。抽出装置１０の実現方法には、様々な変形例がある。例えば、抽出装置１０は、構成要素毎にそれぞれ別個の情報処理装置とプログラムとの任意の組み合わせにより実現されてもよい。また、抽出装置が備える複数の構成要素が、一つの情報処理装置とプログラムとの任意の組み合わせにより実現されてもよい。
【００６１】
また、各装置の各構成要素の一部又は全部は、その他の汎用または専用の回路、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。  各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【００６２】
各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００６３】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００６４】
１０、４０  抽出装置
１１  フレーム選別部
１２、４２  ルール抽出部
２０、５０  検知装置
２１、５１  判定部
３０  監視装置
４２１  周期ルール抽出部
４２２  イベントルール抽出部
５１１  周期ルール判定部
５１２  イベントルール判定部
【図１】
2019207764.tif 000003
【図２】
2019207764.tif 000004
【図３】
2019207764.tif 000005
【図４Ａ】
2019207764.tif 000006
【図４Ｂ】
2019207764.tif 000007
【図４Ｃ】
2019207764.tif 000008
【図５】
2019207764.tif 000009
【図６】
2019207764.tif 000010
【図７】
2019207764.tif 000011
【図８】
2019207764.tif 000012
【図９】
2019207764.tif 000013
【図１０】
2019207764.tif 000014
【図１１】
2019207764.tif 000015
【図１２】
2019207764.tif 000016
【図１３】
2019207764.tif 000017
【図１４】
2019207764.tif 000018
【図１５】
2019207764.tif 000019
【手続補正書】
【提出日】令和2年9月23日(2020.9.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項７
【補正方法】変更
【補正の内容】
【請求項７】
ノードと関連付けされた識別子が同一である同一識別子のフレームの集合ごとに、周期を維持するフレームと周期から外れるフレームに選別し、
前記同一識別子で周期から外れるフレームから、イベント発生に関連するデータフィールドのビット変化の特徴をイベントルールとして抽出する、
を備える、抽出方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
ノードと関連付けされた識別子が同一である同一識別子のフレームの集合ごとに、周期を維持するフレームと周期から外れるフレームに選別し、
前記同一識別子で周期から外れるフレームの集合から、イベント発生に関連するデータフィールドのビット変化の特徴をイベントルールとして抽出する、
ことをコンピュータに実行させるプログラム。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の抽出装置は、ノードと関連付けられた識別子が同一である同一識別子のフレームの集合ごとに、周期を維持するフレームと周期から外れるフレームに選別するフレーム選別部と、前記同一識別子で周期から外れるフレームから、イベント発生に関連するデータフィールドのビット変化の特徴をイベントルールとして抽出するルール抽出部を備える。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の抽出方法は、ノードと関連付けられた識別子が同一である同一識別子のフレームの集合ごとに、周期を維持するフレームと周期から外れるフレームに選別し、前記同一識別子で周期から外れるフレームから、イベント発生に関連するデータフィールドのビット変化の特徴をイベントルールとして抽出する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明のプログラムは、ノードと関連付けされた識別子が同一である同一識別子のフレームの集合ごとに、周期を維持するフレームと周期から外れるフレームに選別し、前記同一識別子で周期から外れるフレームから、イベント発生に関連するデータフィールドのビット変化の特徴をイベントルールとして抽出する、ことをコンピュータに実行させる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
具体的には、フレーム選別部１１は、フレームログのフレームに含まれるＩＤに基づき、ＩＤごとのフレームの集合を生成する。さらに、フレーム選別部１１は、ＩＤごとのフレームに対応した受信時刻に基づき、ＩＤごとにフレームの周期を抽出する。フレーム選別部１１は、抽出されたＩＤの周期に基づき、同一ＩＤのフレームの集合を、周期を維持するフレームの集合と周期から外れるフレームの集合に選別する。周期から外れるフレームの集合は、同一ＩＤのフレームの集合から、周期を維持するフレームの集合を除いたフレームの集合である。同一ＩＤの周期から外れるフレームの集合には、イベント発生による正常なフレームの他に、不正なフレームが含まれている可能性がある。フレーム選別部１１は、選別された同一ＩＤで周期から外れるフレームの集合をルール抽出部１２に送る。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
また、監視装置３０に含まれる検知装置２５は、第２の実施形態の検知装置２０と同様、イベントルールを用いて周期から外れるフレームが正常なフレームか不正なフレームかを判定する機能を有する。第３の実施形態の検知装置２５は、イベントルールによる周期から外れるフレームの判定に加え、周期ルールを用いて周期を維持するフレームが正常なフレームか不正なフレームかを判定する機能を有する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
ルール抽出部４２は、周期ルール抽出部４２１と、イベントルール抽出部４２２を備える。周期ルール抽出部４２１は、フレーム選別部１１でフレームの選別の際に使用されたＩＤごとの周期情報から、フレームログに含まれるＩＤと周期の関係を周期ルールとして抽出する。例えば、フレームログの中でＩＤ４２０のフレームが１０ｍｓごとに出現していた場合、周期ルール抽出部４２１は、周期ルールとして「ＩＤ４２０：１０（ｍｓ）」を抽出する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
（ハードウエア構成）
図１５は、第１の実施形態の抽出装置１０の内部構成を示すハードウエア構成図である。抽出装置１０は、制御を実行するプロセッサ６０１、プログラムおよび不揮発性データを保存するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６０２、揮発性データを保存するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６０３、データを送受信する通信インターフェース６０４、装置内部の通信に用いる内部バス６０５を備える。なお、第１の実施形態のＥＣＵ３１、第２の実施形態の検知装置２０、第３の実施形態の抽出装置４０、検知装置５０も、第１の実施形態の抽出装置１０と同様に図１５示すハードウエア構成を用いた装置として実現することができる。
【国際調査報告】
2019207764.tif 000020
2019207764.tif 000021
2019207764.tif 000022
2019207764.tif 000023