(57)【要約】  本発明は、ネットワークのサービス妨害攻撃に対する防御のための情報選別及び監視制限用の、コンピュータを利用した方法及びコンピュータプログラム製品を含む機器に関する。データパケットは、複数段階の選別及び送信システムで選別される。第１段階のフィルターに適合するデータパケットは、廃棄される。第２段階のフィルターに適合するデータパケットは、基準に基づき出力モジュールへ送信される。第３段階のフィルターのデータパケットは、ｂｉｎにハッシングされ、ｂｉｎのエントリーに適合するデータパケットはｂｉｎの基準に基づき出力モジュールへ送信される。第４段階の送信システムのデータパケットは、基準に基づき出力モジュールへ送信される。出力モジュールへの送信の基準に適合しないデータパケットは、攻撃を識別するためにデータパケットを分析する攻撃識別モジュールへ送信される。
2011503912.tif 000002
【特許請求の範囲】
【請求項１】
番号アクセスリストモジュールでデータパケットを受信すること；
番号アクセスリストを用いて前記データパケットを分析すること；
前記番号アクセスリストに適合しないデータパケットの第１セットを生成すること；
第１アクセスリストモジュールで前記データパケットの第１セットを受信すること；
第１アクセスリストを用いて前記データパケットの第１セットを分析すること；
第１アクセスリストに適合しないデータパケットの第２セットを生成すること；
第２アクセスリストモジュールで前記データパケットの第２セットを受信すること；
第２アクセスリストを用いて前記データパケットの第２セットを分析すること；及び、
前記第２アクセスリストに適合しないデータパケットの第３セットを生成すること
を含む、ネットワーク上の攻撃の防御方法。
【請求項２】
前記アクセスリストが、どのデータパケットが出力モジュールへ送信されることが許されないかを示す識別リストを含む請求項１に記載の方法。
【請求項３】
前記識別リストが、攻撃ユーザーに対応する識別情報、前記データパケットに対応するフィールド、前記データパケットに対応するメタデータ、又は、それらの組み合わせを含む請求項２に記載の方法。
【請求項４】
前記第１アクセスリストが、どのデータパケットが出力モジュールへ送信されることが許されるかを示す識別リストを含む請求項１に記載の方法。
【請求項５】
前記識別リストが、高周波数帯域幅ユーザーに対応する識別情報、重要なユーザーに対応する識別情報、前記データパケットに対応するフィールド、前記データパケットに対応するメタデータ、又は、それらの組み合わせを含む請求項４に記載の方法。
【請求項６】
入場制御モジュールでサービスの要求を受信すること；
前記サービスの要求を認証すること；及び、
前記サービスの要求を処理して、前記第１アクセスリストに対応する識別リストを追加、削除、編集し、又は、それらの組み合わせを行うこと
をさらに含む請求項５に記載の方法。
【請求項７】
前記第２リストが、どのデータパケットが出力モジュールへ送信されることが許されるかを示す識別リストを含む請求項１に記載の方法。
【請求項８】
前記識別リストが、低周波数帯域幅ユーザーに対応する識別情報、標準的なユーザーに対応する識別情報、データパケットに対応するフィールド、データパケットに対応するメタデータ、又は、それらの組み合わせを含む請求項７に記載の方法。
【請求項９】
前記第１アクセスリストに適合するデータパケットの第４セットを前記第１アクセスリストモジュールで生成すること；及び、
基準に基づき出力モジュールへ前記データパケットの第４セットを送信すること
をさらに含む請求項１に記載の方法。
【請求項１０】
前記基準が、レート制御である請求項９に記載の方法。
【請求項１１】
前記レート制御がレートリミットである請求項１０に記載の方法。
【請求項１２】
前記レートリミットが設定時間におけるデータ量である請求項１１に記載の方法。
【請求項１３】
前記レートリミットが、パケットレートリミット、バイトレートリミット、定常状態のレートリミット、バーストリミット、又は、それらの組み合わせである請求項１１に記載の方法。
【請求項１４】
前記出力モジュールへ送信されない前記データパケットの第４セットからのデータパケットを含むデータパケットの第６セットを、前記第１アクセスリストモジュールで生成すること；
前記データパケットの第６セットを攻撃識別モジュールで受信すること；及び、
ネットワークの攻撃者を識別するために、前記データパケットの第６セットを、前記攻撃識別モジュールで分析すること
をさらに含む請求項９に記載の方法。
【請求項１５】
前記攻撃識別モジュールでの分析が：
前記データパケットに対応する識別情報を用いた互いに対応するデータパケットの数の計算；
前記データパケットの数の攻撃番号リストへの追加；及び、
データパケットの数による前記攻撃番号リストの分類
を含む請求項１４に記載の方法。
【請求項１６】
番号アクセスリストエントリーを前記攻撃識別モジュールで生成すること；
前記番号アクセスリストエントリーを、前記攻撃識別モジュールで受信すること；及び、
前記番号アクセスリストに前記番号アクセスリストエントリーを追加すること
をさらに含む請求項１４に記載の方法。
【請求項１７】
前記第２アクセスリストに適合するデータパケットの第５セットを、前記第２アクセスリストモジュールで生成すること；
基準に基づき前記データパケットの第５セットを出力モジュールへ送信すること；
前記出力モジュールへ送信されない前記データパケットの第５セットからのデータパケットを含むデータパケットの第７セットを、前記第２アクセスリストモジュールで生成すること；
前記データパケットの第７セットを攻撃識別モジュールで受信すること；及び、
前記データパケットの第７セットを前記攻撃識別モジュールで分析すること
をさらに含む請求項１に記載の方法。
【請求項１８】
送信モジュールで前記データパケットの第３セットを受信すること；
データパケットの第８セットを生成すること；
基準に基づいて前記データパケットの第８セットを出力モジュールへ送信すること；
出力モジュールへ送信しない前記データパケットの第８セットからのデータパケットを含むデータパケットの第９セットを、前記送信モジュールで生成すること；
前記データパケットの第９セットを攻撃識別モジュールで受信すること；及び、
前記データパケットの第９セットを前記攻撃識別モジュールで分析すること
をさらに含む請求項１に記載の方法。
【請求項１９】
前記番号アクセスリストモジュールで、番号アクセスリストに適合するデータパケットの第１０セットを生成すること；
前記データパケットの第１０セットを、廃棄モジュールで受信すること；及び、
前記データパケットの第１０セットを、廃棄モジュールで廃棄すること
をさらに含む請求項１に記載の方法。
【請求項２０】
前記データパケットに対応するフィールド、前記データパケットに対応するメタデータ、それらのハッシング、又は、それらの組み合わせを用いて第２アクセスリストを索引付けすることをさらに含む請求項１に記載の方法。
【請求項２１】
前記第２アクセスリストが索引付けされた複数のリストを含む請求項１に記載の方法。
【請求項２２】
番号アクセスリストモジュールでデータパケットを受信すること；
番号アクセスリストを用いて前記データパケットを分析すること；
前記番号アクセスリストに適合しないデータパケットの第１セットを生成すること；
第１アクセスリストモジュールで前記データパケットの第１セットを受信すること；
第１アクセスリストを用いて前記データパケットの第１セットを分析すること；
第１アクセスリストに適合しないデータパケットの第２セットを生成すること；
第２アクセスリストモジュールで前記データパケットの第２セットを受信すること；
第２アクセスリストを用いて前記データパケットの第２セットを分析すること；及び、
前記第２アクセスリストに適合しないデータパケットの第３セットを生成すること
をデータ処理装置に指示することを含む、情報媒体で明白に具体化されたコンピュータプログラム。
【請求項２３】
入力モジュールからのデータパケットを受信し、番号アクセスリストに適合しないデータパケットの第１セットを生成するように設定され、且つ、適応された番号アクセスリストモジュール；
前記番号アクセスリストモジュールからの前記データパケットの第１セットを受信し、第１アクセスリストに適合しないデータパケットの第２セットを生成するように設定され、且つ、適応された第１アクセスリストモジュール；及び、
前記第１アクセスリストモジュールからの前記データパケットの第２セットを受信し、第２アクセスリストに適合しないデータパケットの第３セットを生成するように設定され、且つ、適応された第２アクセスリストモジュール
を含むネットワーク上の攻撃の防御システム。
【請求項２４】
前記第１アクセスリストモジュールが前記第１アクセスリストに適合するデータパケットの第４セットを生成し、基準に基づき出力モジュールへ前記データパケットの第４セットを送信し、且つ、前記出力モジュールへ送信されない前記データパケットの第４セットからのデータパケットを含むデータパケットの第６セットを生成し；
前記第２アクセスリストモジュールが前記第２アクセスリストに適合するデータパケットの第５セットを生成し、基準に基づき出力モジュールへ前記データパケットの第５セットを送信し、且つ、前記出力モジュールへ送信されない前記データパケットの第５セットからのデータパケットを含むデータパケットの第７セットを生成する
請求項２３に記載のシステム。
【請求項２５】
第１アクセスリストモジュールからの前記データパケットの第６セットを受信し、ネットワークの攻撃者を識別するために前記データパケットの第６セットを分析し、前記第２アクセスリストモジュールからの前記データパケットの第７セットを受信し、且つ、ネットワークの攻撃者を識別するために前記データパケットの第７セットを分析するように設定され、且つ、適応された攻撃識別モジュール
をさらに含む請求項２４に記載のシステム。
【請求項２６】
前記第２アクセスリストモジュールからの前記データパケットの第３セットを受信し、基準に基づき出力モジュールへ前記データパケットの第３セットを送信し、前記出力モジュールへ送信されない前記データパケットの第３セットからのデータパケットを含むデータパケットの第９セットを送信するように設定され、且つ、適応された送信モジュール；及び、
ネットワークの攻撃者を識別するために前記データパケットの第９セットを受信し且つ分析するように設定され、且つ、適応された攻撃識別モジュール
をさらに含む請求項２３に記載のシステム。
【請求項２７】
入力モジュールからのデータパケットを受信し、番号アクセスリストに適合しないデータパケットの第１セットを生成する手段；
前記データパケットの第１セットを受信し、第１アクセスリストに適合しないデータパケットの第２セットを生成する手段；及び、
前記データパケットの第２セットを受信し、第２アクセスリストに適合しないデータパケットの第３セットを生成する手段
を含むネットワーク上の攻撃の防御システム。
【請求項２８】
データパケットをインデックスモジュールで受信すること；
ｂｉｎ識別及びユーザーの署名を生成するためにデータパケットにおける１又はそれ以上のフィールドを用いてデータパケットのハッシングを行うこと；
前記ｂｉｎ識別を処理して複数のｂｉｎに含まれた第１ｂｉｎに前記ユーザーの署名を対応させること；
前記第１ｂｉｎで、ユーザーの署名を０又はそれ以上の前記第１ｂｉｎに対応する記憶されたユーザーの署名と比較すること；
前記比較に基づいて送信モジュールに前記データパケットを送信すること；及び、
送信モジュールによって前記データパケットを基準に基づいて出力モジュールへ送信すること
を含むネットワーク上のデータを監視制限する方法。
【請求項２９】
前記データパケットの１又はそれ以上のフィールドは、ポート番号、イーサネット（登録商標）ヴァーチャルローカルエリアネットワーク（ＶＬＡＮ）タグ、前記データパケットに係るメタデータ、レシーバインタフェース、送信元インターネットプロトコル（ＩＰ）アドレス、インカミング論理ＩＰアドレス、宛先ＩＰアドレス、送信元メディアアクセスコントロール（ＭＡＣ）アドレス、宛先ＭＡＣアドレス、又は、それらの組み合わせである請求項２８に記載の方法。
【請求項３０】
前記第１ｂｉｎが容量を超えていると、前記データパケットは、前記ユーザーの署名を前記記憶された０又はそれ以上のユーザーの署名と比較せずに前記送信モジュールへ送信される請求項２８に記載の方法。
【請求項３１】
前記記憶されたユーザーの署名は、入場制御モジュールによって修正される請求項２８に記載の方法。
【請求項３２】
前記修正は、前記記憶されたユーザーの署名の追加、削除、編集、又は、それらの組み合わせである請求項３１に記載の方法。
【請求項３３】
前記入場制御モジュールが前記入力モジュールからのサービスの要求を処理する請求項３１に記載の方法。
【請求項３４】
前記記憶されたユーザーの署名の修正は、好ましい認証に基づいて断定される請求項３１に記載の方法。
【請求項３５】
前記基準がレート制御である請求項２８に記載の方法。
【請求項３６】
前記レート制御がレートリミットである請求項３５に記載の方法。
【請求項３７】
前記レートリミットが、前記第１ｂｉｎにおける記憶されたユーザーの署名の数に基づき動的に適応する請求項３６に記載の方法。
【請求項３８】
前記レートリミットが設定時間におけるデータ量である請求項３６に記載の方法。
【請求項３９】
前記レートリミットが、パケットレートリミット、バイトレートリミット、定常状態のレートリミット、バーストリミット、又は、それらの組み合わせである請求項３６に記載の方法。
【請求項４０】
前記データパケットが前記システムのユーザーに対応せず、前記ｂiｎ識別及びユーザーの署名が前記第１ｂiｎに対応する記憶されたユーザーの署名の１つに適合し、前記適合の蓋然性が低く、前記データパケットが前記基準に基づき前記出力モジュールへの送信のため送信モジュールへ送信される請求項２８に記載の方法。
【請求項４１】
インデックスモジュールでデータパケットを受信すること；
前記データパケットの１又はそれ以上のフィールドを用いて前記データパケットをハッシングしてｂiｎ識別及びユーザーの署名を生成すること；
前記ｂiｎ識別を処理して前記ユーザーの署名を複数のｂiｎに含まれた第１ｂiｎに対応させること；
前記第１ｂiｎで、前記ユーザーの署名を前記第１ｂiｎに対応する１又はそれ以上の記憶されたユーザーの署名と比較すること；
前記データパケットを、前記比較に基づき送信モジュールへ送信すること；及び、
前記送信モジュールによって、前記データパケットを基準に基づき送信モジュールへ送信すること
をデータ処理装置に指示することを含む、情報媒体で明白に具体化されたコンピュータプログラム。
【請求項４２】
データパケットを受信し、前記データパケットをハッシングしてｂiｎ識別及びユーザーの署名を生成し、且つ、前記データパケットの前記ｂiｎ識別を複数のｂiｎに含まれた第１ｂiｎへ対応させるように設定され、且つ、適用されたインデックスモジュール；
前記ユーザーの署名を、前記第１ｂiｎに対応する１又はそれ以上の記憶されたユーザーの署名と比較するように設定され、且つ、適応されたｂiｎモジュール；及び、
適合したデータパケットを、基準に基づき出力モジュールへ送信するように設定され、且つ、適応された送信モジュール
を含むネットワーク上のデータを監視制限するシステム。
【請求項４３】
前記インデックスモジュールが前記データパケットの一部又は全部をハッシングする請求項４２に記載のシステム。
【請求項４４】
前記基準がレート制御である請求項４２に記載のシステム。
【請求項４５】
前記レート制御がレートリミットである請求項４４に記載のシステム。
【請求項４６】
前記レートリミットが設定時間におけるデータ量である請求項４５に記載のシステム。
【請求項４７】
前記レートリミットが、前記第１ｂｉｎにおける記憶されたユーザーの署名の数に基づき動的に適応する請求項４５に記載のシステム。
【請求項４８】
前記レートリミットが、パケットレートリミット、バイトレートリミット、定常状態のレートリミット、バーストリミット、又は、それらの組み合わせである請求項４５に記載のシステム。
【請求項４９】
入力モジュールからのサービスの要求を処理し、前記サービスの要求に対応する情報をハッシングして第２ｂiｎ識別及び第２のユーザーの署名を生成し、前記第２ｂiｎ識別を処理して前記第２のユーザーの署名を前記複数のｂiｎに含まれた第２ｂiｎに対応させ、且つ、前記第２のユーザーの署名を前記第２ｂiｎに追加するように設定され、且つ、適応された入場制御モジュールをさらに含む請求項４２に記載のシステム。
【請求項５０】
前記入場制御モジュールが、前記サービスの要求が処理される前に好ましい認証を要求する請求項４９に記載のシステム。
【請求項５１】
データパケットを受信し、前記データパケットをハッシングしてｂiｎ識別及びユーザーの署名を生成し、前記データパケットの前記ｂｉｎ識別を第１ｂｉｎに対応させる手段；
前記ユーザーの署名を、前記第１ｂｉｎに対応する１又はそれ以上の記憶されたユーザーの署名と比較する手段；及び、
適合されたデータパケットを基準に基づき出力モジュールへ送信する手段
を含むネットワーク上の攻撃の防御システム。
【請求項５２】
廃棄処理モジュールでデータパケット又はその一部を受信すること；
前記データパケットの廃棄エントリーを生成すること；
ダイジェストインデックスモジュールで前記廃棄エントリーを受信すること；
前記廃棄エントリーの１又はそれ以上のフィールドを用いて前記廃棄エントリーをハッシングしてｂiｎ識別及びユーザーの署名を生成すること；
前記ｂｉｎ識別を処理して、前記ユーザーの署名を複数のｂｉｎに含まれた第１ｂｉｎに対応させること；及び、
前記第１ｂｉｎで前記廃棄エントリーを処理すること
を含むネットワーク上の攻撃者の識別方法。
【請求項５３】
前記廃棄エントリーが前記データパケットに対応する識別情報を含む請求項５２に記載の方法。
【請求項５４】
前記識別情報が、ネットワークアドレス、ネットワークサブネットアドレス、インターネットプロトコル（ＩＰ）アドレス、メディアアクセスコントロール（ＭＡＣ）アドレス、ネットワーキングプロトコルヘッダーフィールド、前記データパケットに対応するメタデータ、到着インタフェース、宛先インタフェース、オリジネーションインタフェース、又は、それらの組み合わせである請求項５３に記載の方法。
【請求項５５】
前記第１ｂｉｎでの前記廃棄エントリーの処理が、前記廃棄エントリーの前記識別情報の、前記第１ｂｉｎに対応する１又はそれ以上の記憶されたフィールドとの比較を含む請求項５３に記載の方法。
【請求項５６】
前記廃棄処理モジュールで受信された前記データパケットのカウントエントリーを増加させること；
前記カウントエントリーを廃棄エントリーの数と比較すること；及び、
前記カウントエントリーと前記廃棄エントリーの数との差を計算すること
をさらに含む請求項５２に記載の方法。
【請求項５７】
前記第１ｂｉｎでの前記廃棄エントリーの処理が、前記廃棄エントリーの前記ユーザーの署名と、前記第１ｂｉｎに対応する１又はそれ以上の記憶されたユーザーの署名との比較を含む請求項５２に記載の方法。
【請求項５８】
前記廃棄エントリーの前記ユーザーの署名が記憶されたユーザーの署名に適合するとき、ヒットカウンターが前記記憶されたユーザーの署名に対応する第１ダイジェストエントリーで増加される請求項５７に記載の方法。
【請求項５９】
前記廃棄エントリーの前記ユーザーの署名が、前記第１ｂiｎに対応する１又はそれ以上の記憶されたユーザーの署名に適合しない請求項５７に記載の方法。
【請求項６０】
前記第１ｂiｎを処理して前記第１ｂiｎの容量を特定すること；
前記廃棄エントリーを第２ダイジェストエントリーへ処理すること；及び、
前記第２ダイジェストエントリーを前記第１ｂiｎへ追加すること
をさらに含む請求項５９に記載の方法。
【請求項６１】
前記第２ダイジェストエントリーが、前記データパケット、タイムスタンプ、ユーザーの署名、ヒットカウンター、パケットフィールド、パケットメタデータ、独自性インジケータ、又は、それらの組み合わせに対応する識別情報を含む請求項６０に記載の方法。
【請求項６２】
複数のｂiｎにおける各ダイジェストエントリーの、複数のタイムエントリーを含む前記タイムスタンプ及びヒットカウンターを処理すること；及び、
ヒットレートリストを生成すること
をさらに含む請求項６１に記載の方法。
【請求項６３】
前記高レートリストを含むレポートを生成すること；及び、
前記レポートをディスプレイ装置へ送信すること
をさらに含む請求項６２に記載の方法。
【請求項６４】
前記高レートリストのエントリーを含む１又はそれ以上の番号アクセスリストエントリーを生成すること；
番号アクセスリストモジュールで、前記１又はそれ以上の番号アクセスリストエントリーを受信すること；及び、
前記１又はそれ以上の番号アクセスリストエントリーを番号アクセスリストへ追加すること
をさらに含む請求項６２に記載の方法。
【請求項６５】
前記第１ｂiｎを処理して前記第１ｂiｎの容量を特定すること；及び、
前記容量に基づき前記第１ｂiｎの各ダイジェストエントリーを処理して年齢とヒットカウントを特定すること
をさらに含む請求項５９に記載の方法。
【請求項６６】
前記年齢及びヒットカウントに基づき第３ダイジェストエントリーを削除すること；
前記第１ｂiｎで削除された前記第３廃棄エントリーの上書きカウントを増加すること；及び、
前記ダイジェストインデックスモジュールで前記上書きカウントを処理すること
をさらに含む請求項６５に記載の方法。
【請求項６７】
前記第１ｂiｎの前記各ダイジェストエントリーの前記年齢及びヒットカウントに基づき前記廃棄エントリーを削除すること；
前記廃棄エントリーの廃棄カウントを増加すること；及び、
前記ダイジェストインデックスモジュールで前記廃棄カウントを処理すること
をさらに含む請求項６５に記載の方法。
【請求項６８】
前記廃棄処理モジュールが、環状バッファ、待ち行列、先入れ先出し待ち行列、先入れ後出し待ち行列、又は、それらの組み合わせである請求項５２に記載の方法。
【請求項６９】
前記複数のｂiｎで各ダイジェストエントリーを処理すること；及び、
処理情報のレポートを生成すること
をさらに含む請求項５２に記載の方法。
【請求項７０】
前記処理情報が、ネットワークアドレス、送信元アドレス、宛先アドレス、ネットワークインタフェース、ポート、送信元ポート、宛先ポート、又は、それらの組み合わせである請求項６９に記載の方法。
【請求項７１】
廃棄処理モジュールでデータパケットを受信すること；
前記データパケットの廃棄エントリーを生成すること；
ダイジェストインデックスモジュールで前記廃棄エントリーを受信すること；
前記廃棄エントリーの１又はそれ以上のフィールドを用いて前記廃棄エントリーをハッシングして、ｂiｎ識別及びユーザーの署名を生成すること；
前記ｂｉｎ識別を処理して、前記ユーザーの署名を複数のｂｉｎに含まれた第１ｂｉｎに対応させること；及び、
前記第１ｂｉｎで前記廃棄エントリーを処理すること
をデータ処理装置に指示することを含む、情報媒体で明白に具体化されたコンピュータプログラム製品。
【請求項７２】
データパケットを受信し、廃棄エントリーを生成するように設定され、且つ、適応された廃棄処理モジュール；
前記廃棄エントリーを受信し、前記廃棄エントリーをハッシングしてｂｉｎ識別及びユーザーを生成し、且つ、前記ｂｉｎ識別を処理して前記ユーザーの署名を複数のダイジェストｂｉｎモジュールに含まれた第１ダイジェストｂｉｎモジュールに対応させるように設定され、且つ、適応されたダイジェストインデックスモジュール；及び、
前記廃棄エントリーを処理するように設定され、且つ、適応された前記第１ダイジェストｂｉｎモジュール
を含むネットワーク上の攻撃者の識別システム。
【請求項７３】
前記廃棄処理モジュールが、さらに前記データパケットのカウントエントリーを増加させるように設定され、且つ、適応された請求項７２に記載のシステム。
【請求項７４】
前記廃棄エントリーを処理する前記第１ダイジェストｂｉｎモジュールが、前記廃棄エントリーの識別情報と前記第１ダイジェストｂｉｎモジュールに対応する１又はそれ以上の記憶されたフィールドとの比較を含む請求項７２に記載のシステム。
【請求項７５】
前記廃棄エントリーを処理する前記第１ダイジェストｂｉｎモジュールが、前記廃棄エントリーの前記ユーザーの署名と前記第１ダイジェストｂｉｎモジュールに対応する１又はそれ以上の記憶されたユーザーの署名との比較を含む請求項７２に記載のシステム。
【請求項７６】
前記廃棄エントリーの前記ユーザーの署名が、前記第１ダイジェストｂｉｎモジュールに対応する記憶されたユーザーの署名に適合すると、ヒットカウンターが前記記憶されたユーザーの署名に対応する第１ダイジェストエントリーで増加される請求項７５に記載のシステム。
【請求項７７】
前記廃棄エントリーの前記ユーザーの署名が、前記第１ダイジェストｂｉｎモジュールに対応する前記１又はそれ以上の記憶されたユーザーの署名に適合しないと、前記廃棄エントリーがダイジェストエントリーへ処理され、前記第１ダイジェストｂｉｎモジュールへ追加される請求項７５に記載のシステム。
【請求項７８】
データパケットを受信し、廃棄エントリーを生成する手段；
前記廃棄エントリーを受信し、前記廃棄エントリーをハッシングしてｂiｎ識別及びユーザーを生成し、且つ、前記ｂｉｎ識別を処理して前記ユーザーの署名を複数のダイジェストｂｉｎモジュールに含まれた第１ダイジェストｂｉｎモジュールに対応させる手段；及び、
前記廃棄エントリーを処理する手段
を含むネットワーク上の攻撃者の識別システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、ネットワークのサービス妨害攻撃に対する防御のための情報選別及び監視制限用の、コンピュータを利用した方法及びコンピュータプログラム製品を含む機器に関する。
【背景技術】
【０００２】
世界を跨いだネットワークの利用が増加するにつれて、それらのネットワークへの攻撃も増加している。ネットワークへの攻撃には、サービス妨害（ＤＯＳ：denial of service）攻撃をはじめとして種々のものがある。ＤＯＳ攻撃は、ネットワーク上のデータの流れへだけでなく、攻撃を防ぐことができずに許してしまったという企業の評判、及び、究極的には企業の重要な財務状況へも破壊的な損害を引き起こすことがある。ＤＯＳ攻撃は、正規のユーザーへネットワークによって提供されるサービスの低下、混乱又は妨害を意図した干渉攻撃を生み出す悪意ある攻撃を示すものとして用いられる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＤＯＳ攻撃は、ネットワーク活動の成長につれて増加している。企業は、正規のユーザーからのパケットを識別し、それらをネットワーク上で許容することで、対応している。しかしながら、ユーザー数が多くなると、ユーザーリストを用いた各パケットの分析が実行困難となる。サーチエンジンベースの連想記憶装置（ＣＡＭ：content-addressable memory）のようなハードウェアソリューションもまた、増加するユーザーの対応に用いられている。しかしながら、ＣＡＭハードウェアは高価であり、消費電力が大きく、余分な熱を発生する。
【０００４】
ＤＯＳ攻撃の増加により、企業は攻撃からネットワークを守ることが重要となっている。ＤＯＳ攻撃は、攻撃者にデータパケットを消耗された正規のユーザーから資源を奪う。ＤＯＳ攻撃は、ネットワーク資源を消耗するだけでなく、企業のお金の面やその企業のネットワークを利用する顧客からの信用の面で損失を与える。ＤＯＳ攻撃が増加しており、企業がこのような攻撃からネットワークを守るためのシステムを持つことが重要となっている。
【課題を解決するための手段】
【０００５】
ネットワーク攻撃に対する防御としての１つの方策は、ネットワーク上のデータを選別することである。１側面において、ネットワーク上のデータを選別する方法がある。該方法は、番号アクセスリストモジュールでデータパケットを受信すること、番号アクセスリストを用いてデータパケットを分析すること、及び、番号アクセスリストに適合しないデータパケットの第１セットを生成することを含んでいる。さらに、該方法は、第１アクセスリストモジュールで該データパケットの第１セットを受信すること、第１アクセスリストを用いてデータパケットの第１セットを分析すること、及び、該第１アクセスリストに適合しないデータパケットの第２セットを生成することを含んでいる。さらに、該方法は、第２アクセスリストモジュールでデータパケットの第２セットを受信すること、第２アクセスリストを用いてデータパケットの第２セットを分析すること、及び、該第２アクセスリストに適合しないデータパケットの第３セットを生成することを含んでいる。
【０００６】
別の側面において、ネットワーク上のデータを選別するためのコンピュータプログラム製品がある。コンピュータプログラム製品は、明白に、情報媒体を具体化している。コンピュータプログラム製品は、データ処理装置に番号アクセスリストモジュールでデータパケットを受信し、番号アクセスリストを用いてデータパケットを分析し、さらに、番号アクセスリストに適合しないデータパケットの第１セットを生成させる指示を行う。データパケットの第１セットは、第１アクセスリストモジュールで受信され、第１アクセスリストを用いて分析され、また、該第１アクセスリストに適合しないデータパケットの第２セットが生成される。データパケットの第２セットは、第２アクセスリストモジュールで受信され、第２アクセスリストを用いて分析され、また、該第２アクセスリストに適合しないデータパケットの第３セットが生成される。
【０００７】
別の側面において、ネットワーク上のデータを選別するためのシステムがある。該システムは、番号アクセスリストモジュールと、第１アクセスリストモジュールと、第２アクセスリストモジュールとを備えている。該番号アクセスリストモジュールは、入力モジュールからデータパケットを受信し、番号アクセスリストに適合しないデータパケットの第１セットを生成する。該第１アクセスリストモジュールは、番号アクセスリストモジュールからデータパケットの第１セットを受信し、第１アクセスリストに適合しないデータパケットの第２セットを生成する。該第２アクセスリストモジュールは、第１アクセスリストモジュールからデータパケットの第２セットを受信し、第２アクセスリストに適合しないデータパケットの第３セットを生成する。
【０００８】
別の側面において、ネットワーク上のデータを選別するためのシステムがある。該システムは、データパケット受信手段と、データパケットの第１セット受信手段と、データパケットの第２セット受信手段とを備える。該データパケット受信手段は、入力モジュールからのデータパケットを受信し、番号アクセスリストに適合しないデータパケットの第１セットを生成する。該データパケットの第１セット受信手段は、データパケットの第１セットを受信し、第１アクセスリストに適合しないデータパケットの第２セットを生成する。該データパケットの第２セット受信手段は、データパケットの第２セットを受信し、第２アクセスリストに適合しないデータパケットの第３セットを生成する。
【０００９】
別の側面において、ネットワーク上のデータは監視制限される。別の側面において、ネットワーク上のデータを監視制限する方法がある。該方法は、データパケットをインデックスモジュールで受信すること、ｂｉｎ識別及びユーザーの署名を生成するためにデータパケットにおける１又はそれ以上のフィールドを用いてデータパケットのハッシングを行うこと、複数のｂｉｎに含まれた第１ｂｉｎにユーザーの署名を対応させるｂｉｎ識別処理を行うことを含む。該方法は、さらに、第１ｂｉｎで、ユーザーの署名を０又はそれ以上の第１ｂｉｎに対応する記憶されたユーザーの署名と比較すること、該比較に基づいて送信モジュールにデータパケットを送信すること、及び、送信モジュールによってデータパケットを基準に基づいて出力モジュールへ送信することを含む。
【００１０】
別の側面において、ネットワーク上のデータを監視制限するためのコンピュータプログラム製品がある。コンピュータプログラム製品は、明白に、情報媒体を具体化している。コンピュータプログラム製品は、データ処理装置がデータパケットをインデックスモジュールで受信し、ｂｉｎ識別及びユーザーの署名を生成するためにデータパケットにおける１又はそれ以上のフィールドを用いてデータパケットのハッシングを行い、複数のｂｉｎに含まれた第１ｂｉｎにユーザーの署名を対応させるｂｉｎ識別処理を行うような指示を行う。第１ｂｉｎは、ユーザーの署名を０又はそれ以上の第１ｂｉｎに対応する記憶されたユーザーの署名と比較し、データパケットを該比較に基づいて送信モジュールに送信する。該送信モジュールは、データパケットを基準に基づいて出力モジュールへ送信する。
【００１１】
別の側面において、ネットワーク上のデータを監視制限するためのシステムがある。該システムは、インデックスモジュール、ｂｉｎモジュール、及び、送信モジュールを備える。インデックスモジュールは、データパケットを受信し、ｂｉｎ識別及びユーザーの署名を生成するためにデータパケットのハッシングを行い、データパケットのｂｉｎ識別を複数のｂｉｎに含まれた第１ｂｉｎに対応させる。ｂｉｎモジュールは、ユーザーの署名と０又はそれ以上の第１ｂｉｎに対応する記憶されたユーザーの署名とを比較する。送信モジュールは、適合するデータパケットを基準に基づいて出力モジュールへ送信する。
【００１２】
別の側面において、ネットワーク上のデータを監視制限するためのシステムがある。該システムは、データパケット受信手段、ユーザー署名比較手段、及び、適合データパケット送信手段を備えている。データパケット受信手段はデータパケットを受信し、ｂｉｎ識別及びユーザーの署名を生成するためにデータパケットのハッシングを行い、データパケットのｂｉｎ識別を複数のｂｉｎに含まれた第１ｂｉｎに対応させる。ユーザー署名比較手段は、ユーザーの署名と０又はそれ以上の第１ｂｉｎに対応する記憶されたユーザーの署名とを比較する。適合データパケット送信手段は、適合するデータパケットを基準に基づいて出力モジュールへ送信する。
【００１３】
別の側面において、ネットワーク上のデータは、攻撃者を識別するために分析される。別の側面において、ネットワーク上の攻撃者の識別方法がある。該方法は、廃棄処理モジュールでデータパケットを受信すること、及び、データパケットのための廃棄エントリーを生成することを含んでいる。該方法は、さらに、廃棄エントリーをダイジェストインデックスモジュールで受信すること、及び、ｂｉｎ識別及びユーザーの署名を生成するために廃棄エントリーの１又はそれ以上のフィールドを用いて廃棄エントリーのハッシングを行うことを含んでいる。該方法は、さらに、ｂiｎ識別を処理して複数のｂｉｎに含まれた第１ｂiｎにユーザーの署名を対応させること、及び、第１ｂiｎで廃棄エントリーの処理を行うことを含んでいる。
【００１４】
別の側面において、攻撃者を識別するためにネットワーク上のデータを分析するコンピュータプログラム製品がある。該コンピュータプログラム製品は、明白に、情報媒体を具体化しており、データ処理装置がデータパケットを廃棄処理モジュールで受信し、データパケットのための廃棄エントリーを生成させる指示を行う。ダイジェストインデックスモジュールは、廃棄エントリーを受信し、ｂｉｎ識別及びユーザーの署名を生成するために廃棄エントリーの１又はそれ以上のフィールドを用いて廃棄エントリーのハッシングを行い、ｂiｎ識別を処理して複数のｂｉｎに含まれた第１ｂiｎにユーザーの署名を対応させる。第１ｂiｎは、廃棄エントリーの処理を行う。
【００１５】
別の側面において、ネットワーク上において攻撃者を識別するためのシステムがある。該システムは、廃棄処理モジュール、ダイジェストインデックスモジュール、及び、第１ダイジェストｂiｎモジュールを備えている。廃棄処理モジュールは、データパケットを受信し、廃棄エントリーを生成する。ダイジェストインデックスモジュールは、廃棄エントリーを受信し、ｂｉｎ識別及びユーザーの署名を生成するために廃棄エントリーのハッシングを行い、ｂiｎ識別を処理して複数のダイジェストｂｉｎモジュールに含まれた第１ダイジェストｂｉｎモジュールにユーザーの署名を対応させる。第１ダイジェストｂｉｎモジュールは、廃棄エントリーの処理を行う。
【００１６】
別の側面において、ネットワーク上において攻撃者を識別するためのシステムがある。該システムは、データパケット受信手段、廃棄エントリー受信手段、及び、処理手段を備えている。データパケット受信手段は、データパケットを受信し、廃棄エントリーを生成する。廃棄エントリー受信手段は、廃棄エントリーを受信し、ｂｉｎ識別及びユーザーの署名を生成するために廃棄エントリーのハッシングを行い、ｂiｎ識別を処理して複数のダイジェストｂｉｎモジュールに含まれた第１ダイジェストｂｉｎモジュールにユーザーの署名を対応させる。処理手段は、廃棄エントリーの処理を行う。
【００１７】
別の例において、上述した側面は、それぞれ以下の特徴を１つ又はそれ以上含んでいても良い。番号アクセスリストは、どのデータパケットについて出力モジュールへの送信が許されないのかを示す識別リストを含んでいる。番号アクセスリスト用の識別リストは、攻撃ユーザーに対応する識別情報、データパケットに対応するフィールド、及び／又は、データパケットに対応するメタデータを含んでいる。第１アクセスリストは、どのデータパケットについて出力モジュールへの送信が許されるのかを示す識別リストを含んでいる。第１アクセスリスト用の識別リストは、高周波数帯域幅ユーザーに対応する識別情報、重要なユーザーに対応する識別情報、データパケットに対応するフィールド、及び／又は、データパケットに対応するメタデータを含んでいる。第２アクセスリストは、どのデータパケットについて出力モジュールへの送信が許されるのかを示す識別リストを含んでいる。第２アクセスリスト用の識別リストは、低周波数帯域幅ユーザーに対応する識別情報、標準的なユーザーに対応する識別情報、データパケットに対応するフィールド、及び／又は、データパケットに対応するメタデータを含んでいる。
【００１８】
いくつかの例において、データパケットは該システムのユーザーに対応していない。データパケットのハッシングから生じたｂiｎ識別及びユーザーの署名は、第１ｂiｎに対応する記憶されたユーザーの署名の１つに適合する。適合の蓋然性は低い。データパケットは基準に基づいて出力モジュールへ送信するために、送信モジュールへ送信される。
【００１９】
さらに他の例において、第１アクセスリストモジュールは、第１アクセスリストに適合するデータパケットの第４セットを生成し、データパケットの第４セットを基準に基づいて出力モジュールへ送信する。
【００２０】
他の例において、第１アクセスリストモジュールは、出力モジュールへ送信しないデータパケットの第４セットからのデータパケットを含むデータパケットの第６セットを生成する。攻撃識別モジュールは、データパケットの第６セットを受信し、ネットワークの攻撃者を識別するためにデータパケットの第６セットを分析する。攻撃識別モジュールにおける分析は、データパケットに対応する他の識別情報を用いた互いに対応するデータパケットの数の計算、データパケットの数の攻撃番号リストへの追加、及び、データパケットの数による攻撃番号リストの分類を含む。攻撃識別モジュールは、１又はそれ以上の番号アクセスリストエントリーを生成する。番号アクセスリストは、番号アクセスリストモジュールで受信され、番号アクセスリストに追加される。
【００２１】
他の例において、第２アクセスリストモジュールは、第２アクセスリストに適合するデータパケットの第５セットを生成し、レート制御を用いてデータパケットの第５セットを出力モジュールへ送信し、出力モジュールへ送信しないデータパケットの第５セットからのデータパケットを備えるデータパケットの第７セットを生成する。攻撃識別モジュールは、データパケットの第７セットを受信し、データパケットの第７セットを分析する。
【００２２】
さらに他の例において、送信モジュールは、データパケットの第３セットを受信し、データパケットの第８セットを生成し、レート制御を用いてデータパケットの第８セットを出力モジュールへ送信し、出力モジュールへ送信しないデータパケットの第８セットからのデータパケットを備えるデータパケットの第９セットを生成する。攻撃識別モジュールは、データパケットの第９セットを受信し、データパケットの第９セットを分析する。
【００２３】
さらに他の例において、番号アクセスリストモジュールは、番号アクセスリストに適合するデータパケットの第１０セットを生成する。廃棄モジュールは、データパケットの第１０セットを受信し、データパケットの第１０セットを廃棄する。
【００２４】
他の例において、第２アクセスリストは、データパケットに対応するフィールド、データパケットに対応するメタデータ、及び／又は、それらのハッシングを用いて索引付けされる。第２アクセスリストは、第１アクセスリストより多くのエントリーを含んでいる。第２アクセスリストは、索引付けされた複数のリストを含んでいる。
【００２５】
さらに他の例において、データパケットの１又はそれ以上のフィールドは、ポート番号、イーサネット（登録商標）ヴァーチャルローカルエリアネットワーク（Ethernet（登録商標） virtual local area network ：ＶＬＡＮ）タグ、データパケットに対応するメタデータ、レシーバインタフェース、送信元ＩＰアドレス、インカミング論理ＩＰアドレス、宛先ＩＰアドレス、送信元ＭＡＣアドレス、及び／又は、宛先ＭＡＣアドレスである。
【００２６】
他の例において、記憶されたユーザーの署名は、流入制御モジュールによって修正される。修正は、記憶されたユーザーの署名へ足したり、引いたり、編集したりすることで行う。流入制御モジュールは、出力モジュールに対してサービスを要求し、記憶されたユーザーの署名を修正すべきか及びどのように修正すべきかを決定する。修正は、流入制御モジュールへの好ましい認証に基づいて断定される。
【００２７】
さらに他の例において、流入制御モジュールはサービスの要求を受信する。流入制御モジュールは、サービスの要求を認証する。サービスの要求は、流入制御モジュールによって処理されて、第１アクセスリストに適合する識別リストが足され、引かれ、及び／又は、編集される。
【００２８】
他の例において、基準は、レート制御である。レート制御は、レートリミットを示す。レートリミットは、設定時間でのデータ量である。レートリミットは、パケットレートリミット、バイトレートリミット、定常状態のレートリミット、及び／又は、バーストリミットである。インデックスモジュールは、データパケットの一部又は全部をハッシングする。ｂｉｎモジュールは、ユーザーの署名の一部又は全部を、記憶されたユーザーの署名の一部又は全部と比較する。
【００２９】
さらに他の例において、廃棄エントリーは、データパケットに対応する識別情報を備える。識別情報は、ネットワークアドレス、ネットワークサブネットアドレス、ＩＰアドレス、ＭＡＣアドレス、ネットワーキングプロトコルヘッダーフィールド、データパケットに対応するメタデータ、到着インタフェース、宛先インタフェース、及び／又は、オリジネーションインタフェースである。カウントエントリーは、廃棄処理モジュールで受信されたデータパケットごとに増加する。
【００３０】
他の例において、第１ｂiｎにおける廃棄エントリーの処理は、廃棄エントリーのユーザーの署名と、第１ｂiｎに対応する１又はそれ以上の記憶されたユーザーの署名との比較を含む。廃棄エントリーのユーザーの署名が記憶されたユーザーの署名に適合すると、ヒットカウンターが記憶されたユーザーの署名に対応する第１ダイジェストエントリーに基づいて増加する。廃棄エントリーのユーザーの署名が第１ｂiｎに対応する１又はそれ以上の記憶されたユーザーの署名に適合しなければ、廃棄エントリーはダイジェストエントリーへ処理され、ダイジェストエントリーが第１ｂiｎに追加される。ダイジェストエントリーは、タイムスタンプ、ヒットカウンター、パケットフィールド、パケットメタデータ、及び／又は、独自性インジケータを備える。
【００３１】
他の例において、第１ｂiｎが処理されて第１ｂiｎの容量を決定し、第１ｂiｎの各ダイジェストエントリーは該容量に基づいて処理されて年齢とヒット数とを決定する。第２ダイジェストエントリーは、年齢とヒット数に基づいて削除され、上書き数が増加し、上書き数が処理される。第２ダイジェストエントリーが年齢とヒット数に基づいて削除されなければ、廃棄エントリーは削除され、廃棄数が増加し、廃棄数が処理される。
【００３２】
さらに他の例において、複数のｂiｎにおける各ダイジェストエントリーのヒット数及びタイムスタンプが処理されて、各ダイジェストエントリーのヒット数の値を含む高レートリストが生成される。高レートリストは、レートによって選別される。番号アクセスリストエントリーは、高レートリストの１又はそれ以上の選択されたエントリーから生じる。番号アクセスリストエントリーは、番号アクセスリストモジュールで受信され、番号アクセスリストに追加される。
【００３３】
他の例において、複数のｂiｎにおいて各ダイジェストエントリーのタイムスタンプ及びヒットカウンターが処理される。タイムスタンプは、例えば、複数のタイムエントリーであってもよい。ヒットレートリストは、各ダイジェストエントリーのタイムスタンプ及びヒットカウンターの処理に基づいて生成されてもよい。
【００３４】
上述した側面及び例のいずれも、以下の利点の１つ又はそれ以上を提供することができる。データパケットは、段階的なフィルターによってフィルタリングされることで、保護されたネットワークに対する攻撃者のサービス妨害攻撃の成功を防ぐ。データパケットの段階的なフィルタリングにより、既知の攻撃者を素早く除外し、より多くのネットワークの顧客をネットワークへ素早くアクセスさせる。段階的なフィルタリングは、また、攻撃者からのデータパケットをフィルタリングで除去する必要性のバランスを取りながら、標準的なユーザーにネットワークへアクセスさせる。
【００３５】
他の利点としては、第２アクセスリストである第３段階のフィルタリングがある。第２アクセスリストは、複数のｂiｎに亘るデータパケットの分配により、何十万ものユーザーの署名を処理することができる。ハッシング機能により、ユーザーの署名のサイズが、ｂiｎとｂiｎに亘るデータパケットの分配との間で変化する。ｂiｎの数、ユーザーの署名のサイズ、及び、ハッシング機能は、第３段階のフィルタリングの拡張性と精度の両方を許容するために、保護されたネットワークの必要に応じることができる。
【００３６】
他の利点としては、基準に基づく保護されたネットワークへのパケットの送信がある。基準は、レートリミットであるレート制御機構であってもよい。例えば、レートリミットは、ネットワークの多くの顧客を許容する第２段階のフィルターに設けられ、レートリミットは、設定時間の間にネットワーク上で許容されるデータパケットの数を制限することにより、第２段階のフィルターを通して許容されたデータパケットの攻撃からネットワークの他の顧客を保護する。レートリミットは、例えば、ネットワーク上の標準的な顧客へ、たとえ攻撃者がｂiｎの１つを通して許容されても、攻撃者は攻撃者の悪影響を減少させるｂiｎの出力レートリミットによって制限されることを保証する第３段階のフィルターにおける各ｂiｎに設けられる。
【００３７】
他の利点としては、基準に基づく第３段階のフィルターにおけるｂiｎからのパケットの送信がある。たとえ攻撃者のデータパケットがｂiｎのユーザーの署名に適合したとしても、ｂiｎに対応する顧客のみが攻撃者によって影響され、システムの残りの顧客は影響されないため、該基準は各ｂiｎに対応する。適合及び送信にｂiｎを用いることの利点には、インデックス及びハッシングシステムを使用したｂiｎ記憶することができる顧客数の増加、及び、ｂiｎの１つが攻撃に対応したデータパケットを受信したときに影響を受ける顧客数の減少がある。
【００３８】
他の利点としては、全体的なフィルタリング能力及びネットワーク上のレート制御データパケットを提供するフィルタリング及び送信制御動作に対応するパケット分類機構の混成の利用がある。パケット分類機構の混成を利用する利点の１つは、データパケットの異なるクラスがデータパケットのネットワークへの価値によって送られることである（例えば、重要な顧客からのデータパケットが識別され、標準的な顧客からのデータパケットとは異なったコスト及び／又はパフォーマンス条件に基づく機構によって監視制限される）。異なる機構を利用する利点は、各機構が異なる特性（例えば、送信速度、適合精度）について最適化されることである。
【００３９】
他の利点としては、データパケットが出力モジュールへ送信される前の各データパケットの送信規制がある。送信規制の利点の１つは、信頼されたユーザーのデータパケットが攻撃に用いられたとき、信頼されたユーザーからのデータパケットが他のユーザーのデータパケットが逆に影響されないようにそのまま規制される。
【００４０】
他の利点としては、ネットワークの攻撃者を特定するためのパケットの分析がある。分析は、過剰なデータパケットをフィルタリング及び送信モジュールにより受信し、サブネットアドレスのような共通の特性に基づき、データパケットに対応するデータパケットを処理することで行う。対応するデータパケットは、最悪の攻撃者を特定するために分析される（例えば、データパケットの最高数のエントリー）。最悪の攻撃者は、データパケットがまずシステムに入ると、続いてアクセスを止めるために第１段階のフィルターに追加される。過剰なデータパケットを処理するフィードバック機構は、攻撃者からネットワークを保護する自動システムを許容する。
【００４１】
本発明の他の側面及び利点は、単に例として示された発明の原理を示す図面と共に、以下の詳細な説明により明らかとなる。
本発明自体のみならず、本発明に係る、上述の及び他の目的、特性及び利点は、図面を併せて読むことで、後述する種々の形態の記載によりさらに理解される。
【図面の簡単な説明】
【００４２】
【図１】図１は、出力モジュールへの送信のための入力モジュールからのデータパケットをフィルタリングするシステムの例を示す機能ブロック図である。
【図２】図２は、番号アクセスリストモジュールを通してデータパケットをフィルタリングするシステムの例を示す機能ブロック図である。
【図３】図３は、第１アクセスリストモジュールを通してデータパケットをフィルタリングするシステムの例を示す機能ブロック図である。
【図４】図４は、第２アクセスリストモジュールを通してデータパケットをフィルタリングするシステムの例を示す機能ブロック図である。
【図５】図５は、攻撃を識別するためにデータを処理するシステムの例を示す機能ブロック図である。
【図６Ａ】図６Ａは、コンピュータから送られたデータパケットの図である。
【図６Ｂ】図６Ｂは、電話から送られたデータパケットの図である。
【図６Ｃ】図６Ｃは、電話から送られたデータパケットの図である。
【図６Ｄ】図６Ｄは、電話から送られたデータパケットの図である。
【図６Ｅ】図６Ｅは、電話から送られたデータパケットの図である。
【図６Ｆ】図６Ｆは、電話から送られたデータパケットの図である。
【図７Ａ】図７Ａは、例示されたシステムを通したデータパケットの処理を記述したフローチャートである。
【図７Ｂ】図７Ｂは、例示されたシステムを通したデータパケットの処理を記述したフローチャートである。
【図８】図８は、例示されたシステムの第２アクセスリストモジュールを通したデータパケットの処理を記述したフローチャートである。
【図９】図９は、例示されたシステムの攻撃識別モジュールを通したデータパケットの処理を記述したフローチャートである。
【図１０】図１０は、例示されたシステムにおいて攻撃を探知するためのヒットカウンターの処理を記述したフローチャートである。
【発明を実施するための形態】
【００４３】
総括すると、データパケットは、多段階のフィルタリング及び送信システムによってフィルタリングされる。第１段階のフィルター（例えば、番号アクセスリスト）に適合するデータパケットは廃棄され、残ったデータパケットが第２段階のフィルターへ送信される。第２段階のフィルター（例えば、第１アクセスリスト）に適合するデータパケットは、基準（例えばレートリミット）に基づいて出力モジュールへ送信される。適合するデータパケットが基準外であれば、そのデータパケットは分析のために攻撃識別モジュールへ送信される。第２段階のフィルターに適合しないデータパケットは第３段階のフィルターへ送信される。
【００４４】
第３段階のフィルター（例えば、第２アクセスリスト）で、データパケットはｂｉｎへハッシングされ、適合するｂｉｎでのエントリーに適合するデータパケットはｂｉｎの基準（例えば、レートリミット）に基づき、出力モジュールへ送信される。適合するデータパケットが基準外であれば、そのデータパケットは分析のために攻撃識別モジュールへ送信される。第３段階のフィルターに適合しないデータパケットは第４段階のフィルターへ送信される。第４段階の送信システムで、データパケットは、基準（例えば、レートリミット）に基づき、出力モジュールへ送信される。ネットワークへの送信の基準に適合しないデータパケットは、分析のために攻撃識別モジュールへ送信される。攻撃識別モジュールは、攻撃を識別するためにデータパケットを分析する。
【００４５】
図１は、出力モジュール１７０への送信のための入力モジュール１１０からのデータパケットをフィルタリングするシステム１００における防御システム１０５の例を示す機能ブロック図である。データパケットは、入力モジュール１１０から防御システム１０５へ送信される。ある例において、システム１００はデジタル・シグナル・プロセッサ（ＤＳＰ）、集積回路（ＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、コンピュータ、ネットワーク、ネットワークプロセッサ、及び／又は、それらの部品である。防御システム１０５は、例えば、ＤＳＰ、ＩＣ、ＦＰＧＡ、コンピュータ、ネットワーク、ネットワークプロセッサ、それらの部品、及び／又は、システム１００の部品であってもよい。ある例において、入力モジュールは、ネットワーク、システム１００のプロセッサ、システム１００のプロセッサカード、システム１００のネットワーク・インタフェースカード（ＮＩＣ）、ＤＳＰ、ＩＣ、ＦＰＧＡ、コンピュータ、ネットワーク、記憶モジュール（例えば、揮発性メモリ、不揮発性メモリ）、ネットワークプロセッサ、他のタイプの処理モジュール、それらの部品、及び／又は、システム１００の部品である。出力モジュールは、例えば、ネットワーク、システム１００のプロセッサ、システム１００のプロセッサカード、システム１００のネットワーク・インタフェースカード（ＮＩＣ）、ＤＳＰ、ＩＣ、ＦＰＧＡ、コンピュータ、ネットワーク、記憶モジュール（例えば、揮発性メモリ、不揮発性メモリ）、ネットワークプロセッサ、他のタイプの処理モジュール、それらの部品、及び／又は、システム１００の部品である。入力モジュール１１０からのデータパケットの送信は、パケットベースのネットワーク及び／又は回路ベースのネットワークであってもよい。出力モジュール１７０からのデータパケットの送信は、パケットに基づくネットワーク、及び／又は、回路に基づくネットワークを通してもよい。
【００４６】
防御システム１０５は、入力モジュール１１０から来たデータパケットと伴に示されるが、他の例は、データパケットを送信する送信デバイスを含んでいる。送信デバイスは、例えば、入力モジュール１１０に位置し、又は、データパケットを入力モジュール１１０へ送信する分離したネットワークに位置する。例えば、データパケットは、分離したネットワーク上の送信デバイスから送信される。データパケットは、分離したネットワークから入力モジュール１１０へ送信される。入力モジュール１１０は、フィルタリングのために、データパケットをシステム１００へ送信する。
【００４７】
データパケットは、番号アクセスリストモジュール１２０で受信される。番号アクセスリストモジュール１２０は、番号アクセスリストを用いてデータパケットを分析する。番号アクセスリストは、例えば、どのデータパケットが出力モジュール１７０へ送信されることが許されないのかを示す識別リストを含んでいる。識別リストは、攻撃ユーザーに対応する識別情報、データパケットに対応するフィールド（例えば、ネットワークプロトコル・ヘッダーフィールド、受信アドレス、ネットワークアドレス、ネットワークサブネットアドレス、インターネットプロトコル（ＩＰ）アドレス、メディア・アクセス・コントロール（ＭＡＣ）アドレス、受信アドレス、進入インタフェース、マルチプロトコル・ラベル・スウィッチング（ＭＰＬＳ）タグ）、及び／又は、データパケットに対応するメタデータを含んでいる。
【００４８】
データパケットの第１セット１２２は、番号アクセスリストに適合しないデータパケットから生成される。データパケットの第１セット１２２は、第１アクセスリストモジュール１３０へ送信される。データパケットの第１０セット１２４は、番号アクセスリストに適合しないデータパケットから生成される。データパケットの第１０セット１２４は、廃棄モジュール１２５へ送信される。廃棄モジュール１２５は、データパケットの第１０セット１２４を廃棄する。データパケットの第１０セット１２４の廃棄は、例えば、防御システム１０５からのデータパケットの第１０セット１２４の削除、及び／又は、処理（不適切に廃棄されたデータパケットのチェックのための廃棄されたデータパケットの分析）のための記憶モジュールへデータパケットの第１０セット１２４の送信を含んでいる。
【００４９】
番号アクセスリストの適合は、例えば、識別リストの一部又は全部と、データパケットに対応する情報との比較を含んでいる。例えば、ＩＰアドレス１０．９９．９９．９９のデータパケットは番号アクセスリストモジュール１２０によって処理される。番号アクセスリストは、ネットワークサブネットアドレス１０．９９．９９．０を含んでいる。ＩＰアドレス１０．９９．９９．９９のデータパケットに対応する情報は、番号アクセスリストを用いて分析される。ＩＰアドレス１０．９９．９９．９９のデータパケットに対応する情報が番号アクセスリストの一部に適合するとき、データパケットは、データパケットの第１０セット１２４の一部又は全部であり、廃棄モジュール１２５へ送信される。例えば、ＩＰアドレス１０．１０．１０．１０のデータパケットは、番号アクセスリストモジュール１２０で処理される。番号アクセスリストは、ＩＰアドレス１０．１０．１０．１０を含まず、又は、送信デバイス又はデータパケットのネットワークに適合する他のどのような識別情報をも含まない。データパケットに対応する情報が番号アクセスリストのどの部分にも対応しないとき、データパケットは、データパケットの第１セット１２２の一部又は全部であり、第１アクセスリストモジュール１３０へ送信される。
【００５０】
データパケットの第１セットは、第１アクセスリストモジュール１３０へ送信される。第１アクセスリストモジュール１３０は、第１アクセスリストを用いてデータパケットの第１セット１２２を分析する。第１アクセスリストは、例えば、どのデータパケットが出力モジュール１７０へ送信されることが許されるかを示す識別リストを含んでいる。識別リストは、高周波数帯域幅ユーザーに対応する識別情報、重要なユーザーに対応する識別情報、データパケットに対応するフィールド、及び／又は、データパケットに対応するメタデータを含んでいる。高周波数帯域幅ユーザーは、大量のデータパケットを出力モジュールへ送信するユーザーである（例えば、平均的なユーザーは１日に１０００データパケットを送信し、高周波数帯域幅ユーザーは１日に１０００００データパケットを送信する）。重要なユーザーは、標準的なユーザーよりハイレベルなサービスが要求されるものとして分類されるユーザーである（例えば、標準的なユーザーは１ヶ月に１００ドルをサービス料として支払い、重要なユーザーは、１ヶ月に５００ドルをハイレベルなサービス料として支払う）。
【００５１】
データパケットの第２セット１３２は、第１アクセスリストに適合しないデータパケットの第１セット１２２から生成される。データパケットの第２セット１３２は、第２アクセスリストモジュール１４０へ送信される。データパケットの第４セット１３６は、第１アクセスリストに適合しないデータパケットの第１セット１２２から生成する。データパケットの第４セット１３６は、基準（例えば、レートリミット）に基づいて、出力モジュール１７０へ送信される。
【００５２】
ある例において、基準はレート制御である。レート制御は、レートリミットであってもよい。レートリミットはパケットレートリミット（例えば、１分あたり千パケット）、バイトレートリミット（例えば、１秒あたり１万バイト）、定常状態のレートリミット（例えば、１秒あたり平均１万バイト）、及び／又は、バーストリミット（例えば、ある１秒において最大５百万バイト）であってもよい。レートリミットは、例えば、設定時間中のデータ量（例えば、１秒あたり百データパケット、１秒あたり千データパケット）である。
【００５３】
第１アクセスリストモジュール１３０は、出力モジュール１７０へ送信されないデータパケットの第４セット１３６を含むデータパケットの第６セット１３４を生成する。データパケットの第６セット１３４は、例えば、番号データパケット、データパケットの第４セットの一部、又は、データパケットの第４セットの全部を含んでいる。出力モジュール１７０へ送信されないデータパケットの第４セット１３６は、第１アクセスリストモジュール１３０の基準外である。
【００５４】
例えば、出力モジュール１７０へのデータパケットの第４セットの送信のためのレートリミットは、１秒あたり１５０データパケットである。データパケットの第４セット１３６は、１秒あたり２００データパケットのレートでサイズが増大する（すなわち、データパケットの第１セット１２２が第１アクセスリストに適合するデータパケットを含んでいる）。１秒あたり２００データパケットの入力パケット流と１５０データパケットのレートリミットとの差により、出力モジュール１７０へ送信されない１秒あたり５０データパケットの過剰分が生じる。この１秒あたり５０データパケットの過剰分がデータパケットの第６セット１３４を構成する。
【００５５】
データパケットの第６セット１３４は、攻撃識別モジュール１６０へ送信される。攻撃識別モジュール１６０は、ネットワークの攻撃者を識別するためにデータパケットの第６セット１３４を分析する。分析は、例えば、ネットワークアドレス及び／又はネットワークサブネットから受信されたデータパケットの数の計算、データパケットの数の攻撃番号リストへの追加、及び、出力モジュール１７０へ送信されない最大データパケット数を有するネットワークアドレス及び／又はネットワークサブネットを特定するためのデータパケットの数による攻撃番号リストの分類を含む。例えば、データパケットの第６セット１３４はＩＰサブネットアドレス１０．９９．９９．０からの１０００００データパケットを含んでいる。攻撃識別システム１６０は、ＩＰサブネットアドレス１０．９９．９９．０から受信したデータパケットの数を計算する。計算した１０万ものデータパケットは攻撃番号リストへ追加される。攻撃番号リストは、攻撃番号リストの最大数である１０００００データパケットに対応するＩＰサブネットアドレス１０．９９．９９．０を示す数字によって分類される。
【００５６】
攻撃識別システム１６０による分析は、例えば、攻撃番号リストに対応する攻撃識別モジュール１６０における番号アクセスリストエントリーの生成を含む。番号アクセスリストエントリーの生成は、例えば、攻撃番号リストの最高エントリー及び／又は攻撃番号リストのエントリー（例えば、上位５エントリー、上位１０エントリー）の最高セット数の生成を含む。番号アクセスリストエントリーは、番号アクセスリストモジュール１２０へ送信され、番号アクセスリストエントリーは番号アクセスリストモジュール１２０において番号アクセスリストに追加される。番号アクセスリストエントリーは、ネットワークアドレス及び／又はネットワークサブネットからの現在及び／又は未来の攻撃を防御するために、番号アクセスリストへ追加される。攻撃識別モジュール１６０のフィードバック機構を通した番号アクセスリストへのエントリーの追加の利点は、番号アクセスリストがシステム１００への現在の危機へ対応するために動的に更新され得ることである。番号アクセスリストエントリーは、例えば、番号アクセスリストへ手作業で（例えば、防御システム１０５のための管理モジュールと交流する送信デバイスを用いること等により）追加することができる。
【００５７】
データパケットの第２セット１３２は、第２アクセスリストモジュール１４０へ送信される。第２アクセスリストモジュール１４０は、第２アクセスリストを用いたデータパケットの第２セット１３２を分析する。第２アクセスリストは、例えば、どのデータパケットが出力モジュール１７０へ送信されることを許されるかを示す識別リストを含んでいる。識別リストは、低周波数帯域幅ユーザーに対応する識別情報、標準的なユーザーに対応する識別情報、データパケットに対応するフィールド、及び／又は、データパケットに対応するメタデータを含んでいる。低周波数帯域幅ユーザーは、平均の又はほぼ平均の数のデータパケットを出力モジュールへ送信するユーザーである（例えば、平均的なユーザーは１日に１０００データパケットを送信し、低周波数帯域幅ユーザーは１日に９００データパケットを送信する）。標準的なユーザーは、標準的なサービスが要求されるものとして分類されるユーザーである（例えば、標準的なユーザーは１ヶ月に１００ドルをサービス料として支払い、重要なユーザーは、１ヶ月に５００ドルをハイレベルなサービス料として支払う）。
【００５８】
ある例において、ハッシングは、異なったアドレスに対して同一のｂｉｎ識別及びユーザーの署名を生成する。例えば、アドレス１０．５．５．５及び１０．９．９．９は、ハッシングされてｂｉｎ識別及びユーザーの署名を生成する。両アドレスのためのｂiｎ識別はＡであり、両アドレスのためのユーザーの署名はＨＬＦ３４２である。アドレス１０．５．５．５がハッシングされ、ユーザーの署名ＨＬＦ３４２がｂｉｎ識別Ａに対応するｂｉｎに追加される場合、アドレス１０．９．９．９のデータパケットが第２アクセスリストモジュール１４０において処理されるとき、データパケットはアドレス１０．５．５．５に対応するｂｉｎ識別及びユーザーの署名に適合する。第２アクセスリストモジュール１４０におけるｂｉｎ識別及びユーザーの署名は、他のアドレス１０．５．５．５からのものであるが、アドレス１０．９．９．９のデータパケットがｂｉｎ識別及びユーザーの署名に適合する。例示したシステム１００の利点は、ｂｉｎ識別及びユーザーの署名の緩やかな適合であり、そこでは、複数のアドレスが同一のｂｉｎ識別及びユーザーの署名を持つことができるが、それより、より素早い適合時間及び低適合コストの方が重要である。また、それにより緩やかな適合に対応して記憶の必要性が減る。
【００５９】
ハッシングは、例えば、１つのアドレスがシステムのユーザーに対応（例えば、ユーザーに対応する情報が第２アクセスリストにおけるエントリーである）するとき、及び、第２アドレスがシステムのユーザーに対応しない（例えば、攻撃者、不正ユーザー、非登録ユーザー）とき、異なったアドレスのための同一のｂｉｎ識別及びユーザーの署名を生成することができる。例えば、アドレス１０．５．５．５のためのハッシングされたｂｉｎ識別及びユーザーの署名は、第２アクセスリストに存在する（例えば、システムのユーザー）。アドレス１０．９．９．９からであって、システムのユーザーからではないデータパケットは、ハッシングされて、ｂｉｎ識別及びユーザーの署名を生成する。両アドレスのためのｂiｎ識別はＡであり、両アドレスのためのユーザーの署名はＨＬＦ３４２である。アドレス１０．５．５．５がハッシングされ、ユーザーの署名ＨＬＦ３４２がｂｉｎ識別Ａに対応するｂｉｎに追加される場合、アドレス１０．９．９．９のデータパケットが第２アクセスリストモジュール１４０において処理されるとき、データパケットはアドレス１０．５．５．５に対応するｂｉｎ識別及びユーザーの署名に適合する。第２アクセスリストモジュール１４０におけるｂｉｎ識別及びユーザーの署名は、他のアドレス１０．５．５．５からのものであるが、アドレス１０．９．９．９のデータパケットがｂｉｎ識別及びユーザーの署名に適合する。このように、システムのユーザーに対応しないデータパケットが第２アクセスリストに適合する。しかしながら、適合の発生する機会は低い（例えば、１０億分の１）。例示したシステム１００の利点は、攻撃者（システムのユーザーではない）が少量のアドレスを用いて大量のパケットを生成したとき、署名において適合する攻撃者のアドレスと同一のｂｉｎのユーザーのみが攻撃を受け、システムのその他のユーザーは誤った適合による影響を受けない。
【００６０】
第２アクセスリストは、例えば、索引付けされた複数のリストである。索引付けされた複数のリストは、インデックスによって互いに対応する複数のリストである。索引付けされた複数のリストを有する例示のシステム１００の利点は、第２アクセスリストが、アクセス時間に比例して増加しない第１アクセスリストより多くのアクセスリストエントリーを含むことができる。第２アクセスリストは、例えば、送信元アドレス、受信アドレス、進入インタフェース、パケットフィールド、パケットメタデータ、及び／又は、それらのハッシングを用いて索引付けされる。例えば、１６０００の比較をした１６０００のエントリーを有する単一リストが、各リストにした１７の比較（例えば、正しいリストを検索するインデックスのための１つの比較及びリストのエントリーのための１６の比較）による１６エントリーの１０００リストで構成される。例えば、２０００の比較をした２０００のエントリーを有する単一リストが、各リストにした３つの比較の平均（例えば、正しいリストを検索するインデックスのための１つの比較及びリストのエントリーのための２つの比較の平均）による２つのエントリーの平均の１０００リストで構成される。比較の数は一例であり、当業者であれば公知の検索方法（例えば、リスト検索、二分検索、補間検索、ツリー検索、グラフ検索）を理解するであろう。索引作業（例えば、バブル選別、二分ツリー選別、クイック選別、バケット選別）は、システム１００の検索及び検索時間の改善のために実行することができる。
【００６１】
ある例において、第２アクセスリストは、データパケットに対応するフィールド、データパケットに対応するメタデータ、それらのハッシング、又は、それらの組み合わせを用いて索引付けされる。例えば、第２アクセスリストは、ＩＰアドレス１０．１０．１０．１０及びＩＰアドレス１０．９９．９９．９９を含んでいる。ハッシングされた送信元アドレスは、それぞれＧＨ１及びＧＨ２である。第２アクセスリストはハッシングされた送信元アドレスによって索引付けされる。第２アクセスリストが第１データパケットに適合するものがあるか否かを特定するために第２アクセスリストモジュール１４０によって分析されるとき、第１データパケットの送信元アドレス１０．１０．１０．１０はＧＨ１にハッシングされる。ハッシングによるＧＨ１は、第２アクセスリストのインデックスと比較される。第２アクセスリストのインデックスが第１データパケットと同様のハッシングによるＧＨ１を含んでおり、エントリーのＩＰアドレス１０．１０．１０．１０が第１データパケットの送信元アドレス１０．１０．１０．１０に適合するため、適合があれば検出される。従って、第１データパケットは許容され、レート制御を用いて出力モジュール１７０へ送信されるデータパケットの第５セットの一部又は全部となる。
【００６２】
データパケットの第３セット１４２は、第２アクセスリストに適合しないデータパケットの第２セット１３２から生成される。データパケットの第３セット１４２は、送信モジュール１５０へ送信される。データパケットの第５セット１４６は、第２アクセスリストに適合しないデータパケットの第２セットから生成される。データパケットの第５セット１４６は、基準（例えば、レートリミット）に基づき、出力モジュール１７０に送信される。第２アクセスリストモジュール１４０は、出力モジュール１７０へ送信されないデータパケットの第５セット１４６を含むデータパケットの第７セット１４４を生成する。データパケットの第７セット１４４は、例えば、番号データパケット、データパケットの第５セット１４６の一部、又は、データパケットの第５セット１４６の全部を含んでいる。出力モジュール１７０に送信されないデータパケットの第５セット１４６は、第２アクセスリストモジュール１４０の基準外にある。データパケットの第７セット１４４は、分析のために攻撃識別システム１６０へ送信される。
【００６３】
データパケットの第３セット１４２は、送信モジュール１５０へ送信される。送信モジュール１５０は、基準（例えば、レートリミット）に基づき、送信モジュール１５０が出力モジュール１７０へ送信するデータパケットの第８セット１５６を生成する。送信モジュール１５０は、出力モジュール１７０へ送信されないデータパケットの第８セット１５６を含むデータパケットの第９セット１５４を生成する。データパケットの第９セット１５４は、例えば、番号データパケット、データパケットの第８セット１５６の一部、又は、データパケットの第８セット１５６の全部を含んでいる。出力モジュール１７０に送信されないデータパケットの第８セット１５６は、送信モジュール１５０の基準外にある。データパケットの第９セット１５４は、分析のために攻撃識別システム１６０へ送信される。例示したシステム１００の利点は、送信モジュール１５０が、番号アクセスリスト、第１アクセスリスト又は第２アクセスリストによって適合されないパケットが攻撃者に他のユーザーの出力モジュール１７０へのアクセスを減少又は停止させないようにする基準（例えば、レート制御）に基づき出力モジュール１７０へ送信されるのを許容することである。
【００６４】
ある例において、第１アクセスリストモジュール１３０、第２アクセスリストモジュール１４０、及び、送信モジュール１５０におけるデータパケットの送信の基準は同一である（例えば、第１アクセスリストモジュール１３０、第２アクセスリストモジュール１４０、及び、送信モジュール１５０は１秒あたり１００バイトのレートリミットを使用している）。第１アクセスリストモジュール１３０、第２アクセスリストモジュール１４０、及び、送信モジュール１５０におけるデータパケットの送信の基準は、例えば、各モジュールの能力及びコストの制限によってそれぞれ異なっている（例えば、第１アクセスリストモジュール１３０は１秒あたり１０００バイトのレートリミットを使用し、第２アクセスリストモジュール１４０は１秒あたり５００バイトのレートリミットを使用し、送信モジュール１５０は１秒あたり１００バイトのレートリミットを使用している）。
【００６５】
図２は、番号アクセスリストモジュール２０５を通してデータパケットをフィルタリングするシステム２００の例を示す機能ブロック図である。システム２００は、番号アクセスリストモジュール２０５、攻撃識別モジュール１６０、第１アクセスリストモジュール１３０及び廃棄モジュール１２５を備えている。データパケットは、番号リストモジュール２０５によって受信される。番号リストモジュールは、番号アクセスリスト２１０を備えている。番号アクセスリスト２１０は、１又はそれ以上の番号アクセスリストエントリー２１１ａ、２１１ｂ、２１１ｃ、２１１ｄ、２１１ｅ、２１１ｆ及び２１１ｇ（概して２１１）を備えている。番号アクセスリストエントリー２１１は、どのデータパケットが出力モジュール１７０へ送信することを許されないのかを示す識別リストである。例えば、番号アクセスリストエントリー２１１は、表１に示される。
【００６６】
【表１】
2011503912.tif 000003
【００６７】
番号アクセスリストモジュール２０５で受信されたデータパケットは、番号アクセスリスト２１０を用いて分析される。データパケットが番号アクセスリストエントリー（例えば２１１ａ）に適合していると、データパケットは廃棄モジュール１２５へ送信される。データパケットが番号アクセスリストエントリー（例えば２１１ａ）に適合していなければ、データパケットは第１アクセスリストモジュール１３０へ送信される。適合は、データパケットに対応する情報の一部又は全部の比較を含んでいる（例えば、ＩＰアドレス、ＭＡＣアドレス、及び／又は、ネットワークアドレス）。例えば、ＩＰアドレス１０．９８．２３．２のデータパケットは、番号アクセスリストモジュール２０５で受信される。データパケットは、番号アクセスリスト２１０を用いて分析される。分析は、ＩＰアドレス１０．９８．２３．２のデータパケットの番号アクセスリスト２１０におけるエントリー２１１との比較を含んでいる。分析では、ＩＰアドレス１０．９８．２３．２のデータパケットを、番号アクセスリストエントリー２１１と比較する。番号アクセスリストエントリーＥ２１１ｅは、ネットワークサブネット１０．９８．０．０である。ＩＰアドレス１０．９８．２３．２のデータパケットに対応する情報が番号アクセスリストエントリーＥ２１１ｅのネットワークサブネット１０．９８．０．０の一部として適合すると、データパケットが番号アクセスリストエントリーＥ２１１ｅに適合する。ＩＰアドレス１０．９８．２３．２のデータパケットは、データパケットが廃棄される廃棄モジュール１２５へ送信される。
【００６８】
番号アクセスリスト２１０は、攻撃識別モジュール１６０から番号アクセスリストエントリー（例えば、２１１ａ）を受信することによって追加される。攻撃識別モジュール１６０は、番号アクセスリスト２１０へ追加するため番号アクセスリストモジュール２０５に送信される番号アクセスリストエントリー（例えば、２１１ａ）を生成する。例えば、攻撃識別モジュール１６０は、ネットワークアドレス１０．１５６．１９９．１９９を攻撃者として分類する。攻撃識別モジュール１６０は、情報、ネットワークアドレス１０．１５６．１９９．１９９から番号アクセスリストエントリー（例えば、２１１ｇ）を生成する。番号アクセスリストエントリー（例えば、２１１ｇ）は、番号アクセスリストエントリー（例えば、２１１ｇ）を番号アクセスリスト２１０へ追加する番号アクセスリストモジュール２０５へ送信される。番号アクセスリスト２１０は、例えば、番号アクセスリストエントリー２１１を追加、削除及び／又は修正するために、管理モジュールを通してユーザーにより修正される。
【００６９】
図３は、第１アクセスリストモジュール３０５を通してデータパケットをフィルタリングするシステム３００の例を示す機能ブロック図である。システム３００は、第１アクセスリストモジュール３０５、送信モジュール３２０ａ、３２０ｂ、３２０ｃ、３２０ｄ及び３２０ｅ（概して３２０）、攻撃識別モジュール１６０、出力モジュール１７０、第２アクセスリストモジュール１４０、及び、入場制御モジュール３３０を備える。データパケットは第１アクセスリストモジュール３０５によって受信される。第１アクセスリストモジュールは、第１アクセスリスト３１０を備えている。第１アクセスリストは、１又はそれ以上の第１アクセスリストエントリー３１１ａ、３１１ｂ、３１１ｃ、３１１ｄ及び３１１ｅ（概して３１１）を備えている。第１アクセスリストエントリー３１１は、どのデータパケットが出力モジュール１７０への送信が許されるのかを示す識別リストである。例えば、第１アクセスリストエントリー３１１は、表２に示される。
【００７０】
【表２】
2011503912.tif 000004
【００７１】
第１アクセスリストモジュール３０５で受信されたデータパケットは、第１アクセスリスト３１０を用いて分析される。データパケットが第１アクセスリストエントリー（例えば３１１ａ）に適合すると、データパケットは送信モジュール３２０へ送信される。送信モジュール３２０はデータパケットを基準（例えばレートリミット）に基づき出力モジュール１７０へ送信する。
【００７２】
例示のシステム３００は、各第１アクセスリストエントリー３１１が１つの送信モジュール３２０に接続しており、１以上の第１アクセスリストエントリー３１１が１つの送信モジュール３２０に接続可能であることを示している（例えば、出力モジュール１７０への送信のために、第１アクセスリストエントリーＡ３１１ａ及び第１アクセスリストエントリーＢ３１１ｂが許容されたデータパケットを送信モジュールＡ３２０ａに送信する）。ある例において、１又はそれ以上の第１アクセスリストエントリー３１１は互いに対応し、対応した第１アクセスリストエントリー３１１に適合するデータパケットが１つの送信モジュール３２０へ送信される。対応は、例えば、ネットワークサブネット、顧客に関連するユーザー（例えば、ビジネス顧客に関連するモバイルユーザー）、及び／又は、他のタイプの識別対応からのデータパケットであってもよい。例示のシステム３００の利点は、対応した第１アクセスリストエントリー３１１に適合するデータパケットが、（例えば、コストや性能の制限のために）対応したエントリーに適した基準を用いた送信を許容する同一の基準（例えばレートリミット）を用いて送信されることである。
【００７３】
データパケットが基準外（例えば、レート制御が１秒あたり１０パケットのレートリミットであり、データパケットがレートを１秒あたり１１パケットにする）であれば、データパケットは攻撃識別モジュール１６０へ送信される。データパケットが第１アクセスリストエントリー３１１に適合しなければ、データパケットは第２アクセスリストモジュール１４０へ送信される。適合は、データパケットに対応する情報（例えば、ＩＰアドレス、ＭＡＣアドレス、及び／又は、ネットワークアドレス）の一部又は全部の比較を含んでいる。
【００７４】
例えば、ＩＰアドレス１０．１４．１５．２のデータパケットは、第１アクセスリストモジュール３０５で受信される。データパケットは、第１アクセスリスト３１０を用いて分析される。分析は、ＩＰアドレス１０．１４．１５．２のデータパケットに対応する情報と第１アクセスリスト３１０における第１アクセスリストエントリー３１１との比較を含んでいる。第１アクセスリストエントリーＢ３１１ｂは、ネットワークサブネット１０．１４．１５．０である。ＩＰアドレス１０．１４．１５．２のデータパケットに対応する情報が第１アクセスリストエントリーＢ３１１ｂのネットワークサブネット１０．１４．１５．０の一部として適合すると、データパケットは、第１アクセスリストエントリーＢ３１１ｂに適合する。ＩＰアドレス１０．１４．１５．２のデータパケットは、送信モジュールＢ３２０ｂへ送信される。送信モジュールＢ３２０ｂは、データパケットの出力モジュール１７０への送信のレート制御を行う。送信のレート制御は、１秒あたり１００データパケットのレートリミットであり、データパケットが送信モジュールＢ３２０ｂへ送信されるとき、レートは１秒あたり８０データパケットである。レートがレートリミット未満であれば、データパケットは送信モジュールＢ３２０ｂによって出力モジュール１７０へ送信される。しかしながら、レートがレートリミットを超えていれば、データパケットは送信モジュールＢ３２０ｂによって攻撃識別モジュール１６０へ送信される。
【００７５】
例えば、ＩＰアドレス１０．１０．１５．２のデータパケットが第１アクセスリストモジュール３０５で受信される。データパケットは第１アクセスリスト３１０を用いて分析される。分析は、ＩＰアドレス１０．１０．１５．２のデータパケットに対応する情報と第１アクセスリスト３１０におけるエントリーとの比較を含んでいる。分析では、ＩＰアドレス１０．１０．１５．２のデータパケットを、第１アクセスリストエントリー３１１と比較する。データパケットはどの第１アクセスリストエントリー３１１にも適合しない。ＩＰアドレス１０．１０．１５．２のデータパケットは、第２アクセスリストモジュール１４０へ送信される。
【００７６】
第１アクセスリスト３１０は、入場制御モジュール３３０からの要求を受信することで修正される。入場制御モジュール３３０は、記憶されたユーザーの署名が修正される前に（例えばログイン及びパスワード）、鑑定の合格を要求する。修正は、例えば、第１アクセスリストエントリーの追加、削除及び／又は編集である。入場制御モジュール３３０は、ユーザーからのサービスの要求を受信する。入場制御モジュール３３０は、サービスの要求を処理し、サービスの要求に対応した情報から第１アクセスリストエントリーを生成する。例えば、サービスの要求は、出力モジュール１７０と通信するＩＰ電話のためのものである。ＩＰ電話に対応するユーザーは、入場制御モジュール３３０によって高周波数帯域幅ユーザーとして分類され、入場制御モジュール３３０がサービスの要求に対応した情報（例えば、ＭＡＣアドレス１０：０１：０５：０５：０５：０５）から第１アクセスリストエントリーを生成する。第１アクセスリストエントリーは、高周波数帯域幅ユーザーのＩＰ電話のためのＭＡＣアドレスである。入場制御モジュール３３０は、第１アクセスリストエントリーを、第１アクセスリストエントリーが追加される第１アクセスリスト３１０へ送信する。
【００７７】
入場制御モジュール３３０は、例えば、第１アクセスリストエントリーがユーザーに対して存在しているか否か特定するため第１アクセスリストエントリー３１１をチェックすることにより、サービスの要求を処理することができる。第１アクセスリストエントリー３１１がユーザーに対して存在していれば、エントリーは編集又は追加することができる。例えば、サービスの要求は、出力モジュール１７０と通信するＩＰ電話のためのものである。サービスの要求に対応したユーザーは、入場制御モジュール３３０によって高周波数帯域幅ユーザーとして分類され、第１アクセスリスト３１０のチェックで、入場制御モジュール３３０がユーザーが既に第１アクセスリストエントリー３３１３を有していることを特定する。サービスの要求に対応した情報は、ユーザーが、ユーザーの既存のＩＰ電話を、サービスの要求における情報に対応した新しいＩＰ電話に置き換えていることを入場制御モジュール３３０に教える。入場制御モジュール３３０は、サービスの要求に対応した情報を含むように、既存の第１アクセスリストエントリーＣ３１１ｃをユーザーのために編集する。
【００７８】
図４は、第２アクセスリストモジュール４０５を通してデータパケットをフィルタリングするシステム４００の例を示す機能ブロック図である。システム４００は、第２アクセスリストモジュール４０５、インデックスモジュール４１０、ｂｉｎモジュールＡ４２０ａ、ｂｉｎモジュールＢ４２０ｂ、ｂｉｎモジュールＡ送信モジュール４３０ａ、ｂｉｎモジュールＢ、送信モジュール４３０ｂ、攻撃識別モジュール１６０、出力モジュール１７０、送信モジュール１５０、及び、入場制御モジュール３３０を備える。データパケットは第２アクセスリストモジュール４０５によって受信される。データパケットは、インデックスモジュール４１０で受信される。インデックスモジュール４１０は、ｂｉｎ識別（例えば、Ａ０、Ａ１、Ｂ２、Ａ２３Ｈ、Ｈ２３、Ｂ２３２３４ＨＦＬ、ＢＣ４３５３）及びユーザーの署名（例えば、ＨＦＬＧＤＬＳＫＤ、ＢＣ４３２４２３５２３、ＨＦＧ２２３１、ＡＤＦ６５、ＷＥＲ９８）を生成するために、データパケットのフィールドを用いてデータパケットをハッシングする。ある例において、ｂｉｎ識別は、ｂｉｎの数（例えば、１、２、３、４、５）である。ユーザーの署名は、例えば、より速いアクセスのため、均一のサイズであってもよい（例えば、Ａ１２３４、Ｂ１２３４、Ｃ２３４５、Ｄ３２４２、Ｅ３２４４）。
【００７９】
パケットデータのフィールドは、例えば、ポート番号、イーサネット（登録商標）ヴァーチャルローカルエリアネットワーク（ＶＬＡＮ）タグ、データパケットに対応するメタデータ、レシーバインタフェース、インカミング論理ＩＰアドレス、送信元ＩＰアドレス（例えば、１０．１０．１０．１０）、宛先ＩＰアドレス（例えば、１０．５．５．５）、送信元ＭＡＣアドレス（例えば、１０：０１：０２：０５：０５：０１）、及び／又は、宛先ＭＡＣアドレスである。インデックスモジュール４１０は、例えば、データパケットに対応する１以上のフィールドを用いてデータパケットをハッシングすることができる。
【００８０】
ｂｉｎ識別は、複数のｂｉｎに含まれた第１ｂｉｎ（例えば、ｂｉｎモジュールＡ４２０ａ又はｂｉｎモジュールＢ４２０ｂ）にユーザーの署名（例えば、ＨＦＬＧＤＬＳＫＤ）を対応させるために、インデックスモジュール４１０によって処理される。システム４００は、２つのｂｉｎモジュール４２０ａ及び４２０ｂで示されるが、他の例として、ｂｉｎモジュールの数はどのようなものでもよい（例えば、３、４、１０、２０、１００、１０００、１００００）。ｂｉｎ識別によりユーザーの署名が第１ｂｉｎへ対応していないとき、ｂｉｎ識別に対応するデータパケットは送信モジュール１５０へ送信される。第１ｂｉｎ４２０ａ又は４２０ｂは、ユーザーの署名（例えば、ＨＦＬＧＤＬＳＫＤ）を、それぞれ第１ｂｉｎ４２０ａ又は４２０ｂに対応する、０又はそれ以上の記憶されたユーザーの署名（４２１ａ、４２１ｂ、４２１ｃ、４２１ｄ、４２１ｅ、４２２ａ、４２２ｂ、４２２ｃ、４２２ｄ、概して４２１及び４２２）と比較する。例えば、記憶されたユーザーの署名４２１及び４２２は、表３に示さる。
【００８１】
【表３】
2011503912.tif 000005
【００８２】
記憶されたユーザーの署名４２１及び４２２は、例えば、第１ｂｉｎとメモリアドレスによってリンクされ、第１ｂｉｎに対応するメモリに論理的及び／又は他の態様のコンピュータ読み取り可能な記憶装置に記憶されてもよい。ある例において、ユーザーの署名のサイズは、例示のシステム４００の目的により様々である。例示のシステム４００の目的は、例えば、より多くのユーザーの署名（例えば、ＨＡＦＡＤＡＷＥＣ２３１４２）を要求するきめ細かなフィルタリング（例えば、許容された各データパケットに正確な適合を要求し、誤った適合の可能性がより少ないことを要求する）、又は、より少ないユーザーの署名（例えば、ＨＦＡ１）を要求する緩いフィルタリング（例えば、第１ｂｉｎに対応するデータパケットの割合だけに適合することを要求し、署名の記憶は規制され、適合速度が重要である）である。緩いフィルタリングは、例えば、第２アクセスリストモジュール４０５に記憶されたユーザーの数が、１又はそれ以上の記憶されたユーザーの署名４２１及び４２２のサイズの減少によって増加するときに用いられる。サイズの減少によって、ｂｉｎモジュール４２０ａ及び４２０ｂがデータパケットをより速く、且つ、１署名あたり低メモリコストで処理することが可能となる。より速い処理及びメモリ使用量の減少の代償としては、より多いユーザーの署名（例えば４２１e）に比べて、より少ないユーザーの署名（例えば４２２a）が、誤った適合をより多く引き起こすことがある（例えば、データパケットが該システムのユーザーに対応していないとき、データパケットに対応するユーザーの署名が記憶されたユーザーの署名４２１及び４２２に対応する）。例示のシステム４００の利点は、ユーザーの署名のサイズがシステム４００のコストや能力に係る必要性に従って変化できることである。
【００８３】
ユーザーの署名が記憶されたユーザーの署名４２１及び４２２の１つに適合しないとき、データパケットは送信モジュール１５０へ送信される。ユーザーの署名が記憶されたユーザーの署名４２１及び４２２の１つに適合するとき、データパケットは第１ｂiｎ送信モジュール４３０a又は４３０ｂへ送信される。
【００８４】
例示のシステム４００は、１つの送信モジュール４３０a及び４３０ｂに接続した各ｂiｎモジュール４２０a及び４２０ｂを示しているが、１以上の各ｂiｎモジュール４２０a及び４２０ｂは、例えば、１つの送信モジュール４３０a及び４３０ｂに接続可能である（例えば、ｂiｎモジュール４２０a及び４２０ｂは、出力モジュール１７０への送信のために、データパケットのｂiｎモジュールＡ送信モジュールＡ４３０aへの送信を許容する）。ある例において、各記憶されたユーザーの署名４２１及び４２２は、送信モジュール４３０ａ又は４３０ｂの１つに接続されている（例えば、ユーザーの署名ＡＡ４２１ａ、ＡＢ４２１ｂ、及び、ＡＣ４２１ｃは、それぞれ個別の送信モジュール４３０ａ又は４３０ｂへ接続されている）。ある例において、１又はそれ以上の記憶されたユーザーの署名４２１及び４２２は、互いに対応し、対応した記憶されたユーザーの署名４２１及び４２２に適合するデータパケットが１つの送信モジュール４３０へ送信される。対応は、例えば、ネットワークサブネット、顧客に関連するユーザー（例えば、ビジネス顧客に関連するモバイルユーザー）、及び／又は、他のタイプの識別対応からのデータパケットであってもよい。例示のシステム４００の利点は、対応した記憶されたユーザーの署名４２１及び４２２に適合するデータパケットが、（例えば、コストや性能の制限のために）対応したユーザーの署名に適した基準を用いた送信を許容する同一の基準（例えばレートリミット）を用いて送信されることである。
【００８５】
第１ｂｉｎ送信モジュール４３０ａ又は４３０ｂは、データパケットを基準（例えば、レートリミット）に基づき出力モジュール１７０へ送信する。データパケットが第１ｂｉｎ送信モジュール４３０ａ又は４３０ｂへ送信され、基準により出力モジュール１７０へ送信されないと、データパケットは攻撃識別モジュール１６０へ送信される。
【００８６】
例えば、データパケットは、インデックスモジュール４１０によって受信される。データパケットはＩＰアドレス１０．１０．５．５を有する。インデックスモジュール４１０は、データパケットをハッシングしてｂｉｎ識別Ａ及びユーザーの署名ＦＦＦ１２３４５６を生成する。インデックスモジュール４１０は、ｂｉｎ識別Ａを処理して、ユーザーの署名ＦＦＦ１２３４５６をｂｉｎモジュールＡ４２０aに対応させる。ｂｉｎモジュールＡ４２０aは、ユーザーの署名ＦＦＦ１２３４５６を、ｂｉｎモジュールＡ４２０aに対応する０又はそれ以上の記憶されたユーザーの署名４２１と比較する。ユーザーの署名ＦＦＦ１２３４５６はｂｉｎモジュールＡ４２０aに対応するユーザーの署名ＡＭ４２１ｃに適合する。適合するユーザーの署名ＦＦＦ１２３４５６に対応するデータパケットは、ｂｉｎモジュールＡ送信モジュール４３０aへ送信される。ｂｉｎモジュールＡ送信モジュール４３０aは、データパケットを基準（例えば、レートリミット）に基づいて出力モジュールへ送信する。基準は、レート制御であり、レート制御は、１秒あたり１０００パケットのレートリミットである。ｂｉｎモジュールＡ送信モジュール４３０aのレートは、データパケットがｂｉｎモジュールＡ送信モジュールで受信されるとき、１秒あたり９００パケットである。ｂｉｎモジュールＡ送信モジュール４３０ａのレートがレートリミット未満であるとき、データパケットは出力モジュール１７０へ送信される。
【００８７】
ｂｉｎモジュール４２０ａ及び４２０ｂが入場制御モジュール３３０からの要求を受信することで修正される。修正は、例えば、ユーザーの署名の追加、削除及び／又は編集である。入場制御モジュール３３０は、入力モジュール１１０からのサービスの要求を受信する。入場制御モジュール３３０は、サービスの要求を処理し、サービスの要求に対応した情報からｂｉｎ識別及びユーザーの署名を生成する。例えば、サービスの要求は、出力モジュール１７０と通信するＩＰ電話のためのものである。ＩＰ電話に対応するユーザーは、入場制御モジュール３３０によって標準的なユーザーとして分類され、入場制御モジュール３３０がサービスの要求に対応した情報（例えば、ＭＡＣアドレス１０：０１：０５：０５：０５：０５）からｂｉｎ識別及びユーザーの署名を生成する。入場制御モジュール３３０は、ｂｉｎ識別及びユーザーの署名を、インデックスモジュール４１０へ送信する。インデックスモジュール４１０は、ｂｉｎ識別を処理してユーザーの署名をｂｉｎ４２０ａ又は４２０ｂに対応させる。ユーザーの署名は、適合したｂｉｎ４２０ａ又は４２０ｂに送信される。ユーザーの署名は、適合したｂｉｎ４２０ａ又は４２０ｂに追加される。
【００８８】
ある例において、ユーザーの署名（例えば、４２１ａ）の数は、ｂｉｎモジュール４２０ａ及び４２０ｂの容量を超えている。ｂｉｎモジュール４２０ａ及び４２０ｂの容量は、システム４００において、事前に設定したサイズのリミット又は利用するメモリ（揮発性及び／又は不揮発性）に関連したサイズのリミットである。ユーザーの署名４２１及び４２２の数がｂｉｎモジュール４２０ａ及び４２０ｂの容量を超えているとき、容量超ｂｉｎモジュール４２０ａ及び４２０ｂに対応するデータパケットが、データパケットのユーザーの署名を比較することなく、ｂｉｎモジュールＡ送信モジュール４３０ａ又は４３０ｂへ送信される。例示のシステム４００の利点は、ｂｉｎモジュール４２０ａ及び４２０ｂが指定容量を超えて埋められたとき、システムはデータパケットの送信停止（すなわち、フェイル）をせずに、パフォーマンスを緩やかに低下させる。
【００８９】
例示のシステム４００の利点は、複数のｂｉｎモジュールへのエントリーの適合の分配によって、増加したデータパケットを単一リストシステム上で処理することができることである。例示のシステム４００に係る別の利点は、たとえ攻撃者がｂｉｎモジュールの１つに適合したとしても、適合したｂｉｎモジュールがデータパケットの出力をレート制御するため、他のｂｉｎモジュールが、適合したｂｉｎモジュールにおいてトラフィックの増加の影響を受けないことである。例示のシステム４００に係る別の利点は、各ｂｉｎモジュール（例えば、４２０ａ）が何千ものユーザーの署名（例えば、４２１ａ）を含むことができることである。例示のシステム４００に係る別の利点は、誤った適合を許容することによって、システム４００がユーザーの正確なアドレスよりむしろ署名を記憶し適合することができ、それによって、記憶の必要性が減少したときにユーザー数に関してより良い拡張性を達成し、適合速度が増すことである。例示のシステム４００に係る別の利点は、誤った適合を許容することによって、ｂｉｎにおける署名の適合によらずに、システム４００がより効率の良い方法で容量を超えるｂｉｎを処理できることである。
【００９０】
図５は、攻撃を識別するためにデータを処理するシステム５００の例を示す機能ブロック図である。例示のシステム５００は、攻撃識別モジュール５０５を備えている。攻撃識別モジュール５０５は、廃棄処理モジュール５１０、ダイジェストインデックスモジュール５３０、ダイジェストｂiｎモジュールＡ５４０ａ及びダイジェストｂiｎモジュールＢ５４０ｂを備えている。データパケットは、廃棄処理モジュール５１０で受信される。廃棄処理モジュール５１０は、データパケットのために廃棄エントリー（例えば、５１２ａ）を生成する。廃棄処理モジュール５１０は、例えば、環状バッファ、待ち行列、先入れ先出し待ち行列、及び／又は、先入れ後出し待ち行列であってもよい。廃棄エントリー（例えば、５１２ａ）は、ネットワークアドレス、ネットワークサブネットアドレス、ＩＰアドレス、ＭＡＣアドレス、ネットワーキングプロトコルヘッダーフィールド、データパケットに対応するメタデータ、到着インタフェース、宛先インタフェース、及び／又は、オリジネーションインタフェースのようなデータパケットに対応する識別情報を含んでいる。カウントエントリー５１１（例えば、１０、２０、１０００）は、データパケットごとに増加する（例えば、カウントに１つ追加）。カウントエントリー５１１は、例えば、攻撃識別モジュール５０５によって、データパケットがいつ廃棄処理モジュール５１０によって受信されたのかを識別するために用いられても良いが、廃棄エントリー５１２内へは処理されない。例えば、カウントエントリー５１１及び廃棄エントリー５１２の数の違いによって、攻撃識別モジュール５０５が、廃棄処理モジュール５１０が入力データパケットのレートで処理できるかどうかを監視できる。例えば、廃棄処理モジュール５１０は、廃棄エントリーリミット及び／又は記憶容量リミットのために、もうこれ以上廃棄エントリーを受け取れないというとき、満杯となる。例えば、廃棄エントリー５１２ａ、５１２ｂ、５１２ｃ、５１２ｄ及び５１２ｅ（概して５１２）を表４に示す。
【００９１】
【表４】
2011503912.tif 000006
【００９２】
廃棄エントリー（例えば、５１２ａ）は、ダイジェストインデックスモジュール５３０で受信される。廃棄エントリー５１２は、例えば、最も古いエントリーがまず処理される（すなわち、先入れ先出し〔ＦＩＦＯ〕待ち行列）廃棄処理モジュール５１０に追加するために、ダイジェストインデックスモジュール５３０に送信される。ある例において、廃棄エントリー５１２は、最も新しいエントリーがまず処理される（すなわち、先入れ後出し〔ＬＩＦＯ〕待ち行列）廃棄処理モジュール５１０に追加するために、ダイジェストインデックスモジュール５３０に送信される。
【００９３】
ダイジェストインデックスモジュール５３０は、廃棄エントリー（例えば、５１２ａ）の１又はそれ以上のフィールドを用いて廃棄エントリー（例えば、５１２ａ）をハッシングし、ｂｉｎ識別及びユーザーの署名を生成する。ｂｉｎ識別は処理されて、ユーザーの署名が複数の第１ダイジェストｂｉｎモジュールに含まれた第１ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂに対応する。廃棄エントリー（例えば、５１２ａ）は、第１ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂで処理される。ある例において、ダイジェストインデックスモジュール５３０は、廃棄エントリー（例えば、５１２ａ）の１又はそれ以上のフィールドをハッシングして、ｂｉｎ識別を生成し、廃棄エントリー（例えば、５１２ａ）の１又はそれ以上のフィールドをハッシングして、ユーザーの署名を生成する。ダイジェストインデックスモジュール５３０による廃棄エントリー（例えば、５１２ａ）の処理が、処理されたカウント５３２（例えば、１００００）を増加させる（例えば、１）。
【００９４】
第１ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂにおける廃棄エントリー（例えば、５１２ａ）の処理は、廃棄エントリー（例えば、５１２ａ）のユーザーの署名と、第１ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂに対応するダイジェストエントリー５４１ａ、５４１ｂ、５４１ｃ、５４１ｄ、５４１ｅ、５４２ａ、５４２ｂ、５４２ｃ及び５４２ｄ（概して５４１及び５４２）に対応する１又はそれ以上の記憶されたユーザーの署名との比較を含んでいる。廃棄エントリー（例えば、５１２ａ）が、ダイジェストエントリー５４１又は５４２に対応する記憶されたユーザーの署名に適合すると、ヒットカウンター（例えば、下記表５参照）が、適合したユーザーの署名に対応する第１ダイジェストエントリー（例えば、５４１ａ）上で、増加（例えば、１つ）する。
【００９５】
廃棄エントリー（例えば、５１２ａ）が、第１ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂに対応するダイジェストエントリー（例えば、５４１ａ）に対応する記憶されたユーザーの署名の１つに適合しないとき、廃棄エントリー（例えば、５１２ａ）は、ダイジェストエントリー（例えば、５４１ａ）内へ処理され、新しいダイジェストエントリーが第１ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂに追加される。ダイジェストエントリー（例えば、５４１ａ）は、例えば、データパケットに対応した識別情報（例えば、プロトコル）、タイムスタンプ、ユーザーの署名、ヒットカウンター、パケットフィールド、及び／又は、独自性インジケータを備える。パケットフィールドは、送信元ＩＰアドレス、宛先ＩＰアドレス、ＭＡＣアドレス、論理アドレス、ヴァーチャルローカルエリアネットワーク（ＶＬＡＮ）タグ、インタフェースアドレス、及び／又は、他の識別パケットフィールドであってもよい。独自性インジケータは、例えば、ダイジェストエントリー（例えば、５４１ａ）のヒットカウントにおけるデータパケットに対応するフィールドの相対的独自性の数値の測定を含んでいる。例えば、ダイジェストエントリー５４１及び５４２は、表５に示される。
【００９６】
ある例において、独自性インジケータは、ダイジェストエントリー（例えば、５４１a）のヒットカウントにおけるデータパケットに対応する選択フィールドの適合により増加する。独自性インジケータは、例えば、ネットワークアドレス（例えば、１０．１０．１０．ｘ）の最初の３桁の適合である。例えば、ネットワークアドレス１０．１０．１０．１、１０．１０．１０．２、及び、１０．１０．１０．３３のデータパケットが受信されると、ヒットカウントは３つであるが、第２及び第３データパケットの最初の３桁が第１データパケットの最初の３桁と同じであるため、独自性インジケータは０である。例示のシステム５００の利点は、ヒットカウントと独自性インジケータとの違いが、ダイジェストエントリー（例えば、５４１a）に記憶されたイニシャルネットワークアドレスがヒット数を占めるか否かを示すことである。例えば、ヒットカウントが１０００であり、且つ、独自性インジケータが２であるとき、イニシャルネットワークアドレスは、ヒット数の大部分を占めている。しかしながら、ヒットカウントが１０００であり、且つ、独自性インジケータが９００であるとき、イニシャルネットワークアドレスはヒット数の大部分を占めてはいない。
【００９７】
ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂは、例えば、容量（例えば、パーセントリミット又はメモリリミット）を満杯にすることができる。ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂが容量を満たすと、ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂにおける各ダイジェストエントリー５４１又は５４２のタイムスタンプは、それぞれ年齢（例えば、タイムスタンプにより計算される）及び各ダイジェストエントリー５４１又は５４２のヒットカウントを特定するように、及び、ダイジェストエントリー５４１又は５４２を選別して、最も少ないヒット数の最も古いダイジェストエントリー５４１又は５４２を特定するように処理される。最も少ないヒット数の最も古いダイジェストエントリー５４１又は５４２は、ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂから削除され、ダイジェストｂiｎカウントエントリー５１１が増加する。最も古いダイジェストエントリー５４１又は５４２の削除は、ダイジェストインデックスモジュール５３０に記憶された上書きカウント５３６（例えば、５００）を増加させる（例えば、１）。既存のダイジェストエントリー５４１又は５４２の削除により、追加の廃棄エントリー５１２が処理されて、ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂに追加される。
【００９８】
ある例において、最小年齢（例えば、１秒の半分、１秒、５秒、６０秒、１０日、１０時間）が、ダイジェストエントリー５４１又は５４２が最小年齢を下回れば削除されないように、ダイジェストエントリー５４１又は５４２のために設定される。他の例において、最大ヒットカウント（例えば、２００００、１００００）が、ダイジェストエントリー５４１又は５４２が最大ヒットカウントを上回れば削除されないように、ダイジェストエントリー５４１又は５４２のために設定される。ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂの容量が満杯であり、最小年齢を超えず、及び／又は、最大ヒットカウントを超えるダイジェストエントリー５４１又は５４２が無いため、ダイジェストエントリー５４１又は５４２をダイジェストｂｉｎモジュール５４０ａ又は５４０ｂに追加することができないとき、廃棄カウント５３４（例えば、１００）が増加する（例えば、１）。
【００９９】
ダイジェストエントリー５４１又は５４２の削除を許容する例示のシステム５００の利点は、攻撃識別モジュール５０５が、ダイジェストｂｉｎモジュール５４０ａ又は５４０ｂが容量を超えた後でもデータパケットの受信を続けることができることである。削除前に、ダイジェストエントリー５４１又は５４２の年齢とヒットカウントをチェックする例示のシステム５００に係る別の利点は、ｂiｎがすぐに一杯になり、ダイジェストエントリー５４１又は５４２をヒットレートが増加するほどには長く保存できないため、エントリーの持続的な置き換えを抑制することである。処理されたカウント５３２、廃棄カウント５３４、及び、上書きカウント５３６は、例えば、ダイジェストインデックスモジュール５３０のエントリー数及びエントリーがダイジェストインデックスモジュール５３０によってどのように処理（例えば、追加、削除）されているかを識別するために、及び、カウント５３２、５３４及び５３６の変化を分析することによって攻撃の重大性を特定するために用いることができる。廃棄カウント５３４は、例えば、システム５００が攻撃されており、攻撃が少数の（例えば１００）攻撃者からのものであるかどうかを特定するように処理することができる。上書きカウント５３６は、例えば、システム５００が攻撃を受けており、攻撃が多数の（例えば５０００）攻撃者からのものでるかどうかを特定するように処理することができる。
【０１００】
ある例において、第１ダイジェストｂiｎモジュール５４０a又は５４０ｂにおける廃棄エントリー５１２の処理は、廃棄エントリー５１２に対応する１又はそれ以上のフィールドと、各第１ダイジェストｂiｎモジュール５４０a又は５４０ｂに対応するダイジェストエントリー５４１又は５４２に対応する１又はそれ以上の記憶されたパケットフィールドとの比較を含んでいる。例えば、廃棄エントリーＡ５１２ａは、ネットワークアドレス１０．１０．１０．１からのものである。ネットワークアドレス１０．１０．１０．１は、ハッシングされてｂｉｎ識別Ａを生成する。該ｂｉｎ識別は、ダイジェストｂiｎモジュール５４０aに対応する。ネットワークアドレス１０．１０．１０．１は、ダイジェストエントリー５４１に対応する記憶されたパケットフィールドと比較される。廃棄エントリーＡ５１２ａのネットワークアドレス１０．１０．１０．１は、ダイジェストエントリーＡＡ５４１ａのネットワークアドレスに適合する。ダイジェストエントリーＡＡ５４１ａに対応するヒットカウンタは、廃棄エントリーＡ５１２ａの適合するネットワークアドレスを占めるように１つ増加する。
【０１０１】
【表５】
2011503912.tif 000007
【０１０２】
攻撃識別モジュール５０５は、例えば、廃棄処理モジュール５１０、ダイジェストインデックスモジュール５３０、ダイジェストｂｉｎモジュール５４０a及び５４０ｂ、第１アクセスリストモジュール１３０の対応エントリー、第２アクセスリストモジュール１４０、及び、送信モジュール１５０を備えている。攻撃識別モジュール５０５の内部活動の他の態様は、システム５００上の攻撃者の識別の必要性によって形成することができる。
【０１０３】
ある例において、廃棄処理モジュール５１０は複数のダイジェストインデックスモジュール５３０に接続されている。各ダイジェストインデックスモジュール５３０は、廃棄エントリー５１２の異なったフィールド及び／又はフィールドのセットを分析する。各廃棄処理モジュール５１０に対応する複数ダイジェストインデックスモジュール５３０を有するこの例示のシステム５００に係る利点は、攻撃を探知するために、同一の活動における複数の観点から分析することができることである。
【０１０４】
ある例において、攻撃識別モジュール５０５は、複数のｂiｎモジュール５４０a及び５４０ｂにおいて各ダイジェストエントリー５４１及び５４２を処理して、処理された情報のレポートを生成する。リポートは、例えば、システムオペレータへ送信し、及び／又は、ディスプレイ装置で表示してもよい。レポートは、ネットワークアドレス上の処理された情報、送信元アドレス、宛先アドレス、ネットワークインタフェース、ポート、送信元ポート、宛先ポート、及び／又は、ダイジェストエントリー５４１及び５４２に記憶された他の識別情報を含んでいる。
【０１０５】
攻撃識別モジュール５０５は、例えば、複数のｂiｎにおける各ダイジェストエントリー（例えば、５４１a）のタイムスタンプとヒットカウンターを処理することができる。タイムスタンプは、２回又はそれ以上のエントリーを含んでいる。ヒットレートリストは、攻撃識別モジュール５０５によって生成される。ヒットレートリストは、例えば、各ダイジェストエントリー（例えば、５４１a）のエントリーを含んでいる。例えば、エントリーは、現在のタイムスタンプと、各ダイジェストエントリー（例えば、５４１a）におけるタイムスタンプとの間の時間差によって分けられたヒットカウンターを含んでいる。ヒットレートリストは、いくつのパケットが付与時間の間に受信されるかを識別するために用いることができる。
【０１０６】
ある例において、攻撃識別モジュール５０５は、複数のダイジェストｂiｎモジュール５４０a及び５４０ｂにおける各ダイジェストエントリー５４１及び５４２のヒットカウンターとタイムスタンプを処理し、高レートリストを生成する。高レートリストは、各ダイジェストエントリー５４１及び５４２における最新のタイムスタンプと最古のタイムスタンプとの間の違いによって、分けられたヒットカウンターの値を含んでいる。ヒットレートリストは、レートによって選別される。ヒットレートリストは、例えば、システムオペレータ（例えば、出力モジュール１７０のオペレータ）へのレポートを生成するために用いてもよく、及び／又は、レポートは、ディスプレイ装置へ表示されてもよい。ヒットレートリストは、例えば、番号アクセスリストエントリー（例えば、２１１a）を生成するために、攻撃識別モジュール５０５によって用いても良い。番号アクセスリストエントリー（例えば、２１１a）は、番号アクセスリストモジュール２０５で受信される。番号アクセスリストモジュール２０５は、生成された番号アクセスリストエントリーを番号アクセスリスト２１０へ追加する。
【０１０７】
例えば、攻撃識別モジュール５０５は、各ダイジェストエントリー５４１及び５４２のヒットカウンター及びタイムスタンプを処理して、高レートリストを生成する。高レートリストは、表６に示されるように選別される。トップエントリーのダイジェストエントリーＢＦ５４２ｂは、番号アクセスリストエントリー（例えば、２１１a）を生成するために用いられる。番号アクセスリストエントリーは、トップエントリーのネットワークアドレス１０．４５．１３．２３を含んでいる。番号アクセスリストエントリーは、番号アクセスリストモジュール２０５で受信され、番号アクセスリスト２１０へ追加される。ヒットレートリストのトップ５のエントリー５４２ｂ、５４１ｅ、５４２ｃ、５４２ａ及び５４１ｃは、例えば、番号アクセスリストエントリー（例えば、２１１a）を生成するために用いられる。トップエントリーの番号の他の形態は、番号アクセスリストエントリー（例えば、２１１a）を生成するために用いられるものであってもよい。
【０１０８】
【表６】
2011503912.tif 000008
【０１０９】
図６Ａは、コンピュータから送られたデータパケット６００ａの図である。パラメータ６１０ａは、データパケットがどのように検出されて処理されるかを定義する。パラメータ６１０ａは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び／又は、他のタイプのデータパケットパラメータを含んでいる。データ６１５ａは、フォーマットデータ、コンテンツデータ、取引データ、及び／又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス（ＳＭＳ）要求、セッションイニシャルプロトコル（ＳＩＰ）要求、送信要求、終了要求、及び／又は、他のタイプの取引要求への接続情報を含んでいる。
【０１１０】
図６Ｂは、電話から送られたデータパケット６００ｂの図である。パラメータ６１０ｂは、データパケットがどのように検出されて処理されるかを定義する。パラメータ６１０ｂは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び／又は、他のタイプのデータパケットパラメータを含んでいる。データ６１５ｂは、フォーマットデータ、コンテンツデータ、取引データ、及び／又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス（ＳＭＳ）要求、送信要求、終了要求、及び／又は、他のタイプの取引要求への接続情報を含んでいる。
【０１１１】
図６Ｃは、電話から送られたデータパケット６００ｃの図である。パラメータ６１０ｃは、データパケットがどのように検出されて処理されるかを定義する。パラメータ６１０ｃは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び／又は、他のタイプのデータパケットパラメータを含んでいる。データ６１５ｃは、フォーマットデータ、コンテンツデータ、取引データ、及び／又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス（ＳＭＳ）要求、送信要求、終了要求、及び／又は、他のタイプの取引要求への接続情報を含んでいる。
【０１１２】
図６Ｄは、電話から送られたデータパケット６００ｄの図である。パラメータ６１０ｄは、データパケットがどのように検出されて処理されるかを定義する。パラメータ６１０ｄは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び／又は、他のタイプのデータパケットパラメータを含んでいる。データ６１５ｄは、フォーマットデータ、コンテンツデータ、取引データ、及び／又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス（ＳＭＳ）要求、送信要求、終了要求、及び／又は、他のタイプの取引要求への接続情報を含んでいる。
【０１１３】
図６Ｅは、電話から送られたデータパケット６００ｅの図である。パラメータ６１０ｅは、データパケットがどのように検出されて処理されるかを定義する。パラメータ６１０ｅは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び／又は、他のタイプのデータパケットパラメータを含んでいる。データ６１５ｅは、フォーマットデータ、コンテンツデータ、取引データ、及び／又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス（ＳＭＳ）要求、送信要求、終了要求、及び／又は、他のタイプの取引要求への接続情報を含んでいる。
【０１１４】
図６Ｆは、電話から送られたデータパケット６００ｆの図である。パラメータ６１０ｆは、データパケットがどのように検出されて処理されるかを定義する。パラメータ６１０ｆは、送信元アドレス、宛先アドレス、ルーティング情報、プロトコル、及び／又は、他のタイプのデータパケットパラメータを含んでいる。データ６１５ｆは、フォーマットデータ、コンテンツデータ、取引データ、及び／又は、他のタイプのデータを含んでいる。コンテンツデータは、顧客の登録データを含んでいる。取引データは、モジュール、オープンフォーン要求、オープンショートメッセージサービス（ＳＭＳ）要求、送信要求、終了要求、及び／又は、他のタイプの取引要求への接続情報を含んでいる。データパケット６００ａ、６００ｂ、６００ｃ、６００ｄ、６００ｅ及び６００ｆは、入力モジュール１１０から図１の例示のシステム１００へ送信されたデータパケットを記述している。
【０１１５】
図７Ａ及び７Ｂは、図１の例示のシステム１００を通したデータパケットの処理を記述したフローチャート７００である。データパケットは、番号アクセスリストモジュール１２０において入力モジュール１１０から受信される（７１０）。番号アクセスリストモジュール１２０は、データパケットが番号アクセスリストにおいて番号アクセスリストエントリーに適合するかどうかを特定するために、データパケットを分析する（７２０）。データパケットが番号アクセスリストにおいて番号アクセスリストエントリーに適合すると、データパケットが廃棄モジュール１２５で廃棄される（７２５）。データパケットが番号アクセスリストにおいて番号アクセスリストエントリーに適合しなければ、データパケットが第１アクセスリストモジュール１３０へ送信される。第１アクセスリストモジュールは、第１アクセスリストを用いてデータパケットを分析する（７３０）。データパケットが第１アクセスリストにおいて第１アクセスリストエントリーに適合すると、データパケットが第１アクセスリスト送信モジュールへ送信される。第１アクセスリスト送信モジュールは、データパケットのレートを制御する（７３５）。データパケットが第１アクセスリスト送信モジュールのレート制御を超えると、データパケットが攻撃識別モジュール１６０へ送信される。攻撃識別モジュール１６０は、パケットが攻撃者からのものかどうか特定するために、データパケットを分析する（７４５）。データパケットが第１アクセスリスト送信モジュールのレート制御のレートリミット以内であれば、データパケットは出力モジュール１７０へ送信される（７４０）。
【０１１６】
データパケットが第１アクセスリストにおいて第１アクセスリストエントリーに適合しなければ、データパケットが第２アクセスリストモジュール１４０へ送信される。第２アクセスリストモジュール１４０は、第２アクセスリストを用いてデータパケットを分析する（７５０）。データパケットが第２アクセスリストにおいて第２アクセスリストエントリーに適合すれば、データパケットは第２アクセスリストモジュールへ送信される。第２アクセスリストモジュールは、データパケットのレートを制御する（７５５）。データパケットが第２アクセスリスト送信モジュールのレート制御を超えると、データパケットが攻撃識別モジュール１６０へ送信される。攻撃識別モジュール１６０は、パケットが攻撃者からのものかどうか特定するために、データパケットを分析する（７４５）。データパケットが第２アクセスリスト送信モジュールのレート制御のレートリミット以内であれば、データパケットは出力モジュール１７０へ送信される（７４０）。
【０１１７】
データパケットが第２アクセスリストにおいて第２アクセスリストエントリーに適合しなければ、データパケットが送信モジュール１５０へ送信される。送信モジュール１５０は、データパケットのレートを制御する（７６０）。データパケットが送信モジュール１５０のレート制御を超えると、データパケットが攻撃識別モジュール１６０へ送信される。攻撃識別モジュール１６０は、パケットが攻撃者からのものかどうか特定するために、データパケットを分析する（７４５）。データパケットが送信モジュールのレート制御のレート以内であれば、データパケットは出力モジュール１７０へ送信される（７４０）。
【０１１８】
例えば、図２の例示のシステム２００及び図６Ｅのデータパケットを用いて、データパケット６００ｅが受信される（７１０）。番号アクセスリストモジュール２０５は、番号アクセスリスト２１０を用いてデータパケット６００ｅを分析する（７２０）。データパケット６００ｅは、図６Ｅによって記述される。データパケット６００ｅは、送信元アドレス１０．９９．９９．９８を記述するパラメータ６１０ｅ及び出力モジュール１７０におけるボイスオーバーインターネットプロトコル（ＶＯＩＰ）モジュールへの複数回の接続の試行を記述するデータ６１５ｅを含んでいる。表１に示されるような番号アクセスリストは、ネットワークアドレスが１０．９９．９９．９８である番号アクセスリストエントリーＦ２１１ｆを含んでいる。番号アクセスモジュール２０５は、データパケット６００ｅを分析し、データパケット６００ｅの送信元アドレス１０．９９．９９．９８がネットワークアドレス１０．９９．９９．９８の番号アクセスリストエントリーＦ２１１ｆに適合することを特定する。データパケット６００ｅに対応する情報である送信元ネットワークアドレスが番号アクセスリスト２１０のエントリーである番号アクセスリストエントリーＦ２１１ｆに適合すると、データパケット６００ｅは廃棄モジュール１２５へ送信される。廃棄モジュール１２５はデータパケット６００ｅを廃棄する（７２５）。
【０１１９】
例えば、図３の例示のシステム３００及び図６Ｃのデータパケットを用い、第１アクセスリストモジュール３０５は、第１アクセスリスト３１０を用いてデータパケット６００ｃを分析する（７３０）。データパケット６００ｃは、図６Ｃによって記述される。データパケット６００ｃは、送信元アドレス１０．２０．３４．１０を記述するパラメータ６１０ｃ及び出力モジュール１７０におけるボイスオーバーインターネットプロトコル（ＶＯＩＰ）モジュールへの接続の試行及び９４５−５５５−３２１３への電話接続の開放の試行を記述するデータ６１５ｃを含んでいる。表２に示されるような第１アクセスリスト３１０は、ネットワークサブネットアドレスが１０．２０．３４．０である第１アクセスリストエントリーＥ３１１ｅを含んでいる。番号アクセスモジュール１２０は、データパケット６００ｃを分析し（７２０）、データパケット６００ｃが番号アクセスリストのどの番号アクセスリストエントリーにも適合しないことを特定する。データパケット６００ｃがどの番号アクセスリストエントリーにも適合しないと、データパケット６００ｃは第１アクセスリストモジュール３０５へ送信される。第１アクセスリストモジュール３０５は、データパケット６００ｃを分析し、データパケット６００ｃの送信元アドレス１０．２０．３４．１０がネットワークサブネット１０．２０．３４．０の第１アクセスリストエントリーＥ３１１ｅに適合することを特定する。データパケット６００ｃに対応する情報である送信元ネットワークアドレスが第１アクセスリスト３１０のエントリーである第１アクセスリストエントリーＥ３１１ｅに適合すると、データパケット６００ｃはレート制御（７３５）のために送信モジュールＥ３２０ｅへ送信される。送信モジュールＥ３２０ｅは、データパケット６００ｃの送信のレート制御を行う（７３５）。データパケット６００ｃの送信がレート制御を超えると、データパケット６００ｃが分析（７４５）のために攻撃識別モジュール１６０へ送信される。データパケット６００ｃの送信がレート制御以内であれば、データパケット６００ｃは出力モジュール１７０へ送信される。
【０１２０】
例えば、図１の例示のシステム１００及び図６Ａのデータパケット６００ａを用いて、データパケット６００ａが受信される（７１０）。番号アクセスリストモジュール１２０によって、データパケット６００ａが分析される（７２０）。データパケット６００ａは番号アクセスリストのどの番号アクセスリストエントリーにも適合しない。データパケット６００ａは第１アクセスリストモジュール３０５によって分析される（７３０）。データパケット６００ａは第１アクセスリストのどの第１アクセスリストエントリーにも適合しない。データパケット６００ａは第２アクセスリストモジュール１４０によって分析される（７５０）。データパケット６００ａは第２アクセスリストのどの第２アクセスリストエントリーにも適合しない。データパケット６００ａは、出力モジュールへデータパケット６００ａの送信のレート制御（７６０）を行う送信モジュール１５０へ送信される。データパケット６００ａは、レート制御のレート以内であり、出力モジュール１７０へ送信される（７４０）。データパケット６００ａは、アドレス１９２．１６８．１．２３２：８０の入場制御モジュールへ送られる。入場制御モジュールは、データパケット６００ａを処理し、データパケット６００ａが登録顧客電話１０．２０．２．２のデータ６１５ａにおけるサービスの要求を含んでいることを特定する。サービスの要求は、高周波数帯域幅顧客に対応する。入場制御モジュールは、データパケット６００ａにおけるデータ６１５ａからの新しい第１アクセスリストエントリーを生成する。新しい第１アクセスリストエントリーは、ネットワークアドレス１０．２０．２．２を含んでいる。入場制御モジュールは、新しい第１アクセスリストエントリーを第１アクセスリストエントリーを第１アクセスリストに追加する第１アクセスリストモジュール１３０へ送信する。
【０１２１】
例えば、図４の例示のシステム４００及び図６Ｂのデータパケット６００ｂを用いて、データパケット６００ｂが受信される（７１０）。データパケット６００ｂは、番号アクセスリストモジュール１２０によって分析される（７２０）。データパケット６００ｂは、番号アクセスリストのどの番号アクセスリストエントリーにも適合しない。データパケット６００ｂは、第１アクセスリストモジュール１３０によって分析される（７３０）。データパケット６００ｂは第１アクセスリストのどの第１アクセスリストエントリーにも適合しない。データパケット６００ｂは、第２アクセスリストモジュール４０５によって分析される（７５０）。データパケット６００ｂは第２アクセスリストのどの第２アクセスリストエントリーにも適合しない。データパケット６００ｂは、出力モジュールへデータパケット６００ｂの送信のレート制御（７６０）を行う送信モジュール１５０へ送信される。データパケット６００ｂは、レート制御のレート以内であり、出力モジュール１７０へ送信される（７４０）。データパケット６００ｂは、アドレス１９２．１６８．１．２３２：１０２５の入場制御モジュール３３０へ送られる。入場制御モジュール３３０は、データパケット６００ｂを処理し、データパケット６００ｂが登録顧客電話１０．１０．１０．１０のデータ６１５ｂにおけるサービスの要求を含んでいることを特定する。サービスの要求は、標準的な顧客に対応する。入場制御モジュール３３０は、データパケット６００ｂにおけるネットワークアドレス１０．１０．１０．１０のデータ６１５ｂをインデックスモジュール４１０へ送信する。インデックスモジュール４１０は、データパケット６００ｂのネットワークアドレスをハッシングして、ｂｉｎ識別Ｂ及びユーザーの署名ＣＡ４３２を生成する。インデックスモジュール４１０は、ｂｉｎ識別Ｂを処理して、ユーザーの署名をｂｉｎＩＤがＢである第２ｂｉｎ４２０ｂへ対応させる。インデックスモジュール４１０は、ユーザーの署名ＣＡ４３２を第２ｂｉｎ４２０ｂへ送信する。第２ｂｉｎ４２０ｂは、ユーザーの署名を処理して、ユーザーの署名が第２ｂｉｎ４２０ｂにあるかどうかを特定する。ユーザーの署名があれば、第２ｂｉｎ４２０ｂは新しいユーザーの署名を廃棄する。ユーザーの署名がなければ、第２ｂｉｎ４２０ｂは、ユーザーの署名ＣＡ４３２を第２ｂｉｎ４２０ｂへ追加する。
【０１２２】
図８は、図４に例示されたシステム４００の第２アクセスリストモジュール４０５を通したデータパケットの処理を記述したフローチャート８００である。データパケットは、インデックスモジュール４１０で受信される（８１０）。インデックスモジュール４１０は、データパケットをハッシングしてｂｉｎ識別及びユーザーの署名を生成する（８２０）。インデックスモジュール４１０は、ｂｉｎ識別をｂｉｎモジュール４２０ａ又は４２０ｂへ対応させる（８３０）。ｂｉｎモジュール４２０ａ又は４２０ｂは、ユーザーの署名を０又はそれ以上の記憶されたユーザーの署名４２１又は４２２それぞれと比較する（８４０）。ユーザーの署名がｂｉｎモジュール４２０ａ又は４２０ｂに対応するどの記憶されたユーザーの署名４２１又は４２２にも適合しないとき、データパケットは送信モジュール１５０へ送信される（８４５）。ユーザーの署名がｂｉｎモジュール４２０ａ又は４２０ｂに対応する記憶されたユーザーの署名４２１又は４２２の１つに対応するとき、データパケットはｂｉｎ送信モジュール４３０ａ又は４３０ｂへ送信される（８５０）。
【０１２３】
ｂｉｎ送信モジュール４３０ａ又は４３０ｂは、データパケットの送信のレート制御を行う（８６０）。送信がレート制御のレート以内であれば、データパケットは出力モジュール１７０へ送信される（８６２）。送信がレート制御のレート以内でなければ、データパケットは攻撃識別モジュール１６０によって分析される（８６４）。例示のシステム４００の利点は、攻撃者のデータパケットがｂｉｎモジュール４２０ａ又は４２０ｂに対応し、記憶されたユーザーの署名４２１又は４２２のどれかに適合すると、ｂｉｎ送信モジュール４３０ａ又は４３０ｂがデータパケットのレートを制御して攻撃者が正規のネットワークトラフィックの大部分を阻止できないようにすることを保証することである。例示のシステム４００の別の利点は、たとえ攻撃者がｂｉｎモジュール４２０ａ又は４２０ｂに対応し、ｂｉｎモジュール４２０ａ又は４２０ｂのユーザーの署名４２１又は４２２に適合したとしても、適合したｂｉｎモジュール４２０ａ又は４２０ｂだけが影響され、複数のｂｉｎモジュールの残りの出力は影響されないことである。
【０１２４】
例えば、図４の例示のシステム４００及び図６Ｄのデータパケット６００ｄを用い、データパケット６００ｄが受信される（８１０）。インデックスモジュール４１０は、データパケット６００ｄのパラメータ６１０ｄをハッシング（８２０）してｂｉｎ識別Ａ２Ｂ及びユーザーの署名Ａ４Ｂ３Ｃ２を生成する。インデックスモジュール４１０は、ｂｉｎ識別Ａ２ＢをｂｉｎモジュールＢ４２０ｂへ対応させる（８３０）。ユーザーの署名はｂｉｎモジュールＢ４２０ｂによって比較され（８４０）、それが記憶されたユーザーの署名４２２の１つに適合するかどうか特定する。ユーザーの署名Ａ４Ｂ３Ｃ２は、入場制御モジュール３３０を通してユーザーの要求によってｂｉｎモジュールＢ４２０ｂで記憶される。ユーザーの署名Ａ４Ｂ３Ｃ２は記憶されたユーザーの署名Ａ４Ｂ３Ｃ２に適合し、データパケット６００ｄはｂｉｎモジュールＢ送信モジュール４３０ｂへ送信される（８５０）。ｂｉｎモジュールＢ送信モジュール４３０ｂは、データパケット６００ｄの送信のレート制御を行う（８６０）。データパケット６００ｄは、レート制御のレート以内であり、出力モジュール１７０へ送信される（８６２）。データパケット６００ｄはアドレス１９２．１６８．１．２３２：１０２５のＳＭＳモジュールによって受信される。データパケット６００ｄのデータ６１５ｄは、ＳＭＳモジュールによって処理される。
【０１２５】
図９は、図５で例示されたシステム５００の攻撃識別モジュール５０５を通したデータパケットの処理を記述したフローチャート９００である。データパケット又はその一部は廃棄処理モジュール５１０で受信される（９１０）。廃棄処理モジュール５１０は廃棄エントリー（例えば、５１２ａ）を生成する（９１５）。ある例において、廃棄エントリー（例えば、５１２ａ）の生成（９１５）は、廃棄処理モジュール５１０におけるデータパケット（例えば、ヘッダーフィールド）の一部の記憶である。
【０１２６】
廃棄エントリー（例えば、５１２ａ）は、廃棄処理モジュール５１０で処理される（９２０）。処理（９２０）は、カウントエントリー５１１の増加を含んでいる。廃棄エントリー（例えば、５１２ａ）は、廃棄エントリー（例えば、５１２ａ）をハッシング（９２５）してｂｉｎ識別及びユーザーの署名を生成する廃棄インデックスモジュール５３０へ送信される。ｂｉｎ識別は、ユーザーの署名をダイジェストｂiｎモジュール５４０a又は５４０ｂに対応（９３０）させるために用いられる。ユーザーの署名は、適合したダイジェストｂiｎモジュール５４０a又は５４０ｂに対応するダイジェストエントリー（例えば、５４１a）に対応する記憶されたユーザーの署名と比較される（９３５）。ユーザーの署名が、適合したダイジェストｂiｎモジュール５４０a又は５４０ｂに対応するダイジェストエントリー（例えば、５４１a）に対応する記憶されたユーザーの署名のどれかに適合すると、ダイジェストエントリー（例えば、５４１a）に対応するダイジェストエントリーのヒットカウンターが増加する（９５０）。ユーザーの署名が、適合したダイジェストｂiｎモジュール５４０a又は５４０ｂに対応するダイジェストエントリー（例えば、５４１a）に対応する記憶されたユーザーの署名の１つの一部又は全部に適合しないとき、廃棄エントリー（例えば、５１２ａ）は、処理されて（９４０）、ダイジェストエントリー（例えば、５４１a）を形成する。新しいダイジェストエントリーは、適合したダイジェストｂiｎモジュール５４０a又は５４０ｂに追加される。
【０１２７】
例えば、図５の例示のシステム５００及び図６Ｆのデータパケット６００ｆを用い、データパケット６００ｆが攻撃識別モジュール５０５で受信される（９１０）。データパケット６００ｆは、新しい廃棄エントリーを生成（９１５）する廃棄処理モジュール５１０へ送信される。新しい廃棄エントリーは、カウントエントリー５１１の増加によって処理される（９２０）。新しい廃棄エントリーは、ダイジェストインデックスモジュール５３０によってハッシングされて（９２５）、ｂｉｎ識別Ｂ及びユーザーの署名Ｂ４４５２３を生成する。ｂｉｎ識別は、ユーザーの署名をダイジェストｂｉｎモジュールＢ５４０ｂへ対応させる（９３０）ために用いられる。ダイジェストｂｉｎモジュールＢ５４０ｂは、ダイジェストエントリー１Ｚ５４４ｂを含んでいる。ダイジェストエントリー１Ｚ５４４ｂのユーザーの署名は、Ｂ４４５２３である。ダイジェストｂｉｎモジュールＢ５４０ｂは、新しい廃棄エントリーのユーザーの署名を記憶されたユーザーの署名と比較する（９３５）。新しい廃棄エントリーのユーザーの署名は、ダイジェストエントリーＢＺ５４２ｄの記憶されたユーザーの署名に適合する。ダイジェストエントリーＢＺ５４２ｄのヒットカウンターは増加される（９５０）。
【０１２８】
図１０は、図５で例示されたシステム５００において攻撃を探知するためのヒットカウンターの処理を記述したフローチャート１０００である。各ダイジェストエントリー（例えば、５４１a）のヒットカウンターは、攻撃識別モジュール５０５で処理される（１０１０）。各ダイジェストエントリー（例えば、５４１a）のヒットカウンターは、ヒットカウントリストを生成する（１０２０）ために用いられる。ヒットカウントリストは記憶される（１０３０）。ヒットカウントリストのトップエントリーは、番号アクセスリストエントリーを生成する（１０４０）ために用いられる。番号アクセスリストエントリーは、番号アクセスリストモジュールへ送信される（１０５０）。番号アクセスリストモジュールは、番号アクセスリストエントリーを番号アクセスリストへ追加する（１０６０）。
【０１２９】
例えば、各ダイジェストエントリー（例えば、表５を参照）のヒットカウンターは、攻撃識別モジュール５０５によって処理される（１０１０）。各ダイジェストエントリー（例えば、表５を参照）のヒットカウンターは、ヒットカウントリストを生成する（１０２０）ために用いられる。ヒットカウントリストは、選別（１０３０）される（例えば、表５を参照）。ヒットカウントリストのトップエントリー、合計４５３２１３５ヒットのダイジェストエントリーＢＦ５４２ｂは、２つの番号アクセスリストエントリーを生成する（１０４０）ために用いられる。第１番号アクセスリストエントリーは、ネットワークアドレス１０．４５．１３．２３のダイジェストエントリーＢＦ５４２ｂを含んでいる。第２番号アクセスリストエントリーは、ネットワークサブネット１０．４５．１３．０のダイジェストエントリーＢＺ５４２ｄを含んでいる。２つの番号アクセスリストエントリーは、番号アクセスリストモジュールへ送信される（１０５０）。番号アクセスリストモジュールは、２つの番号アクセスリストエントリー、ダイジェストエントリーＢＦ５４２ｂ及びダイジェストエントリーＢＺ５４２ｄを番号アクセスリストへ追加する（１０６０）。
【０１３０】
上述のシステム及び方法は、コンピュータハードウェア、ファームウェア、及び／又は、ソフトウェアにおけるデジタル電子回路で実行することができる。該実行は、コンピュータプログラム製品（すなわち、情報媒体で明白に具体化されたコンピュータプログラム）によるものであってもよい。該実行は、例えば、マシーン読み取り可能な記憶装置におけるもの、及び／又は、データ処理装置による実施のための、又は、処理の制御をする伝播信号におけるものであってもよい。該実行は、例えば、プログラム可能なプロセッサ、コンピュータ、及び／又は、複数のコンピュータによってもよい。
【０１３１】
コンピュータプログラムは、編集され及び／又は解釈された言語を含めてどのような形式のプログラミング言語で記載されていてもよい。コンピュータプログラムは、単独型プログラム、又は、サブルーチン、エレメント及び／又は他のコンピュータ環境での使用に適したユニットのような形式を含むどのような形式で配置されていてもよい。コンピュータプログラムは、１つのコンピュータ又は１サイトで複数のコンピュータ上で実施されるように配置することができる。
【０１３２】
方法のステップは、入力データの処理を行い出力することで発明の機能を遂行するコンピュータプログラムを実行する１又はそれ以上のプログラム可能なプロセッサで実施することができる。方法のステップは、また、実行されて、装置を特別用途の論理回路として実行することができる。該回路は、例えば、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：フィールドプログラムゲートアレイ）及び／又はＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：アプリケーション特有の集積回路）であってもよい。モジュール、サブルーチン、及び、ソフトウェアエージェントは、その機能を実行するコンピュータプログラム、プロセッサ、特別回路、ソフトウェア、及び／又は、ハードウェアを参照することができる。
【０１３３】
コンピュータプログラムの実行に適したプロセッサは、例示すると、一般的な及び特別な目的のマイクロプロセッサを含み、さらに、どのような種類のデジタルコンピュータの１又はそれ以上のどのようなプロセッサをも含む。概して、プロセッサは、読み取り専用メモリ又はランダムアクセスメモリ、又は、それらの両方からの指示及びデータを受ける。コンピュータの不可欠な要素は、指示を実行するためのプロセッサ、及び、指示及びデータを記憶するための１又はそれ以上のメモリ装置である。概して、コンピュータは、データを記憶する１又はそれ以上の大記憶装置（例えば、磁気、光磁気ディスク、又は、光ディスク）からのデータ又は交換データを含むことができ、該データを動作可能なように連結することができる。
【０１３４】
データ送信及び指示は、また、通信ネットワーク上で発生してもよい。コンピュータプログラムの指示及びデータの具現化に適した情報媒体は、例示のセミコンダクタメモリ装置をはじめとする全ての形式の不揮発性メモリを含んでいる。情報媒体は、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ装置、磁気ディスク、内部ハードディスク、リムーバルディスク、光磁気ディスク、ＣＤ−ＲＯＭ及び／又はＤＶＤ−ＲＯＭディスクであってもよい。プロセッサ及びメモリは、特別用途の論理回路によって補完されていてもよく、及び／又は、特別用との論理回路に組み込まれていてもよい。
【０１３５】
ユーザーの交流を提供するために、上述の技術は、ディスプレイ装置を備えたコンピュータ上で実施してもよい。ディスプレイ装置は、例えば、ブラウン管（ＣＲＴ）及び／又は液晶表示（ＬＣＤ）モニターであってもよい。ユーザーの交流は、例えば、ユーザーへの情報の表示及びユーザーがコンピュータに入力できるキーボード及び位置決め装置（例えば、マウス又はトラックボール）であってもよい（例えば、ユーザーインターフェースエレメントの交流）。他の種類の装置をユーザーの交流を提供するために用いても良い。他の装置は、例えば、感知フィードバックのどのような形式におけるユーザーへ提供されたフィードバックであってもよい（例えば、視覚フィードバック、聴覚フィードバック、又は、触覚フィードバック）。ユーザーからの入力は、例えば、音響、発話、及び／又は、触覚の入力をはじめとしたどのような形式で受信されてもよい。
【０１３６】
上述した技術は、バックエンドコンポーネントを含む分散コンピューティングシステムで実施してもよい。バックエンドコンポーネントは、例えば、データサーバ、ミドルウェアコンポーネント、及び／又は、アプリケーションサーバであってもよい。上述の技術は、フロントエンドコンポーネントを含む分散コンピューティングシステムで実施してもよい。フロントエンドコンポーネントは、例えば、グラフィックユーザーインタフェースを有する顧客のコンピュータ、ユーザーが例示の実施と交流できるウェブブラウザ、及び／又は、送信装置のための他のラフィックユーザーインタフェースであってもよい。システムのコンポーネントは、デジタルデータ通信（例えば、通信ネットワーク）のどのような形式又は媒体によっても相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット、有線ネットワーク、及び／又は、無線ネットワークがある。
【０１３７】
システムは、顧客とサーバを含むことができる。顧客とサーバは、一般的に、互いに離れており、典型的には通信ネットワークを通して交流する。クライアントとサーバとの関係は、各コンピュータで機能し互いに顧客とサーバとの関係を有するコンピュータプログラムによって発生する。
【０１３８】
パケットに基づくネットワークは、例えば、インターネット、キャリアインターネットプロトコル（ＩＰ）ネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、キャンパスエリアネットワーク（ＣＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ホームエリアネットワーク（ＨＡＭ））、プライベートＩＰネットワーク、ＩＰプライベートブランチエクスチェンジ（ＩＰＢＸ）、無線ネットワーク（例えば、ラジオアクセスネットワーク（ＲＡＮ）、８０２．１１ネットワーク、８０２．１６ネットワーク、ジェネラルパケットラジオサービス（ＧＰＲＳ）ネットワーク、ハイパーＬＡＮ）、及び／又は、他のパケットに基づくネットワークを含んでいても良い。回路に基づくネットワークは、例えば、パブリックスウィッチテレホンネットワーク（ＰＳＴＮ）、プライベートブランチエクスチェンジ（ＰＢＸ）、無線ネットワーク（例えば、ＲＡＮ、ブルートゥース、コードディビジョンマルチプルアクセス（ＣＤＭＡ）ネットワーク、タイムディビジョンマルチプルアクセス（ＴＤＭＡ）ネットワーク、モバイル通信用グローバルシステム（ＧＳＭ）ネットワーク）、及び／又は、他の回路に基づくネットワークを含んでいても良い。
【０１３９】
送信装置は、例えば、コンピュータ、ブラウザ装置を有するコンピュータ、電話、ＩＰ電話、モバイル装置（例えば、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）装置、ラップトップコンピュータ、電子メール装置）、及び／又は、他の通信装置を含んでいても良い。ブラウザ装置は、例えば、ワールドワイドウェブブラウザ（例えば、マイルロソフト社のマイクロソフト（登録商標）インターネットエクスプローラ（登録商標）、モジラ社のモジラ（登録商標）ファイアーフォックス）を有するコンピュータ（例えば、デスクトップコンピュータ、ラップトップコンピュータ）を含んでいる。モバイルコンピューティング装置は、例えば、ブラックベリー（登録商標）を含んでいる。ＩＰ電話は、例えば、シスコシステム社のシスコ（登録商標）統一ＩＰ電話７９８５Ｇ、及び／又は、シスコシステム社のシスコ（登録商標）統一ワイアレス電話７９２０を含んでいる。
【０１４０】
上記構成及び／又はそれらの複数の形式は制限されず、列挙された部品を含み、さらに、列挙されていない部品も追加で含むことができる。さらに／又は、上記構成は制限されず、列挙された部品の１又はそれ以上、及び、列挙された部品の組み合わせを含んでいる。
【０１４１】
当業者であれば、本発明の精神及び不可欠な特徴から離れない程度で、他の特定の形式で本発明を具体化してもよいことに気づくであろう。前述の具体例は、それゆえ、本発明を限定するのではなく、すべては説明に役立つという観点においてのものであると認識されるべきである。発明の範囲は、前述の記載というよりも、添付の請求の範囲で示される。それゆえ、請求の範囲の発明と同等の意味及び範囲内での全ての変化は、本発明に包含されることが意図されている。
【図１】
2011503912.tif 000009
【図２】
2011503912.tif 000010
【図３】
2011503912.tif 000011
【図４】
2011503912.tif 000012
【図５】
2011503912.tif 000013
【図６Ａ】
2011503912.tif 000014
【図６Ｂ】
2011503912.tif 000015
【図６Ｃ】
2011503912.tif 000016
【図６Ｄ】
2011503912.tif 000017
【図６Ｅ】
2011503912.tif 000018
【図６Ｆ】
2011503912.tif 000019
【図７Ａ】
2011503912.tif 000020
【図７Ｂ】
2011503912.tif 000021
【図８】
2011503912.tif 000022
【図９】
2011503912.tif 000023
【図１０】
2011503912.tif 000024
【手続補正書】
【提出日】平成21年8月3日(2009.8.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データパケットをインデックスモジュールで受信すること；
ｂｉｎ識別及びユーザーの署名を生成するために前記データパケットにおける１又はそれ以上のフィールドを用いてデータパケットのハッシングを行うこと；
前記ｂｉｎ識別を処理して複数のｂｉｎに含まれた第１ｂｉｎに前記ユーザーの署名を対応させること；
前記第１ｂｉｎで、ユーザーの署名を０又はそれ以上の前記第１ｂｉｎに対応する記憶されたユーザーの署名と比較すること；
前記比較に基づいて送信モジュールに前記データパケットを送信すること；及び、
送信モジュールによって前記データパケットを基準に基づいて出力モジュールへ送信すること
を含むネットワーク上のデータを監視制限する方法。
【請求項２】
前記第１ｂｉｎが容量を超えていると、前記データパケットは、前記ユーザーの署名を前記記憶された０又はそれ以上のユーザーの署名と比較せずに前記送信モジュールへ送信される請求項１に記載の方法。
【請求項３】
前記データパケットがシステムのユーザーに対応せず、前記ｂiｎ識別及びユーザーの署名が前記第１ｂiｎに対応する記憶されたユーザーの署名の１つに適合し、前記適合の蓋然性が低く、前記データパケットが基準に基づき前記出力モジュールへの送信のため送信モジュールへ送信される請求項１又は２に記載の方法。
【請求項４】
前記基準がレート制御であり；
前記レート制御がレートリミットであり；及び、
前記レートリミットが前記第１ｂｉｎにおける記憶されたユーザーの署名の数に基づき動的に適応する請求項１、２又は３に記載の方法。
【請求項５】
前記記憶されたユーザーの署名は、入場制御モジュールによって修正され、前記修正は、前記記憶されたユーザーの署名の追加、削除、編集、又は、それらの組み合わせであり、前記入場制御モジュールが前記入力モジュールからのサービスの要求を処理する請求項１、２、３又は４に記載の方法。
【請求項６】
前記記憶されたユーザーの署名の修正は、好ましい認証に基づいて断定される請求項５に記載の方法。
【請求項７】
前記レートリミットが設定時間におけるデータ量、パケットレートリミット、バイトレートリミット、定常状態のレートリミット、バーストリミット、又は、それらの組み合わせである請求項４に記載の方法。
【請求項８】
コンピュータ・デバイスによって、番号アクセスリストモジュールでデータパケットを受信すること；
前記コンピュータ・デバイスによって、番号アクセスリストを用いて前記データパケットを分析すること；
前記コンピュータ・デバイスによって、前記番号アクセスリストに適合しないデータパケットの第１セットを生成すること；
前記コンピュータ・デバイスによって、第１アクセスリストモジュールで前記データパケットの第１セットを受信すること；
前記コンピュータ・デバイスによって、第１アクセスリストを用いて前記データパケットの第１セットを分析すること；
前記コンピュータ・デバイスによって、前記第１アクセスモジュールで第１アクセスリストに適合しないデータパケットの第２セットを生成すること；
前記コンピュータ・デバイスによって、前記第１アクセスモジュールで前記データパケットの第２セットを第２アクセスリストモジュールへ送受信すること；
前記コンピュータ・デバイスによって、第２アクセスリストを用いて前記データパケットの第２セットを分析すること；
前記コンピュータ・デバイスによって、第２アクセスリストに適合しないデータパケットの第３セットを生成すること；
前記コンピュータ・デバイスによって、前記第１アクセスモジュールで第１アクセスリストに適合するデータパケットの第４セットを生成すること；
前記コンピュータ・デバイスによって、前記第１アクセスモジュールで、基準に基づき出力モジュールへ前記データパケットの第４セットを送信すること；
前記コンピュータ・デバイスによって、前記第１アクセスモジュールで、前記出力モジュールへ送信されない前記データパケットの第４セットからのデータパケットを含むデータパケットの第６セットを生成すること；
前記コンピュータ・デバイスによって、前記第１アクセスモジュールで、前記データパケットの第６セットを攻撃識別モジュールへ送信すること；及び、
前記コンピュータ・デバイスによって、前記攻撃識別モジュールで、ネットワーク上の攻撃者を識別するために前記データパケットの第６セットを分析すること
をさらに含む請求項１、２、３又は４に記載の方法。
【請求項９】
前記コンピュータ・デバイスによって、入場制御モジュールで、サービスの要求を受信すること；
前記コンピュータ・デバイスによって、前記サービスの要求を認証すること；
前記コンピュータ・デバイスによって、前記サービスの要求を処理して、前記第１アクセスリストに対応する識別リストを追加、削除、編集し、又は、それらの組み合わせを行うこと；
前記コンピュータ・デバイスによって、前記攻撃識別モジュールで、番号アクセスリストエントリーを生成すること；
前記コンピュータ・デバイスによって、前記番号アクセスリストモジュールで前記番号アクセスリストエントリーを受信すること；及び、
前記コンピュータ・デバイスによって、前記番号アクセスリストエントリーに前記番号アクセスリストを追加すること
をさらに含む請求項１、２、３、４又は８に記載の方法。
【請求項１０】
前記コンピュータ・デバイスによって、前記第２アクセスリストモジュールで、前記第２アクセスリストに適合するデータパケットの第５セットを生成すること；
前記コンピュータ・デバイスによって、基準に基づき前記データパケットの第５セットを出力モジュールへ送信すること；
前記コンピュータ・デバイスによって、前記第２アクセスリストモジュールで、前記出力モジュールへ送信されない前記データパケットの第５セットからのデータパケットを含むデータパケットの第７セットを生成すること；
前記コンピュータ・デバイスによって、前記データパケットの第７セットを攻撃識別モジュールへ送受信すること；
前記コンピュータ・デバイスによって、前記攻撃識別モジュールで、前記データパケットの第７セットを分析すること；
前記コンピュータ・デバイスによって、送信モジュールへ前記データパケットの第３セットを送受信すること；
前記コンピュータ・デバイスによって、データパケットの第８セットを生成すること；
前記コンピュータ・デバイスによって、出力モジュールへ基準に基づき前記データパケットの第８セットを送信すること；
前記コンピュータ・デバイスによって、送信モジュールで、前記出力モジュールへ送信されない前記データパケットの第８セットからのデータパケットを含むデータパケットの第９セットを生成すること；
前記コンピュータ・デバイスによって、攻撃識別モジュールで前記データパケットの第９セットを受信すること；及び、
前記コンピュータ・デバイスによって、前記攻撃識別モジュールで前記データパケットの第９セットを分析すること
をさらに含む請求項１、２、３、４、８又は９に記載の方法。
【請求項１１】
前記コンピュータ・デバイスによって、前記番号アクセスリストモジュールで、前記番号アクセスリストに適合するデータパケットの第１０セットを生成すること；
前記コンピュータ・デバイスによって、廃棄モジュールで、前記データパケットの第１０セットを受信すること；
前記コンピュータ・デバイスによって、前記廃棄モジュールで、前記データパケットの第１０セットを廃棄すること；及び、
前記コンピュータ・デバイスによって、前記データパケット、前記データパケットに対応するメタデータ、それらのハッシング、又は、それらの組み合わせに対応するフィールドを用いて第２アクセスリストを索引付けすること
をさらに含む請求項１、２、３、４、９又は１０に記載の方法。
【請求項１２】
前記番号アクセスリストが、どのデータパケットが出力モジュールへ送信されることが許されないかを示す識別リストを含み、前記識別リストが攻撃ユーザーに対応する識別情報、前記データパケットに対応するフィールド、前記データパケットに対応するメタデータ、又は、それらの組み合わせを含む請求項１、２、３、４、８、９、１０又は１１に記載の方法。
【請求項１３】
前記第１アクセスリストがどのデータパケットが出力モジュールへ送信されることが許されるかを示す識別リストを含み、前記識別リストが高周波数帯域幅ユーザーに対応する識別情報、重要なユーザーに対応する識別情報、前記データパケットに対応するフィールド、前記データパケットに対応するメタデータ、又は、それらの組み合わせを含む請求項１、２、３、４、８、９、１０、１１又は１２に記載の方法。
【請求項１４】
前記第２リストがどのデータパケットが出力モジュールへ送信されることが許されるかを示す識別リストを含み、前記識別リストが、低周波数帯域幅ユーザーに対応する識別情報、標準的なユーザーに対応する識別情報、前記データパケットに対応するフィールド、前記データパケットに対応するメタデータ、又は、それらの組み合わせを含む請求項１、２、３、４、８、９、１０、１１、１２又は１３に記載の方法。
【請求項１５】
前記攻撃識別モジュールにおける前記分析が、
前記データパケットに対応する識別情報を用いた互いに対応するデータパケットの数の計算；
前記データパケットの数の攻撃番号リストへの追加；及び、
データパケットの数による前記攻撃番号リストの分類
を含む請求項１、２、３、４、８、９、１０、１１、１２、１３又は１４に記載の方法。
【請求項１６】
廃棄処理モジュールでデータパケット又はその一部を受信すること；
前記データパケットの廃棄エントリーを生成すること；
ダイジェストインデックスモジュールで前記廃棄エントリーを受信すること；
前記廃棄エントリーの１又はそれ以上のフィールドを用いて前記廃棄エントリーをハッシングし、ｂiｎ識別及びユーザーの署名を生成すること；
前記ｂiｎ識別を処理して前記ユーザーの署名を複数のｂiｎに含まれる第１ｂiｎに対応させること；及び、
前記第１ｂiｎで前記廃棄エントリーを処理すること
をさらに含む請求項１、２、３、４、８、９、１０又は１１に記載の方法。
【請求項１７】
前記廃棄処理モジュールで受信された前記データパケットのカウントエントリーを増加させること；
前記カウントエントリーを廃棄エントリーの数と比較すること；
前記カウントエントリーと前記廃棄エントリーの数との差を計算すること；
前記第１ｂiｎを処理して前記第１ｂiｎの容量を特定すること；
前記廃棄エントリーを第２ダイジェストエントリーへ処理すること；
前記第２ダイジェストエントリーを前記第１ｂiｎへ追加すること；
複数のｂｉｎにおける各ダイジェストエントリーの複数のタイムエントリーを含む前記タイムスタンプ及びヒットカウンターを処理すること；及び、
ヒットレートリストを生成すること
をさらに含む請求項１、２、３、４、８、９、１０、１１又は１６に記載の方法。
【請求項１８】
高レートリストを含むレポートを生成すること；
前記レポートをディスプレイ装置へ送信すること；
前記高レートリストのエントリーを含む１又はそれ以上の番号アクセスリストエントリーを生成すること；
番号アクセスリストモジュールで、前記１又はそれ以上の番号アクセスリストエントリーを受信すること；
前記１又はそれ以上の番号アクセスリストエントリーを番号アクセスリストへ追加すること；
前記第１ｂiｎを処理して前記第１ｂiｎの容量を特定すること；
前記容量に基づき前記第１ｂiｎの各ダイジェストエントリーを処理して年齢とヒットカウントを特定すること；
前記年齢及びヒットカウントに基づき第３ダイジェストエントリーを削除すること；
前記第１ｂiｎで削除された前記第３廃棄エントリーの上書きカウントを増加すること；
前記ダイジェストインデックスモジュールで前記上書きカウントを処理すること；
前記第１ｂiｎの前記各ダイジェストエントリーの前記年齢及びヒットカウントに基づき前記廃棄エントリーを削除すること；
前記廃棄エントリーの廃棄カウントを増加すること；
前記ダイジェストインデックスモジュールで前記廃棄カウントを処理すること；
前記複数のｂiｎで各ダイジェストエントリーを処理すること；及び、
処理情報のレポートを生成すること
をさらに含む請求項１、２、３、４、８、９、１０、１１、１６又は１７に記載の方法。
【請求項１９】
データパケットをインデックスモジュールで受信すること；
ｂｉｎ識別及びユーザーの署名を生成するために前記データパケットにおける１又はそれ以上のフィールドを用いてデータパケットのハッシングを行うこと；
前記ｂｉｎ識別を処理して複数のｂｉｎに含まれた第１ｂｉｎに前記ユーザーの署名を対応させること；
前記第１ｂｉｎで、ユーザーの署名を０又はそれ以上の前記第１ｂｉｎに対応する記憶されたユーザーの署名と比較すること；
前記比較に基づいて送信モジュールに前記データパケットを送信すること；及び、
送信モジュールによって前記データパケットを基準に基づいて出力モジュールへ送信すること
をデータ処理装置に指示することを含む、コンピュータ読み取り可能な記憶装置で明白に具体化されたコンピュータプログラム製品。
【請求項２０】
データパケットをインデックスモジュールで受信する手段；
ｂｉｎ識別及びユーザーの署名を生成するために前記データパケットにおける１又はそれ以上のフィールドを用いてデータパケットのハッシングを行う手段；
前記ｂｉｎ識別を処理して複数のｂｉｎに含まれた第１ｂｉｎに前記ユーザーの署名を対応させる手段；
前記第１ｂｉｎで、ユーザーの署名を０又はそれ以上の前記第１ｂｉｎに対応する記憶されたユーザーの署名と比較する手段；
前記比較に基づいて送信モジュールに前記データパケットを送信する手段；及び、
送信モジュールによって前記データパケットを基準に基づいて出力モジュールへ送信する手段
を含むネットワーク上のデータを監視制限するシステム。
【国際調査報告】
2011503912.tif 000025
2011503912.tif 000026
2011503912.tif 000027
2011503912.tif 000028
2011503912.tif 000029