SYN Flood攻撃は、Dos攻撃で最も多く使われている攻撃です。
SYNフラグがオンになったパケットを大量に送りつけることでサーバーを麻痺させます。
SYN Flood攻撃の仕組みについて少し書いておきます。
TCPではスリーウェイハンドシェイクという手順を使って、コネクションを確立します。
サーバー側ではアプリケーションに関連づけられたポートをListen状態にして、クライアントからの接続要求を待ち受けます。
ここにSYNフラグがオンになったパケットが届くとSYN/ACKがオンになったフラグを返し、且つポートの状態をSYN-RCVDに切り替え、クライアントからACKパケットが届いた時点でTCPコネクションが確立します。
このスリーウェイハンドシェイクの流れを悪用したのがSYN Flood攻撃です。
クライアントからSYNフラグがオンになったパケットが届くとサーバーはポートの状態をSYN-RCVDに変え、受信に必要なメモリーを確保します。
もし、最後のACKパケットが届かなければこの状態が一定時間、維持されます。
そこで、攻撃する側は一度に大量のSYNパケットを一方的に送りつけ、サーバー側からのSYN/ACKパケットは無視します。
このようにしてサーバーのメモリーを食いつぶし、サービスをダウンさせます。
このような攻撃に対する対策は一定時間に受け取るSYNパケットの量を制限することです。
ただし、多くのOSの最新バージョンでは対策がなされています。
このページのトップへ