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