JP2011503912A - ネットワークのサービス妨害攻撃に対する防御のための情報選別及び監視制限 - Google Patents

ネットワークのサービス妨害攻撃に対する防御のための情報選別及び監視制限 Download PDF

Info

Publication number
JP2011503912A
JP2011503912A JP2009539507A JP2009539507A JP2011503912A JP 2011503912 A JP2011503912 A JP 2011503912A JP 2009539507 A JP2009539507 A JP 2009539507A JP 2009539507 A JP2009539507 A JP 2009539507A JP 2011503912 A JP2011503912 A JP 2011503912A
Authority
JP
Japan
Prior art keywords
module
data packets
bin
access list
entry
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.)
Pending
Application number
JP2009539507A
Other languages
English (en)
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
Priority claimed from US11/565,944 external-priority patent/US7940657B2/en
Priority claimed from US11/565,940 external-priority patent/US7672336B2/en
Priority claimed from US11/565,942 external-priority patent/US7804774B2/en
Application filed by ソーナス ネットワークス, インコーポレイテッド filed Critical ソーナス ネットワークス, インコーポレイテッド
Publication of JP2011503912A publication Critical patent/JP2011503912A/ja
Pending 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/141Denial of service attacks against endpoints in a network

Landscapes

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

Abstract

本発明は、ネットワークのサービス妨害攻撃に対する防御のための情報選別及び監視制限用の、コンピュータを利用した方法及びコンピュータプログラム製品を含む機器に関する。データパケットは、複数段階の選別及び送信システムで選別される。第1段階のフィルターに適合するデータパケットは、廃棄される。第2段階のフィルターに適合するデータパケットは、基準に基づき出力モジュールへ送信される。第3段階のフィルターのデータパケットは、binにハッシングされ、binのエントリーに適合するデータパケットはbinの基準に基づき出力モジュールへ送信される。第4段階の送信システムのデータパケットは、基準に基づき出力モジュールへ送信される。出力モジュールへの送信の基準に適合しないデータパケットは、攻撃を識別するためにデータパケットを分析する攻撃識別モジュールへ送信される。

Description

本発明は、概して、ネットワークのサービス妨害攻撃に対する防御のための情報選別及び監視制限用の、コンピュータを利用した方法及びコンピュータプログラム製品を含む機器に関する。
世界を跨いだネットワークの利用が増加するにつれて、それらのネットワークへの攻撃も増加している。ネットワークへの攻撃には、サービス妨害(DOS:denial of service)攻撃をはじめとして種々のものがある。DOS攻撃は、ネットワーク上のデータの流れへだけでなく、攻撃を防ぐことができずに許してしまったという企業の評判、及び、究極的には企業の重要な財務状況へも破壊的な損害を引き起こすことがある。DOS攻撃は、正規のユーザーへネットワークによって提供されるサービスの低下、混乱又は妨害を意図した干渉攻撃を生み出す悪意ある攻撃を示すものとして用いられる。
DOS攻撃は、ネットワーク活動の成長につれて増加している。企業は、正規のユーザーからのパケットを識別し、それらをネットワーク上で許容することで、対応している。しかしながら、ユーザー数が多くなると、ユーザーリストを用いた各パケットの分析が実行困難となる。サーチエンジンベースの連想記憶装置(CAM:content-addressable memory)のようなハードウェアソリューションもまた、増加するユーザーの対応に用いられている。しかしながら、CAMハードウェアは高価であり、消費電力が大きく、余分な熱を発生する。
DOS攻撃の増加により、企業は攻撃からネットワークを守ることが重要となっている。DOS攻撃は、攻撃者にデータパケットを消耗された正規のユーザーから資源を奪う。DOS攻撃は、ネットワーク資源を消耗するだけでなく、企業のお金の面やその企業のネットワークを利用する顧客からの信用の面で損失を与える。DOS攻撃が増加しており、企業がこのような攻撃からネットワークを守るためのシステムを持つことが重要となっている。
ネットワーク攻撃に対する防御としての1つの方策は、ネットワーク上のデータを選別することである。1側面において、ネットワーク上のデータを選別する方法がある。該方法は、番号アクセスリストモジュールでデータパケットを受信すること、番号アクセスリストを用いてデータパケットを分析すること、及び、番号アクセスリストに適合しないデータパケットの第1セットを生成することを含んでいる。さらに、該方法は、第1アクセスリストモジュールで該データパケットの第1セットを受信すること、第1アクセスリストを用いてデータパケットの第1セットを分析すること、及び、該第1アクセスリストに適合しないデータパケットの第2セットを生成することを含んでいる。さらに、該方法は、第2アクセスリストモジュールでデータパケットの第2セットを受信すること、第2アクセスリストを用いてデータパケットの第2セットを分析すること、及び、該第2アクセスリストに適合しないデータパケットの第3セットを生成することを含んでいる。
別の側面において、ネットワーク上のデータを選別するためのコンピュータプログラム製品がある。コンピュータプログラム製品は、明白に、情報媒体を具体化している。コンピュータプログラム製品は、データ処理装置に番号アクセスリストモジュールでデータパケットを受信し、番号アクセスリストを用いてデータパケットを分析し、さらに、番号アクセスリストに適合しないデータパケットの第1セットを生成させる指示を行う。データパケットの第1セットは、第1アクセスリストモジュールで受信され、第1アクセスリストを用いて分析され、また、該第1アクセスリストに適合しないデータパケットの第2セットが生成される。データパケットの第2セットは、第2アクセスリストモジュールで受信され、第2アクセスリストを用いて分析され、また、該第2アクセスリストに適合しないデータパケットの第3セットが生成される。
別の側面において、ネットワーク上のデータを選別するためのシステムがある。該システムは、番号アクセスリストモジュールと、第1アクセスリストモジュールと、第2アクセスリストモジュールとを備えている。該番号アクセスリストモジュールは、入力モジュールからデータパケットを受信し、番号アクセスリストに適合しないデータパケットの第1セットを生成する。該第1アクセスリストモジュールは、番号アクセスリストモジュールからデータパケットの第1セットを受信し、第1アクセスリストに適合しないデータパケットの第2セットを生成する。該第2アクセスリストモジュールは、第1アクセスリストモジュールからデータパケットの第2セットを受信し、第2アクセスリストに適合しないデータパケットの第3セットを生成する。
別の側面において、ネットワーク上のデータを選別するためのシステムがある。該システムは、データパケット受信手段と、データパケットの第1セット受信手段と、データパケットの第2セット受信手段とを備える。該データパケット受信手段は、入力モジュールからのデータパケットを受信し、番号アクセスリストに適合しないデータパケットの第1セットを生成する。該データパケットの第1セット受信手段は、データパケットの第1セットを受信し、第1アクセスリストに適合しないデータパケットの第2セットを生成する。該データパケットの第2セット受信手段は、データパケットの第2セットを受信し、第2アクセスリストに適合しないデータパケットの第3セットを生成する。
別の側面において、ネットワーク上のデータは監視制限される。別の側面において、ネットワーク上のデータを監視制限する方法がある。該方法は、データパケットをインデックスモジュールで受信すること、bin識別及びユーザーの署名を生成するためにデータパケットにおける1又はそれ以上のフィールドを用いてデータパケットのハッシングを行うこと、複数のbinに含まれた第1binにユーザーの署名を対応させるbin識別処理を行うことを含む。該方法は、さらに、第1binで、ユーザーの署名を0又はそれ以上の第1binに対応する記憶されたユーザーの署名と比較すること、該比較に基づいて送信モジュールにデータパケットを送信すること、及び、送信モジュールによってデータパケットを基準に基づいて出力モジュールへ送信することを含む。
別の側面において、ネットワーク上のデータを監視制限するためのコンピュータプログラム製品がある。コンピュータプログラム製品は、明白に、情報媒体を具体化している。コンピュータプログラム製品は、データ処理装置がデータパケットをインデックスモジュールで受信し、bin識別及びユーザーの署名を生成するためにデータパケットにおける1又はそれ以上のフィールドを用いてデータパケットのハッシングを行い、複数のbinに含まれた第1binにユーザーの署名を対応させるbin識別処理を行うような指示を行う。第1binは、ユーザーの署名を0又はそれ以上の第1binに対応する記憶されたユーザーの署名と比較し、データパケットを該比較に基づいて送信モジュールに送信する。該送信モジュールは、データパケットを基準に基づいて出力モジュールへ送信する。
別の側面において、ネットワーク上のデータを監視制限するためのシステムがある。該システムは、インデックスモジュール、binモジュール、及び、送信モジュールを備える。インデックスモジュールは、データパケットを受信し、bin識別及びユーザーの署名を生成するためにデータパケットのハッシングを行い、データパケットのbin識別を複数のbinに含まれた第1binに対応させる。binモジュールは、ユーザーの署名と0又はそれ以上の第1binに対応する記憶されたユーザーの署名とを比較する。送信モジュールは、適合するデータパケットを基準に基づいて出力モジュールへ送信する。
別の側面において、ネットワーク上のデータを監視制限するためのシステムがある。該システムは、データパケット受信手段、ユーザー署名比較手段、及び、適合データパケット送信手段を備えている。データパケット受信手段はデータパケットを受信し、bin識別及びユーザーの署名を生成するためにデータパケットのハッシングを行い、データパケットのbin識別を複数のbinに含まれた第1binに対応させる。ユーザー署名比較手段は、ユーザーの署名と0又はそれ以上の第1binに対応する記憶されたユーザーの署名とを比較する。適合データパケット送信手段は、適合するデータパケットを基準に基づいて出力モジュールへ送信する。
別の側面において、ネットワーク上のデータは、攻撃者を識別するために分析される。別の側面において、ネットワーク上の攻撃者の識別方法がある。該方法は、廃棄処理モジュールでデータパケットを受信すること、及び、データパケットのための廃棄エントリーを生成することを含んでいる。該方法は、さらに、廃棄エントリーをダイジェストインデックスモジュールで受信すること、及び、bin識別及びユーザーの署名を生成するために廃棄エントリーの1又はそれ以上のフィールドを用いて廃棄エントリーのハッシングを行うことを含んでいる。該方法は、さらに、bin識別を処理して複数のbinに含まれた第1binにユーザーの署名を対応させること、及び、第1binで廃棄エントリーの処理を行うことを含んでいる。
別の側面において、攻撃者を識別するためにネットワーク上のデータを分析するコンピュータプログラム製品がある。該コンピュータプログラム製品は、明白に、情報媒体を具体化しており、データ処理装置がデータパケットを廃棄処理モジュールで受信し、データパケットのための廃棄エントリーを生成させる指示を行う。ダイジェストインデックスモジュールは、廃棄エントリーを受信し、bin識別及びユーザーの署名を生成するために廃棄エントリーの1又はそれ以上のフィールドを用いて廃棄エントリーのハッシングを行い、bin識別を処理して複数のbinに含まれた第1binにユーザーの署名を対応させる。第1binは、廃棄エントリーの処理を行う。
別の側面において、ネットワーク上において攻撃者を識別するためのシステムがある。該システムは、廃棄処理モジュール、ダイジェストインデックスモジュール、及び、第1ダイジェストbinモジュールを備えている。廃棄処理モジュールは、データパケットを受信し、廃棄エントリーを生成する。ダイジェストインデックスモジュールは、廃棄エントリーを受信し、bin識別及びユーザーの署名を生成するために廃棄エントリーのハッシングを行い、bin識別を処理して複数のダイジェストbinモジュールに含まれた第1ダイジェストbinモジュールにユーザーの署名を対応させる。第1ダイジェストbinモジュールは、廃棄エントリーの処理を行う。
別の側面において、ネットワーク上において攻撃者を識別するためのシステムがある。該システムは、データパケット受信手段、廃棄エントリー受信手段、及び、処理手段を備えている。データパケット受信手段は、データパケットを受信し、廃棄エントリーを生成する。廃棄エントリー受信手段は、廃棄エントリーを受信し、bin識別及びユーザーの署名を生成するために廃棄エントリーのハッシングを行い、bin識別を処理して複数のダイジェストbinモジュールに含まれた第1ダイジェストbinモジュールにユーザーの署名を対応させる。処理手段は、廃棄エントリーの処理を行う。
別の例において、上述した側面は、それぞれ以下の特徴を1つ又はそれ以上含んでいても良い。番号アクセスリストは、どのデータパケットについて出力モジュールへの送信が許されないのかを示す識別リストを含んでいる。番号アクセスリスト用の識別リストは、攻撃ユーザーに対応する識別情報、データパケットに対応するフィールド、及び/又は、データパケットに対応するメタデータを含んでいる。第1アクセスリストは、どのデータパケットについて出力モジュールへの送信が許されるのかを示す識別リストを含んでいる。第1アクセスリスト用の識別リストは、高周波数帯域幅ユーザーに対応する識別情報、重要なユーザーに対応する識別情報、データパケットに対応するフィールド、及び/又は、データパケットに対応するメタデータを含んでいる。第2アクセスリストは、どのデータパケットについて出力モジュールへの送信が許されるのかを示す識別リストを含んでいる。第2アクセスリスト用の識別リストは、低周波数帯域幅ユーザーに対応する識別情報、標準的なユーザーに対応する識別情報、データパケットに対応するフィールド、及び/又は、データパケットに対応するメタデータを含んでいる。
いくつかの例において、データパケットは該システムのユーザーに対応していない。データパケットのハッシングから生じたbin識別及びユーザーの署名は、第1binに対応する記憶されたユーザーの署名の1つに適合する。適合の蓋然性は低い。データパケットは基準に基づいて出力モジュールへ送信するために、送信モジュールへ送信される。
さらに他の例において、第1アクセスリストモジュールは、第1アクセスリストに適合するデータパケットの第4セットを生成し、データパケットの第4セットを基準に基づいて出力モジュールへ送信する。
他の例において、第1アクセスリストモジュールは、出力モジュールへ送信しないデータパケットの第4セットからのデータパケットを含むデータパケットの第6セットを生成する。攻撃識別モジュールは、データパケットの第6セットを受信し、ネットワークの攻撃者を識別するためにデータパケットの第6セットを分析する。攻撃識別モジュールにおける分析は、データパケットに対応する他の識別情報を用いた互いに対応するデータパケットの数の計算、データパケットの数の攻撃番号リストへの追加、及び、データパケットの数による攻撃番号リストの分類を含む。攻撃識別モジュールは、1又はそれ以上の番号アクセスリストエントリーを生成する。番号アクセスリストは、番号アクセスリストモジュールで受信され、番号アクセスリストに追加される。
他の例において、第2アクセスリストモジュールは、第2アクセスリストに適合するデータパケットの第5セットを生成し、レート制御を用いてデータパケットの第5セットを出力モジュールへ送信し、出力モジュールへ送信しないデータパケットの第5セットからのデータパケットを備えるデータパケットの第7セットを生成する。攻撃識別モジュールは、データパケットの第7セットを受信し、データパケットの第7セットを分析する。
さらに他の例において、送信モジュールは、データパケットの第3セットを受信し、データパケットの第8セットを生成し、レート制御を用いてデータパケットの第8セットを出力モジュールへ送信し、出力モジュールへ送信しないデータパケットの第8セットからのデータパケットを備えるデータパケットの第9セットを生成する。攻撃識別モジュールは、データパケットの第9セットを受信し、データパケットの第9セットを分析する。
さらに他の例において、番号アクセスリストモジュールは、番号アクセスリストに適合するデータパケットの第10セットを生成する。廃棄モジュールは、データパケットの第10セットを受信し、データパケットの第10セットを廃棄する。
他の例において、第2アクセスリストは、データパケットに対応するフィールド、データパケットに対応するメタデータ、及び/又は、それらのハッシングを用いて索引付けされる。第2アクセスリストは、第1アクセスリストより多くのエントリーを含んでいる。第2アクセスリストは、索引付けされた複数のリストを含んでいる。
さらに他の例において、データパケットの1又はそれ以上のフィールドは、ポート番号、イーサネット(登録商標)ヴァーチャルローカルエリアネットワーク(Ethernet(登録商標) virtual local area network :VLAN)タグ、データパケットに対応するメタデータ、レシーバインタフェース、送信元IPアドレス、インカミング論理IPアドレス、宛先IPアドレス、送信元MACアドレス、及び/又は、宛先MACアドレスである。
他の例において、記憶されたユーザーの署名は、流入制御モジュールによって修正される。修正は、記憶されたユーザーの署名へ足したり、引いたり、編集したりすることで行う。流入制御モジュールは、出力モジュールに対してサービスを要求し、記憶されたユーザーの署名を修正すべきか及びどのように修正すべきかを決定する。修正は、流入制御モジュールへの好ましい認証に基づいて断定される。
さらに他の例において、流入制御モジュールはサービスの要求を受信する。流入制御モジュールは、サービスの要求を認証する。サービスの要求は、流入制御モジュールによって処理されて、第1アクセスリストに適合する識別リストが足され、引かれ、及び/又は、編集される。
他の例において、基準は、レート制御である。レート制御は、レートリミットを示す。レートリミットは、設定時間でのデータ量である。レートリミットは、パケットレートリミット、バイトレートリミット、定常状態のレートリミット、及び/又は、バーストリミットである。インデックスモジュールは、データパケットの一部又は全部をハッシングする。binモジュールは、ユーザーの署名の一部又は全部を、記憶されたユーザーの署名の一部又は全部と比較する。
さらに他の例において、廃棄エントリーは、データパケットに対応する識別情報を備える。識別情報は、ネットワークアドレス、ネットワークサブネットアドレス、IPアドレス、MACアドレス、ネットワーキングプロトコルヘッダーフィールド、データパケットに対応するメタデータ、到着インタフェース、宛先インタフェース、及び/又は、オリジネーションインタフェースである。カウントエントリーは、廃棄処理モジュールで受信されたデータパケットごとに増加する。
他の例において、第1binにおける廃棄エントリーの処理は、廃棄エントリーのユーザーの署名と、第1binに対応する1又はそれ以上の記憶されたユーザーの署名との比較を含む。廃棄エントリーのユーザーの署名が記憶されたユーザーの署名に適合すると、ヒットカウンターが記憶されたユーザーの署名に対応する第1ダイジェストエントリーに基づいて増加する。廃棄エントリーのユーザーの署名が第1binに対応する1又はそれ以上の記憶されたユーザーの署名に適合しなければ、廃棄エントリーはダイジェストエントリーへ処理され、ダイジェストエントリーが第1binに追加される。ダイジェストエントリーは、タイムスタンプ、ヒットカウンター、パケットフィールド、パケットメタデータ、及び/又は、独自性インジケータを備える。
他の例において、第1binが処理されて第1binの容量を決定し、第1binの各ダイジェストエントリーは該容量に基づいて処理されて年齢とヒット数とを決定する。第2ダイジェストエントリーは、年齢とヒット数に基づいて削除され、上書き数が増加し、上書き数が処理される。第2ダイジェストエントリーが年齢とヒット数に基づいて削除されなければ、廃棄エントリーは削除され、廃棄数が増加し、廃棄数が処理される。
さらに他の例において、複数のbinにおける各ダイジェストエントリーのヒット数及びタイムスタンプが処理されて、各ダイジェストエントリーのヒット数の値を含む高レートリストが生成される。高レートリストは、レートによって選別される。番号アクセスリストエントリーは、高レートリストの1又はそれ以上の選択されたエントリーから生じる。番号アクセスリストエントリーは、番号アクセスリストモジュールで受信され、番号アクセスリストに追加される。
他の例において、複数のbinにおいて各ダイジェストエントリーのタイムスタンプ及びヒットカウンターが処理される。タイムスタンプは、例えば、複数のタイムエントリーであってもよい。ヒットレートリストは、各ダイジェストエントリーのタイムスタンプ及びヒットカウンターの処理に基づいて生成されてもよい。
上述した側面及び例のいずれも、以下の利点の1つ又はそれ以上を提供することができる。データパケットは、段階的なフィルターによってフィルタリングされることで、保護されたネットワークに対する攻撃者のサービス妨害攻撃の成功を防ぐ。データパケットの段階的なフィルタリングにより、既知の攻撃者を素早く除外し、より多くのネットワークの顧客をネットワークへ素早くアクセスさせる。段階的なフィルタリングは、また、攻撃者からのデータパケットをフィルタリングで除去する必要性のバランスを取りながら、標準的なユーザーにネットワークへアクセスさせる。
他の利点としては、第2アクセスリストである第3段階のフィルタリングがある。第2アクセスリストは、複数のbinに亘るデータパケットの分配により、何十万ものユーザーの署名を処理することができる。ハッシング機能により、ユーザーの署名のサイズが、binとbinに亘るデータパケットの分配との間で変化する。binの数、ユーザーの署名のサイズ、及び、ハッシング機能は、第3段階のフィルタリングの拡張性と精度の両方を許容するために、保護されたネットワークの必要に応じることができる。
他の利点としては、基準に基づく保護されたネットワークへのパケットの送信がある。基準は、レートリミットであるレート制御機構であってもよい。例えば、レートリミットは、ネットワークの多くの顧客を許容する第2段階のフィルターに設けられ、レートリミットは、設定時間の間にネットワーク上で許容されるデータパケットの数を制限することにより、第2段階のフィルターを通して許容されたデータパケットの攻撃からネットワークの他の顧客を保護する。レートリミットは、例えば、ネットワーク上の標準的な顧客へ、たとえ攻撃者がbinの1つを通して許容されても、攻撃者は攻撃者の悪影響を減少させるbinの出力レートリミットによって制限されることを保証する第3段階のフィルターにおける各binに設けられる。
他の利点としては、基準に基づく第3段階のフィルターにおけるbinからのパケットの送信がある。たとえ攻撃者のデータパケットがbinのユーザーの署名に適合したとしても、binに対応する顧客のみが攻撃者によって影響され、システムの残りの顧客は影響されないため、該基準は各binに対応する。適合及び送信にbinを用いることの利点には、インデックス及びハッシングシステムを使用したbin記憶することができる顧客数の増加、及び、binの1つが攻撃に対応したデータパケットを受信したときに影響を受ける顧客数の減少がある。
他の利点としては、全体的なフィルタリング能力及びネットワーク上のレート制御データパケットを提供するフィルタリング及び送信制御動作に対応するパケット分類機構の混成の利用がある。パケット分類機構の混成を利用する利点の1つは、データパケットの異なるクラスがデータパケットのネットワークへの価値によって送られることである(例えば、重要な顧客からのデータパケットが識別され、標準的な顧客からのデータパケットとは異なったコスト及び/又はパフォーマンス条件に基づく機構によって監視制限される)。異なる機構を利用する利点は、各機構が異なる特性(例えば、送信速度、適合精度)について最適化されることである。
他の利点としては、データパケットが出力モジュールへ送信される前の各データパケットの送信規制がある。送信規制の利点の1つは、信頼されたユーザーのデータパケットが攻撃に用いられたとき、信頼されたユーザーからのデータパケットが他のユーザーのデータパケットが逆に影響されないようにそのまま規制される。
他の利点としては、ネットワークの攻撃者を特定するためのパケットの分析がある。分析は、過剰なデータパケットをフィルタリング及び送信モジュールにより受信し、サブネットアドレスのような共通の特性に基づき、データパケットに対応するデータパケットを処理することで行う。対応するデータパケットは、最悪の攻撃者を特定するために分析される(例えば、データパケットの最高数のエントリー)。最悪の攻撃者は、データパケットがまずシステムに入ると、続いてアクセスを止めるために第1段階のフィルターに追加される。過剰なデータパケットを処理するフィードバック機構は、攻撃者からネットワークを保護する自動システムを許容する。
本発明の他の側面及び利点は、単に例として示された発明の原理を示す図面と共に、以下の詳細な説明により明らかとなる。
本発明自体のみならず、本発明に係る、上述の及び他の目的、特性及び利点は、図面を併せて読むことで、後述する種々の形態の記載によりさらに理解される。
図1は、出力モジュールへの送信のための入力モジュールからのデータパケットをフィルタリングするシステムの例を示す機能ブロック図である。 図2は、番号アクセスリストモジュールを通してデータパケットをフィルタリングするシステムの例を示す機能ブロック図である。 図3は、第1アクセスリストモジュールを通してデータパケットをフィルタリングするシステムの例を示す機能ブロック図である。 図4は、第2アクセスリストモジュールを通してデータパケットをフィルタリングするシステムの例を示す機能ブロック図である。 図5は、攻撃を識別するためにデータを処理するシステムの例を示す機能ブロック図である。 図6Aは、コンピュータから送られたデータパケットの図である。 図6Bは、電話から送られたデータパケットの図である。 図6Cは、電話から送られたデータパケットの図である。 図6Dは、電話から送られたデータパケットの図である。 図6Eは、電話から送られたデータパケットの図である。 図6Fは、電話から送られたデータパケットの図である。 図7Aは、例示されたシステムを通したデータパケットの処理を記述したフローチャートである。 図7Bは、例示されたシステムを通したデータパケットの処理を記述したフローチャートである。 図8は、例示されたシステムの第2アクセスリストモジュールを通したデータパケットの処理を記述したフローチャートである。 図9は、例示されたシステムの攻撃識別モジュールを通したデータパケットの処理を記述したフローチャートである。 図10は、例示されたシステムにおいて攻撃を探知するためのヒットカウンターの処理を記述したフローチャートである。
総括すると、データパケットは、多段階のフィルタリング及び送信システムによってフィルタリングされる。第1段階のフィルター(例えば、番号アクセスリスト)に適合するデータパケットは廃棄され、残ったデータパケットが第2段階のフィルターへ送信される。第2段階のフィルター(例えば、第1アクセスリスト)に適合するデータパケットは、基準(例えばレートリミット)に基づいて出力モジュールへ送信される。適合するデータパケットが基準外であれば、そのデータパケットは分析のために攻撃識別モジュールへ送信される。第2段階のフィルターに適合しないデータパケットは第3段階のフィルターへ送信される。
第3段階のフィルター(例えば、第2アクセスリスト)で、データパケットはbinへハッシングされ、適合するbinでのエントリーに適合するデータパケットはbinの基準(例えば、レートリミット)に基づき、出力モジュールへ送信される。適合するデータパケットが基準外であれば、そのデータパケットは分析のために攻撃識別モジュールへ送信される。第3段階のフィルターに適合しないデータパケットは第4段階のフィルターへ送信される。第4段階の送信システムで、データパケットは、基準(例えば、レートリミット)に基づき、出力モジュールへ送信される。ネットワークへの送信の基準に適合しないデータパケットは、分析のために攻撃識別モジュールへ送信される。攻撃識別モジュールは、攻撃を識別するためにデータパケットを分析する。
図1は、出力モジュール170への送信のための入力モジュール110からのデータパケットをフィルタリングするシステム100における防御システム105の例を示す機能ブロック図である。データパケットは、入力モジュール110から防御システム105へ送信される。ある例において、システム100はデジタル・シグナル・プロセッサ(DSP)、集積回路(IC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、コンピュータ、ネットワーク、ネットワークプロセッサ、及び/又は、それらの部品である。防御システム105は、例えば、DSP、IC、FPGA、コンピュータ、ネットワーク、ネットワークプロセッサ、それらの部品、及び/又は、システム100の部品であってもよい。ある例において、入力モジュールは、ネットワーク、システム100のプロセッサ、システム100のプロセッサカード、システム100のネットワーク・インタフェースカード(NIC)、DSP、IC、FPGA、コンピュータ、ネットワーク、記憶モジュール(例えば、揮発性メモリ、不揮発性メモリ)、ネットワークプロセッサ、他のタイプの処理モジュール、それらの部品、及び/又は、システム100の部品である。出力モジュールは、例えば、ネットワーク、システム100のプロセッサ、システム100のプロセッサカード、システム100のネットワーク・インタフェースカード(NIC)、DSP、IC、FPGA、コンピュータ、ネットワーク、記憶モジュール(例えば、揮発性メモリ、不揮発性メモリ)、ネットワークプロセッサ、他のタイプの処理モジュール、それらの部品、及び/又は、システム100の部品である。入力モジュール110からのデータパケットの送信は、パケットベースのネットワーク及び/又は回路ベースのネットワークであってもよい。出力モジュール170からのデータパケットの送信は、パケットに基づくネットワーク、及び/又は、回路に基づくネットワークを通してもよい。
防御システム105は、入力モジュール110から来たデータパケットと伴に示されるが、他の例は、データパケットを送信する送信デバイスを含んでいる。送信デバイスは、例えば、入力モジュール110に位置し、又は、データパケットを入力モジュール110へ送信する分離したネットワークに位置する。例えば、データパケットは、分離したネットワーク上の送信デバイスから送信される。データパケットは、分離したネットワークから入力モジュール110へ送信される。入力モジュール110は、フィルタリングのために、データパケットをシステム100へ送信する。
データパケットは、番号アクセスリストモジュール120で受信される。番号アクセスリストモジュール120は、番号アクセスリストを用いてデータパケットを分析する。番号アクセスリストは、例えば、どのデータパケットが出力モジュール170へ送信されることが許されないのかを示す識別リストを含んでいる。識別リストは、攻撃ユーザーに対応する識別情報、データパケットに対応するフィールド(例えば、ネットワークプロトコル・ヘッダーフィールド、受信アドレス、ネットワークアドレス、ネットワークサブネットアドレス、インターネットプロトコル(IP)アドレス、メディア・アクセス・コントロール(MAC)アドレス、受信アドレス、進入インタフェース、マルチプロトコル・ラベル・スウィッチング(MPLS)タグ)、及び/又は、データパケットに対応するメタデータを含んでいる。
データパケットの第1セット122は、番号アクセスリストに適合しないデータパケットから生成される。データパケットの第1セット122は、第1アクセスリストモジュール130へ送信される。データパケットの第10セット124は、番号アクセスリストに適合しないデータパケットから生成される。データパケットの第10セット124は、廃棄モジュール125へ送信される。廃棄モジュール125は、データパケットの第10セット124を廃棄する。データパケットの第10セット124の廃棄は、例えば、防御システム105からのデータパケットの第10セット124の削除、及び/又は、処理(不適切に廃棄されたデータパケットのチェックのための廃棄されたデータパケットの分析)のための記憶モジュールへデータパケットの第10セット124の送信を含んでいる。
番号アクセスリストの適合は、例えば、識別リストの一部又は全部と、データパケットに対応する情報との比較を含んでいる。例えば、IPアドレス10.99.99.99のデータパケットは番号アクセスリストモジュール120によって処理される。番号アクセスリストは、ネットワークサブネットアドレス10.99.99.0を含んでいる。IPアドレス10.99.99.99のデータパケットに対応する情報は、番号アクセスリストを用いて分析される。IPアドレス10.99.99.99のデータパケットに対応する情報が番号アクセスリストの一部に適合するとき、データパケットは、データパケットの第10セット124の一部又は全部であり、廃棄モジュール125へ送信される。例えば、IPアドレス10.10.10.10のデータパケットは、番号アクセスリストモジュール120で処理される。番号アクセスリストは、IPアドレス10.10.10.10を含まず、又は、送信デバイス又はデータパケットのネットワークに適合する他のどのような識別情報をも含まない。データパケットに対応する情報が番号アクセスリストのどの部分にも対応しないとき、データパケットは、データパケットの第1セット122の一部又は全部であり、第1アクセスリストモジュール130へ送信される。
データパケットの第1セットは、第1アクセスリストモジュール130へ送信される。第1アクセスリストモジュール130は、第1アクセスリストを用いてデータパケットの第1セット122を分析する。第1アクセスリストは、例えば、どのデータパケットが出力モジュール170へ送信されることが許されるかを示す識別リストを含んでいる。識別リストは、高周波数帯域幅ユーザーに対応する識別情報、重要なユーザーに対応する識別情報、データパケットに対応するフィールド、及び/又は、データパケットに対応するメタデータを含んでいる。高周波数帯域幅ユーザーは、大量のデータパケットを出力モジュールへ送信するユーザーである(例えば、平均的なユーザーは1日に1000データパケットを送信し、高周波数帯域幅ユーザーは1日に100000データパケットを送信する)。重要なユーザーは、標準的なユーザーよりハイレベルなサービスが要求されるものとして分類されるユーザーである(例えば、標準的なユーザーは1ヶ月に100ドルをサービス料として支払い、重要なユーザーは、1ヶ月に500ドルをハイレベルなサービス料として支払う)。
データパケットの第2セット132は、第1アクセスリストに適合しないデータパケットの第1セット122から生成される。データパケットの第2セット132は、第2アクセスリストモジュール140へ送信される。データパケットの第4セット136は、第1アクセスリストに適合しないデータパケットの第1セット122から生成する。データパケットの第4セット136は、基準(例えば、レートリミット)に基づいて、出力モジュール170へ送信される。
ある例において、基準はレート制御である。レート制御は、レートリミットであってもよい。レートリミットはパケットレートリミット(例えば、1分あたり千パケット)、バイトレートリミット(例えば、1秒あたり1万バイト)、定常状態のレートリミット(例えば、1秒あたり平均1万バイト)、及び/又は、バーストリミット(例えば、ある1秒において最大5百万バイト)であってもよい。レートリミットは、例えば、設定時間中のデータ量(例えば、1秒あたり百データパケット、1秒あたり千データパケット)である。
第1アクセスリストモジュール130は、出力モジュール170へ送信されないデータパケットの第4セット136を含むデータパケットの第6セット134を生成する。データパケットの第6セット134は、例えば、番号データパケット、データパケットの第4セットの一部、又は、データパケットの第4セットの全部を含んでいる。出力モジュール170へ送信されないデータパケットの第4セット136は、第1アクセスリストモジュール130の基準外である。
例えば、出力モジュール170へのデータパケットの第4セットの送信のためのレートリミットは、1秒あたり150データパケットである。データパケットの第4セット136は、1秒あたり200データパケットのレートでサイズが増大する(すなわち、データパケットの第1セット122が第1アクセスリストに適合するデータパケットを含んでいる)。1秒あたり200データパケットの入力パケット流と150データパケットのレートリミットとの差により、出力モジュール170へ送信されない1秒あたり50データパケットの過剰分が生じる。この1秒あたり50データパケットの過剰分がデータパケットの第6セット134を構成する。
データパケットの第6セット134は、攻撃識別モジュール160へ送信される。攻撃識別モジュール160は、ネットワークの攻撃者を識別するためにデータパケットの第6セット134を分析する。分析は、例えば、ネットワークアドレス及び/又はネットワークサブネットから受信されたデータパケットの数の計算、データパケットの数の攻撃番号リストへの追加、及び、出力モジュール170へ送信されない最大データパケット数を有するネットワークアドレス及び/又はネットワークサブネットを特定するためのデータパケットの数による攻撃番号リストの分類を含む。例えば、データパケットの第6セット134はIPサブネットアドレス10.99.99.0からの100000データパケットを含んでいる。攻撃識別システム160は、IPサブネットアドレス10.99.99.0から受信したデータパケットの数を計算する。計算した10万ものデータパケットは攻撃番号リストへ追加される。攻撃番号リストは、攻撃番号リストの最大数である100000データパケットに対応するIPサブネットアドレス10.99.99.0を示す数字によって分類される。
攻撃識別システム160による分析は、例えば、攻撃番号リストに対応する攻撃識別モジュール160における番号アクセスリストエントリーの生成を含む。番号アクセスリストエントリーの生成は、例えば、攻撃番号リストの最高エントリー及び/又は攻撃番号リストのエントリー(例えば、上位5エントリー、上位10エントリー)の最高セット数の生成を含む。番号アクセスリストエントリーは、番号アクセスリストモジュール120へ送信され、番号アクセスリストエントリーは番号アクセスリストモジュール120において番号アクセスリストに追加される。番号アクセスリストエントリーは、ネットワークアドレス及び/又はネットワークサブネットからの現在及び/又は未来の攻撃を防御するために、番号アクセスリストへ追加される。攻撃識別モジュール160のフィードバック機構を通した番号アクセスリストへのエントリーの追加の利点は、番号アクセスリストがシステム100への現在の危機へ対応するために動的に更新され得ることである。番号アクセスリストエントリーは、例えば、番号アクセスリストへ手作業で(例えば、防御システム105のための管理モジュールと交流する送信デバイスを用いること等により)追加することができる。
データパケットの第2セット132は、第2アクセスリストモジュール140へ送信される。第2アクセスリストモジュール140は、第2アクセスリストを用いたデータパケットの第2セット132を分析する。第2アクセスリストは、例えば、どのデータパケットが出力モジュール170へ送信されることを許されるかを示す識別リストを含んでいる。識別リストは、低周波数帯域幅ユーザーに対応する識別情報、標準的なユーザーに対応する識別情報、データパケットに対応するフィールド、及び/又は、データパケットに対応するメタデータを含んでいる。低周波数帯域幅ユーザーは、平均の又はほぼ平均の数のデータパケットを出力モジュールへ送信するユーザーである(例えば、平均的なユーザーは1日に1000データパケットを送信し、低周波数帯域幅ユーザーは1日に900データパケットを送信する)。標準的なユーザーは、標準的なサービスが要求されるものとして分類されるユーザーである(例えば、標準的なユーザーは1ヶ月に100ドルをサービス料として支払い、重要なユーザーは、1ヶ月に500ドルをハイレベルなサービス料として支払う)。
ある例において、ハッシングは、異なったアドレスに対して同一のbin識別及びユーザーの署名を生成する。例えば、アドレス10.5.5.5及び10.9.9.9は、ハッシングされてbin識別及びユーザーの署名を生成する。両アドレスのためのbin識別はAであり、両アドレスのためのユーザーの署名はHLF342である。アドレス10.5.5.5がハッシングされ、ユーザーの署名HLF342がbin識別Aに対応するbinに追加される場合、アドレス10.9.9.9のデータパケットが第2アクセスリストモジュール140において処理されるとき、データパケットはアドレス10.5.5.5に対応するbin識別及びユーザーの署名に適合する。第2アクセスリストモジュール140におけるbin識別及びユーザーの署名は、他のアドレス10.5.5.5からのものであるが、アドレス10.9.9.9のデータパケットがbin識別及びユーザーの署名に適合する。例示したシステム100の利点は、bin識別及びユーザーの署名の緩やかな適合であり、そこでは、複数のアドレスが同一のbin識別及びユーザーの署名を持つことができるが、それより、より素早い適合時間及び低適合コストの方が重要である。また、それにより緩やかな適合に対応して記憶の必要性が減る。
ハッシングは、例えば、1つのアドレスがシステムのユーザーに対応(例えば、ユーザーに対応する情報が第2アクセスリストにおけるエントリーである)するとき、及び、第2アドレスがシステムのユーザーに対応しない(例えば、攻撃者、不正ユーザー、非登録ユーザー)とき、異なったアドレスのための同一のbin識別及びユーザーの署名を生成することができる。例えば、アドレス10.5.5.5のためのハッシングされたbin識別及びユーザーの署名は、第2アクセスリストに存在する(例えば、システムのユーザー)。アドレス10.9.9.9からであって、システムのユーザーからではないデータパケットは、ハッシングされて、bin識別及びユーザーの署名を生成する。両アドレスのためのbin識別はAであり、両アドレスのためのユーザーの署名はHLF342である。アドレス10.5.5.5がハッシングされ、ユーザーの署名HLF342がbin識別Aに対応するbinに追加される場合、アドレス10.9.9.9のデータパケットが第2アクセスリストモジュール140において処理されるとき、データパケットはアドレス10.5.5.5に対応するbin識別及びユーザーの署名に適合する。第2アクセスリストモジュール140におけるbin識別及びユーザーの署名は、他のアドレス10.5.5.5からのものであるが、アドレス10.9.9.9のデータパケットがbin識別及びユーザーの署名に適合する。このように、システムのユーザーに対応しないデータパケットが第2アクセスリストに適合する。しかしながら、適合の発生する機会は低い(例えば、10億分の1)。例示したシステム100の利点は、攻撃者(システムのユーザーではない)が少量のアドレスを用いて大量のパケットを生成したとき、署名において適合する攻撃者のアドレスと同一のbinのユーザーのみが攻撃を受け、システムのその他のユーザーは誤った適合による影響を受けない。
第2アクセスリストは、例えば、索引付けされた複数のリストである。索引付けされた複数のリストは、インデックスによって互いに対応する複数のリストである。索引付けされた複数のリストを有する例示のシステム100の利点は、第2アクセスリストが、アクセス時間に比例して増加しない第1アクセスリストより多くのアクセスリストエントリーを含むことができる。第2アクセスリストは、例えば、送信元アドレス、受信アドレス、進入インタフェース、パケットフィールド、パケットメタデータ、及び/又は、それらのハッシングを用いて索引付けされる。例えば、16000の比較をした16000のエントリーを有する単一リストが、各リストにした17の比較(例えば、正しいリストを検索するインデックスのための1つの比較及びリストのエントリーのための16の比較)による16エントリーの1000リストで構成される。例えば、2000の比較をした2000のエントリーを有する単一リストが、各リストにした3つの比較の平均(例えば、正しいリストを検索するインデックスのための1つの比較及びリストのエントリーのための2つの比較の平均)による2つのエントリーの平均の1000リストで構成される。比較の数は一例であり、当業者であれば公知の検索方法(例えば、リスト検索、二分検索、補間検索、ツリー検索、グラフ検索)を理解するであろう。索引作業(例えば、バブル選別、二分ツリー選別、クイック選別、バケット選別)は、システム100の検索及び検索時間の改善のために実行することができる。
ある例において、第2アクセスリストは、データパケットに対応するフィールド、データパケットに対応するメタデータ、それらのハッシング、又は、それらの組み合わせを用いて索引付けされる。例えば、第2アクセスリストは、IPアドレス10.10.10.10及びIPアドレス10.99.99.99を含んでいる。ハッシングされた送信元アドレスは、それぞれGH1及びGH2である。第2アクセスリストはハッシングされた送信元アドレスによって索引付けされる。第2アクセスリストが第1データパケットに適合するものがあるか否かを特定するために第2アクセスリストモジュール140によって分析されるとき、第1データパケットの送信元アドレス10.10.10.10はGH1にハッシングされる。ハッシングによるGH1は、第2アクセスリストのインデックスと比較される。第2アクセスリストのインデックスが第1データパケットと同様のハッシングによるGH1を含んでおり、エントリーのIPアドレス10.10.10.10が第1データパケットの送信元アドレス10.10.10.10に適合するため、適合があれば検出される。従って、第1データパケットは許容され、レート制御を用いて出力モジュール170へ送信されるデータパケットの第5セットの一部又は全部となる。
データパケットの第3セット142は、第2アクセスリストに適合しないデータパケットの第2セット132から生成される。データパケットの第3セット142は、送信モジュール150へ送信される。データパケットの第5セット146は、第2アクセスリストに適合しないデータパケットの第2セットから生成される。データパケットの第5セット146は、基準(例えば、レートリミット)に基づき、出力モジュール170に送信される。第2アクセスリストモジュール140は、出力モジュール170へ送信されないデータパケットの第5セット146を含むデータパケットの第7セット144を生成する。データパケットの第7セット144は、例えば、番号データパケット、データパケットの第5セット146の一部、又は、データパケットの第5セット146の全部を含んでいる。出力モジュール170に送信されないデータパケットの第5セット146は、第2アクセスリストモジュール140の基準外にある。データパケットの第7セット144は、分析のために攻撃識別システム160へ送信される。
データパケットの第3セット142は、送信モジュール150へ送信される。送信モジュール150は、基準(例えば、レートリミット)に基づき、送信モジュール150が出力モジュール170へ送信するデータパケットの第8セット156を生成する。送信モジュール150は、出力モジュール170へ送信されないデータパケットの第8セット156を含むデータパケットの第9セット154を生成する。データパケットの第9セット154は、例えば、番号データパケット、データパケットの第8セット156の一部、又は、データパケットの第8セット156の全部を含んでいる。出力モジュール170に送信されないデータパケットの第8セット156は、送信モジュール150の基準外にある。データパケットの第9セット154は、分析のために攻撃識別システム160へ送信される。例示したシステム100の利点は、送信モジュール150が、番号アクセスリスト、第1アクセスリスト又は第2アクセスリストによって適合されないパケットが攻撃者に他のユーザーの出力モジュール170へのアクセスを減少又は停止させないようにする基準(例えば、レート制御)に基づき出力モジュール170へ送信されるのを許容することである。
ある例において、第1アクセスリストモジュール130、第2アクセスリストモジュール140、及び、送信モジュール150におけるデータパケットの送信の基準は同一である(例えば、第1アクセスリストモジュール130、第2アクセスリストモジュール140、及び、送信モジュール150は1秒あたり100バイトのレートリミットを使用している)。第1アクセスリストモジュール130、第2アクセスリストモジュール140、及び、送信モジュール150におけるデータパケットの送信の基準は、例えば、各モジュールの能力及びコストの制限によってそれぞれ異なっている(例えば、第1アクセスリストモジュール130は1秒あたり1000バイトのレートリミットを使用し、第2アクセスリストモジュール140は1秒あたり500バイトのレートリミットを使用し、送信モジュール150は1秒あたり100バイトのレートリミットを使用している)。
図2は、番号アクセスリストモジュール205を通してデータパケットをフィルタリングするシステム200の例を示す機能ブロック図である。システム200は、番号アクセスリストモジュール205、攻撃識別モジュール160、第1アクセスリストモジュール130及び廃棄モジュール125を備えている。データパケットは、番号リストモジュール205によって受信される。番号リストモジュールは、番号アクセスリスト210を備えている。番号アクセスリスト210は、1又はそれ以上の番号アクセスリストエントリー211a、211b、211c、211d、211e、211f及び211g(概して211)を備えている。番号アクセスリストエントリー211は、どのデータパケットが出力モジュール170へ送信することを許されないのかを示す識別リストである。例えば、番号アクセスリストエントリー211は、表1に示される。
Figure 2011503912
番号アクセスリストモジュール205で受信されたデータパケットは、番号アクセスリスト210を用いて分析される。データパケットが番号アクセスリストエントリー(例えば211a)に適合していると、データパケットは廃棄モジュール125へ送信される。データパケットが番号アクセスリストエントリー(例えば211a)に適合していなければ、データパケットは第1アクセスリストモジュール130へ送信される。適合は、データパケットに対応する情報の一部又は全部の比較を含んでいる(例えば、IPアドレス、MACアドレス、及び/又は、ネットワークアドレス)。例えば、IPアドレス10.98.23.2のデータパケットは、番号アクセスリストモジュール205で受信される。データパケットは、番号アクセスリスト210を用いて分析される。分析は、IPアドレス10.98.23.2のデータパケットの番号アクセスリスト210におけるエントリー211との比較を含んでいる。分析では、IPアドレス10.98.23.2のデータパケットを、番号アクセスリストエントリー211と比較する。番号アクセスリストエントリーE211eは、ネットワークサブネット10.98.0.0である。IPアドレス10.98.23.2のデータパケットに対応する情報が番号アクセスリストエントリーE211eのネットワークサブネット10.98.0.0の一部として適合すると、データパケットが番号アクセスリストエントリーE211eに適合する。IPアドレス10.98.23.2のデータパケットは、データパケットが廃棄される廃棄モジュール125へ送信される。
番号アクセスリスト210は、攻撃識別モジュール160から番号アクセスリストエントリー(例えば、211a)を受信することによって追加される。攻撃識別モジュール160は、番号アクセスリスト210へ追加するため番号アクセスリストモジュール205に送信される番号アクセスリストエントリー(例えば、211a)を生成する。例えば、攻撃識別モジュール160は、ネットワークアドレス10.156.199.199を攻撃者として分類する。攻撃識別モジュール160は、情報、ネットワークアドレス10.156.199.199から番号アクセスリストエントリー(例えば、211g)を生成する。番号アクセスリストエントリー(例えば、211g)は、番号アクセスリストエントリー(例えば、211g)を番号アクセスリスト210へ追加する番号アクセスリストモジュール205へ送信される。番号アクセスリスト210は、例えば、番号アクセスリストエントリー211を追加、削除及び/又は修正するために、管理モジュールを通してユーザーにより修正される。
図3は、第1アクセスリストモジュール305を通してデータパケットをフィルタリングするシステム300の例を示す機能ブロック図である。システム300は、第1アクセスリストモジュール305、送信モジュール320a、320b、320c、320d及び320e(概して320)、攻撃識別モジュール160、出力モジュール170、第2アクセスリストモジュール140、及び、入場制御モジュール330を備える。データパケットは第1アクセスリストモジュール305によって受信される。第1アクセスリストモジュールは、第1アクセスリスト310を備えている。第1アクセスリストは、1又はそれ以上の第1アクセスリストエントリー311a、311b、311c、311d及び311e(概して311)を備えている。第1アクセスリストエントリー311は、どのデータパケットが出力モジュール170への送信が許されるのかを示す識別リストである。例えば、第1アクセスリストエントリー311は、表2に示される。
Figure 2011503912
第1アクセスリストモジュール305で受信されたデータパケットは、第1アクセスリスト310を用いて分析される。データパケットが第1アクセスリストエントリー(例えば311a)に適合すると、データパケットは送信モジュール320へ送信される。送信モジュール320はデータパケットを基準(例えばレートリミット)に基づき出力モジュール170へ送信する。
例示のシステム300は、各第1アクセスリストエントリー311が1つの送信モジュール320に接続しており、1以上の第1アクセスリストエントリー311が1つの送信モジュール320に接続可能であることを示している(例えば、出力モジュール170への送信のために、第1アクセスリストエントリーA311a及び第1アクセスリストエントリーB311bが許容されたデータパケットを送信モジュールA320aに送信する)。ある例において、1又はそれ以上の第1アクセスリストエントリー311は互いに対応し、対応した第1アクセスリストエントリー311に適合するデータパケットが1つの送信モジュール320へ送信される。対応は、例えば、ネットワークサブネット、顧客に関連するユーザー(例えば、ビジネス顧客に関連するモバイルユーザー)、及び/又は、他のタイプの識別対応からのデータパケットであってもよい。例示のシステム300の利点は、対応した第1アクセスリストエントリー311に適合するデータパケットが、(例えば、コストや性能の制限のために)対応したエントリーに適した基準を用いた送信を許容する同一の基準(例えばレートリミット)を用いて送信されることである。
データパケットが基準外(例えば、レート制御が1秒あたり10パケットのレートリミットであり、データパケットがレートを1秒あたり11パケットにする)であれば、データパケットは攻撃識別モジュール160へ送信される。データパケットが第1アクセスリストエントリー311に適合しなければ、データパケットは第2アクセスリストモジュール140へ送信される。適合は、データパケットに対応する情報(例えば、IPアドレス、MACアドレス、及び/又は、ネットワークアドレス)の一部又は全部の比較を含んでいる。
例えば、IPアドレス10.14.15.2のデータパケットは、第1アクセスリストモジュール305で受信される。データパケットは、第1アクセスリスト310を用いて分析される。分析は、IPアドレス10.14.15.2のデータパケットに対応する情報と第1アクセスリスト310における第1アクセスリストエントリー311との比較を含んでいる。第1アクセスリストエントリーB311bは、ネットワークサブネット10.14.15.0である。IPアドレス10.14.15.2のデータパケットに対応する情報が第1アクセスリストエントリーB311bのネットワークサブネット10.14.15.0の一部として適合すると、データパケットは、第1アクセスリストエントリーB311bに適合する。IPアドレス10.14.15.2のデータパケットは、送信モジュールB320bへ送信される。送信モジュールB320bは、データパケットの出力モジュール170への送信のレート制御を行う。送信のレート制御は、1秒あたり100データパケットのレートリミットであり、データパケットが送信モジュールB320bへ送信されるとき、レートは1秒あたり80データパケットである。レートがレートリミット未満であれば、データパケットは送信モジュールB320bによって出力モジュール170へ送信される。しかしながら、レートがレートリミットを超えていれば、データパケットは送信モジュールB320bによって攻撃識別モジュール160へ送信される。
例えば、IPアドレス10.10.15.2のデータパケットが第1アクセスリストモジュール305で受信される。データパケットは第1アクセスリスト310を用いて分析される。分析は、IPアドレス10.10.15.2のデータパケットに対応する情報と第1アクセスリスト310におけるエントリーとの比較を含んでいる。分析では、IPアドレス10.10.15.2のデータパケットを、第1アクセスリストエントリー311と比較する。データパケットはどの第1アクセスリストエントリー311にも適合しない。IPアドレス10.10.15.2のデータパケットは、第2アクセスリストモジュール140へ送信される。
第1アクセスリスト310は、入場制御モジュール330からの要求を受信することで修正される。入場制御モジュール330は、記憶されたユーザーの署名が修正される前に(例えばログイン及びパスワード)、鑑定の合格を要求する。修正は、例えば、第1アクセスリストエントリーの追加、削除及び/又は編集である。入場制御モジュール330は、ユーザーからのサービスの要求を受信する。入場制御モジュール330は、サービスの要求を処理し、サービスの要求に対応した情報から第1アクセスリストエントリーを生成する。例えば、サービスの要求は、出力モジュール170と通信するIP電話のためのものである。IP電話に対応するユーザーは、入場制御モジュール330によって高周波数帯域幅ユーザーとして分類され、入場制御モジュール330がサービスの要求に対応した情報(例えば、MACアドレス10:01:05:05:05:05)から第1アクセスリストエントリーを生成する。第1アクセスリストエントリーは、高周波数帯域幅ユーザーのIP電話のためのMACアドレスである。入場制御モジュール330は、第1アクセスリストエントリーを、第1アクセスリストエントリーが追加される第1アクセスリスト310へ送信する。
入場制御モジュール330は、例えば、第1アクセスリストエントリーがユーザーに対して存在しているか否か特定するため第1アクセスリストエントリー311をチェックすることにより、サービスの要求を処理することができる。第1アクセスリストエントリー311がユーザーに対して存在していれば、エントリーは編集又は追加することができる。例えば、サービスの要求は、出力モジュール170と通信するIP電話のためのものである。サービスの要求に対応したユーザーは、入場制御モジュール330によって高周波数帯域幅ユーザーとして分類され、第1アクセスリスト310のチェックで、入場制御モジュール330がユーザーが既に第1アクセスリストエントリー3313を有していることを特定する。サービスの要求に対応した情報は、ユーザーが、ユーザーの既存のIP電話を、サービスの要求における情報に対応した新しいIP電話に置き換えていることを入場制御モジュール330に教える。入場制御モジュール330は、サービスの要求に対応した情報を含むように、既存の第1アクセスリストエントリーC311cをユーザーのために編集する。
図4は、第2アクセスリストモジュール405を通してデータパケットをフィルタリングするシステム400の例を示す機能ブロック図である。システム400は、第2アクセスリストモジュール405、インデックスモジュール410、binモジュールA420a、binモジュールB420b、binモジュールA送信モジュール430a、binモジュールB、送信モジュール430b、攻撃識別モジュール160、出力モジュール170、送信モジュール150、及び、入場制御モジュール330を備える。データパケットは第2アクセスリストモジュール405によって受信される。データパケットは、インデックスモジュール410で受信される。インデックスモジュール410は、bin識別(例えば、A0、A1、B2、A23H、H23、B23234HFL、BC4353)及びユーザーの署名(例えば、HFLGDLSKD、BC432423523、HFG2231、ADF65、WER98)を生成するために、データパケットのフィールドを用いてデータパケットをハッシングする。ある例において、bin識別は、binの数(例えば、1、2、3、4、5)である。ユーザーの署名は、例えば、より速いアクセスのため、均一のサイズであってもよい(例えば、A1234、B1234、C2345、D3242、E3244)。
パケットデータのフィールドは、例えば、ポート番号、イーサネット(登録商標)ヴァーチャルローカルエリアネットワーク(VLAN)タグ、データパケットに対応するメタデータ、レシーバインタフェース、インカミング論理IPアドレス、送信元IPアドレス(例えば、10.10.10.10)、宛先IPアドレス(例えば、10.5.5.5)、送信元MACアドレス(例えば、10:01:02:05:05:01)、及び/又は、宛先MACアドレスである。インデックスモジュール410は、例えば、データパケットに対応する1以上のフィールドを用いてデータパケットをハッシングすることができる。
bin識別は、複数のbinに含まれた第1bin(例えば、binモジュールA420a又はbinモジュールB420b)にユーザーの署名(例えば、HFLGDLSKD)を対応させるために、インデックスモジュール410によって処理される。システム400は、2つのbinモジュール420a及び420bで示されるが、他の例として、binモジュールの数はどのようなものでもよい(例えば、3、4、10、20、100、1000、10000)。bin識別によりユーザーの署名が第1binへ対応していないとき、bin識別に対応するデータパケットは送信モジュール150へ送信される。第1bin420a又は420bは、ユーザーの署名(例えば、HFLGDLSKD)を、それぞれ第1bin420a又は420bに対応する、0又はそれ以上の記憶されたユーザーの署名(421a、421b、421c、421d、421e、422a、422b、422c、422d、概して421及び422)と比較する。例えば、記憶されたユーザーの署名421及び422は、表3に示さる。
Figure 2011503912
記憶されたユーザーの署名421及び422は、例えば、第1binとメモリアドレスによってリンクされ、第1binに対応するメモリに論理的及び/又は他の態様のコンピュータ読み取り可能な記憶装置に記憶されてもよい。ある例において、ユーザーの署名のサイズは、例示のシステム400の目的により様々である。例示のシステム400の目的は、例えば、より多くのユーザーの署名(例えば、HAFADAWEC23142)を要求するきめ細かなフィルタリング(例えば、許容された各データパケットに正確な適合を要求し、誤った適合の可能性がより少ないことを要求する)、又は、より少ないユーザーの署名(例えば、HFA1)を要求する緩いフィルタリング(例えば、第1binに対応するデータパケットの割合だけに適合することを要求し、署名の記憶は規制され、適合速度が重要である)である。緩いフィルタリングは、例えば、第2アクセスリストモジュール405に記憶されたユーザーの数が、1又はそれ以上の記憶されたユーザーの署名421及び422のサイズの減少によって増加するときに用いられる。サイズの減少によって、binモジュール420a及び420bがデータパケットをより速く、且つ、1署名あたり低メモリコストで処理することが可能となる。より速い処理及びメモリ使用量の減少の代償としては、より多いユーザーの署名(例えば421e)に比べて、より少ないユーザーの署名(例えば422a)が、誤った適合をより多く引き起こすことがある(例えば、データパケットが該システムのユーザーに対応していないとき、データパケットに対応するユーザーの署名が記憶されたユーザーの署名421及び422に対応する)。例示のシステム400の利点は、ユーザーの署名のサイズがシステム400のコストや能力に係る必要性に従って変化できることである。
ユーザーの署名が記憶されたユーザーの署名421及び422の1つに適合しないとき、データパケットは送信モジュール150へ送信される。ユーザーの署名が記憶されたユーザーの署名421及び422の1つに適合するとき、データパケットは第1bin送信モジュール430a又は430bへ送信される。
例示のシステム400は、1つの送信モジュール430a及び430bに接続した各binモジュール420a及び420bを示しているが、1以上の各binモジュール420a及び420bは、例えば、1つの送信モジュール430a及び430bに接続可能である(例えば、binモジュール420a及び420bは、出力モジュール170への送信のために、データパケットのbinモジュールA送信モジュールA430aへの送信を許容する)。ある例において、各記憶されたユーザーの署名421及び422は、送信モジュール430a又は430bの1つに接続されている(例えば、ユーザーの署名AA421a、AB421b、及び、AC421cは、それぞれ個別の送信モジュール430a又は430bへ接続されている)。ある例において、1又はそれ以上の記憶されたユーザーの署名421及び422は、互いに対応し、対応した記憶されたユーザーの署名421及び422に適合するデータパケットが1つの送信モジュール430へ送信される。対応は、例えば、ネットワークサブネット、顧客に関連するユーザー(例えば、ビジネス顧客に関連するモバイルユーザー)、及び/又は、他のタイプの識別対応からのデータパケットであってもよい。例示のシステム400の利点は、対応した記憶されたユーザーの署名421及び422に適合するデータパケットが、(例えば、コストや性能の制限のために)対応したユーザーの署名に適した基準を用いた送信を許容する同一の基準(例えばレートリミット)を用いて送信されることである。
第1bin送信モジュール430a又は430bは、データパケットを基準(例えば、レートリミット)に基づき出力モジュール170へ送信する。データパケットが第1bin送信モジュール430a又は430bへ送信され、基準により出力モジュール170へ送信されないと、データパケットは攻撃識別モジュール160へ送信される。
例えば、データパケットは、インデックスモジュール410によって受信される。データパケットはIPアドレス10.10.5.5を有する。インデックスモジュール410は、データパケットをハッシングしてbin識別A及びユーザーの署名FFF123456を生成する。インデックスモジュール410は、bin識別Aを処理して、ユーザーの署名FFF123456をbinモジュールA420aに対応させる。binモジュールA420aは、ユーザーの署名FFF123456を、binモジュールA420aに対応する0又はそれ以上の記憶されたユーザーの署名421と比較する。ユーザーの署名FFF123456はbinモジュールA420aに対応するユーザーの署名AM421cに適合する。適合するユーザーの署名FFF123456に対応するデータパケットは、binモジュールA送信モジュール430aへ送信される。binモジュールA送信モジュール430aは、データパケットを基準(例えば、レートリミット)に基づいて出力モジュールへ送信する。基準は、レート制御であり、レート制御は、1秒あたり1000パケットのレートリミットである。binモジュールA送信モジュール430aのレートは、データパケットがbinモジュールA送信モジュールで受信されるとき、1秒あたり900パケットである。binモジュールA送信モジュール430aのレートがレートリミット未満であるとき、データパケットは出力モジュール170へ送信される。
binモジュール420a及び420bが入場制御モジュール330からの要求を受信することで修正される。修正は、例えば、ユーザーの署名の追加、削除及び/又は編集である。入場制御モジュール330は、入力モジュール110からのサービスの要求を受信する。入場制御モジュール330は、サービスの要求を処理し、サービスの要求に対応した情報からbin識別及びユーザーの署名を生成する。例えば、サービスの要求は、出力モジュール170と通信するIP電話のためのものである。IP電話に対応するユーザーは、入場制御モジュール330によって標準的なユーザーとして分類され、入場制御モジュール330がサービスの要求に対応した情報(例えば、MACアドレス10:01:05:05:05:05)からbin識別及びユーザーの署名を生成する。入場制御モジュール330は、bin識別及びユーザーの署名を、インデックスモジュール410へ送信する。インデックスモジュール410は、bin識別を処理してユーザーの署名をbin420a又は420bに対応させる。ユーザーの署名は、適合したbin420a又は420bに送信される。ユーザーの署名は、適合したbin420a又は420bに追加される。
ある例において、ユーザーの署名(例えば、421a)の数は、binモジュール420a及び420bの容量を超えている。binモジュール420a及び420bの容量は、システム400において、事前に設定したサイズのリミット又は利用するメモリ(揮発性及び/又は不揮発性)に関連したサイズのリミットである。ユーザーの署名421及び422の数がbinモジュール420a及び420bの容量を超えているとき、容量超binモジュール420a及び420bに対応するデータパケットが、データパケットのユーザーの署名を比較することなく、binモジュールA送信モジュール430a又は430bへ送信される。例示のシステム400の利点は、binモジュール420a及び420bが指定容量を超えて埋められたとき、システムはデータパケットの送信停止(すなわち、フェイル)をせずに、パフォーマンスを緩やかに低下させる。
例示のシステム400の利点は、複数のbinモジュールへのエントリーの適合の分配によって、増加したデータパケットを単一リストシステム上で処理することができることである。例示のシステム400に係る別の利点は、たとえ攻撃者がbinモジュールの1つに適合したとしても、適合したbinモジュールがデータパケットの出力をレート制御するため、他のbinモジュールが、適合したbinモジュールにおいてトラフィックの増加の影響を受けないことである。例示のシステム400に係る別の利点は、各binモジュール(例えば、420a)が何千ものユーザーの署名(例えば、421a)を含むことができることである。例示のシステム400に係る別の利点は、誤った適合を許容することによって、システム400がユーザーの正確なアドレスよりむしろ署名を記憶し適合することができ、それによって、記憶の必要性が減少したときにユーザー数に関してより良い拡張性を達成し、適合速度が増すことである。例示のシステム400に係る別の利点は、誤った適合を許容することによって、binにおける署名の適合によらずに、システム400がより効率の良い方法で容量を超えるbinを処理できることである。
図5は、攻撃を識別するためにデータを処理するシステム500の例を示す機能ブロック図である。例示のシステム500は、攻撃識別モジュール505を備えている。攻撃識別モジュール505は、廃棄処理モジュール510、ダイジェストインデックスモジュール530、ダイジェストbinモジュールA540a及びダイジェストbinモジュールB540bを備えている。データパケットは、廃棄処理モジュール510で受信される。廃棄処理モジュール510は、データパケットのために廃棄エントリー(例えば、512a)を生成する。廃棄処理モジュール510は、例えば、環状バッファ、待ち行列、先入れ先出し待ち行列、及び/又は、先入れ後出し待ち行列であってもよい。廃棄エントリー(例えば、512a)は、ネットワークアドレス、ネットワークサブネットアドレス、IPアドレス、MACアドレス、ネットワーキングプロトコルヘッダーフィールド、データパケットに対応するメタデータ、到着インタフェース、宛先インタフェース、及び/又は、オリジネーションインタフェースのようなデータパケットに対応する識別情報を含んでいる。カウントエントリー511(例えば、10、20、1000)は、データパケットごとに増加する(例えば、カウントに1つ追加)。カウントエントリー511は、例えば、攻撃識別モジュール505によって、データパケットがいつ廃棄処理モジュール510によって受信されたのかを識別するために用いられても良いが、廃棄エントリー512内へは処理されない。例えば、カウントエントリー511及び廃棄エントリー512の数の違いによって、攻撃識別モジュール505が、廃棄処理モジュール510が入力データパケットのレートで処理できるかどうかを監視できる。例えば、廃棄処理モジュール510は、廃棄エントリーリミット及び/又は記憶容量リミットのために、もうこれ以上廃棄エントリーを受け取れないというとき、満杯となる。例えば、廃棄エントリー512a、512b、512c、512d及び512e(概して512)を表4に示す。
Figure 2011503912
廃棄エントリー(例えば、512a)は、ダイジェストインデックスモジュール530で受信される。廃棄エントリー512は、例えば、最も古いエントリーがまず処理される(すなわち、先入れ先出し〔FIFO〕待ち行列)廃棄処理モジュール510に追加するために、ダイジェストインデックスモジュール530に送信される。ある例において、廃棄エントリー512は、最も新しいエントリーがまず処理される(すなわち、先入れ後出し〔LIFO〕待ち行列)廃棄処理モジュール510に追加するために、ダイジェストインデックスモジュール530に送信される。
ダイジェストインデックスモジュール530は、廃棄エントリー(例えば、512a)の1又はそれ以上のフィールドを用いて廃棄エントリー(例えば、512a)をハッシングし、bin識別及びユーザーの署名を生成する。bin識別は処理されて、ユーザーの署名が複数の第1ダイジェストbinモジュールに含まれた第1ダイジェストbinモジュール540a又は540bに対応する。廃棄エントリー(例えば、512a)は、第1ダイジェストbinモジュール540a又は540bで処理される。ある例において、ダイジェストインデックスモジュール530は、廃棄エントリー(例えば、512a)の1又はそれ以上のフィールドをハッシングして、bin識別を生成し、廃棄エントリー(例えば、512a)の1又はそれ以上のフィールドをハッシングして、ユーザーの署名を生成する。ダイジェストインデックスモジュール530による廃棄エントリー(例えば、512a)の処理が、処理されたカウント532(例えば、10000)を増加させる(例えば、1)。
第1ダイジェストbinモジュール540a又は540bにおける廃棄エントリー(例えば、512a)の処理は、廃棄エントリー(例えば、512a)のユーザーの署名と、第1ダイジェストbinモジュール540a又は540bに対応するダイジェストエントリー541a、541b、541c、541d、541e、542a、542b、542c及び542d(概して541及び542)に対応する1又はそれ以上の記憶されたユーザーの署名との比較を含んでいる。廃棄エントリー(例えば、512a)が、ダイジェストエントリー541又は542に対応する記憶されたユーザーの署名に適合すると、ヒットカウンター(例えば、下記表5参照)が、適合したユーザーの署名に対応する第1ダイジェストエントリー(例えば、541a)上で、増加(例えば、1つ)する。
廃棄エントリー(例えば、512a)が、第1ダイジェストbinモジュール540a又は540bに対応するダイジェストエントリー(例えば、541a)に対応する記憶されたユーザーの署名の1つに適合しないとき、廃棄エントリー(例えば、512a)は、ダイジェストエントリー(例えば、541a)内へ処理され、新しいダイジェストエントリーが第1ダイジェストbinモジュール540a又は540bに追加される。ダイジェストエントリー(例えば、541a)は、例えば、データパケットに対応した識別情報(例えば、プロトコル)、タイムスタンプ、ユーザーの署名、ヒットカウンター、パケットフィールド、及び/又は、独自性インジケータを備える。パケットフィールドは、送信元IPアドレス、宛先IPアドレス、MACアドレス、論理アドレス、ヴァーチャルローカルエリアネットワーク(VLAN)タグ、インタフェースアドレス、及び/又は、他の識別パケットフィールドであってもよい。独自性インジケータは、例えば、ダイジェストエントリー(例えば、541a)のヒットカウントにおけるデータパケットに対応するフィールドの相対的独自性の数値の測定を含んでいる。例えば、ダイジェストエントリー541及び542は、表5に示される。
ある例において、独自性インジケータは、ダイジェストエントリー(例えば、541a)のヒットカウントにおけるデータパケットに対応する選択フィールドの適合により増加する。独自性インジケータは、例えば、ネットワークアドレス(例えば、10.10.10.x)の最初の3桁の適合である。例えば、ネットワークアドレス10.10.10.1、10.10.10.2、及び、10.10.10.33のデータパケットが受信されると、ヒットカウントは3つであるが、第2及び第3データパケットの最初の3桁が第1データパケットの最初の3桁と同じであるため、独自性インジケータは0である。例示のシステム500の利点は、ヒットカウントと独自性インジケータとの違いが、ダイジェストエントリー(例えば、541a)に記憶されたイニシャルネットワークアドレスがヒット数を占めるか否かを示すことである。例えば、ヒットカウントが1000であり、且つ、独自性インジケータが2であるとき、イニシャルネットワークアドレスは、ヒット数の大部分を占めている。しかしながら、ヒットカウントが1000であり、且つ、独自性インジケータが900であるとき、イニシャルネットワークアドレスはヒット数の大部分を占めてはいない。
ダイジェストbinモジュール540a又は540bは、例えば、容量(例えば、パーセントリミット又はメモリリミット)を満杯にすることができる。ダイジェストbinモジュール540a又は540bが容量を満たすと、ダイジェストbinモジュール540a又は540bにおける各ダイジェストエントリー541又は542のタイムスタンプは、それぞれ年齢(例えば、タイムスタンプにより計算される)及び各ダイジェストエントリー541又は542のヒットカウントを特定するように、及び、ダイジェストエントリー541又は542を選別して、最も少ないヒット数の最も古いダイジェストエントリー541又は542を特定するように処理される。最も少ないヒット数の最も古いダイジェストエントリー541又は542は、ダイジェストbinモジュール540a又は540bから削除され、ダイジェストbinカウントエントリー511が増加する。最も古いダイジェストエントリー541又は542の削除は、ダイジェストインデックスモジュール530に記憶された上書きカウント536(例えば、500)を増加させる(例えば、1)。既存のダイジェストエントリー541又は542の削除により、追加の廃棄エントリー512が処理されて、ダイジェストbinモジュール540a又は540bに追加される。
ある例において、最小年齢(例えば、1秒の半分、1秒、5秒、60秒、10日、10時間)が、ダイジェストエントリー541又は542が最小年齢を下回れば削除されないように、ダイジェストエントリー541又は542のために設定される。他の例において、最大ヒットカウント(例えば、20000、10000)が、ダイジェストエントリー541又は542が最大ヒットカウントを上回れば削除されないように、ダイジェストエントリー541又は542のために設定される。ダイジェストbinモジュール540a又は540bの容量が満杯であり、最小年齢を超えず、及び/又は、最大ヒットカウントを超えるダイジェストエントリー541又は542が無いため、ダイジェストエントリー541又は542をダイジェストbinモジュール540a又は540bに追加することができないとき、廃棄カウント534(例えば、100)が増加する(例えば、1)。
ダイジェストエントリー541又は542の削除を許容する例示のシステム500の利点は、攻撃識別モジュール505が、ダイジェストbinモジュール540a又は540bが容量を超えた後でもデータパケットの受信を続けることができることである。削除前に、ダイジェストエントリー541又は542の年齢とヒットカウントをチェックする例示のシステム500に係る別の利点は、binがすぐに一杯になり、ダイジェストエントリー541又は542をヒットレートが増加するほどには長く保存できないため、エントリーの持続的な置き換えを抑制することである。処理されたカウント532、廃棄カウント534、及び、上書きカウント536は、例えば、ダイジェストインデックスモジュール530のエントリー数及びエントリーがダイジェストインデックスモジュール530によってどのように処理(例えば、追加、削除)されているかを識別するために、及び、カウント532、534及び536の変化を分析することによって攻撃の重大性を特定するために用いることができる。廃棄カウント534は、例えば、システム500が攻撃されており、攻撃が少数の(例えば100)攻撃者からのものであるかどうかを特定するように処理することができる。上書きカウント536は、例えば、システム500が攻撃を受けており、攻撃が多数の(例えば5000)攻撃者からのものでるかどうかを特定するように処理することができる。
ある例において、第1ダイジェストbinモジュール540a又は540bにおける廃棄エントリー512の処理は、廃棄エントリー512に対応する1又はそれ以上のフィールドと、各第1ダイジェストbinモジュール540a又は540bに対応するダイジェストエントリー541又は542に対応する1又はそれ以上の記憶されたパケットフィールドとの比較を含んでいる。例えば、廃棄エントリーA512aは、ネットワークアドレス10.10.10.1からのものである。ネットワークアドレス10.10.10.1は、ハッシングされてbin識別Aを生成する。該bin識別は、ダイジェストbinモジュール540aに対応する。ネットワークアドレス10.10.10.1は、ダイジェストエントリー541に対応する記憶されたパケットフィールドと比較される。廃棄エントリーA512aのネットワークアドレス10.10.10.1は、ダイジェストエントリーAA541aのネットワークアドレスに適合する。ダイジェストエントリーAA541aに対応するヒットカウンタは、廃棄エントリーA512aの適合するネットワークアドレスを占めるように1つ増加する。
Figure 2011503912
攻撃識別モジュール505は、例えば、廃棄処理モジュール510、ダイジェストインデックスモジュール530、ダイジェストbinモジュール540a及び540b、第1アクセスリストモジュール130の対応エントリー、第2アクセスリストモジュール140、及び、送信モジュール150を備えている。攻撃識別モジュール505の内部活動の他の態様は、システム500上の攻撃者の識別の必要性によって形成することができる。
ある例において、廃棄処理モジュール510は複数のダイジェストインデックスモジュール530に接続されている。各ダイジェストインデックスモジュール530は、廃棄エントリー512の異なったフィールド及び/又はフィールドのセットを分析する。各廃棄処理モジュール510に対応する複数ダイジェストインデックスモジュール530を有するこの例示のシステム500に係る利点は、攻撃を探知するために、同一の活動における複数の観点から分析することができることである。
ある例において、攻撃識別モジュール505は、複数のbinモジュール540a及び540bにおいて各ダイジェストエントリー541及び542を処理して、処理された情報のレポートを生成する。リポートは、例えば、システムオペレータへ送信し、及び/又は、ディスプレイ装置で表示してもよい。レポートは、ネットワークアドレス上の処理された情報、送信元アドレス、宛先アドレス、ネットワークインタフェース、ポート、送信元ポート、宛先ポート、及び/又は、ダイジェストエントリー541及び542に記憶された他の識別情報を含んでいる。
攻撃識別モジュール505は、例えば、複数のbinにおける各ダイジェストエントリー(例えば、541a)のタイムスタンプとヒットカウンターを処理することができる。タイムスタンプは、2回又はそれ以上のエントリーを含んでいる。ヒットレートリストは、攻撃識別モジュール505によって生成される。ヒットレートリストは、例えば、各ダイジェストエントリー(例えば、541a)のエントリーを含んでいる。例えば、エントリーは、現在のタイムスタンプと、各ダイジェストエントリー(例えば、541a)におけるタイムスタンプとの間の時間差によって分けられたヒットカウンターを含んでいる。ヒットレートリストは、いくつのパケットが付与時間の間に受信されるかを識別するために用いることができる。
ある例において、攻撃識別モジュール505は、複数のダイジェストbinモジュール540a及び540bにおける各ダイジェストエントリー541及び542のヒットカウンターとタイムスタンプを処理し、高レートリストを生成する。高レートリストは、各ダイジェストエントリー541及び542における最新のタイムスタンプと最古のタイムスタンプとの間の違いによって、分けられたヒットカウンターの値を含んでいる。ヒットレートリストは、レートによって選別される。ヒットレートリストは、例えば、システムオペレータ(例えば、出力モジュール170のオペレータ)へのレポートを生成するために用いてもよく、及び/又は、レポートは、ディスプレイ装置へ表示されてもよい。ヒットレートリストは、例えば、番号アクセスリストエントリー(例えば、211a)を生成するために、攻撃識別モジュール505によって用いても良い。番号アクセスリストエントリー(例えば、211a)は、番号アクセスリストモジュール205で受信される。番号アクセスリストモジュール205は、生成された番号アクセスリストエントリーを番号アクセスリスト210へ追加する。
例えば、攻撃識別モジュール505は、各ダイジェストエントリー541及び542のヒットカウンター及びタイムスタンプを処理して、高レートリストを生成する。高レートリストは、表6に示されるように選別される。トップエントリーのダイジェストエントリーBF542bは、番号アクセスリストエントリー(例えば、211a)を生成するために用いられる。番号アクセスリストエントリーは、トップエントリーのネットワークアドレス10.45.13.23を含んでいる。番号アクセスリストエントリーは、番号アクセスリストモジュール205で受信され、番号アクセスリスト210へ追加される。ヒットレートリストのトップ5のエントリー542b、541e、542c、542a及び541cは、例えば、番号アクセスリストエントリー(例えば、211a)を生成するために用いられる。トップエントリーの番号の他の形態は、番号アクセスリストエントリー(例えば、211a)を生成するために用いられるものであってもよい。
Figure 2011503912
図6Aは、コンピュータから送られたデータパケット600aの図である。パラメータ610aは、データパケットがどのように検出されて処理されるかを定義する。パラメータ610aは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び/又は、他のタイプのデータパケットパラメータを含んでいる。データ615aは、フォーマットデータ、コンテンツデータ、取引データ、及び/又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス(SMS)要求、セッションイニシャルプロトコル(SIP)要求、送信要求、終了要求、及び/又は、他のタイプの取引要求への接続情報を含んでいる。
図6Bは、電話から送られたデータパケット600bの図である。パラメータ610bは、データパケットがどのように検出されて処理されるかを定義する。パラメータ610bは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び/又は、他のタイプのデータパケットパラメータを含んでいる。データ615bは、フォーマットデータ、コンテンツデータ、取引データ、及び/又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス(SMS)要求、送信要求、終了要求、及び/又は、他のタイプの取引要求への接続情報を含んでいる。
図6Cは、電話から送られたデータパケット600cの図である。パラメータ610cは、データパケットがどのように検出されて処理されるかを定義する。パラメータ610cは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び/又は、他のタイプのデータパケットパラメータを含んでいる。データ615cは、フォーマットデータ、コンテンツデータ、取引データ、及び/又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス(SMS)要求、送信要求、終了要求、及び/又は、他のタイプの取引要求への接続情報を含んでいる。
図6Dは、電話から送られたデータパケット600dの図である。パラメータ610dは、データパケットがどのように検出されて処理されるかを定義する。パラメータ610dは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び/又は、他のタイプのデータパケットパラメータを含んでいる。データ615dは、フォーマットデータ、コンテンツデータ、取引データ、及び/又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス(SMS)要求、送信要求、終了要求、及び/又は、他のタイプの取引要求への接続情報を含んでいる。
図6Eは、電話から送られたデータパケット600eの図である。パラメータ610eは、データパケットがどのように検出されて処理されるかを定義する。パラメータ610eは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び/又は、他のタイプのデータパケットパラメータを含んでいる。データ615eは、フォーマットデータ、コンテンツデータ、取引データ、及び/又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス(SMS)要求、送信要求、終了要求、及び/又は、他のタイプの取引要求への接続情報を含んでいる。
図6Fは、電話から送られたデータパケット600fの図である。パラメータ610fは、データパケットがどのように検出されて処理されるかを定義する。パラメータ610fは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び/又は、他のタイプのデータパケットパラメータを含んでいる。データ615fは、フォーマットデータ、コンテンツデータ、取引データ、及び/又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス(SMS)要求、送信要求、終了要求、及び/又は、他のタイプの取引要求への接続情報を含んでいる。データパケット600a、600b、600c、600d、600e及び600fは、入力モジュール110から図1の例示のシステム100へ送信されたデータパケットを記述している。
図7A及び7Bは、図1の例示のシステム100を通したデータパケットの処理を記述したフローチャート700である。データパケットは、番号アクセスリストモジュール120において入力モジュール110から受信される(710)。番号アクセスリストモジュール120は、データパケットが番号アクセスリストにおいて番号アクセスリストエントリーに適合するかどうかを特定するために、データパケットを分析する(720)。データパケットが番号アクセスリストにおいて番号アクセスリストエントリーに適合すると、データパケットが廃棄モジュール125で廃棄される(725)。データパケットが番号アクセスリストにおいて番号アクセスリストエントリーに適合しなければ、データパケットが第1アクセスリストモジュール130へ送信される。第1アクセスリストモジュールは、第1アクセスリストを用いてデータパケットを分析する(730)。データパケットが第1アクセスリストにおいて第1アクセスリストエントリーに適合すると、データパケットが第1アクセスリスト送信モジュールへ送信される。第1アクセスリスト送信モジュールは、データパケットのレートを制御する(735)。データパケットが第1アクセスリスト送信モジュールのレート制御を超えると、データパケットが攻撃識別モジュール160へ送信される。攻撃識別モジュール160は、パケットが攻撃者からのものかどうか特定するために、データパケットを分析する(745)。データパケットが第1アクセスリスト送信モジュールのレート制御のレートリミット以内であれば、データパケットは出力モジュール170へ送信される(740)。
データパケットが第1アクセスリストにおいて第1アクセスリストエントリーに適合しなければ、データパケットが第2アクセスリストモジュール140へ送信される。第2アクセスリストモジュール140は、第2アクセスリストを用いてデータパケットを分析する(750)。データパケットが第2アクセスリストにおいて第2アクセスリストエントリーに適合すれば、データパケットは第2アクセスリストモジュールへ送信される。第2アクセスリストモジュールは、データパケットのレートを制御する(755)。データパケットが第2アクセスリスト送信モジュールのレート制御を超えると、データパケットが攻撃識別モジュール160へ送信される。攻撃識別モジュール160は、パケットが攻撃者からのものかどうか特定するために、データパケットを分析する(745)。データパケットが第2アクセスリスト送信モジュールのレート制御のレートリミット以内であれば、データパケットは出力モジュール170へ送信される(740)。
データパケットが第2アクセスリストにおいて第2アクセスリストエントリーに適合しなければ、データパケットが送信モジュール150へ送信される。送信モジュール150は、データパケットのレートを制御する(760)。データパケットが送信モジュール150のレート制御を超えると、データパケットが攻撃識別モジュール160へ送信される。攻撃識別モジュール160は、パケットが攻撃者からのものかどうか特定するために、データパケットを分析する(745)。データパケットが送信モジュールのレート制御のレート以内であれば、データパケットは出力モジュール170へ送信される(740)。
例えば、図2の例示のシステム200及び図6Eのデータパケットを用いて、データパケット600eが受信される(710)。番号アクセスリストモジュール205は、番号アクセスリスト210を用いてデータパケット600eを分析する(720)。データパケット600eは、図6Eによって記述される。データパケット600eは、送信元アドレス10.99.99.98を記述するパラメータ610e及び出力モジュール170におけるボイスオーバーインターネットプロトコル(VOIP)モジュールへの複数回の接続の試行を記述するデータ615eを含んでいる。表1に示されるような番号アクセスリストは、ネットワークアドレスが10.99.99.98である番号アクセスリストエントリーF211fを含んでいる。番号アクセスモジュール205は、データパケット600eを分析し、データパケット600eの送信元アドレス10.99.99.98がネットワークアドレス10.99.99.98の番号アクセスリストエントリーF211fに適合することを特定する。データパケット600eに対応する情報である送信元ネットワークアドレスが番号アクセスリスト210のエントリーである番号アクセスリストエントリーF211fに適合すると、データパケット600eは廃棄モジュール125へ送信される。廃棄モジュール125はデータパケット600eを廃棄する(725)。
例えば、図3の例示のシステム300及び図6Cのデータパケットを用い、第1アクセスリストモジュール305は、第1アクセスリスト310を用いてデータパケット600cを分析する(730)。データパケット600cは、図6Cによって記述される。データパケット600cは、送信元アドレス10.20.34.10を記述するパラメータ610c及び出力モジュール170におけるボイスオーバーインターネットプロトコル(VOIP)モジュールへの接続の試行及び945−555−3213への電話接続の開放の試行を記述するデータ615cを含んでいる。表2に示されるような第1アクセスリスト310は、ネットワークサブネットアドレスが10.20.34.0である第1アクセスリストエントリーE311eを含んでいる。番号アクセスモジュール120は、データパケット600cを分析し(720)、データパケット600cが番号アクセスリストのどの番号アクセスリストエントリーにも適合しないことを特定する。データパケット600cがどの番号アクセスリストエントリーにも適合しないと、データパケット600cは第1アクセスリストモジュール305へ送信される。第1アクセスリストモジュール305は、データパケット600cを分析し、データパケット600cの送信元アドレス10.20.34.10がネットワークサブネット10.20.34.0の第1アクセスリストエントリーE311eに適合することを特定する。データパケット600cに対応する情報である送信元ネットワークアドレスが第1アクセスリスト310のエントリーである第1アクセスリストエントリーE311eに適合すると、データパケット600cはレート制御(735)のために送信モジュールE320eへ送信される。送信モジュールE320eは、データパケット600cの送信のレート制御を行う(735)。データパケット600cの送信がレート制御を超えると、データパケット600cが分析(745)のために攻撃識別モジュール160へ送信される。データパケット600cの送信がレート制御以内であれば、データパケット600cは出力モジュール170へ送信される。
例えば、図1の例示のシステム100及び図6Aのデータパケット600aを用いて、データパケット600aが受信される(710)。番号アクセスリストモジュール120によって、データパケット600aが分析される(720)。データパケット600aは番号アクセスリストのどの番号アクセスリストエントリーにも適合しない。データパケット600aは第1アクセスリストモジュール305によって分析される(730)。データパケット600aは第1アクセスリストのどの第1アクセスリストエントリーにも適合しない。データパケット600aは第2アクセスリストモジュール140によって分析される(750)。データパケット600aは第2アクセスリストのどの第2アクセスリストエントリーにも適合しない。データパケット600aは、出力モジュールへデータパケット600aの送信のレート制御(760)を行う送信モジュール150へ送信される。データパケット600aは、レート制御のレート以内であり、出力モジュール170へ送信される(740)。データパケット600aは、アドレス192.168.1.232:80の入場制御モジュールへ送られる。入場制御モジュールは、データパケット600aを処理し、データパケット600aが登録顧客電話10.20.2.2のデータ615aにおけるサービスの要求を含んでいることを特定する。サービスの要求は、高周波数帯域幅顧客に対応する。入場制御モジュールは、データパケット600aにおけるデータ615aからの新しい第1アクセスリストエントリーを生成する。新しい第1アクセスリストエントリーは、ネットワークアドレス10.20.2.2を含んでいる。入場制御モジュールは、新しい第1アクセスリストエントリーを第1アクセスリストエントリーを第1アクセスリストに追加する第1アクセスリストモジュール130へ送信する。
例えば、図4の例示のシステム400及び図6Bのデータパケット600bを用いて、データパケット600bが受信される(710)。データパケット600bは、番号アクセスリストモジュール120によって分析される(720)。データパケット600bは、番号アクセスリストのどの番号アクセスリストエントリーにも適合しない。データパケット600bは、第1アクセスリストモジュール130によって分析される(730)。データパケット600bは第1アクセスリストのどの第1アクセスリストエントリーにも適合しない。データパケット600bは、第2アクセスリストモジュール405によって分析される(750)。データパケット600bは第2アクセスリストのどの第2アクセスリストエントリーにも適合しない。データパケット600bは、出力モジュールへデータパケット600bの送信のレート制御(760)を行う送信モジュール150へ送信される。データパケット600bは、レート制御のレート以内であり、出力モジュール170へ送信される(740)。データパケット600bは、アドレス192.168.1.232:1025の入場制御モジュール330へ送られる。入場制御モジュール330は、データパケット600bを処理し、データパケット600bが登録顧客電話10.10.10.10のデータ615bにおけるサービスの要求を含んでいることを特定する。サービスの要求は、標準的な顧客に対応する。入場制御モジュール330は、データパケット600bにおけるネットワークアドレス10.10.10.10のデータ615bをインデックスモジュール410へ送信する。インデックスモジュール410は、データパケット600bのネットワークアドレスをハッシングして、bin識別B及びユーザーの署名CA432を生成する。インデックスモジュール410は、bin識別Bを処理して、ユーザーの署名をbinIDがBである第2bin420bへ対応させる。インデックスモジュール410は、ユーザーの署名CA432を第2bin420bへ送信する。第2bin420bは、ユーザーの署名を処理して、ユーザーの署名が第2bin420bにあるかどうかを特定する。ユーザーの署名があれば、第2bin420bは新しいユーザーの署名を廃棄する。ユーザーの署名がなければ、第2bin420bは、ユーザーの署名CA432を第2bin420bへ追加する。
図8は、図4に例示されたシステム400の第2アクセスリストモジュール405を通したデータパケットの処理を記述したフローチャート800である。データパケットは、インデックスモジュール410で受信される(810)。インデックスモジュール410は、データパケットをハッシングしてbin識別及びユーザーの署名を生成する(820)。インデックスモジュール410は、bin識別をbinモジュール420a又は420bへ対応させる(830)。binモジュール420a又は420bは、ユーザーの署名を0又はそれ以上の記憶されたユーザーの署名421又は422それぞれと比較する(840)。ユーザーの署名がbinモジュール420a又は420bに対応するどの記憶されたユーザーの署名421又は422にも適合しないとき、データパケットは送信モジュール150へ送信される(845)。ユーザーの署名がbinモジュール420a又は420bに対応する記憶されたユーザーの署名421又は422の1つに対応するとき、データパケットはbin送信モジュール430a又は430bへ送信される(850)。
bin送信モジュール430a又は430bは、データパケットの送信のレート制御を行う(860)。送信がレート制御のレート以内であれば、データパケットは出力モジュール170へ送信される(862)。送信がレート制御のレート以内でなければ、データパケットは攻撃識別モジュール160によって分析される(864)。例示のシステム400の利点は、攻撃者のデータパケットがbinモジュール420a又は420bに対応し、記憶されたユーザーの署名421又は422のどれかに適合すると、bin送信モジュール430a又は430bがデータパケットのレートを制御して攻撃者が正規のネットワークトラフィックの大部分を阻止できないようにすることを保証することである。例示のシステム400の別の利点は、たとえ攻撃者がbinモジュール420a又は420bに対応し、binモジュール420a又は420bのユーザーの署名421又は422に適合したとしても、適合したbinモジュール420a又は420bだけが影響され、複数のbinモジュールの残りの出力は影響されないことである。
例えば、図4の例示のシステム400及び図6Dのデータパケット600dを用い、データパケット600dが受信される(810)。インデックスモジュール410は、データパケット600dのパラメータ610dをハッシング(820)してbin識別A2B及びユーザーの署名A4B3C2を生成する。インデックスモジュール410は、bin識別A2BをbinモジュールB420bへ対応させる(830)。ユーザーの署名はbinモジュールB420bによって比較され(840)、それが記憶されたユーザーの署名422の1つに適合するかどうか特定する。ユーザーの署名A4B3C2は、入場制御モジュール330を通してユーザーの要求によってbinモジュールB420bで記憶される。ユーザーの署名A4B3C2は記憶されたユーザーの署名A4B3C2に適合し、データパケット600dはbinモジュールB送信モジュール430bへ送信される(850)。binモジュールB送信モジュール430bは、データパケット600dの送信のレート制御を行う(860)。データパケット600dは、レート制御のレート以内であり、出力モジュール170へ送信される(862)。データパケット600dはアドレス192.168.1.232:1025のSMSモジュールによって受信される。データパケット600dのデータ615dは、SMSモジュールによって処理される。
図9は、図5で例示されたシステム500の攻撃識別モジュール505を通したデータパケットの処理を記述したフローチャート900である。データパケット又はその一部は廃棄処理モジュール510で受信される(910)。廃棄処理モジュール510は廃棄エントリー(例えば、512a)を生成する(915)。ある例において、廃棄エントリー(例えば、512a)の生成(915)は、廃棄処理モジュール510におけるデータパケット(例えば、ヘッダーフィールド)の一部の記憶である。
廃棄エントリー(例えば、512a)は、廃棄処理モジュール510で処理される(920)。処理(920)は、カウントエントリー511の増加を含んでいる。廃棄エントリー(例えば、512a)は、廃棄エントリー(例えば、512a)をハッシング(925)してbin識別及びユーザーの署名を生成する廃棄インデックスモジュール530へ送信される。bin識別は、ユーザーの署名をダイジェストbinモジュール540a又は540bに対応(930)させるために用いられる。ユーザーの署名は、適合したダイジェストbinモジュール540a又は540bに対応するダイジェストエントリー(例えば、541a)に対応する記憶されたユーザーの署名と比較される(935)。ユーザーの署名が、適合したダイジェストbinモジュール540a又は540bに対応するダイジェストエントリー(例えば、541a)に対応する記憶されたユーザーの署名のどれかに適合すると、ダイジェストエントリー(例えば、541a)に対応するダイジェストエントリーのヒットカウンターが増加する(950)。ユーザーの署名が、適合したダイジェストbinモジュール540a又は540bに対応するダイジェストエントリー(例えば、541a)に対応する記憶されたユーザーの署名の1つの一部又は全部に適合しないとき、廃棄エントリー(例えば、512a)は、処理されて(940)、ダイジェストエントリー(例えば、541a)を形成する。新しいダイジェストエントリーは、適合したダイジェストbinモジュール540a又は540bに追加される。
例えば、図5の例示のシステム500及び図6Fのデータパケット600fを用い、データパケット600fが攻撃識別モジュール505で受信される(910)。データパケット600fは、新しい廃棄エントリーを生成(915)する廃棄処理モジュール510へ送信される。新しい廃棄エントリーは、カウントエントリー511の増加によって処理される(920)。新しい廃棄エントリーは、ダイジェストインデックスモジュール530によってハッシングされて(925)、bin識別B及びユーザーの署名B44523を生成する。bin識別は、ユーザーの署名をダイジェストbinモジュールB540bへ対応させる(930)ために用いられる。ダイジェストbinモジュールB540bは、ダイジェストエントリー1Z544bを含んでいる。ダイジェストエントリー1Z544bのユーザーの署名は、B44523である。ダイジェストbinモジュールB540bは、新しい廃棄エントリーのユーザーの署名を記憶されたユーザーの署名と比較する(935)。新しい廃棄エントリーのユーザーの署名は、ダイジェストエントリーBZ542dの記憶されたユーザーの署名に適合する。ダイジェストエントリーBZ542dのヒットカウンターは増加される(950)。
図10は、図5で例示されたシステム500において攻撃を探知するためのヒットカウンターの処理を記述したフローチャート1000である。各ダイジェストエントリー(例えば、541a)のヒットカウンターは、攻撃識別モジュール505で処理される(1010)。各ダイジェストエントリー(例えば、541a)のヒットカウンターは、ヒットカウントリストを生成する(1020)ために用いられる。ヒットカウントリストは記憶される(1030)。ヒットカウントリストのトップエントリーは、番号アクセスリストエントリーを生成する(1040)ために用いられる。番号アクセスリストエントリーは、番号アクセスリストモジュールへ送信される(1050)。番号アクセスリストモジュールは、番号アクセスリストエントリーを番号アクセスリストへ追加する(1060)。
例えば、各ダイジェストエントリー(例えば、表5を参照)のヒットカウンターは、攻撃識別モジュール505によって処理される(1010)。各ダイジェストエントリー(例えば、表5を参照)のヒットカウンターは、ヒットカウントリストを生成する(1020)ために用いられる。ヒットカウントリストは、選別(1030)される(例えば、表5を参照)。ヒットカウントリストのトップエントリー、合計4532135ヒットのダイジェストエントリーBF542bは、2つの番号アクセスリストエントリーを生成する(1040)ために用いられる。第1番号アクセスリストエントリーは、ネットワークアドレス10.45.13.23のダイジェストエントリーBF542bを含んでいる。第2番号アクセスリストエントリーは、ネットワークサブネット10.45.13.0のダイジェストエントリーBZ542dを含んでいる。2つの番号アクセスリストエントリーは、番号アクセスリストモジュールへ送信される(1050)。番号アクセスリストモジュールは、2つの番号アクセスリストエントリー、ダイジェストエントリーBF542b及びダイジェストエントリーBZ542dを番号アクセスリストへ追加する(1060)。
上述のシステム及び方法は、コンピュータハードウェア、ファームウェア、及び/又は、ソフトウェアにおけるデジタル電子回路で実行することができる。該実行は、コンピュータプログラム製品(すなわち、情報媒体で明白に具体化されたコンピュータプログラム)によるものであってもよい。該実行は、例えば、マシーン読み取り可能な記憶装置におけるもの、及び/又は、データ処理装置による実施のための、又は、処理の制御をする伝播信号におけるものであってもよい。該実行は、例えば、プログラム可能なプロセッサ、コンピュータ、及び/又は、複数のコンピュータによってもよい。
コンピュータプログラムは、編集され及び/又は解釈された言語を含めてどのような形式のプログラミング言語で記載されていてもよい。コンピュータプログラムは、単独型プログラム、又は、サブルーチン、エレメント及び/又は他のコンピュータ環境での使用に適したユニットのような形式を含むどのような形式で配置されていてもよい。コンピュータプログラムは、1つのコンピュータ又は1サイトで複数のコンピュータ上で実施されるように配置することができる。
方法のステップは、入力データの処理を行い出力することで発明の機能を遂行するコンピュータプログラムを実行する1又はそれ以上のプログラム可能なプロセッサで実施することができる。方法のステップは、また、実行されて、装置を特別用途の論理回路として実行することができる。該回路は、例えば、FPGA(field programmable gate array:フィールドプログラムゲートアレイ)及び/又はASIC(application−specific integrated circuit:アプリケーション特有の集積回路)であってもよい。モジュール、サブルーチン、及び、ソフトウェアエージェントは、その機能を実行するコンピュータプログラム、プロセッサ、特別回路、ソフトウェア、及び/又は、ハードウェアを参照することができる。
コンピュータプログラムの実行に適したプロセッサは、例示すると、一般的な及び特別な目的のマイクロプロセッサを含み、さらに、どのような種類のデジタルコンピュータの1又はそれ以上のどのようなプロセッサをも含む。概して、プロセッサは、読み取り専用メモリ又はランダムアクセスメモリ、又は、それらの両方からの指示及びデータを受ける。コンピュータの不可欠な要素は、指示を実行するためのプロセッサ、及び、指示及びデータを記憶するための1又はそれ以上のメモリ装置である。概して、コンピュータは、データを記憶する1又はそれ以上の大記憶装置(例えば、磁気、光磁気ディスク、又は、光ディスク)からのデータ又は交換データを含むことができ、該データを動作可能なように連結することができる。
データ送信及び指示は、また、通信ネットワーク上で発生してもよい。コンピュータプログラムの指示及びデータの具現化に適した情報媒体は、例示のセミコンダクタメモリ装置をはじめとする全ての形式の不揮発性メモリを含んでいる。情報媒体は、例えば、EPROM、EEPROM、フラッシュメモリ装置、磁気ディスク、内部ハードディスク、リムーバルディスク、光磁気ディスク、CD−ROM及び/又はDVD−ROMディスクであってもよい。プロセッサ及びメモリは、特別用途の論理回路によって補完されていてもよく、及び/又は、特別用との論理回路に組み込まれていてもよい。
ユーザーの交流を提供するために、上述の技術は、ディスプレイ装置を備えたコンピュータ上で実施してもよい。ディスプレイ装置は、例えば、ブラウン管(CRT)及び/又は液晶表示(LCD)モニターであってもよい。ユーザーの交流は、例えば、ユーザーへの情報の表示及びユーザーがコンピュータに入力できるキーボード及び位置決め装置(例えば、マウス又はトラックボール)であってもよい(例えば、ユーザーインターフェースエレメントの交流)。他の種類の装置をユーザーの交流を提供するために用いても良い。他の装置は、例えば、感知フィードバックのどのような形式におけるユーザーへ提供されたフィードバックであってもよい(例えば、視覚フィードバック、聴覚フィードバック、又は、触覚フィードバック)。ユーザーからの入力は、例えば、音響、発話、及び/又は、触覚の入力をはじめとしたどのような形式で受信されてもよい。
上述した技術は、バックエンドコンポーネントを含む分散コンピューティングシステムで実施してもよい。バックエンドコンポーネントは、例えば、データサーバ、ミドルウェアコンポーネント、及び/又は、アプリケーションサーバであってもよい。上述の技術は、フロントエンドコンポーネントを含む分散コンピューティングシステムで実施してもよい。フロントエンドコンポーネントは、例えば、グラフィックユーザーインタフェースを有する顧客のコンピュータ、ユーザーが例示の実施と交流できるウェブブラウザ、及び/又は、送信装置のための他のラフィックユーザーインタフェースであってもよい。システムのコンポーネントは、デジタルデータ通信(例えば、通信ネットワーク)のどのような形式又は媒体によっても相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、有線ネットワーク、及び/又は、無線ネットワークがある。
システムは、顧客とサーバを含むことができる。顧客とサーバは、一般的に、互いに離れており、典型的には通信ネットワークを通して交流する。クライアントとサーバとの関係は、各コンピュータで機能し互いに顧客とサーバとの関係を有するコンピュータプログラムによって発生する。
パケットに基づくネットワークは、例えば、インターネット、キャリアインターネットプロトコル(IP)ネットワーク(例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、キャンパスエリアネットワーク(CAN)、メトロポリタンエリアネットワーク(MAN)、ホームエリアネットワーク(HAM))、プライベートIPネットワーク、IPプライベートブランチエクスチェンジ(IPBX)、無線ネットワーク(例えば、ラジオアクセスネットワーク(RAN)、802.11ネットワーク、802.16ネットワーク、ジェネラルパケットラジオサービス(GPRS)ネットワーク、ハイパーLAN)、及び/又は、他のパケットに基づくネットワークを含んでいても良い。回路に基づくネットワークは、例えば、パブリックスウィッチテレホンネットワーク(PSTN)、プライベートブランチエクスチェンジ(PBX)、無線ネットワーク(例えば、RAN、ブルートゥース、コードディビジョンマルチプルアクセス(CDMA)ネットワーク、タイムディビジョンマルチプルアクセス(TDMA)ネットワーク、モバイル通信用グローバルシステム(GSM)ネットワーク)、及び/又は、他の回路に基づくネットワークを含んでいても良い。
送信装置は、例えば、コンピュータ、ブラウザ装置を有するコンピュータ、電話、IP電話、モバイル装置(例えば、携帯電話、パーソナルデジタルアシスタント(PDA)装置、ラップトップコンピュータ、電子メール装置)、及び/又は、他の通信装置を含んでいても良い。ブラウザ装置は、例えば、ワールドワイドウェブブラウザ(例えば、マイルロソフト社のマイクロソフト(登録商標)インターネットエクスプローラ(登録商標)、モジラ社のモジラ(登録商標)ファイアーフォックス)を有するコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータ)を含んでいる。モバイルコンピューティング装置は、例えば、ブラックベリー(登録商標)を含んでいる。IP電話は、例えば、シスコシステム社のシスコ(登録商標)統一IP電話7985G、及び/又は、シスコシステム社のシスコ(登録商標)統一ワイアレス電話7920を含んでいる。
上記構成及び/又はそれらの複数の形式は制限されず、列挙された部品を含み、さらに、列挙されていない部品も追加で含むことができる。さらに/又は、上記構成は制限されず、列挙された部品の1又はそれ以上、及び、列挙された部品の組み合わせを含んでいる。
当業者であれば、本発明の精神及び不可欠な特徴から離れない程度で、他の特定の形式で本発明を具体化してもよいことに気づくであろう。前述の具体例は、それゆえ、本発明を限定するのではなく、すべては説明に役立つという観点においてのものであると認識されるべきである。発明の範囲は、前述の記載というよりも、添付の請求の範囲で示される。それゆえ、請求の範囲の発明と同等の意味及び範囲内での全ての変化は、本発明に包含されることが意図されている。

Claims (78)

  1. 番号アクセスリストモジュールでデータパケットを受信すること;
    番号アクセスリストを用いて前記データパケットを分析すること;
    前記番号アクセスリストに適合しないデータパケットの第1セットを生成すること;
    第1アクセスリストモジュールで前記データパケットの第1セットを受信すること;
    第1アクセスリストを用いて前記データパケットの第1セットを分析すること;
    第1アクセスリストに適合しないデータパケットの第2セットを生成すること;
    第2アクセスリストモジュールで前記データパケットの第2セットを受信すること;
    第2アクセスリストを用いて前記データパケットの第2セットを分析すること;及び、
    前記第2アクセスリストに適合しないデータパケットの第3セットを生成すること
    を含む、ネットワーク上の攻撃の防御方法。
  2. 前記アクセスリストが、どのデータパケットが出力モジュールへ送信されることが許されないかを示す識別リストを含む請求項1に記載の方法。
  3. 前記識別リストが、攻撃ユーザーに対応する識別情報、前記データパケットに対応するフィールド、前記データパケットに対応するメタデータ、又は、それらの組み合わせを含む請求項2に記載の方法。
  4. 前記第1アクセスリストが、どのデータパケットが出力モジュールへ送信されることが許されるかを示す識別リストを含む請求項1に記載の方法。
  5. 前記識別リストが、高周波数帯域幅ユーザーに対応する識別情報、重要なユーザーに対応する識別情報、前記データパケットに対応するフィールド、前記データパケットに対応するメタデータ、又は、それらの組み合わせを含む請求項4に記載の方法。
  6. 入場制御モジュールでサービスの要求を受信すること;
    前記サービスの要求を認証すること;及び、
    前記サービスの要求を処理して、前記第1アクセスリストに対応する識別リストを追加、削除、編集し、又は、それらの組み合わせを行うこと
    をさらに含む請求項5に記載の方法。
  7. 前記第2リストが、どのデータパケットが出力モジュールへ送信されることが許されるかを示す識別リストを含む請求項1に記載の方法。
  8. 前記識別リストが、低周波数帯域幅ユーザーに対応する識別情報、標準的なユーザーに対応する識別情報、データパケットに対応するフィールド、データパケットに対応するメタデータ、又は、それらの組み合わせを含む請求項7に記載の方法。
  9. 前記第1アクセスリストに適合するデータパケットの第4セットを前記第1アクセスリストモジュールで生成すること;及び、
    基準に基づき出力モジュールへ前記データパケットの第4セットを送信すること
    をさらに含む請求項1に記載の方法。
  10. 前記基準が、レート制御である請求項9に記載の方法。
  11. 前記レート制御がレートリミットである請求項10に記載の方法。
  12. 前記レートリミットが設定時間におけるデータ量である請求項11に記載の方法。
  13. 前記レートリミットが、パケットレートリミット、バイトレートリミット、定常状態のレートリミット、バーストリミット、又は、それらの組み合わせである請求項11に記載の方法。
  14. 前記出力モジュールへ送信されない前記データパケットの第4セットからのデータパケットを含むデータパケットの第6セットを、前記第1アクセスリストモジュールで生成すること;
    前記データパケットの第6セットを攻撃識別モジュールで受信すること;及び、
    ネットワークの攻撃者を識別するために、前記データパケットの第6セットを、前記攻撃識別モジュールで分析すること
    をさらに含む請求項9に記載の方法。
  15. 前記攻撃識別モジュールでの分析が:
    前記データパケットに対応する識別情報を用いた互いに対応するデータパケットの数の計算;
    前記データパケットの数の攻撃番号リストへの追加;及び、
    データパケットの数による前記攻撃番号リストの分類
    を含む請求項14に記載の方法。
  16. 番号アクセスリストエントリーを前記攻撃識別モジュールで生成すること;
    前記番号アクセスリストエントリーを、前記攻撃識別モジュールで受信すること;及び、
    前記番号アクセスリストに前記番号アクセスリストエントリーを追加すること
    をさらに含む請求項14に記載の方法。
  17. 前記第2アクセスリストに適合するデータパケットの第5セットを、前記第2アクセスリストモジュールで生成すること;
    基準に基づき前記データパケットの第5セットを出力モジュールへ送信すること;
    前記出力モジュールへ送信されない前記データパケットの第5セットからのデータパケットを含むデータパケットの第7セットを、前記第2アクセスリストモジュールで生成すること;
    前記データパケットの第7セットを攻撃識別モジュールで受信すること;及び、
    前記データパケットの第7セットを前記攻撃識別モジュールで分析すること
    をさらに含む請求項1に記載の方法。
  18. 送信モジュールで前記データパケットの第3セットを受信すること;
    データパケットの第8セットを生成すること;
    基準に基づいて前記データパケットの第8セットを出力モジュールへ送信すること;
    出力モジュールへ送信しない前記データパケットの第8セットからのデータパケットを含むデータパケットの第9セットを、前記送信モジュールで生成すること;
    前記データパケットの第9セットを攻撃識別モジュールで受信すること;及び、
    前記データパケットの第9セットを前記攻撃識別モジュールで分析すること
    をさらに含む請求項1に記載の方法。
  19. 前記番号アクセスリストモジュールで、番号アクセスリストに適合するデータパケットの第10セットを生成すること;
    前記データパケットの第10セットを、廃棄モジュールで受信すること;及び、
    前記データパケットの第10セットを、廃棄モジュールで廃棄すること
    をさらに含む請求項1に記載の方法。
  20. 前記データパケットに対応するフィールド、前記データパケットに対応するメタデータ、それらのハッシング、又は、それらの組み合わせを用いて第2アクセスリストを索引付けすることをさらに含む請求項1に記載の方法。
  21. 前記第2アクセスリストが索引付けされた複数のリストを含む請求項1に記載の方法。
  22. 番号アクセスリストモジュールでデータパケットを受信すること;
    番号アクセスリストを用いて前記データパケットを分析すること;
    前記番号アクセスリストに適合しないデータパケットの第1セットを生成すること;
    第1アクセスリストモジュールで前記データパケットの第1セットを受信すること;
    第1アクセスリストを用いて前記データパケットの第1セットを分析すること;
    第1アクセスリストに適合しないデータパケットの第2セットを生成すること;
    第2アクセスリストモジュールで前記データパケットの第2セットを受信すること;
    第2アクセスリストを用いて前記データパケットの第2セットを分析すること;及び、
    前記第2アクセスリストに適合しないデータパケットの第3セットを生成すること
    をデータ処理装置に指示することを含む、情報媒体で明白に具体化されたコンピュータプログラム。
  23. 入力モジュールからのデータパケットを受信し、番号アクセスリストに適合しないデータパケットの第1セットを生成するように設定され、且つ、適応された番号アクセスリストモジュール;
    前記番号アクセスリストモジュールからの前記データパケットの第1セットを受信し、第1アクセスリストに適合しないデータパケットの第2セットを生成するように設定され、且つ、適応された第1アクセスリストモジュール;及び、
    前記第1アクセスリストモジュールからの前記データパケットの第2セットを受信し、第2アクセスリストに適合しないデータパケットの第3セットを生成するように設定され、且つ、適応された第2アクセスリストモジュール
    を含むネットワーク上の攻撃の防御システム。
  24. 前記第1アクセスリストモジュールが前記第1アクセスリストに適合するデータパケットの第4セットを生成し、基準に基づき出力モジュールへ前記データパケットの第4セットを送信し、且つ、前記出力モジュールへ送信されない前記データパケットの第4セットからのデータパケットを含むデータパケットの第6セットを生成し;
    前記第2アクセスリストモジュールが前記第2アクセスリストに適合するデータパケットの第5セットを生成し、基準に基づき出力モジュールへ前記データパケットの第5セットを送信し、且つ、前記出力モジュールへ送信されない前記データパケットの第5セットからのデータパケットを含むデータパケットの第7セットを生成する
    請求項23に記載のシステム。
  25. 第1アクセスリストモジュールからの前記データパケットの第6セットを受信し、ネットワークの攻撃者を識別するために前記データパケットの第6セットを分析し、前記第2アクセスリストモジュールからの前記データパケットの第7セットを受信し、且つ、ネットワークの攻撃者を識別するために前記データパケットの第7セットを分析するように設定され、且つ、適応された攻撃識別モジュール
    をさらに含む請求項24に記載のシステム。
  26. 前記第2アクセスリストモジュールからの前記データパケットの第3セットを受信し、基準に基づき出力モジュールへ前記データパケットの第3セットを送信し、前記出力モジュールへ送信されない前記データパケットの第3セットからのデータパケットを含むデータパケットの第9セットを送信するように設定され、且つ、適応された送信モジュール;及び、
    ネットワークの攻撃者を識別するために前記データパケットの第9セットを受信し且つ分析するように設定され、且つ、適応された攻撃識別モジュール
    をさらに含む請求項23に記載のシステム。
  27. 入力モジュールからのデータパケットを受信し、番号アクセスリストに適合しないデータパケットの第1セットを生成する手段;
    前記データパケットの第1セットを受信し、第1アクセスリストに適合しないデータパケットの第2セットを生成する手段;及び、
    前記データパケットの第2セットを受信し、第2アクセスリストに適合しないデータパケットの第3セットを生成する手段
    を含むネットワーク上の攻撃の防御システム。
  28. データパケットをインデックスモジュールで受信すること;
    bin識別及びユーザーの署名を生成するためにデータパケットにおける1又はそれ以上のフィールドを用いてデータパケットのハッシングを行うこと;
    前記bin識別を処理して複数のbinに含まれた第1binに前記ユーザーの署名を対応させること;
    前記第1binで、ユーザーの署名を0又はそれ以上の前記第1binに対応する記憶されたユーザーの署名と比較すること;
    前記比較に基づいて送信モジュールに前記データパケットを送信すること;及び、
    送信モジュールによって前記データパケットを基準に基づいて出力モジュールへ送信すること
    を含むネットワーク上のデータを監視制限する方法。
  29. 前記データパケットの1又はそれ以上のフィールドは、ポート番号、イーサネット(登録商標)ヴァーチャルローカルエリアネットワーク(VLAN)タグ、前記データパケットに係るメタデータ、レシーバインタフェース、送信元インターネットプロトコル(IP)アドレス、インカミング論理IPアドレス、宛先IPアドレス、送信元メディアアクセスコントロール(MAC)アドレス、宛先MACアドレス、又は、それらの組み合わせである請求項28に記載の方法。
  30. 前記第1binが容量を超えていると、前記データパケットは、前記ユーザーの署名を前記記憶された0又はそれ以上のユーザーの署名と比較せずに前記送信モジュールへ送信される請求項28に記載の方法。
  31. 前記記憶されたユーザーの署名は、入場制御モジュールによって修正される請求項28に記載の方法。
  32. 前記修正は、前記記憶されたユーザーの署名の追加、削除、編集、又は、それらの組み合わせである請求項31に記載の方法。
  33. 前記入場制御モジュールが前記入力モジュールからのサービスの要求を処理する請求項31に記載の方法。
  34. 前記記憶されたユーザーの署名の修正は、好ましい認証に基づいて断定される請求項31に記載の方法。
  35. 前記基準がレート制御である請求項28に記載の方法。
  36. 前記レート制御がレートリミットである請求項35に記載の方法。
  37. 前記レートリミットが、前記第1binにおける記憶されたユーザーの署名の数に基づき動的に適応する請求項36に記載の方法。
  38. 前記レートリミットが設定時間におけるデータ量である請求項36に記載の方法。
  39. 前記レートリミットが、パケットレートリミット、バイトレートリミット、定常状態のレートリミット、バーストリミット、又は、それらの組み合わせである請求項36に記載の方法。
  40. 前記データパケットが前記システムのユーザーに対応せず、前記bin識別及びユーザーの署名が前記第1binに対応する記憶されたユーザーの署名の1つに適合し、前記適合の蓋然性が低く、前記データパケットが前記基準に基づき前記出力モジュールへの送信のため送信モジュールへ送信される請求項28に記載の方法。
  41. インデックスモジュールでデータパケットを受信すること;
    前記データパケットの1又はそれ以上のフィールドを用いて前記データパケットをハッシングしてbin識別及びユーザーの署名を生成すること;
    前記bin識別を処理して前記ユーザーの署名を複数のbinに含まれた第1binに対応させること;
    前記第1binで、前記ユーザーの署名を前記第1binに対応する1又はそれ以上の記憶されたユーザーの署名と比較すること;
    前記データパケットを、前記比較に基づき送信モジュールへ送信すること;及び、
    前記送信モジュールによって、前記データパケットを基準に基づき送信モジュールへ送信すること
    をデータ処理装置に指示することを含む、情報媒体で明白に具体化されたコンピュータプログラム。
  42. データパケットを受信し、前記データパケットをハッシングしてbin識別及びユーザーの署名を生成し、且つ、前記データパケットの前記bin識別を複数のbinに含まれた第1binへ対応させるように設定され、且つ、適用されたインデックスモジュール;
    前記ユーザーの署名を、前記第1binに対応する1又はそれ以上の記憶されたユーザーの署名と比較するように設定され、且つ、適応されたbinモジュール;及び、
    適合したデータパケットを、基準に基づき出力モジュールへ送信するように設定され、且つ、適応された送信モジュール
    を含むネットワーク上のデータを監視制限するシステム。
  43. 前記インデックスモジュールが前記データパケットの一部又は全部をハッシングする請求項42に記載のシステム。
  44. 前記基準がレート制御である請求項42に記載のシステム。
  45. 前記レート制御がレートリミットである請求項44に記載のシステム。
  46. 前記レートリミットが設定時間におけるデータ量である請求項45に記載のシステム。
  47. 前記レートリミットが、前記第1binにおける記憶されたユーザーの署名の数に基づき動的に適応する請求項45に記載のシステム。
  48. 前記レートリミットが、パケットレートリミット、バイトレートリミット、定常状態のレートリミット、バーストリミット、又は、それらの組み合わせである請求項45に記載のシステム。
  49. 入力モジュールからのサービスの要求を処理し、前記サービスの要求に対応する情報をハッシングして第2bin識別及び第2のユーザーの署名を生成し、前記第2bin識別を処理して前記第2のユーザーの署名を前記複数のbinに含まれた第2binに対応させ、且つ、前記第2のユーザーの署名を前記第2binに追加するように設定され、且つ、適応された入場制御モジュールをさらに含む請求項42に記載のシステム。
  50. 前記入場制御モジュールが、前記サービスの要求が処理される前に好ましい認証を要求する請求項49に記載のシステム。
  51. データパケットを受信し、前記データパケットをハッシングしてbin識別及びユーザーの署名を生成し、前記データパケットの前記bin識別を第1binに対応させる手段;
    前記ユーザーの署名を、前記第1binに対応する1又はそれ以上の記憶されたユーザーの署名と比較する手段;及び、
    適合されたデータパケットを基準に基づき出力モジュールへ送信する手段
    を含むネットワーク上の攻撃の防御システム。
  52. 廃棄処理モジュールでデータパケット又はその一部を受信すること;
    前記データパケットの廃棄エントリーを生成すること;
    ダイジェストインデックスモジュールで前記廃棄エントリーを受信すること;
    前記廃棄エントリーの1又はそれ以上のフィールドを用いて前記廃棄エントリーをハッシングしてbin識別及びユーザーの署名を生成すること;
    前記bin識別を処理して、前記ユーザーの署名を複数のbinに含まれた第1binに対応させること;及び、
    前記第1binで前記廃棄エントリーを処理すること
    を含むネットワーク上の攻撃者の識別方法。
  53. 前記廃棄エントリーが前記データパケットに対応する識別情報を含む請求項52に記載の方法。
  54. 前記識別情報が、ネットワークアドレス、ネットワークサブネットアドレス、インターネットプロトコル(IP)アドレス、メディアアクセスコントロール(MAC)アドレス、ネットワーキングプロトコルヘッダーフィールド、前記データパケットに対応するメタデータ、到着インタフェース、宛先インタフェース、オリジネーションインタフェース、又は、それらの組み合わせである請求項53に記載の方法。
  55. 前記第1binでの前記廃棄エントリーの処理が、前記廃棄エントリーの前記識別情報の、前記第1binに対応する1又はそれ以上の記憶されたフィールドとの比較を含む請求項53に記載の方法。
  56. 前記廃棄処理モジュールで受信された前記データパケットのカウントエントリーを増加させること;
    前記カウントエントリーを廃棄エントリーの数と比較すること;及び、
    前記カウントエントリーと前記廃棄エントリーの数との差を計算すること
    をさらに含む請求項52に記載の方法。
  57. 前記第1binでの前記廃棄エントリーの処理が、前記廃棄エントリーの前記ユーザーの署名と、前記第1binに対応する1又はそれ以上の記憶されたユーザーの署名との比較を含む請求項52に記載の方法。
  58. 前記廃棄エントリーの前記ユーザーの署名が記憶されたユーザーの署名に適合するとき、ヒットカウンターが前記記憶されたユーザーの署名に対応する第1ダイジェストエントリーで増加される請求項57に記載の方法。
  59. 前記廃棄エントリーの前記ユーザーの署名が、前記第1binに対応する1又はそれ以上の記憶されたユーザーの署名に適合しない請求項57に記載の方法。
  60. 前記第1binを処理して前記第1binの容量を特定すること;
    前記廃棄エントリーを第2ダイジェストエントリーへ処理すること;及び、
    前記第2ダイジェストエントリーを前記第1binへ追加すること
    をさらに含む請求項59に記載の方法。
  61. 前記第2ダイジェストエントリーが、前記データパケット、タイムスタンプ、ユーザーの署名、ヒットカウンター、パケットフィールド、パケットメタデータ、独自性インジケータ、又は、それらの組み合わせに対応する識別情報を含む請求項60に記載の方法。
  62. 複数のbinにおける各ダイジェストエントリーの、複数のタイムエントリーを含む前記タイムスタンプ及びヒットカウンターを処理すること;及び、
    ヒットレートリストを生成すること
    をさらに含む請求項61に記載の方法。
  63. 前記高レートリストを含むレポートを生成すること;及び、
    前記レポートをディスプレイ装置へ送信すること
    をさらに含む請求項62に記載の方法。
  64. 前記高レートリストのエントリーを含む1又はそれ以上の番号アクセスリストエントリーを生成すること;
    番号アクセスリストモジュールで、前記1又はそれ以上の番号アクセスリストエントリーを受信すること;及び、
    前記1又はそれ以上の番号アクセスリストエントリーを番号アクセスリストへ追加すること
    をさらに含む請求項62に記載の方法。
  65. 前記第1binを処理して前記第1binの容量を特定すること;及び、
    前記容量に基づき前記第1binの各ダイジェストエントリーを処理して年齢とヒットカウントを特定すること
    をさらに含む請求項59に記載の方法。
  66. 前記年齢及びヒットカウントに基づき第3ダイジェストエントリーを削除すること;
    前記第1binで削除された前記第3廃棄エントリーの上書きカウントを増加すること;及び、
    前記ダイジェストインデックスモジュールで前記上書きカウントを処理すること
    をさらに含む請求項65に記載の方法。
  67. 前記第1binの前記各ダイジェストエントリーの前記年齢及びヒットカウントに基づき前記廃棄エントリーを削除すること;
    前記廃棄エントリーの廃棄カウントを増加すること;及び、
    前記ダイジェストインデックスモジュールで前記廃棄カウントを処理すること
    をさらに含む請求項65に記載の方法。
  68. 前記廃棄処理モジュールが、環状バッファ、待ち行列、先入れ先出し待ち行列、先入れ後出し待ち行列、又は、それらの組み合わせである請求項52に記載の方法。
  69. 前記複数のbinで各ダイジェストエントリーを処理すること;及び、
    処理情報のレポートを生成すること
    をさらに含む請求項52に記載の方法。
  70. 前記処理情報が、ネットワークアドレス、送信元アドレス、宛先アドレス、ネットワークインタフェース、ポート、送信元ポート、宛先ポート、又は、それらの組み合わせである請求項69に記載の方法。
  71. 廃棄処理モジュールでデータパケットを受信すること;
    前記データパケットの廃棄エントリーを生成すること;
    ダイジェストインデックスモジュールで前記廃棄エントリーを受信すること;
    前記廃棄エントリーの1又はそれ以上のフィールドを用いて前記廃棄エントリーをハッシングして、bin識別及びユーザーの署名を生成すること;
    前記bin識別を処理して、前記ユーザーの署名を複数のbinに含まれた第1binに対応させること;及び、
    前記第1binで前記廃棄エントリーを処理すること
    をデータ処理装置に指示することを含む、情報媒体で明白に具体化されたコンピュータプログラム製品。
  72. データパケットを受信し、廃棄エントリーを生成するように設定され、且つ、適応された廃棄処理モジュール;
    前記廃棄エントリーを受信し、前記廃棄エントリーをハッシングしてbin識別及びユーザーを生成し、且つ、前記bin識別を処理して前記ユーザーの署名を複数のダイジェストbinモジュールに含まれた第1ダイジェストbinモジュールに対応させるように設定され、且つ、適応されたダイジェストインデックスモジュール;及び、
    前記廃棄エントリーを処理するように設定され、且つ、適応された前記第1ダイジェストbinモジュール
    を含むネットワーク上の攻撃者の識別システム。
  73. 前記廃棄処理モジュールが、さらに前記データパケットのカウントエントリーを増加させるように設定され、且つ、適応された請求項72に記載のシステム。
  74. 前記廃棄エントリーを処理する前記第1ダイジェストbinモジュールが、前記廃棄エントリーの識別情報と前記第1ダイジェストbinモジュールに対応する1又はそれ以上の記憶されたフィールドとの比較を含む請求項72に記載のシステム。
  75. 前記廃棄エントリーを処理する前記第1ダイジェストbinモジュールが、前記廃棄エントリーの前記ユーザーの署名と前記第1ダイジェストbinモジュールに対応する1又はそれ以上の記憶されたユーザーの署名との比較を含む請求項72に記載のシステム。
  76. 前記廃棄エントリーの前記ユーザーの署名が、前記第1ダイジェストbinモジュールに対応する記憶されたユーザーの署名に適合すると、ヒットカウンターが前記記憶されたユーザーの署名に対応する第1ダイジェストエントリーで増加される請求項75に記載のシステム。
  77. 前記廃棄エントリーの前記ユーザーの署名が、前記第1ダイジェストbinモジュールに対応する前記1又はそれ以上の記憶されたユーザーの署名に適合しないと、前記廃棄エントリーがダイジェストエントリーへ処理され、前記第1ダイジェストbinモジュールへ追加される請求項75に記載のシステム。
  78. データパケットを受信し、廃棄エントリーを生成する手段;
    前記廃棄エントリーを受信し、前記廃棄エントリーをハッシングしてbin識別及びユーザーを生成し、且つ、前記bin識別を処理して前記ユーザーの署名を複数のダイジェストbinモジュールに含まれた第1ダイジェストbinモジュールに対応させる手段;及び、
    前記廃棄エントリーを処理する手段
    を含むネットワーク上の攻撃者の識別システム。
JP2009539507A 2006-12-01 2007-11-30 ネットワークのサービス妨害攻撃に対する防御のための情報選別及び監視制限 Pending JP2011503912A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/565,944 US7940657B2 (en) 2006-12-01 2006-12-01 Identifying attackers on a network
US11/565,940 US7672336B2 (en) 2006-12-01 2006-12-01 Filtering and policing for defending against denial of service attacks on a network
US11/565,942 US7804774B2 (en) 2006-12-01 2006-12-01 Scalable filtering and policing mechanism for protecting user traffic in a network
PCT/US2007/086065 WO2008070549A2 (en) 2006-12-01 2007-11-30 Filtering and policing for defending against denial of service attacks a network

Publications (1)

Publication Number Publication Date
JP2011503912A true JP2011503912A (ja) 2011-01-27

Family

ID=39493669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009539507A Pending JP2011503912A (ja) 2006-12-01 2007-11-30 ネットワークのサービス妨害攻撃に対する防御のための情報選別及び監視制限

Country Status (4)

Country Link
EP (1) EP2090061A2 (ja)
JP (1) JP2011503912A (ja)
CA (1) CA2671451A1 (ja)
WO (1) WO2008070549A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
FR2949934B1 (fr) * 2009-09-09 2011-10-28 Qosmos Surveillance d'une session de communication comportant plusieurs flux sur un reseau de donnees
US9251535B1 (en) 2012-01-05 2016-02-02 Juniper Networks, Inc. Offload of data transfer statistics from a mobile access gateway

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09509018A (ja) * 1993-08-09 1997-09-09 シスコ・システムズ・インコーポレーテッド データネットワーク用の改良型パケットフィルタ処理方法
US6651099B1 (en) * 1999-06-30 2003-11-18 Hi/Fn, Inc. Method and apparatus for monitoring traffic in a network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158010A (en) * 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US6826698B1 (en) * 2000-09-15 2004-11-30 Networks Associates Technology, Inc. System, method and computer program product for rule based network security policies
US7284269B2 (en) * 2002-05-29 2007-10-16 Alcatel Canada Inc. High-speed adaptive structure of elementary firewall modules
US20040054925A1 (en) * 2002-09-13 2004-03-18 Cyber Operations, Llc System and method for detecting and countering a network attack
US20050240993A1 (en) * 2004-04-22 2005-10-27 Treadwell William S Methodology, system and computer readable medium for streams-based packet filtering
US7490235B2 (en) * 2004-10-08 2009-02-10 International Business Machines Corporation Offline analysis of packets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09509018A (ja) * 1993-08-09 1997-09-09 シスコ・システムズ・インコーポレーテッド データネットワーク用の改良型パケットフィルタ処理方法
US6651099B1 (en) * 1999-06-30 2003-11-18 Hi/Fn, Inc. Method and apparatus for monitoring traffic in a network

Also Published As

Publication number Publication date
WO2008070549A3 (en) 2009-02-12
WO2008070549A2 (en) 2008-06-12
CA2671451A1 (en) 2008-06-12
EP2090061A2 (en) 2009-08-19

Similar Documents

Publication Publication Date Title
US7672336B2 (en) Filtering and policing for defending against denial of service attacks on a network
US7940657B2 (en) Identifying attackers on a network
US7804774B2 (en) Scalable filtering and policing mechanism for protecting user traffic in a network
EP2619958B1 (en) Ip prioritization and scoring method and system for ddos detection and mitigation
US7478429B2 (en) Network overload detection and mitigation system and method
EP3206364B1 (en) Message authenticity and risk assessment
JP4520703B2 (ja) 不正アクセス対処システム、及び不正アクセス対処処理プログラム
US7854001B1 (en) Aggregation-based phishing site detection
US9001661B2 (en) Packet classification in a network security device
KR101231975B1 (ko) 차단서버를 이용한 스푸핑 공격 방어방법
US20110138463A1 (en) Method and system for ddos traffic detection and traffic mitigation using flow statistics
KR101217647B1 (ko) 특정 소스/목적지 ip 어드레스 쌍들에 기초한 ip 네트워크들에서 서비스 거부 공격들에 대한 방어 방법 및 장치
US20090282478A1 (en) Method and apparatus for processing network attack
US20140143825A1 (en) Reputation-Based In-Network Filtering of Client Event Information
CN110099027B (zh) 业务报文的传输方法和装置、存储介质、电子装置
JP4768020B2 (ja) IPネットワークにおいてターゲット被害者自己識別及び制御によってDoS攻撃を防御する方法
KR20050086441A (ko) 능동 네트워크 방어 시스템 및 방법
JP5870009B2 (ja) ネットワークシステム、ネットワーク中継方法及び装置
US20070166051A1 (en) Repeater, repeating method, repeating program, and network attack defending system
JP2011503912A (ja) ネットワークのサービス妨害攻撃に対する防御のための情報選別及び監視制限
US10291632B2 (en) Filtering of metadata signatures
JP2004140524A (ja) DoS攻撃検知方法、DoS攻撃検知装置及びプログラム
US11770405B2 (en) Automated selection of DDoS countermeasures using statistical analysis
JP5153779B2 (ja) 1つまたは複数のパケット・ネットワーク内で望まれないトラフィックの告発をオーバーライドする方法および装置
KR101535503B1 (ko) 상용 이메일 기반 악성코드 감염단말 탐지 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121016