(57)【要約】本発明は分散型サービス拒否攻撃を防御する方法、装置、クライアントおよびデバイスを提供する。このうち１つの方法は、クライアントがサーバーへ送信したサービスメッセージを切り取るステップと、前記クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報、前記サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得するステップと、クライアントと合意したハッシュアルゴリズムに従い、前記固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップと、前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は異なることを確定した場合、前記サービスメッセージを廃棄するステップと、を含む。
2019502315.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからサーバーへ送信したサービスメッセージを切り取るステップと、
前記クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報、前記サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得するステップと、
クライアントと合意したハッシュアルゴリズムに従い、前記固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は異なることを確定した場合、前記サービスメッセージを廃棄するステップと、を備えることを特徴とする分散型サービス拒否攻撃を防御する方法。
【請求項２】
前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報に対してハッシュ処理を行い、取得したクライアントハッシュ結果であり、
前記固有フィールドに含まれる固有情報は、前記クライアントのパブリックネットワークプロトコルＩＰアドレスであり、
前記第２プリセットフィールドは２つであり、それぞれに含まれる追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間であることを特徴とする請求項１に記載の分散型サービス拒否攻撃を防御する方法。
【請求項３】
クライアントと合意したハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップは、
前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得するステップと、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得するステップと、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得するステップと、を備え、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトであることを特徴とする請求項２に記載の分散型サービス拒否攻撃を防御する方法。
【請求項４】
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記サービスメッセージ中の応答時間と前記クライアントが送信した１つ前のサービスメッセージ中の応答時間の時間差を演算するステップと、
前記時間差がプリセット範囲内にあるか否かを判断するステップと、
プリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送するステップと、
プリセット範囲内にない場合、前記サービスメッセージを廃棄するステップと、をさらに備えることを特徴とする請求項２または３に記載の分散型サービス拒否攻撃を防御する方法。
【請求項５】
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドまでエディティングし、前記少なくとも１つの追加情報を前記サービスメッセージの少なくとも１つの第２プリセットフィールドまでエディティングするステップと、
前記合意したルールに基づき処理したサービスメッセージをサーバーへ送信するステップと、を備えることを特徴とする分散型サービス拒否攻撃を防御する方法。
【請求項６】
前記固有フィールドに含まれる固有情報は、クライアントのパブリックネットワークプロトコルＩＰアドレスであり、
前記追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間を含むことを特徴とする請求項５に記載の分散型サービス拒否攻撃を防御する方法。
【請求項７】
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップは、
前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得するステップと、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得するステップと、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得するステップと、を備え、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトであることを特徴とする請求項６に記載の分散型サービス拒否攻撃を防御する方法。
【請求項８】
サーバーはクライアントが送信したサービスメッセージを受信した場合、ローカル時間を抽出するステップと、
前記ローカル時間を応答メッセージのプリセットフィールドに含ませ、前記クライアントへ送信するステップと、を含むことを特徴とする分散型サービス拒否攻撃を防御する方法。
【請求項９】
クライアントからサーバーへ送信したサービスメッセージを切り取るステップと、
クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報および第２プリセットフィールドに含まれる情報を取得するステップと、
クライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は異なることを確定した場合、前記サービスメッセージを廃棄するステップと、を備える分散型サービス拒否攻撃を防御する方法。
【請求項１０】
前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行って取得したクライアントハッシュ結果であり、
前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドであることを特徴とする請求項９に記載の分散型サービス拒否攻撃を防御する方法。
【請求項１１】
前記クライアントと合意したルールに従い、前記サービスメッセージの第３プリセットフィールドに含まれる、前記サービスメッセージを送信する時間と標準時間の差である追加情報を取得すると、
以下のように前記サービスメッセージのペイロードエリア中の所定数のバイトを選択し、
前記差から前記ペイロードエリアの長さを割って得た余りを演算し、
前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断し、
もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択し、
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択することを特徴とする請求項１０に記載の分散型サービス拒否攻撃を防御する方法。
【請求項１２】
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、演算する前記差から前記クライアントが送信した１つ前のサービスメッセージ中の差を引いて得た結果を時間差とするステップと、
前記時間差がプリセット範囲内にあるか否かを判断するステップと、
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送するステップと、
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄するステップと、をさらに備えることを特徴とする請求項１１に記載の分散型サービス拒否攻撃を防御する方法。
【請求項１３】
クライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するステップは、
前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果は前記ハッシュ結果であると確定し、ここで、第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトであることを備えることを特徴とする請求項９ないシ請求項１２のいずれか１項に記載の分散型サービス拒否攻撃を防御する方法。
【請求項１４】
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドまでエディティングするステップと、
前記合意したルールに基づき処理したサービスメッセージをサーバーへ送信するステップと、を備えることを特徴とする分散型サービス拒否攻撃を防御する方法。
【請求項１５】
前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドであることを特徴とする請求項１４に記載の分散型サービス拒否攻撃を防御する方法。
【請求項１６】
前記防御デバイスと合意したルールに従い、クライアントが前記サービスメッセージを送信する時間と標準時間の差である追加情報を前記サービスメッセージの第３プリセットフィールドまでエディティングすると、
以下のように前記サービスメッセージのペイロードエリア中の所定数のバイトを選択し、
前記差から前記ペイロードエリアの長さを割って得た余りを演算し、
前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断し、
もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択し、
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択することを特徴とする請求項１５に記載の分散型サービス拒否攻撃を防御する方法。
【請求項１７】
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するステップは、
前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果は前記ハッシュ結果であると確定し、前記第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトであることを備えることを特徴とする請求項１４ないし請求項１６のいずれか１項に記載の分散型サービス拒否攻撃を防御する方法。
【請求項１８】
クライアントからサーバーへ送信したサービスメッセージを切り取る、切り取りユニットと、
前記クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報、前記サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得する、取得ユニットと、
クライアントと合意したハッシュアルゴリズムに従い、前記固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得する、処理ユニットと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は異なることを確定した場合、前記サービスメッセージを廃棄する、確定ユニットと、を備えることを特徴とする分散型サービス拒否攻撃を防御する装置。
【請求項１９】
前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報に対してハッシュ処理を行い、取得したクライアントハッシュ結果であり、
前記固有フィールドに含まれる固有情報は、前記クライアントのパブリックネットワークプロトコルＩＰアドレスであり、
前記第２プリセットフィールドは２つであり、それぞれに含まれる追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間であることを特徴とする請求項１８に記載の分散型サービス拒否攻撃を防御する装置。
【請求項２０】
前記処理ユニットは、
前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得し、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得し、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得し、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトであることを特徴とする請求項１９に記載の分散型サービス拒否攻撃を防御する装置。
【請求項２１】
前記確定ユニットは
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記サービスメッセージ中の応答時間と前記クライアントが送信した１つ前のサービスメッセージ中の応答時間の時間差を演算し、
前記時間差がプリセット範囲内にあるか否かを判断し、
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送し、
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄することを特徴とする請求項１９または２０に記載の分散型サービス拒否攻撃を防御する装置。
【請求項２２】
請求項１８ないし請求項２１のいずれか１項に記載の装置を備えることを特徴とする防御デバイス。
【請求項２３】
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニットと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドまでエディティングし、将前記少なくとも１つの追加情報を前記サービスメッセージの少なくとも１つの第２プリセットフィールドまでエディティングするのに用いるエディティングユニットと、
前記合意したルールに基づき処理したサービスメッセージをサーバーへ送信するのに用いる送信ユニットと、を備えることを特徴とする分散型サービス拒否攻撃を防御する装置。
【請求項２４】
前記固有フィールドに含まれる固有情報は、前記装置のパブリックネットワークプロトコルＩＰアドレスであり、
前記追加情報は、前記装置のローカルＩＰアドレスおよび前記サーバーが直近で前記装置に返送した応答メッセージの応答時間を含むことを特徴とする請求項２３に記載の分散型サービス拒否攻撃を防御する装置。
【請求項２５】
前記処理ユニットは、
前記装置のパブリックネットワークプロトコルＩＰアドレスと前記装置のローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得し、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得し、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得し、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトであることを特徴とする請求項２４に記載の分散型サービス拒否攻撃を防御する装置。
【請求項２６】
請求項２３ないし請求項２５のいずれか１項に記載の装置を備えることを特徴とするクライアント。
【請求項２７】
クライアントが送信したサービスメッセージを受信した場合、ローカル時間を抽出するのに用いる抽出ユニットと、
前記ローカル時間を応答メッセージのプリセットフィールドに含ませ、前記クライアントへ送信するのに用いる送信ユニットと、を備えることを特徴とする分散型サービス拒否攻撃を防御する装置。
【請求項２８】
クライアントがサーバーへ送信したサービスメッセージを切り取るのに用いる切り取りユニットと、
クライアントと合意したルールに基づき、記サービスメッセージの第１プリセットフィールドに含まれる情報および第２プリセットフィールドに含まれる情報を取得するのに用いる取得ユニットと、
クライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニットと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は異なることを確定した場合、前記サービスメッセージを廃棄するのに用いる確定ユニットと、を備えることを特徴とする分散型サービス拒否攻撃を防御する装置。
【請求項２９】
前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行って取得したクライアントハッシュ結果であり、
前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドであることを特徴とする請求項２８に記載の分散型サービス拒否攻撃を防御する装置。
【請求項３０】
前記取得ユニットは、
前記クライアントと合意したルールに従い、前記サービスメッセージの第３プリセットフィールドに含まれる、前記サービスメッセージを送信する時間と標準時間の差である追加情報を取得すると、
以下のように前記サービスメッセージのペイロードエリア中の所定数のバイトを選択し、
前記差から前記ペイロードエリアの長さを割って得た余りを演算し、
前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断し、
もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択し、
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択することを特徴とする請求項２９に記載の分散型サービス拒否攻撃を防御する装置。
【請求項３１】
前記確定ユニットは、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、演算する前記差から前記クライアントが送信した１つ前のサービスメッセージ中の差を引いて得た結果を時間差とし、
前記時間差がプリセット範囲内にあるか否かを判断し、
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送し、
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄することを特徴とする請求項３０に記載の分散型サービス拒否攻撃を防御する装置。
【請求項３２】
前記処理ユニットは、
前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果は前記ハッシュ結果であると確定し、
前記第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトであることを特徴とする請求項２８ないし請求項３１のいずれか１項に記載の分散型サービス拒否攻撃を防御する装置。
【請求項３３】
請求項２８ないし請求項３２のいずれか１項に記載の装置を備えることを特徴とする防御デバイス。
【請求項３４】
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニットと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドまでエディティングするのに用いるエディティングユニットと、
前記合意したルールに基づき処理したサービスメッセージをサーバーへ送信するのに用いる送信ユニットと、を備えることを特徴とする分散型サービス拒否攻撃を防御する装置。
【請求項３５】
前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドであることを特徴とする請求項３４に記載の分散型サービス拒否攻撃を防御する装置。
【請求項３６】
前記エディティングユニットは、
前記防御デバイスと合意したルールに従い、前記装置が前記サービスメッセージを送信する時間と標準時間の差である追加情報を前記サービスメッセージの第３プリセットフィールドまでエディティングすると、
以下のように前記サービスメッセージのペイロードエリア中の所定数のバイトを選択し、
前記差から前記ペイロードエリアの長さを割って得た余りを演算し、
前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断し、
もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択し、
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択することを特徴とする請求項３５に記載の分散型サービス拒否攻撃を防御する装置。
【請求項３７】
前記処理ユニットは、
前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果は前記ハッシュ結果であると確定し、
第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトであることを特徴とする請求項３４ないし請求項３６のいずれか１項に記載の分散型サービス拒否攻撃を防御する装置。
【請求項３８】
請求項３４ないし請求項３７のいずれか１項に記載の装置を備えることを特徴とする防御デバイスクライアント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークセキュリティ技術分野に関し、特に分散型サービス拒否攻撃を防御する方法、装置、クライアントおよびデバイスに関する。
【背景技術】
【０００２】
ＤＤＯＳ（Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ、分散型サービス拒否）攻撃は、頻繁にみられるサーバー攻撃手段であり、攻撃者は大量のダミーマシン（攻撃クライアント、ａｔｔａｃｋｉｎｇ  ｃｌｉｅｎｔｓ）を制御し、攻撃されたサーバーへ大量のサービスメッセージを送信し、サーバーのリソースを占用し、サーバーは正常なクライアントに良好なサービスを提供できなくなる。
【０００３】
現在採用しているＤＤＯＳ攻撃を防御する方法によれば、クライアントからサーバーへ送信したサービスメッセージを切り取り、統計と機械学習手段を活用して、当該クライアントが送信したサービスメッセージの特徴を自動解析し、解析したサービスメッセージの特徴をキーワードへ変換し、受信したサービスメッセージが当該キーワードを携帯することを確定した場合、当該サービスメッセージをサーバーへ転送し、受信したサービスメッセージに当該キーワードを携帯しないことを確定した場合、当該サービスメッセージを廃棄する。これによりＤＤＯＳ攻撃に対する防御を実現する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ネットワークにおけるサービス種類の増加に従い、各種サービスは１種類のサービスメッセージに対応する。この時、統計と機械学習手段を活用して多種類のサービスメッセージの特徴を自動解析し、ＤＤＯＳ攻撃を防御する方法は、複雑度が高く、サービスメッセージ中の特徴が明確でない場合、統計と機械学習手段を活用して多種類のサービスメッセージの特徴を自動解析しても精度が高くなく、正常なメッセージを誤って廃棄する可能性があるという問題点がある。
【課題を解決するための手段】
【０００５】
本発明は分散型サービス拒否攻撃を防御する方法、装置、クライアントおよびデバイスを提供しており、従来技術における統計と機械学習手段を活用して多種類のサービスメッセージの特徴を自動解析し、ＤＤＯＳ攻撃を防御する方法に起こりうる複雑度が高く、正常なメッセージを誤って廃棄する可能性があるという問題点を解決する。
【０００６】
第１態様によれば、分散型サービス拒否攻撃を防御する方法を提供し、当該方法は、
クライアントからサーバーへ送信したサービスメッセージを切り取るステップと、
前記クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報、前記サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得するステップと、
クライアントと合意したハッシュアルゴリズムに従い、前記固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は同じでないことを確定した場合、前記サービスメッセージを廃棄するステップと、を含む。
【０００７】
第１態様の第１の実行可能な実現方式において、前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報に対してハッシュ処理を行い、取得したクライアントハッシュ結果である。前記固有フィールドに含まれる固有情報は、前記クライアントのパブリックネットワークプロトコルＩＰアドレスである。前記第２プリセットフィールドは２つであり、それぞれに含まれる追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間である。
【０００８】
第１態様の第１の実行可能な実現方式と合わせて、第２の実行可能な実現方式において、クライアントと合意したハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップは、具体的に、
前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得し、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得し、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得し、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトである。
【０００９】
第１態様の第１の実行可能な実現方式または第２の実行可能な実現方式を合わせて、第３の実行可能な実現方式において、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記サービスメッセージ中の応答時間と前記クライアントが送信した前の１つサービスメッセージ中の応答時間の時間差を演算するステップと、
前記時間差がプリセット範囲内にあるか否かを判断するステップと、
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送するステップと、
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄するステップと、を備える。
【００１０】
第２態様によれば、分散型サービス拒否攻撃を防御する方法を提供し、当該方法は、
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドにエディティングし、将前記少なくとも１つの追加情報を前記サービスメッセージの少なくとも１つの第２プリセットフィールドにエディティングするステップと、
前記合意したルールに基づいて処理したサービスメッセージをサーバーへ送信するステップと、を備える。
【００１１】
第２態様を合わせて、第１の実行可能な実現方式において、前記固有フィールドに含まれる固有情報は、クライアントのパブリックネットワークＩＰアドレスであり、前記追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間を含む。
【００１２】
第２態様の第１の実行可能な実現方式を合わせて、第２の実行可能な実現方式において、防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップは、具体的に、
前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得し、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得し、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得し、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトである。
【００１３】
第３態様によれば、分散型サービス拒否攻撃を防御する方法を提供し、当該方法は、
サーバーはクライアントが送信したサービスメッセージを受信した場合、ローカル時間を抽出するステップと、
前記ローカル時間を応答メッセージのプリセットフィールドに含ませ、前記クライアントへ送信するステップと、を備える。
【００１４】
第４態様によれば、分散型サービス拒否攻撃を防御する方法を提供し、当該方法は、
クライアントからサーバーへ送信したサービスメッセージを切り取るステップと、
クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報および第２プリセットフィールドに含まれる情報を取得するステップと、
クライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は同じでないことを確定した場合、前記サービスメッセージを廃棄するステップと、を備える。
【００１５】
第４態様を合わせて、第１の実行可能な実現方式において、前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行って取得したクライアントハッシュ結果であり、前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドである。
【００１６】
第４態様の第１の実行可能な実現方式を合わせて、第２の実行可能な実現方式において、
前記クライアントと合意したルールに従い、前記サービスメッセージの第３プリセットフィールドに含まれる、前記サービスメッセージを送信する時間と標準時間の差である追加情報を取得すると、
以下のように前記サービスメッセージのペイロードエリア中の所定数のバイトを選択し、
前記差から前記ペイロードエリアの長さを割って得た余りを演算し、
前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断し、
もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択し、
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択する。
【００１７】
第４態様の第２の実行可能な実現方式を合わせて、第３の実行可能な実現方式において、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記の差から前記クライアントが送信した１つ前のサービスメッセージ中の差を引いて得た結果を演算して時間差とするステップと、
前記時間差がプリセット範囲内にあるか否かを判断するステップと、
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送するステップと、
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄するステップと、をさらに備える。
【００１８】
第４態様を合わせて、第４の実行可能な実現方式において、クライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するステップは、具体的に、前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果は前記ハッシュ結果であると確定し、前記第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトであることを含む。
【００１９】
第５態様によれば、分散型サービス拒否攻撃を防御する方法を提供し、当該方法は、
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドにエディティングするステップと、
前記合意したルールに基づいて処理したサービスメッセージをサーバーへ送信するステップと、を備える。
【００２０】
第５態様を合わせて、第１の実行可能な実現方式において、
前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドである。
【００２１】
第５態様の第１の実行可能な実現方式を合わせて、第２の実行可能な実現方式において、
前記防御デバイスと合意したルールに従い、クライアントが前記サービスメッセージを送信する時間と標準時間の差である追加情報を前記サービスメッセージの第３プリセットフィールドにエディティングすると、
以下のように前記サービスメッセージのペイロードエリア中の所定数のバイトを選択し、
前記差から前記ペイロードエリアの長さを割って得た余りを演算し、
前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断し、
もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択し、
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択する。
【００２２】
第５態様または第５態様の第１の実行可能な実現方式または第２の実行可能な実現方式を合わせて、第３の実行可能な実現方式において、防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するステップは、具体的に、前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果は前記ハッシュ結果であると確定し、前記第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトであることを含む。
【００２３】
第６態様によれば、分散型サービス拒否攻撃を防御する装置を提供し、当該装置は、
クライアントからサーバーへ送信したサービスメッセージを切り取るのに用いる切り取りユニットと、
前記クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報、前記サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得するのに用いる取得ユニットと、
クライアントと合意したハッシュアルゴリズムに従い、前記固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニットと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は同じでないことを確定した場合、前記サービスメッセージを廃棄するのに用いる確定ユニットと、を備える。
【００２４】
第６態様を合わせて、第１の実行可能な実現方式において、前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報に対してハッシュ処理を行い、取得したクライアントハッシュ結果である。前記固有フィールドに含まれる固有情報は、前記クライアントのパブリックネットワークプロトコルＩＰアドレスであり、前記第２プリセットフィールドは２つであり、それぞれに含まれる追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間である。
【００２５】
第６態様の第１の実行可能な実現方式を合わせて、第２の実行可能な実現方式において、前記処理ユニットは具体的に、
前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得し、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得し、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得することに用いる。
【００２６】
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトである。
【００２７】
第６態様の第１の実行可能な実現方式または第２の実行可能な実現方式を合わせて、第３の実行可能な実現方式において、前記確定ユニットは、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記サービスメッセージ中の応答時間と前記クライアントが送信した１つ前のサービスメッセージ中の応答時間の時間差を演算し、
前記時間差がプリセット範囲内にあるか否かを判断し、
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送し、
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄すること、にさらに用いる。
【００２８】
第７態様によれば、防御デバイスを提供しており、当該防御デバイスは、第６態様のいずれか１つの装置を備える。
【００２９】
第８態様によれば、分散型サービス拒否攻撃を防御する装置を提供し、当該装置は、
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニットと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドにエディティングし、前記少なくとも１つの追加情報を前記サービスメッセージの少なくとも１つの第２プリセットフィールドにエディティングするのに用いるエディティングユニットと、
前記合意したルールに基づいて処理したサービスメッセージをサーバーへ送信するのに用いる送信ユニットと、を備える。
【００３０】
第８態様を合わせて、第１の実行可能な実現方式において、前記固有フィールドに含まれる固有情報は、前記装置のパブリックネットワークプロトコルＩＰアドレスであり、前記追加情報は、前記装置のローカルＩＰアドレスおよび前記サーバーが最近一回前記装置に返送した応答メッセージの応答時間を含む。
【００３１】
第８態様の第１の実行可能な実現方式を合わせて、第２の実行可能な実現方式において、前記処理ユニットは、具体的に、
前記装置のパブリックネットワークプロトコルＩＰアドレスと前記装置のローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得し、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得し、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得すること、に用いる。
【００３２】
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトである。
【００３３】
第９態様によれば、クライアントを提供し、当該クライアントは、第８態様のいずれか１つの装置を備える。
【００３４】
第１０態様によれば、分散型サービス拒否攻撃を防御する装置を提供し、当該装置は、
クライアントが送信したサービスメッセージを受信した場合、ローカル時間を抽出するのに用いる抽出ユニットと、
前記ローカル時間を応答メッセージのプリセットフィールドに含ませ、前記クライアントへ送信するのに用いる送信ユニットと、を備える。
【００３５】
第１１態様によれば、分散型サービス拒否攻撃を防御する装置を提供し、当該装置は、
クライアントからサーバーへ送信したサービスメッセージを切り取るのに用いる切り取りユニットと、
クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報および第２プリセットフィールドに含まれる情報を取得するのに用いる取得ユニットと、
クライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニットと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は同じでないことを確定した場合、前記サービスメッセージを廃棄するのに用いる確定ユニットと、を備える。
【００３６】
第１１態様を合わせて、第１の実行可能な実現方式において、前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行って取得したクライアントハッシュ結果であり、前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドである。
【００３７】
第１１態様の第１の実行可能な実現方式を合わせて、第２の実行可能な実現方式において、前記取得ユニットは、
前記クライアントと合意したルールに従い、前記サービスメッセージの第３プリセットフィールドに含まれる前記サービスメッセージを送信する時間と標準時間の差である追加情報を取得すると、
以下のように前記サービスメッセージのペイロードエリア中の所定数のバイトを選択し、
前記差から前記ペイロードエリアの長さを割って得た余りを演算するステップと、
前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断し、
もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択し、
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択すること、にさらに用いる。
【００３８】
第１１態様の第２の実行可能な実現方式を合わせて、第３の実行可能な実現方式において、前記確定ユニットは、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記差から前記クライアントが送信した１つ前のサービスメッセージ中の差を引いて得た結果を演算して時間差とし、
前記時間差がプリセット範囲内にあるか否かを判断し、
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送し、
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄すること、に用いる。
【００３９】
第１１態様の第３実行可能な実現方式を合わせて、第４の実行可能な実現方式において、前記処理ユニットは、具体的に、前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果は前記ハッシュ結果であると確定するのに用い、前記第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトである。
【００４０】
第１２態様によれば、防御デバイスを提供し、前記防御デバイスは、第１１態様のいずれか１つの装置を備える。
【００４１】
第１３態様によれば、分散型サービス拒否攻撃を防御する装置を提供し、当該装置は、
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニットと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドにエディティングするのに用いるエディティングユニットと、
前記合意したルールに基づいて処理したサービスメッセージをサーバーへ送信するのに用いる送信ユニットと、を備える。
【００４２】
第１３態様を合わせて、第１の実行可能な実現方式において、前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドである。
【００４３】
第１３態様の第１の実行可能な実現方式を合わせて、第２の実行可能な実現方式において、前記エディティングユニットは、
前記防御デバイスと合意したルールに従い、前記装置が前記サービスメッセージを送信する時間と標準時間の差である追加情報を前記サービスメッセージの第３プリセットフィールドにエディティングすると、
以下のように前記サービスメッセージのペイロードエリア中の所定数のバイトを選択し、
前記差から前記ペイロードエリアの長さを割って得た余りを演算し、
前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断し、
もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択し、
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択する。
【００４４】
第１３態様の第１の実行可能な実現方式または第２の実行可能な実現方式を合わせて、第３の実行可能な実現方式において、前記処理ユニットは具体的に、
前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果は前記ハッシュ結果であると確定するのに用い、前記第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトである。
【００４５】
第１４態様において、クライアントを提供しており、第１３態様のいずれか１つの装置を含む。
【発明の効果】
【００４６】
本発明が提供する分散型サービス拒否攻撃を防御する方法、装置、クライアントおよびデバイス方法を利用することにより、以下の有益な効果を得ることができる。防御デバイスは、事前にクライアントと合意したルールに従い、取得サービスメッセージの第１プリセットフィールドに含まれる情報、固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得し、クライアントと合意したハッシュアルゴリズムに従い、固有情報と追加情報に対してハッシュ処理を行った後、第１プリセットフィールドに含まれる情報と比較し、比較結果に基づき、当該サービスメッセージを廃棄するか否かを確定する。これにより、ＤＤＯＳ攻撃を防御するという目的を実現する。従来技術における統計と機械学習手段を活用して多種類のサービスメッセージの特徴を自動解析してＤＤＯＳ攻撃を防御する方式と比べて、本発明の実施例の防御デバイスは、事前にクライアントと端末合意したルールとハッシュアルゴリズムを定めているため、各種サービスメッセージ中の特徴を統計する必要がなく、複雑度が比較的低く、非攻撃メッセージ（正常メッセージ）を誤って廃棄する確率が小さいという目的は実現した。
【図面の簡単な説明】
【００４７】
本発明の実施例における技術手段をさらに明確に説明するために、以下実施例の中に使用される図面について説明する。次に陳述する実施例は単に本発明のいくつかの実施例である。当該領域の普通の技術者にとって、創造性労働をしなくても、これらの図面に基づいてその他の図面を容易に獲得することができることが明白である。
【図１】本発明の実施例に係る分散型サービス拒否攻撃を防御する方法のフローチャート１である。
【図２】本発明の実施例に係るサービスメッセージのフォーマットを示す図１である。
【図３】本発明の実施例に係るハッシュ処理実行方法のフローチャート１である。
【図４】本発明の実施例に係る分散型サービス拒否攻撃を防御する方法フローチャート２である。
【図５】本発明の実施例に係る分散型サービス拒否攻撃を防御する方法フローチャート３である。
【図６】本発明の実施例に係るハッシュ処理実行方法フローチャート２である。
【図７】本発明の実施例に係る分散型サービス拒否攻撃を防御する方法フローチャート４である。
【図８】本発明の実施例に係る分散型サービス拒否攻撃を防御する方法フローチャート５である。
【図９】本発明の実施例に係るサービスメッセージのペイロードエリア中の所定数のバイトを選択する方法のフローチャート１である。
【図１０】本発明の実施例に係るサービスメッセージのフォーマットを示す図２である。
【図１１】本発明の実施例に係る分散型サービス拒否攻撃を防御する方法フローチャート６である。
【図１２】本発明の実施例に係る分散型サービス拒否攻撃を防御する方法フローチャート７である。
【図１３】本発明の実施例に係るサービスメッセージのペイロードエリア中の所定数のバイトを選択する方法フローチャート２である。
【図１４】本発明の実施例に係る分散型サービス拒否攻撃を防御する装置フローチャート１である。
【図１５】本発明の実施例に係る防御分散型サービス拒否装置のフローチャート２である。
【図１６】本発明の実施例に係る分散型サービス拒否攻撃を防御する装置図３である。
【図１７】本発明の実施例に係る分散型サービス拒否攻撃を防御する装置図４である。
【図１８】本発明の実施例に係る分散型サービス拒否攻撃を防御する装置図５である。
【発明を実施するための形態】
【００４８】
本発明実施形態の目的や技術解決方式および利点を更に明確化するため、以下、本発明実施形態の図面を参考にしながら本発明実施形態の技術解決方式をさらに詳細に説明し、もちろん、説明された実施形態は、本発明の一部の実施形態であり、すべての実施形態ではない。本発明における実施形態に基づいて、本分野の技術者が創造性労働を払わない前提で得た他の実施形態は、すべて本発明の保護範囲に含まれている。
【００４９】
実施例１
本発明の実施例は分散型サービス拒否攻撃を防御する方法を提供しており、図１に示すように、ステップ１０１〜ステップ１０４を備える。
【００５０】
ステップ１０１では、クライアントからサーバーへ送信したサービスメッセージを切り取る。
【００５１】
具体的に、ＤＤＯＳ攻撃の防御デバイス（防御デバイス）はクライアントがサーバーへ送信したサービスメッセージを切り取る。クライアントが送信したサービスメッセージは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ、伝送制御プロトコル）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ、ユーザーデータプロトコル）フォーマットのメッセージであり、ＴＣＰ請求メッセージ、ＵＤＰ請求メッセージおよびその他のサーバーとの通信メッセージを含む。
【００５２】
ステップ１０２では、前記クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報、前記サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得する。
【００５３】
ここで、クライアントと合意したルールは、クライアントから来るそれぞれのサービスメッセージに対して、当該サービスメッセージの指定するフィールド中の携帯する情報を取得し、本発明の実施例において、サービスメッセージの第１プリセットフィールドに含まれる情報、サービスメッセージ固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得することである。ここで、固有フィールドはパブリックプロトコルに規定されているサービスメッセージ中のフィールドを示し、固有情報はパブリックプロトコルに規定されているサービスメッセージ中の携帯する必要のある情報である。第１プリセットフィールドと少なくとも１つの第２プリセットフィールドは新たに追加したフィールドであってもよいし、サービスメッセージ中のエディティング可能なフィールドであってもよい。好ましくは、第１プリセットフィールドと少なくとも１つの第２プリセットフィールドはサービスメッセージのペイロードエリア中のフィールドである。さらに、第１プリセットフィールドと少なくとも１つの第２プリセットフィールドは設定の順序に従って、サービスメッセージのペイロードエリアの末端から順に配列し、第１プリセットフィールドと各第２プリセットフィールドはペイロードエリア中において前後の順番の制限がなく、防御デバイスとクライアントは事前に第１プリセットフィールドと各第２プリセットフィールドのペイロードエリアにおける順序を決めればよい。例えば、第２プリセットフィールドは２つを含み、第１プリセットフィールドと２つの第２プリセットフィールドの配列順序は、その中の１つの第２プリセットフィールドと、第１プリセットフィールドと、もう１つの第２プリセットフィールドで、この３つのプリセットフィールドは隣接する。上述の１つの第２プリセットフィールドはペイロードエリアの末端に位置し、第１プリセットフィールドはその中の１つの第２プリセットフィールドの前に、もう１つの第２プリセットフィールドは第１プリセットフィールドの前に位置する。本発明の実施例に係るサービスメッセージのフォーマットは図２に示すように、イーサヘッダ、ＩＰヘッダのサイズとＴＣＰ／ＵＤＰヘッダに対応するフィールドはサービスメッセージの固有フィールドである。即ち、固有フィールドに含まれる内容は変化しないが、ペイロードエリアに含まれる内容はサービスメッセージの作用の違いによって異なる。図２に第１プリセットフィールドと２つの第２プリセットフィールドの位置を示した。図２中の第１プリセットフィールドと２つの第２プリセットフィールドの位置はたった１つの例に過ぎず、第１プリセットフィールドと２つの第２プリセットフィールドはペイロードエリアのその他の所に位置してもよい。
【００５４】
ステップ１０３では、クライアントと合意したハッシュアルゴリズムに従い、前記固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得する。
【００５５】
具体的に、防御デバイスとクライアントは事前にハッシュアルゴリズムを定め、防御デバイスはクライアントが送信したサービスメッセージ中の固有情報と各追加情報を取得した後、定めたハッシュアルゴリズムに従って固有情報と各追加情報に対してハッシュ処理を行い、防御デバイス側のハッシュ結果を取得する。
【００５６】
ステップ１０４では、前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は同じでないことを確定した場合、前記サービスメッセージを廃棄する。
【００５７】
具体的に、非攻撃サービスメッセージ中の第１プリセットフィールドに含まれる情報は当該非攻撃サービスメッセージのクライアントが防御デバイスとの間で定めたハッシュアルゴリズムに従って、非攻撃サービスメッセージ中の固有情報と追加情報に対してハッシュ処理した後のクライアントハッシュ結果であり、一方、攻撃メッセージ中の第１プリセットフィールドに含まれる情報は未知情報であるため、防御デバイスは防御デバイス側の演算したハッシュ結果とサービスメッセージ中の第１プリセットフィールドに含まれる情報と比較し、もし防御デバイス側のハッシュ結果と受信したサービスメッセージの第１プリセットフィールドに含まれる情報と異なる場合は、当該サービスメッセージが攻撃メッセージだと判断し、当該サービスメッセージを廃棄する。
【００５８】
本発明の実施例は、防御デバイスは事前にクライアントと合意したルールに従い、サービスメッセージの第１プリセットフィールドに含まれる情報、少なくとも１つの第２プリセットフィールドに含まれる固有情報と追加情報を取得する。そしてクライアントと合意したハッシュアルゴリズムに従い、固有情報と追加情報に対してハッシュ処理を行った後、第１プリセットフィールドに含まれる情報と比較し、比較結果に基づいて、当該サービスメッセージを廃棄するか否かを確定する。これにより、ＤＤＯＳ攻撃を防御するができ、従来技術における統計と機械学習手段を活用して多種類のサービスメッセージの特徴を自動解析するＤＤＯＳ攻撃を防御する方式と比べて、本発明の実施例の防御デバイスは事前にクライアントと合意したルールおよびハッシュアルゴリズムを定めたため、各種サービスメッセージ中の特徴を統計する必要がなく、複雑度が比較的低く、非攻撃メッセージ（正常メッセージ）を誤って廃棄する確率が小さいという目的は実現した。
【００５９】
具体的に、防御デバイス側において、防御デバイスはクライアントと合意したルールに従って、デフォルトサービスメッセージの第１プリセットフィールドに含まれる情報は前記クライアントが前記ハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報に対してハッシュ処理を行った後取得したクライアントハッシュ結果である。防御デバイスはクライアントと合意したルールに従って、デフォルト前記固有フィールドに含まれる固有情報は、前記クライアントのパブリックネットワークＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、ネットワークプロトコル）アドレスであり、当該パブリックネットワークＩＰアドレスは図２に示されたサービスメッセージフォーマットのＩＰヘッダの中に位置する。前記第２プリセットフィールドが２つであり、それぞれに含まれる追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間である。即ち、防御デバイスの切り取ったサービスメッセージが攻撃メッセージである否かにかかわらず、防御デバイスはステップ１０４の処理を行う前に、サービスメッセージの第１プリセットフィールドに含まれる情報は前記クライアントが前記ハッシュアルゴリズムに従って前記固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報に対してハッシュ処理を行った後に取得したクライアントハッシュ結果である。固有フィールドに含まれる固有情報はクライアントパブリックネットワークＩＰアドレスである。２つの第２プリセットフィールドそれぞれに含まれる追加情報はクライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間であるとデフォルトする。当然、防御デバイスとクライアントはクライアントパブリックネットワークＩＰアドレス以外の情報を固有フィールドに含まれる固有情報に定めてもよく、追加情報はその他の情報であってもよい、ここでは制限しない。
【００６０】
ここで、クライアントは初めてサーバーにサービスメッセージを送信した時、当該サービスメッセージ中の携帯する前記サーバーが最近１回前記クライアントに返信した応答メッセージの応答時間の値は０またはその他のデフォルト値である。
【００６１】
具体的に、追加情報にクライアントのローカルＩＰアドレスとクライアントのパブリックネットワークＩＰアドレスが含まれた際、防御デバイスが処理しているサービスメッセージは攻撃メッセージだと確定すると、ローカルＩＰアドレスを通して攻撃クライアントを確定することができる。一方、従来技術のサービスメッセージの中にクライアントのローカルＩＰアドレスが携帯されず、クライアントのパブリックネットワークＩＰアドレスだけが携帯され、同一ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ、ネットワークアドレス転換）環境の下において、複数のクライアントが同一のパブリックネットワークＩＰアドレスに対応する。この時、攻撃目標を具体的なクライアントに定めにくい。本発明の実施例はクライアントのローカルＩＰアドレスを通して攻撃目標を具体的なクライアントに定めることができ、これにより、当該攻撃クライアントに対してさらに制限することができる。
【００６２】
防御デバイスが処理しているサービスメッセージは攻撃メッセージだと確定した時、当該攻撃メッセージが携帯するクライアントのパブリックネットワークＩＰアドレス、クライアントのローカルＩＰアドレスをブラックリストに追加すればいい。当該ブラックリスト中の各クライアントに対して、当該クライアントがブラックリスト中の余剰時間を設置し、当該余剰時間は０である時、当該クライアントのパブリックネットワークＩＰアドレスとローカルＩＰアドレスをブラックリスト中から排除する。具体的には、ブラックリストを作った後、各サービスメッセージに対して、まずブラックリスト中に当該サービスメッセージを送信したクライアントが存在するか否かを探し、見つければ直ちに当該サービスメッセージを廃棄し、そして当該サービスメッセージを送信したクライアントのブラックリスト中の余剰時間を最大値に設置する。もし存在しなければ、当該サービスメッセージに対して図１に提供するＤＤＯＳ攻撃の防御処理を行う。
【００６３】
好ましくは、前記固有フィールドに含まれる固有情報は、前記クライアントのパブリックネットワークＩＰアドレスであり、前記第２プリセットフィールドは２つであり、それぞれに含まれる追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間であると防御デバイスとクライアントと定めた時、ステップ１０３はクライアントと合意したハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得する。図３に示すように、具体的に、ステップ２０１〜ステップ２０３を備える。
【００６４】
ステップ２０１では、前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスとを論理ＯＲ演算し、第１結果を取得する。
【００６５】
具体的に、クライアントのパブリックネットワークＩＰアドレスとローカルＩＰアドレスの長さは４バイトであり、すると、サービスメッセージの第１プリセットフィールドの長さは４バイトであり、携帯ローカルＩＰアドレスの第２プリセットフィールドの長さも４バイトである。サービスメッセージ中の情報はバイナリ文字配列の方式で呈しているため、前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスとを論理ＯＲ演算し、具体的には、クライアントのパブリックネットワークＩＰアドレスに対応するバイナリ文字配列はクライアントのローカルＩＰアドレス対応するバイナリ文字配列と論理和演算し、取得した第１結果もバイナリ文字配列の方式で呈している。
【００６６】
ステップ２０２では、第１結果の下位２バイトと前記応答時間をもって論理ＸＯＲ演算し、第２結果を取得する。具体的に、第１結果の長さは４バイトであり、当該第１結果の下位２バイトと応答時間をもって論理ＸＯＲ演算する。当該応答時間はサーバーが最近１回クライアントに送信した応答メッセージの応答時間であり、当該応答時間の長さは２バイトである。具体的に、第１結果の下位２バイトに対応するバイナリ文字配列と応答時間に対応するバイナリ文字配列とで論理ＸＯＲ演算し、第２結果を取得し、第２結果はバイナリ文字配列の方式で呈する。
【００６７】
ステップ２０３では、前記第２結果とプリセットキーとでＸＯＲ演算し、前記ハッシュ結果を取得する。
【００６８】
具体的に、第２結果の長さは２バイトであり、プリセットキーの長さも２バイトであり、つまり、第２結果に対応するバイナリ文字配列とプリセットキーに対応するバイナリ文字配列とで論理ＸＯＲ演算し、ハッシュ結果を取得する。ここでは、プリセットキーは防御デバイスとクライアントと合意したキーである。
【００６９】
本発明の実施例は具体的なハッシュアルゴリズムを提供している。当該ハッシュアルゴリズムは防御デバイスとクライアント事前に定めたハッシュアルゴリズムであり、防御デバイスは収得した固有情報と追加情報をハッシュ処理して防御デバイス側のハッシュ結果を取得する。
【００７０】
本発明の実施例が提供するハッシュアルゴリズムはただ１つの好ましい実施例であり、防御デバイスとクライアントと合意したハッシュアルゴリズムはその他のハッシュアルゴリズムであってもよく、ここでは制限せず、防御デバイス側とクライアント側の従うハッシュアルゴリズムが一致すればよい。
【００７１】
好ましくは、サービスメッセージ中の１つ第２プリセットフィールドに含まれる追加情報は前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間である場合、さらに好ましくは、図４に示すように、防御デバイスの演算したハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、具体的に、ステップ３０１〜ステップ３０４を備える。
【００７２】
ステップ３０１では、前記サービスメッセージ中の応答時間と前記クライアントが送信した１つ前のサービスメッセージ中の応答時間の時間差を演算する。
【００７３】
具体的に、前記サービスメッセージ中の応答時間は、即ち当該サービスメッセージ中の１つ第２プリセットフィールドに含まれる前記サーバーが最近１回前記クライアントに返信した応答メッセージの応答時間である。１つ前のサービスメッセージは防御デバイスが現在サービスメッセージの前に処理した現在サービスメッセージと隣接する非攻撃サービスメッセージである。具体的に、サービスメッセージ中の応答時間はサーバーが送信する応答メッセージの時間と標準時間の差であり、当該応答時間の単位は秒である。そのため、ステップ３０１の中で演算する時間差の単位は秒である。
【００７４】
ステップ３０２では、前記時間差がプリセット範囲内にあるか否かを判断する。範囲内にある場合はステップ３０３を行い、範囲内にない場合はステップ３０４を執行する。
【００７５】
具体的に、当該プリセット範囲は実際の場景に従って設定でき、本発明の実施例においては当該プリセット範囲に対して制限しない。好ましくは、時間差Ｔが−６０より大きい且つ６０より小さい時、当該時間差Ｔがプリセット範囲内にあると確定し、そうでなければ、当該時間差Ｔがプリセット範囲内にないと確定する。つまり、当該プリセットの好ましい範囲は（−６０、６０）である。
【００７６】
ステップ３０３では、前記サービスメッセージを前記サーバーへ転送する。
【００７７】
ステップ３０４では、前記サービスメッセージを廃棄する。
【００７８】
具体的に、ステップ３０１における時間差がプリセット範囲内にある時、現在のサービスメッセージは再生メッセージの攻撃ではないと確定し、ステップ３０１における時間差がプリセット範囲内にない時、現在のサービスメッセージは再生攻撃メッセージであると確定する。本発明の実施例を利用することで、ＤＤＯＳ攻撃を防御できるだけでなく、再生メッセージの攻撃を防止することもできる。
【００７９】
ここでは、ステップ３０２は、ただ１つのサービスメッセージを廃棄するか否かを判断する方式であり、以下のような方式を採用してサービスメッセージを廃棄するか否かを判断してもよい。仮にサービスメッセージ中の応答時間の長さは２バイトとし、現在サービスメッセージ中の応答時間はＡ１とし、クライアントが送信した１つ前のサービスメッセージ中の応答時間はＡ２とし、Ａ１がＡ２より大きく、且つＡ１−Ａ２＜Ｂの場合、ステップ３０３を行い、そうでなければ、ステップ３０４を行う。Ａ１がＡ２より小さく、かつ、Ｃ＋Ａ１−Ａ２＜Ｂの場合、ステップ３０３を行い、そうでなければ、ステップ３０４を行う。ここでは、Ｂは設定した時間閾値であり、Ｃは０ｘｆｆｆｆに対応する１０進数である。
【００８０】
実施例２
図１が提供した実施例は防御デバイス側における本発明の実施例に係る分散型サービス拒否攻撃を防御する方法について説明したものであり、次はクライアント側における本発明の実施例に係る分散型サービス拒否攻撃を防御する方法について詳しく説明する。
【００８１】
図１が提供した実施例と相対して、本発明の実施例はさらに分散型サービス拒否攻撃を防御する方法を提供し、図５に示すように、ステップ４０１〜ステップ４０３を備える。
【００８２】
ステップ４０１では、防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得する。
【００８３】
ステップ４０２では、前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドにエディティングし、前記少なくとも１つの追加情報を前記サービスメッセージの少なくとも１つの第２プリセットフィールドにエディティングする。
【００８４】
具体的に、１つの追加情報は１つの第２プリセットフィールドに対応する。
【００８５】
ステップ４０１とステップ４０２中の定めたハッシュアルゴリズム、合意したルール、固有情報、追加情報、固有フィールドおよび第２プリセットフィールドの解釈説明に関しては、図１に示す実施例を参考にして、ここでは説明を省略する。
【００８６】
ステップ４０３では、前記合意したルールに基づいて処理したサービスメッセージをサーバーへ送信する。
【００８７】
具体的に、クライアントはハッシュ結果と追加情報をエディティングしたサービスメッセージをサーバーへ送信し、クライアントの送信したサービスメッセージの目的アドレスはサーバーへ向けたが、防御デバイスはクライアントが送信したサービスメッセージを切り取るかもしれない。
【００８８】
本発明の実施例においては、クライアントは事前に防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、且つ防御デバイスと合意したルールに従って、ハッシュ結果をそれぞれサービスメッセージの第１プリセットフィールドにエディティングし、さらに少なくとも１つの追加情報をサービスメッセージの少なくとも１つの第２プリセットフィールドにエディティングした後、サービスメッセージをサーバーに送信する。これにより、非攻撃クライアントが送信したサービスメッセージに明確な特徴を持ち、防御デバイスがクライアントと合意したルールとハッシュアルゴリズムに従ってサービスメッセージに対して濾過をし易くなることで、防御デバイスは各種サービスメッセージ中の特徴を統計する必要がなく、複雑度が比較的低く、非攻撃メッセージ（正常メッセージ）を誤って廃棄する確率が小さいという目的は実現した。
【００８９】
好ましくは、図５が提供した実施例において、前記固有フィールドに含まれる固有情報は、クライアントのパブリックネットワークＩＰアドレスであり、前記追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近１回前記クライアントに返信した応答メッセージの応答時間を含む。ここで、クライアントが初めてサーバーへサービスメッセージを送信した時、当該サービスメッセージ中の携帯する前記サーバーが最近１回前記クライアントに返信した応答メッセージの応答時間の値は０または他のデフォルト値である。
【００９０】
好ましくは、ステップ４０１では、防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得する。図６に示すように、具体的に、ステップ５０１〜ステップ５０３を備える。
【００９１】
ステップ５０１では、前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得する。
【００９２】
ステップ５０２では、第１結果の下位２バイトをもって前記応答時間と論理ＸＯＲ演算し、第２結果を取得する。
【００９３】
ステップ５０３では、前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得する。
【００９４】
ここでは、前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトである。
【００９５】
具体的に、図５に対応する２つの好ましい実施例と図１に対応する好ましい実施例の具体な実施プロセスは類似しており、ここでは説明を省略する。
【００９６】
実施例３
図５が提供する実施例に係るサービスメッセージ中には、サーバーが最近１回クライアントに返信した応答メッセージの応答時間が携帯されている。しかし従来技術では、サーバーがクライアントに応答メッセージを返信する時、応答メッセージ中に当該応答時間を携帯させることがない。本発明の実施例はさらに分散型サービス拒否攻撃を防御する方法を提供しており、図７に示すように、ステップ６０１とステップ６０２を備える。
【００９７】
ステップ６０１では、サーバーはクライアントが送信したサービスメッセージを受信した時、ローカル時間を抽出する。
【００９８】
ここでは、ローカル時間は、サーバーが応答メッセージを返信する時刻に対応する秒数と標準時間の差である。テップ６０１におけるローカル時間は、即ち上記実施例に言及されたサーバーがクライアントに返信する応答メッセージの応答時間である。
【００９９】
ステップ６０２では、前記ローカル時間を応答メッセージのプリセットフィールドに含ませ、前記クライアントへ送信する。
【０１００】
具体的に、サーバーはステップ６０１におけるローカル時間を応答メッセージのプリセットフィールドにエディティングした後、クライアントに送信する。クライアントはサーバーが返信した応答メッセージを受信した時、応答メッセージのプリセットフィールドから当該ローカル時間を抽出し、当該ローカル時間をサーバークライアントに返信した応答メッセージの応答時間にする。
【０１０１】
本発明の実施例が提供するサーバー側における分散型サービス拒否攻撃を防御する方法は、防御デバイスが本発明の実施例に係る方法を利用してＤＤＯＳ攻撃の防御に前提条件を提供した。
【０１０２】
実施例４
本発明の実施例はさらに分散型サービス拒否攻撃を防御する方法を提供しており、図８に示すように、ステップ７０１〜ステップ７０４を備える。
【０１０３】
ステップ７０１では、クライアントからサーバーへ送信したサービスメッセージを切り取る。
【０１０４】
具体的に、ＤＤＯＳ攻撃を防御するデバイス（防御デバイス）はクライアントがサーバーへ送信したサービスメッセージを切り取る。クライアントが送信したサービスメッセージは、ＴＣＰまたはＵＤＰフォーマットメッセージであり、ＴＣＰ請求メッセージ、ＵＤＰ請求メッセージおよびその他サーバーと通信したメッセージを含む。
【０１０５】
ステップ７０２では、クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報および第２プリセットフィールドに含まれる情報を取得する。
【０１０６】
具体的に、クライアントと合意したルールは、クライアントの発した各サービスメッセージから、当該サービスメッセージの指定したフィールド中に携帯する情報を取得し、本発明の実施例において、サービスメッセージの第１プリセットフィールドに含まれる情報および第２プリセットフィールドに含まれる情報を取得することである。好ましくは、第１プリセットフィールドと第２プリセットフィールドはサービスメッセージのペイロードエリア中のフィールドであり、さらに、第１プリセットフィールドはサービスメッセージのペイロードエリア末端に位置する。
【０１０７】
ステップ７０３では、クライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得する。
【０１０８】
具体的に、防御デバイスはクライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報とクライアントと合意したプリセットキーに対してハッシュ処理を行い、防御デバイス側のハッシュ結果を取得する。
【０１０９】
ステップ７０４では、前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は同じでないことを確定した場合、前記サービスメッセージを廃棄する。
【０１１０】
具体的に、非攻撃サービスメッセージ中の第１プリセットフィールドに含まれる情報は、当該非攻撃サービスメッセージを送信するクライアントの、防御デバイスと合意したハッシュアルゴリズムに従って、非攻撃サービスメッセージ中の第２プリセットフィールドに含まれる情報とプリセットキーとハッシュ処理を行った後のクライアントのハッシュ結果である。一方、攻撃メッセージ中の第１プリセットフィールドに含まれる情報は未知情報であるため、防御デバイスは防御デバイス側で演算したハッシュ結果とサービスメッセージ中の第１プリセットフィールドに含まれる情報と比較を行い、防御デバイス側のハッシュ結果が受信したサービスメッセージの第１プリセットフィールドに含まれる情報と同じでない場合、当該サービスメッセージは攻撃メッセージであると確定し、当該サービスメッセージ廃棄する。
【０１１１】
本発明の実施例において、防御デバイスは事前にクライアントと合意したルールに従い、サービスメッセージの第２プリセットフィールドに含まれる情報を取得し、且つクライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報とプリセットキーとハッシュ処理を行った後、第１プリセットフィールドに含まれる情報と比較し、比較結果に基づいて、当該サービスメッセージを廃棄するか否かを確定する。これにより、ＤＤＯＳ攻撃を防御するという目的を実現する。従来技術における統計と機械学習手段を活用して多種類のサービスメッセージの特徴を自動解析して、ＤＤＯＳ攻撃を防御する方式と比べて、本発明の実施例における防御デバイスは事前にクライアントと合意したルールとハッシュアルゴリズムを定めているため、各種サービスメッセージ中の特徴を統計する必要がなく、複雑度が比較的低く、非攻撃メッセージ（正常メッセージ）を誤って廃棄する確率が小さいという目的は実現した。
【０１１２】
具体的に、防御デバイス側において、防御デバイスはクライアントと合意したルールに従って、デフォルトサービスメッセージの第１プリセットフィールドに含まれる情報は前記クライアントが前記ハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーとハッシュ処理を行った後取得したクライアントのハッシュ結果である。サービスメッセージの第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドであり、この時、サービスメッセージの第２プリセットフィールドに含まれる情報はペイロードエリア中の所定数のバイトに対応する情報であり、さらに、所定数のバイトに対応する情報はバイナリ文字配列方式で呈している。
【０１１３】
好ましくは、ステップ７０３では、クライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得する。
【０１１４】
具体的には、前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果を前記ハッシュ結果であると確定する。ここで、第２プリセットフィールドの長さは２バイトであり、前記プリセットキーの長さは２バイトである。
【０１１５】
具体的に、第２プリセットフィールドに含まれる情報に対応するバイナリ文字配列とプリセットキーに対応するバイナリ文字配列を論理ＸＯＲ演算する。ここでは、第２プリセットフィールドに含まれる情報の長さは２バイトであり、この時、第２プリセットフィールドの長さは２バイトであり、プリセットキーの長さは２バイトである。第２プリセットフィールドに含まれる情報の長さはとプリセットキーの長さは２バイトで問題がないが、これに限らない。
【０１１６】
本発明の実施例は具体的なハッシュアルゴリズムを提供した。当該ハッシュアルゴリズムは防御デバイスとクライアントは事前に合意したハッシュアルゴリズムであり、防御デバイスは取得した第２プリセットフィールドに含まれる情報とプリセットキーに対してハッシュ処理をして防御デバイス側のハッシュ結果を取得する。
【０１１７】
本発明の実施例が提供するハッシュアルゴリズムはただ１つの好ましい実施例であり、防御デバイスとクライアントが合意したハッシュアルゴリズムはその他のハッシュアルゴリズムであってもよく、ここでは制限せず、防御デバイス側とクライアント側の従うハッシュアルゴリズムが一致すればよい。
【０１１８】
好ましくは、サービスメッセージの第２プリセットフィールドは前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドである時、本発明の実施例に係る分散型サービス拒否攻撃を防御する方法はさらに、前記クライアントと合意したルールに従い、前記サービスメッセージの第３プリセットフィールドに含まれる、前記クライアントが送信するサービスメッセージの時間と標準時間の差である追加情報を取得する。
【０１１９】
即ち、図９に示すように、以下方式で前記サービスメッセージのペイロードエリア中の所定数のバイトを選択する。
【０１２０】
ステップ８０１では、前記差から前記ペイロードエリアの長さを割って得た余りを算出する。
【０１２１】
具体的に、当該差から前記ペイロードエリアの長さを割って得た余りに基づいて、ペイロードエリアから所定数のバイトを選択する。第３プリセットフィールドの好ましくはペイロードエリア中のフィールドであり、ここでは、第３プリセットフィールドと第１プリセットフィールドのペイロードエリア中における前後の順序は制限しない。好ましくは、第１プリセットフィールドは第３プリセットフィールドの前に位置し、第３プリセットフィールドはペイロードエリア末端に位置する。追加情報はその他情報であってもよく、例えば、クライアントのローカルＩＰアドレスであり、ここでは制限しない。
【０１２２】
ステップ８０２では、前記余りと前記設定数との和が前記ペイロードエリアの長さより大きいか否かを判断し、もし大きい場合、ステップ８０３を行い、そうでなければ、ステップ８０４を執行する。
【０１２３】
ステップ８０３では、前記ペイロードエリアの開始位置から所定数のバイトを選択する。
【０１２４】
ステップ８０４では、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択する。
【０１２５】
具体的に、ステップ８０１中の余りはペイロードエリアのオフセット位置であり、即ち、ペイロードエリアの開始位置からペイロードエリアの末端に余りのバイトをオフセットし、所定数のバイトを選択し始める。しかし、余りと所定数の和がペイロードエリアの長さより大きい時は、さらにペイロードエリアの開始位置からペイロードエリアの末端に余りのバイトをオフセットし、ペイロードエリアの長さ不足問題を引き起こせる所定数のバイトを選択し始める。例えば、もし余りは１０で、ペイロードエリアの長さは１１で、設定数は２である時、余り１０と設定数２の和はペイロードエリアの長さより大きい場合、ペイロードエリアの開始位置から２つのバイトを選択する。もし余りは１０で、ペイロードエリアの長さは１５で、設定数は２である時、余り１０と設定数２の和はペイロードエリアの長さはより大きくない場合、ペイロードエリアの開始位置からペイロードエリアの末端オフセット１０つバイトの位置から始め、２つのバイトを選択する。即ち、ペイロードエリアの第１０のバイト位置から２つのバイトを選択する。
【０１２６】
本発明の実施例は、第２プリセットフィールドに含まれる情報を動的に確定することにより、ＤＤＯＳ攻撃を防御する精度を高めることができる。
【０１２７】
本発明の実施例に係るサービスメッセージのフォーマットは図１０に示した通り、図１０中の第１プリセットフィールドと第３プリセットフィールドの位置を表記した。第２プリセットフィールドの位置は動態的で変化するものであるため、表記していない。図１０中の第１プリセットフィールドと第３プリセットフィールドの位置は１つの例にすぎず、第１プリセットフィールドと第３プリセットフィールドはペイロードエリアのその他の場所に位置してもよい。
【０１２８】
もちろん、所定数のバイトはペイロードエリア中の固定位置の所定数のバイトであってもよく、ここでは限定しない。
【０１２９】
サービスメッセージの第３プリセットフィールドは前記クライアントが前記サービスメッセージを送信する時間と標準時間の差を携帯する時、図１１に示すように、本発明の実施例に係る分散型サービス拒否攻撃を防御する方法は、ステップ９０１〜ステップ９０４をさらに備える。
【０１３０】
ステップ９０１では、前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記差から前記クライアントが送信した１つ前のサービスメッセージ中の差を引いて得た結果を演算し、時間差とする。
【０１３１】
前記クライアントが送信した１つ前のサービスメッセージは、現在サービスメッセージの前に送信したかつ当該現在サービスメッセージに隣接する１つのサービスメッセージを指し、具体的に、１つ前のサービスメッセージの意味は上記１つ前のサービスメッセージの説明を参考にして、ここでは説明を省略する。
【０１３２】
ステップ９０２では、前記時間差がプリセット範囲内にあるか否かを判断する。範囲内にある場合はステップ９０３を行い、範囲内にない場合はステップ９０４を行う。
【０１３３】
具体的に、当該プリセット範囲は実際の場景に従って設定でき、本発明の実施例においては当該プリセット範囲に対して制限しない。好ましくは、時間差Ｔが−６０より大きい且つ６０より小さい時、当該時間差Ｔがプリセット範囲内にあると確定し、そうでなければ、当該時間差Ｔがプリセット範囲内にないと確定する。つまり、当該プリセットの好ましい範囲は（−６０、６０）である。
【０１３４】
ステップ９０３では、前記サービスメッセージを前記サーバーへ転送する。
【０１３５】
ステップ９０４では、前記サービスメッセージを廃棄する。
【０１３６】
具体的に、ステップ９０１における時間差がプリセット範囲内にある時、現在のサービスメッセージは再生メッセージの攻撃ではないと確定し、ステップ９０１における時間差がプリセット範囲内にない時、現在のサービスメッセージは再生攻撃メッセージであると確定する。本発明の実施例を利用することで、ＤＤＯＳ攻撃を防御できるだけでなく、再生メッセージの攻撃を防止することもできる。
【０１３７】
ここで、ステップ９０２は、ただ１つのサービスメッセージを廃棄するか否かを判断する方式であり、以下のような方式を採用してサービスメッセージを廃棄するか否かを判断してもよい。仮にサービスメッセージ中の応答時間の長さは２バイトとし、現在サービスメッセージ中の応答時間はＡ１とし、クライアントが送信した１つ前のサービスメッセージ中の応答時間はＡ２とし、Ａ１がＡ２より大きく、且つＡ１−Ａ２＜Ｂの場合、ステップ９０３を執行し、そうでなければ、ステップ９０４を執行する。Ａ１がＡ２より小さく、かつ、Ｃ＋Ａ１−Ａ２＜Ｂの場合、ステップ９０３を執行し、そうでなければ、ステップ９０４を執行する。ここで、Ｂは設定した時間閾値であり、Ｃは０ｘｆｆｆｆに対応する１０進数である。
【０１３８】
実施例５
図８が提供した実施例は、防御デバイス側における本発明の実施例に係る分散型サービス拒否攻撃を防御する方法について説明したものであり、次はクライアント側における本発明の実施例に係る分散型サービス拒否攻撃を防御する方法について詳しく説明する。
【０１３９】
図８が提供した分散型サービス拒否攻撃を防御する方法に相対して、本発明の実施例はさらに分散型サービス拒否攻撃を防御する方法を提供し、図１２に示すように、ステップ１００１〜ステップ１００３を備える。
【０１４０】
ステップ１００１では、防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得する。
【０１４１】
ステップ１００２では、前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドにエディティングする。
【０１４２】
ステップ１００１とステップ１００２中の定めたハッシュアルゴリズム、合意したルール、第２プリセットフィールドに含まれる情報、第１プリセットフィールドに含まれる情報、第１プリセットフィールドおよび第２プリセットフィールド解釈説明に関しては、図８に示す実施例を参考にして、ここでは説明を省略する。
【０１４３】
ステップ１００３では、前記合意したルールに基づいて処理したサービスメッセージをサーバーへ送信する。
【０１４４】
具体的に、クライアントはハッシュ結果をエディティングしたサービスメッセージをサーバーへ送信し、クライアントの送信したサービスメッセージの目的アドレスはサーバーへ向けたが、防御デバイスはクライアントが送信したサービスメッセージを切り取るかもしれない。
【０１４５】
本発明の実施例においては、クライアントは事前に防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報とプリセットキーに対してハッシュ処理を行い、且つ防御デバイスと合意したルールに従って、ハッシュ結果をサービスメッセージの第１プリセットフィールドの後ろにエディティングし、サービスメッセージをサーバーに送信する。これにより、非攻撃クライアントが送信したサービスメッセージに明確な特徴を持ち、防御デバイスがクライアントと合意したルールとハッシュアルゴリズムに従ってサービスメッセージに対して濾過をし易くなることで、防御デバイスは各種サービスメッセージ中の特徴を統計する必要がなく、複雑度が比較的低く、非攻撃メッセージ（正常メッセージ）を誤って廃棄する確率が小さいという目的は実現した。
【０１４６】
好ましくは、前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドである。
【０１４７】
好ましくは、本発明の実施例に係る分散型サービス拒否攻撃を防御する方法は、さらに、前記防御デバイスと合意したルールに従い、クライアントが前記サービスメッセージを送信する時間と標準時間の差である追加情報を前記サービスメッセージの第３プリセットフィールドにエディティングする。
【０１４８】
即ち、図１３に示すように、以下の方式で前記サービスメッセージのペイロードエリア中の所定数のバイトを選択する。
【０１４９】
ステップ１１０１では、前記差から前記ペイロードエリアの長さを割って得た余りを演算する。
【０１５０】
ステップ１１０２では、前記余りと前記設定数との和が前記ペイロードエリアの長さより大きいか否かを判断し、もし大きい場合、ステップ１１０３を行い、そうでなければ、ステップ１１０４を行う。
【０１５１】
ステップ１１０３では、前記ペイロードエリアの開始位置から所定数のバイトを選択する。
【０１５２】
ステップ１１０４では、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択する。
【０１５３】
好ましくは、ステップ１００１では、防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得する。
【０１５４】
具体的に、前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果を前記ハッシュ結果と確定する。ここで、第２プリセットフィールドの長さは２バイトであり、前記プリセットキーの長さは２バイトである。
【０１５５】
具体的に、本発明の実施例が提供した各好ましい実施例の具体な実施プロセスは図８が提供した実施例に対応する好ましい実施例と類似しており、ここでは説明を省略する。
【０１５６】
実施例６
実施例１に対応し、本発明の実施例は分散型サービス拒否攻撃を防御する装置を提供しており、図１４に示すように、クライアントからサーバーへ送信したサービスメッセージを切り取るのに用いる切り取りユニット１４０１と、前記クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報、前記サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得するのに用いる取得ユニット１４０２と、クライアントと合意したハッシュアルゴリズムに従い、前記固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニット１４０３と、前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は同じでないことを確定した場合、前記サービスメッセージを廃棄するのに用いる確定ユニット１４０４と、を備える。
【０１５７】
好ましくは、前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報に対してハッシュ処理を行い、取得したクライアントハッシュ結果である。前記固有フィールドに含まれる固有情報は、前記クライアントのパブリックネットワークプロトコルＩＰアドレスである。前記第２プリセットフィールドは２つであり、それぞれに含まれる追加情報は、前記クライアントのローカルＩＰアドレスと前記サーバーが最近１回前記クライアントに返信した応答メッセージの応答時間である。
【０１５８】
好ましくは、前記処理ユニットは具体的に、前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得する。
【０１５９】
第１結果の下位２バイトと前記応答時間をもって論理ＸＯＲ演算し、第２結果を取得する。
【０１６０】
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得する。
【０１６１】
ここで、前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトである。
【０１６２】
好ましくは、前記確定ユニットはさらに、前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記サービスメッセージ中の応答時間と前記クライアントが送信した１つ前のサービスメッセージ中の応答時間の時間差を演算する。
【０１６３】
前記時間差がプリセット範囲内にあるか否かを判断する。
【０１６４】
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送する。
【０１６５】
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄する。
【０１６６】
本発明の実施例はさらに防御デバイスを提供しており、実施例６が提供するいずれか１つの装置を備える。
【０１６７】
実施例７
実施例２に対応し、本発明の実施例は分散型サービス拒否攻撃を防御する装置を提供しており、図１５に示すように、防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニット１５０１と、前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドにエディティングし、前記少なくとも１つの追加情報を前記サービスメッセージの少なくとも１つの第２プリセットフィールドにエディティングするのに用いるエディティングユニット１５０２と、前記合意したルールに基づいて処理したサービスメッセージをサーバーへ送信するのに用いる送信ユニット１５０３と、を備える。
【０１６８】
好ましくは、前記固有フィールドに含まれる固有情報は、前記装置のパブリックネットワークプロトコルＩＰアドレスであり、前記追加情報は、前記装置のローカルＩＰアドレスおよび前記サーバーが最近１回前記装置に返送した応答メッセージの応答時間を含む。
【０１６９】
好ましくは、前記処理ユニットは具体的に、前記装置のパブリックネットワークプロトコルＩＰアドレスと前記装置のローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得する。
【０１７０】
第１結果の下位２バイトと前記応答時間をもって論理ＸＯＲ演算し、第２結果を取得する。
【０１７１】
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得する。
【０１７２】
ここで、前記プリセットキーおよび応答時間の長さはそれぞれ２バイトである。前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトである。
【０１７３】
本発明の実施例はさらにクライアントを提供しており、実施例７が提供するいずれか１つの装置を備える。
【０１７４】
実施例８
実施例３に対応し、本発明の実施例は分散型サービス拒否攻撃を防御する装置を提供しており、図１６に示すように、クライアントが送信したサービスメッセージを受信した場合、ローカル時間を抽出するのに用いる抽出ユニット１６０１と、前記ローカル時間を応答メッセージのプリセットフィールドに含ませ、前記クライアントへ送信するのに用いる送信ユニット１６０２と、を備える。
【０１７５】
本発明の実施例はさらにサーバーデバイスを提供しており、図１６が提供する装置を備える。
【０１７６】
実施例９
実施例４に対応し、本発明の実施例は分散型サービス拒否攻撃を防御する装置を提供しており、図１７に示すように、クライアントからサーバーへ送信したサービスメッセージを切り取るのに用いる切り取りユニット１７０１と、クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報および第２プリセットフィールドに含まれる情報を取得するのに用いる取得ユニット１７０２と、クライアントと合意したハッシュアルゴリズムに従い、第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニット１７０３と、前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は同じでないことを確定した場合、前記サービスメッセージを廃棄するのに用いる確定ユニット１７０４と、を備える。
【０１７７】
好ましくは、前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行って取得したクライアントのハッシュ結果である。前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドである。
【０１７８】
好ましくは、前記取得ユニットは、さらに、前記クライアントと合意したルールに従い、前記サービスメッセージの第３プリセットフィールドに含まれる、前記サービスメッセージを送信する時間と標準時間の差である追加情報を取得すると、以下の方式で前記サービスメッセージのペイロードエリア中の所定数のバイトを選択する。
【０１７９】
前記差から前記ペイロードエリアの長さを割って得た余りを演算し、前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断し、もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択する。
【０１８０】
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択する。
【０１８１】
好ましくは、前記確定ユニットはさらに、前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記差から前記クライアントが送信した１つ前のサービスメッセージ中の差を引いて得た結果を算出し、時間差とする。
【０１８２】
前記時間差がプリセット範囲内にあるか否かを判断する。
【０１８３】
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送する。
【０１８４】
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄する。
【０１８５】
好ましくは、前記処理ユニットは具体的に、前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果を前記ハッシュ結果であると確定するのに用いる。ここで、前記第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトである。
【０１８６】
本発明の実施例はさらに防御デバイスを提供しており、実施例９が提供するいずれか１つの装置を備える。
【０１８７】
実施例１０
実施例５に対応し、本発明の実施例は分散型サービス拒否攻撃を防御する装置を提供しており、図１８に示すように、防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの第２プリセットフィールドに含まれる情報およびプリセットキーに対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニット１８０１と、前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドにエディティングするのに用いるエディティングユニット１８０２と、前記合意したルールに基づいて処理したサービスメッセージをサーバーへ送信するのに用いる送信ユニット１８０３と、を備える。
【０１８８】
好ましくは、前記第２プリセットフィールドは、前記サービスメッセージのペイロードエリア中の所定数のバイトからなるフィールドである。
【０１８９】
好ましくは、前記エディティングユニットはさらに、前記防御デバイスと合意したルールに従い、前記装置が前記サービスメッセージを送信する時間と標準時間の差である追加情報を前記サービスメッセージの第３プリセットフィールドにエディティングすると、以下の方式で前記サービスメッセージのペイロードエリア中の所定数のバイトを選択する。
【０１９０】
前記差から前記ペイロードエリアの長さを割って得た余りを演算するステップと、
前記余りと前記所定数の和が前記ペイロードエリアの長さより大きいか否かを判断する。
【０１９１】
もし大きい場合、前記ペイロードエリアの開始位置から所定数のバイトを選択する。
【０１９２】
もし大きくない場合、前記ペイロードエリアの開始位置から前記余りのバイト位置をオフセットすることを始め、所定数のバイトを選択する。
【０１９３】
好ましくは、前記処理ユニットは具体的に、前記第２プリセットフィールドに含まれる情報とプリセットキーに対して論理ＸＯＲ演算して取得した結果を前記ハッシュ結果であると確定するのに用いる。ここで、前記第２プリセットフィールドに含まれる情報の長さは２バイトであり、前記プリセットキーの長さは２バイトである。
【０１９４】
本発明の実施例はさらにクライアントを提供しており、実施例１０が提供するいずれか１つの装置を備える。
【０１９５】
本発明が提供した分散型サービス拒否攻撃を防御する方法、装置、クライアントおよびデバイス方法を利用すると、以下のような効果を有する。防御デバイスは事前にクライアントと合意したルールに従い、サービスメッセージの第１プリセットフィールドに含まれる情報、少なくとも１つの第２プリセットフィールドに含まれる固有情報と追加情報を取得し、且つクライアントと合意したハッシュアルゴリズムに従い、固有情報と追加情報に対してハッシュ処理を行った後、第１プリセットフィールドに含まれる情報と比較し、比較結果に基づいて、当該サービスメッセージを廃棄するか否かを確定する。これにより、ＤＤＯＳ攻撃を防御するができ、従来技術における統計と機械学習手段を活用して多種類のサービスメッセージの特徴を自動解析するＤＤＯＳ攻撃を防御する方式と比べて、本発明の実施例の防御デバイスは事前にクライアントと合意したルールおよびハッシュアルゴリズムを定めたため、各種サービスメッセージ中の特徴を統計する必要がなく、複雑度が比較的低く、非攻撃メッセージ（正常メッセージ）を誤って廃棄する確率が小さいという目的は実現した。
【０１９６】
本発明は本発明の実施例における方法、デバイス（システム）、コンピュータ・プログラムのフローチャートおよび／またはブロック図を参考にして説明したものである。コンピュータ・プログラム指令によってフローチャートと／またはブロック図の中の各フローおよび／またはブロック、およびフローチャートおよび／またはブロック図の中のフローおよび／またはブロックの結合を実現できると理解すべきである。これらのコンピュータ・プログラム指令を汎用コンピュータ、専用コンピュータ、組み込み処理機又はその他プログラマブルデータ処理装置のプロセッサに供給して１つの機器を生成させる。これにより、コンピュータやその他のプログラマブルデータ処理装置のプロセッサによって実行される指令はフローチャートの１つのフローまたは複数のフローおよび／またはブロック図の１つのブロックまたは複数のブロックにおける指定される機能を実現するための装置を発生させる。
【０１９７】
これらのコンピュータ・プログラム指令をコンピュータやその他のプログラマブルデータ処理装置を導いて特定の方式で働くコンピュータ読み取り可能なメモリに格納してもよい。これにより、コンピュータ読み取り可能なメモリに格納された指令に指令装置を含む調製品を発生させる。当該指令装置は１つのフローまたは複数のフローおよび／またはブロック図の１つのブロックまたは複数のブロックにおける指定される機能を実現する。
【０１９８】
これらのコンピュータ・プログラム指令をコンピュータやその他のプログラマブルデータ処理装置にも装填することができ、コンピュータやその他のプログラマブル装置上で一連の操作ステップ実行することでコンピュータの実現できる処理を発生させ、これにより、コンピュータや他のプログラマブル装置で実行される指令はフローチャートの１つのフローまたは複数のフローおよび／またはブロック図の１つのブロックまたは複数のブロックにおける指定される機能を実現するためのステップを提供することができる。
【０１９９】
本発明の好ましい実施例を説明したが、本分野の技術者が基本的な創造性概念を一旦分かれば、これらの実施例を別途に変更と修正することは容易に想到するので、添付する特許請求の範囲は好ましい実施例および本発明の範囲に包括されるすべての変更と修正を含む。
【０２００】
本分野の技術者は本発明の思想範疇を逸脱しない範囲内で、各種の修正と変形に想到し得ることは明らかであり、これらの修正と変形は本発明の特許請求の範囲内または同一視できる範囲内の技術であれば、当然に本発明の技術的範囲に属するものと了解される。
【０２０１】
本開示は、出願日が２０１５年１２月３０日であり、出願番号が２０１５１１０２１２９２．８であり、発明の名称は「分散型サービス拒否攻撃を防御する方法、装置、クライアントおよびデバイス」である。当該中国特許出願の優先権を主張し、当該中国特許出願の全ての内容は、参考のため本願に援用する。
【図１】
2019502315.tif 000003
【図２】
2019502315.tif 000004
【図３】
2019502315.tif 000005
【図４】
2019502315.tif 000006
【図５】
2019502315.tif 000007
【図６】
2019502315.tif 000008
【図７】
2019502315.tif 000009
【図８】
2019502315.tif 000010
【図９】
2019502315.tif 000011
【図１０】
2019502315.tif 000012
【図１１】
2019502315.tif 000013
【図１２】
2019502315.tif 000014
【図１３】
2019502315.tif 000015
【図１４】
2019502315.tif 000016
【図１５】
2019502315.tif 000017
【図１６】
2019502315.tif 000018
【図１７】
2019502315.tif 000019
【図１８】
2019502315.tif 000020
【手続補正書】
【提出日】平成30年7月11日(2018.7.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアントからサーバーへ送信したサービスメッセージを切り取るステップと、
前記クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報、前記サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得するステップと、
クライアントと合意したハッシュアルゴリズムに従い、前記固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は異なることを確定した場合、前記サービスメッセージを廃棄するステップと、を備えることを特徴とする分散型サービス拒否攻撃を防御する方法。
【請求項２】
前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報に対してハッシュ処理を行い、取得したクライアントハッシュ結果であり、
前記固有フィールドに含まれる固有情報は、前記クライアントのパブリックネットワークプロトコルＩＰアドレスであり、
前記第２プリセットフィールドは２つであり、それぞれに含まれる追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間であることを特徴とする請求項１に記載の分散型サービス拒否攻撃を防御する方法。
【請求項３】
クライアントと合意したハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップは、
前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得するステップと、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得するステップと、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得するステップと、を備え、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトであることを特徴とする請求項２に記載の分散型サービス拒否攻撃を防御する方法。
【請求項４】
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記サービスメッセージ中の応答時間と前記クライアントが送信した１つ前のサービスメッセージ中の応答時間の時間差を演算するステップと、
前記時間差がプリセット範囲内にあるか否かを判断するステップと、
プリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送するステップと、
プリセット範囲内にない場合、前記サービスメッセージを廃棄するステップと、をさらに備えることを特徴とする請求項２または３に記載の分散型サービス拒否攻撃を防御する方法。
【請求項５】
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドまでエディティングし、前記少なくとも１つの追加情報を前記サービスメッセージの少なくとも１つの第２プリセットフィールドまでエディティングするステップと、
前記合意したルールに基づき処理したサービスメッセージをサーバーへ送信するステップと、を備えることを特徴とする分散型サービス拒否攻撃を防御する方法。
【請求項６】
前記固有フィールドに含まれる固有情報は、クライアントのパブリックネットワークプロトコルＩＰアドレスであり、
前記追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間を含むことを特徴とする請求項５に記載の分散型サービス拒否攻撃を防御する方法。
【請求項７】
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップは、
前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得するステップと、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得するステップと、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得するステップと、を備え、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトであることを特徴とする請求項６に記載の分散型サービス拒否攻撃を防御する方法。
【請求項８】
サーバーはクライアントが送信したサービスメッセージを受信した場合、ローカル時間を抽出するステップと、
前記ローカル時間を応答メッセージのプリセットフィールドに含ませ、前記クライアントへ送信するステップと、を含むことを特徴とする分散型サービス拒否攻撃を防御する方法。
【請求項９】
クライアントからサーバーへ送信したサービスメッセージを切り取る、切り取りユニットと、
前記クライアントと合意したルールに基づき、前記サービスメッセージの第１プリセットフィールドに含まれる情報、前記サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報を取得する、取得ユニットと、
クライアントと合意したハッシュアルゴリズムに従い、前記固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得する、処理ユニットと、
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報は異なることを確定した場合、前記サービスメッセージを廃棄する、確定ユニットと、を備えることを特徴とする分散型サービス拒否攻撃を防御する装置。
【請求項１０】
前記第１プリセットフィールドに含まれる情報は、前記クライアントが前記ハッシュアルゴリズムに従い、前記固有フィールドに含まれる固有情報および少なくとも１つの第２プリセットフィールドに含まれる追加情報に対してハッシュ処理を行い、取得したクライアントハッシュ結果であり、
前記固有フィールドに含まれる固有情報は、前記クライアントのパブリックネットワークプロトコルＩＰアドレスであり、
前記第２プリセットフィールドは２つであり、それぞれに含まれる追加情報は、前記クライアントのローカルＩＰアドレスおよび前記サーバーが最近前記クライアントに返信した応答メッセージの応答時間であることを特徴とする請求項９に記載の分散型サービス拒否攻撃を防御する装置。
【請求項１１】
前記処理ユニットは、
前記クライアントのパブリックネットワークＩＰアドレスと前記クライアントのローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得し、
第１結果の下位２バイトと前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得し、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得し、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトであることを特徴とする請求項１０に記載の分散型サービス拒否攻撃を防御する装置。
【請求項１２】
前記確定ユニットは
前記ハッシュ結果と前記第１プリセットフィールドに含まれる情報が同じであることを確定した場合、前記サービスメッセージ中の応答時間と前記クライアントが送信した１つ前のサービスメッセージ中の応答時間の時間差を演算し、
前記時間差がプリセット範囲内にあるか否かを判断し、
もしプリセット範囲内にある場合、前記サービスメッセージを前記サーバーへ転送し、
もしプリセット範囲内にない場合、前記サービスメッセージを廃棄することを特徴とする請求項１０または１１に記載の分散型サービス拒否攻撃を防御する装置。
【請求項１３】
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するのに用いる処理ユニットと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドまでエディティングし、前記少なくとも１つの追加情報を前記サービスメッセージの少なくとも１つの第２プリセットフィールドまでエディティングするのに用いるエディティングユニットと、
前記合意したルールに基づき処理したサービスメッセージをサーバーへ送信するのに用いる送信ユニットと、を備えることを特徴とする分散型サービス拒否攻撃を防御する装置。
【請求項１４】
前記固有フィールドに含まれる固有情報は、前記装置のパブリックネットワークプロトコルＩＰアドレスであり、
前記追加情報は、前記装置のローカルＩＰアドレスおよび前記サーバーが直近で前記装置に返送した応答メッセージの応答時間を含むことを特徴とする請求項１３に記載の分散型サービス拒否攻撃を防御する装置。
【請求項１５】
前記処理ユニットは、
前記装置のパブリックネットワークプロトコルＩＰアドレスと前記装置のローカルＩＰアドレスを論理ＯＲ演算し、第１結果を取得し、
第１結果の下位２バイト３前記応答時間を取得し、論理ＸＯＲ演算し、第２結果を取得し、
前記第２結果とプリセットキーをＸＯＲ演算し、前記ハッシュ結果を取得し、
前記プリセットキーおよび応答時間の長さはそれぞれ２バイトであり、前記パブリックネットワークＩＰアドレスおよびローカルＩＰアドレスの長さはそれぞれ４バイトであることを特徴とする請求項１４に記載の分散型サービス拒否攻撃を防御する装置。
【請求項１６】
クライアントが送信したサービスメッセージを受信した場合、ローカル時間を抽出するのに用いる抽出ユニットと、
前記ローカル時間を応答メッセージのプリセットフィールドに含ませ、前記クライアントへ送信するのに用いる送信ユニットと、を備えることを特徴とする分散型サービス拒否攻撃を防御する装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
第２態様によれば、分散型サービス拒否攻撃を防御する方法を提供し、当該方法は、
防御デバイスと合意したハッシュアルゴリズムに従い、サービスメッセージの固有フィールドに含まれる固有情報および少なくとも１つの追加情報に対してハッシュ処理を行い、ハッシュ結果を取得するステップと、
前記防御デバイスと合意したルールに基づき、前記ハッシュ結果を前記サービスメッセージの第１プリセットフィールドにエディティングし、前記少なくとも１つの追加情報を前記サービスメッセージの少なくとも１つの第２プリセットフィールドにエディティングするステップと、
前記合意したルールに基づいて処理したサービスメッセージをサーバーへ送信するステップと、を備える。
【国際調査報告】
2019502315.tif 000021
2019502315.tif 000022
2019502315.tif 000023
2019502315.tif 000024
2019502315.tif 000025