(57)【要約】      （修正有）【課題】コミュニケーションネットワークにおける断片列を解析するための方法、システム及びコンピュータ読み取り可能な媒体を提供する。【解決手段】通信ネットワークにおける断片列が解析される。断片列は、同じ断片列中の断片を含み、同じ目標システムに関連する。一つ以上の断片再組み立て方針が、複数の断片再組み立て方針の中から特定される。断片再組み立て方針は、断片列中の断片と関連する目標システムに対応する。断片列中の断片中のデータは、断片再組み立て方針によって指定される順序で提供される。断片再組み立て方針は、断片中のオフセット及び追加断片指標に応じた順序を決定すること、及び／又は、包括的にオーバラップされた断片のようなオーバラップされた断片に特有の順序を示すことを含むことができる。【選択図】図１
2008079291.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークにおいて、同じ断片列中の複数の断片を含み、且つ同じ目標システムに関連する断片列を解析する方法であって、
（Ａ）複数の断片再組み立て方針の中の少なくとも一つの断片再組み立て方針を特定するステップ、
（Ｂ）前記少なくとも一つの断片再組み立て方針によって示される順序で、前記断片列中の前記断片中のデータを提供するステップとを含み、
前記少なくとも一つの断片再組み立て方針が、断片列中の断片に関連する目標システムに対応し、
前記少なくとも一つの断片再組み立て方針が、前記断中のオフセット及び追加断片指標に応じた前記順序を決定することを含む方法。
【請求項２】
前記少なくとも一つの断片再組み立て方針によって示される順序で、断片を再組み立てするステップと、
前記再組み立てされた断片を、侵入検知／防御システムに提供するステップとをさらに含む
請求項１に記載の方法。
【請求項３】
前記断片列中の前記断片を受信するステップをさらに含み、
前記受信するステップがＩＰ層に従って実行される請求項１に記載の方法。
【請求項４】
前記断片がＩＰ層フォーマットに従って形成される請求項１に記載の方法。
【請求項５】
前記目標システムが前記断片のヘッダ中で示される請求項１に記載の方法。
【請求項６】
前記目標システムを含む複数の目標システムが提供され、
前記目標システムがホストの種類に関連し、
各々のホストの種類が各々の断片再組み立て方針に関連し、
特定された前記少なくとも一つの断片再組み立て方針が、前記目標システムに関連するホストの前記種類に関連する
請求項１に記載の方法。
【請求項７】
前記断片が、非オーバラップである、包括的にオーバラップされた、部分的にオーバラップされた、及び完全にオーバラップされた状態のうちの一つであることができ、
前記少なくとも一つの断片再組み立て方針が、前記少なくとも一つの包括的にオーバラップされた断片に特有の順序を示す請求項１に記載の方法。
【請求項８】
コンピュータによって実行される命令を含んだコンピュータ読取可能な媒体であって、前記命令が、通信ネットワークにおける断片を解析するためのコンピュータにより実行される方法を含み、断片列が、同じ断片列中の複数の断片を含み且つ同じ目標システムに関連し、断片が、非オーバラップである、包括的にオーバラップされた、部分的にオーバラップされた、または完全にオーバラップされた状態の何れかであることができ、
前記命令が、
（Ａ）複数の断片再組み立て方針の中の少なくとも一つの断片再組み立て方針を特定するステップと、
（Ｂ）前記少なくとも一つの断片再組み立て方針によって示される順序で前記断片列中の前記断片中のデータを提供するステップと
を実行するためのものであり、
前記少なくとも一つの断片再組み立て方針が、断片列中の断片に関連する目標システムに対応し、
前記少なくとも一つの断片再組み立て方針が、少なくとも包括的にオーバラップされた断片に特有の順序を示すコンピュータ読取可能な媒体。
【請求項９】
前記命令が、
前記少なくとも一つの断片再組み立て方針によって示される順序で、断片を再組み立てするステップと、
前記再組み立てされた断片を、侵入検知／防御システムに提供するステップとをさらに含む請求項８に記載のコンピュータ読取可能な媒体。
【請求項１０】
前記断片列中の前記断片を受信するための命令をさらに含み、
前記受信が、ＩＰ層に従って実行され、
前記断片中のデータを提供するステップが、ＩＰ層フォーマットを前記断片に適用することを含む請求項８に記載のコンピュータ読取可能な媒体。
【請求項１１】
前記目標システムを含む複数の目標システムが提供され、
前記目標システムが、ホストの種類に関連し、
各々のホストの種類が、各々の断片再組み立て方針に関連し、
特定された前記少なくとも一つの断片再組み立て方針が、前記目標システムに関連するホストの種類に関連する請求項８に記載のコンピュータ読取可能な媒体。
【請求項１２】
請求項８に記載のコンピュータ読取可能な媒体を有して構成されたコンピュータシステム。
【請求項１３】
請求項８に記載のコンピュータ読取可能な媒体を有して構成された少なくとも一つのコンピュータシステムを備える通信ネットワーク。
【請求項１４】
侵入の検知及び防御のうちの少なくとも一つのためのコンピュータシステムであって、
（Ａ）目標システムと関連するホストの種類を、断片列中の断片中の前記目標システムの指標に応じて、決定することを容易にするように構成されたユニットと、
（Ｂ）複数の断片再組み立て方針の中の少なくとも一つの断片再組み立て方針を特定することを容易にするように構成された断片再組み立てユニットと、
（Ｃ）前記少なくとも一つの断片再組み立て方針によって示された順序で、前記断片列中の前記断中のデータを提供することを容易にするように構成された順序提供ユニットとを備え、
前記少なくとも一つの断片再組み立て方針が、断片列中の断片に関連する目標システムに対応するコンピュータシステム。
【請求項１５】
前記少なくとも一つの断片再組み立て方針によって示された順序で、前記断片を再組み立てするリアセンブラをさらに備える請求項１４に記載のコンピュータシステム。
【請求項１６】
前記再組み立てされた断片における侵入を検知／防御するための侵入検知／防御ユニットをさらに備え、
前記リアセンブラが、前記再組み立てされた断片を前記侵入検知／防御ユニットに提供する請求項１５に記載のコンピュータシステム。
【請求項１７】
前記断片列中の前記断片を受信することを容易にするように構成された受信ユニットをさらに備え、
前記断片が、ＩＰ層に従って受信される請求項１４に記載のコンピュータシステム。
【請求項１８】
前記順序提供ユニットが、ＩＰ層フォーマットに従って、前記断片中のデータの順序をさらに決定する請求項１４に記載のコンピュータシステム。
【請求項１９】
前記目標システムが、前記断片のヘッダにおいて示される請求項１４に記載のコンピュータシステム。
【請求項２０】
前記目標システムを含む複数の目標システムが提供され、
前記目標システムがホストの種類に関連し、
各々のホストの種類が各々の断片再組み立て方針に関連し、
特定された前記少なくとも一つの断片再組み立て方針が、前記目標システムに関連するホストの前記種類に関連する請求項１４に記載のコンピュータシステム。
【請求項２１】
前記断片が、非オーバラップである、包括的にオーバラップされた、部分的にオーバラップされた、及び完全にオーバラップされた状態のうちの一つであることができ、
前記断片再組み立て方針が、前記少なくとも一つの包括的にオーバラップされた断片に特有の順序を示す請求項１４に記載のコンピュータシステム。
【請求項２２】
前記少なくとも一つの断片再組み立て方針が、少なくとも一つの前記断片中の追加断片指標を評価することを含む請求項１４に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概ねネットワークトラフィック解析に関し、より具体的には、場合によっては侵入検知／防御に関連する、断片列中の断片の解析に関する。
【背景技術】
【０００２】
パケットネットワーク通信に利用されるインターネットプロトコル（ＩＰ）層は、ＩＰパケットがルートに応じて、ここでターゲットシステムと呼ばれる宛先に最終的に送信される小さい断片に分割されることを可能にする。各断片は、依然として元のＩＰパケットに属し、目標システムによって再組み立てされ、元のＩＰパケットに再生成され得る。
【０００３】
異なる種類のオペレーティングシステムは、断片を再組み立てするユニークな方法を有する。これらの断片再組み立て方法は、攻撃者に悪用され得る。Thomas Ptacek及びTimothy Newshamは、彼らの画期的な１９９８年の論文「挿入、回避及びサービス妨害：ネットワーク侵入検知の回避」の中で、侵入検知システム（ＩＤＳ）中のいくつかの弱点を暴露した。著者らは、メッセージを受信する宛先ホストが行うのと全く同様に、ＩＤＳがネットワークトラフィックを、必ずしも処理しない又は監視さえしないので、ＩＤＳが有効でも正確でもありえないことを明らかにした。
【０００４】
ＩＤＳが単一の再組み立て方法を利用する場合、宛先システムと同一の方法でパケットを再組み立て及び処理しないかも知れない。その結果、断片の再組み立てにおけるこれらの差異を成功裡に悪用する攻撃によって、ＩＤＳは、悪意のあるトラフィックを見逃し得る。
【発明の開示】
【課題を解決するための手段】
【０００５】
従って、本発明の一つ以上の実施形態は、コミュニケーションネットワークにおける断片列を解析するための方法、システム及びコンピュータ読み取り可能な媒体を提供する。断片列は、同じ断片列中に、同じターゲットシステムに関連する複合的である断片を含む。前記方法は、複数の断片再組み立て方針の少なくとも一つの断片再組み立て方針を特定すること含み、少なくとも一つの断片再組み立て方針は、断片列中の断片と関連する目標システムに対応している。前記方法は、前記少なくとも一つの断片再組み立て方針によって示される順序で、断片列中の断片中のデータを提供することを含み、前記一つの断片再組み立て方針は、断片中のオフセット及び追加断片指標に応じた前記順序を決定すること含む。
【０００６】
別の実施形態は、コンピュータによって実行される命令を含んだコンピュータ読取可能な媒体を提供する。前記命令は、通信ネットワークにおける断片を解析するためのコンピュータにより実行される方法を含み、断片列が、同じ断片列中の複数の断片を含み且つ同じ目標システムに関連し、断片が、非オーバラップである、包括的にオーバラップされた、部分的にオーバラップされた、または完全にオーバラップされた状態の何れかであることができる。前記命令は、複数の断片再組み立て方針の中の少なくとも一つの断片再組み立て方針を特定するステップを実行し、前記少なくとも一つの断片再組み立て方針は、断片列中の断片に関連する目標システムに対応する。前記命令は、さらに、前記少なくとも一つの断片再組み立て方針によって示される順序で前記断片列中の前記断片中のデータを提供するステップを実行し、前記少なくとも一つの断片再組み立て方針が、少なくとも包括的にオーバラップされた断片に特有の順序を示す。
【０００７】
さらに別の実施形態は、侵入の検知及び防御のうちの少なくとも一つのためのコンピュータシステムを提供する。前記コンピュータシステムは、目標システムと関連するホストの種類を、断片列中の断片中の前記目標システムの指標に応じて、決定することを容易にするように構成されたユニットを含む。また、複数の断片再組み立て方針の中の少なくとも一つの断片再組み立て方針を特定することを容易にするように構成された断片再組み立てユニットが含まれ、前記少なくとも一つの断片再組み立て方針は、断片列中の断片に関連する目標システムに対応する。前記コンピュータシステムは、また、前記少なくとも一つの断片再組み立て方針によって示された順序で、前記断片列中の前記断中のデータを提供することを容易にするように構成された順序提供ユニットを含む。
【０００８】
さらに、先の要約の目的は、米国特許商標庁及び一般公衆、特に科学者、技術者及び特許または法的用語又は語法になじまない実務者が一瞥して、本出願の技術的開示の性質及び本質を素早く決定するのを可能にすることである。この要約は、特許請求の範囲によって判定される本出願の発明を定めるように意図されたものでもなければ、いかなる方法で本発明の有効範囲に関して制限するように意図されたものでもない。-
【発明を実施するための最良の形態】
【０００９】
要約的に言えば、本開示は、無線及び／又は有線装置から目標システムへの通信をサポートする、しばしばパケットスイッチングネットワークと呼ばれる通信ネットワーク上のネットワ一クトラフィックの解析に関する。そのような通信ネットワークは、断片に分割された通信パケットを転送することができる。特に、様々な発明の概念及び原理は、断片を解析する、場合によっては侵入検知／防御システムに関連するシステム、装置及び方法で具現化されている。
【００１０】
まさにこの開示は、本発明の一つ以上の実施形態を行うベストモードをさらに実施可能な方法で説明するために提供される。この開示はさらに、いかなる面でも本発明を制限するのではなく、本発明の原理及びその利点に対する理解と認識を高めるために提示される。本発明は、本出願係属中になされる任意の補正を含む添付の特許請求の範囲、及び発行されるその特許請求の範囲の全ての均等物によってのみ定められる。
【００１１】
本明細書では、第１、第２のような関係用語及び、もしあればその他同種のものは、一つのエンティティー、項目あるいはアクションを、別のエンティティー、項目あるいはアクションから区別するためのみに使用され、必ずしもそのようなエンティティー、項目あるいはアクション間に実際のそのような関係または順序を要求し、又は示唆するものではない。いくつかの実施形態は、特定の順序に明示的に且つ必ずそう制限される場合でない限り、いかなる順序でも行われ得る複数のプロセスあるいはステップを含み得る。つまり、そのように制限されていないプロセスあるいはステップはいかなる順序でも行われ得る。
【００１２】
本発明に係る機能及び原理の多くは、実施されるとき、ソフトウェア、又はデジタル信号プロセサ及びそのソフトウェアのような集積回路（ＩＣ）及び／又は特定用途向けの専用ＩＣと一緒に、或いはそれらの中に最もよくサポートされる。当業者は本明細書で開示される概念及び原理によって導かれるとき、そのようなソフトウェア命令あるいはＩＣを最少の実験で容易に生成することができることは予想される。但し、例えば利用可能な時間、現在の技術及び経済的考慮によって動機づけられて、可能な多大の努力及び多くの設計選択がされることはあり得る。したがって、簡潔さ並びに、本発明に係る原理及び概念を不明瞭にするいかなる危険をも最小化するために、そのようなソフトウェア及びＩＣの一層の議論は、もしあれば、典型的な実施形態によって使用される原理及び概念に関する要点に限定されるであろう。
【００１３】
たとえ断片解析に関するいくつかの間題がPtacek及びNewshamによって確認されたとしても、多くの問題が依然として断片を解析する際に存在する。ここでさらに議論するように、様々な創造的な原理及びその組合せが、断片解析を改善するために有利に使用される。断片の解析は、目標システム上のオペレーティングシステム及びアプリケーションを考慮することができる。その結果、目標システムに送信されたトラフィックは、目標システム自身がトラフィックを解析するのと同じ方法で解析され得る。これは、例えばＵＮＩＸオペレーティングシステムを実行するホスト用のＷＩＮＤＯＷＳオペレーティングシステムに特有の弱点のような、間違った警告についての誤った判断を低減することができる。さらに、意図的に壊されたパケットが侵入検知／防御システムを騙せる可能性は低い。
【００１４】
さらに、典型的な実施形態によれば、断片のオーバラップによってもたらされた問題は、目標システムが断片を組み立てるのと同じ方法で、オーバラップされた断片を再組み立てすることによって解決され得る。断片再組み立て方針は、目標システム及び／又は目標システムに関連するホストの種類に対応して提供され得る。したがって、断片解析は、目標システムに依存して、再組み立て方針のうちの適切な一つを適用することができる。断片解析は、全てのタイプのオーバラップされた断片を扱うことができ、オーバラップされた断片を使用する迂回攻撃を抑制する。さらに、断片解析は、複合的な断片が適切に指摘されない場合であっても、断片列中の複合的断片を、目標システムと同様に解釈できる。
【００１５】
図１を参照して、断片列解析に関連する、簡略化された代表的な環境を示す図を議論し、説明する。図において、侵入者（例えばコンピュータシステム）１０１は、目標システム１０９へのパケットを含む通信を送信する。この例において、パケットは、ネットワーク１０３、ルータ１０５及びファイアウォール１０７を介して目標システム１０９に送信される。目標システム１０９への通信は、侵入検知／防御システム１１１によって、周知の技術を用いてモニタされ得る。この例では、ファイアウォール１０７の背後にセンサを提供しているが、センサは、目標システム１０９の前の任意の場所に提供され得る。代替的に、侵入検知／防御システム１１１は、目標システム１０９と直列に提供され、又は目標システム１０９の中に組み込まれ得る。
【００１６】
パケットは、インターネットプロトコル（「ＩＰ」）層で公知の技術に従って断片に分けられることができ、その後目標システム１０９へ送られ、そして目標システムは断片を再びパケットに組み立てる。目標システム１０９が断片を再び組み立てる順序は、目標システム１０９上の特定のオペレーティングシステムにおいて、断片処理の副産物である。特定のシステムによって断片が再組み立てされる方法は、侵入者１０１によって悪用され得る。この説明では侵入者１０１がパケット又は断片を送ることを想定するけれども、分析される断片又はパケットは、どこからでも送られ得ることに注意されたい。
【００１７】
断片を生成する過程は、例えば図２に関して議論され、また、断片のオーバラップは図３と関連して概ね議論される。断片のオーバラップの種類の詳細な議論は、図８及び９に関連して提供される。さらに、断片を生成する処理は、追加の断片の有無を示すために、「追加断片」指標を使用する。図４〜図７は、複合的な追加断片無しの指標の解析に関連する例示問題を議論する。オーバラップしている断片及び／又は複合的な追加断片無しの指標は、異なる種類のホストによって違った風に扱われる。
【００１８】
図２を参照して、断片列２０１中のオーバラップされていない断片を示す図を議論し、説明する。ここで、ＩＰ層で作成されたＩＰパケットは、断片２０３、２０５、２０７に分割されている。各断片は、元のＩＰパケットの情報、及び元のＩＰパケット中の断片のデータの場所の情報を含む自身のヘッダを提供される。断片２０３、２０５、２０７は、同じ断片列に属し、再組み立てされて、オリジナルのＩＰパケット中のデータを再生成することができる。
【００１９】
この図では、断片２０３、２０５、２０７は順に受信される。第１の断片２０３は、バイト０〜７を含み、第２の断片は、バイト８〜１５を含み、第３の断片はバイト１６〜２３を含む。（ヘッダは明瞭さのために省略されている。）よって、断片の再組み立ては簡単であり、通常は適切に扱われる。
【００２０】
図３を参照して、断片列３０１中の断片のオーバラップを示す図を議論し、説明する。図３は、異なる断片３０３、３０５、３０７に分割されている、図２に示されたのと同じ元のＩＰパケットを示す。この例において、第１の断片３０３はバイト０〜７を含み、第２の断片はバイト８〜２３を含む。第３の断片はバイト０〜１５を含み、第１及び第２の断片の両方にオーバラップする。これらのセグメントは、表面上は同じ断片列にある。
【００２１】
ＷＩＮＤＯＷＳシステムは、例えば、第１の断片３０３及び第２の断片３０５を再組み立てし、ＣＩＳＣＯシステムは、第３の断片３０７及び第２の断片のバイト１６〜２３を再組み立てする。侵入者は、内容が異なるオーバラップしている断片を送信することによって、侵入検知／防御システムを回避しようとすると仮定する。侵入検知／防御システムは、その攻撃を検知／防御するためには、断片を、それらの断片が目標システムで再組み立てされるように、解析すべきである。
【００２２】
これは断片をオーバラップさせる単純な実例であるが、断片の再組み立ては、図８及び図９と関連して議論される、断片のオーバラップの位置のような検討材料によって、複雑になり得る。
【００２３】
追加断片指標の使用によって表される複雑さの議論は、図４〜図７に関連して提供される。図４は、各々が最後の断片であろうとする２つ以上の断片を含む断片列中の断片を示し、図５〜図７は、図４の断片の特定の連続を示し、それぞれＷＩＮＤＯＷＳ２０００、ＣＩＳＣＯシステム、及びＳＯＬＡＲＩＳ  １０システムに従っている。
【００２４】
図４を参照して、断片列中の追加断片指標と共に断片を示す図を議論し、説明する。この例では、元のＩＰパケットは「ＡＡＡＡＡＡＡＡＢＢＢＢＢＢＢＢＣＣＣＣＣＣＣＣＤＤＤＤＤＤＤＤ」である。そのパケットは、それぞれ「ＡＡＡＡＡＡＡＡ」、「ＢＢＢＢＢＢＢＢ」、「ＣＣＣＣＣＣＣＣ」、「ＤＤＤＤＤＤＤＤ」の内容を有する４つの断片Ｐ１、Ｐ２、Ｐ３、Ｐ４に分割されている。
【００２５】
断片Ｐ１、Ｐ２、Ｐ３、Ｐ４の各々は、断片列中に複合的な断片が存在することの指標を含むことができる。さらに、断片列の最後の断片が示され得る。従来の技術は、最後の断片を除き、全ての断片に関して「追加断片」フラグをセットするために、断片を求める。ここで、第１及び第３の断片Ｐ１、Ｐ３は、「追加断片」フラグセットを有しており、第２及び第４の断Ｐ２、Ｐ４は「追加断片」フラグセットを有していない。よって、追加断片指標に間違いがある。
【００２６】
異なるオペレーティングシステムは、複合的な最後になる可能性のある断片が存在する特定の断片を受け入れる又は排除する。さらに、異なるオペレーティングシステムは、異なる数の複合的な最後の断片を受け入れることができる。
【００２７】
図５〜図７は、様々なシステム従って、断片列が再組み立てされる方法を検査する。これらの例の各々において、図４からの一連の断片は、Ｐ２、Ｐ４、Ｐ１、Ｐ３の順序で受信される。
【００２８】
図５を参照して、図４に対応する断片列中の一連の断片の、第１の解析を示す図を議論し、説明する。ＷＩＮＤＯＷＳ２０００システムは、この連続中の断片の各々を、「ＡＡＡＡＡＡＡＡ」、「ＢＢＢＢＢＢＢＢ」、「ＣＣＣＣＣＣＣＣ」、「ＤＤＤＤＤＤＤＤ」の順序で再組み立てするであろう。従って、元のＩＰパケットは、「ＡＡＡＡＡＡＡＡＢＢＢＢＢＢＢＢＣＣＣＣＣＣＣＣＤＤＤＤＤＤＤＤ」のように再生成されるであろう。
【００２９】
図６を参照して、図４に対応する断片列中の一連の断片の、第２の解析を示す図を議論し、説明する。ＣＩＳＣＯシステムは、「ＡＡＡＡＡＡＡＡ」、「ＢＢＢＢＢＢＢＢ」、「ＣＣＣＣＣＣＣＣ」の順序の断片を再組み立てし、「ＤＤＤＤＤＤＤＤ」の内容を含む第４の断片Ｐ４を落とすであろう。従って、再組み立てされたパケットの内容は、「ＡＡＡＡＡＡＡＡＢＢＢＢＢＢＢＢＣＣＣＣＣＣＣＣ」である。よって、ＣＩＳＣＯシステムは、複合的な「追加断片」指標を、断片列中の最後の断片を落とすことで取り扱う。
【００３０】
図７を参照して、図４に対応する断片列中の一連の断片の、第３の解析を示す図を議論し、説明する。ＳＯＬＡＲＩＳ  １０システムは、「ＡＡＡＡＡＡＡＡ」、「ＢＢＢＢＢＢＢＢ」及び「ＤＤＤＤＤＤＤＤ」の順序の断片を、それぞれバイト０〜７、８〜１５及び２４〜３１として、再組み立てするであろう。それは、「ＣＣＣＣＣＣＣＣ」の内容を含む第３の断片Ｐ３を落とすであろう。再組み立てされたパケットの内容は、「ＡＡＡＡＡＡＡＡＢＢＢＢＢＢＢＢＤＤＤＤＤＤＤＤ」である。よって、ＳＯＬＡＲＩＳ  １０システムは、複合的な「追加断片」指標を、最後に受信した断片を落とすことで取り扱う。
【００３１】
再組み立ての次の追加的な例を検討する。そこでは、断片列中の一連の断片がＰ４−Ｐ２−Ｐ１−Ｐ３の順序で受信される。再組み立てされたパケットは、ＦＲＥＥＢＳＤ  ５．１オペレーティングシステム、ＳＯＬＡＲＩＳ  １０オペレーティングシステム、及びＯＰＥＮＢＳＤ  ３．６オペレーティングシステムに関しては、「ＡＡＡＡＡＡＡＡＢＢＢＢＢＢＢＢＣＣＣＣＣＣＣＣＤＤＤＤＤＤＤＤ」である。ＣＩＳＣＯオペレーティングシステムに関しては、再組み立てされたパケットは、「ＡＡＡＡＡＡＡＡＢＢＢＢＢＢＢＢＣＣＣＣＣＣＣＣ」である。ＬＩＮＵＸ  ２．２オペレーティングシステム、ＬＩＮＵＸ  ２．４オペレーティングシステム、ＷＩＮＤＯＷＳ  ２０００オペレーティングシステム及びＷＩＮＤＯＷＳ  ＸＰオペレーティングシステムは、恐らくはそれらの断片はエラーを含んでいると判断して、入力される断片を受信しない。
【００３２】
一つ以上の実施形態によれば、目標システムを含む複数の目標システムが提供され、目標システムは１種類のホストと関連し、各々のホストは各々の断片再組み立て方針に関連し、且つ、特定される少なくとも一つの断片再組み立て方針は、目標システムと関連するホストの種類に関連する。
【００３３】
断片の再組み立ては、図８及び図９と関連して議論されるように、断片のオーバラップの場所によって複雑である。図８の議論は、Vern Paxon及びUmesh Shankar（「Paxon/Shankar」）によって認識されたオーバラップしている断片のタイプの、発明者による解析であり、図９の議論は、オーバラップしている断片の追加的なタイプを認識する。図８及び図９の両方において、「元の断片」は最初に到着した断片であり、「オーバラップしている断片」は、元の断片の後に到着した断片である。オフセットは、断片のバイト差を示す。図９におけるオフセットは、図８における断片の続きであると仮定している。
【００３４】
図８を参照して、オーバラップしている断片を解析するための従来モデルを議論し、説明する。「アクティブマッピング：ＮＩＤＳへの抵抗  トラフィック警報無く迂回」という表題の論文において、著者のVern Paxson及びUmesh Shankarは、侵入検知システムの回避の手段として断片技術を議論している。Paxson/Shankarモデルのテストは、次の５つの異なる断片の再組み立て方法を暴露している。（１）ＢＳＤオペレーティングシステムは、後続の断片のオフセット以下のオフセットを有する元の断片を優先する。（２）ＢＳＤ−ｒｉｇｈｔオペレーティングシステムは、続く断片のオフセット以下のオフセットを断片が有している場合、続く断片を優先する。（３）ＬＩＮＵＸオペレーティングシステムは、後続の断片のオフセット以下のオフセットを有する元の断片を優先する。（４）第１は、任意のオフセットを有する元の断片を優先する。（５）最後は、任意のオフセットを有する後続の断片を優先する。
【００３５】
Paxson/Shankarモデルのテストは、Paxson/Shankarが、全てでは無いが、次の幾つかのタイプのオーバラップされた断片を検討してことを示している。（１）同一のオフセット及び長さの後続の断片と完全にオーバラップされた断片（「完全オーバラップ」）、（２）元の断片よりも大きいオフセットを有する後続の断片によって部分的にオーバラップされている断片（「部分的オーバラップ」）、及び（３）元の断片よりも小さいオフセットを有する後続の断片によって部分的にオーバラップされている断片（「部分的オーバラップ」）。
【００３６】
図８において、異なる６つの断片がある。各図示された、８バイトのまとまりを表すボックスで示されている。まとまり１Ａ、１Ｂ、１Ｃは第１の断片を示し、まとまり２Ａ、２Ｂは第２の断片を示し、まとまり３Ａ、３Ｂ、３Ｃは第３の断片を示し、まとまり４Ａ、４Ｂ、４Ｃ、４Ｄは第４の断片を示し、まとまり５Ａ、５Ｂ、５Ｃは第５の断片を示し、まとまり６Ａ、６Ｂ、６Ｃは第６の断片を示す。
【００３７】
図８において、第５の断片５Ａ、５Ｂ、５Ｃは、第３の断片３Ａ、３Ｂ、３Ｃに完全にオーバラップしている。それらは、同じオフセット、即ち４８から始まり、同じ長さ、即ち２４バイトの長さである。よって、第３及び第５の断片は、「完全オーバラップしている断片」又は完全オーバラップと呼ばれるタイプを示している。
【００３８】
第４の断片は４Ａ、４Ｂ、４Ｃ、４Ｄは、第１の断片に部分的にオーバラップしている。第４の断片のオフセットは、第１の断片の後から始まっており、第４の断片の長さは、第１の断片の後で終わる長さである。第４の断片４Ａ、４Ｂ、４Ｃ、４Ｄは、第２の断片２Ａ、２Ｂにも部分的にオーバラップしている。第４の断片は、第２の断片の前に始まり、第２の断片の前に終わっている。第４の断片は、「部分的オーバラップしている断片」又は「部分的オーバラップ」と呼ばれるタイプのオーバラップを示している。
【００３９】
また、図８には、「非オーバラップの断片」又は「非オーバラップ」と呼ばれるタイプのオーバラップも示している。第６の断片６Ａ、６Ｂ、６Ｃのオフセット及び長さは、それに後続する又はその前の何れの断片とも全くオーバラップしていないようなオフセット及び長さである。
【００４０】
しかし、図８に示されたモデルは、断片配列の異なる全ての組み合わせを提供していないので、不完全である。例えば、それは、元の断片よりも大きい開始オフセット及び元の断片よりも小さい終了オフセットを有する後続の断片を決して考慮していない。ＷＩＮＤＯＷＳ及びＳＯＬＡＲＩＳオペレーティングシステムは、この特別な例を異なるように再組み立てする。従って、他のタイプの断片のオーバラップが考慮されなければならない。
【００４１】
図９を参照して、包括的にオーバラップしている断片を含むオーバラップしている断片を解析するためのモデルを示す図を議論し、説明する。図９は、様々な包括的にオーバラップされた断片を示す図を提供する。このモデルは、元の断片３．１（まとまり３．１Ａを含む）、元の断片３．２（まとまり３．２Ａ、３．２Ｂを含む）、元の断片３．３（まとまり３．３Ａ、３．３Ｂ、３．３Ｃを含む）、元の断片３．４（まとまり３．４Ａ、３．４Ｂを含む）、元の断片３．５（まとまり３．５Ａ、３．５Ｂを含む）及び元の断片３．６を追加している。それらの全ては、図８に示された元の断片１〜３の直後に続く。このモデルは、後続の断片６（まとまり６Ａ、６Ｂ、６Ｃを含む）、断片７（まとまり７Ａ、７Ｂ、７Ｃを含む）、断片８、断片９、断片１０及び断片１１（まとまり１１Ａ、１１Ｂを含む）をも使用する。それらの全ては、図８に示された後続の断片４〜６に続く。
【００４２】
ここで「完全オーバラップしている断片」又は「完全オーバラップ」と呼ばれる断片は、オーバラップされた断片の一つのデータのオフセット及び長さが、他のオーバラップされた断片のデータによってそのデータが包含されている（即ち、包囲されている）様なオフセット及び長さである断片を含む。しかし、「包括的なオーバラップ」は、オフセット及び長さが同じ場合は含まない。
【００４３】
「包括的にオーバラップされた断片」は以下のような例を含む。即ち、元の断片が後続の断片より前に開始し、且つ、後続の断片より後に終了する（例えば、断片３．３及び断片８）。元の断片が後続の断片より前に開始し、且つ、後続の断片と同じに終了する（例えば、断片３．４及び断片９）。元の断片が後続の断片と同じに開始し、且つ、後続の断片より後に終了する（例えば、断片３．５及び断片１０）。元の断片が後続の断片と同じに開始し、且つ、後続の断片より前に終了する（例えば、断片３．６及び断片１１）。元の断片が後続の断片より後に開始し、且つ、後続の断片より前に終了する（例えば、断片３．１及び断片６）。元の断片が後続の断片より後に開始し、且つ、後続の断片と同じに終了する（例えば、断片３．２及び断片７）。
【００４４】
図９のモデルを利用すると、少なくとも７つの、例えば次の異なる断片再組み立て方針が作成され得る。（１）ＢＳＤオペレーティングシステムは後続の断片以下のオフセットを有する断片を優先する。（２）ＢＳＤ−ｒｉｇｈｔオペレーティングシステムは、元の断片が後続の断片以下のオフセットを有する場合、元の断片が後続の断片と同じに又はより大きいオフセットで終了する場合を除き、後続の断片を優先する。（３）ＬＩＮＵＸオペレーティングシステムは、後続の断片以下のオフセットを有する元の断片を優先する。（４）最初は、任意のオフセットを有する元の断片を優先する。（５）ＷＩＮＤＯＷＳオペレーティングシステムは、後続の断片オフセットが元の断片より前に始まり且つ元の断片の後に終了する場合（この場合にはＷＩＮＤＯＷＳオペレーティングシステムは後続の断片を優先する）を除いては、元の断片を優先する。（６）ＳＯＬＡＲＩＳオペレーティングシステムは、後続の断片オフセットが元の断片より前に始まり且つ元の断片以上のオフセットで終了する場合（この場合には、ＳＯＬＡＲＩＳオペレーティングシステムは後続の断片を優先する）を除いては、元の断片を優先する。（７）最後は、任意のオフセットを有する後続の断片を優先する。「最初」及び「最後」の再組み立て方針は、期待するように応答した利用可能なテストシステムが無いので、理論上のものである。
【００４５】
一つ以上の包括的にオーバラップされた断片を考慮する別の再組み立て方針も作成され得る。例えば、再組み立て方針は、現在のＣＩＳＣＯオペレーティングシステムにとっては適切であるが、包括的にオーバラップされたパケットを無視することを要求するかも知れない。別の例として、元の断片が後続の断片の後に開始し且つ後続の断片の前に終了する場合、元の断片が前の元の断片に直接境を接しているか否か（左固定  対  非左固定）に依存して、再組み立て方針は、違うように元の又は後続の断片を受け入れることを要求するかも知れない。この場合、ＷＩＮＤＯＷＳは、元の非左固定の断片の上の後続の断片（即ち、それぞれ断片３．１及び６）を受け入れ、しかし、後続の断片の上の元の左固定の断片（図示せず）を受け入れる。様々な実施形態は、再組み立て方針の任意の組合せ、及び／又はその全てを含むことができ、方針の少なくとも一つは、包括的にオーバラップされた断片用の異なる解析を有する。
【００４６】
特定タイプの目標システムに使用される再組み立て方針は、例えば、ＩＣＭＰエコー応答に反映された場合、断片再組み立て方針を決定することができる一意のペイロードを有するＩＣＭＰエコー要求（又は別のエコーバックアプリケーション）を使用することによって、観察され得る。特定の再組み立て方針は、アクティブまたはパッシブスキャナを介して検証され得る。
【００４７】
その結果、一つ以上の実施形態は、断片が、非オーバラップである、包括的にオーバラップされた、部分的にオーバラップされた、及び完全にオーバラップされた状態の内の一つで在り得、そして、少なくとも一つの断片再組み立て方針が、少なくとも包括的にオーバラップされた断片に特有の順序を示すと定める。
【００４８】
図１０を参照して、典型的なコンピュータシステム１００１の一部を示すブロック図が議論され、説明されるであろう。コンピュータシステム１００１は、ネットワーク１０３５からの通信を公知の技術に従って検出するセンサ１００３からの信号を受信することができる、一つ以上のコントローラ１００５を含むことができる。ここで、通信は目標システム（図示せず）に送られる。コントローラ１００５は、プロセッサ１００７、メモリ１０１３、オプションのディスプレイ１００９、及び／又はキーボード１０１１のようなオプションのユーザ入力装置を含むことができる。
【００４９】
プロセッサ１００７は、一つ以上のマイクロプロセッサおよび／又は一つ以上のデジタル信号プロセッサを備えることができる。メモリ１０１３はプロセッサ１００７と接続されており、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、プログラム可能なＲＯＭ（ＰＲＯＭ）および／又は電気的に消去可能な読み出し専用メモリ（ＥＥＰＲＯＭ）を備えていることができる。メモリ１０１３は、記録用の複合的なメモリ位置、中でも、プロセッサ１００７によって実行されるオペレーティングシステム、データや変数１０１５を格納するためのメモリ位置と、プロセッサに様々な機能、例えば断片列中の断片の受信１０１７、目標システムと関連するホストの種類の決定１０１９、ホストの種類に対応する断片再組み立て方針の特定１０２１、断片再組み立て方針によって指定された順序での断片中のデータの提供１０２３、その順序での断片の再組み立て１０２５、侵入検知／防御ユニット１０２７、及び／又はその他の処理と関連して動作させるコンピュータプログラムと、断片再組み立て方針データベース１０２９と、ホストの種類のデータベース１０３１と、プロセッサ１００７によって使用される他の情報用のデータベース１０３３とを含むことができる。コンピュータプロラムは、例えば、ＲＯＭ又はＰＲＯＭに格納され、プロセッサ１００７にコンピュータシステム１００１の動作を制御させることができる。
【００５０】
プロセッサ１００７は、場合に応じて、断片列中の断片を受信１０１７するようにプログラムされ得る。図示された例において、断片は、コンピュータシステム１００１に接続されたセンサ１００３によって検知され、公知に技術に従ってコンピュータシステム１００１に提供される。
【００５１】
プロセッサ１００７は、目標システムと関連するホストの種類の決定１０１９を行うようにプログラムされ得る。典型的な場合には、ターゲットシステムは、断片中で、例えば宛先ＩＰアドレスとして特定される。特定の目標システムに関連するホストの種類を示すホスト種類データベース又はテーブルは、知られた目標システムのために維持されることができる。ホスト種類データベース又はテーブルは、例えば、マニュアルでの構成によって、またはターゲットシステムについて尋ねることによって生成され得る。よって、ホスト種類データベース又はテーブルは、関連するホストの種類を決定するために、目標システムの特定に基づいて参照され得る。その代わりに、断片が、ホスト種類の指標を含むことができる。ホスト種類は、オペレーティングシステム／プラットフォーム及び付加的にバージョンを、例えばＨＰ  ＪｅｔＤｉｒｅｃｔ、ＡＩＸ  ２、ＦｒｅｅＢＳＤ、ＨＰ−ＵＸ  Ｂ１０．２０、ＩＲＩＸ  ４．０、ＮＣＤ  シンクライアント、ＯｐｅｎＢＳＤ、Ｏｐｅｎ  ＶＭＳ、ＯＳ／２、ＯＳＦ１、ＳｕｎＯＳ  ４．１．４、Ｔｒｕ６４、ＬＩＮＵＸ  ２．ｘ、ＭＡＣ  ＯＳ、ＷＩＮＤＯＷＳ  ２０００、ＷＩＮＤＯＷＳ  ＸＰ、ＣＩＳＣＯ  ＩＯＳなどを示す。ホスト種類は、断片を直接再組み立てするプラットフォーム及び／又はオペレーティングシステムを区別することを意図したものである。
【００５２】
更に、プロセッサ１００７は、ホストの種類に対応する断片再組み立て方針の特定１０２１のためにプログラムされ得る。ホスト種類を決定すれば、適切な断片再組み立て方針が決定され得る。特定の断片再組み立て方針は、一つ以上の種類のホストに関連して適用され得る。有利なことに、テーブル又はデータベースは、特定の種類のホストに適用されるべき複数の断片再組み立て方針の一つを指定することができる。図示された例においては、断片再組み立て方針１０２９は、例えばホストの種類によって指標化される２つ以上の断片再組み立て方針を含む。
【００５３】
一度断片再組み立て方針が特定されれば、プロセッサ１００７は、断片再組み立て方針によって示された順序で、断片中のデータを提供１０２３することができる。データは、例えば、受信した断片を分析することによって、その順序で断片からのデータを記録部に蓄積することによって、または、別の処理（例えば、侵入検知／防御ユニット１０２７）用の入力として提供された断片からのデータによって提供される。例えば、プロセッサ１００７は、図９及び／又は図８と関連して議論された一つ以上の方針及び順序に従って、断片中のデータを扱うようにプログラムされ得る。
【００５４】
場合によると、プロセッサ１００７は、特に断片をその順序で再組み立てする１０２５ようにプログラムされ得る。このことは、断片中のデータを、その順序で、記録場所に、パケットを再生成するために、蓄積することによって成され得る。再生成されたパケットは、さらなる処理、例えば侵入検知／防御ユニット１０２７のために提供され得る。
【００５５】
プロセッサ１００７注の付加的な侵入検知／防止ユニット１０２７は、企てられた侵害を（適切な順序である）断片が示唆するか否を判断するために、公知技術に従ってプログラムされてもよい。侵入検知／防止ユニット１０２７は、コンピュータシステム１００１に組み込まれているように図示されている。別の実施形態は、幾つかのまたは全ての侵入検知／防止機能が一つ以上の異なるコンピュータシステム中にあるように定めることもできる。さらに、代替の実施形態は、侵入検知／防止ユニット１０２７が、ホストＩＤＳまたはホストＩＰＳであると定めることができ、よって、コンピュータシステムが目標システムで在ることができる。
【００５６】
プロセッサ１００７は、断片再組み立て方針データベース１０２９用にプログラムされ得る。断片再組み立て方針１０２９は、２つ以上の断片再組み立て方針を含むことができる。その代わりに、異なる断片再組み立て方針導入するために、分離コードが提供され得る。その代わりに、断片再組み立て方針データベース１０２９は、リモートデータベースに記録され、必要に応じてアクセスされ得る。
【００５７】
プロセッサ１００７は、ホスト種類データベース１０３１用にプログラムされてもよい。ホスト種類データベース１０３１は、特定の目標システムに関連するホスト種類を示すために、知られた目標システムのために維持され得る。場合によっては、ホスト種類データベース１０３１が遠隔的に維持され、必要に応じて関連するホスト種類がダウンロードされ得る。場合によっては、ホスト種類は、データベースよりもテーブル中において示され得る。
【００５８】
従って、一つ以上の実施形態は、侵害の検知及び防止のうちの少なくとも一つのためのコンピュータシステムを提供する。コンピュータシステムは、（Ａ）断片列中の断片中の、目標システムの指標に応じて、目標システムに関連するホストの種類を決定することを容易にするように構成されたユニット、（Ｂ）複数の断片再組み立て方針の中から、断片列中の断片に関連するホストの種類に対応する少なくとも一つの断片再組み立て方針を特定することを容易にするように構成された断片再組み立てユニット、及び、（Ｃ）少なくとも一つの断片再組み立て方針によって示される順序で、断片列中の断片中のデータを提供することを容易にするように構成された順序提供ユニットを含むことができる。
【００５９】
一つ以上の実施形態は、少なくとも一つの断片再組み立て方針によって示される順序で、断片列中の断片を再組み立てするリアセンブラを含むことができる。また、一つ以上の実施形態は、再組み立てされた断片中の侵入を検知／防御するために、侵入検知／防御ユニットを含むことができる。ここで、リアセンブラは、侵入検知／防御ユニットに再組み立てされた断片を提供する。
【００６０】
一つ以上の実施形態によれば、受信ユニットは、断片列中の断片を受信することを容易にするように構成されている。ここで、断片はＩＰ層（後述される）に従って受信される。さらに、一つ以上の実施形態によれば、順序提供ユニットはさらに、ＩＰ層（後述される）のフォーマットに従って断片中のデータの順序を決定する。さらに、一つ以上の実施形態は、目標システムが断片のヘッダ中で指定されることを定めることができる。
【００６１】
また、従って、様々な実施形態に対して、目標システムを含む複数の目標システムが、即ち、ホストの種類、各々の断片再組み立て方針に対応する各々のホスト種類、及び、目標システムと関連するホスト種類に対応すると特定された少なくとも一つの断片再組み立て方針に関連する目標シスステムが提供される。
【００６２】
機能の様々な論理的グルーピングが、ここで説明されることが理解されるべきである。異なる具現化は、これらの論理的グルーピングの一つ以上を除外してもよい。同様に、様々な具現化において、機能は異なるようにグループ化されても、結合されても、増補されてもよい。さらに、適切とされたものを含む機能は、様々な具現化から除外され得る。同様に、本記述は、データベース、又はデータ及び情報の集合を記述し又は示唆することができる。一つ以上の実施形態は、データベース又はデータ及び情報の集合が分散され、結合され、又は増補され、又はローカルに（図示されたように）及び／又は遠隔に（図示せず）提供され得ることを定めることができる。
【００６３】
図１１及び図１２は、ＩＰ層の処理に関連する該当仕様を示す。図１１はＩＰ層の処理を示し、図１２はＩＰ層フォーマットにおける断片の該当部分を示す。
【００６４】
図１１を参照して、ＩＰ層の処理を示すブロック図を議論し、説明する。この例は、データリンク層１１０１、ＩＰ層１０１３、トランスポート層１１０５、及びアプリケーション層１１０７を示す。パケットは、受信され、様々な層で公知技術に従って処理される。例えば、入力されるパケットは、最初にデータリンク層で受信され、ＩＰ層にパスされ、続いてさらなる処理のための上位層にパスされる。データリンク層１１０１、ＩＰ層１１０３、トランスポート層１１０５、及びアプリケーション層１１０７に関連する仕様などは周知である。特に、フォーマット及びＩＰ層に関連するパケット及びパケット断片の仕様は周知である。
【００６５】
図１２を参照して、断片の部分を示すブロック図を議論し、説明する。図示された断片は、ＩＰ断片、即ちＩＰ層に従ってフォーマットされたパケットの断片である。断片は、ヘッダ１２１１及びＩＰデータ１２０９を含んでいる。ヘッダ１２１１は。ＩＰ識別番号１２０１、追加断片指標１２０３、断片オフセット１２０５、及び目標システムの指標１２０７を含んでいる。
【００６６】
従来のＩＰ層の処理に従ってパケットが生成されるとき、パケットはＩＰ識別番号１２０１を付与される。パケットが断片に分割されるとき、各断片は依然として元のパケットに属し、通常ＩＰ識別番号１２０１を含む。断片列は、同じＩＰ識別番号を有する断片によって特定され得る。
【００６７】
追加断片指標１２０３は、ＩＰパケットが断片に分割されるときに、公知技術に従って挿入される。仮に追加断片指標１２０３がセットされていなければ、そのことは、通常は、その断片はＩＰパケットの最後の断片であることを示す。断片オフセット１０５は、元のＩＰパケット中のデータのオフセットを示すために、パケットに含まれる。
【００６８】
目標システム１２０７は、ＩＰパケットの宛先を一意に特定する。目標システム１２０７は、通常目標システムのＩＰアドレスである。
【００６９】
従って、一つ以上の実施形態は、ＩＰ層フォーマットに従ってフォーマットされると定める。さらに、一つ以上の実施形態は、目標システムが断片のヘッダ中で示されることを定める。
【００７０】
図１３及び図１４は、断片列の解析するための手順のフローチャートである。図１３は特に、追加断片指標を取り扱い、図１４は特に、包括的にオーバラップされた断片を取り扱う。これらは別々の手順として図示されているが、一つの手順が、追加断片指標及び包括的にオーバラップされた断片の両方を取り扱うことができることが理解されるであろう。これらの手順は、有利なことに、例えば、図１０に関連して説明されたコントローラのプロセッサ上に又は適切にアレンジされた他の装置の上に実装され得る。図１３及び１４は、以下においてより詳しく議論される。
【００７１】
図１３を参照して、追加断片フラグを有する断片列を解析するための、例示的な手順１３０１を示すフローチャートを議論し、説明する。概略として、手順１３０１は、断片列中の断片を受信するステップ１３０３、断片と関連する目標システムに対応する断片再組み立て方針を特定するステップ１３０５、追加断片指標を扱う断片再組み立て方針に従う順序で、有する断片中のデータを提供するステップ１３０７、及び、次の断片列中の断片を受信するステップ１３１１とを含む。場合によっては、手順１３０１は、その順序で断片を再組み立てして、侵入検知／防御システムに提供するステップ１３０９を含むことができる。これらは以下で説明されるが、既に説明された詳細は省略される。
【００７２】
その手順は、断片列中の断片を受信するステップ１３０３を含む。断片は、公知技術に従って受信され得る。一つの断片列中の断片をバラバラの順序で受信することに加えて、異なる断片列中の断片をバラバラの順序で受信することも可能である。場合によっては、複合的な断片列は、公知技術に従って、受信中に記録され得る。断片及び断片列は、順序に従って受信される必要はないので、断片の受信、及び断片中のデータを提供するため、及び／又は断片を再組み立てするための処理は、同期して扱われ得ることが理解できるであろう。
【００７３】
断片列が受信されると、手順は、その断片に関連する目標システムに対応する断片再組み立て方針を特定するステップ１３０５の準備をする。例えば、断片のヘッダから目標システムが決定され、目標システムに関連するホストの種類が（上記したように）決定され、且つホストの種類用の断片再組み立て方針が（上記したように）決定される。そうでなければ、目標システムが断片ヘッダから決定され、且つ目標システム用の断片再組み立て方針が（上記したように）決定される。またその代替として、ＩＰヘッダは断片再組み立て方針を示すことができる。
【００７４】
そして、手順は、断片再組み立て方針に従った順序で断片列中の断片中のデータを提供するステップ１３０７を含むことができる。ここで、断片再組み立て方針は、断片オフセット及び追加断片指標に基づく順序を決定するステップを含む。このことは、上で詳細に説明された。
【００７５】
場合によっては、手順１３０１は、その順序で断片を再組み立てし、侵入検知／防御システムに提供するステップ１３０９を含むことができる。これらの各々は上で詳細に説明された。
【００７６】
断片列を取り扱った後、手順は、次の断片列中の断片を受信するステップ１３１１を準備することができる。
【００７７】
従って、一つ以上の実施形態は、通信ネットワークにおいて、同じ断片列中の複数の断片を含み且つ同じ目標システムに関連する断片列を、分析する方法であって、（Ａ）複数の断片再組み立て方針中の少なくとも一つの断片再組み立て方針を特定するステップと、（Ｂ）前記少なくとも一つの断片再組み立て方針によって示される順序で前記断片列中の断片中のデータを提供するステップとを含み、前記少なくとも一つの断片再組み立て方針が、断片列中の断片に関連する目標システムに対応し、前記少なくとも一つの断片再組み立て方針が、前記断中のオフセット及び追加断片指標に応じて前記順序を決定することを含む方法を提供する。
【００７８】
従って、一つ以上の実施形態は、前記少なくとも一つの断片再組み立て方針によって示される前記順序で、前記断片を再組み立てするステップと、侵入検知／防御システムに前記再組み立てされた断片を提供するステップとを含む。
【００７９】
さらに、一つ以上の実施形態は、前記断片列中の前記断片受信するステップを準備し、前記受信するステップが、ＩＰ層に従って実行される。
【００８０】
図１４を参照して、オーバラップされた断片を有する断片列を解析するための例示的な手順１４０１を示すフローチャートを議論し、説明する。全体として、手順１４０１は、断片列中の断片を受信するステップ１４０３と、断片と関連する目標システムに対応する断片再組み立て方針を特定するステップ１４０５と、包括的にオーバラップされた断片を扱うことを含む断片再組み立て方針に従う順序で、断片中のデータを提供するステップ１４０７と、次の断片列中の断片を受信するステップ１４１１とを含む。場合によっては、手順１４０１は、その順序で断片を再組み立てし、侵入検知／防御システムに提供するステップ１４０９を含むことができる。先に説明された詳細は省略する。さらに、図１４の多くは図１３と同様であり、繰り返しを避けるために、適切な場合には図１３に戻って参照が成される。
【００８１】
その手順は、図１３と関連して説明されたように、断片列中の断片を受信するステップ１４０３を含む。断片列が受信されると、図１３において説明されたように、断片と関連する目標システムに対応する断片再組み立て方針を特定するステップ１４０５を準備する。
【００８２】
その手順は、断片再組み立て方針に従った順序で、断片列中の断片中のデータを提供するステップ１４０７を含むことができる。ここで、その順序は、包括的にオーバラップして断片に特有の順序である。場合によっては、その順序は、部分的にオーバラップされた断片及び／又は完全にオーバラップされた断片を扱うことができる。このことは、上で詳細に説明された。
【００８３】
場合によっては、手順１４０１は、その順序で断片を再組み立てし、及び／又は侵入検知／防御システムに提供するステップ１４０９を含むことができる。これらの各々は、上で詳細に説明された。断片列を取り扱った後、その手順は、次の断片列中の断片を受信するステップ１４１１を準備する。
【００８４】
従って、一つ以上の実施形態は、コンピュータによって実行される命令を含んだコンピュータ読取可能な媒体を提供する。ここで、その命令は、通信ネットワークにおける断片を解析するためのコンピュータにより実行される方法を含み、断片列は、同じ断片列中の複数の断片を含み、同じ目標システムに関連する。ここで、断片は、非オーバラップである、包括的にオーバラップされている、部分的にオーバラップされている、または完全にオーバラップされていることができる。その命令は、（Ａ）複数の断片再組み立て方針の中の少なくとも一つの断片再組み立て方針を特定すること、及び（Ｂ）前記少なくとも一つの断片再組み立て方針によって示される順序で前記断片列中の断片中のデータを提供することを実行するためのものであり、前記少なくとも一つの断片再組み立て方針が、断片列中の断片に関連する目標システムに対応し、前記少なくとも一つの断片再組み立て方針が、少なくとも包括的にオーバラップされた断片に特有の順序を示す。一つ以上の実施形態は、さらに、前記少なくとも一つの断片再組み立て方針によって示された順序で、断片を再組み立てし、再組み立てされた断片を侵入検知／防御システムに提供するための命令を含む。さらに、一つ以上の実施形態は、断片列中の断片を受信する命令を含む。ここで、受信はＩＰ層に従って実行され、断片中のデータの提供はＩＰ層フォーマットを断片に適用することを含む。場合によっては、一つ以上の実施形態は、目標システムを含む複数の目標システムを提供し、前記目標システムはホスト種類と関連し、各々のホスト種類は各々の断片再組み立て方針に関連し、特定された前記少なくとも一つの断片再組み立て方針は、前記目標システムに関連するホスト種類に関連している。
【００８５】
さらに、実施形態は、上記したコンピュータ読取可能な媒体及び／又は方法を有して構成されたコンピュータシステム、及び／又は、上記したコンピュータ読取可能な媒体及び／又は方法を有して構成された、少なくとも一つのコンピュータシステムを備える通信ネットワークを含む。
【００８６】
インターネットの通信ネットワークは、断片に形成されるパケットで情報を転送する物、例えば、パケットの形式でデータを転送するパケットスイッチングネットワークとして知られている物を含むことに注意されるべきである。そこでは、データが転送の前にパケットに分割され、パケットが転送され、パケットは、パケットを断片化することができるネットワークインフラストラクチャ装置上をルーティングされ、断片がパケットに再組み立てされる宛先に送られる。そのようなネットワークは、一例として、インターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）などを含む。パケットを扱う通信ネットワークをサポートするプロトコルは、ＩＰをサポートする任意のリンク層を有する様々なネットワークプロトコル中の一つ以上、又はＩＰ上の任意のアプリケーション又はトランスポート、例えばＴＣＰ／ＩＰ（トランスミッション  コントロール  プロトコル／インターネットプロトコル）、ＨＴＴＰ（ハイパーテキスト  トランスファ  プロトコル）、及び、他の無線アプリケーションプロトコル又は有線アプリケーションプロトコル及び／又は他のプロトコル構成、及び、それらの変形物及び進化物を含む。
【００８７】
さらに、記述「侵入検知／防御システム」は、ここでは、パッシブ又はアクティブに、侵入に関してネットワークトラフィックを解析する装置又はソフトウェアを表すために使用される。そうした装置またはソフトウェアの例は、時として、「侵入検知システム」（ＩＤＳ）、「侵入防御システム」（ＩＰＳ）、「ネットワーク侵入検知システム」（ＮＩＤＳ）、「ネットワーク保護システム」（ＮＩＤＳ）など、及びそれらの変形物又は進化物と呼ばれる。侵入検知／防御システムは、ホストベースであることができ、又は、目標システムへのトラフィックを、例えば、目標システムと侵入者との間のどこでもよいが、典型的には最終のルータ又はファイアウォールの後にあるセンサを使用してモニタすることができる。記述「侵入検知／防御システム」は、ここでは、侵入に関してネットワークトラフィックの解析を示すために使用され、この解析はパッシブに使用される（通常「侵入検知」と呼ばれる）か、アクティブに使用される（通常「侵入防御」と呼ばれる）かによらない。同様に、「検知／防御」の記述は、侵入のパッシブ又はアクティブな取り扱いを示すために使用される。このことは、例えば、ＩＤＳ、ＩＰＳ、又は、ＩＤＳ又はＩＰＳ機能を組み込んでいる他のソフトウェア又は装置において生じるかもしれない。
【００８８】
この開示は、本発明に係る様々な実施形態を生成し、使用する方法を説明することを意図しており、その真の、意図された、及び公正な範囲及び精神を制限するのではない。発明は、本特許出願の継続中において補正されるかも知れないが、添付の特許請求の範囲およびその全ての均等物によってのみ定められる。上記の記載は、網羅的であることを意図したものでなく、発明を開示されたそのものに制限することを意図してもいない。上記の教示に照らして、修正及び変形が可能である。実施形態は、発明の原理及びその実際の適用の最良の説明を提供し、この分野の通常の知識を有する者に、様々な実施形態として又は予期される特定の使用に適した様々な修正を伴って、本発明を使用することを可能にするために選択され、記述された。そのような修正及び変形は、公正に、合法的に且つ公平に権利化された範囲に従って解釈される場合、本特許出願の継続中において補正されるかも知れないが、添付の特許請求の範囲およびその全ての均等物によって定められているように、本発明の範囲内に在る。
【図面の簡単な説明】
【００８９】
【図１】図１は、断片列の解析に関連する簡略且つ代表的な環境を示す図である。
【図２】図２は、断片列中の非オーバラップである断片を示す図である。
【図３】図３は、断片列中のオーバラップしている断片を示す図である。
【図４】図２は、断片列中において、追加断片指標を有する断片を示す図である。
【図５】図５は、図４に対応する断片列における一連の断片の第１の解析を示す図である。
【図６】図６は、図４に対応する断片列における一連の断片の第２の解析を示す図である。
【図７】図７は、図４に対応する断片列における一連の断片の第３の解析を示す図である。
【図８】図８は、オーバラップしている断片の解析用の従来のモデルを示す図である。
【図９】図９は、包括的にオーバラップしている断片を含むオーバラップしている断片を解析するモデルを示す図である。
【図１０】図１０は、例示的なコンピュータシステムの一部を示すブロック図である。
【図１１】図１１は、ＩＰ層の処理を示すブロック図である。
【図１２】図１２は、断片の一部分を示すブロック図である。
【図１３】図１３は、追加断片フラグを有する断片列を解析する例示的な手順を示すフローチャートである。
【図１４】図１４は、オーバラップされた断片を有する断片列を解析する例示的な手順を示すフローチャートである。
【図１】
2008079291.tif 000003
【図２】
2008079291.tif 000004
【図３】
2008079291.tif 000005
【図４】
2008079291.tif 000006
【図５】
2008079291.tif 000007
【図６】
2008079291.tif 000008
【図７】
2008079291.tif 000009
【図８】
2008079291.tif 000010
【図９】
2008079291.tif 000011
【図１０】
2008079291.tif 000012
【図１１】
2008079291.tif 000013
【図１２】
2008079291.tif 000014
【図１３】
2008079291.tif 000015
【図１４】
2008079291.tif 000016
【外国語明細書】
2008079291000001.pdf
2008079291000002.pdf
2008079291000003.pdf
2008079291000004.pdf