(57)【要約】【課題】情報取得コストを削減するとともに、サンプリングでは抽出できない少量パケットによる攻撃でも検知を可能とする。【解決手段】パケット転送装置が備えられたネットワークにおける異常通信を検知する異常検知装置において、前記パケット転送装置において、予め定められた分割情報によりパケットが複数の区分に分類され、区分毎にパケットに関する所定の情報が取得され、前記異常検知装置は、前記パケット転送装置から、前記区分毎の前記所定の情報を取得し、当該所定の情報から特徴量を生成する特徴量生成手段と、前記特徴量生成手段により生成された特徴量に基づいて生成された検知モデルを用いて異常通信を検知する検知手段とを備える。【選択図】図３
2019075745.tif 000002
【特許請求の範囲】
【請求項１】
パケット転送装置が備えられたネットワークにおける異常通信を検知する異常検知装置であって、
前記パケット転送装置において、予め定められた分割情報によりパケットが複数の区分に分類され、区分毎にパケットに関する所定の情報が取得され、
前記異常検知装置は、
前記パケット転送装置から、前記区分毎の前記所定の情報を取得し、当該所定の情報から特徴量を生成する特徴量生成手段と、
前記特徴量生成手段により生成された特徴量に基づいて生成された検知モデルを用いて異常通信を検知する検知手段と
を備えることを特徴とする異常検知装置。
【請求項２】
前記分割情報としてパケットのヘッダ情報が使用され、前記所定の情報として、ＴＣＰの特定のフラグを有するパケットの数が使用される
ことを特徴とする請求項１に記載の異常検知装置。
【請求項３】
前記所定の情報を取得するために使用されるアクセスコントロールリストを前記パケット転送装置に設定する制御手段
を更に備えることを特徴とする請求項１又は２に記載の異常検知装置。
【請求項４】
パケット転送装置が備えられたネットワークにおける異常通信を検知する異常検知装置が実行する異常検知方法であって、
前記パケット転送装置において、予め定められた分割情報によりパケットが複数の区分に分類され、区分毎にパケットに関する所定の情報が取得され、
前記異常検知方法は、
前記パケット転送装置から、前記区分毎の前記所定の情報を取得し、当該所定の情報から特徴量を生成する特徴量生成ステップと、
前記特徴量生成ステップにより生成された特徴量に基づいて生成された検知モデルを用いて異常通信を検知する検知ステップと
を備えることを特徴とする異常検知方法。
【請求項５】
前記分割情報としてパケットのヘッダ情報が使用され、前記所定の情報として、ＴＣＰの特定のフラグを有するパケットの数が使用される
ことを特徴とする請求項４に記載の異常検知方法。
【請求項６】
前記所定の情報を取得するために使用されるアクセスコントロールリストを前記パケット転送装置に設定する制御ステップ
を更に備えることを特徴とする請求項４又は５に記載の異常検知方法。
【請求項７】
コンピュータを、請求項１ないし３のうちいずれか１項に記載の異常検知装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおける異常通信を検出する技術に関連するものである。
【背景技術】
【０００２】
ＮＷ（ネットワーク）に接続される端末台数の増加が予想されており、ＮＷに接続される端末台数が２０２０年には３００億台に達すると言われている（非特許文献１）。そのような状況の中、運用コスト削減等の観点からセキュリティ対策が十分に行われない端末も通信事業者網に多数接続され、サイバー攻撃の標的となっている。そこで、通信事業者網におけるセキュリティ対策が期待されている（非特許文献２）。
【０００３】
特に、感染端末を増やす攻撃（以降、感染拡大攻撃と呼ぶ）への対策は、大規模な攻撃の実現可能性を引き下げることができ、セキュリティ対策として効果が高いと考えられる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】総務省,"情報通信白書 平成28年度版", 2016
【非特許文献２】"IoTセキュリティにおける通信サービスプロバイダへの期待", https://www.trendmicro.com/jp/iot-security/special/20109, 2017
【非特許文献３】NTTコミュニケーションズ,"トラフィック解析システムSAMURAIとサービス展開", http://www.ntt.co.jp/journal/0807/files/jn200807016.pdf, 2008.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
感染拡大攻撃をＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で検知する既存技術が存在するが、既存技術ではパケットのフルキャプチャ等、個々の通信を全て取得する必要がある。そのため、通信事業者網のように大量の端末が接続され、膨大なトラヒックが流れるＮＷへの適用には、大きなストレージ量や処理負荷が必要であり、情報取得コストの観点から現実的でない。
【０００６】
また、個々の通信を全て取得するのではなく、フローサンプリング等の間欠的な情報を用いた既存の異常検知技術が存在するが、攻撃通信が大量に発生する場合でしか検知できず（非特許文献３）、感染端末が少ない段階で攻撃を検知できない。
【０００７】
本発明は上記の点に鑑みてなされたものであり、情報取得コストを削減するとともに、サンプリングでは抽出できない少量パケットによる攻撃でも検知を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
開示の技術によれば、パケット転送装置が備えられたネットワークにおける異常通信を検知する異常検知装置であって、
前記パケット転送装置において、予め定められた分割情報によりパケットが複数の区分に分類され、区分毎にパケットに関する所定の情報が取得され、
前記異常検知装置は、
前記パケット転送装置から、前記区分毎の前記所定の情報を取得し、当該所定の情報から特徴量を生成する特徴量生成手段と、
前記特徴量生成手段により生成された特徴量に基づいて生成された検知モデルを用いて異常通信を検知する検知手段と
を備えることを特徴とする異常検知装置が提供される。
【発明の効果】
【０００９】
開示の技術によれば、情報取得コストを削減するとともに、サンプリングでは抽出できない少量パケットによる攻撃でも検知を可能とする技術が提供される。
【図面の簡単な説明】
【００１０】
【図１】実施の形態の概要を説明するための図である。
【図２】既存技術と提案技術との相違を説明するための図である。
【図３】検知システムの構成図である。
【図４】分割情報と攻撃分離情報の例を説明するための図である。
【図５】攻撃分離情報の基になる情報の例とＡＣＬの設定方式を説明するための図である。
【図６】特徴ベクトルの生成方法を説明するための図である。
【図７】パケット転送装置の機能構成の一例を示す図である。
【図８】異常検知用コントローラ装置の機能構成の一例を示す図である。
【図９】異常検知用ストレージ装置の機能構成の一例を示す図である。
【図１０】ＡＣＬの設定情報を保持するテーブルの構成の一例を示す図である。
【図１１】特徴量加工方法を保持するテーブルの構成の一例を示す図である。
【図１２】検知モデル及びパラメータ情報を保持するテーブルの構成の一例を示す図である。
【図１３】特徴量生成装置の機能構成の一例を示す図である。
【図１４】取得情報テーブル記憶部の構成の一例を示す図
【図１５】検知用演算装置の機能構成の一例を示す図である。
【図１６】学習データのテーブル記憶部の構成の一例を示す図である。
【図１７】学習パラメータのテーブル記憶部の構成の一例を示す図である。
【図１８】装置のハードウェア構成の例を示す図である。
【図１９】ＡＣＬのコンフィグ投入におけるシーケンスを示す図である。
【図２０】学習データの生成と検知モデルの学習におけるシーケンスを示す図である。
【図２１】トラヒックデータの取得と検知モデルによる異常検知におけるシーケンスを示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、異常通信の例として、攻撃通信を挙げて説明しているが、本発明により、攻撃通信以外の異常通信を検知することも可能である。
【００１２】
（実施の形態の概要）
まず、本実施の形態の概要を説明する。攻撃通信は正常通信に比べて少量であり、その兆候をつかむことは一般には困難であるが、本実施の形態では、下記の手順１、手順２により、軽量かつ間欠的でない情報を取得し、当該情報を用いて攻撃検知を行うことにより、攻撃通信の兆候を従来よりも低コストで検知することを可能としている。
【００１３】
＜手順１＞
ルータ等のＮＷ機器（パケット転送装置とも呼ぶ）を流れるトラヒック情報を「分割情報」の値を用いて、幾つかの区間（区分、グループ等と呼んでもよい）に分割する。
【００１４】
「分割情報」とは、宛先ＩＰアドレス、プロトコル等のＬ３、Ｌ４ヘッダの属性情報の中で、その取り得る値の範囲が有限である情報（例：宛先ＩＰアドレスや宛先ポート番号）を指す。特に、正常通信において取り得る値が一様に分布するような分割情報を選ぶことで、正常通信を均一に分割でき、どの区間においても攻撃通信による通信情報の変化を目立たせることが出来る。分割情報として、複数の情報を用いてもよい。
【００１５】
＜手順２＞
手順１で分割した、一部もしくは全部の区間毎に、「攻撃分離情報の素になる情報」を取得する。これは、後述する特徴量の素になる情報である。
【００１６】
ここで、「攻撃分離情報」とは、正常通信には該当せず、攻撃通信においてのみ該当する変化を示す情報（例：ＴＣＰコネクションに失敗した回数の増加、使用頻度の低い宛先ポート番号を指定した通信の増加）を指す。攻撃分離情報には、既存研究で攻撃発生時においてトラヒック傾向の変化を示す情報を選択すればよい。また、複数の攻撃分離情報を選択してもよい。なお、「攻撃分離情報」が異常である場合（正常の範囲からはずれる場合）に、後述する検知モデルにより異常が検知される。
【００１７】
「攻撃分離情報の素になる情報」とは、攻撃分離情報を取得するために、具体的に通信事業者網で取得できる通信情報を指す。例えば、攻撃分離情報がＴＣＰコネクションに失敗した回数の場合、攻撃分離情報の素になる情報はＴＣＰのＳＹＮフラグ、ＳＹＮ／ＡＣＫフラグ、ＲＳＴフラグを持つパケット数となる。
【００１８】
図１に、手順１と手順２の例を示す。図１に示す例では、手順１により、トラヒック情報が３つの区間に分割されている。手順１では、トラヒック全体を区間毎に分割することで、異常通信が含まれる区間における正常通信に対する異常通信の割合を向上させ、攻撃通信による通信情報の変化を目立たせることができる。また、手順２では、攻撃発生時においてトラヒック傾向の変化を示す情報に着目することで、攻撃の兆候を捉えることができる。
【００１９】
上記の手順１及び手順２は、ＮＷ機器のＡＣＬ（アクセスコントロールリスト）を用いることで実施することが可能である。
【００２０】
なお、手順２で着目する属性情報の中には、ＳＹＮパケット数に対するＳＹＮ／ＡＣＫパケット数の割合等が含まれる。従来の検知方式では、フロー等のステートフルな表現を加工して、これらの情報を取得していたが、本実施の形態では通信事業者網で取得できるステートレスな情報の組合せから、類似の情報を取得している。
【００２１】
本実施の形態では、手順１、手順２により取得された情報から特徴量を生成する。特徴量は、検知モデル（識別器）の学習に用いられるとともに、攻撃を検知するために検知モデルへの入力としても用いられる。
【００２２】
特徴量として、手順１、手順２により取得された情報をそのままを使用してもよい。また、手順１、手順２により取得された情報同士を任意に組合せて、合計を取る、差分を求める、比率を計算する等の任意の演算を行うことで加工した情報を特徴量として用いてもよい。例えば、取得したＳＹＮパケット数に対するＳＹＮ／ＡＣＫパケット数の比率を計算してもよい。なお、後述する「特徴量ベクトル」を特徴量と称してもよい。
【００２３】
（既存技術と提案技術との違い）
ここで、図２を参照して、既存技術と提案技術（実施の形態に係る技術）との違いを説明する。図２（ａ）に示すように、既存技術（非特許文献３）では、サンプリングにより一部のパケットのみを抽出し、検知に利用する。既存技術により抽出される情報は、サンプリングされないパケットは無視しているという意味で、「間欠的な情報」と呼ぶことができる。既存技術では、サンプリングで取得した情報に基づいて異常検知を行うため、そもそもサンプリングされない少量の攻撃通信は検知できない。
【００２４】
一方、図２（ｂ）に示す提案技術では、全パケットを分割情報の値毎に分けて、分けたパケットの集合毎に集約した攻撃分離情報の素になる情報を取得する。これにより、軽量だが間欠的でない情報を取得することができる。つまり、提案技術では、分割情報に基づいてパケットを分類し、分類毎に「攻撃分離情報の素になる情報」を取得し、加工することで検知に利用するため、全パケットの情報を取り入れて検知を行うことが可能である。
【００２５】
（システムの全体構成）
図３に本実施の形態における検知システムの全体構成図を示す。本実施の形態における検知システムは、大量の端末７００が接続された大規模なＩＰネットワーク６００におけるシステムであり、端末７００はそれぞれ異なる通信特性（例えば、通信頻度、宛先数、パケットサイズ等）を持つ。
【００２６】
図３に示すように、検知システムは、パケット転送装置１００、異常検知用コントローラ装置２００、異常検知用ストレージ装置３００、特徴量生成装置４００、検知用演算装置５００を有する。また、異常検知用コントローラ装置２００、異常検知用ストレージ装置３００、特徴量生成装置４００、及び検知用演算装置５００は、異常検知用装置群８００を構成している。なお、異常検知用コントローラ装置２００、異常検知用ストレージ装置３００、特徴量生成装置４００、及び検知用演算装置５００のそれぞれが独立の物理的なコンピュータ（仮想マシンでもよい）であってもよいし、異常検知用コントローラ装置２００、異常検知用ストレージ装置３００、特徴量生成装置４００、及び検知用演算装置５００のいずれか複数（全部でもよい）が１つのコンピュータ（仮想マシンでもよい）で実現されてもよい。また、異常検知用装置群８００を「異常検知装置」と称してもよい。異常検知用装置群８００を構成する各装置は、ネットワーク接続されていてもよいし、異常検知用装置群８００が物理的な１つの装置として構成され、図３に示す異常検知用装置群８００内の各装置は、１つの装置の中の機能部であってもよい。
【００２７】
パケット転送装置１００は、インターネット９００と端末７００間のパケットを中継する装置であり、一例としては、通信事業者網のコアネットワーク（図３のＩＰ−ＮＷに相当）におけるルータ等のＮＷ機器を指す。パケット転送装置１００は、パケットの中継を行う際に、前述した手順１と手順２の処理を実行する。すなわち、パケット転送装置１００は、ＡＣＬを用いて特定の性質を持つ送受信パケット数等の情報を収集する。パケット転送装置１００は、収集した情報を特徴量生成装置４００に送信する。
【００２８】
異常検知用ストレージ装置３００は、異常検知に必要な検知モデルやそのパラメータ等の情報を保持する。特徴量生成装置４００は、異常検知に必要な特徴量をパケット転送装置４００から受信した情報を加工することで生成する。
【００２９】
検知用演算装置５００は、特徴量生成装置４００から特徴量を取得し、検知モデルの学習と異常検知を行う。
【００３０】
異常検知用装置群８００における各装置の構成と動作の詳細は後述する。なお、想定するＮＷ機器が階層型のＮＷ機器である場合、複数のパケット転送装置が存在することになるが、本実施の形態では各ＮＷ機器毎に異常検知装置群８００を用意する。ただし、これに限られるわけではなく、複数のＮＷ機器に対して１つの異常検知装置群８００が用意されてもよい。
【００３１】
（動作例）
検知システムにおける装置が実行する主要な動作の例を説明する。
【００３２】
図４は、パケット転送装置１００が実行する手順１、手順２における分割情報と、攻撃分離情報に関わる情報の例を示す図である。
【００３３】
分割情報の一例として、宛先アドレス空間の情報が挙げられる。図４（ａ）は、一例として、パケット転送装置１００が３つの宛先アドレレス空間を識別し、それらのうち、感染端末がｚ．０．０．０／８のアドレス空間のアドレスを宛先として通信を行っていることを示している。
【００３４】
また、「攻撃分離情報の素となる情報」の生成のための情報の一例として、宛先ポート番号、ＴＣＰフラグ値等がある。図４（ｂ）は、宛先ポート番号の例として、非ｗｅｌｌ  ｋｎｏｗｎポートの番号を指定して異常検知を行う場合の例を示している。また、図４（ｃ）は、ＴＣＰフラグ値の例として、ＳＹＮ／ＡＣＫフラグ、ＲＳＴフラグを使用して異常検知を行う場合の例を示している。
【００３５】
図４に示す例において、例えば、分割情報として宛先ＩＰアドレス（／８）（"宛先／８空間"と呼ぶ）を使用し、宛先／８空間毎のパケット数がパケット転送装置１００により取得される。また、攻撃分離情報の素になる情報として、宛先／８空間毎に、例えば、非ｗｅｌｌ−ｋｎｏｗｎポートを宛先とするパケット数、ＳＹＮのＴＣＰフラグ値を持つパケット数、ＳＹＮ−ＡＣＫのＴＣＰフラグ値を持つパケット数、ＲＳＴのＴＣＰフラグ値を持つパケット数がパケット転送装置１００により取得される。
【００３６】
前述したように、上記の各パケット数は、パケット転送装置１００にＡＣＬを設定することにより取得することができる。
【００３７】
なお、ＡＣＬはパケット転送装置１００毎に異なる設定をしても良い。また、ＡＣＬを設定するトラヒックの方向は特定の方向に限定されない。
【００３８】
本実施の形態のパケット転送装置１００におけるＡＣＬ行数の上限は約１０００行であるが、ＡＣＬを一つのパケット転送装置１００に書ききることが出来ない場合、複数のパケット転送装置１００で異なるＡＣＬの設定を行うことで、その機能を分担することとしてもよい。図５は、複数のパケット転送装置１００で異なるＡＣＬの設定を行う場合における例を示す図である。
【００３９】
図５に示す例では、下流のパケット転送装置１００において、宛先／８空間毎の任意のポート番号を宛先とするパケット数、及び、宛先／８空間毎の任意のポート番号を宛先とするＳＹＮ、ＳＹＮ／ＡＣＫ、及びＲＳＴそれぞれのパケット数を取得するためのＡＣＬが設定される。
【００４０】
また、上流のパケット転送装置１００において、任意の宛先ＩＰアドレスの非ｗｅｌｌ−ｋｎｏｗｎポートを宛先とするパケット数、及び、任意の宛先ＩＰアドレスの非ｗｅｌｌ−ｋｎｏｗｎポートを宛先とするＳＹＮ、ＳＹＮ／ＡＣＫ、及びＲＳＴそれぞれのパケット数を取得するためのＡＣＬが設定される。上記のＡＣＬに基づき取得された各パケット数は、各パケット転送装置１００から特徴量生成装置４００に送信される。
【００４１】
特徴量生成装置４００は、各パケット転送装置１００から受信したパケット数の情報を加工することにより、異常検知に必要な特徴量を生成する。図５に示したように下流のパケット転送装置１００（ＮＷ機器）と上流のパケット転送装置１００（ＮＷ機器）とにより取得された各パケット数を加工することにより特徴量を生成する場合の例を図６に示す。図６は、特徴量ベクトル生成の一例として、取得した情報同士の比率を計算することで
特徴量を生成する場合の例を示している。
【００４２】
図６の上段に示すように、特徴量生成装置４００は、下流のパケット転送装置１００から（１）宛先／８空間毎のパケット数、（２）宛先／８空間毎のＳＹＮパケット数、（３）送信元／８空間毎のＳＹＮ／ＡＣＫパケット数、及び（４）送信元／８空間毎のＲＳＴパケット数を取得する。
【００４３】
そして、特徴量生成装置４００は、宛先／８空間毎のＳＹＮパケット数に対するＳＹＮ／ＡＣＫパケット数の割合と、宛先／８空間毎のＳＹＮパケット数に対するＲＳＴパケット数の割合とを算出する。これにより、宛先／８空間毎の特徴ベクトル（ＳＹＮパケット数に対するＳＹＮ／ＡＣＫパケット数の割合，ＳＹＮパケット数に対するＲＳＴパケット数の割合）が得られる。
【００４４】
なお、図６における「宛先」、「送信元」については、パケットが「上り」か「下り」かに基づくものである。
【００４５】
また、図６の下段に示すように、特徴量生成装置４００は、上流のパケット転送装置１００から、（１）宛先／８空間毎の非ウェルノウンポートを指定したパケット数、（２）宛先／８空間毎の非ウェルノウンポートを指定したＳＹＮパケット数、（３）送信元／８空間毎の非ウェルノウンポートを指定したＳＹＮ／ＡＣＫパケット数、及び（４）送信元／８空間毎の非ウェルノウンポートを指定したＲＳＴパケット数を取得する。
【００４６】
そして、特徴量生成装置４００は、宛先／８空間毎の非ウェルノウンポートを指定したＳＹＮパケット数に対する非ウェルノウンポートを指定したＳＹＮ／ＡＣＫパケット数の割合（（３）／（２））と、宛先／８空間毎の非ウェルノウンポートを指定したＳＹＮパケット数に対する非ウェルノウンポートを指定したＲＳＴパケット数の割合（（４）／（２））とを算出する。
【００４７】
更に、特徴量生成装置４００は、宛先８／空間毎の下流パケット転送装置１００における全パケット数に対する非ウェルノウンポートを指定したパケット数の割合、宛先８／空間毎の（「下流パケット転送装置における（３）／（２）の全宛先８／空間の平均」‐上流パケット転送装置における（３）／（２））、宛先８／空間毎の（「下流パケット転送装置における（４）／（２）の宛先８／空間の平均」‐上流パケット転送装置における（４）／（２））を算出する。
【００４８】
検知用演算装置５００は、特徴量生成装置４００により生成された多次元な特徴量に対し、攻撃通信と正常通信を識別（非線形分離）するため、Ｏｎｅ−Ｃｌａｓｓ  ＳＶＭを用いて学習と異常検知を行う。Ｏｎｅ−Ｃｌａｓｓ  ＳＶＭを用いた異常検知自体は既存技術であるので、ここでは概要を説明する。なお、Ｏｎｅ−Ｃｌａｓｓ  ＳＶＭを使用することは例であり、その他の手法で検知を行ってもよい。
【００４９】
検知用演算装置５００は、Ｏｎｅ−Ｃｌａｓｓ  ＳＶＭを用いて、正常・攻撃の２クラスの分離平面を教師なし学習する。Ｏｎｅ−Ｃｌａｓｓ  ＳＶＭでは、パラメータνによって学習データにおける外れ値が占める割合を指定し、特徴量空間において正常データと原点の間のマージンを最大化する分離平面を学習する。また、パラメータσを伴うＲＢＦカーネルにより特徴量空間を射影することで、非線形の分離平面を得ることができる。検知用演算装置５００は、タイムスロットごとの特徴量ベクトルを受け取り、それぞれに対して正常・異常の判定を出力する。
【００５０】
（各装置の詳細構成）
以下、図３に示した検知システムを構成する各装置の詳細構成の例を説明する。
【００５１】
＜パケット転送装置＞
図７は、パケット転送装置１００の機能構成の一例を示す図である。図７に示すように、パケット転送装置１００は、通信部１１０と情報収集部１２０を有する。情報収集部１２０は、これまでに説明したＡＣＬを有する。
【００５２】
通信部１１０は、端末７００から送信された情報を取得し、当該情報をインターネット９００へと送信するとともに、インターネット９００から送信された情報を取得し、当該情報を端末７００へと送信する。
【００５３】
また、インターネット９００と端末７００との間で送受信される情報は、通信部１１０から情報収集部１２０に渡される。情報収集部１２０には、異常検知用ストレージ装置３００から、通信情報の属性情報（例：宛先・送信元ＩＰアドレスやバイト数等）毎に条件がＡＣＬとして設定される。情報収集部１２０は、設定された条件にマッチしたパケットの数を特徴量生成装置４００に送信する。
【００５４】
ＡＣＬは、パケット転送装置１００に複数設定することができ、その適用タイミングはパケットのフォワーディングの前後で限定されない。また、既に説明したとおり、階層型のＮＷにおいて、ＡＣＬの設定容量が足りない場合、異なる階層毎に異なるＡＣＬを設定し、機能分担することも可能であり、設定箇所は１つのパケット転送装置１００に限られない。また、情報収集部１２０が特徴量生成装置４００に送信する通信情報は上記のようなパケットの数に限られるわけではなく、ＩＰヘッダを取得し、送信してもよいし、パケットのフルキャプチャを行ってもよい。以降、条件にマッチしたパケットの数を例に用いて説明する。
【００５５】
＜異常検知用コントローラ装置＞
図８は、異常検知用ストレージ装置２００の機能構成の一例を示す図である。図８に示すように、異常検知用コントローラ装置２００は、ＡＣＬの設定情報や検知アルゴリズムのパラメータといった、 検知に利用する情報をシステム外部から入力するインターフェース２１０と、 検知用演算装置５００による異常検知結果を表示するインターフェース２２０を有する。また、異常検知用ストレージ装置２００は、通信部２３０を有する。
【００５６】
インターフェース２１０から入力された設定情報は、通信部２３０により異常検知用ストレージ装置３００に送信される。当該設定情報は、異常検知用ストレージ装置３００からパケット転送装置１００、検知用演算装置５００、特徴量生成装置４００等のテーブルに格納される。
【００５７】
また、通信部２３０は、検知用演算装置５００から検知の結果を受け取り、その結果をインターフェース２２０を介してユーザに対して表示する。
【００５８】
＜異常検知用ストレージ装置＞
図９は、異常検知用ストレージ装置３００の機能構成の一例を示す図である。図９に示すとおり、異常検知用ストレージ装置３００は、ＡＣＬの設定情報を保持するテーブル３１０、特徴量加工方法を保持するテーブル３２０、検知モデル及びパラメータ情報を保持するテーブル３３０を有する。また、異常検知用ストレージ装置３００は、各テーブルの情報の書き込み・読み出し等を行う情報管理部３４０、及び、他の装置との通信を行う通信部３５０を有する。
【００５９】
テーブル３１０、３２０、及び３３０に含まれる情報は、通信部３５０と情報管理部３４０を介して異常検知用コントローラ装置２００から指定される。
【００６０】
図１０は、ＡＣＬの設定情報を保持するテーブル３１０の構成の一例を示す図である。図１０に示すように、当該テーブル３１０には、ＡＣＬの行ＩＤと、設定箇所（設定先Ｉ／Ｆ、方向）と、ＡＣＬの内容とが紐づいた情報が格納されている。また、例えば行１と行４に示すように、トラヒックの向きにより、属性情報の対となる情報が格納される。
【００６１】
図１１は、特徴量加工方法を保持するテーブル３２０の構成の一例を示す図である。図１１に示すように、当該テーブル３２０には、特徴量加工を実施する時間幅や、パケット転送装置１００から取得した情報の加工の仕方が格納される。これらの情報は、異常検知用コントローラ装置２００から取得され、特徴量生成装置４００に送信される。
【００６２】
図１２は、検知モデル及びパラメータ情報を保持するテーブル３３０の構成の一例を示す図である。図１２に示すように、当該テーブル３３０には、異常検知に利用するアルゴリズムの種類や、ハイパーパラメータの値、学習に利用するサンプル（特徴量）の数が格納される。これらの情報は異常検知用コントローラ装置２００から取得され、検知用演算装置５００に送信される。検知用演算装置５００は、これらの情報を検知モデルの学習及び異常検知に利用する。
【００６３】
＜特徴量生成装置＞
図１３は、特徴量生成装置４００の機能構成の一例を示す図である。図１３に示すように、特徴量生成装置４００は、情報管理部４１０、特徴量演算部４２０、取得情報テーブル記憶部４３０、特徴量ベクトル生成部４４０、及び通信部４５０を有する。
【００６４】
通信部４５０は、パケット転送装置１００で設定されたＡＣＬに基づき取得された情報を受信し、情報管理部４１０を介して取得情報テーブル記憶部４３０の取得情報テーブルに格納する。また、特徴量演算部４２０は、テーブルに一定期間蓄積された情報を加工することで特徴量を生成し、特徴量ベクトル生成部４４０は当該特徴量を用いて特徴量ベクトルを生成する。生成された特徴量ベクトルは、通信部４５０を介して検知用演算装置５００に送信される。なお、「特徴量ベクトル」は、特徴量の一種であるので、「特徴量ベクトル」を特徴量と称してもよい。
【００６５】
図１４は、取得情報テーブル記憶部４３０に格納されるテーブルの構成の一例を示す図である。図１４に示すとおり、このテーブルには、パケット転送装置１００から取得した情報（ＡＣＬで設定したルールにマッチしたパケットの数）がＡＣＬ行毎に格納される。
【００６６】
特徴量生成に利用する情報の取得時間の間、このテーブルの値は更新され、当該取得時間の経過後に、当該テーブルの情報が特徴量生成部４２０に送信される。情報が特徴量生成部４２０に送信された後は、テーブルの値は０に更新される。
【００６７】
＜検知用演算装置＞
図１５は、検知用演算装置５００の機能構成の一例を示す図である。図１５に示すように、検知用演算装置５００は、情報管理部５１０、検知用演算部５２０、検知モデル生成部５３０、学習データのテーブル記憶部５４０、学習パラメータのテーブル記憶部５５０、及び通信部５６０を有する。
【００６８】
検知用演算部５２０は、通信部５６０を介して特徴量生成装置４００から特徴量ベクトルを取得する。検知モデルの学習期には、検知用演算部５２０は、複数の特徴量ベクトルを学習データのテーブル記憶部５４０のテーブルに格納しておき、 一定のデータが溜まった際に重みパラメータを学習する演算を行う。 生成した重みパラメータは学習パラメータのテーブル記憶部５５０に保持しておく。
【００６９】
検知モデル生成部５３０は、検知モデルを生成する。異常検知を行う際には、検知用演算部５２０は、現在のトラヒックから特徴量ベクトルを断続的に取得し、検知モデルに入力することで、異常判定を行う。検知用演算部５２０は、更に判定結果を異常検知用コントローラ装置２００に送信する。なお、「検知モデル」は、例えば、パラメータを係数に持つ関数である。当該関数に、現在のトラヒックから得られた特徴量ベクトルを入力して得られる値により、異常かどうかを判定することができる。
【００７０】
図１６は、学習データのテーブル記憶部５４０に格納されるテーブルの構成の一例を示す図である。図１６に示すように、学習データのテーブル記憶部５４０には、学習に利用する特徴量ベクトル値を保持するテーブルが格納される。学習データのテーブル記憶部５４０は、異常検知用ストレージ装置３００の検知モデル及びパラメータ情報を保持するテーブル３３０で指定された学習サンプル数Ｍに応じて特徴量ベクトルを保持する。
【００７１】
図１７は、学習パラメータのテーブル記憶部５５０に格納されるテーブルの構成の一例を示す図である。当該テーブルは、学習用特徴量を検知モデル生成部５３０（検知アルゴリズム）に学習させた結果を格納するテーブルである。検知を実施する際には、特徴量生成装置４００から得られた最新の特徴量と、この重みパラメータを検知モデルに入力することで、正常異常の判定が可能になる。
【００７２】
（ハードウェア構成例）
上述した各装置（図３に示すパケット転送装置１００、異常検知用コントローラ装置２００、異常検知用ストレージ装置３００、特徴量生成装置４００、検知用演算装置５００）はいずれも、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。また、異常検知用コントローラ装置２００、異常検知用ストレージ装置３００、特徴量生成装置４００、検知用演算装置５００のいずれか複数（全部でもよい）が１つのコンピュータで実現される場合でも、その機能は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。
【００７３】
すなわち、当該機能は、コンピュータに内蔵されるＣＰＵやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【００７４】
図１８は、本実施の形態における上記コンピュータのハードウェア構成例を示す図である。図１８のコンピュータは、それぞれバスＢで相互に接続されているドライブ装置１０００、補助記憶装置１００２、メモリ装置１００３、ＣＰＵ１００４、インターフェース装置１００５、表示装置１００６、及び入力装置１００７等を有する。
【００７５】
当該装置での処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１００１によって提供される。プログラムを記憶した記録媒体１００１がドライブ装置１０００にセットされると、プログラムが記録媒体１００１からドライブ装置１０００を介して補助記憶装置１００２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１００１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１００２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００７６】
メモリ装置１００３は、プログラムの起動指示があった場合に、補助記憶装置１００２からプログラムを読み出して格納する。ＣＰＵ１００４は、メモリ装置１００３に格納されたプログラムに従って当該装置に係る機能を実現する。インターフェース装置１００５は、ネットワークに接続するためのインターフェースとして用いられる。表示装置１００６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１００７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。なお、ユーザとのインターフェースを必要としない装置については、表示装置１００６や入力装置１００７を備えないこととしてもよい。
【００７７】
（処理シーケンスの例）
次に、本実施の形態における検知システムにおいて実行される処理のシーケンスの例を説明する。
【００７８】
まず、図１９を参照してＡＣＬのコンフィグ投入に関するシーケンスの例を説明する。図１９に示すシーケンスにおいて、まず、本システムの利用者が定めたＡＣＬ設定情報が異常検知用コントローラ装置２００に入力され、当該ＡＣＬ設定情報が異常検知用ストレージ装置３００に送信される（Ｓ１００）。
【００７９】
異常検知用ストレージ装置３００は、受信したＡＣＬ設定情報をテーブル３１０に書き込み（Ｓ１０１）、パケット転送装置１００のＡＣＬに設定情報（コンフィグ）を反映させる（Ｓ１０２）。
【００８０】
ＡＣＬの設定がなされたパケット転送装置１００は、ＡＣＬによりマッチしたパケット情報（例：パケット数）を特徴量生成装置４００に常時送信する（１０３）。
【００８１】
次に、図２０を参照して、学習データの生成と検知モデルの学習についてのシーケンスの例を説明する。図２０は、ＡＣＬにマッチしたパケットの情報を取得し、特徴量生成装置４００で加工を行うことで、検知モデルの入力となる学習データを生成するシーケンス（Ｓ２００〜Ｓ２０７）と、生成した学習データを用いた、検知アルゴリズムにおける重みパラメータの学習による検知モデルを生成するシーケンスの一例を示す（Ｓ２０８〜Ｓ２１１）。
【００８２】
まず、異常検知用コントローラ装置２００は、特徴量の加工方法を指定し、当該加工方法を示す情報を異常検知用ストレージ装置３００に送信する（Ｓ２００）。異常検知用ストレージ装置３００は、特徴量の加工方法を示す情報をテーブル３２０に書き込む（Ｓ２０１）。異常検知用ストレージ装置３００は、特徴量の加工方法を示す情報を特徴量生成装置４００に送信する。
【００８３】
特徴量生成装置４００は、ＡＣＬによりマッチしたパケット情報（例：パケット数）
をパケット転送装置１００から常時取得し（Ｓ２０３）、取得情報テーブル記憶部４３０に取得したパケット情報を格納する（Ｓ２０４）。
【００８４】
特徴量生成装置４００は、テーブルで指定された一定の取得期間毎に特徴量を生成し（Ｓ２０５）、取得情報テーブルをリフレッシュする（Ｓ２０６）。特徴量生成装置４００は、Ｓ２０３〜Ｓ２０６を繰り返す（Ｓ２０７）。
【００８５】
異常検知用コントローラ装置２００は、検知アルゴリズムやパラメータ、学習サンプル数の情報を指定し、これらの情報を検知用演算装置５００に送信する（Ｓ２０８）。また、特徴量生成装置４００は、生成した特徴量情報を検知用演算装置５００に送信する（Ｓ２０９）。
【００８６】
検知用演算装置５００は、異常検知用コントローラ装置２００から指示された数のサンプルを用いて、重みパラメータを学習し（Ｓ２１０）、学習済みの重みパラメータを学習パラメータのテーブル記憶部５５０に格納する（Ｓ２１１）。
【００８７】
次に、図２１を参照して、トラヒックデータの取得と検知モデルによる異常検知に関するシーケンスの例を説明する。図２１は、ＡＣＬにマッチしたパケットの情報を取得し、特徴量生成装置４００で加工を行うシーケンス（Ｓ３００〜Ｓ３０３）と、生成した特徴量と学習済みの重みパラメータを検知アルゴリズムに入力し、異常判定を行うシーケンス（Ｓ３０４〜Ｓ３０９）の一例を示す。
【００８８】
特徴量生成装置４００は、ＡＣＬによりマッチしたパケット情報（例：パケット数）をパケット転送装置１００から常時取得する（Ｓ３００）。特徴量生成装置４００は、取得情報テーブル記憶部４３０に取得したパケット情報を格納する（Ｓ３０１）。また、特徴量生成装置４００は、テーブル３２０で指定された一定の取得期間毎に特徴量を加工し（Ｓ３０２）、取得情報テーブルをリフレッシュする（Ｓ３０３）。
【００８９】
異常検知用コントローラ装置２００は、検知アルゴリズムやパラメータ、学習サンプル数の情報を指定し、これらの情報を検知用演算装置５００に送信する（Ｓ３０４）。また、特徴量生成装置４００は、生成した特徴量情報を検知用演算装置５００に送信する（Ｓ３０５）。
【００９０】
検知用演算装置５００は、学習済みの重みパラメータを学習パラメータのテーブル記憶部５４０から取得し（Ｓ３０６）、特徴量と学習パラメータを検知モデルに入力し、正常・異常の判定を行う（Ｓ３０７）。検知用演算装置５００は、正常／異常の判定結果を異常検知用コントローラ装置２００に送信する（Ｓ３０８）。上記のＳ３００〜Ｓ３０８の手順が繰り返し実行される（Ｓ３０９）。
【００９１】
（実施の形態の効果）
本実施の形態によれば、ルータ等のＮＷ機器から取得した通信情報から、攻撃の集中による傾向を掴みやすい単位で情報取得を行うことで、感染拡大攻撃の検知に有効な情報を抽出し、当該情報を特徴量に加工し、検知を行うこととした。これにより、個々の端末の通信情報を利用するよりも情報取得コストを削減し、かつサンプリングでは抽出できない少量パケットによる攻撃が検知可能になる。
【００９２】
（実施の形態のまとめ）
以上、説明したように、本実施の形態によれば、パケット転送装置が備えられたネットワークにおける異常通信を検知する異常検知装置であって、前記パケット転送装置において、予め定められた分割情報によりパケットが複数の区分に分類され、区分毎にパケットに関する所定の情報が取得され、前記異常検知装置は、前記パケット転送装置から、前記区分毎の前記所定の情報を取得し、当該所定の情報から特徴量を生成する特徴量生成手段と、前記特徴量生成手段により生成された特徴量に基づいて生成された検知モデルを用いて異常通信を検知する検知手段とを備えることを特徴とする異常検知装置が提供される。
【００９３】
特徴量生成装置４００は特徴量生成手段の例であり、検知用演算装置５００は検知手段の例である。
【００９４】
一例として、前記分割情報としてパケットのヘッダ情報が使用され、前記所定の情報として、ＴＣＰの特定のフラグを有するパケットの数が使用される。
【００９５】
異常検知装置は、前記所定の情報を取得するために使用されるアクセスコントロールリストを前記パケット転送装置に設定する制御手段を更に備えることとしてもよい。異常検知用コントローラ装置２００は制御手段の例である。
【００９６】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９７】
１００  パケット転送装置
１１０  通信部
１２０  情報収集部
２００  異常検知用コントローラ装置
２１０、２２０  インターフェース
２３０  通信部
３００  異常検知用ストレージ装置
３１０、３２０、３３０  テーブル
３４０  情報管理部
３５０  通信部
４００  特徴量生成装置
４１０  情報管理部
４２０  特徴量演算部
４３０  取得情報テーブル記憶部
４４０  特徴量ベクトル生成部
４５０  通信部
５００  検知用演算装置
５１０  情報管理部
５２０  検知用演算部
５３０  検知モデル生成部
５４０  学習データのテーブル記憶部
５５０  学習パラメータのテーブル記憶部
５６０  通信部
６００  ＩＰネットワーク
７００  端末
８００  異常検知用装置群
【図１】
2019075745.tif 000003
【図２】
2019075745.tif 000004
【図３】
2019075745.tif 000005
【図４】
2019075745.tif 000006
【図５】
2019075745.tif 000007
【図６】
2019075745.tif 000008
【図７】
2019075745.tif 000009
【図８】
2019075745.tif 000010
【図９】
2019075745.tif 000011
【図１０】
2019075745.tif 000012
【図１１】
2019075745.tif 000013
【図１２】
2019075745.tif 000014
【図１３】
2019075745.tif 000015
【図１４】
2019075745.tif 000016
【図１５】
2019075745.tif 000017
【図１６】
2019075745.tif 000018
【図１７】
2019075745.tif 000019
【図１８】
2019075745.tif 000020
【図１９】
2019075745.tif 000021
【図２０】
2019075745.tif 000022
【図２１】
2019075745.tif 000023