プロトコル攻撃は、OSIモデルのネットワーク層(層3)とトランスポート層(層4)をターゲットにします。これらは、ファイアウォール、ロード・バランサー、Webサーバーなどの重要なネットワーク・リソースを、悪意ある接続要求で過負荷にすることを目的としています。
最も一般的なタイプのプロトコル攻撃の中に、SYNフラッド攻撃とSmurf攻撃という2つがあります。
SYNフラッド攻撃は、2つのデバイスが相互に接続を確立するプロセスであるTCPハンドシェイクを利用します。 一般的なTCPハンドシェイクには、次の3つのステップがあります。
- 1つのデバイスが同期(SYN)パケットを送信して接続を開始する。
- 他のデバイスは、同期/確認応答(SYN/ACK)パケットで応答して要求を確認します。
- 元のデバイスはACKパケットを送り返して接続を完了する。
SYNフラッド攻撃では、攻撃者は、スプーフィングされたソースIPアドレスを持つ大量のSYNパケットをターゲット・サーバーに送信します。サーバーは、スプーフィングされたIPアドレスに応答し、最後のACKパケットを待ちます。ソースIPアドレスがスプーフィングされているため、これらのパケットは到着しません。サーバーは多数の未完了の接続で拘束されており、正当なTCPハンドシェイクが利用できなくなります。
スマーフ攻撃は、2 つのデバイス間の接続ステータスを評価するために使用される通信プロトコルであるインターネット・コントロール・メッセージ・プロトコル(ICMP)を利用します。
一般的なICMP交換では、あるデバイスが別のデバイスに ICMPエコー要求を送信し、後者のデバイスがICMPエコー応答によって応答します。
Smurf攻撃では、攻撃者は被害者のIPアドレスと一致するスプーフィングされたIPアドレスからICMPエコー要求を送信します。このICMPエコー要求はIPブロードキャスト・ネットワークに送信され、ネットワーク上のすべてのデバイスに要求が転送されます。
ICMPエコー要求を受信するすべてのデバイス(場合によっては数百または数千のデバイス)は、被害者のIPアドレスにICMPエコー応答を送信することで応答します。その膨大な応答量は、被害者のデバイスが処理できる量を超えます。他の多くの種類のDDoS攻撃とは異なり、Smurf攻撃は必ずしもボットネットを必要としません。