(57)【要約】  メッセージログからメッセージの順序を抽出することを可能にする。抽出装置は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成する間隔分析部と、前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する順序抽出部を備える。
2018135604.tif 000002
【特許請求の範囲】
【請求項１】
メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成する間隔分析手段と、
前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する順序抽出手段を備える、抽出装置。
【請求項２】
前記順序抽出手段は、前記所定値集合に含まれる前記所定値の識別数に基づいて、前記所定値集合から複数の時系列区間を設定し、前記複数の時系列区間で共通する前記所定値順序を抽出する、
請求項１に記載の抽出装置。
【請求項３】
前記所定値は、メッセージＩＤとメッセージのデータ、宛先とデータ、コマンドとデータ、又は、２つのデータの組合せを抽象化した整数、あるいいは、メッセージを識別する識別子である、
請求項１又は２に記載の抽出装置。
【請求項４】
前記順序抽出手段は、前記時系列区間の前記所定値を頂点とし、前記所定値の順序を枝とした有向グラフを用いて前記所定値順序を抽出する、
請求項２に記載の抽出装置。
【請求項５】
メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、
前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する、
抽出方法。
【請求項６】
メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、
前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する、
ことをコンピュータに実行させる抽出プログラムを格納した記憶媒体。
【請求項７】
請求項１乃至４のいずれか１つに記載の抽出装置と、検査装置を備え、
前記検査装置は、検査対象となるメッセージの所定値の順序が前記抽出装置で抽出された前記所定値順序を満たすか検査する順序検査手段を備える、
異常検知装置。
【請求項８】
前記検査装置は、前記検査対象となるメッセージの所定値の出現間隔が、前記所定値集合のうち特定の所定値の出現間隔の同一性を検査する間隔検査手段を、更に備える、
請求項７に記載の異常検知装置。
【請求項９】
請求項５に記載の抽出方法によって前記所定値順序を抽出し、
検査対象となるメッセージの所定値の順序が、前記所定値順序を満たすか検査する、
異常検知方法。
【請求項１０】
メッセージを送信する複数のノードと、
請求項７又は８に記載の異常検知装置を備える、
異常検知システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抽出装置ならびに異常検知装置等に関する。
【背景技術】
【０００２】
自動車の機能増加に伴い、自動車に搭載される電子制御ユニット（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）の数は増加する傾向にある。この種のＥＣＵは、車載用の通信プロトコルであるＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に準拠した車載ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続され、ＥＣＵ間のメッセージの送受信を中継している。【０００３】
近年では、ナビゲーションシステムのように自動車が外部ネットワークと通信する機会が増えている。一方で、自動車がハッキングの対象となり、内部プログラムの書き換えによって自動車が運転者の意図しない動作を起こす可能性が指摘されている。このような攻撃を防止するため、車載ネットワークを流れる特定のメッセージの周期に注目し、特定のメッセージが一定の周期でネットワークを流れている状態を正常状態とし、そのメッセージの周期が変化したときに異常状態として検知する手法がある（特許文献１）。【０００４】
また、メッセージの周期の他に、メッセージの順序に注目した異常検知の手法がある（非特許文献１）。非特許文献１は、ドライバーの運転動作に応じてＥＣＵからメッセージが定められた順序関係で車載ネットワークを流れることを利用し、そのメッセージの順序が変化したときに異常状態として検知する手法である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１４６８６８号公報
【非特許文献】
【０００６】
【非特許文献１】Ｓｏｏｈｙｕｎ  Ａｈｎ  ｅｔ  ａｌ．  “Ａ  Ｃｏｕｎｔｅｒｍｅａｓｕｒｅ  ａｇａｉｎｓｔ  Ｓｐｏｏｆｉｎｇ  ａｎｄ  ＤｏＳ  Ａｔｔａｃｋｓ  ｂａｓｅｄ  ｏｎ  Ｍｅｓｓａｇｅ  Ｓｅｑｕｅｎｃｅ  ａｎｄ  Ｔｅｍｐｏｒａｒｙ  ＩＤ  ｉｎ  ＣＡＮ”，  ＳＣＩＳ  ２０１６  （２０１６  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ａｎｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ，  Ｊａｎ．  １９  −  ２２，  ２０１６），  Ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｏｎｉｃｓ，  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｅｎｇｉｎｅｅｒｓ
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方、非特許文献１の手法は、メッセージの順序が既知であることが前提であり、メッセージの順序に関する情報を事前知識として得ておく必要がある。しかしながら、メッセージの詳細な仕様が公開されているとは限らず、メッセージの順序が未知な場合もある。この場合、メッセージの順序を用いた異常検知を実施することができない。【０００８】
本発明の目的は、メッセージログからメッセージの順序を抽出する抽出装置等を提供することにある。あるいは、メッセージの順序が未知のメッセージログであってもメッセージの異常を検知できる異常検知装置等を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の抽出装置の一態様は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成する間隔分析部と、前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する順序抽出部を備える。【００１０】
本発明の抽出方法の一態様は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する。【００１１】
本発明の記憶媒体に格納された抽出プログラムの一態様は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、前記所定値集合から前記メッセージの順序を示す所定値順序を抽出することをコンピュータに実行させる。【００１２】
本発明の異常検知装置の一態様は、上述の抽出装置と、検査装置を備え、前記検査装置は、検査対象となるメッセージの所定値の順序が、前記抽出装置で抽出された前記所定値順序を満たすか検査する順序検査部を備える。【００１３】
本発明の異常検知方法の一態様は、上述の抽出方法によって前記所定値順序を抽出し、検査対象となるメッセージの所定値の順序が、前記所定値順序を満たすか検査する。【００１４】
本発明の異常検知システムの一態様は、メッセージを送信する複数のノードと、上述の異常検知装置を備える。
【発明の効果】
【００１５】
本発明の抽出装置によれば、メッセージログからメッセージの順序を抽出することができる。また、本発明の異常検知装置によれば、メッセージの順序が未知のメッセージログであってもメッセージの異常を検知することができる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態に係る抽出装置の構成を示すブロック図である。
【図２】メッセージログの一例を示す図である。
【図３】出現間隔別のＩＤ集合の一例を示す図である。
【図４】ＩＤ集合から切出される時系列区間の一例を示す図である。
【図５】設定された時系列区間１〜３の一例を示す図である。
【図６】各時系列区間におけるＩＤを頂点とする有向グラフの行列を示す図である。
【図７】正常な状態のグラフの行列と冗長データを引いたグラフの行列を示す図である。
【図８】メッセージＩＤの順序関係を示すＩＤ順序集合の一例を示す図である。
【図９】第１の実施形態に係る抽出装置の動作を示すフローチャートである。
【図１０】第１の実施形態における所定値集合生成処理の動作を示すフローチャートである。
【図１１】第１の実施形態における所定値順序抽出処理の動作を示すフローチャートである。
【図１２】第２の実施形態に係る異常検知装置の構成を示すブロック図である。
【図１３】第２の実施形態に係る異常検知装置の動作を示すフローチャートである。
【図１４】第３の実施形態に係る異常検知システムの構成を示す構成図である。
【図１５】第３の実施形態に係る異常検知装置の構成を示すブロック図である。
【図１６】第３の実施形態における間隔分析部の動作を示すフローチャートである。
【図１７】第３の実施形態における順序抽出部の動作を示すフローチャートである。
【図１８】第３の実施形態に係る検査装置の動作を示すフローチャートである。
【図１９】異常検知装置をネットワークシステムに適用した例を示すブロック図である。
【図２０】第１〜第３の実施形態における抽出装置、第２、３の実施形態における検査装置、異常検知装置をコンピュータで実現したハードウエア構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
（第１の実施形態）
第１の実施形態の抽出装置について図面を用いて説明する。第１の実施形態の抽出装置は、メッセージの順序が未知のメッセージログのうち、ネットワーク上の各ノードがそれぞれ周期的に送信するメッセージに着目し、出現間隔が同一であるメッセージの集合からメッセージの順序関係を導出する例である。
【００１８】
第１の実施形態に係る抽出装置の一態様について図面を用いて説明する。第１の実施形態において、抽出装置がメッセージログからメッセージの順序を抽出する例を説明する。
【００１９】
第１の実施形態の説明において、メッセージは、ネットワークに接続された複数のノードからブロードキャスト送信され、ネットワーク上を同時に流れないものとする。メッセージログは、各ノードが送信したメッセージの履歴である。メッセージログには、各ノードから一定の間隔で送信されたメッセージが含まれるものとする。また、メッセージログにおけるメッセージの順序関係は未知であるものとする。
【００２０】
図１は、第１の実施形態に係る抽出装置の構成を示すブロック図である。図１に示す抽出装置１１は、間隔分析部１１１、順序抽出部１１２を備える。以下、間隔分析部１１１、順序抽出部１１２について具体的に説明する。
【００２１】
間隔分析部１１１は、メッセージログからメッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である所定値の所定値集合を生成する機能を有する。
【００２２】
メッセージを識別する所定値の一例は、メッセージＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）である。なお、メッセージを識別する所定値は、メッセージＩＤ以外に、例えば、メッセージＩＤとメッセージのデータの組合せを抽象化した整数であってもよい。また、その組合せは、メッセージＩＤとデータに限られず、宛先（アドレス）とデータ、コマンドとデータ、又は、データＡとデータＢの組合せであってもよい。以下の第１の実施形態の説明では、メッセージを識別する所定値としてメッセージＩＤを用いた例で説明する。
【００２３】
図２は、メッセージログの一例を示す図である。メッセージログには、タイムスタンプ、及び、メッセージＩＤ（以下、単にＩＤとして示す場合もある）。が含まれる。メッセージＩＤは、メッセージを識別する識別子である。図２におけるタイムスタンプは、最初のメッセージの到着からの経過時間（ｍｓ）が、メッセージＩＤごとに記録されたものである。
【００２４】
間隔分析部１１１は、メッセージログに出現間隔が同一であるメッセージが存在するか確認する。具体的には、まず、間隔分析部１１１は、メッセージログに重複するメッセージＩＤが存在するか確認する。重複するメッセージＩＤが存在する場合、間隔分析部１１１は、重複するメッセージＩＤのタイムスタンプの経過時間からメッセージＩＤの出現間隔を算出する。メッセージＩＤの出現間隔の算出誤差に対するマージンを考慮することが好ましい。
【００２５】
例えば、図２に示すメッセージログにおいて、メッセージＩＤ４２０（以下、単にＩＤ４２０と示す）の出現間隔は１０ｍｓとなる。間隔分析部１１１は、メッセージログに含まれるメッセージＩＤ毎の出現間隔を順次算出し、メッセージＩＤを同一の出現間隔毎に分類したＩＤ集合を生成する。
【００２６】
図３は、出現間隔別のＩＤ集合の一例を示す図である。図３において、出現間隔１０ｍｓのＩＤ集合としてメッセージＩＤ｛４２０、４３２、４９０、４７２、・・・｝が生成され、及び、出現間隔２０ｍｓのＩＤ集合としてメッセージＩＤ｛８８０、８８２、８８４、・・・｝が生成されている。これら出現間隔１０ｍｓのメッセージ及び出現間隔２０ｍｓのメッセージを出現間隔が一定のメッセージと称することもできる。なお、出現間隔が同一でないメッセージＩＤは、図３のＩＤ１１３０、ＩＤ１１２８に示すように不定として分類される。間隔分析部１１１によるＩＤ集合の生成は、メッセージログのメッセージの数が一定量以上（例えば、１０００個以上）ある状態で実行することが好ましい。
【００２７】
順序抽出部１１２は、所定値集合からメッセージの順序を示す所定値順序を抽出する機能を有する。具体的には、順序抽出部１１２は、所定値集合に含まれる所定値の識別数に基づいて、所定値集合から複数の時系列区間を設定し、複数の時系列区間で共通する所定値順序を抽出する。例えば、間隔分析部１１１が生成したＩＤ集合のうち、同一の出現間隔のＩＤ集合から複数の時系列区間を設定し、設定された複数の時系列区間で共通するＩＤ順序を抽出する。
【００２８】
以下、順序抽出部１１２の詳細について説明する。順序抽出部１１２は、出現間隔別のＩＤ集合から出現間隔のＩＤ集合を１つ選択する。例えば、順序抽出部１１２は、図３に示す出現間隔別のＩＤ集合のうち、出現間隔１０ｍｓのＩＤ集合を選択する。順序抽出部１１２は、選択された出現間隔のＩＤ集合の中にメッセージＩＤがｎ種類含まれている場合、ＩＤ集合のうち、メッセージＩＤのｎ個（ｎは２以上の整数）の並びを１つの時系列区間とし、複数の時系列区間の先頭が同じメッセージＩＤとなるように複数の時系列区間を設定する。
【００２９】
図４は、ＩＤ集合から切出される時系列区間の例を示す図である。図４の例では、出現間隔１０ｍｓのメッセージＩＤが５種類あり、時系列区間１、２の先頭のメッセージＩＤが４２０となる時系列区間が切出されている。時系列区間の数は３つ以上でもよく、時系列区間の数が増えるほど、順序抽出部１１２が抽出するＩＤ順序の精度が高くなる。
【００３０】
順序抽出部１１２は、時系列区間の所定値を頂点とし、所定値の順序を枝とした有向グラフを用いて、所定値集合からメッセージの順序を示す所定値順序を抽出する機能を有する。以下、順序抽出部１１２が複数の時系列区間からＩＤ順序を抽出する手順について、図５に示す時系列区間１〜３を用いて具体的に説明する。図５は、同一の出現間隔のＩＤ集合から切出された時系列区間１〜３の一例を示す図である。図５中、ＩＤ集合の中のＩＤの種類は５種類あり、時系列区間１〜３の先頭の共通のＩＤが４２０となるように設定された例である。なお、時系列区間１〜３は、出現間隔１０ｍｓのＩＤ集合から切出された例であるとする。
【００３１】
ここで、１つの時系列区間の中のＩＤの順序は、ＩＤを頂点とし、各ＩＤ間の順序を頂点に向かう枝とする有向グラフとして表すことができる。図６は、時系列区間１〜３の有向グラフを行列の形で示した図である。図６中、行のＩＤが列のＩＤよりも前に存在する場合、その行列要素を１とし、行のＩＤが列のＩＤより後に存在する場合、行列要素を０とする。なお、行と列でＩＤが同じ場合、行列要素は０とする。例えば、時系列区間１の履歴において、ＩＤ４９０がＩＤ４７２の前に存在するため、行が４９０で列が４７２の行列要素は１となり、逆に、列が４７２、行が４９０の行列要素は０となる。同様にして他の行列要素および、他の時系列区間に対応する行列要素も同様に定義する。
【００３２】
次に、複数の時系列区間でＩＤの順序が保たれている状態を正常状態として、正常状態の有向グラフを、３つの時系列区間の行列要素の論理積の形で定義する。この時、行が４９０、列が４２８の要素が１であることは、ＩＤ４９０とＩＤ４２８の順序において、ＩＤ４９０はＩＤ４２８より常に前に存在することを意味する。この事実により、正常状態では常にこの順番が保持されるものと判断する。なお時系列区間の数が多いほど、正常状態のグラフの行列要素の成分が偶然に１になる確率は低くなる。
【００３３】
最後に、正常状態を示すグラフの行列表現から冗長な行列要素を取り除く。図７は、正常な状態のグラフの行列と冗長データを引いたグラフの行列を示す図である。例で示した正常状態の行列表現では、行４３２と列４２８の要素が１であり、ＩＤ４３２がＩＤ４２８の前に来ることを示している。行４３２と列４９０の要素、および、行４９０と列４２８の両方が１であるため、ＩＤ４３２がＩＤ４２８に先行することは明白であり、行４３２と列４２８の要素を１にする必要はない。
【００３４】
図７に示す行列表現において、行４２０列４３２、行４３２列４７２、行４３２列４９０、行４９０列４２８の要素のみが１となる。時系列区間１〜３の間で共通したＩＤ順序が保たれた経路の抽出が可能になる。
【００３５】
順序抽出部１１２は、出現間隔が同一であるＩＤ集合ごとに有向グラフを用いた行列演算によってＩＤ順序を抽出し、ＩＤ順序集合を生成する。図８は、メッセージＩＤの順序関係を示すＩＤ順序集合の一例を示す図である。図８の出現間隔１０ｍｓに示すように、ＩＤ順序の抽出結果には、同じ出現間隔で２つのＩＤ順序が抽出される場合もある。
【００３６】
第１の実施形態に係る抽出装置の動作について図面を用いて説明する。図９は、第１の実施形態に係る抽出装置の動作を示すフローチャートである。
【００３７】
間隔分析部１１１は、メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である所定値の所定値集合を生成する（ステップＳ１０１）。例えば、間隔分析部１１１は、各ノードからのメッセージの出現間隔が同一であるメッセージＩＤのＩＤ集合を生成する。
【００３８】
図１０は、ステップＳ１０１の所定値集合の生成処理の動作を示すフローチャートである。間隔分析部１１１は、所定値集合の生成処理として、重複する所定値のタイムスタンプから所定値の出現間隔を算出する（ステップＳ１０１１）。例えば、間隔分析部１１１は、メッセージログに重複するメッセージＩＤが存在するか確認し、重複するメッセージＩＤが存在する場合、重複するメッセージＩＤ毎にタイムスタンプの経過時間からメッセージＩＤの出現間隔を算出する。
【００３９】
さらに、間隔分析部１１１は、出現間隔が同一となる所定値集合を生成する（ステップＳ１０１２）。例えば、間隔分析部１１１は、メッセージログに含まれるメッセージＩＤ毎の出現間隔を順次算出し、メッセージＩＤを同一の出現間隔毎に分類したＩＤ集合を生成する。
【００４０】
次に、順序抽出部１１２は、ステップＳ１０１の後、順序抽出処理として、所定値集合からメッセージの順序を示す所定値順序を抽出する（ステップＳ１０２）。例えば、順序抽出部１１２は、間隔分析部１１１が生成したＩＤ集合から、メッセージの順序関係を示すＩＤ順序を抽出する。図１１は、ステップＳ１０２の所定値順序の抽出処理の動作を示すフローチャートである。
【００４１】
順序抽出部１１２は、出現間隔が同一である所定値の所定値集合から複数の時系列区間を設定する（ステップＳ１０２１）。例えば、順序抽出部１１２は、ＩＤ集合に含まれるＩＤの種別数に応じて、出現間隔が同一であるメッセージＩＤのＩＤ集合から複数の時系列区間を設定する。次に、複数の時系列区間で共通する所定値順序を抽出する（ステップＳ１０２２）。例えば、順序抽出部１１２は、設定された複数の時系列区間で共通するＩＤ順序を抽出する。
【００４２】
具体的には、順序抽出部１１２は、時系列区間の中のＩＤの順序を、ＩＤを頂点とし、ＩＤ順序を頂点に向かう経路の枝とする有向グラフの行列を作成する。有向グラフの行列は、行のＩＤが列のＩＤよりも前に存在する場合、その行列要素を１とし、行のＩＤが列のＩＤより後に存在する場合、行列要素を０とする。なお、行と列でＩＤが同じ場合、行列要素は０と定義する。同様にして他の行列要素および、他の時系列区間に対応する行列要素も同様に定義する。次に、順序抽出部１１２は、複数の時系列区間でＩＤの順序が保たれている状態を正常状態として、正常状態の有向グラフを、３つの時系列区間の行列要素の論理積により算出する。なお時系列区間の数が多いほど、正常状態のグラフの行列要素の成分が偶然に１になる確率は低くなる。
【００４３】
最後に、順序抽出部１１２は、正常状態を示すグラフの行列表現から冗長な行列要素を引いたグラフの行列を求め、複数の時系列区間で共通するＩＤ順序を抽出する。
【００４４】
順序抽出部１１２は、出現間隔が同一であるＩＤ集合ごとに有向グラフを用いた行列演算によってＩＤ順序を抽出し、ＩＤ順序集合を生成する。
【００４５】
第１の実施形態の順序抽出処理において、複数の時系列区間で共通するＩＤ順序を抽出する際に、ＩＤを頂点とし、ＩＤ順序を頂点に向かう経路の枝とする有向グラフの行列を用いることにより、他の手法を用いることもできる。例えば、Ｐｒｅｆｉｘ−Ｓｐａｎ、Ａｐｒｉｏｒｉ−Ａｌｌを用いて確信度１００％としてＩＤ順序を抽出するよりも少ない計算量でＩＤ順序を抽出することができる。
【００４６】
第１の実施形態の抽出装置によれば、メッセージの順序が未知であるメッセージログからメッセージの順序関係を抽出することが可能となる。
【００４７】
（第２の実施形態）
次に、第２の実施形態に係る異常検知装置の一態様について図面を用いて説明する。第２の実施形態の異常検知装置は、第１の実施形態の抽出装置を用いた異常検知装置の例である。第２の実施形態において、第１の実施形態と同様の構成については同一の符号を記して詳細な説明を省略する。
【００４８】
第２の実施形態において、第１の実施形態と同様に、メッセージは、ネットワークに接続された複数のノードからブロードキャスト送信され、ネットワーク上を同時に流れないものとする。メッセージログは、各ノードが送信したメッセージの履歴である。メッセージログには、各ノードから一定の間隔で送信されたメッセージが含まれているものとする。また、メッセージログにおけるメッセージの順序関係は未知であるものとする。
【００４９】
図１２は、第２の実施形態に係る異常検知装置の構成を示すブロック図である。図１２に示す異常検知装置１０は、抽出装置１１および検査装置１２を備える。検査装置１２は、抽出装置１１が生成したＩＤ順序集合を取得可能であるとする。第２の実施形態の抽出装置１１は、第１の実施形態の抽出装置１１と同様の構成であり、詳細な説明は省略する。以下の第２の実施形態の説明では、第１の実施形態と同様に、メッセージを識別する所定値としてメッセージＩＤを用いた例で説明する。
【００５０】
図１２に示すように、検査装置１２は、順序検査部１２２を備える。順序検査部１２２は、検査対象のメッセージの所定値の順序が、抽出された所定値順序を満たすか検査する機能を有する。例えば、順序検査部１２２は、検査対象となるメッセージのメッセージＩＤを順次取得し、取得したメッセージＩＤの順序が、抽出装置１１が抽出したＩＤ順序を満たすかを検査する。第２の実施形態において、検査装置１２が検査対象とするメッセージは、第１の実施形態のメッセージログに対応するネットワーク上を流れるメッセージであるとする。
【００５１】
第２の実施形態に係る異常検知装置の動作について図面を用いて説明する。図１３は、第２の実施形態に係る異常検知装置の動作を示すフローチャートである。図１３において、第２の実施形態の抽出装置１１の動作を示すステップＳ１０１およびステップＳ１０２は、第１の実施形態の抽出装置１１の動作と同様であり詳細な説明は省略する。なお、以下は、検査装置１２が、抽出装置１１が生成したＩＤ順序集合を取得した後の動作の例として説明する。
【００５２】
検査装置１２の順序検査部１２２は、検査対象のメッセージの所定値の順序が、抽出された所定値順序を満たすか検査する（ステップＳ２０３）。例えば、検査対象となるメッセージＩＤを順次取得し、検査対象のメッセージＩＤの順序が、抽出されたＩＤ順序を満たすか検査する。なお、検査装置１２が順次取得する検査対象となるメッセージは、検査装置１２を含む異常検知装置１０がネットワークから取得してもよく、他の装置から検査対象となるメッセージを取得してもよい。
【００５３】
以下、検査装置１２の動作について説明する。具体例には、検査装置１２が、図８に示すＩＤ順序集合を抽出装置１１から取得する例を用いて説明する。順序検査部１２２は、取得したメッセージＩＤが、ＩＤ４２０の次にＩＤ４９０であった場合、図８に示す出現間隔１０ｍｓのＩＤ順序［ＩＤ４２０→ＩＤ４３２→ＩＤ４９０→ＩＤ４２８］に基づいて、検査対象のメッセージＩＤの順序が正常であると判定する。
【００５４】
もし検査対象のメッセージＩＤが、ＩＤ４９０の後にＩＤ４２０であった場合、順序検査部１２２は、ＩＤ４９０とＩＤ４２０の順序に異常があると判定する。
【００５５】
第２の実施形態の異常検知装置によれば、メッセージの順序が未知のメッセージログであってもメッセージの順序の異常を検知することができる。その理由は、異常検知装置３０の抽出装置１１がメッセージの順序が未知のメッセージログからメッセージのＩＤ順序を抽出し、検査装置１２は、抽出されたＩＤ順序を用いてメッセージの順序の異常を検知できるからである。
【００５６】
（第３の実施形態）
第３の実施形態に係る異常検知システム、異常検知装置の一態様について、図面を用いて説明する。図１４に示す異常検知システム２０は、異常検知装置３０、複数のノード２１を備える。異常検知装置３０およびノード２１は、バスを介してそれぞれ接続されネットワークが形成されている。
【００５７】
ノード２１（ノード２１Ａ、ノード２１Ｂ、ノード２１Ｃの総称として示す）は、ネットワーク内の異常検知装置３０および他のノード２１に対してメッセージをブロードキャスト送信する。なお、ノード２１は、複数のメッセージが同時にバスを流れることがないように送信制御されるものとする。ノード２１の一例は、通信プロトコルＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に準拠した車載ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続される電子制御ユニット（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）である。ノード２１は、複数のメッセージを送信し、メッセージに応じて周期的、または不定にメッセージを送信するものとする。また、メッセージには少なくともメッセージの識別子（ＩＤ：Ｉｄｅｎｔｉｆｉｅｒ）が含まれる。以下の第３の実施形態の説明においてもメッセージを識別する所定値としてメッセージＩＤを用いた例で説明する。
【００５８】
第３の実施形態に係る異常検知装置について、図面を用いて説明する。図１５は、第３の実施形態に係る異常検知装置の構成を示すブロック図である。図１５に示す異常検知装置３０は、抽出装置３１、記憶装置３３、検査装置３２を備える。
【００５９】
抽出装置３１は、間隔分析部３１１および順序抽出部３１２を備える。記憶装置３３は、履歴記憶部３３１、間隔記憶部３３２、順序記憶部３３３を備える。検査装置３２は、間隔検査部３２１、順序検査部３２２を備える。
【００６０】
抽出装置３１は、第１の実施形態の抽出装置と同様の機能を有する。以下、第１の実施形態の抽出装置と同一の機能については詳細な説明を省略して説明する。抽出装置３１は、履歴記憶部３３１に保存されたメッセージログを参照し、メッセージログに含まれるメッセージＩＤのＩＤ順序を抽出する。抽出装置３１は、抽出結果を順序記憶部３３３に記録する。
【００６１】
次に、抽出装置３１について説明する。各ノード２１が送信したメッセージは、異常検知装置３０の取得部（図示せず）によって履歴記憶部３３１に保存される。履歴記憶部３３１に保存されるメッセージログは、例えば、図２に示すメッセージログである。メッセージログには、異常検知装置３０が受信したノード２１からのメッセージのメッセージＩＤおよびタイムスタンプが含まれる。タイムスタンプは、異常検知装置３０によるメッセージの受信開始後の経過時間（ｍｓ）が記憶されている。メッセージログには、メッセージＩＤおよびタイムスタンプ以外の情報が含まれてもよい。
【００６２】
間隔分析部３１１は、履歴記憶部３３１のメッセージログのうち、同じメッセージＩＤが存在するか確認し、存在する場合、そのメッセージＩＤの出現間隔を導出し分析する。出現間隔の導出は、第１の実施形態で説明した内容と同様であり、詳しい説明は省略する。この分析は、一定量以上（例えば、１０００個以上）の同一のメッセージＩＤが履歴記憶部３３１に蓄積された段階で実行される。
【００６３】
メッセージＩＤの出現間隔の分析の結果、出現間隔が同一のメッセージＩＤが存在する場合、間隔分析部３１１は、メッセージＩＤとその出現間隔を関連付けて間隔記憶部３３２に記録する。出現間隔が同一でないメッセージＩＤの場合、間隔分析部３１１は、一定値のない不定として間隔記憶部３３２に保存する。
【００６４】
間隔記憶部３３２に保存される情報は、出現間隔別に分類されたメッセージＩＤのＩＤ集合であり、出現間隔が同一でない場合は不定であるとして保存される。間隔記憶部３３２に保存される情報は、例えば、図３に示す出現間隔別のＩＤ集合である。
【００６５】
なお、間隔分析部３１１がメッセージＩＤの出現間隔が同一であると判断する条件は、間隔分析部３１１に予め与えられており、例えば、１０００回の同一のメッセージＩＤにおける出現間隔の平均が１０ｍｓで、平均からの差分が全て２ｍｓ以下である場合、間隔分析部３１１は、出現間隔が同一であるメッセージＩＤと判断する。
【００６６】
順序抽出部３１２は、出現間隔別に分類されたメッセージＩＤのＩＤ集合に対して、ＩＤ順序に関する法則が存在する場合、そのＩＤ順序を抽出する機能を有する。具体的には、順序抽出部３１２は、出現間隔が同一であるメッセージＩＤのＩＤ集合に対して、所定のＩＤ順序が常に成り立つかを分析する。例えば、ＩＤ２２，ＩＤ２５，ＩＤ３０のメッセージが常にこの順序で送信されている場合は、この順序を順序記憶部３３３に保存する。
【００６７】
次に、順序抽出部３１２によるＩＤ順序の抽出について、具体例を用いて説明する。順序抽出部３１２は、間隔記憶部３３２を参照し、複数のＩＤが同一の出現間隔を持つ場合、それらをＩＤ順序抽出の対象とする。
【００６８】
間隔記憶部３３２にＩＤ４２０，ＩＤ４２２，ＩＤ４２７，ＩＤ４２８，ＩＤ４３２，ＩＤ４７２，ＩＤ４７６，ＩＤ４９０，ＩＤ４９３，ＩＤ５０７が同一の出現間隔（例：１０ｍｓ）を持つと記録された場合を例とする。順序抽出部３１２は、最初にこの情報を元に、履歴記憶部３３１の記録からこれらのＩＤのメッセージだけを抜き出す。
【００６９】
次に、順序抽出部３１２は、ＩＤを一つ選択し（例えば、ＩＤ４２０）、ＩＤ４２０で始まりＩＤ４２０で終わる時系列区間をＩＤ集合から抜き出す。ＩＤ４２０で始まりＩＤ４２０で終わる時系列区間を抜き出す例は、図４に示す時系列区間と同様である。順序抽出部３１２は、ＩＤ集合から複数の時系列区間を抜き出す。
【００７０】
例えば、順序抽出部３１２は、出現間隔１０ｍｓの時系列区間１、２、３においてＩＤ順序［ＩＤ４２０→ＩＤ４３２→ＩＤ４９０→ＩＤ４２８］と［ＩＤ４２０→ＩＤ４３２→ＩＤ４７２］を抽出し、その結果を順序記憶部３３３に記録する。順序記憶部３３３に記録された抽出結果は、例えば、図８のような情報である。このように順序抽出部３１２は、ＩＤの集合と、そのＩＤが共有する出現間隔の時間周期の形式で記録する。
【００７１】
記憶装置３３は、履歴記憶部３３１、間隔記憶部３３２、順序記憶部３３３を備える。
【００７２】
履歴記憶部３３１は、起動時から現在までのメッセージログを記憶する。これは、送信時間とメッセージが持つＩＤの集合である。ＩＤの種類の数はネットワークのプロトコルに依存する。あるいは、抽出装置３１が分析した結果を保存する。
【００７３】
間隔記憶部３３２は、各ＩＤの出現間隔を記憶する。一定の出現間隔を持たないＩＤである場合、出現間隔が不定であることを記録する。
【００７４】
順序記憶部３３３は、一定順序ＩＤ抽出部において抽出された一定の順序を保持し送信されるＩＤの集合を記憶する。一定順序集合の抽出は同一の出現間隔周期を持ったＩＤに対して行われるため、順序記憶部には抽出された集合と出現間隔を記録する。
【００７５】
検査装置３２は、記憶装置３３に保存されたメッセージのＩＤ順序、あるいは、メッセージＩＤの一定の出現間隔を示す正常状態情報を参照し、新たにノードから送信されたメッセージＩＤが正常状態を満たすかを検査する。
【００７６】
間隔検査部３２１は、メッセージＩＤの出現間隔を用いて受信したメッセージの異常を検出する。具体的には、間隔検査部３２１は、各メッセージに対して、ＩＤからそれが一定の出現間隔で送信されるＩＤであるかを間隔分析部３１１の分析結果から参照する。一定の出現間隔で送信されるＩＤである場合、前回送信された同一ＩＤの出現間隔が、間隔分析部３１１で分析したそのＩＤの出現間隔に等しいかを検査する。等しくない場合、異常と判定する。
【００７７】
順序検査部３２２は、メッセージＩＤの出現順序に基づいて異常を検出する。順序検査部３２２は、順序記憶部３３３に保存されたＩＤ順序関係を満たすかを検査する。例えばＩＤ２２，ＩＤ２５，ＩＤ３０のメッセージの順序が一定と分析された場合、ＩＤ３０のメッセージが送信された際に、ＩＤ２５のメッセージをＩＤ２２のメッセージの後に受信しているかを検査する。ＩＤ２２のメッセージが送信された後に、ＩＤ２５のメッセージが送信されないうちにＩＤ３０のメッセージが送信された場合は異常であり、このような異常がないかを検査する。異常が存在した場合、異常と判定する。
【００７８】
次に第３の実施形態の異常検知装置の動作について、図面を用いて説明する。はじめに、抽出装置３１の間隔分析部３１１の動作について図面を用いて説明する。図１６は、間隔分析部の動作を示すフローチャートである。図中、メッセージＩＤを単にＩＤと示す場合がある。
【００７９】
間隔分析部３１１は、異常検知装置３０が受信したメッセージＩＤに基づいて、そのメッセージＩＤの出現間隔が分析済みであるかを確認する（ステップＳ４０１）。具体的には、間隔分析部３１１は、受信したメッセージＩＤの出現間隔の分析結果が間隔記憶部３３２に存在するか確認する。分析結果とは、出現間隔が一定であるメッセージが分類された出現間隔別のＩＤグループを示す（図３参照）。
【００８０】
メッセージＩＤの出現間隔が分析済みでない場合（ステップＳ４０１のＮｏ）、間隔分析部３１１は、受信したメッセージＩＤの数が、メッセージＩＤの出現間隔を分析できる程度、履歴記憶部３３１の受信履歴に記憶されているか判断する。
【００８１】
出現間隔が同じＩＤのメッセージが所定数受信済みである場合（ステップＳ４０２のＹｅｓ）、間隔分析部３１１は、受信したメッセージＩＤの出現間隔が一定か分析する（ステップＳ４０５）。
【００８２】
一方、分析結果が間隔記憶部３３２に存在し、メッセージＩＤの出現間隔が分析済みである場合（ステップＳ４０１のＹｅｓ）、間隔分析部３１１は、受信したメッセージに対してメッセージＩＤの出現間隔が一定であるか調べる（ステップＳ４０５）。
【００８３】
一方、ステップＳ４０２において、同じメッセージＩＤのメッセージが所定数受信済みでない場合（ステップＳ４０２のＮｏ）、メッセージＩＤの出現間隔が一定でない場合（ステップＳ４０５のＮｏ）、間隔分析部３１１は、履歴記憶部３３１に受信したメッセージの内容を保存する（ステップＳ４０６）。
【００８４】
メッセージＩＤの出現間隔が一定でない場合（ステップＳ４０３のＮｏ）、間隔分析部３１１は、間隔記憶部３３２に当該メッセージＩＤの出現間隔が一定でない、不定であることを保存する（ステップＳ４０４）。
【００８５】
また、ステップＳ４０３において、メッセージＩＤの出現間隔が一定である場合（ステップＳ４０３のＹｅｓ）、間隔分析部３１１は、間隔記憶部３３２にメッセージＩＤと当該メッセージＩＤに対応する一定の出現間隔を関連づけて保存する（ステップＳ４０７）。
【００８６】
メッセージＩＤの出現間隔が一定であると判断された場合（ステップＳ４０５のＹｅｓ）、および、ステップＳ４０７の処理後、間隔分析部３１１は、順序抽出部３１２へメッセージを転送する（ステップＳ４０８）。
【００８７】
以下、抽出装置３１の順序抽出部３１２の動作について図面を用いて説明する。図１７は、順序抽出部の動作を示すフローチャートである。
【００８８】
（順序抽出部の動作）
順序抽出部３１２は、メッセージＩＤの出現間隔について、ＩＤ順序集合が抽出済みか順序記憶部３３３を調べる（ステップＳ４１１）。
【００８９】
ＩＤ順序集合が抽出済みでない場合（ステップＳ４１１のＮｏ）、順序抽出部３１２は、メッセージのＩＤの出現間隔と同じ出現間隔を持つＩＤが複数存在するか間隔記憶部３３２を確認する（ステップＳ４１２）。
【００９０】
メッセージのＩＤの出現間隔と同じ出現間隔を持つＩＤが複数存在する場合（ステップＳ４１２のＹｅｓ）、それらＩＤの出現間隔と同じ出現間隔のＩＤのメッセージが一定数以上存在するか履歴記憶部３３１を確認する（ステップＳ４１３）。
【００９１】
履歴記憶部３３１に一定数以上のメッセージが存在する場合（ステップＳ４１３のＹｅｓ）、順序抽出部３１２は、出現順序が同一であるＩＤのＩＤ集合を抽出し（ステップＳ４１４）、抽出結果を順序記憶部３３３に記憶する。
一定順序ＩＤ集合が抽出済みの場合（ステップＳ４１１のＹｅｓ）、及び、ＩＤの出現間隔と同じ出現間隔を持つＩＤが複数存在しない場合（ステップＳ４１２のＮｏ）、履歴記憶部３３１に条件に合うメッセージが一定数以上存在しない場合（ステップＳ４１３）、ステップＳ４１４の処理が終わった場合（ステップＳ４１４のＮｏ）、順序抽出部３１２は、受信したメッセージを間隔検査部３２１へ転送する。
【００９２】
以下、検査装置３２の動作について図面を用いて説明する。図１８は、検査装置の動作を示すフローチャートである。
【００９３】
間隔検査部３２１は、履歴記憶部３３１に保存した、メッセージと同じＩＤのメッセージの前回受信時間と、現在の時間差が間隔記憶部３３２に記憶したＩＤの出現間隔に一致するか確認する（ステップＳ４２１）。
【００９４】
ＩＤの出現間隔と一致している場合（ステップＳ４２１のＹｅｓ）、順序検査部３２２は、順序記憶部３３３にメッセージのＩＤを含むＩＤ順序集合が存在するか確認する（ステップＳ４２２）。
【００９５】
ＩＤ順序集合が存在する場合（ステップＳ４２２のＹｅｓ）、順序検査部３２２は、該当するＩＤ順序集合の中で、現在のメッセージＩＤの前にくるべきＩＤが履歴記憶部３３１の記憶でも前に受信しているか調べる（ステップＳ４２３）。
【００９６】
受信したメッセージのＩＤを含むＩＤ順序集合が存在しない場合（ステップＳ４２２のＮｏ）、及び、今回のメッセージＩＤの前に受信するべきメッセージを受信している場合、順序検査部３２２は、順序正常と判定する（ステップＳ４２５）。
【００９７】
受信メッセージと同じＩＤのメッセージの前回受信時間と、今回の受信時間の差が間隔記憶部３３２に記憶したＩＤの出現間隔に一致しない場合（ステップＳ４２１のＮｏ）、及び、今回のメッセージＩＤの前にくるべきＩＤが履歴記憶部３３１に記憶されていない場合（ステップＳ４２３のＮｏ）、順序検査部３２２は、異常と判定する（ステップＳ４２４）。
【００９８】
ステップＳ４２４、ステップＳ４２５の処理後、順序検査部３２２は、履歴記憶部３３１に判定結果を保存する（ステップＳ４２６）。
【００９９】
第３の実施形態の異常検知装置によれば、メッセージ順序による異常検知に加え、メッセージ間隔による異常検知を実施することができ、メッセージの異常検知の精度を高くすることが可能となる。
【０１００】
（第１〜第３の実施形態における変形例）
メッセージが流れるネットワークのトポロジは、ＣＡＮで用いられるバス型以外にスター型、メッシュ型、リング型など他のネットワークトポロジにも適用できる。
【０１０１】
上記説明において、メッセージは、ネットワークに接続された複数のノードからブロードキャスト送信される例で説明したが、これに限られない。例えば、ノードからユニキャスト通信されるメッセージの例であっても適用できる。
【０１０２】
ＣＡＮの車載ネットワークのメッセージの例で説明したが、これに限られるものではない。例えば、車載ネットワーク以外に産業用ネットワーク等、他のネットワークシステムにも適用できる。
【０１０３】
図１９は、異常検知装置を他のネットワークシステムに適用した例を示すブロック図である。図１９のネットワークシステムは、複数のノード、スイッチ、コントローラを備え、スイッチは、コントローラからの指示に応じて、スイッチに入力されたメッセージをノードに転送する。図１９の（ａ）に示すように異常検知装置がスイッチと接続され、スイッチに入力されるメッセージを異常検知装置が異常検知する構成でもよい。さらに、図１９の（ｂ）に示すように、異常検知装置をスイッチの内部に配置した構成でもよい。またスイッチ内部に検査装置を配置し、抽出装置をスイッチ外部に配置した構成でもよい。
【０１０４】
第１〜第３の実施形態で説明したメッセージログには、タイムスタンプ、メッセージのＩＤ以外の情報が含まれていてもよく、例えば、メッセージのデータが含まれていてもよい。また、メッセージログは、一時的な記憶装置（例えば、ＲＡＭ）に記憶される構成でもよい。
【０１０５】
（ハードウエア構成）
図２０は、第１〜第３の実施形態における抽出装置、又は、第２、第３の検査装置、及び、異常検知装置をコンピュータで実現したハードウエア構成を示す図である。第１〜第３の実施形態において抽出装置、検査装置、又は、異常検知装置の各構成要素は、機能単位のブロックで記述されている。抽出装置、検査装置、又は、異常検知装置の各構成要素の一部又は全部は、例えば、図２０に示すようなコンピュータとプログラムとの任意の組み合わせにより実現される。コンピュータは、一例として、以下のような構成を含む。
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６０１、
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６０２、
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６０３、
ＲＡＭ６０３にロードされるプログラム６０４、
プログラム６０４を格納する記憶装置６０５、
記憶媒体６０６の読み書きを行うドライブ装置６０７、
通信ネットワーク６０９と接続する通信インターフェース６０８、
データの入出力を行う入出力インターフェース６１０、
各構成要素を接続するバス６１１
抽出装置、検査装置、又は、異常検知装置の各構成要素は、これらの機能を実現するプログラム６０４をＣＰＵ６０１が取得して実行することで実現される。各構成要素の機能を実現するプログラム６０４は、例えば、予め記憶装置６０５、ＲＯＭ６０２又はＲＡＭ６０３に格納されており、必要に応じてＣＰＵ６０１が読み出す。なお、プログラム６０４は、通信ネットワーク６０９を介してＣＰＵ６０１に供給されてもよいし、予め記憶媒体６０６に格納されており、ドライブ装置６０７が当該プログラムを読み出してＣＰＵ６０１に供給してもよい。
【０１０６】
抽出装置、検査装置、又は、異常検知装置の実現方法には、様々な変形例がある。例えば、抽出装置、検査装置、又は、異常検知装置は、各構成要素にそれぞれ別個のコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。また、抽出装置、検査装置、又は、異常検知装置が備える複数の構成要素が、一つのコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。
【０１０７】
また、抽出装置、検査装置、又は、異常検知装置の各構成要素の一部又は全部は、その他の汎用または専用の回路、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、コンピュータの代わりにＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）のようなプログラマブルロジックデバイスを用いてもよい。
【０１０８】
さらに、抽出装置、検査装置、又は、異常検知装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１０９】
また、抽出装置、検査装置、又は、異常検知装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１１０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１１】
上記の実施形態の一部又は全部は、以下の付記のように記載されうるが、以下には限られない。
【０１１２】
（付記１）
メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成する間隔分析手段と、
前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する順序抽出手段を備える、抽出装置。
【０１１３】
（付記２）
前記順序抽出手段は、前記所定値集合に含まれる前記所定値の識別数に基づいて、前記所定値集合から複数の時系列区間を設定し、前記複数の時系列区間で共通する前記所定値順序を抽出する、
付記１に記載の抽出装置。
【０１１４】
（付記３）
前記所定値は、メッセージＩＤとメッセージのデータ、宛先とデータ、コマンドとデータ、又は、２つのデータの組合せを抽象化した整数、あるいいは、メッセージを識別する識別子である、
付記１又は２に記載の抽出装置。
【０１１５】
（付記４）
前記順序抽出手段は、前記時系列区間の前記所定値を頂点とし、前記所定値の順序を枝とした有向グラフを用いて前記所定値順序を抽出する、
付記１乃至３のいずれか１つに記載の抽出装置。
【０１１６】
（付記５）
メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、
前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する、
抽出方法。
【０１１７】
（付記６）
メッセージを識別する所定値と前記メッセージのタイムスタンプから導出された前記所定値の出現間隔とに基づいて、前記出現間隔が同一である前記所定値の所定値集合を生成し、
前記所定値集合から前記メッセージの順序を示す所定値順序を抽出する、
ことをコンピュータに実行させる抽出プログラム。
【０１１８】
（付記７）
付記１乃至４のいずれか１つに記載の抽出装置と、検査装置を備え、
前記検査装置は、検査対象となるメッセージの所定値の順序が前記抽出装置で抽出された前記所定値順序を満たすか検査する順序検査手段を備える、
異常検知装置。
【０１１９】
（付記８）
前記検査装置は、前記検査対象となるメッセージの所定値の出現間隔が、前記所定値集合のうち特定の所定値の出現間隔の同一性を検査する間隔検査手段を、更に備える、
付記７に記載の異常検知装置。
【０１２０】
（付記９）
付記５に記載の抽出方法によって前記所定値順序を抽出し、
検査対象となるメッセージの所定値の順序が、前記所定値順序を満たすか検査する、
異常検知方法。
【０１２１】
（付記１０）
メッセージを送信する複数のノードと、
付記７又は８に記載の異常検知装置を備える、
異常検知システム。
【０１２２】
この出願は、２０１７年１月１９日に出願された日本出願特願２０１７−００７８３５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１２３】
１０  異常検知装置
１１  抽出装置
１２  検査装置
２０  異常検知システム
２１、２１Ａ、２１Ｂ、２１Ｃ  ノード
３０  異常検知装置
３１  抽出装置
３２  検査装置
３３  記憶装置
１１１  間隔分析部
１１２  順序抽出部
１２２  順序検査部
３１１  間隔分析部
３１２  順序抽出部
３２１  間隔検査部
３２１  間隔検査部
３２２  順序検査部
３３１  履歴記憶部
３３２  間隔記憶部
３３３  順序記憶部
６０１  ＣＰＵ
６０２  ＲＯＭ
６０３  ＲＡＭ
６０４  プログラム
６０５  記憶装置
６０６  記憶媒体
６０７  ドライブ装置
６０８  通信インターフェース
６０９  通信ネットワーク
６１０  入出力インターフェース
６１１  バス
【図１】
2018135604.tif 000003
【図２】
2018135604.tif 000004
【図３】
2018135604.tif 000005
【図４】
2018135604.tif 000006
【図５】
2018135604.tif 000007
【図６】
2018135604.tif 000008
【図７】
2018135604.tif 000009
【図８】
2018135604.tif 000010
【図９】
2018135604.tif 000011
【図１０】
2018135604.tif 000012
【図１１】
2018135604.tif 000013
【図１２】
2018135604.tif 000014
【図１３】
2018135604.tif 000015
【図１４】
2018135604.tif 000016
【図１５】
2018135604.tif 000017
【図１６】
2018135604.tif 000018
【図１７】
2018135604.tif 000019
【図１８】
2018135604.tif 000020
【図１９】
2018135604.tif 000021
【図２０】
2018135604.tif 000022
【国際調査報告】
2018135604.tif 000023
2018135604.tif 000024