(57)【要約】【課題】  外部ネットワークから受信したＩＰデータパケットが、パケット分割されたＩＰパケットである場合、パケットの組立て処理を行なわないで不正アクセス解析を行う。【解決手段】不正アクセス解析部１２は外部ネットワークから受信したパケット・データを、攻撃手法データベース（シグニチャ）を参照して監視・解析し、データデパケットが、パケット分割、すなわちフラグメントされたＩＰパケットである場合、該パケットの文字列検索の完了時に文字列検索の途中状態を保持し、後続のフラグメントされたＩＰパケットが入力した場合は文字列検索を継続する。フィルタ部１３は侵入や攻撃が検知された場合、検知したパケットを廃棄する。【選択図】  図２
2006236080.tif 000002
【特許請求の範囲】
【請求項１】
インターネット上の通信機器または社内ネットワークへの不正侵入、攻撃を監視し、対処する不正アクセス検知装置において、ネットワークインタフェースと、該インタフェースを介して外部ネットワークから受信したデータ・パケットを攻撃手法データベースであるシグニチャを参照して監視・解析する不正アクセス解析手段と、該不正アクセス解析手段が侵入、攻撃を検知した場合、検知したパケットを廃棄するフィルタ手段を有することを特徴とする不正アクセス検知装置。
【請求項２】
前記不正アクセス解析手段は、外部ネットワークから受信したＩＰデパケットが、パケット分割、すなわちフラグメントされたＩＰパケットである場合、該パケットの文字列検索の完了時に文字列検索の途中状態を保持し、後続のフラグメントされたＩＰパケットが入力した場合は文字列検索を継続する、請求項１に記載の不正アクセス検知装置。
【請求項３】
前記フィルタ手段は、前記不正アクセス解析手段が侵入、攻撃を検知したパケットの特定ビットパターンから識別される情報に基づいて、後続のＩＰパケットを一定時間廃棄、あるいは帯域制御を行う、請求項１に記載の不正アクセス検知装置。
【請求項４】
前記不正アクセス解析手段には、複数のオートマトンがパイプライン的に配置されている、請求項２または３に記載の不正アクセス検知装置。
【請求項５】
前記不正アクセス解析手段は、外部ネットワークから受信したＩＰデパケットがパケット分割、すなわちフラグメントされ、パケット送出順序を故意に入れ替えたパケットであった場合、パケットをウインドサイズ分保持する、請求項１に記載の不正アクセス検知装置。
【請求項６】
インターネット上の通信機器または社内ネットワークへの不正侵入、攻撃を監視、対処する不正アクセス検知方法において、外部ネットワークから受信したデータ・パケットを攻撃手法データベースであるシグニチャを参照して監視・解析する不正アクセス解析ステップと、侵入や攻撃が検知された場合、検知したパケットを廃棄するフィルタステップを有することを特徴とする不正アクセス検知方法。
【請求項７】
前記不正アクセス解析ステップは、パケットに対してオートマトンによる文字列検索を行い、該パケットの文字列検索の完了時に文字列検索の途中状態とセッション情報と関連付けして検索状態管理メモリに保持し、同一セッション情報を有する後続のフラグメントされたＩＰパケットが入力した場合は文字列検索を継続する、請求項６に記載の不正アクセス検知方法。
【請求項８】
前記不正アクセス解析ステップは、外部ネットワークから受信したＩＰデパケットが、パケット分割、すなわちフラグメントされ、パケット送出順序を故意に入れ替えたパケットであった場合、パケットに対してシグネチャの後方一致検索用オートマトンによる文字列検索を行い、該パケットの文字列検索の完了時に文字列検索の途中状態とセッション情報と関連付けして検索状態管理メモリに保持し、同一セッション情報を有する後続のフラグメントされたＩＰパケットが入力した場合は文字列検索を継続する、請求項６に記載の不正アクセス検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット上の通信機器や社内ネットワークへの不正侵入や攻撃を監視、対処可能な不正アクセス検知装置および方法に関するものである。
【背景技術】
【０００２】
インターネットや社内ネットワークへの不正侵入や攻撃を監視する侵入検知装置として、ネットワーク上を流れるパケットを監視・解析し、「シグネチャ」と呼ぶ攻撃手法のデータベースを参照して侵入や攻撃を自動検知し、対処する機能を持つ装置が提案されている（非特許文献１）。
【０００３】
図１１は、従来の侵入検知装置のブロック図である。図１１において、侵入検知装置は、インターネットなどの外部からパケットを受信するネットワークインタフェース２１と、パケットを送信するネットワークインタフェース２２と、ＩＰフラグメント化されているパケットを保持するリアセンブルバッファ２３と、受信したパケットのプロトコルがＴＣＰ（Ｔｒａｎｓｍｉｓｓｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）の場合にデータセグメントを組み立てるリアセンブル部２４と、リアセンブルしたデータ・パケットに不正アクセスが含まれるか否かを判別する不正アクセス解析部２５と、不正アクセス解析部２５が異常を検出した際に所定の対処を実施する対策部２６を有する。
【０００４】
このような侵入検知装置において、外部ネットワークからのパケットがＴＣＰによる通信である場合に、パケット中に含まれるデータセグメントのコピーをセッション情報と関連付けして一時的にリアセンブルバッファ２３に保留し、セッション情報と同一で最後のデータセグメントを有するパケットを受信すると、同一のセッション情報を有するデータセグメントをリアセンブル部２４で組み立て、受信したデータセグメントまたは組み立てたデータセグメントを不正アクセス解析部２５で解析し、不正アクセスが含まれている場合には最後に受信したデータセグメントが含まれるパケットを廃棄する。
【非特許文献１】榑林亮介、片山勝、山中直明、塩本公平、「ハッシュ型オートマトンによる文字列検索の並列化手法：Ａ  Ｐａｒａｌｌｅｌ  Ｓｔｒｉｎｇ  Ｍａｔｃｈｉｎｇ  Ｍｅｔｈｏｄ  Ｂａｓｅｄ  ｏｎ  Ａ  Ｈａｓｈ  Ａｕｔｏｍａｔｏｎ」  信学技報  ＣＳ２００３−１６６、ｐｐ．〜４９−５４、２００４年３月
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現実のネットワークでは、パケットの分割（フラグメント化）といった現象が起こりうる。このためパケットの組立てが必要な不正アクセス解析を実現する場合、パケットを組み立てるためフラグメントパケットを一時的にバッファメモリに記憶させる。多くのパケットを記憶させるために、バッファメモリの容量を大きくとると、システム全体としてのメモリ容量を圧迫してパフォーマンスの低下を招き、また逆に小さくとると、パケットを記憶できずに取りこぼす。このため、バッファ容量（リアセンブルバッファ）によって、パフォーマンスへの影響が出る問題があった。また、ネットワークの高速化によりリアセンブル部においてパケットの組立て処理がトラヒックに追いつかない問題があった。このため、高速なネットワークに適用することができなかった。
【０００６】
したがって、本発明の目的は、前記した従来技術の問題点を解消し、外部ネットワークから受信したＩＰデータパケットが、パケット分割（フラグメント）されたＩＰパケットである場合、パケットの組立て処理を行わないで不正アクセス解析を行う不正アクセス検知方法および装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の不正アクセス検知装置は、ネットワークインタフェースと、外部ネットワークから受信したデータ・パケットを攻撃手法データベース（シグニチャ）を参照して監視・解析する不正アクセス解析手段と、侵入や攻撃が検知された場合、検知したパケットを廃棄する機能を有するフィルタ手段とを有する。
【０００８】
特に、不正アクセス解析手段は、該パケットの文字列検索の完了時に文字列検索の途中状態とセッション情報と関連付けして一時的に保持し、同一セッション情報を有する後続のフラグメントされたＩＰパケットが入力した場合は文字列検索を継続することにより、リアセンブル処理なしで不正アクセス解析を行う。
【発明の効果】
【０００９】
本発明によれば、ネットワーク上を流れるパケットを監視・解析し、「シグネチャ」と呼ぶ攻撃手法のデータベースを参照して侵入や攻撃を自動検知するために、パケットの分割（フラグメント化）されたパケットについてパケットの組立て処理を行わないで、フラグメントパケットの文字列検索が完了した場合は、文字列検索の途中状態を保持し、後続パケットが入力した場合は文字列検索を継続することにより、リアセンブル処理なしで不正アクセス解析を行い防御することが可能となる。また、検出を故意に回避することを意識した攻撃（ＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットを送りつける場合）においてもＦＯ（フラグメントオフセット値など）文字列検索の途中状態を保持することで文字列検索を実現し、防御することが可能となる。
【発明を実施するための最良の形態】
【００１０】
次に、本発明の実施形態について図面を参照して説明する。
【００１１】
図１は本発明の一実施形態のネットワークシステムの構成図である。
【００１２】
本実施形態のネットワークシステムは、不正アクセス検知装置１、２、３と、不正侵入や攻撃の対象となるターゲット端末４と、ターゲット端末４と通信を行うユーザ端末５と、ターゲット端末４に対して不正侵入や攻撃を行う攻撃者端末６と、インターネット７を有している。
【００１３】
図２は不正アクセス検知装置１、２、３の構成図である。不正アクセス検知装置１はネットワークインタフェース１１と不正アクセス解析部１２とフィルタ部１３とネットワークインタフェース１４を有している。不正アクセス解析部１２は外部ネットワークから受信したパケット・データを、攻撃手法データベース（シグニチャ）を参照して監視・解析する。フィルタ部１３は侵入や攻撃が検知された場合、検知したパケットを廃棄する。
【００１４】
図３は不正アクセス解析部１２の構成図である。不正アクセス解析部１２は、高速化に効果的なハードウェアのパイプライン処理が可能なオートマンを用いた検索を行う。オートマン生成手法１１０により攻撃手法データベース（シグニチャ）１００をオートマン１２０に変換する。外部ネットワークから受信したＩＰデパケット１５０は、オートマトンによる文字列検索１３０によりシグニチャ１００との一致検索が行われ、一致した場合、フィルタ部１３で、検知したパケットを廃棄するように制御を行う。また、外部ネットワークから受信したＩＰデパケット１５０がパケット分割（フラグメント）されたＩＰパケットである場合、該パケットに対してオートマトンによる文字列検索１３０が行われ、該パケットの文字列検索の完了時に文字列検索の途中状態とセッション情報と関連付けして検索状態管理メモリ１４０に保持する。同一セッション情報を有する後続のフラグメントされたＩＰパケットが入力した場合は文字列検索を継続する。これによりリアセンブル処理なしで不正アクセス解析を行い、侵入や攻撃を検知した場合、フィルタ部１３で検知したパケットを廃棄することが可能となる。
【００１５】
ここで、不正アクセス解析部１２の動作について図４を用いて説明する。図中のオートマンは例としてパターンｃａｄｃとｃａｂｃａｂの２つとした場合に生成されるオートマトンを示している。外部ネットワークから受信したＩＰデパケット１５０のパケット・データをオートマトン１２０に入力し、入力データと現在のオートマトンの状態から、オートマトンを次の状態に遷移させるという動作を繰り返す。このとき、オートマトンの最終状態に遷移すると、パケット・データ中の文字列がパターンと一致したことを表す。図４中では、状態４と状態８が最終状態である。
【００１６】
いま、外部ネットワークから受信したＩＰデパケット１５０がパケット分割（フラグメント）されたＩＰパケットである場合を考える。この場合、外部ネットワークから受信したＩＰデパケットのパケット・データをオートマトン１２０に入力し、入力データと現在のオートマトンの状態から、オートマトンを次の状態に遷移させるという動作を繰り返す。このとき、該パケットの文字列検索が完了時にオートマトンの状態とＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）のＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ）７９１に規定されるＦＯ（フラグメントオフセット）とセッション情報と関連付けして検索状態管理メモリ１４０に保持する。同一セッション情報を有する後続のフラグメントされたＩＰパケットが入力した場合は、入力データと入力ＦＯと現在のオートマトンの状態から、オートマトンを次の状態に遷移させるという動作を繰り返し、文字列検索を継続する。これによりリアセンブル処理なしで不正アクセス解析を行うことが可能となる。
【００１７】
図４中では、３ｒｄパケット２２０の文字列検索の完了時にオートマトンの状態＝３とＦＯ＝９とセッション情報と関連付けして検索状態管理メモリ１４０に保持し、同一セッション情報を有する後続のフラグメントされた４ｔｈパケット２３０が入力した場合は入力パケットデータ＝ｃとＦＯ＝９＋１＝１０と現在のオートマン＝３の状態が一致すれば文字列検索を継続する。
【００１８】
次に、不正アクセス検知装置の動作を図５のフローチャートを用いて説明する。いま、ユーザ端末５と通信を行っているターゲット端末４に対して攻撃者端末６が不正侵入や攻撃を行っており、外部ネットワークから受信したＩＰデパケット１５０がパケット分割（フラグメント）されたＩＰパケットである場合を考える。
【００１９】
不正アクセス検知装置では、外部ネットワークからネットワークインタフェース１１で受信したＩＰデパケットをオートマトンに入力し、オートマトンにより一致検索を行う（ステップ３１０、３２０）。一致検索により不正アクセスと判断された場合は、フィルタ部１３へパケット廃棄の通知を行う（ステップ３６０）。不正アクセスでないと判断された場合は、最終フラグメントまたは検索完了かの判断を行い（ステップ３３０）、最終フラグメントまたは検索完了でない場合は、オートマトンの状態と後続パケットのＦＯとセッション情報と関連付けして検索状態管理メモリ１４０に保持する（ステップ３４０）。同一セッション情報を有する後続のフラグメントされたＩＰパケットが入力した場合は、検索状態管理メモリ１４０に保持された入力ＦＯと現在のオートマトンの状態を参照して、入力データと現在のオートマトンの状態からオートマトンを次の状態に遷移させるという動作を繰り返し、文字列検索を継続する（ステップ３２０）。最終フラグメントまたは検索完了かの判断を行い、最終フラグメントまたは検索完了である場合は、検索状態管理メモリ１４０に保持している情報を開放する（ステップ３７０）。
【００２０】
また、第２の実施形態として、外部ネットワークから受信したＩＰデパケットが検出を故意に回避することを意識した攻撃（ＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットを送りつける場合）が行われた場合を考える。図６は例として３ｒｄパケット２２０と４ｔｈパケット２３０の異なるパケット・データがＦＯ＝８と９で重なる場合を示している。この場合、受信したエンド端末のＯＳにより重複部分をどのフラグメントから再構成するかは異なるため、フラグメントの重なりについて考慮する必要がある。このため、先に到着したデータが優先される場合（Ｉ）、後に到着したデータが優先される場合（II）の両方がある。
【００２１】
ここで、先に到着したデータが優先される場合（Ｉ）の不正アクセス解析部１２の動作について図７を用いて説明する。図中のオートマンは例としてパターンｃａｄｃとｃａｂｃｈｉの２つとした場合に生成されるオートマトンを示している。外部ネットワークから受信したＩＰデパケットのパケット・データをオートマトン１２０に入力し、入力データと現在のオートマトンの状態から、オートマトンを次の状態に遷移させるという動作を繰り返す。このとき、オートマトンの最終状態に遷移すると、パケット・データ中の文字列がパターンと一致したことを表す。図７中では、状態４と状態８が最終状態である。
【００２２】
いま、外部ネットワークから受信したＩＰデパケット１５０がパケット分割（フラグメント）され、かつＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットである場合を考える。この場合、外部ネットワークから受信したＩＰデパケットのパケット・データをオートマトンに対して入力し、入力データと現在のオートマトンの状態から、オートマトンを次の状態に遷移させるという動作を繰り返す。このとき、該パケットの文字列検索が完了毎にオートマトンの状態とＦＯ（フラグメントオフセット）とセッション情報と関連付けして検索状態管理メモリ１４０に保持する。同一セッション情報を有する後続のフラグメントされたＩＰパケットが入力した場合は、入力データと入力ＦＯと現在のオートマトンの状態から、オートマトンを次の状態に遷移させるという動作を繰り返し、文字列検索を継続する。これによりリアセンブル処理なしで不正アクセス解析を行うことが可能となる。
【００２３】
図７中では、３ｒｄパケット２２０の文字列検索の完了時にオートマトンの状態＝３とＦＯ＝９とセッション情報と関連付けして検索状態管理メモリ１４０に保持し、同一セッション情報を有する後続のフラグメントされた４ｔｈパケット２３０が入力した場合は入力パケットデータ＝ｃとＦＯ＝１０と現在のオートマン＝３の状態が一致すれば文字列検索を継続する処理を行うことにより受信したエンド端末のＯＳの実装を意識することなく、ＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットである場合においても不正侵入や攻撃を監視することができる。
【００２４】
次に、後に到着したデータが優先される場合（II）の不正アクセス解析部１２の動作について図８を用いて説明する。図中のオートマンは例としてパターンｃａｄｃとｃａｂｃｈｉの２つとした場合に生成されるオートマトンを示している。外部ネットワークから受信したＩＰデパケットのパケット・データをオートマトン１２０に入力し、入力データと現在のオートマトンの状態から、オートマトンを次の状態に遷移させるという動作を繰り返す。このとき、オートマトンの最終状態に遷移すると、パケット・データ中の文字列がパターンと一致したことを表す。図８中では、状態４と状態８が最終状態である。
【００２５】
いま、外部ネットワークから受信したＩＰパケット１５０がパケット分割（フラグメント）され、かつＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットである場合を考える。この場合、外部ネットワークから受信したＩＰデパケットのパケット・データをオートマトン１２０に入力し、入力データと現在のオートマトンの状態から、オートマトンを次の状態に遷移させるという動作を繰り返す。このとき、該パケットの一つの文字列検索が完了毎にオートマトンの状態とＦＯ（フラグメントオフセット）とセッション情報と関連付けして検索状態管理メモリ１４０に保持する。同一セッション情報を有する後続のフラグメントされたＩＰパケットが入力した場合は、入力ＦＯのオートマトンの状態から、オートマトンを次の状態に遷移させるという動作を繰り返し、文字列検索を継続する。これによりリアセンブル処理なしで不正アクセス解析を行うことが可能となる。
【００２６】
図８中では、パケットの一つの文字列検索が完了時に｛オートマトンの状態、セッション情報、ＦＯ｝＝｛１、セッション情報、４｝、｛２、セッション情報、５｝、｛５、セッション情報、６｝、｛６、セッション情報、７｝、｛２、セッション情報、８｝、｛３、セッション情報、９｝と関連付けして検索状態管理メモリ１４０に保持し、同一セッション情報を有する後続のフラグメントされた４ｔｈパケット２３０が入力した場合はＦＯ＝８−１＝７のオートマトン状態＝６から検索を開始し、入力データ＝ｈが一致すれば文字列検索を継続する処理を行うことにより受信したエンド端末のＯＳの実装を意識することなく、ＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットである場合においても不正侵入や攻撃を監視することができる。
【００２７】
図９は、不正アクセス検知装置の不正アクセス解析部１２の他の構成を示す図である。不正アクセス解析部１２は、ハードウェア化された複数のオートマトン４１０、４２０、４３０をパイプライン的に配置することにより、外部ネットワークから受信したＩＰデパケット１５０がパケット分割（フラグメント）されたＩＰパケットである場合や、ＩＰデパケットが検出を故意に回避することを意識した攻撃（ＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットを送りつける場合）が行われた場合においても同時に不正侵入や攻撃を監視することができる。
【００２８】
図１０は、第２の実施形態の不正アクセス検知装置の構成図である。なお、同図においては、不正アクセス検知装置が元来有している構成部は省略しており、この発明を適用するのに要した構成部のみを示している。
【００２９】
不正アクセス解析部１２は、外部ネットワークから受信したＩＰデパケットが、パケット分割（フラグメント）され、パケット送出順序を故意に入れ替えたパケットであった場合、パケットをバッファウインドサイズ分保持するバッファ１５を有することにより、パフォーマンス低下への影響を少なくしてリアセンブル処理なしで不正アクセス解析を行うことができる。
【００３０】
また、本発明の第３の実施形態として図３のオートマン生成手法１１０により攻撃手法データベース（シグニチャ）１００を後方一致検索が行えるようなオートマン１２０に変換することにより、外部ネットワークから受信したＩＰデパケットが、パケット分割（フラグメント）され、パケット送出順序を故意に入れ替えたパケットであった場合においても、外部ネットワークから受信したＩＰデパケット１５０は、オートマトンによる文字列検索１３０によりシグニチャとの一致検索が行われ、一致した場合、フィルタ部１３で検知したパケットを廃棄するように制御を行うことが可能となる。
【図面の簡単な説明】
【００３１】
【図１】本発明のインターネット上の通信機器や社内ネットワークへの不正侵入や攻撃を監視、対処するネットワークシステムの一実施形態を示す図である。
【図２】不正アクセス検知装置１〜３の構成図である。
【図３】不正アクセス解析部１２の構成図である。
【図４】不正アクセス解析部１２の動作を説明するための図である。
【図５】図２の不正アクセス検知装置１〜３の動作を示すフローチャートである。
【図６】外部ネットワークから受信したＩＰデパケットが検出を故意に回避することを意識した攻撃（ＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットを送りつける場合）が行われた場合を説明するための図である。
【図７】本発明の不正アクセス検知システムでＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットを受信し、先に到着したデータが優先される場合（Ｉ）の不正アクセス解析部１２の動作を説明するための図である。
【図８】本発明の不正アクセス検知システムでＩＰヘッダのオフセット値に細工をし、重なるようなＩＰパケットを受信し、後に到着したデータが優先される場合（II）の不正アクセス解析部１２の動作を説明するための図である。
【図９】複数のオートマンを備えた不正アクセス解析部の構成を示す図である。
【図１０】本発明の他の実施形態の不正アクセス検知装置の構成図である。
【図１１】従来技術による、インターネット上の通信機器や社内ネットワークへの不正侵入や攻撃を監視、対処する侵入検知装置の構成図である。
【符号の説明】
【００３２】
１〜３    不正アクセス検知装置
４    ターゲット端末
５    ユーザ端末
６    攻撃者端末
７    インターネット
８    アクセス網
１１    ネットワークインタフェース
１２    不正アクセス解析部
１３    フィルタ部
１４    ネットワークインタフェース
１５    バッファ
１００    シグネチャ
１１０    オートマトン生成
１２０    オートマトン
１３０    オートマトンによる文字列検索
１４０    検索状態管理メモリ
１５０、１６０    パケット
２００    １ｓｔパケット
２１０    ２ｎｄパケット
２２０    ３ｒｄパケット
２３０    ４ｔｈパケット
３１０〜３７０    ステップ
４１０、４２０、４３０    オートマンによる文字列検索
【図１】
2006236080.tif 000003
【図２】
2006236080.tif 000004
【図３】
2006236080.tif 000005
【図４】
2006236080.tif 000006
【図５】
2006236080.tif 000007
【図６】
2006236080.tif 000008
【図７】
2006236080.tif 000009
【図８】
2006236080.tif 000010
【図９】
2006236080.tif 000011
【図１０】
2006236080.tif 000012
【図１１】
2006236080.tif 000013