

SYNフラッドは、データ通信に対するサービス拒否攻撃の一種であり、攻撃者がサーバーへの接続を確定させることなく、急速に接続を開始する攻撃です。サーバーは、半開状態の接続を待つためにリソースを消費する必要があり、その結果、システムが正当なトラフィックに応答しなくなるほどのリソースを消費する可能性があります。[ 1 ] [ 2 ]
攻撃者が送信するパケットは、接続を確立するために使用されるTCPの3ウェイハンドシェイクSYNの一部であるパケットです。 [ 3 ]
クライアントがサーバーへのTCP接続を開始しようとすると、クライアントとサーバーは通常次のような一連のメッセージを交換します。
SYN(同期) メッセージを送信して接続を要求します。SYN-ACKACK、接続が確立されます。これはTCP 3 ウェイ ハンドシェイクと呼ばれ、TCP プロトコルを使用して確立されるすべての接続の基礎となります。
SYNフラッド攻撃は、サーバーに期待されるACKコードで応答しないことで機能します。悪意のあるクライアントは、期待される を単に送信しないACKか、の送信元IPアドレスを偽装することで、サーバーが偽のIPアドレスに を送信するように仕向けます。偽のIPアドレスは、を送信していないことを「認識」しているため、 を送信しません。 SYNSYN-ACKACKSYN
サーバーはしばらく確認応答を待機します。これは、単純なネットワーク輻輳が応答の欠落の原因となる可能性もあるためですACK。しかし、攻撃では、悪意のあるクライアントによって作成された半オープン接続がサーバーのリソースをバインドし、最終的にはサーバーの利用可能なリソースを超える可能性があります。その時点で、サーバーは正当なクライアントであるかどうかにかかわらず、いかなるクライアントにも接続できなくなります。これは、正当なクライアントへのサービスを事実上拒否することになります。また、他のオペレーティングシステム機能がこのようにリソース不足に陥ると、一部のシステムでは誤動作やクラッシュが発生することもあります。
RFC 4987 には、次のようなよく知られた対策が多数記載されています。