(57)【要約】【課題】低レート攻撃を容易に検知して対処可能とする。【解決手段】特徴量算出部１５ｂが、パケットのヘッダ情報の特徴量を算出する。分類部１５ｃが、算出された特徴量を用いてパケットを正常または異常のいずれかに分類する。付与部１５ｄが、既知の攻撃ツールを用いて攻撃されたパケットのヘッダ情報に、該攻撃ツールのツール名を示すラベルを付与する。学習部１５ｅが、ラベルと、ラベルが付与されたパケットについて算出された特徴量とを教師データとして用いて、ラベルの付与を学習する。【選択図】図１
2020136888.tif 000002
【特許請求の範囲】
【請求項１】
パケットのヘッダ情報の特徴量を算出する特徴量算出部と、
算出された前記特徴量を用いて前記パケットを正常または異常のいずれかに分類する分類部と、
を備えることを特徴とする検知装置。
【請求項２】
前記特徴量算出部は、５ｔｕｐｌｅごとのパケット数と所定のヘッダフィールドの値の分布とを用いて特徴量を算出することを特徴とする請求項１に記載の検知装置。
【請求項３】
既知の攻撃ツールを用いて攻撃されたパケットのヘッダ情報に、該攻撃ツールのツール名を示すラベルを付与する付与部と、
前記ラベルと、該ラベルが付与されたパケットについて算出された前記特徴量とを教師データとして用いて、前記ラベルの付与を学習する学習部と、
をさらに備えることを特徴とする請求項１に記載の検知装置。
【請求項４】
前記攻撃ツールの攻撃種別と対処法とを対応付けした対処情報を記憶する記憶部と、
前記分類部によって異常と分類され、学習された前記学習部によって前記ラベルが付与されたパケットに対し、前記記憶部を参照し、該ラベルに対応する攻撃種別の対処法を選択する対処部と、
をさらに備えることを特徴とする請求項３に記載の検知装置。
【請求項５】
検知装置で実行される検知方法であって、
パケットのヘッダ情報の特徴量を算出する特徴量算出工程と、
算出された前記特徴量を用いて前記パケットを正常または異常のいずれかに分類する分類工程と、
を含んだことを特徴とする検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知装置および検知方法に関する。
【背景技術】
【０００２】
近年、ＨＴＴＰ  Ｆｌｏｏｄ、Ｓｌｏｗ  ＤｏＳ（Denial  Of  Service）等と呼ばれる、単位時間あたりのパケット数が少ない低レート攻撃の存在が知られている。また、このような低レート攻撃に対する対策技術が知られている。例えば、ｘＦｌｏｗを用いて検知した攻撃通信をセキュリティ装置に引き込んで対策を行う技術が知られている（非特許文献１参照）。また、ＷＡＦ（Web  Application  Firewall）等のセキュリティ装置をインライン接続して攻撃通信を検知して対策する技術が知られている（非特許文献２参照）。また、Ｗｅｂサーバ上で攻撃を検知して対策を行う技術が知られている（非特許文献３，４参照）。また、特定の種別の攻撃を検知する技術が知られている（特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１４７５５８号公報
【特許文献２】特開２０１８−２６７４７号公報
【非特許文献】
【０００４】
【非特許文献１】西塚要、“ISPにおけるDoS/DDoS攻撃の検知・対策技術”、[online]、2013年、NTTコミュニケーションズ株式会社、［２０１９年１月１５日検索]、インターネット＜URL:https://www.nic.ad.jp/ja/materials/iw/2013/proceedings/s2/s2-nishizuka.pdf＞
【非特許文献２】“Barracuda  Web  Application  Firewall”、[online]、ITmedia  Inc.、［２０１９年１月１５日検索]、インターネット＜URL:http://www.keyman.or.jp/nwsec/waf/product/30973＞
【非特許文献３】“Are  you  ready  for  slow  reading?”、[online]、Qualys  Inc.、［２０１９年１月１５日検索]、インターネット＜URL:https://blog.qualys.com/securitylabs/2012/01/05/slow-read＞
【非特許文献４】“ModSecurity  3.0”、[online]、Trustwave、［２０１９年１月１５日検索]、インターネット＜URL:https://www.modsecurity.org/＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、低レート攻撃の検知が困難な場合がある。例えば、非特許文献１に記載の技術は、通信のサンプリングを前提とする技術であるため、低レート攻撃に関する情報を取得できず、セキュリティ装置への引き込みのトリガがないという問題がある。また、非特許文献２に記載の技術は、セキュリティ装置のＧｂｐｓ単価が高く、通常通信を検知の対象とするとコストが高くなるという問題がある。また、非特許文献３，４に記載の技術では、通常通信のＱｏＳに影響があったりＷｅｂサーバへの負荷がかかったりするという問題がある。また、特許文献１，２に記載の技術では、検知できる攻撃の種別が限定され、攻撃に使われた攻撃ツールを判別できないという問題がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、低レート攻撃を容易に検知して対処可能とすること目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、パケットのヘッダ情報の特徴量を算出する特徴量算出部と、算出された前記特徴量を用いて前記パケットを正常または異常のいずれかに分類する分類部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、低レート攻撃を容易に検知して対処することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態に係る検知装置を含む検知システムの概要構成を例示する模式図である。
【図２】図２は、検知装置の処理概要を説明するための図である。
【図３】図３は、検知装置の処理を説明するための図である。
【図４】図４は、検知装置の処理を説明するための図である。
【図５】図５は、検知装置の処理を説明するための図である。
【図６】図６は、検知装置の処理を説明するための図である。
【図７】図７は、検知装置による検知処理手順を示すフローチャートである。
【図８】図８は、検知装置による検知処理手順を示すフローチャートである。
【図９】図９は、検知装置による検知処理手順を示すフローチャートである。
【図１０】図１０は、検知プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１１】
［検知システムの構成］
図１は、本実施形態に係る検知装置を含む検知システムの概略構成を例示する模式図である。図１に例示するように、検知システム１は、ルータ３と検知装置１０とを含んで構成される。ルータ３は、例えば、ＮＰ（Network  Processor）やＦＰＧＡ（Field  Programmable  Gate  Array）等で実現され、運用環境のルータ３ａと検証環境のルータ３ｂとを含む。運用環境のルータ３ａは、運用中のＷｅｂサーバ２に接続し、Ｗｅｂサーバ２とユーザとの間でパケットを転送する転送装置である。検証環境のルータ３ｂは、既知の攻撃ツール４を用いて攻撃されたパケットを検知装置１０に転送する転送装置である。
【００１２】
検知装置１０は、後述する検知処理により、運用環境のルータ３ａおよび検証環境のルータ３ｂから取得したパケットのＬ（Layer）３〜Ｌ４情報を用いた学習により、運用環境での攻撃と、その攻撃に使用された攻撃ツール４とを検知する。
【００１３】
ここで、図２は、検知装置１０の処理概要を説明するための図である。詳細は後述するが、検知装置１０は、運用環境のパケットの５ｔｕｐｌｅと所定のフィールド値等のＬ３〜Ｌ４情報を用いて特徴量を算出し、教師無ＭＬ（Machine  Learning、以下、学習と記す）を行って、パケットを正常または異常に分類する。
【００１４】
また、検知装置１０は、検証環境の既知の攻撃ツール４で攻撃されたパケットのＬ３〜Ｌ４情報を取得して、攻撃ツール４の攻撃種別とツール名とを示すラベルを付与し、これを教師データとして教師有学習を行って、ラベルの付与を学習する。
【００１５】
これにより、検知装置１０は、運用環境のパケットのうち、異常として分類したパケットに攻撃種別とツール名とを示すラベルを付与する。また、検知装置１０は、検知した攻撃の攻撃種別に応じた対処法を選択し、運用環境のルータ３ａに通知する。例えば、検知装置１０は、ルータ３ａに対し、フィルタ設定やＲＳＴ（Reset）パケットの送付を指示したりする。
【００１６】
［検知装置の構成］
図１の説明に戻る。検知装置１０は、パソコン等の汎用コンピュータで実現され、入力部１１、出力部１２、通信制御部１３、記憶部１４、および制御部１５を備える。
【００１７】
入力部１１は、キーボードやマウス等の入力デバイスによって実現され、操作者による入力操作に対応して、制御部１５に対して処理開始などの各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。
【００１８】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネット等の電気通信回線を介したＩｏＴゲートウェイ２等の外部の装置と制御部１５との通信を制御する。
【００１９】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１４には、検知装置１０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。例えば、記憶部１４には、後述する検知処理においてルータ３から取得したパケットのＬ３〜Ｌ４情報や、分類の閾値、学習結果のモデルのパラメータ、および対処情報１４ａ等が記憶される。なお、記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００２０】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等によって実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部１５は、図１に例示するように、取得部１５ａ、特徴量算出部１５ｂ、分類部１５ｃ、付与部１５ｄ、学習部１５ｅおよび対処部１５ｆとして機能する。なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。例えば、対処部１５ｆは、他の機能部とは異なる装置に実装されてもよい。また、制御部１５は、その他の機能部が含まれて構成されてもよい。
【００２１】
取得部１５ａは、ルータ３からパケットのヘッダ情報を取得する。例えば、取得部１５ａは、ルータ３を経由するパケットのＬ３〜Ｌ４情報を抽出する。
【００２２】
ここで、図３〜図６は、検知装置１０の処理を説明するための図である。まず、図３には、取得部１５ａの処理が例示されている。図３に例示するように、取得部１５ａは、ルータ３を経由するパケットのプロトコルスタック（Ｅｔｈｅｒ、ＩＰｖ４、ＴＣＰおよびペイロード）を検知装置１０に内蔵するパーサにロードする。そして、取得部１５ａは、全パケットの５ｔｕｐｌｅの値と所定のヘッダフィールドの値とを抽出し、記憶部１４の所定のテーブルにロードする。
【００２３】
なお、図３に例示するように、取得部１５ａは、ルータ３を経由するパケットの５ｔｕｐｌｅの値と所定のヘッダフィールドの値とを、ルータ３からのパケット入力（ingress）時に抽出してもよいし、ルータ３へのパケット出力（egress）時に抽出してもよい。
【００２４】
ここで、５ｔｕｐｌｅとは、送信元ＩＰアドレス（src_ip）、送信先ＩＰアドレス（dst_ip）、送信元ポート番号（src_port）、送信先ポート番号（dst_port）、プロトコル（protocol）である。また、所定のヘッダフィールドとは、ヘッダの着目するフィールドのことである。図３に示すヘッダフィールドｋｅｙとは、ヘッダの着目するフィールドを特定するフィールド名等を意味する。図３に例示するように、着目するヘッダフィールドは１つに限定されず、複数であってもよい。
【００２５】
特徴量算出部１５ｂは、パケットのヘッダ情報の特徴量を算出する。具体的には、特徴量算出部１５ｂは、５ｔｕｐｌｅごとのパケット数と所定のヘッダフィールドの値の分布とを用いて、５ｔｕｐｌｅごとの特徴量を算出する。また、分類部１５ｃは、算出された特徴量を用いてパケットを正常または異常のいずれかに分類する。
【００２６】
ここで、図４には、特徴量算出部１５ｂおよび分類部１５ｃの処理が例示されている。図４に例示するように、まず、特徴量算出部１５ｂは、運用環境のルータ３ａから取得部１５ａが取得したパケットのヘッダ情報を用いて特徴量を算出する。
【００２７】
具体的には、特徴量算出部１５ｂは、５ｔｕｐｌｅごとに、パケット数をカウントし、ヘッダフィールドごとに値の分布を作成する。また、特徴量算出部１５ｂは、所定時間ごとに、分布の平均値、分散、最大値あるいは最頻値等の代表値とパケット毎秒（ｐｐｓ）とを算出する。そして、特徴量算出部１５ｂは、各５ｔｕｐｌｅの各ヘッダフィールドの代表値とパケット毎秒とを用いて、５ｔｕｐｌｅごとの特徴量を算出する。この特徴量は、例えばベクトル形式で表される。
【００２８】
なお、特徴量算出部１５ｂは、特徴量を算出した後に、パケット数のカウンタと作成した分布とをクリアする。
【００２９】
分類部１５ｃは、特徴量算出部１５ｂが算出した５ｔｕｐｌｅごとの特徴量を用いて教師無学習を行って、５ｔｕｐｌｅごとの特徴量から算出されるスコアを正常または異常のいずれかに分類する。例えば、分類部１５ｃは、学習の結果、決定された分類の閾値を記憶部１４に記憶させ、以後の処理における分類の閾値として用いる。
【００３０】
図４には、異常と分類された場合が「攻撃５ｔｕｐｌｅ」として例示されている。分類部１５ｃは、異常と分類したパケットのヘッダ情報を、出力部１２あるいは通信制御部１３を介して外部の管理装置等に出力して、異常を通知してもよい。
【００３１】
図１の説明に戻る。付与部１５ｄは、既知の攻撃ツール４を用いて攻撃されたパケットのヘッダ情報に、該攻撃ツールのツール名を示すラベルを付与する。また、学習部１５ｅは、ラベルと、このラベルが付与されたパケットについて算出された特徴量とを教師データとして用いて、ラベルの付与を学習する。
【００３２】
ここで、図５には、付与部１５ｄ、特徴量算出部１５ｂおよび学習部１５ｅの処理が例示されている。図５に例示するように、まず、付与部１５ｄは、検証環境のルータ３ｂから取得部１５ａが取得した、既知の攻撃ツール４を用いて攻撃されたパケットのヘッダ情報に、攻撃ツール４の攻撃種別とツール名とを示すラベルを付与する。
【００３３】
なお、付与部１５ｄが付与するラベルは、必ずしも攻撃種別、ツール名の双方でなくてもよく、いずれか一方でもよい。例えば、攻撃ツール４のツール名から攻撃種別を一意に特定できる場合には、付与部１５ｄは、ツール名を示すラベルのみを付与してもよい。
【００３４】
また、特徴量算出部１５ｂは、学習時の処理として、このラベルが付与されたパケットのヘッダ情報を用いて特徴量を算出する。具体的には、特徴量算出部１５ｂは、パケット数をカウントし、ヘッダフィールドごとに値の分布を作成し、所定時間ごとに、代表値とパケット毎秒（ｐｐｓ）とを算出する。そして、特徴量算出部１５ｂは、各ヘッダフィールドの代表値とパケット毎秒とを用いて、このラベルが付与されたパケットの特徴量を算出する。
【００３５】
そして、学習部１５ｅは、ラベルと、このラベルが付与されたパケットのヘッダ情報から算出された特徴量とを教師データとして教師有学習を行って、パケットのヘッダ情報へのラベルの付与を学習する。例えば、学習部１５ｅは、パケットのヘッダ情報を用いて算出される特徴量とラベルとの関係を示すモデルのパラメータを決定し、記憶部１４に記憶させる。
【００３６】
なお、図５には、特徴量算出部１５ｂの推測時の処理として、分類部１５ｃによって異常と分類されたパケットのヘッダ情報を用いて特徴量を算出する処理が例示されている。この場合に、特徴量算出部１５ｂは、図４に示した例と同様に、５ｔｕｐｌｅごとに、パケット数をカウントし、ヘッダフィールドごとに値の分布を作成し、所定時間ごとに、分布の代表値とパケット毎秒（ｐｐｓ）とを算出する。そして、特徴量算出部１５ｂは、各攻撃５ｔｕｐｌｅの各ヘッダフィールドの代表値とパケット毎秒とを用いて、攻撃５ｔｕｐｌｅごとの特徴量を算出する。なお、図５に示す例は、図４に示した例とは、処理対象のパケットの５ｔｕｐｌｅが攻撃５ｔｕｐｌｅであることのみが異なっている。
【００３７】
図１の説明に戻る。対処部１５ｆは、分類部１５ｃによって異常と分類され、学習された学習部１５ｅによってラベルが付与されたパケットに対し、記憶部１４の対処情報１４ａを参照し、該ラベルに対応する攻撃種別の対処法を選択する。対処情報１４ａは、攻撃ツールの攻撃種別と対処法とを対応付けした情報である。
【００３８】
ここで、図６には、運用環境のパケットに対する処理が例示されている。運用環境において、まず、特徴量算出部１５ｂは、取得部１５ａが運用環境のルータ３ａから取得したパケットのヘッダ情報を用いて特徴量を算出する。なお、図６には、図４に示した処理と図５に示した推測時の処理とが区別されずに同一の処理として例示されている。
【００３９】
次に、分類部１５ｃが、特徴量算出部１５ｂが算出した５ｔｕｐｌｅごとの特徴量を用いて、５ｔｕｐｌｅごとの特徴量から算出されるスコアを正常または異常のいずれかに分類する。また、異常と分類されたパケットのヘッダ情報に対し、図５に例示したようにして学習された学習部１５ｅが、攻撃ツール４の攻撃種別とツール名とを示すラベルを付与する。この場合に、学習部１５ｅは、例えば、記憶部１４に記憶されているパラメータを適用したモデルを用いて、異常と分類されたパケットのヘッダ情報にラベルを付与する。
【００４０】
そして、攻撃ツール４の攻撃種別とツール名とを示すラベルが付与されたパケットについて、対処部１５ｆが、対処情報１４ａを参照し、ラベルに対応する攻撃種別の対処法を選択する。図６に例示するように、対処情報１４ａは、「http_get_flooding」、「slow_dos」等の攻撃種別と、「フィルタ設定」、「ＲＳＴパケット送付」等の対処法とが対応付けされた情報である。
【００４１】
対処部１５ｆは、例えば、ラベルが示す攻撃ツール４の攻撃種別が「http_get_flooding」である場合に、対処法として「フィルタ設定」を選択する。そして、対処部１５ｆは、選択した対処法をルータ３ａに通知する。これにより、運用環境のルータ３ａは、検知された攻撃に対する適切な対処を実施することが可能となる。
【００４２】
［検知処理］
図７〜図９は、検知装置１０による検知処理手順を示すフローチャートである。まず、図７には、運用環境における分類処理手順が例示されている。図７のフローチャートは、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
【００４３】
まず、取得部１５ａが、運用環境のルータ３ａからパケットのヘッダ情報を取得する（ステップＳ１）。例えば、取得部１５ａは、ルータ３ａを経由するパケットのＬ３〜Ｌ４情報を抽出する。
【００４４】
次に、特徴量算出部１５ｂが、パケットのヘッダ情報の特徴量を算出する（ステップＳ２）。具体的には、特徴量算出部１５ｂは、５ｔｕｐｌｅごとのパケット数と所定のヘッダフィールドの値の分布とを用いて、５ｔｕｐｌｅごとの特徴量を算出する。
【００４５】
次に、分類部１５ｃが、算出された特徴量を用いてパケットを正常または異常のいずれかに分類する（ステップＳ３）。具体的には、分類部１５ｃは、特徴量算出部１５ｂが算出した５ｔｕｐｌｅごとの特徴量から算出されるスコアを正常または異常のいずれかに分類する。分類部１５ｃは、例えば、学習の際に分類の閾値を決定し、以後の処理における分類の閾値として用いる。
【００４６】
分類部１５ｃは、異常と分類したパケットのヘッダ情報を、出力部１２あるいは通信制御部１３を介して外部の管理装置等に出力して異常を通知してもよい。これにより一連の処理が終了する。
【００４７】
次に、図８には、ラベル付与の学習処理手順が例示されている。図８のフローチャートは、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
【００４８】
まず、取得部１５ａが、検証環境のルータ３ｂから既知の攻撃ツール４を用いて攻撃されたパケットのヘッダ情報を取得する（ステップＳ１１）。例えば、取得部１５ａは、ルータ３ｂから転送されたパケットのＬ３〜Ｌ４情報を抽出する。
【００４９】
次に、付与部１５ｄが、攻撃されたパケットのヘッダ情報に、攻撃ツール４のツール名を示すラベルを付与する（ステップＳ１２）。
【００５０】
また、特徴量算出部１５ｂが、ラベルが付与されたパケットのヘッダ情報を用いて特徴量を算出する。そして、学習部１５ｅが、ラベルとラベルが付与されたパケットについて算出された特徴量とを教師データとして用いて、ラベルの付与を学習する（ステップＳ１３）。学習部１５ｅは、例えば、パケットのヘッダ情報を用いて算出される特徴量とラベルとの関係を示すモデルのパラメータを決定し、記憶部１４に記憶させる。
これにより、一連の処理が終了する。
【００５１】
次に、図９には、運用環境のパケットに対する処理手順が例示されている。図９のフローチャートは、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。  
【００５２】
まず、取得部１５ａが、運用環境のルータ３ａからパケットのヘッダ情報を取得する（ステップＳ２１）。例えば、取得部１５ａは、ルータ３ａを経由するパケットのＬ３〜Ｌ４情報を抽出する。
【００５３】
次に、特徴量算出部１５ｂが、パケットのヘッダ情報の特徴量を算出する（ステップＳ２２）。具体的には、特徴量算出部１５ｂは、５ｔｕｐｌｅごとのパケット数と所定のヘッダフィールドの値の分布とを用いて、５ｔｕｐｌｅごとの特徴量を算出する。
【００５４】
次に、分類部１５ｃが、算出された特徴量を用いてパケットを正常または異常のいずれかに分類する（ステップＳ２３）。具体的には、分類部１５ｃは、特徴量算出部１５ｂが算出した５ｔｕｐｌｅごとの特徴量から算出されるスコアを正常または異常のいずれかに分類する。
【００５５】
次に、学習された学習部１５ｅが、異常と分類されたパケットのヘッダ情報に対し、攻撃ツール４の攻撃種別とツール名とを示すラベルを付与する（ステップＳ２４）。この場合に、学習部１５ｅは、例えば、記憶部１４に記憶したパラメータを適用したモデルを用いて、異常と分類されたパケットのヘッダ情報にラベルを付与する。
【００５６】
そして、対処部１５ｆが、対処情報１４ａを参照し、ラベルに対応する攻撃種別の対処法を選択する（ステップＳ２５）。また、対処部１５ｆは、選択した対処法をルータ３ａに出力する。これにより、一連の処理が終了し、運用環境のルータ３ａは、検知された攻撃に対する適切な対処を実施することが可能となる。
【００５７】
以上、説明したように、本実施形態の検知装置１０において、特徴量算出部１５ｂが、パケットのヘッダ情報の特徴量を算出する。具体的には、特徴量算出部１５ｂは、５ｔｕｐｌｅごとのパケット数と所定のヘッダフィールドの値の分布とを用いて特徴量を算出する。また、分類部１５ｃが、算出された特徴量を用いてパケットを正常または異常のいずれかに分類する。
【００５８】
これにより、パケットのサンプリングもＷｅｂサーバ２側で処理も要することなく、容易かつ安価に低レート攻撃を検知することが可能となる。このように、検知装置１０によれば、低レート攻撃を容易に検知して対処することが可能となる。
【００５９】
また、付与部１５ｄが、既知の攻撃ツールを用いて攻撃されたパケットのヘッダ情報に、該攻撃ツールのツール名を示すラベルを付与する。また、学習部１５ｅが、ラベルと、ラベルが付与されたパケットについて算出された特徴量とを教師データとして用いて、ラベルの付与を学習する。これにより、多様な攻撃を検知して、攻撃ツールを推測することが可能となる。したがって、運用環境のルータ３ａが適切な対処を行って攻撃通信を遮断することが可能となる。
【００６０】
また、記憶部１４が、攻撃ツールの攻撃種別と対処法とを対応付けした対処情報１４ａを記憶する。また、対処部１５ｆが、分類部１５ｃによって異常と分類され、学習された学習部１５ｅによってラベルが付与されたパケットに対し、記憶部１４を参照し、該ラベルに対応する攻撃種別の対処法を選択する。これにより、運用環境のルータ３ａが容易に適切な対処を実行することが可能となる。
【００６１】
［プログラム］
上記実施形態に係る検知装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを検知することもできる。一実施形態として、検知装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知処理を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）などのスレート端末などがその範疇に含まれる。また、検知装置１０の機能を、クラウドサーバに実装してもよい。
【００６２】
図１０は、検知プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６３】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００６４】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００６５】
また、検知プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した検知装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００６６】
また、検知プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６７】
なお、検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６８】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００６９】
１  検知システム
２  Ｗｅｂサーバ
３、３ａ、３ｂ  ルータ
１０  検知装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１４ａ  対処情報
１５  制御部
１５ａ  取得部
１５ｂ  特徴量算出部
１５ｃ  分類部
１５ｄ  付与部
１５ｅ  学習部
１５ｆ  対処部
【図１】
2020136888.tif 000003
【図２】
2020136888.tif 000004
【図３】
2020136888.tif 000005
【図４】
2020136888.tif 000006
【図５】
2020136888.tif 000007
【図６】
2020136888.tif 000008
【図７】
2020136888.tif 000009
【図８】
2020136888.tif 000010
【図９】
2020136888.tif 000011
【図１０】
2020136888.tif 000012