JP2004503146A - サービス拒否攻撃を防ぐための方法 - Google Patents

サービス拒否攻撃を防ぐための方法 Download PDF

Info

Publication number
JP2004503146A
JP2004503146A JP2002508093A JP2002508093A JP2004503146A JP 2004503146 A JP2004503146 A JP 2004503146A JP 2002508093 A JP2002508093 A JP 2002508093A JP 2002508093 A JP2002508093 A JP 2002508093A JP 2004503146 A JP2004503146 A JP 2004503146A
Authority
JP
Japan
Prior art keywords
traffic flow
data packet
data
network
data packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002508093A
Other languages
English (en)
Other versions
JP3993092B2 (ja
Inventor
メイハー,ロバート,ダニエル,ザ サード
ベネット,ヴィクター, エー.
Original Assignee
ネットレイク コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ネットレイク コーポレーション filed Critical ネットレイク コーポレーション
Publication of JP2004503146A publication Critical patent/JP2004503146A/ja
Application granted granted Critical
Publication of JP3993092B2 publication Critical patent/JP3993092B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

データネットワーク上でサービス拒否タイプの攻撃を防ぐための方法および装置が記載される。本方法(500)は、トラフィックフロー走査エンジン(502)を用いてデータネットワーク上を流れるデータパケットの内容を走査することを含む。データパケットは並べ替えられ、アセンブルし直され(504)、その後、ペイロード内容が走査され(510)、データパケットが所定の要件に一致するか否かが判定される(512)。正確に並べ替えられず、アセンブルし直されない(506)データパケット、あるいは所定の要件に一致しない(512)データパケットは破棄される場合がある(508)。トラフィックフロー走査エンジンはさらに、データパケットが有効であることを検証されたトラフィックフローに関連付けられるか否かを判定するように動作可能である(514)。有効であることを検証されたトラフィックフローに関連付けられるデータパケットは高い優先順位に割り当てられ(520)、一方、有効であることを検証されたトラフィックフローに関連付けられないデータパケットは低い優先順位に割り当てられて(516)、そのトラフィックフローは、利用可能な帯域幅のうちの所定の最大幅以下の帯域幅しか占有することができない(518)。

Description

【0001】
[技術分野]
本発明は広帯域データネットワークキング装置に関する。具体的には、本発明はサービス拒否タイプのインターネット攻撃を防ぐ方法および装置に関する。
【0002】
[発明の背景]
「サービス拒否」(DoS)攻撃の特徴は、攻撃者による明らかな試みによって、あるサービスの正当なユーザがそのサービスを利用できなくなることである。DoS攻撃はインターネットに接続されている装置およびネットワークに向けられる。その目的は、外部のユーザがもはやネットワークリソースにアクセスできないように、装置あるいはネットワークの機能を停止させることである。パスワードファイルをハッキングしたり、機密データを盗んだりすることなく、サービス拒否ハッカーは、ある特定のサイトに対して大量のトラフィックを生成することになるプログラムを起動し、そのサイトの正当なユーザへのサービスが拒否されるようにする。
【0003】
3つのタイプのDoS攻撃、すなわちTCP/IP実装時のバグを利用する攻撃、TCP/IP仕様内の欠陥を利用する攻撃、およびネットワークを輻輳させ、多量の無駄なトラフィックによって他のトラフィックが出入りできないようにする強引な攻撃が存在する。
【0004】
2つの致命的な攻撃、すなわちよく知られているピング・オブ・デス(Ping of Death)および新しいティアドロップ(Teardrop)攻撃は、TCP/IP実装時の既知のバグを利用する。ピング・オブ・デスはpingシステムユーティリティを用いて、IP仕様によって許可される最大65,536バイトのデータを超えるIPパケットを生成する。その際、過剰なパケットが何も気が付いていないシステムに送信される。そのような悪意のある巧妙なパケットを受信すると、そのシステムはクラッシュするか、ハングアップするか、あるいはリブートする場合がある。
【0005】
最近に開発されたティアドロップ攻撃は、IPパケットフラグメントの再アセンブルの脆弱性を利用する。インターネット内の移動中に、IPパケットはより小さな塊に細分される場合がある。各フラグメントは元のIPパケットのように見えるが、たとえば、「このフラグメントは元の(フラグメント化されていない)IPパケットのうちの600〜800バイトを搬送している」というオフセットフィールドを含む点が異なる。ティアドロッププログラムは、オフセットフィールドが重複した一連のIPフラグメントを生成する。これらのフラグメントが転送先ホストでアセンブルし直されるとき、システムによってはクラッシュ、ハングアップあるいはリブートするものもある。
【0006】
TCP/IP仕様の脆弱性によって、2つのアプリケーション間のTCP会話を開始する3方向ハンドシェーク中に実行されるSYN攻撃に対してホストが無防備になる。正常な状況下では、TCPセッションを開始するアプリケーションが、受信側アプリケーションにTCP SYN同期パケットを送信する。受信機はTCP SYN−ACK肯定応答パケットを返送し、その後、イニシエータがACK肯定応答で応答する。このハンドシェークの後に、それらのアプリケーションはデータを送受信するように設定される。
【0007】
しかしながら、SYN攻撃は一連のTCP SYNパケットで標的とされるシステムを輻輳させる。各パケットによって、標的とされるシステムはSYN−ACK応答を発行するようになる。標的とされるシステムはSYN−ACKに続くACKを待つ間、全ての未処理のSYN−ACK応答がバックログキューとして知られるキューに入れられる。このバックログキューは、通常は非常に小さな有限の長さを有する。いったんキューが満杯になると、システムは全ての到来するSYN要求を無視するか、それどころかクラッシュする可能性もあるであろう。ACKが返送されて来るか、あるいは内部タイマ(比較的長いインターバルに設定される)が3方向ハンドシェークを終了するときにのみ、SYN−ACKはキューから移される。
【0008】
1つのSYN攻撃は、所定の手順において元のパケットを識別する、ある不当な転送元IPアドレスで満たされたSYNパケットをそれぞれ生成する。全ての応答がその転送元IPアドレスに送信される。しかしながら、不当な転送元IPアドレスは、実際には存在しないか、あるいはダウンしているかのいずれかである。それゆえ、SYN−ACK応答に続くことになるACKは決して返送されて来ないであろう。これにより、常に満杯のバックログキューが作り出され、正当なTCP SYN要求がほとんどシステムに入ることができなくなる。
【0009】
ランド(Land)攻撃、すなわちSYN攻撃の簡単なハイブリッドでは、ハッカーが、標的とされるシステムのスプーフされた転送元IPアドレスを有するネットワークをSYNパケットで輻輳させる。
【0010】
アニメの名前にちなんだ名称で現れた任意の初期の攻撃よりもさらに危険であるスマーフ(Smurf)攻撃は、ダイレクト・プロードキャスト・アドレッシングとして知られるIP仕様の一機構を標的にした強引な攻撃である。スマーフハッカーは、インターネット制御メッセージプロトコル(ICMP)エコー要求パケット(ping)で被害者のルータを輻輳させる。各パケットの転送先IPアドレスは被害者のネットワークの同報通信アドレスであるので、被害者のルータはICMPエコー要求パケットをそのネットワーク上の全てのホストに報知するであろう。被害者が多数のホストを有する場合には、これにより大量のICMPエコー要求および応答パケットが生成されるであろう。
【0011】
ハッカーがICMPエコー要求パケットの転送元IPアドレスをスプーフすることを選択する場合には、結果として生成されるICMPパケットは一次被害者ネットワーク、すなわち「媒介」ネットワークを輻輳させるだけでなく、スプーフされた転送元IPアドレスのネットワーク、すなわち「二次被害者」ネットワークにも大きな負荷をかけるであろう。
【0012】
UDP(User Datagram Protocol)フラッド(Flood)サービス拒否攻撃も、2つの何も気が付かないシステムを結び付ける。スプーフィングによって、UDPフラッド攻撃は、試験を目的としてシステムが受信する各パケットのための一連のキャラクタを生成する、あるシステムのUDPチャージェンサービスを、ネットワークプログラムを試験するためにシステムが受信する任意のキャラクタのエコーを生成する、別のシステムのUDPエコーサービスに接続する。結果として、2つのシステム間で、停止することなく殺到する無駄なデータが伝送される。
【0013】
UDPフラッドの防止は、ネットワーク内の各ホスト上の全てのUDPサービスを停止することにより、あるいは到来する全てのUDPサービス要求をファイアウォールでフィルタリングすることにより達成することができる。しかしながら、全てのUDPトラフィックを全面的に拒否すると、トランスポート機構としてUDPを利用する、RealAudioのような正当なサービスが拒絶されるであろう。
【0014】
したがって、DoS攻撃がネットワーク全体に影響を及ぼすのを防ぐために、DoS攻撃を防止する方法と、本方法を実行することができるネットワーク装置とが必要とされる。
【0015】
[発明の開示]
本発明はDoS攻撃を防ぐ方法を提供する。本方法は、データパケットの内容を走査し、その後、そのデータパケットの内容が1組の所定の要件に一致することを確認することを含み、上記所定の要件は規定されたポリシーにしたがってデータパケットを並べ替え、アセンブルし直し、それらのパケットが、パケット長、重複しないオフセット、およびプロトコル標準規格への準拠のような必要とされるパラメータに一致することを保証することを含む。確認されないデータパケットは破棄される場合がある。
【0016】
内容を確認した後、そのデータパケットは、それらが有効であることを検証されたトラフィックフローに関連付けられるか否かを判定するために検査される。そのデータパケットが有効であることを検証されたトラフィックフローに関連付けられる場合には、そのデータパケットは、ネットワークに返送するためにより優先順位の高いサービス品質キューに割り当てられる。そのデータパケットが有効であることを検証されたトラフィックフローに関連付けらない場合には、そのデータパケットは優先順位の低いサービス品質キューに割り当てられ、優先順位の低いサービス品質キューは、データパケットがネットワークに返送される際に、利用可能なネットワーク帯域幅のうちの所定の最大幅以下の帯域幅しか占有することができない。
【0017】
また本発明は、DoS攻撃を防ぐためのネットワーク装置も含む。そのネットワーク装置は、トラフィックフロー走査エンジンと、サービス品質プロセッサとを含む。トラフィックフロー走査エンジンは、ヘッダおよびペイロードを含むデータパケットの内容を走査し、そのデータパケットを特定のトラフィックフローに関連付けるように動作可能である。またトラフィックフロー走査エンジンは、各トラフィックフローが有効であることを検証されたか否かを判定するように動作可能である。さらに、トラフィックフロー走査エンジンは、データパケットおよび関連するトラフィックフローを並べ替え、アセンブルし直し、そのデータパケットが所定の要件に一致することを保証する。そのネットワーク装置は、正確に並べ替え、アセンブルし直すことができないパケット、あるいは所定の要件に一致しないパケットを破棄する場合がある。トラフィックフロー走査エンジンは、いったんデータパケットを走査すると、そのデータパケットに関連する結果を生成し、そのデータパケットおよび関連する結果はいずれもサービス品質プロセッサに渡される。
【0018】
サービス品質プロセッサは、トラフィックフロー走査プロセッサからの結果を用いて、データパケットを適当なサービス品質キューに配置する。有効であることを検証されたトラフィックフローに関連するデータパケットは優先順位の高いキューに配置され、その特定のキューのためのプロトコルに従ってネットワーク上に返送される。有効であることを検証されたトラフィックフローに割り当てられないデータパケットは優先順位の低いQoSキューに配置される。優先順位の低いQoSキュー内のデータパケットはネットワークに返送されるが、それらは利用可能な帯域幅のうちの所定の最大幅以下しか占有せず、それによりフラッドタイプのDoS攻撃を防ぐ。
【0019】
上記の説明は、当業者が以下に記載される本発明の詳細な説明をより深く理解できるように、ある程度広範に、本発明の好ましい機構および代替の機構の概要を述べている。本発明の特許請求の範囲の主題を形成する本発明のさらに別の機構が以下に記載されるであろう。本発明と同じ目的を果たすための他の構造を設計したり、変更したりするための基準として、開示される概念および特定の実施形態を容易に利用できることは当業者には理解されよう。また当業者は、そのような等価な構成物が最も幅広い形態の本発明の精神および範囲から逸脱しないことも理解されよう。
【0020】
[発明を実施するための形態]
ここで図1を参照すると、インターネットのような広帯域の公衆IPネットワーク10にある態様で接続されるいくつかのネットワークインフラストラクチャの一例であるネットワークトポロジーが示される。図1は正確なネットワークアーキテクチャであることを意図しているわけではなく、広帯域IPネットワーク上に存在することができる種々のネットワーク構造の概略的な例示としての役割を果たすことのみが意図される。公衆IPネットワーク10には、様々な方法でアクセスすることができる。図1は、公衆IPネットワークが、私設コアネットワークを提供するMCIあるいはUUNETのような一企業のIPネットワークを用いることができる私設IPネットワーク12を通してアクセスされることを示す。私設IPネットワーク12に接続される他のネットワークにアクセスするために、あるいは公衆IPネットワーク10にアクセスするために、数限りない種々のネットワーク構造が私設IPネットワーク12に接続されることができる。
【0021】
私設IPネットワーク12に接続されるネットワーク構造の一例がホスティングネットワーク14である。ホスティングネットワーク14は、インターネットウェブサイトのためのホスティングサービスを提供するネットワーク構造の一例である。これらのホスティングサービスはウェブファーム16の形態をとることができる。ウェブファーム16は、amazon.comあるいはyahoo.comのような特定のウェブサイトに関連するウェブページ、プログラムおよびデータベースを含むウェブサーバ30およびデータベース32で開始する。ウェブサーバ30は、到来するインターネットトラフィックを受信し、それを特定のウェブサーバに割り当てて、全てのウェブサーバ30にわたって負荷を平均化させる二重の負荷バランサ28に接続される。二重の侵入検知システム26およびファイアウォールが負荷バランサ28に接続され、ウェブファーム16にセキュリティを提供する。個々のウェブファーム16および17は、スイッチ20およびルータ22のネットワークを介して、ホスティングネットワーク14の交換バックボーン18に接続される。ホスティングネットワーク14の交換バックボーン18自体はスイッチ20のネットワークから構成され、それらはその後、1つあるいは複数のルータ22に接続され、さらに私設IPネットワーク12に接続される。個々のウェブファーム16および17と、ホスティングネットワーク14の交換バックボーン18との間の接続は通常、OC−3あるいはOC−12のような速度(概ね、150Mビット/秒あるいは625Mビット/秒)で行われるが、一方、ホスティングネットワーク14のルータ22から私設IPネットワーク12への接続は概ねOC−48速度(概ね2.5Gビット/秒)である。
【0022】
私設IPネットワークに接続されるネットワーク構造の別の例がサービスプロバイダネットワーク34で示される。サービスプロバイダネットワーク34は、私設IPネットワーク12および公衆IPネットワーク10に対してデータおよび音声の両方でアクセスを提供できるようにするための、インターネットサービスプロバイダ(ISP)あるいは地域電話会社(LEC)のためのネットワーク構造の一例である。サービスプロバイダネットワーク34は、企業ネットワーク36および37に対してインターネットおよびイントラネットアクセスのようなサービスを提供する。企業ネットワーク36および37はたとえば、ルーセント・テクノロジーズ(Lucent Technologies)あるいはメリル・リンチ(Merrill Lynch)のための企業ネットワークのような企業ネットワークである。企業ネットワーク36のような各企業ネットワークは、交換バックボーン18に接続される複数のネットワークサーバおよび個別のワークステーションを含み、交換パックボーン18はルータ22によってサービスプロバイダネットワーク34に接続されることができる。
【0023】
企業ネットワークのためのインターネットアクセスに加えて、サービスプロバイダネットワーク34は、個人および小企業のためのダイヤルアップインターネットアクセスを提供する。ダイヤルアップアクセスは、サービスプロバイダネットワーク34においてリモートアクセスサーバ(RAS)42によって提供され、それによりパーソナルコンピュータ(PC)が、公衆交換電話網(PSTN)(図示せず)を通してサービスプロバイダネットワーク34に発呼できるようになる。いったんPSTNを経由してPC50とRAS42との間の接続がなされたなら、PC50は私設あるいは公衆IPネットワーク12あるいは10にアクセスすることができる。
【0024】
またサービスプロバイダネットワーク34は、インターネットを用いて、ボイス・オーバ・IP(VoIP:voice over IP)と呼ばれる、データネットワーク上で音声通話を提供するための能力も提供する。VoIPネットワーク46および47によって、適当なソフトウエアを備えるIP電話48およびPC50が、インターネットに接続される他の電話またはPCに、またはさらにはPSTNに接続される通常の電話に電話をかけることができるようになる。VoIPネットワーク46のようなVoIPネットワークは、必要に応じてサービスプロバイダネットワーク34ならびに私設および公衆インターネット12および10を通して送信されるVoIP呼を収集し、集中させるために、メディアゲートウエイ52および他の装置(図示せず)を備える。上記のように、VoIP、およびビデオ・オーバ・インターネットのような他のリアルタイムサービスの出現によって、従来からの電話会社によって提供される従来の電話サービスと競合するため、サービスプロバイダにとってサービス品質が優先事項になる。
【0025】
サービスプロバイダネットワーク34は、サービスプロバイダネットワーク34とそのエンドユーザとの間に、およびサービスプロバイダネットワーク34と私設IPネットワーク12との間に、スイッチ20およびルータ22によって形成される交換バックボーン18を備える。図には示されないが、ドメインネームサーバ44および他のネットワーキング装置もサービスプロバイダネットワーク34に備えられる。ホスティングネットワーク34と同様に、サービスプロバイダネットワーク34の場合の接続速度は、企業ネットワーク36および37ならびにVoIPネットワーク46および47に接続するためのT1、T3、OC−3およびOC−12から、私設IPネットワークに接続するためのOC−48および場合によってはOC−192に至るまでの範囲にわたることができる。
【0026】
OC−3、OC−12およびOC−48のような速度で1つのネットワーク構造から別のネットワーク構造までデータが渡される、これらの種々のネットワーク構造の端部に集合ポイント60が存在することは容易に明らかになろう。図1に示すネットワーク構造における1つの主な問題点は、ネットワークがセキュリティ、測定およびサービス品質のようなサービスを提供できるようになるこれらの集合ポイント60においてあらゆるタイプのインテリジェンスが欠如していることである。これらのサービスを提供するためのインテリジェンスは、ネットワークが、現時点では理解している内容の全てである宛先および/または転送元情報だけでなく、集約点60を通過するデータのタイプを理解することを要求するであろう。関連するペイロードの内容およびヘッダ情報を含む、データのタイプ、あるいはその内容を理解することにより、またそれぞれの個々のトラフィックフローにわたって状態アウェアネスを理解し、かつ保持することにより、そのネットワークは、サービス品質が根本的な要件であるVoIPあるいはビデオのような応用形態に対して、ネットワークへの帯域幅要件に合わせてリアルタイムに構成変更できるようになるであろう。インテリジェント、すなわち「コンテンツ・アウェア」ネットワークは、電子メールワーム、ウイルス、サービス拒否(DoS)攻撃、および違法性のハッキングのような、エンドユーザに対してトランスペアレントな方法でセキュリティの問題を特定し、除去することもできるであろう。さらに、コンテンツ・アウェアネットワークは、企業およびサービスプロバイダをホスティングすることにより測定能力を提供し、これらの企業が個々の顧客に割り当てられる帯域幅の量を規制し、かつ帯域幅、およびセキュリティのような付加機能に対して正確に課金できるようにするであろう。
【0027】
上記の要件にしたがって、本発明は、OC−3、OC−12、OC−48、およびそれ以上の速度でペイロード情報を含むネットワークトラフィックを走査し、分類し、変更することができる装置を提供し、それにより、ネットワーク上でサービス拒否攻撃を防ぐことが可能な「コンテンツ・アウェア」なネットワークを提供する。
【0028】
ここで図2を参照すると、本発明によるネットワーク装置の一実施形態が示される。図に示されるネットワーク装置100は、高速ネットワークラインから受信されるデータを受け取り、そのデータを処理して、そのライン上にデータを戻して配置することにより、「バンプ・イン・ザ・ライン」タイプの装置として動作する。ネットワーク装置100は、入力物理インターフェース102を用いてラインからデータを受信する。入力物理インターフェース102は複数のポートから構成されることができ、OC−3、OC−12、OC−48のような高速を含む任意の数のネットワーク速度およびプロトコル、ならびに10/100イーサネット(登録商標)、ギガビットイーサネット(登録商標)およびSONETを含むプロトコルを受け入れることができる。入力物理インターフェース102は物理ポートからデータを取得し、そのデータをフレーム処理して、好ましくはPOS−PHYレベル3あるいはATM UTOPIAレベル3タイプデータバスのような業界標準データバスである高速パスデータバス126上に配置するためにデータをフォーマットする。
【0029】
高速パスデータバス126はそのデータを、ヘッダプロセッサ104およびペイロードアナライザ110を備えるトラフィックフロー走査プロセッサ140に供給する。そのデータは最初にヘッダプロセッサ104に送信され、ヘッダプロセッサ104は、データパケットヘッダ内に含まれる情報を用いていくつかの演算を実行するように動作することができる。ヘッダプロセッサ104は、受信されたデータパケットをパケット記憶メモリ106に格納し、ヘッダ情報を走査する。ヘッダ情報が走査されて、データパケットのタイプ、すなわちプロトコルが特定され、それを用いてルーティング情報が判定され、かつデータパケットの所定の属性を用いてセッションIDが生成される。
【0030】
好ましい実施形態では、セッションIDは、転送元アドレス、宛先アドレス、転送元ポート、宛先ポートおよびプロトコルからなるセッション情報を用いて生成されるが、当業者であれば、本発明の範囲から逸脱することなく、セッションIDがデータパケット内の、リスト化されたフィールドの任意のサブセットあるいは任意の付加フィールドを用いて形成されることもできることは理解されよう。新たなセッション情報を有するデータパケットが受信されるとき、ヘッダプロセッサは、その特定のトラフィックフローを特定するために固有のセッションIDを生成する。同じセッション情報を含む一連のデータパケットはそれぞれ、そのフロー内の各パケットを特定するために同じセッションIDを割り当てられる。特定のトラフィックフローが明示的な動作を通して終了されるとき、あるいはトラフィックフローがタイムアウトするとき、それは、そのトラフィックフローのためのデータパケットが所定の時間量内に受信されなかったことを意味しており、セッションIDが破棄される。本明細書ではセッションIDはヘッダプロセッサ104によって生成されるものとして説明されるが、セッションIDは、ペイロードアナライザ110を含むトラフィックフロー走査エンジン140のいかなる場所においても生成されることができる。
【0031】
以下に説明されるように、ネットワーク装置100が適当に機能するためには、順序が変更されたデータパケットを並べ替えて、データパケットのフラグメントをアセンブルし直す必要がある。ヘッダプロセッサ104は、非同期転送モード(ATM)ヘッダ情報の除去(stripping)を含むことができる、ATMセルの完全なデータパケット(PDU)へのアセンブルを実行するように動作することができる。
【0032】
またヘッダプロセッサ104はルーティング機能を実行するように動作することができる。ルーティングテーブルおよび情報はデータベースメモリ108に格納されることができる。ネットワーク装置100によって受信されるルーティング命令は、ヘッダプロセッサ104によって識別され、記録され、さらにマイクロプロセッサ124に渡されて、それに応じてマイクロプロセッサ124がデータベースメモリ108内のルーティングテーブルを更新できるようになる。ネットワーク装置100は「バンプ・イン・ザ・ライン」装置として示されるが、入力および出力が多数のラインによって形成されることもでき、たとえば4本のOC−12ラインが、OC−48速度で動作するネットワーク装置100に接続されることもできる。そのような場合には、「バンプ・イン・ザ・ライン」ネットワーク装置100のルーティングおよびスイッチング能力は多数のライン間で制限されることなり、そのスイッチング能力は従来のルータあるいはスイッチよりも低くなるであろう。さらに、本発明の原理に従って、ネットワークルータあるいはスイッチとして動作することができるネットワーク装置を構成することができる。そのような実装形態は図4を参照しながらさらに詳細に記載されるであろう。
【0033】
ヘッダプロセッサ104によってデータパケットが処理された後に、データパケット、その関連するセッションID、およびルーティングあるいはQoS情報のような、ヘッダプロセッサによって形成される任意の結果が、高速データパス126上でトラフィックフロー走査エンジン140のうちのもう一方であるペイロードアナライザ110に送信される。受信されたパケットは、ペイロードアナライザ110によって処理されると同時に、パケット記憶メモリ112に格納される。ペイロードアナライザ110は、ヘッダプロセッサ104から受信されるデータパケットの内容、特にデータパケットのペイロード内容を走査するように動作することができるが、必要に応じてヘッダ情報も走査することができる。任意のあるいは全てのデータパケットの内容が既知のシグネチャのデータベースと比較され、1つあるいは複数のデータパケットの内容が既知のシグネチャと一致する場合には、そのシグネチャおよび/またはセッションIDに関連する動作がネットワーク装置100によって行われることができる。さらに、ペイロードアナライザ110は、個々のそれぞれのトラフィックフロー全体を通して状態アウェアネスを保持するように動作する。言い換えると、ペイロードアナライザ110は、トラフィックフローからの現在のデータパケットにのみ関連する状態情報だけでなく、トラフィックフローの全体に関連する状態情報を格納する、各セッションに対するデータベースを保持する。これにより、ネットワーク装置100は、走査されるデータパケットの内容に基づいてだけでなく、トラフィックフロー全体の内容に基づいて動作できるようになる。ペイロードアナライザ110の具体的な動作は図3を参照して記載されるであろう。
【0034】
いったんトラフィックフロー走査エンジン140によってパケットの内容が走査され、結果が得られたなら、ヘッダプロセッサあるいはペイロードアナライザのいずれかあるいは両方のパケットおよび関連する結果がサービス品質(QoS)プロセッサ116に送信される。再びQoSプロセッサ116はそのパケットを転送用に自らのパケット記憶メモリ118に格納する。QoSプロセッサ116は、ネットワーク装置100によって処理されるデータパケットのストリームのためのトラフィックフロー管理を実行するように動作することができる。QoSプロセッサは、トラフィック管理126、トラフィックシェーピング128およびパケット変更130のためのエンジンを備える。
【0035】
QoSプロセッサ116は、ヘッダプロセッサ104あるいはペイロードアナライザ110のいずれかあるいは両方の結果を取得し、その結果に基づいて、そのデータパケットを内部のサービス品質キュー132のうちの1つに割り当てる。サービス品質キュー132は、互いに対する優先順位を割り当てられることができるか、あるいはその装置内のトラフィックフローの最大あるいは最小パーセンテージを割り当てられることができる。これにより、QoSプロセッサは、VoIP、ビデオおよび高品質、高信頼性要件を有する他のフローのようなトラフィックフローに対して必要な帯域幅を割り当て、一方、低優先順位の電子メールおよび一般的なウェブサーフィンのような低品質要件を有するトラフィックフローに対して残りの帯域幅を割り当てることができるようになる。QoSエンジンにしたがってキュー内に現時点で存在する全てのデータを送信するために利用可能な帯域幅を持たないキュー内の情報は選択的に破棄され、それによりトラフィックフローからそのデータは除去される。
【0036】
またサービス品質キュー132によって、ネットワーク装置110は、サービス拒否(DoS)攻撃のようなネットワーク攻撃を管理できるようになる。ネットワーク装置100は、パケットの内容を走査し、その内容が既知の転送元と宛先との間の有効なネットワークトラフィックを含むことを確認することにより、トラフィックフローを識別するように動作することができる。未知の転送元に由来するために、あるいは新しい未分類のフローであるために確認されなかったトラフィックフローは、転送元が確認されるか、あるいはそのトラフィックフローが有効なトラフィックであると確認されるまで、低いサービス品質キューに割り当てられることができる。大部分のDoS攻撃は、新たなセッション情報、スプーフされた転送元からのデータあるいは意味のないデータのいずれかを送信するので、ネットワーク装置100はそれらのトラフィックフローに低品質のトラフィックキューを割り当てるであろう。これにより、DoSトラフィックは利用可能な帯域幅のうちの少ないパーセンテージ(すなわち5%)以下しか受信されないようになり、それにより攻撃者がダウンストリームネットワーク装置を輻輳させるのを防ぐことができるであろう。
【0037】
QoSプロセッサ116内のQoSキュー132(このQoSプロセッサの本実施形態では65kキューがあるが、任意の数のキューが用いられることができる)はスケジューラ134(本実施形態では1024)に接続され、それはさらに論理ポート136(本実施形態では256)に接続され、論理ポート136は、ネットワーク装置のための物理入口ポートに対応することができるフロー制御ポートマネージャ138(本実施形態では32)にデータを送信する。トラフィック管理エンジン126およびトラフィックシェーピングエンジン128は、プログラミングされたパラメータにしたがってトラフィックフローを保持するために、スケジューラおよび論理ポートの動作を決定する。
【0038】
またQoSプロセッサ116はパケット変更エンジン130も備え、パケット変更エンジン130はデータパケットのフィールドのうちの任意のフィールドにおいてビットを変更、付加あるいは削除するように動作することができる。これにより、QoSプロセッサ116はルーティングのためのアドレスを変更したり、あるいは必要とされるプロトコルのためにデータパケット上に適当なヘッダを配置したりできるようになる。またパケット変更エンジン130は、必要に応じてペイロード自体の内部情報を変更するために用いられる場合もある。その後、データパケットは高速データパス126に沿って出力PHYインターフェース120に送信され、そこで再びアナログ信号に変換され、ネットワーク上に出力される。
【0039】
全てのネットワーク装置と同様に、ある一定量のネットワークトラフィックは高速データパス126に沿って処理されることができないであろう。このトラフィックはオンボード・マイクロプロセッサ124によって処理される必要があるであろう。高速パストラフィックフロー走査エンジン140およびQoSプロセッサ116は、さらに処理する必要があるパケットをフロー管理プロセッサ122に送信し、フロー管理プロセッサ122はそれらを処理するためにマイクロプロセッサ124に転送する。その後、マイクロプロセッサ124は、再びフロー管理プロセッサ122を通して、トラフィックフロー走査エンジン140およびQoSプロセッサ116と通信を行う。フロー管理プロセッサ122は、ネットワーク装置100を通して、トラフィックフローの特性に関するデータおよび統計値を収集するように動作することもできる。余分なパケットあるいは紛失したパケットを処理するほかに、マイクロプロセッサ124はユーザ管理インターフェース142を制御し、新たなシグネチャを収容するためにデータベース108および114をコンパイルし直し、トラフィックフロー走査エンジン140によっ識別されるセッションを記憶あるいは破棄するために用いられることができる。
【0040】
ネットワーク装置100の能力は多くの点において固有である。ネットワーク装置100は、1つのシグネチャあるいは一連のシグネチャとして表されることができる任意の情報のための任意の1つあるいは複数のデータパケットの内容を走査することができる能力を有する。シグネチャは任意の長さからなることができ、パケット内の如何なる場所においても開始および終了することができ、さらにパケット境界を越えることができる。さらに、ネットワーク装置100は、そのトラフィックフローの過程において一致する任意のあるいは全てのシグネチャを表す各トラフィックフローのための状態情報を格納することにより、個々のトラフィックフローの全てを通して状態アウェアネスを保持することができる。既存のネットワーク装置は、各データパケット内の正確な点で固定長の情報を探索することにより動作し、パケット境界を越えて探索することができない。パケット内の正確な点において固定長の情報を探索することしかできないことにより、既存のネットワーク装置は、あるレベルのパケットヘッダ内の特定可能の位置において含まれる情報に関して動作することに制限され、データパケットのペイロードを探索することはできず、トラフィックフロー全体のための状態情報、あるいはペイロードを含むデータパケットの内容に関してもほとんど判断することができない。
【0041】
ここで図3を参照すると、図2のペイロードアナライザ110がさらに詳細に示される。上記のように、ペイロードアナライザ110は、図2のヘッダプロセッサ104から転送されるデータパケットの内容を走査するように動作することができる。ペイロードアナライザ110は3つの個別のエンジン、すなわちキューエンジン302と、内容エンジン304と、ペイロード走査エンジン306とを備える。
【0042】
ペイロードアナライザ110はペイロードの内容を走査し、かつパケット境界を越えて走査することができるので、ペイロードアナライザ110は、セッション毎に、フラグメント化されたパケットをアセンブルし直し、順序を変更されたパケットを並べ替えることができなければならない。パケットを並べ替え、アセンブルし直すことは、キューエンジン302の機能である。キューエンジン302は高速パスインターフェース310を用いて高速パスデータバス126から離れてデータを受信する。その後、パケットはパケット並べ替えおよび再アセンブリエンジン312に送信され、パケット並べ替えおよび再アセンブリエンジン312はパケットメモリコントローラ316を用いて、そのパケットをパケットメモリ112に格納する。またパケット並べ替えおよび再アセンブリエンジン312は、リンクリストコントローラ314およびリンクリストメモリ318を用いて、処理するためのデータパケットを並べるために用いられる詳細なリンクリストを作成する。セッションCAM320は、ペイロードアナライザ110のキューエンジン302によって生成されるセッションIDを格納することができる。パケット並べ替えおよび再アセンブリエンジン312はそのセッションIDを用いて、同じデータフローに属するデータパケットをリンクする。
【0043】
必要とされる高スループット速度を得るために、ペイロードアナライザ110は多数のセッションからのパケットを同時に処理できなければならない。ペイロードアナライザ110は、関連するセッションIDを有する固有のトラフィックフローにそれぞれ属する多数のデータパケットからのデータのブロックを処理する。本発明の好ましい実施形態では、ペイロードアナライザ110は、固有のトラフィックフローからの64個の異なるデータパケットからなる64バイトブロックを同時に処理する。64個の異なるデータパケットからなる64バイトブロックはそれぞれ、ペイロードアナライザのための単一のコンテクストを表す。ペイロードアナライザ110のための全ての同時のコンテクストのスケジューリングおよび管理はコンテクストエンジン304によって処理される。
【0044】
コンテクストエンジン304はキューエンジン302と協動し、1つのコンテクストが処理を終えて、ペイロードアナライザ110から送信されたときに、新たなコンテクストを選択する。次フリーコンテクスト/次フリーブロックエンジン330はリンクリストコントローラ314と通信を行い、処理されることになるデータパケットの次のブロックを識別する。ペイロードアナライザ110はデータパケットを順番に走査しなければならないので、ある時点である特定のセッションIDを有する1つのデータパケットあるいはトラフィックフローだけがアクティブであることができる。アクティブコントロールリスト322は、アクティブコンテクストを有するセッションIDのリストを保持し、アクティブリストに対して新たなコンテクストを検査し、新たなコンテクストがイナクティブセッションIDに由来することを保証する。新たなコンテクストが特定されたとき、パケットローダ340は次フリーコンテクスト/次フリーブロックエンジンによって検索されるリンクリスト情報を用いて、パケットメモリコントローラ316を用いて、パケットメモリ112から必要とされるデータブロックを検索する。その後、新たなデータブロックはコンテクストバッファ342から空きバッファにロードされ、そこで、ペイロード走査エンジンインターフェース344によって検索されるのを待つ。
【0045】
ペイロード走査エンジンインターフェース344は、コンテクストエンジン304とペイロード走査エンジン306との間のインターフェースである。ペイロード走査エンジン306に、新たなコンテクストを走査するための余地があるとき、ペイロード走査エンジンインターフェース344は新たなコンテクストをペイロード走査エンジン306内のストリングプリプロセッサ360に送信する。ストリングプリプロセッサ360は、走査を簡略化するために、余白(すなわち、スペース、タブ、リターン)を単一の空間に圧縮するなどの動作を実行することにより、コンテクストを簡略化するように動作することができる。いったんストリングプリプロセッサ360が終了したなら、そのコンテクストは、スケジューラ364によって検索されるまで、コンテクストバッファ362内のバッファのうちの1つにロードされる。スケジューラは、シグネチャメモリ366への入力および出力を制御する。それぞれが潜在的に多数のコンテクストを処理することができる4つのシグネチャメモリ366が示されるが、ペイロード走査エンジン110内のスループットを増減するために任意の数のメモリが用いられることができる。この実施形態では、シグネチャメモリ366はそれぞれ一度に4つのコンテクストを処理することができる。
【0046】
シグネチャメモリ366のうちの1つはスケジューラ364によってコンテクストを割り当てられ、その後、そのコンテクストの有意ビットを、シグネチャメモリ366内に存在する既知のストリングのデータベースと比較する。シグネチャメモリ366は、特定のシグネチャに固有のビットである有意ビットを用いて、コンテクストと既知のシグネチャのうちの1つとの間に一致する可能性があるか否かを判定する。一致する可能性がある場合には、そのコンテクストおよび一致する可能性のあるストリングはリーフストリング比較機構368に送信され、リーフストリング比較機構368はリーフストリングメモリ370を用いて、そのコンテクストと一致する可能性があるストリングとのビット毎の比較を実行する。
【0047】
その後、ペイロード走査の結果が、おそらく、走査されることになる新たなデータの要求とともにペイロード走査インターフェース344に返送される。ペイロード走査の結果は、多数の起こり得る結果のうちの任意のものであることができる。その走査は未だ結果に達していない場合もあり、シーケンス番号、カウンタ等のような他の適当な情報とともに、トラフィックフローの状態および任意の未完了の走査がセッションメモリ354に格納される場合には、走査を継続するために新たなデータパケットからのさらに別のデータを必要とする場合がある。シグネチャメモリ366によって到達された結果は、走査が完了し、一致するものが存在するか、あるいは存在しないかである場合があり、その場合には、データパケットおよび結果は図2のQoSプロセッサ116に渡すために送信エンジン352に送信される。またその走査は、データパケットがさらに処理されるために図2のマイクロプロセッサ124に転送される必要があるものと判定し、データパケットがホストインターフェース350に送信され、ホストインターフェースバス372上に配置されるようにすることもできる。余分なパケットを処理するほかに、ホストインターフェースバス350がコンテクストエンジン304内の任意のバッファあるいはレジスタへの書込みをマイクロプロセッサ124に行なわせることにより、マイクロプロセッサ124は、ペイロードアナライザ110のいかなる態様の動作も制御することができるようになる。
【0048】
状態情報はセッションメモリ354に格納され、特定のトラフィックフローに関連するデータが走査された後に必要に応じて更新される。各トラフィックフローについての状態情報は図2のネットワーク装置100のコンテンツ・アウェアネスを表しており、それによりネットワーク装置は、走査される情報に基づいてだけでなく、各トラフィックフローの場合に走査された全ての情報に基づいて動作できるようになる。
【0049】
送信エンジン352、ホストインターフェース350およびセッションメモリコントローラ348の動作はスクリプトエンジン334によって制御され、セッションメモリコントローラ348はセッションメモリ354の利用を制御し、汎用の論理演算装置(GPALU)346から構成され、汎用の論理演算装置(GPALU)346はカウンタの増減、ポインタの移動等を行うために用いられる。スクリプトエンジン334は、必要に応じてレジスタ338を用いて、スクリプトメモリ336に格納されるプログラム可能なスクリプトを実行するように動作する。スクリプトエンジン334は制御バス374を用いて、コンテクストエンジン304内の任意の構成要素に命令を送信する。
【0050】
図3の説明から明らかなように、ペイロードアナライザ110によって、ネットワーク装置によって受信される任意のあるいは全てのデータパケットの内容全体が、既知のシグネチャのデータベースに対して走査されるようになる。走査された内容は任意の可変あるいは自由な長さを有することができ、パケット境界を越えることもできる。ペイロードアナライザ110の能力によって、本明細書において先に記載されたように、データパケットの内容に基づいてデータパケットに関して動作するための能力をネットワーク装置に付与するコンテンツ・アウェアなネットワーク装置を構成できるようになる。
【0051】
ここで図4を参照すると、ルーティング能力を有する本発明のネットワーク装置の一実施形態が示される。ルーティングネットワーク装置400は、スイッチファブリック404に接続される2つ以上のルートエンジンカード402によって形成される。ユーザインターフェースを提供し、ルートエンジンカード402を管理するために、1つあるいは複数の管理カード406も含まれる。ルートエンジンカード402はそれぞれ基本的には、図2のネットワーク装置100に関して記載されたように動作する。ヘッダプロセッサ410およびペイロードアナライザ412によって形成されるトラフィックフロー走査エンジン408が、データパケットの内容を走査し、その内容に基づく結果を生成する。パケットおよび関連する結果は、入口QoSプロセッサ414に転送され、そこでそのパケットはQoSキューに割り当てられる。その後、データパケットはスイッチファブリックに送信され、スイッチファブリックはそのデータパケットを、その割り当てられた出力ポートのために適したルートエンジンカード402に転送する。その後、そのデータパケットは出口QoSプロセッサ418内を流れ、その出口QoSプロセッサ418では、ネットワーク上に送信するための全てのルートエンジンカード402から受信されるトラフィックがスケジューリングされる。図2に示されるマイクロプロセッサ124は、ルートエンジンカード402上に存在することができるか、あるいは1つのマイクロプロセッサが多数のルートエンジンカード402をサポートできるようにするために、管理カード406に移されることもできる。ルートエンジンカード402はそれぞれ自らのマイクロプロセッサを有することもでき、1つの付加的なマイクロプロセッサが管理カード406上に存在する。
【0052】
多数の入口および出口パスを有する多数のルートエンジンカードを有することにより、ルーティングネットワーク装置は、図2に関して記載される「バンプ・イン・ザ・ライン」装置の単一の入口および出口パスとは対照的に、ルーティングネットワーク装置として機能できるようになる。これにより、ルーティングネットワーク装置400において、ヘッダプロセッサ410のルーティング機能を利用できるようになる。
【0053】
ここで図5を参照すると、本発明によるサービス拒否攻撃を防ぐ方法が示される。本方法は、開始ブロック500で開始し、データパケットのヘッダ情報を走査するブロック520に進む。その後、本方法はブロック504に移動し、データパケットがアセンブルし直され、並べ替えられて、完全なデータパケットの順序化されたフローが生成される。並べ替え、アセンブルし直す間に、ブロック506は、データパケットが正確に並べ替えられ、アセンブルし直されるか否かを判定する。ティアドロップ攻撃の場合のように、データパケットが正確に並べ替えられ、アセンブルし直されない場合には、ブロック508で示されるように、1つあるいは複数のパケットが破棄され、それにより、その攻撃が転送先に到達するのを防ぐ。データパケットの破棄は、たとえば、図2のQoSプロセッサ116によって直ちに、あるいは将来のある時点で破棄されることになるデータパケットにフラグを立てることにより達成されることができる。
【0054】
ブロックが正確に並べ替えられ、アセンブルし直される場合には、本方法はブロック510に移動し、データパケットのペイロード内容が走査される。ペイロード内容の走査中に、本方法は、データが、長さ、構造およびデータ内の適当なコンテクスト等のような従うべきプロトコルに一致するか否かを判定する。ピング・オブ・デスタイプの攻撃で最大パケット長を超える場合のように、データが従うべきプロトコルに一致しない場合には、そのパケットもブロック508によって示されるように破棄される。
【0055】
正確に並べ替えられ、アセンブルし直され、かつ従うべきプロトコルに一致するデータを含むデータパケットはその後、有効であることを検証されたトラフィックフローの一部であるか否かを確認するために検査される。図2および図3を参照して先に記載されたように、個々のトラフィックフローは識別され、セッションIDを割り当てられる。トラフィックフローの特性を判定するだけの十分なデータパケット上のトラフィックフローを走査した後、そのトラフィックフローは分類、すなわちサービス品質レベルを割り当てられ、適当なトラフィックフローとして有効であることを検証されるか、あるいは有効であることが検証されないままにされる。トラフィックフローの分類は動的であり、トラフィックフローについてのさらに多くの情報が走査によって記憶されるのに応じて、トラフィックフローの過程にわたって変更されることができる。その分類は図3のセッションメモリ354に格納されるトラフィックフローの状態の一部である。
【0056】
ブロック514は、データパケットが有効であることを検証されたトラフィックフローに属するか否かの判定を示す。そのパケットが有効であることを検証されたトラフィックフローに属する場合には、ブロック520に示されるように、トラフィックフローの特性に基づいて高い優先順位のQoSキューに割り当てられる。その後、ブロック522に示されるように、そのデータパケットは、それが割り当てられたQoSキューのためのQoSプロトコルによって定義されるようにネットワーク上で伝送される。その後、ブロック524は本発明の終了を表す。
【0057】
有効なセッションが決して確立されないスマーフあるいはSYNフラッドの場合のように、そのパケットが有効であることを検証されたトラフィックフローに属さない場合には、ブロック516に示されるように、そのパケットは低い優先順位のQoSキューに割り当てられる。図2のQoSプロセッサ116のトラフィック管理エンジン126およびトラフィックシェーピングエンジン126は、低い優先順位のQoSキューが利用可能な帯域幅のうちの所定のパーセンテージのみを許可されるようにプログラミングされることができる。これにより、ブロック518に示されるように、有効であることを検証されないデータパケットは、ネットワーク装置100内の全トラフィックフローのうちのごく一部以外は消費できないようになる。SYNフラッド攻撃あるいはスマーフ攻撃のような強引な攻撃が利用することができる帯域幅の量を制限することにより、その攻撃は、ネットワークに過負荷をかけるだけの十分に広いネットワーク帯域幅を決して消費できないようになる。
【0058】
図5は、DoSタイプ攻撃を防ぐために、本発明が、各トラフィックフローにわたって状態を保持することを含む、データパケットの内容および関連するトラフィックフローのアウェアネスを如何に利用することができるかを示す。図2のネットワーク装置100は、その中を伝送するデータの特性を理解することにより、一致しないデータパケットを破棄することができるか、あるいはフラッドタイプの攻撃が全ての利用可能な帯域幅を消費するのを防ぐことができる。
【0059】
図2および図4を参照して記載されるヘッダプロセッサ、QoSプロセッサおよびフロー管理プロセッサには、記載された機能を実行することができる任意の適当なプロセッサを用いることができるが、好ましい実施形態では、ヘッダプロセッサには高速パターンプロセッサ(Fast Pattern Processor:FPP)が、QoSプロセッサにはルーティングスイッチプロセッサ(Routing Switch Processor:RSP)が、フロー管理プロセッサにはASIプロセッサが用いられ、それらは全て、Lucent Technologies(Austin, Texas)のアジェレ(Agere)事業部によって製造される。同様に、スイッチファブリックは、Power X Networks(2833、Junction Ave、Suite、San Jose、CA)によって製造される製品を含む、当分野においてよく知られているような任意の適当なスイッチファブリックであることができる。図2および図4を参照して記載されるマイクロプロセッサは、Motorola, Inc.から市販されるPowerPCシリーズのマイクロプロセッサ、あるいはIntel Corporationから市販されるX86またはPentium(登録商標)シリーズのマイクロプロセッサを含む任意の適当なマイクロプロセッサであることができるであろう。特定のプロトコル、実装形態および構成要素が特に参照されてきたが、「バンプ・イン・ザ・ライン」およびルーティング装置両方のネットワーク装置が、本発明の範囲から逸脱することなく、プロトコルに関係なく、種々の異なる実装形態において機能することができることを当業者は理解されたい。
【0060】
本発明が詳細に記載されてきたが、その最も広範な形態において本発明の精神および範囲から逸脱することなく、当業者であれば、種々の変形形態、代替形態および変更形態を実施できることを当業者には理解されたい。
【図面の簡単な説明】
【図1】
本発明が動作することができる例示的な環境を示すネットワークトポロジー図である。
【図2】
本発明による「バンプ・イン・ザ・ライン」ネットワーク装置のブロック図である。
【図3】
図2のペイロード走査エンジンのブロック図である。
【図4】
本発明によるルーティングネットワーク装置のブロック図である。
【図5】
サービス拒否攻撃を防ぐための本発明による方法を示す流れ図である。

Claims (16)

  1. それぞれ複数のデータパケットから形成される複数のトラフィックフローを含むデータネットワーク上のサービス拒否攻撃を防ぐための方法であって、
    前記データパケットの内容を走査することと、
    前記データパケットが1組の所定の要件に一致することを確認することと、
    前記データパケットが有効であることを検証されたトラフィックフローに関連付けられるか否かを検査することと、
    前記データパケットが有効であることを検証されたトラフィックフローに関連付けられる場合には、前記データパケットを高い優先順位のサービス品質に配置し、有効であることを検証されたトラフィックフローに関連付けられない場合には、低い優先順位のサービス品質に配置することとを含む方法。
  2. 前記確認することは、前記データパケットが所定のポリシーに従って並べ替えられ、アセンブルし直されるようにし、かつ前記データパケットが、要求されるパラメータに一致することを保証することを含む請求項1に記載の方法。
  3. 前記確認することと、前記検査することとの間に、前記データパケットが前記1組の所定の要件に一致しない場合には、前記データパケットを破棄することをさらに含む請求項1に記載の方法。
  4. 前記走査することは、前記データパケットのヘッダ情報を走査することと、前記データパケットのペイロード内容を走査することとを含む請求項3に記載の方法。
  5. 前記所定の要件は、パケット長と、重複しないオフセットフィールドと、プロトコル標準規格への準拠とを含む請求項1に記載の方法。
  6. 前記有効であることを検証されたトラフィックフローは、前記各トラフィックフローに関連付けられる状態によって識別される請求項5に記載の方法。
  7. ヘッダおよびペイロード情報を有する多数のデータパケットによってそれぞれ形成される複数のトラフィックフローを含むデータネットワーク上でサービス拒否攻撃を防ぐための方法であって、トラフィックフロー走査エンジンと、低い優先順位のキューおよび高い優先順位のキューを有するサービス品質プロセッサとを含むネットワーク装置を利用し、
    前記トラフィックフロー走査エンジンを用いて前記ヘッダ情報を走査することと、
    前記トラフィックフロー走査エンジンを用いて前記データパケットを並べ替え、アセンブルし直すことと、
    正確に並べ替えられず、アセンブルし直されずに破棄されることになるデータパケットにフラグを立てることと、
    前記トラフィックフロー走査エンジンを用いて前記ペイロード内容を走査することと、
    前記データパケットが1組の所定の要件に一致するか否かを判定することと、
    一致せず、破棄されることになるデータパケットにフラグを立てることと、
    前記データパケットが有効であることを検証されたトラフィックフローに関連付けられるか否かを検査することと、
    前記データパケットが有効であることを検証されたトラフィックフローに関連付けられる場合には、前記データパケットを高い優先順位のサービス品質に割り当て、前記データパケットが有効であることを検証されたトラフィックフローに関連付けられない場合には、前記データパケットを低い優先順位のサービス品質に割り当てることとを含む方法。
  8. 前記1組の所定の要件は、パケット長と、重複しないオフセットフィールドと、プロトコル標準規格への準拠とを含む請求項7に記載の方法。
  9. 前記フラグを立てられたデータパケットは、前記トラフィックフロー走査エンジンによって破棄される請求項7に記載の方法。
  10. 前記フラグを立てられたデータパケットは、前記サービス品質プロセッサによって破棄される請求項7に記載の方法。
  11. 前記有効であることを検証されたトラフィックフローは、前記各トラフィックフローに関連付けられる状態によって識別される請求項7に記載の方法。
  12. ヘッダ情報およびペイロード情報を含む内容を有する多数のデータパケットによってそれぞれ形成される複数のトラフィックフローを含むデータネットワーク上でサービス拒否攻撃を防ぐためのネットワーク装置であって、
    前記データパケットの前記ヘッダおよび前記ペイロード情報を走査し、前記各データパケットを特定のトラフィックフローに関連付け、前記各トラフィックフローが有効であることを検証されたトラフィックフローであるか、有効であることを検証されていないトラフィックフローであるかを判定するように動作可能なトラフィックフロー走査エンジンであって、該トラフィックフロー走査エンジンは、前記データパケットを並べ替え、アセンブルし直し、前記トラフィックフロー走査エンジンが前記各データパケットに関連付けられる結果を生成するような所定の要件に、前記データパケットが一致することを確認するようにさらに動作可能である、トラフィックフロー走査エンジンと、
    該トラフィックフロー走査エンジンに接続され、前記トラフィックフロー走査エンジンからの前記結果に基づいて、複数のサービス品質キューからの1つのサービス品質キューに前記データパケットを配置するように動作可能なサービス品質プロセッサであって、有効であることを検証されていないトラフィックフローからのデータパケットは低い優先順位のキューに割り当てられ、有効であることを検証されたトラフィックフローからのデータパケットはその内容に基づいて高い優先順位のキューに割り当てられる、サービス品質プロセッサとを含むネットワーク装置。
  13. 前記低い優先順位のキューは、ある最大パーセンテージのネットワーク帯域幅を割り当てられる請求項12に記載のネットワーク装置。
  14. 正確に並べ替えられず、アセンブルし直されないデータパケットおよび前記所定の要件に一致しないデータパケットは、前記ネットワーク装置によって破棄される請求項12に記載のネットワーク装置。
  15. 前記トラフィックフローは、前記各トラフィックフローに関連付けられる状態によって識別され、前記状態は、前記トラフィックフローが有効であることを検証されるか、有効であることを検証されないかを表す請求項12に記載のネットワーク装置。
  16. 前記1組の所定の要件は、パケット長と、重複しないオフセットフィールドと、プロトコル標準規格への準拠とを含む請求項12に記載のネットワーク装置。
JP2002508093A 2000-06-21 2001-06-18 サービス拒否攻撃を防ぐための方法 Expired - Fee Related JP3993092B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/598,631 US7058974B1 (en) 2000-06-21 2000-06-21 Method and apparatus for preventing denial of service attacks
PCT/US2001/019492 WO2002003084A1 (en) 2000-06-21 2001-06-18 Method for preventing denial of service attacks

Publications (2)

Publication Number Publication Date
JP2004503146A true JP2004503146A (ja) 2004-01-29
JP3993092B2 JP3993092B2 (ja) 2007-10-17

Family

ID=24396336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002508093A Expired - Fee Related JP3993092B2 (ja) 2000-06-21 2001-06-18 サービス拒否攻撃を防ぐための方法

Country Status (5)

Country Link
US (1) US7058974B1 (ja)
EP (1) EP1301801A1 (ja)
JP (1) JP3993092B2 (ja)
AU (1) AU2001268540A1 (ja)
WO (1) WO2002003084A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336551A (ja) * 2006-06-12 2007-12-27 Mitsubishi Electric Information Technology Centre Europa Bv 少なくとも1つのtcpデータセグメントストリームをインラインコンテンツ解析にサブミットするための方法及びデバイス、その方法を実施するための1つ又は複数の命令シーケンスを保持するコンピュータ可読媒体、並びにコンピュータプログラム製品

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5932285A (en) * 1995-02-17 1999-08-03 Medlogic Global Corporation Encapsulated materials
US10511573B2 (en) * 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US6801503B1 (en) * 2000-10-09 2004-10-05 Arbor Networks, Inc. Progressive and distributed regulation of selected network traffic destined for a network node
US20020166063A1 (en) * 2001-03-01 2002-11-07 Cyber Operations, Llc System and method for anti-network terrorism
US7342929B2 (en) * 2001-04-27 2008-03-11 Cisco Technology, Inc. Weighted fair queuing-based methods and apparatus for protecting against overload conditions on nodes of a distributed network
US7234168B2 (en) * 2001-06-13 2007-06-19 Mcafee, Inc. Hierarchy-based method and apparatus for detecting attacks on a computer system
US7684317B2 (en) * 2001-06-14 2010-03-23 Nortel Networks Limited Protecting a network from unauthorized access
DE10147889A1 (de) * 2001-09-28 2003-04-30 Siemens Ag Proxy-Einheit, Verfahren zum rechnergestützten Schützen eines Applikations-Server-Programms und Anordnung mit einer Proxy-Einheit und einer Einheit zum Ausführen eines Applikations-Server-Programms
JP3726741B2 (ja) * 2001-11-16 2005-12-14 日本電気株式会社 パケット転送装置、方法およびプログラム
NZ516346A (en) * 2001-12-21 2004-09-24 Esphion Ltd A device for evaluating traffic on a computer network to detect traffic abnormalities such as a denial of service attack
US7127512B2 (en) * 2002-02-19 2006-10-24 Qualcomm Inc. Method and apparatus for two-phase commit in data distribution to a web farm
US7388866B2 (en) * 2002-03-07 2008-06-17 Broadcom Corporation System and method for expediting upper layer protocol (ULP) connection negotiations
US7680043B2 (en) * 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
WO2003100617A1 (en) * 2002-05-22 2003-12-04 Lucid Security Corporation Adaptive intrusion detection system
EP1369766B1 (en) * 2002-06-07 2008-01-02 Hewlett-Packard Development Company, L.P. Propogation of viruses through an information technology network
GB2391419A (en) 2002-06-07 2004-02-04 Hewlett Packard Co Restricting the propagation of a virus within a network
GB2394382A (en) 2002-10-19 2004-04-21 Hewlett Packard Co Monitoring the propagation of viruses through an Information Technology network
US7139679B1 (en) * 2002-06-27 2006-11-21 Cisco Technology, Inc. Method and apparatus for cryptographic protection from denial of service attacks
US7420929B1 (en) 2002-07-02 2008-09-02 Juniper Networks, Inc. Adaptive network flow analysis
CA2393373A1 (en) 2002-07-15 2004-01-15 Anthony Gerkis Apparatus, system and method for the transmission of data with different qos attributes.
US8351341B1 (en) * 2002-08-02 2013-01-08 Juniper Networks, Inc. Filtering to protect class of service
US7251215B1 (en) 2002-08-26 2007-07-31 Juniper Networks, Inc. Adaptive network router
US20100138909A1 (en) * 2002-09-06 2010-06-03 O2Micro, Inc. Vpn and firewall integrated system
US7467408B1 (en) * 2002-09-09 2008-12-16 Cisco Technology, Inc. Method and apparatus for capturing and filtering datagrams for network security monitoring
KR100481614B1 (ko) * 2002-11-19 2005-04-08 한국전자통신연구원 서비스 거부와 분산 서비스 거부 공격으로부터 정상트래픽을 보호하는 방법 및 그 장치
US7397827B2 (en) * 2002-12-11 2008-07-08 Tellabs Operations, Inc. Systems and methods for switching multi-rate communications
JP3961415B2 (ja) * 2002-12-16 2007-08-22 株式会社エヌ・ティ・ティ・ドコモ プロトコル不具合自動検出方法、及び、プロトコル不具合自動検出装置
US7796515B2 (en) 2003-04-29 2010-09-14 Hewlett-Packard Development Company, L.P. Propagation of viruses through an information technology network
US7278156B2 (en) * 2003-06-04 2007-10-02 International Business Machines Corporation System and method for enforcing security service level agreements
NO320962B1 (no) * 2003-07-04 2006-02-20 Telenor Asa Anvendelse av polarisasjon for a skille ulike typer informasjon
US9032095B1 (en) 2004-01-06 2015-05-12 Juniper Networks, Inc. Routing device having multiple logical routers
US7343530B2 (en) * 2004-02-10 2008-03-11 Samsung Electronics Co., Ltd. Turbo decoder and turbo interleaver
GB2431316B (en) * 2005-10-12 2008-05-21 Hewlett Packard Development Co Propagation of malicious code through an information technology network
US7546635B1 (en) 2004-08-11 2009-06-09 Juniper Networks, Inc. Stateful firewall protection for control plane traffic within a network device
US7725708B2 (en) * 2004-10-07 2010-05-25 Genband Inc. Methods and systems for automatic denial of service protection in an IP device
US7626940B2 (en) * 2004-12-22 2009-12-01 Intruguard Devices, Inc. System and method for integrated header, state, rate and content anomaly prevention for domain name service
US7602731B2 (en) * 2004-12-22 2009-10-13 Intruguard Devices, Inc. System and method for integrated header, state, rate and content anomaly prevention with policy enforcement
US7610610B2 (en) 2005-01-10 2009-10-27 Mcafee, Inc. Integrated firewall, IPS, and virus scanner system and method
US10225282B2 (en) * 2005-04-14 2019-03-05 International Business Machines Corporation System, method and program product to identify a distributed denial of service attack
US8631483B2 (en) * 2005-06-14 2014-01-14 Texas Instruments Incorporated Packet processors and packet filter processes, circuits, devices, and systems
GB2428421A (en) * 2005-07-20 2007-01-31 Robert James Frost Kerbstone lifting device
TWI276334B (en) * 2005-09-16 2007-03-11 Ind Tech Res Inst Methods for allocating transmission bandwidths of a network
DE102005046935B4 (de) * 2005-09-30 2009-07-23 Nokia Siemens Networks Gmbh & Co.Kg Netzwerkzugangsknotenrechner zu einem Kommunikationsnetzwerk, Kommunikationssystem und Verfahren zum Zuweisen einer Schutzvorrichtung
US7797738B1 (en) * 2005-12-14 2010-09-14 At&T Corp. System and method for avoiding and mitigating a DDoS attack
US7861003B2 (en) * 2006-01-31 2010-12-28 Genband Us Llc Adaptive feedback for session over internet protocol
US7860990B2 (en) * 2006-01-31 2010-12-28 Genband Us Llc Session data records and related alarming within a session over internet protocol (SOIP) network
US7610622B2 (en) * 2006-02-06 2009-10-27 Cisco Technology, Inc. Supporting options in a communication session using a TCP cookie
US20070183416A1 (en) * 2006-02-07 2007-08-09 Mark Gooch Per-port penalty queue system for re-prioritization of network traffic sent to a processor
US7633944B1 (en) 2006-05-12 2009-12-15 Juniper Networks, Inc. Managing timeouts for dynamic flow capture and monitoring of packet flows
US7809827B1 (en) 2006-05-12 2010-10-05 Juniper Networks, Inc. Network device having service card for lawful intercept and monitoring of packet flows
US8001601B2 (en) * 2006-06-02 2011-08-16 At&T Intellectual Property Ii, L.P. Method and apparatus for large-scale automated distributed denial of service attack detection
US8259688B2 (en) 2006-09-01 2012-09-04 Wi-Lan Inc. Pre-allocated random access identifiers
EP1898586A1 (en) * 2006-09-07 2008-03-12 Mitsubishi Electric Information Technology Center Europe B.V. Protection for data transmission network systems against SYN flood denial of service attacks
US7672336B2 (en) * 2006-12-01 2010-03-02 Sonus Networks, Inc. Filtering and policing for defending against denial of service attacks on a network
US7940657B2 (en) * 2006-12-01 2011-05-10 Sonus Networks, Inc. Identifying attackers on a network
US7804774B2 (en) * 2006-12-01 2010-09-28 Sonus Networks, Inc. Scalable filtering and policing mechanism for protecting user traffic in a network
US7742409B2 (en) * 2007-08-15 2010-06-22 At&T Intellectual Property Ii, L.P. Method and apparatus for compensating for performance degradation of an application session
US7912062B2 (en) * 2007-09-28 2011-03-22 Genband Us Llc Methods and apparatus for managing addresses related to virtual partitions of a session exchange device
JP4576568B2 (ja) * 2007-12-03 2010-11-10 Necカシオモバイルコミュニケーションズ株式会社 ヒンジ構造、及び折り畳み式電子機器
US8339959B1 (en) 2008-05-20 2012-12-25 Juniper Networks, Inc. Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
US8375453B2 (en) 2008-05-21 2013-02-12 At&T Intellectual Property I, Lp Methods and apparatus to mitigate a denial-of-service attack in a voice over internet protocol network
US8413250B1 (en) 2008-06-05 2013-04-02 A9.Com, Inc. Systems and methods of classifying sessions
JP5473406B2 (ja) * 2008-07-18 2014-04-16 キヤノン株式会社 ネットワーク処理装置及びその処理方法
US8955107B2 (en) * 2008-09-12 2015-02-10 Juniper Networks, Inc. Hierarchical application of security services within a computer network
US8040808B1 (en) 2008-10-20 2011-10-18 Juniper Networks, Inc. Service aware path selection with a network acceleration device
US8363836B2 (en) * 2009-01-16 2013-01-29 Cisco Technology, Inc. Using authentication tokens to authorize a firewall to open a pinhole
US8751627B2 (en) 2009-05-05 2014-06-10 Accenture Global Services Limited Method and system for application migration in a cloud
US20110038259A1 (en) * 2009-07-31 2011-02-17 Sonus Networks, Inc. Priority Policing of Requests with Deferred Determination of Priority Level
CN102035821A (zh) * 2009-09-29 2011-04-27 凹凸电子(武汉)有限公司 防火墙/虚拟专用网集成系统以及电路
US20110083175A1 (en) * 2009-10-06 2011-04-07 Sonus Networks, Inc. Methods and Apparatuses for Policing and Prioritizing of Data Services
US8369345B1 (en) 2009-11-13 2013-02-05 Juniper Networks, Inc. Multi-router system having shared network interfaces
US8707428B2 (en) 2010-08-05 2014-04-22 At&T Intellectual Property I, L.P. Apparatus and method for defending against internet-based attacks
US9253062B2 (en) * 2011-12-23 2016-02-02 Ixia Byte by byte received data integrity check
US9251535B1 (en) 2012-01-05 2016-02-02 Juniper Networks, Inc. Offload of data transfer statistics from a mobile access gateway
EP3016332B1 (en) * 2013-06-27 2018-02-28 Jeong Hoan Seo Multi-connection system and method for service using internet protocol
US10762208B2 (en) * 2015-06-26 2020-09-01 Intel Corporation System and method for regaining operational control of compromised remote servers
US9973528B2 (en) 2015-12-21 2018-05-15 Fortinet, Inc. Two-stage hash based logic for application layer distributed denial of service (DDoS) attack attribution
US10341864B2 (en) 2017-03-03 2019-07-02 Verizon Patent And Licensing Inc. Network-based device registration for content distribution platforms
US11424993B1 (en) 2017-05-30 2022-08-23 Amazon Technologies, Inc. Artificial intelligence system for network traffic flow based detection of service usage policy violations
US10404747B1 (en) * 2018-07-24 2019-09-03 Illusive Networks Ltd. Detecting malicious activity by using endemic network hosts as decoys
US11343273B2 (en) 2020-03-20 2022-05-24 Amrita Vishwa Vidyapeetham Method of reducing DoS attacks using voice response in IoT systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813001A (en) 1993-10-22 1998-09-22 Nodel Corporation Method for performing optimized intelligent searches of knowledge bases using submaps associated with search objects
US5933602A (en) * 1996-07-31 1999-08-03 Novell, Inc. System for selecting command packet and corresponding response packet from communication stream of packets by monitoring packets sent between nodes on network
US6477669B1 (en) * 1997-07-15 2002-11-05 Comsat Corporation Method and apparatus for adaptive control of forward error correction codes
US6636512B1 (en) * 1998-07-31 2003-10-21 International Business Machines Corporation System, method, and article of manufacture for increasing link bandwidth utilization in a high speed digital network
EP0991231B1 (en) * 1998-09-10 2009-07-01 International Business Machines Corporation Packet switch adapter for variable length packets
US6598034B1 (en) * 1999-09-21 2003-07-22 Infineon Technologies North America Corp. Rule based IP data processing
US6654373B1 (en) * 2000-06-12 2003-11-25 Netrake Corporation Content aware network apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336551A (ja) * 2006-06-12 2007-12-27 Mitsubishi Electric Information Technology Centre Europa Bv 少なくとも1つのtcpデータセグメントストリームをインラインコンテンツ解析にサブミットするための方法及びデバイス、その方法を実施するための1つ又は複数の命令シーケンスを保持するコンピュータ可読媒体、並びにコンピュータプログラム製品
JP2013243694A (ja) * 2006-06-12 2013-12-05 Mitsubishi Electric R&D Centre Europe B.V. 少なくとも1つのtcpデータセグメントストリームをインラインコンテンツ解析にサブミットするための方法及びデバイス、その方法を実施するための1つ又は複数の命令シーケンスを保持するコンピュータ可読媒体、並びにコンピュータプログラム製品

Also Published As

Publication number Publication date
US7058974B1 (en) 2006-06-06
JP3993092B2 (ja) 2007-10-17
WO2002003084A1 (en) 2002-01-10
EP1301801A1 (en) 2003-04-16
AU2001268540A1 (en) 2002-01-14

Similar Documents

Publication Publication Date Title
JP3993092B2 (ja) サービス拒否攻撃を防ぐための方法
US6910134B1 (en) Method and device for innoculating email infected with a virus
US7031316B2 (en) Content processor
US6654373B1 (en) Content aware network apparatus
US9258329B2 (en) Dynamic access control policy with port restrictions for a network security appliance
US7272115B2 (en) Method and apparatus for enforcing service level agreements
US7471683B2 (en) Device for enabling trap and trace of internet protocol communications
Thomas et al. NetBouncer: client-legitimacy-based high-performance DDoS filtering
US6957258B2 (en) Policy gateway
Ambrosin et al. Lineswitch: Efficiently managing switch flow in software-defined networking while effectively tackling dos attacks
US20050060535A1 (en) Methods and apparatus for monitoring local network traffic on local network segments and resolving detected security and network management problems occurring on those segments
US20110289559A1 (en) Deep Packet Scan Hacker Identification
JP2009534001A (ja) 悪質な攻撃の検出システム及びそれに関連する使用方法
US7002974B1 (en) Learning state machine for use in internet protocol networks
US20030229710A1 (en) Method for matching complex patterns in IP data streams
US20080104688A1 (en) System and method for blocking anonymous proxy traffic
Boppana et al. Analyzing the vulnerabilities introduced by ddos mitigation techniques for software-defined networks
US20030227942A1 (en) Apparatus and method for using information in one direction of a bi-directional flow in a network to alter characteristics of the return direction flow
US20030229708A1 (en) Complex pattern matching engine for matching patterns in IP data streams
WO2002080417A1 (en) Learning state machine for use in networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070313

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070320

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees