(57)【要約】      （修正有）【課題】ネットワークに対するセキュリティ侵害を行う不正アクセスを検出するネットワーク異常検出システムにおいて、不正アクセスを高精度に検出する。【解決手段】不正アクセスによって引き起こされる異常を、トラヒック量や通信範囲の異常、通信手順の異常、送受信データの異常の3種類として定義した複数グループに分類し、グループ毎の検出に特化した特徴量を用いた検出モジュールを備えたシステムを構成して不正アクセスの検出を行う。タイムスロット型、フロー・カウント型、フロー・ペイロード型の各グループの検出に特化した特徴量を用いた検出モジュールを備え、各検出モジュールの検出結果の論理和を最終的な出力結果とするシステムを構成し、いずれかの検出モジュールが異常と判断するとシステムがアラートを警告することにより不正アクセスの検出を行う。【選択図】図１
2006115129.tif 000002
【特許請求の範囲】
【請求項１】
不正アクセスの特性に基づいて複数グループに分類されたグループ毎の検出に特化した特微量を用いた複数の検出モジュール備え、この複数の検出モジュールを組み合わせることによってネットワーク異常検出を行うことを特徴とするネットワーク異常検出装置。
【請求項２】
前記複数グループを、トラヒック量，通信範囲の異常、通信手順の異常、通信内容の異常を不正アクセスとし、トラヒック量，通信範囲の異常を検出するためのタイムスロット型、プロトコルの異常を検出するためのフロー・カウント型、送受信データの異常を検出するためのフロー・ペイロード型の特微量セットとしてそれぞれ前記複数の検出モジュールにて異常検出を行うことを特徴とする請求項１に記載のネットワーク異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク異常検出装置に関するものである。
【背景技術】
【０００２】
【非特許文献１】Matthew V.Mahoney and Philip K.Chan,”Learning Non-stationary Models of Normal Network Traffic for Detecting Novel Attacks”,Proc,Eighth Intl.Conf.Knowledge Discovery and Data Mining,pp376-385,2002.
【非特許文献２】及川達也  和泉勇治、太田耕平、加藤寧、根元義章、“統計的クラスタリング手法によるネットワーク異常状態の検出”電子情報通信学会技術研究報告信学技報、ＮＳ２００２−１４３，ＮＳ２００２−８７，ＣＳ２００２−９８，ｐｐ８３−８８，Ｏｃｔ，２００２
【０００３】
近年、インターネットは重要な社会基盤となり、ＷＷＷやＥ-Ｍａｉｌ等の様々な形で多くの人々に利用されている。
その一方で、ネットワークを介して流行するコンピュータウイルスの蔓延、不正侵入等インターネットには多くの脅威が発生しており，ネットワークの安定した運用を行うために、セキュリティ技術が重要視されている。
この際、セキュリティを保ちつつネットワークを運用するために最も注意を払わなければならないのは、ネットワークに対するセキュリティ侵害を行う不正アクセスである。不正アクセスが行われた場合、非常に大きな損害が発生する可能性がある。そのため、発生する不正アクセスの被害を最小限にするために、不正アクセスを高精度に検出する必要性が高まっている。ネットワークを介した不正アクセスの検出を行うシステムとして、ネットワーク観測により得られる情報から検出を行う、ネットワークベースの侵入検知システム（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ，ＩＤＳ）が多数研究開発されている。
ここで、ＩＤＳで用いられている検出アルゴリズムは、大別すると不正検出と異常検出の２種類に分類することができる。
【０００４】
不正検出とは、あらかじめ不正アクセスを特定するパターンをデータベースとして保持し、その保持しているパターンと実際のネットワークから収集したパターンとを照合することによって不正アクセスを検出する手法である。
しかしながら、このような不正検出方法では、データベースに存在しない未知の不正アクセスを検出することができず、日々出現する新種や亜種の不正アクセスに対応することが困難であるという問題を生じていた。
これに対し、異常検出とは、ネットワークの通常状態をプロファイルとして定量的に定義し、その通常状態から逸脱したデータを異常であるとして判別を行う手法である。
しかしながら、このような異常検出方法では、原理上では未知の異常にも対応可能であるが、一般的に検出精度が低いという問題を生じていた。
【０００５】
ところで、不正アクセスは、被害者側ホストの停止、被害者側の情報の取得、被害者ホストの乗っ取り等を発生させるため、トラヒック量や各々の通信の手順及び送受信データ等に異常が現れることは周知である。
また、不正アクセスの検出手法として、パケット毎、ＴＣＰコネクション毎のＩＰアドレスやフラグ等の発生頻度から異常検出を行う手法（非特許文献１参照）や、一定時間毎のトラヒック量を用いて主成分の分析を行い、異常検出を行う手法（非特許文献２参照）等が報告されている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の手法では、トラヒック量に関する観測量（特微量）のみを用いるなど、異常として現れる一部分のみ観測しているため、検出可能な不正アクセスが限られてしまうという問題があった。
また、様々な特性を持つ異常を検出するために多数の特微量の種類を用いる手法も考えられるが、この場合には、ある特性の異常が発生した際、その異常を検出するために必要の無い特微量の悪影響により、発生した異常を適切に評価が行えず検出精度が低下してしまうという問題がある。
【０００７】
本発明は、上記問題を解決するため、不正アクセスの特性を反映した複数の特徴量を独立して扱う検出手法を提案する。不正アクセスにより生じる異常は、その特性に応じて異なる特微量に現れると考えられるため、それぞれの検出に特化した特微量を用いる複数のモジュールを組み合わせ検出することにより、各検出モジュールで対象とする不正アクセスを高精度に検出することができ、結果的に、それらの組み合わせにより全体として高精度に不正アクセスを検出することができるネットワーク異常検出装置を提供することを目的とする。
【０００８】
具体的には、これまでの検知技術では、「通常状態」を学習しておき、それに対して異常を検知するのが基本であったが、このような場合では「通常状態」を学習する際には、検知率が著しく低下してしまうことから、異常データが含まれていないということが前提であった。
【０００９】
これに対し、本発明のネットワーク異常検出装置を用いた場合、異常データを含む状態での学習を行っても検知率が下がらないという観点でネットワークベースの異常検出の高精度化を実現することができる。
【課題を解決するための手段】
【００１０】
その目的を達成するため、請求項１に記載のネットワーク異常検出装置は、不正アクセスの特性に基づいて複数グループに分類されたグループ毎の検出に特化した特微量を用いた複数の検出モジュール備え、この複数の検出モジュールを組み合わせることによってネットワーク異常検出を行うことを特徴とする。
【００１１】
請求項２に記載のネットワーク異常検出装置は、前記複数グループを、トラヒック量，通信範囲の異常、通信手順の異常、通信内容の異常を不正アクセスとし、トラヒック量，通信範囲の異常を検出するためのタイムスロット型、プロトコルの異常を検出するためのフロー・カウント型、送受信データの異常を検出するためのフロー・ペイロード型の特微量セットとしてそれぞれ前記複数の検出モジュールにて異常検出を行うことを特徴とする。
【発明の効果】
【００１２】
本発明のネットワーク異常検出装置によれば、不正アクセスはその特性に応じた特定の特徴量の変化として現れることに着目し、特性の異なる不正アクセスに対応する特徴量の組を用いる複数のモジュ―ルを用い、それらの検出モジュールを組み合わせてネットワーク異常検出をすることにより、ネットワークベースの異常検出の高精度化を実現することができる。
【発明を実施するための最良の形態】
【００１３】
次に、本発明のネットワーク異常検出装置を図面に基づいて説明する。
【００１４】
一般的に評価されている不正アクセスの内容は、以下の様になっている。
・ＤｏＳ（被害者側ホストの停止）
―  大量トラヒック生成、異常なデータの送受信
・Ｐｒｏｂｅ（相手側の調査)
―  広範囲への通信試行、異常な通信手順での情報取得
Ｒｅｍｏｔｅ  ｔo  Ｌｏｃａｌ（Ｒ2Ｌ），User  to  Ｒｏｏｔ（Ｕ2Ｒ）
【００１５】
(許可されない権限の取得)
―  異常なデータの送受信
上記の分類を不正アクセスによって引き起こされる異常に着目して再度分類したものを以下に示す。
トラヒック量、通信範囲の異常（ＤｏＳ, Ｐｒｏｂｅ）
通信手順の異常 （Ｐｒｏｂｅ）
・通信内容の異常（ＤｏＳ, Ｒ2Ｌ，Ｕ2Ｒ）
そこで、提案するＩＤＳでは上記3種の異常の現れる部分に対応させた、複数の特微量をまとめた特徴量セットを作成する。それぞれトラヒック量、通信範囲の異常を検出するためのタイムスロット型、プロトコルの異常を検出するためのフロー・カウント型、送受信データの異常を検出するためのフロー・ぺイロード型の特微量セットを提案する。これにより、不正アクセスの大部分に対応する。
【００１６】
ここで、観測単位の一つとして、下記の条件でパケットを集約したものをフローと定義する。
・以下の３要素が同一
―  プロトコル
―  送信元ＩＰアドレス、ポート番号
―  宛先ＩＰアドレス、ポート番号
・ フラグピットによるフローの開始、終了の決定（ＴＣＰ)
タイムアウトＴu  による終了の決定（ＵＤＰ）
ＵＤＰトラヒックでは開始、終了が厳密に規定されていないため、フローの終了をタイムアウトＴu  の設定により決定する。フローの最初のパケットを送信したホストをクライアントとし、もう一方をサーバーとする。
【００１７】
タイムスロット型ではタイムスロットi毎に、フローカウント型とフロー・ペイロード型ではフローi毎に、ネットワーク状態Ｘｉを（式１）のように、κ次元ベクトルで表す。
Ｘｉ  ＝（xi1 , xi2 ，xi3  ．．．xiκ）  ・・・・（式１）
【００１８】
（タイムスロット型）
タイムスロット型は、一定時間毎のトラヒック量、通信範囲を数値化した特徴量セットである。タイムスロット型特長量は、大量のパケットを送受信するＦｌｏｏｄ型のサービス拒否攻撃、特定のポートへの大規模なスキャン等、ネットワークの資源を浪費する不正アクセスや、通常では考えられない広範囲に渡る不正アクセスの検出に適する、タイムスロット型では以下に示す項目を一定時間Ｔｔ  毎にカウントし、34次元のベクトルでネットワーク状態を表現する。
・ トラヒック全体について
―プロトコル毎(ＴＣＰ，ＵＤＰ，ＩＣＭＰ)パケット数（3種）
―ＴＣＰでの送受信バイト数
―ＴＣＰのポート番号の種類数
―ＴＣＰの各フラグの出現回数（5種)
―ＤＮＳパケット数（ＵＤＰポート53番のパケット数)
―フラグメントされたパケット数
―観測されたＩＰアドレス数（バイト毎にカウント、4種)
・ＴＣＰのポート21、22、23、25、80、110番について
―フラグの出現回数（3種）
【００１９】
（フロー・カウント型）
フロー・カウント型では、フロー毎のフラグの出現回数等を数値化することによりプロトコル異常を表す。そのため、複数のフラグのパターンを試行し、相手側のホストの情報を得るためのスキャン、通常使用されないバックドアが用いるポートに対するアクセス等、含まれるフラグに異常があるフローや通常ではアクセスされないポートに対するアクセスが発生する不正アクセスの検出に適する。ＴＣＰ、ＵＤＰフローのカウント項目を以下に示す。ＴＣＰフロー19次元、ＵＤＰフロー7次元のベクトルでネットワーク状態を表現する。
・ＴＣＰフロー、ＵＤＰフローについて共通
― パケット数
― 同―ポート番号のフロー出現回数の逆数
― フラグメントされたパケット数
・ＴＣＰフローについて(クライアントからの送信パケット)
― ＴＣＰ各フラグの出現回数（8種）
― 一つのみフラグが立っているパケットの出現回数（8種)
・ＵＤＰフローについて
― クライアントの送信、受信パケット数（2種）
― クライアントの送信、受信バイト数（2種）
【００２０】
同一ポート番号のフロー出現回数は多くなればなるほど正常なフローであると考えられるため、出現回数の逆数を特徴量とし、出現回数が増加する程出現回数の変化に対する特徴量の値の変化を抑える。ＮＥＴＡＤの様にＩＰアドレスの出現頻度を用いて検出することも可能だが、ＩＰアドレスはプロトコルに依存せずに決定され、また、通常のアクセス（Ｗｅｂ閲覧等）を行った後に不正アクセスを行うなど、検出を回避する方法が存在するため、提案手法ではポート番号のみを考慮する。
ＴＣＰフローでクライアントからサーバ方向へのパケットにのみ着目するのは、スキャン等に対するサーバ側のクライアントへの応答のばらつきを無視するためである。
【００２１】
（フロー・ペイロード型）
フロー・ペイロード型では、フローに属するパケットのペイロードに現れるパターンの傾向を数値化し送受信データの異常を表す。そのため、バッファオーバーフローを起こすためにペイロードに通常とは異なるコードを大量に挿入するワームやソフトウェアの脆弱性を利用したＤｏＳの様に、ペイロードに異常なデータを含む不正アクセスの検出に適する。
【００２２】
全てのＴＣＰフローとポート20、21、23、25、80番各々のＴＣＰフローを対象として、フローで送受信されるパケットのペイロードは1バイトずつ256種類のコードで表されているとみなし、各コードの出現割合を特微量とする。また、クライアントが送信するコンテンツ要求命令とサーバが送信するコンテンツのペイロードを分けて考えるために、クライアントからサーバへの通信とサーバからクライアントへの通信で別々にコードの出現割合を算出する。
次に、複数のモジュールを用いた不正アクセス検出を説明する。
ここでは、上述した定義でそれぞれの特微量セットを使用する不正アクセス検出モジュールの結果を統合し、不正アクセス検出を行う。
【００２３】
図１は、検出システム全体の構成を示す。本検出システムではこれらのモジュ―ルの検出結果の論理和を最終的な出力結果とする。つまり、いずれかのモジュールが異常と判断したら、システムはアラートを発生する。
この際、プロトコル間の相関を考慮し、異常検出を行う非特許文献２で開示された手法を不正アクセス検出手法としてそれぞれのモジュールで用いる。この手法では、通常のネットワーク状態の変動を相関として考慮した不正アクセスの検出が可能となる。
【００２４】
非特許文献２に開示の手法では、主成分の分析を行い、第一主成分軸を求める。この第一主成分軸はデータの分布に沿った軸となり、トラヒックの特性を表す。そこで、データの主成分軸からの距離（投影距離)をそのデータの異常らしさ（異常度）と定義する。そして、閾値以上の異常度を示すデータをトラヒックの通常の特性から外れたデータと判断し、不正アクセスとして検出する。また、学習用データからそのトラヒックの特性を表す第一主成分軸を求めることをモジュールの学習とする。
【００２５】
フロー・カウント型のモジュールでは非特許文献２に開示された手法に加え、フロー・カウント型がスキャンを検出するための特微量であることを考慮し、フローのクライアント、サーバＩＰアドレスと観測時間を基に異常度の加算とアラートの抑制を行う。この操作は算出順に全ての異常度で行う。
【００２６】
あるフロー(ｆa)から算出した異常度(ａａ)を基準とした時の異常度の加算とアラートの抑制の手順を図２に示す。まず、フローの両端のＩＰアドレスがｆa と同一で、ｆa の終了時点を基準としたフロー有効期間（Ｔf）内の最新Ｎ  フローの集合（ＦＡＤＤ  ）を求める。次にＦＡＤＤの全フローの異常度とｆa の異常度の総和ａａを求め、アラート発生の判断を行う。この時アラートが発生した場合、両端のＩＰアドレスがｆa と同一でｆa の終了時点からＴf  内のフローは、同一ＩＰアドレスに対するスキャンであると考えアラートを抑制する。
【００２７】
スキャンは異常なフラグの組合せを持った複数の異常なフローを生成するため、それらのフローから算出される異常度を加算することにより、スキャンに関連するフローの異常度を高くできる。また、アラートの抑制により、一回のスキャンから複数回アラートが発生することを回避できる。
【００２８】
このような構成のネットワーク異常検出装置を用いて検出性能を評価した結果を以下に示す。
尚、評価実験では、不正アクセスについて下記のデータセットを用いた。
・ 不正アクセスが行われた時刻
・ 攻撃側ホストのＩＰアドレス及びポート番号
・ 被害者側ホストのＩＰアドレス及びポート番号
・ 不正アクセスの種類
このデータセットでは、一週間（５日間）単位で、不正アクセスの存在するデータと存在しないことが保証されているデータとがそれぞれ与えられている。不正アクセスの存在しないweek1,3で学習を行い、不正アクセスを含むweek4,5に対して検出を行う場合と、week4,5を用いた異常トラヒックを含むデータで学習し、検出を行う場合の結果を示し、他手法と比較する。
【００２９】
実験を行った際のパラメータ設定は、以下の通りである。
・ 許容検出数：10個/日
・ タイムスロット型の1スロットの時間間隔Ｔ：60秒
・ ＵＤＰのフロー生成時のタイムアウトＴ：600秒
・ フローの有効期間: Ｔf：600秒
・ フローの集合ＦＡＤＤ  の最大フロー数Ｎ：10フロー
学習データの特微量は平均０、標準偏差1となるように正規化を行った。  week1,3を学習する場合はweek1,3を―括で学習し、week4,5に対して検出を行った。Week4,5を学習する場合は、1日毎にデータを学習し、学習に用いた同一のデータに対して検出を行った。全体の誤検出数が100個以内になるように、投影距離の閾値をモジュール毎、日毎に予備実験より決定した。
【００３０】
本発明の検出方法と既存の手法とを比較した結果、本発明のシステムでweek1,3で学習を行い、week4,5に対して検出を行った結果と、既存のシステムでの検出結果との比較を図３に示す。
【００３１】
本発明の手法は不正アクセスを学習せずに不正アクセスの検出を行うことにより、全ての不正アクセスを未知なものとして検出しているが、検出数、検出率ともに既存の手法より優位な結果を示している。
【００３２】
次に、week4,5のみを用いて学習、検出を行った場合の結果を図４に示す。多くの異常検出方式ＩＤＳでは通常状態を定義する際、不正アクセスを含まないデータを用いているが、現実的には不正アクセスを含まないデータを得るのは困難で、学習用データへの不正アクセスの混入が発生すると考えられ、そのため、不正アクセス検出能力が低下する可能性がある。そこで、この実験により、より実ネットワークでの運用を考慮した条件での性能を評価できる。図４より、正常なデータのみで学習を行い検出を行う場合に最高性能を示したＮＥＴＡＤの検出数、検出率は大幅に低下しているが、提案手法ではほぼ低下せず、高精度な検出を行えていることがわかる。
【００３３】
以上より、提案手法は通常状態の学習用データとして正常なデータのみが得られた時において高精度な検出が行えた。また、より実ネットワークでの運用に近い環境である、学習用データに不正アクセスが混在している場合においても性能が低下せず高精度な検出が可能であることが確認できた。
【図面の簡単な説明】
【００３４】
【図１】本発明のネットワーク異常検出装置のシステム構成図である。
【図２】本発明のネットワーク異常検出装置を示し、異常度の加算とアラートの抑制との関係の説明図である。
【図３】本発明のネットワーク異常検出装置を示し、検出性能評価結果の図表である。
【図４】本発明のネットワーク異常検出装置を示し、検出性能評価結果の図表である。
【図１】
2006115129.tif 000003
【図２】
2006115129.tif 000004
【図３】
2006115129.tif 000005
【図４】
2006115129.tif 000006
【手続補正書】
【提出日】平成17年4月26日(2005.4.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークに対するセキュリティ侵害を行う不正アクセスを検出するネットワーク異常検出システムにおいて、不正アクセスがその特性に応じた特定の特徴量の変化として現れることに着目して不正アクセスによって引き起こされる異常を複数グループに分類し、グループ毎の検出に特化した特徴量を用いた検出モジュールを備えたシステムを構成して、不正アクセスの検出を行うことを特徴とするネットワーク異常検出システム。
【請求項２】
前記複数グループを、トラヒック量や通信範囲の異常、通信手順の異常、送受信データの異常の3種類として定義すると共に、各グループの検出に特化した特徴量として、トラヒック量や通信範囲の異常を検出するためのタイムスロット型、通信手順の異常を検出するためのフロー・カウント型、送受信データの異常を検出するためのフロー・ペイロード型の特徴量を用いた検出モジュールを備えたシステムを構成して、不正アクセスの検出を行うことを特徴とする請求項１に記載のネットワーク異常検出システム。
【請求項３】
前記検出モジュールは、タイムスロット型、フロー・カウント型、フロー・ペイロード型の特徴量を用いた検出モジュールを組み合わせて、各検出モジュールの検出結果の論理和を最終的な出力結果とするシステムを構成し、いずれかの検出モジュールが異常と判断するとシステムがアラートを警告することにより不正アクセスの検出を行う手段と、ネットワークの通常状態を定量的に定義し、統計的手法を用いて、その通常状態から逸脱したデータを異常であるとして判別することにより不正アクセスの検出を行う手段を備えたことを特徴とする請求項２に記載のネットワーク異常検出システム。
【請求項４】
前記タイムスロット型は、トラヒック量や通信範囲の異常を検出するために、一定時間毎のトラヒック量と通信範囲を数値化した特徴量を用いた検出モジュールが、予め設定された閾値以上の異常度を示すデータを不正アクセスとして検出することを特徴とする請求項２または請求項３に記載のネットワーク異常検出システム。
【請求項５】
前記フロー・カウント型は、通信手順の異常を検出するために、フロー毎のフラグの出現回数などを数値化した特徴量を用いた検出モジュールが、予め設定された閾値以上の異常度を示すデータを不正アクセスとして検出することを特徴とする請求項２または請求項３に記載のネットワーク異常検出システム。
【請求項６】
前記フロー・ペイロード型は、送受信データの異常を検出するために、フローに属するパケットのペイロードに現れるパターンの傾向を数値化した特徴量を用いた検出モジュールが、予め設定された閾値以上の異常度を示すデータを不正アクセスとして検出することを特徴とする請求項２または請求項３に記載のネットワーク異常検出システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに対するセキュリティ侵害を行う不正アクセスを検出する技術に関するものである。
【背景技術】
【０００２】
近年、インターネットは重要な社会基盤となり、WWWやE-Mail等の様々な形で多くの人々に利用されている。その一方で、ネットワークを介して流行するコンピュータウイルスの蔓延、不正侵入等インターネットには多くの脅威が発生しており，ネットワークの安定した運用を行うために、セキュリティ技術が重要視されている。この際、セキュリティを保ちつつネットワークを運用するために最も注意を払わなければならないのは、ネットワークに対するセキュリティ侵害を行う不正アクセスである。不正アクセスが行われた場合、非常に大きな損害が発生する可能性がある。そのため、発生する不正アクセスの被害を最小限にするために、不正アクセスを高精度に検出する必要性が高まっている。ネットワークを介した不正アクセスの検出を行うシステムとして、ネットワーク観測により得られる情報から検出を行う、ネットワークベースの侵入検知システム（Intrusion Detection System，IDS）が多数研究開発されている。IDSで用いられている検出アルゴリズムは、大別すると不正検出と異常検出の２種類に分類（非特許文献１）することができる。
【０００３】
不正検出とは、あらかじめ不正アクセスを特定するパターンをデータベースとして保持し、その保持しているパターンと実際のネットワークから収集したパターンとを照合することによって不正アクセスを検出する手法である。しかしこの不正検出方法では、データベースに存在しない未知の不正アクセスを検出することができず、日々出現する新種や亜種の不正アクセスに対応することが困難であるという問題がある。
【０００４】
一方、異常検出とは、ネットワークの通常状態をプロファイルとして定量的に定義し、その通常状態から逸脱したデータを異常であるとして判別を行う手法である。しかしこの異常検出方法では、原理上では未知の異常にも対応可能であるが、一般的に検出精度が低いという問題がある。
【０００５】
ところで不正アクセスは、被害者側ホストの停止、被害者側の情報の取得、被害者ホ
ストの乗っ取り等を発生させるため、トラヒック量や各々の通信の手順及び送受信データ
等に異常が現れる。不正アクセスの検出手法として、パケット毎、TCPコネクション毎のIPアドレスやフラグ等の発生頻度から異常検出を行う手法（非特許文献２）や、一定時間毎のトラヒック量を用いて主成分分析を行い、異常検出を行う手法（非特許文献３）等が報告されている。
【０００６】
【非特許文献１】“未知ウイルス検出技術に関する調査”調査報告書、IPA、2004年4月、http://www.ipa.go.jp/security/fy15/reports/uvd/documents/uvd_report.pdf
【非特許文献２】Matthew V.Mahoney and Philip K.Chan,”Learning Non-stationary Models of Normal Network Traffic for Detecting Novel Attacks”,Proc,Eighth Intl.Conf.Knowledge Discovery and Data Mining,pp376-385,2002.
【非特許文献３】及川達也、和泉勇治、太田耕平、加藤寧、根元義章、“統計的クラスタリング手法によるネットワーク異常状態の検出”、電子情報通信学会技術研究報告信学技報、NS2002-143，NS2002-87，CS2002-98，pp83-88，Oct，2002
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の手法では、トラヒック量に関する観測量（特微量）のみを用いるなど、異常として現れる一部分のみ観測しているため、検出可能な不正アクセスが限られてしまうという問題がある。また、様々な特性を持つ異常を検出するために多数の特微量の種類を用いる手法も考えられるが、ある特性の異常が発生した際に、その異常を検出するために必要の無い特微量の悪影響により、発生した異常を適切に評価が行えず検出精度が低下してしまうという問題がある。
【０００８】
本発明は、上記問題を解決するため、不正アクセスの特性を反映した複数の特徴量を独立して扱う検出手法を提案する。不正アクセスにより生じる異常は、その特性に応じて異なる特微量に現れると考えられるため、それぞれの検出に特化した特微量を用いる複数のモジュールを組み合わせ検出することにより、各検出モジュールで対象とする不正アクセスを高精度に検出することができ、結果的に、それらの組み合わせにより全体として高精度に不正アクセスを検出することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１に記載のネットワーク異常検出システムは、不正アクセスがその特性に応じた特定の特徴量の変化として現れることに着目して不正アクセスの特性に基づいて不正アクセスを複数グループに分類し、グループ毎の検出に特化した特徴量を用いた検出モジュールを備えたシステムを構成して、不正アクセスの検出を行うことを特徴とする。
【００１０】
請求項２に記載の複数グループを、トラヒック量や通信範囲の異常、通信手順の異常、送受信データの異常の3種類として定義すると共に、各グループの検出に特化した特徴量として、トラヒック量や通信範囲の異常を検出するためのタイムスロット型、通信手順の異常を検出するためのフロー・カウント型、送受信データの異常を検出するためのフロー・ペイロード型の特徴量を用いた検出モジュールを備えたシステムを構成して、不正アクセスの検出を行うことを特徴とする。
【００１１】
請求項３に記載の検出モジュールは、タイムスロット型、フロー・カウント型、フロー・ペイロード型の特徴量を用いた検出モジュールを組み合わせて、各検出モジュールの検出結果の論理和を最終的な出力結果とするシステムを構成し、いずれかの検出モジュールが異常と判断するとシステムがアラートを警告することにより不正アクセスの検出を行う手段と、ネットワークの通常状態を定量的に定義し、統計的手法を用いて、その通常状態から逸脱したデータを異常であるとして判別することにより不正アクセスの検出を行う手段を備えたことを特徴とする。ここで統計的手法とは、主成分分析によるクラスタリング手法（非特許文献３）を用いる。この手法では、通常のネットワーク状態の変動を相関として考慮し、主成分分析により第一主成分軸を求めると、この第一主成分軸がデータ分布に沿った軸となりトラヒック特性を表すことから、データの主成分軸からの距離（投影距離）をそのデータの異常らしさ（異常度）と定義し、予め設定された閾値以上の異常度を示すデータを不正アクセスとして検出する。
【００１２】
請求項４に記載のタイムスロット型は、トラヒック量や通信範囲の異常を検出するために、一定時間毎のトラヒック量と通信範囲を数値化した特徴量を用いた検出モジュールが、予め設定された閾値以上の異常度を示すデータを不正アクセスとして検出することを特徴とする。ここでトラヒック量や通信範囲の異常とは、大量のパケットを送受信するFlood型のサービス拒否攻撃、特定のポートへの大規模なスキャン等、ネットワーク資源を浪費する不正アクセスや、通常では考えられない広範囲に渡る不正アクセス等により引き起こされるものである。
【００１３】
請求項５に記載のフロー・カウント型は、通信手順の異常を検出するために、フロー毎のフラグの出現回数などを数値化した特徴量を用いた検出モジュールが、予め設定された閾値以上の異常度を示すデータを不正アクセスとして検出することを特徴とする。ここでフローとは、プロトコルと通信の両端末のIPアドレス及びポート番号の同一組によって形成される単位を示すものとする。また通信手順の異常とは、複数のフラグのパターンを試行することにより相手側のホストの情報を得るためのスキャン、通常ではアクセスされないポートに対する不正アクセス等により引き起こされるものである。
【００１４】
請求項６に記載のフロー・ペイロード型は、送受信データの異常を検出するために、フローに属するパケットのペイロード（パケットのヘッダ部分を除いたデータ本体）に現れるパターンの傾向を数値化した特徴量を用いた検出モジュールが、予め設定された閾値以上の異常度を示すデータを不正アクセスとして検出することを特徴とする。ここでフローとは、プロトコルと通信の両端末のIPアドレス及びポート番号の同一組によって形成される単位を示すものとする。また送受信データの異常とは、バッファオーバーフローを起こすためにペイロードに通常とは異なるコードを大量に挿入するワームや、ソフトウエアの脆弱性を利用したDoS攻撃等の不正アクセスにより引き起こされるものである。
【発明の効果】
【００１５】
請求項１による発明によれば、未知の不正アクセスを含めて様々な特性を持つ不正アクセスを検出することができる。さらに検出性能について検証実験により既存の手法と比較評価した結果、検出数および検出率ともに既存手法よりも優位であることが確認された。
【００１６】
請求項２による発明によれば、不正アクセスによって引き起こされる異常には「トラヒック量、通信範囲の異常」、「通信手順の異常」、「通信内容の異常」に分類され、各々の検出に特化した特徴量を用いて、様々な特性を持つ不正アクセスを検出することができる。
【００１７】
請求項３による発明によれば、「トラヒック量、通信範囲の異常」、「通信手順の異常」、「通信内容の異常」に対して各々の検出に特化した特徴量を用いた検出モジュールを備えて、各検出モジュールの検出結果の論理和を最終出力結果とすることにより、様々な特性を持つ不正アクセスを検出することができる。またネットワークの通常状態を定量的に定義する際に不正アクセスの混入が発生すると、既存の手法では不正アクセスの検出率が大幅に低下するが、本発明のシステムでは検出率が殆ど低下しないという利点がある。
【００１８】
請求項４による発明によれば、「トラヒック量、通信範囲の異常」の検出に特化した特徴量を用いて、大量のパケットを送受信するFlood型のサービス拒否攻撃、特定のポートへの大規模なスキャン等、ネットワーク資源を浪費する不正アクセスや、通常では考えられない広範囲に渡る不正アクセス等を検出することができる。
【００１９】
請求項５による発明によれば、「通信手順の異常」の検出に特化した特徴量を用いて、複数のフラグのパターンを試行することにより相手側のホストの情報を得るためのスキャン、通常ではアクセスされないポートに対する不正アクセス等を検出することができる。
【００２０】
請求項６による発明によれば、「通信内容の異常」の検出に特化した特徴量を用いて、バッファオーバーフローを起こすためにペイロードに通常とは異なるコードを大量に挿入するワームやソフトウエアの脆弱性を利用したDoS攻撃等の不正アクセスを検出することができる。
【発明を実施するための最良の形態】
【００２１】
次に、本発明のネットワーク異常検出システムを実施するための最良の形態（以下、単に「実施の形態」と称する）について説明する。なお、この実施の形態により本発明が限定されるものではない。
【００２２】
本発明のネットワーク異常検出システムでは、インターネットと管理下ネットワーク間のトラヒックを全て観測できる環境を想定する。
不正アクセスは非特許文献５によると以下の様に分類され、その不正アクセスの内容は以下の様になっている。
・DoS（被害者側ホストの停止）
―  大量トラヒック生成、異常なデータの送受信
・Probe（相手側の調査)
―  広範囲への通信試行、異常な通信手順での情報取得
・Remote to Local（R2L），User to Root（U2R）  (許可されない権限の取得)
―  異常なデータの送受信
【００２３】
上記の分類を不正アクセスによって引き起こされる異常に着目して再度分類したものを以下に示す。
・トラヒック量、通信範囲の異常（DoS、Probe）
・通信手順の異常 （Probe）
・通信内容の異常（DoS、R2L、U2R）
そこで、本発明のシステムでは上記3種類の異常の現れる部分に対応させた、複数の特微量をまとめた特徴量セットを作成する。それぞれトラヒック量、通信範囲の異常を検出するためのタイムスロット型、プロトコルの異常を検出するためのフロー・カウント型、送受信データの異常を検出するためのフロー・ぺイロード型の特微量セットを定義する。
【００２４】
ここで、観測単位の一つとして、下記の条件でパケットを集約したものをフローと定義する。
・ 以下の３要素が同一
―  プロトコル
―  送信元ＩＰアドレス、ポート番号
―  宛先ＩＰアドレス、ポート番号
・ フラグピットによるフローの開始、終了の決定（TCP）
・ タイムアウトＴuによる終了の決定（UDP）
UDPトラヒックでは開始、終了が厳密に規定されていないため、フローの終了をタイムアウトＴuの設定により決定する。フローの最初のパケットを送信したホストをクライアントとし、もう一方をサーバーとする。
【００２５】
タイムスロット型ではタイムスロットi毎に、フローカウント型とフロー・ペイロード型ではフロー i毎に、ネットワーク状態 Ｘiを（式1）のように、k次元ベクトルで表す。
【数１】
2006115129.tif 000007
【００２６】
次に、タイムスロット型、フロー・カウント型、フロー・ぺイロード型の特微量セットの詳細について説明する。
タイムスロット型は、一定時間毎のトラヒック量、通信範囲を数値化した特徴量セットである。タイムスロット型の特徴量は、大量のパケットを送受信するFlood型のサービス拒否攻撃、特定のポートへの大規模なスキャン等、ネットワーク資源を浪費する不正アクセスや、通常では考えられない広範囲に渡る不正アクセスの検出に適する。タイムスロット型特徴量は、以下に示す項目を一定時間Ｔi毎にカウントし、34次元のベクトルでネットワーク状態を表現する。
・トラヒック全体について
―  プロトコル毎（TCP、UDP、ICMP）パケット数（3種）
―  TCPでの送受信バイト数
―  TCPのポート番号の種類数
―  TCPの各フラグの出現回数（5種）
―  DNSパケット数（UDPポート53番のパケット数）
―  フラグメントされたパケット数
―  観測されたIPアドレス数（バイト毎にカウント、4種）
・TCPのポート21、22、23、25、80、110番について
・フラグの出現回数（3種）
【００２７】
フロー・カウント型では、フロー毎のフラグの出現回数等を数値化した特徴量セットを用いてプロトコルの異常を表す。フロー・カウント型の特徴量は、複数のフラグのパターンを試行し、相手側のホストの情報を得るためのスキャン、通常使用されないバックドアが用いるポートに対するアクセス等、含まれるフラグに異常があるフローや通常ではアクセスされないポートに対するアクセスが発生する不正アクセスの検出に適する。TCP、UDPフローのカウント項目を以下に示す。TCPフロー19次元、UDPフロー7次元のベクトルでネットワーク状態を表現する。
・TCPフロー、UDPフローについて共通
―  パケット数
―  同一ポート番号のフロー出現回数の逆数
―  フラグメントされたパケット数
・TCPフローについて（クライアントからの送信パケット）
―  TCP各フラグの出現回数（8種）
―  １つのみフラグが立っているパケットの出現回数
・UDPフローについて
―  クライアントの送信、受信パケット数（2種）
―  クライアントの送信、受信バイト数（2種）
【００２８】
同一ポート番号のフロー出現回数は多くなればなるほど正常なフローであると考えられるため、出現回数の逆数を特徴量とし、出現回数が増加する程出現回数の変化に対する特徴量の値の変化を抑える。IPアドレスの出現頻度を用いて検出することも可能だが、IPアドレスはプロトコルに依存せずに決定され、また、通常のアクセス（Web閲覧等）を行った後に不正アクセスを行うなど、検出を回避する方法が存在するため、本発明のシステムではポート番号のみを考慮する。またTCPフローでクライアントからサーバ方向へのパケットにのみ着目するのは、スキャン等に対するサーバ側のクライアントへの応答のばらつきを無視するためである。
【００２９】
フロー・ペイロード型では、フローに属するパケットのペイロード（パケットのヘッダ部分を除いたデータ本体）に現れるパターンの傾向を数値化した特徴量セットを用いて送受信データの異常を表す。そのため、バッファオーバーフローを起こすためにペイロードに通常とは異なるコードを大量に挿入するワームやソフトウエアの脆弱性を利用したDoSの様に、ペイロードに異常なデータを含む不正アクセスの検出に適する。
【００３０】
全てのＴＣＰフローとポート20、21、23、25、80番各々のTCPフローを対象として、フローで送受信されるパケットのペイロードは1バイトずつ256種類のコードで表されているとみなし、各コードの出現割合を特微量とする。また、クライアントが送信するコンテンツ要求命令とサーバが送信するコンテンツのペイロードを分けて考えるために、クライアントからサーバへの通信とサーバからクライアントへの通信で別々にコードの出現割合を算出する。
【００３１】
次に、本発明のシステムの構成について説明する。
本発明のシステムでは、上記で定義したそれぞれの特微量セットを使用する不正アクセス検出モジュールの結果を統合し、不正アクセス検出を行う。図１に、検出システム全体の構成を示す。
【００３２】
本発明のシステムではこれらのモジュ―ルの検出結果の論理和を最終的な出力結果とする。つまり、いずれかのモジュールが異常と判断したら、システムはアラートを発生する。
この際、プロトコル間の相関を考慮し異常検出を行う手法（非特許文献３）を不正アクセス検出手法としてそれぞれのモジュールで用いる。この手法では、通常のネットワーク状態の変動を相関として考慮した不正アクセスの検出が可能となる。またこの手法では、主成分分析を行い、第一主成分軸を求める。この第一主成分軸はデータの分布に沿った軸となり、トラヒックの特性を表す。そこで、データの主成分軸からの距離（投影距離)をそのデータの異常らしさ（異常度）と定義する。そして、閾値以上の異常度を示すデータをトラヒックの通常の特性から外れたデータと判断し、不正アクセスとして検出する。また、学習用データからそのトラヒックの特性を表す第一主成分軸を求めることをモジュールの学習とする。
【００３３】
フロー・カウント型のモジュールでは非特許文献３に開示された手法に加え、フロー・カウント型がスキャンを検出するための特微量であることを考慮し、フローのクライアント、サーバIPアドレスと観測時間を基に異常度の加算とアラートの抑制を行う。この操作は算出順に全ての異常度で行う。
【００３４】
あるフロー(ｆa)から算出した異常度(ａa )を基準とした時の異常度の加算とアラートの抑制の手順を図２に示す。まず、フローの両端のIPアドレスがｆaと同一で、ｆaの終了時点を基準としたフロー有効期間（Ｔf ）内の最新Ｎフローの集合（ＦADD ）を求める。次にＦADDの全フローの異常度とｆaの異常度の総和ａaを求め、アラート発生の判断を行う。この時アラートが発生した場合、両端のIPアドレスがｆaと同一でｆaの終了時点からＴf内のフローは、同一IPアドレスに対するスキャンであると考えアラートを抑制する。
【００３５】
スキャンは異常なフラグの組合せを持った複数の異常なフローを生成するため、それらのフローから算出される異常度を加算することにより、スキャンに関連するフローの異常度を高くできる。また、アラートの抑制により、一回のスキャンから複数回アラートが発生することを回避できる。
【００３６】
次に、本発明のシステムについて評価実験を行い検出性能を評価した結果を説明する。
評価実験では、非特許文献５のデータを用いた。このデータセットでは、下記のことが明らかにされている。
・不正アクセスが行われた時刻
・攻撃側ホストのIPアドレス及びポート番号
・被害者側ホストのIPアドレス及びポート番号
・不正アクセスの種類
このデータセットでは、一週間（5日間）単位で、不正アクセスの存在するデータと存在しないことが保証されているデータとがそれぞれ与えられている。不正アクセスの存在しないweek1,3で学習を行い、不正アクセスを含むweek4,5に対して検出を行う場合と、week4,5を用いた異常トラヒックを含むデータで学習し、検出を行う場合の結果を示し、他手法と比較する。
【００３７】
実験を行った際のパラメータ設定は、以下の通りである。
・許容検出数：10個/日
・タイムスロット型の1スロットの時間間隔 Ｔt：60秒
・ＵＤＰのフロー生成時のタイムアウト Ｔu：600秒
・フローの有効期間 Ｔf：600秒
・フローの集合ＦADDの最大フロー数 Ｎ：10フロー
学習データの特微量は平均0、標準偏差1となるように正規化を行った。week1,3を学習する場合はweek1,3を―括で学習し、week4,5に対して検出を行った。Week4,5を学習する場合は、1日毎にデータを学習し、学習に用いた同一のデータに対して検出を行った。全体の誤検出数が100個以内になるように、投影距離の閾値をモジュール毎、日毎に予備実験より決定した。
【００３８】
上記実験にて得られた検出性能について、既存の検出手法を用いた場合と比較評価した結果を説明する。
本発明のシステムにおいてweek1,3で学習を行い、week4,5に対して検出を行った結果と、既存の検出手法（非特許文献４、非特許文献６）で検出を行った結果との比較を図３に示す。
【００３９】
本発明のシステムでは、不正アクセスを学習せずに不正アクセスの検出を行うことにより、全ての不正アクセスを未知なものとして検出しているが、検出数、検出率ともにNETAD以外の既存手法より優位な結果を示している。
【００４０】
次に、week4,5のみを用いて学習、検出を行った場合の結果を図４に示す。多くの異常検出方式IDSでは通常状態を定義する際、不正アクセスを含まないデータを用いているが、現実的には不正アクセスを含まないデータを得るのは困難で、学習用データへの不正アクセスの混入が発生すると考えられ、そのため、不正アクセス検出能力が低下する可能性がある。そこで、この実験により、より実ネットワークでの運用を考慮した条件での性能を評価できる。表２より、正常なデータのみで学習を行い検出を行う場合に最高性能を示したＮＥＴＡＤの検出数、検出率は大幅に低下しているが、本発明のシステムではほぼ低下せず、高精度な検出を行えていることがわかる。
【００４１】
以上より、本発明のシステムでは通常状態の学習用データとして正常なデータのみが得られた時において高精度な検出が行えた。また、より実ネットワークでの運用に近い環境である、学習用データに不正アクセスが混在している場合においても性能が低下せず高精度な検出が可能であることが確認できた。
【００４２】
【非特許文献４】M.Mahoney,“Network Traffic Anomaly Detection Based on Packet Bytes”, Proc.ACM-SAC, pp346-350, 2003
【非特許文献５】“MIT Lincoln Laboratory − DARPA Intrusion Detection Evaluation”, http://www.ll.mit.edu/IST/ideval/
【非特許文献６】Lippmann R., et al.“The 1999 DARPA Off-Line Intrusion Detection Evaluation”, Computer Networks, Vol.34, pp579-595, 2000
【図面の簡単な説明】
【００４３】
【図１】本発明のネットワーク異常検出システムの構成図である。
【図２】異常度の加算とアラートの制御についての手順を説明する図である。
【図３】不正アクセスの検出性能を評価する上で、実験環境として通常状態を定義する際に不正アクセスが混入しないデータを用いた場合、本発明のシステムと既存の検出手法とを比較評価した結果を示す図表である。
【図４】不正アクセスの検出性能を評価する上で、実験環境として通常状態を定義する際に不正アクセスが混入したデータを用いた場合、本発明のシステムと既存の検出手法とを比較評価した結果を示す図表である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2006115129.tif 000008
【図２】
2006115129.tif 000009
【図３】
2006115129.tif 000010
【図４】
2006115129.tif 000011