SYNフラッド(TCP SYNフラッドとも呼ばれます)は、サーバーに大量のSYNリクエストを送信し、未完了の接続で過負荷に陥らせるサービス拒否(DoS)攻撃または分散型サービス拒否(DDoS)攻撃の一種です。

SYNフラッドとは

SYNフラッドは、ハーフオープン攻撃とも呼ばれるネットワーク層への攻撃です。サーバーに大量の接続要求を送り付ける一方で、対応する確認応答には応答しません。その結果、大量のTCP接続が開いたままとなってサーバーのリソースを消費し、正規のトラフィックが実質的に締め出されます。これにより、新たな正規の接続を確立できなくなるほか、すでに接続している認証済みユーザーに対しても、サーバーが正常に機能することが困難または不可能になります。

SYNフラッドの緩和が重要な理由

一般公開されているWebサイトを持つほぼすべての組織が、この種の攻撃を受ける可能性があります。SYNフラッドを迅速に検知して対処しなければ、サーバーが短時間で過負荷に陥り、応答速度が大幅に低下して、ほかの接続を受け付けられなくなるおそれがあります。その結果、サーバーは事実上オフラインとなり、正規ユーザーへのサービス提供が妨げられ、アプリケーションやデータにアクセスできなくなったり、電子商取引を行えなくなったりします。事業継続性の喪失、重要インフラの停止、売上の損失、評判の低下などにつながる可能性があります。医療業界など一部の組織では、データにアクセスできないことが人命に関わる場合もあります。

F5 Labsの調査によると、SYNフラッドは毎年、最も多く見られるボリューム型DoS攻撃の1つです。ランサムウェア攻撃、データ窃取、マルウェアの埋め込みなど、ほかの種類の攻撃と組み合わせて、またはそれらを隠すための陽動として使用される可能性があります。

SYNフラッドの仕組み

クライアントとサーバー間の通信は、標準化された3ウェイハンドシェイクから始まります。クライアントがSYNパケットを送信し、サーバーがSYN-ACKで応答すると、TCP接続が確立されます。SYNフラッド攻撃では、クライアントが処理能力を圧倒するほど大量のSYNリクエストを送信し、サーバーからのSYN-ACKメッセージに意図的に応答しません。

その結果、サーバーにはクライアントからの後続の通信を待つ接続が開いたまま残ります。各接続はサーバーのTCP接続テーブルで追跡されるため、やがてテーブルがいっぱいになり、送信元を問わず新たな接続試行がすべてブロックされます。これにより、事業継続性が損なわれ、データにアクセスできなくなります。

SYNフラッドは、攻撃の特定と緩和を困難にするため、偽装IPアドレスから接続するボットによって実行されることがよくあります。ボットネットは、SYNフラッドを分散型サービス拒否(DDoS)攻撃として仕掛けることができます。

F5はSYNフラッド攻撃をどのように緩和するのか

F5 DDoS防御ソリューション は、ネットワークへの攻撃によってサーバー層やアプリケーション層が機能不全に陥ったり、さらには停止して顧客が利用できなくなったりする事態の防止に役立ちます。F5のソリューションは、SYNフラッド攻撃が発生している可能性を認識し、正当な接続には保護対象ネットワークへのアクセスを許可しながら、接続テーブルを保護するための防御措置を講じて攻撃を緩和できます。この防御では、攻撃者のSYNリクエストに応答するため、攻撃者には攻撃が成功しているように見えます。しかし、接続テーブルのスロットを保持するのは有効な接続リクエストだけなので、接続テーブルが上限に達することはありません。