(57)【要約】【課題】ネットワークトラヒックをフロー単位に集約し、フロー単位に数値化して異常度を評価するネットワーク異常検出システムにおいて、フロー保持のために利用するリソースの消費による負荷を低減すること。【解決手段】第一段階で一定間隔のスロット毎にネットワークトラヒックを観測すること、及びネットワーク異常の検出率の低下を伴わないように対象フロー数を低減する工夫を行うことにより、リソース消費による負荷を低減して異常の候補を検出する手段と、検出された異常の候補を第二段階でフロー単位に数値化して異常度を評価する手段により、段階的なネットワーク異常検出を行う。【選択図】図１
2006246325.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークトラヒックをフロー単位に集約し、フロー単位に数値化して異常度を評価するネットワーク異常検出システムにおいて、第一段階でリソース消費による負荷を低減して異常の候補を検出する手段と、検出された異常の候補を第二段階でフロー単位に数値化して異常度を評価する手段を備えたことを特徴とするネットワーク異常検出システム。
【請求項２】
前記第一段階は、一定間隔のスロット毎にネットワークトラヒックを観測すること、及びネットワーク異常の検出率の低下を伴わないように対象フロー数を低減する工夫を行うことにより、リソース消費による負荷を低減して異常の候補を検出する手段を備えたことを特徴とする請求項１に記載のネットワーク異常検出システム。
【請求項３】
前記第一段階の手段は、一定時間毎のトラヒック量と通信範囲などを数値化した特徴量セットを用いることにより、ネットワークトラヒックをタイムスロット単位に数値化して異常度を評価する手段を備えたことを特徴とする請求項２に記載のネットワーク異常検出システム。
【請求項４】
前記第二段階は、様々な特性を持つ異常を検出するために、第一段階で検出された異常の候補を、各々の特性に応じてフロー単位に数値化して異常度を評価する手段を備えたことを特徴とする請求項１に記載のネットワーク異常検出システム。
【請求項５】
前記第二段階の手段は、通信手順の異常や通信内容の異常などを検出するために定義された特徴量セットを用いて、第一段階で検出された異常の候補をフロー単位に数値化して異常度を評価する手段と、未知の不正トラヒックを検出するために、統計モデルを定義して統計量を用いてフローの状態判別を行うことにより異常度を評価する手段を備えたことを特徴とする請求項４に記載のネットワーク異常検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに対するセキュリティ侵害を行う不正アクセスを検出する技術に関するものである。
【背景技術】
【０００２】
近年、社会基盤としてインターネットが普及するに伴い不正アクセスによる被害が急増している。その被害を防ぐためには、管理者にネットワークの異常を早期かつ的確に警告し適切な対処をとることが重要である。異常検出を行う手段として、ネットワークトラヒックをフロー単位に集約し、フロー単位に数値化して異常度を評価するネットワーク異常検出システム（非特許文献１、非特許文献２）があり、具体的にどの通信が異常であるかといった詳細な異常検出を行うことができる。
【０００３】
【非特許文献１】工藤大助、和泉勇治、根元義章、「サービス別統計モデルを用いたネットワーク異常検出」、電子情報通信学会、2004年総合大会講演論文集B-7-12、2004年3月
【非特許文献２】佐藤陽平、和泉勇治、根元義章、「複数の検出モジュールの組み合わせによるネットワーク異常検出の高精度化」、電子情報通信学会、信学技報NS2004-144、pp.45-48、2004年10月
【０００４】
非特許文献１は、未知の不正トラヒックを検出するために、高精度異常検出方法としてトラヒックをフロー単位に集約し、サービス別の３種類の統計量を用いてフローの状態定義を行い異常度を数値化して評価する統計的異常検出方法を提案している。
【０００５】
非特許文献２は、不正アクセスがその特性により複数のグループに分類可能として、そのグループ毎の検出に特化した特徴量を用いた検出モジュールを組み合わせることによって、異常検出の高精度化を提案している。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら長時間に渡るフローが多数発生した場合に、大量のデータをフローが終了するまで観測し続けなければならないため、検出システム自体がオーバーフローを引き起こしてしまう危険性を有している。
【０００７】
本発明は、上記問題を解決するため、ネットワーク異常検出システムがフロー保持のために利用するリソースの消費による負荷を低減するための段階的な異常検出を実現することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１に記載のネットワーク異常検出システムは、ネットワークトラヒックをフロー単位に集約し、フロー単位に数値化して異常度を評価するネットワーク異常検出システムにおいて、第一段階でリソース消費による負荷を低減して異常の候補を検出する手段と、検出された異常の候補を第二段階でフロー単位に数値化して異常度を評価する手段を備えたことを特徴とする。ここでフロー単位とは、プロトコルと通信の両端末のIPアドレス及びポート番号の同一組によって形成される単位を示すものとする。
【０００９】
請求項２に記載の第一段階は、一定間隔のスロット毎にネットワークトラヒックを観測すること、及びネットワーク異常の検出率の低下を伴わないように対象フロー数を低減する工夫を行うことにより、リソース消費による負荷を低減して異常の候補を検出する手段を備えたことを特徴とする。
【００１０】
請求項３に記載の第一段階の手段は、一定時間毎のトラヒック量と通信範囲などを数値化した特徴量セットを用いることにより、ネットワークトラヒックをタイムスロット単位に数値化して異常度を評価する手段を備えたことを特徴とする。
【００１１】
請求項４に記載の第二段階は、様々な特性を持つ異常を検出するために、第一段階で検出された異常の候補を、各々の特性に応じてフロー単位に数値化して異常度を評価する手段を備えたことを特徴とする。ここで様々な特性を持つ異常とは、通信手順の異常、通信内容の異常などを示すものとする。
【００１２】
請求項５に記載の第二段階の手段は、通信手順の異常や通信内容の異常などを検出するために定義された特徴量セットを用いて、第一段階で検出された異常の候補をフロー単位に数値化して異常度を評価する手段と、未知の不正トラヒックを検出するために、統計モデルを定義して統計量を用いてフローの状態判別を行うことにより異常度を評価する手段を備えたことを特徴とする。
【発明の効果】
【００１３】
請求項１による発明によれば、第一段階で大量データの長時間保持を回避することによりリソース消費による負荷低減を実現すること、及びネットワーク異常の検出率の低下を伴わないように対象フロー数を低減する工夫を行うことにより異常検出の対象フロー数を低減すること、また第二段階で様々な特性を持つ異常を検出することができる。
【００１４】
請求項２による発明によれば、第一段階で大量データの長時間保持を回避することによりリソース消費による負荷を低減することができる。
【００１５】
請求項３による発明によれば、第一段階の手段はネットワーク異常の検出率の低下を伴わないように対象フロー数を低減する工夫を行うことにより異常検出の対象フロー数を低減することができる。
【００１６】
請求項４による発明によれば、第二段階は、第一段階で検出された異常の候補を各々の特性に応じてフロー単位に数値化して異常度を評価することにより、様々な特性を持つ異常を検出することができる。
【００１７】
請求項５による発明によれば、第二段階の手段は、第一段階で検出された異常の候補を各々の特性に応じてフロー単位に数値化して異常度を評価することにより、通信手順の異常や通信内容の異常、及び未知の不正トラヒックについて検出することができる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明のネットワーク異常検出システムを実施するための最良の形態（以下、単に「実施の形態」と称する）について説明する。なお、この実施の形態により本発明が限定されるものではない。
【００１９】
図1に、本発明のシステム全体の構成を示す。第一段階では、一定間隔のスロット毎にネットワークトラヒックを観測することにより、一定時間毎のトラヒック量と通信範囲を数値化した特徴量セットを用いて異常度を評価する手段としてタイムスロット型検出を用いる。
【００２０】
タイムスロット型検出では、一定時間毎のトラヒック量、通信範囲を数値化した特徴量セットを用いて異常を検出する。大量のパケットを送受信するFlood型のサービス拒否攻撃、特定のポートへの大規模なスキャン等、ネットワーク資源を浪費する不正アクセスや、通常では考えられない広範囲に渡る不正アクセスの検出に適する。特徴量セットは、以下に示す項目を一定時間毎にカウントし、34次元のベクトルでネットワーク状態を表現する。
（１）トラヒック全体について
・プロトコル毎（TCP、UDP、ICMP）パケット数（3種）
・TCPでの送受信バイト数
・TCPのポート番号の種類数
・TCPの各フラグの出現回数（5種）
・DNSパケット数（UDPポート53番のパケット数）
・フラグメントされたパケット数
・観測されたIPアドレス数（バイト毎にカウント、4種）
（２）TCPのポート21、22、23、25、80、110番について
・フラグの出現回数（3種）
【００２１】
図１の第二段階では、様々な特性を持つ異常を検出するために、各々の特性に応じてフロー単位に数値化して異常度を評価する手段を用いて、第一段階で異常の候補として検出されたスロットに含まれるフロー情報（検出された時刻、通信の両端末のIPアドレスとポート番号、等）受信を解析開始のトリガとして詳細な解析を行う。第二段階の手段として、フローペイロード型検出（非特許文献２）、フローカウント型検出（非特許文献２）、統計モデル型検出（非特許文献１）などがある。
【００２２】
フローペイロード型検出では、フローに属するパケットのペイロード（パケットのヘッダ部分を除いたデータ本体）に現れるパターンの傾向を数値化した特徴量セットを用いて送受信データの異常検出を行う。バッファオーバーフローを起こすためにペイロードに通常とは異なるコードを大量に挿入するワームやソフトウエアの脆弱性を利用したDoSの様に、ペイロードに異常なデータを含む不正アクセスの検出に適する。特徴量セットは、全てのTCPフローとポート20、21、23、25、80番各々のTCPフローを対象として、フローで送受信されるパケットのペイロードは1バイト単位に256種類のコードで表現されているものとして扱い、各コードの出現割合を表現する。
【００２３】
フローカウント型検出では、フロー毎のフラグの出現回数等を数値化した特徴量セットを用いてプロトコルの異常検出を行う。特徴量セットは、以下に示す項目をカウントし、TCPフロー19次元、UDPフロー7次元のベクトルでネットワーク状態を表現する。
（１）TCPフロー、UDPフローについて共通
・パケット数
・同一ポート番号のフロー出現回数の逆数
・フラグメントされたパケット数
（２）TCPフローについて（クライアントからの送信パケット）
・TCP各フラグの出現回数（８種）
・１つのみフラグが立っているパケットの出現回数
（３）UDPフローについて
・クライアントの送信、受信パケット数（２種）
・クライアントの送信、受信バイト数（２種）
【００２４】
統計モデル型検出では、サービス別の３種類の統計量により統計モデルを定義してフローの状態判別を行うことにより異常の検出を行う。以下の３種類の統計量によってフローの通常状態モデル構築と異常度数値化を行う。
【００２５】
（１）ホストに対するサービス要求確率
ある期間のLAN内に対する特定のサービス要求総数N、ホストXに対するそのサービスの要求回数AXを用い、その異常度Hを式(1)で算出する。
【数１】
2006246325.tif 000003
【００２６】
（２）フローの特徴量の確立分布
フローから抽出される13種の特徴量（フロー継続時間、パケット時間間隔平均、パケット時間間隔標準偏差、パケット時間間隔変動係数、総パケット数、受信パケット数、送信パケット数、総バイト数、受信バイト数、送信バイト数、パケット当たりの総バイト数、パケット当たりの受信バイト数、パケット当たりの送信バイト数）の値を対数変換したものの平均μi、分散σi2を用い、その確立分布を標準正規分布N(0,1)に規格化し、標準変換値Ziから特徴量全体の異常度Cを式(2)で算出する。
【数２】
2006246325.tif 000004
【００２７】
（３）ペイロード文字コードのヒストグラム
フローで送受信されるパケットペイロードの１バイトの値の出現確率を降順にした256クラスのヒストグラムを構築し、上位20クラスの適合度検定（Ｘ2検定）の検定量を全文字数Ｌで割った異常度Ｔを式(3)で算出する。なお、実測値Oi、理論値Eiとする。
【数３】
2006246325.tif 000005
【００２８】
フロー全体の異常度ASは式(4)で表現する。ASと閾値を比較し、異常状態dangerによる警告と保留状態suspiciousの大量発生による警告を発生させる段階的状態判別を行う。
【数４】
2006246325.tif 000006
【００２９】
次に、第一段階における異常検出率とフロー数低減の割合を検証した結果を図２に示す。検証に際しては、第一段階において観測間隔が６０秒のタイムスロット単位での観測を採用した。また検出を行う手段として、タイムスロット型検出を用いてペイロードの特徴量による検出を適用した。ペイロードを用いる手法の特徴量としては、ペイロードを１バイト単位に分割し、２５６種類のコードで表現されているものとして扱い、コード列の発生確率及び文字コードのヒストグラム、バイト数等を用いたた。なおデータセットには、非特許文献３を用いて検証実験を行った。
【００３０】
図２から、第一段階において検出率が約90%の時に、第二段階の解析対象となるフロー数をほぼ半減させることが可能であることが確認された。このテストデータは作為的に多数の不正アクセスを発生させているため、実ネットワークではさらに低減が可能であると考察できる。またフロー数を増加させている原因が広域スキャンやDoSトラヒックであり、これらは短時間の通信であるためフロー単位での検出におけるリソース消費は少ないと推測される。
【００３１】
以上から、段階的な異常検出を行うことにより、第一段階で大量データの長時間保持を回避することによりリソース消費による負荷低減を実現すること、及びネットワーク異常の検出率の低下を伴わないように対象フロー数を低減する工夫を行うことにより異常検出の対象フロー数を低減できることが確認された。
【００３２】
【非特許文献３】”MIT Lincoln Laboratory − DARPA Intrusion Detection Evaluation”、  http://www.ll.mit.edu/IST/ideval/index.html
【図面の簡単な説明】
【００３３】
【図１】本発明のフロー型ネットワーク異常検出装置のシステム構成図である。
【図２】第一段階における検出率とフロー数の割合
【図１】
2006246325.tif 000007
【図２】
2006246325.tif 000008