TCP SYNフラッドとしても知られるSYNフラッドは、一種のDoS攻撃(サービス拒否攻撃)またはDDoS攻撃(分散型サービス拒否攻撃)で、大量のSYNリクエストをサーバに送信して、多数のオープン接続によってサーバに過剰な負荷をかけます。
ハーフオープン攻撃としても知られるSYNフラッドは、ネットワーク層への攻撃です。サーバを接続リクエスト攻めにし、それらのリクエストに対応する確認応答は無視します。その結果、オープン状態の多数のTCP接続がサーバのリソースを消費し、事実上、正当なトラフィックを閉め出し、新しい正当な接続をオープンにできなくなるだけでなく、サーバがすでに接続された承認済みのユーザーのために正しく機能することも困難または不可能になります。
事実上、公開Webサイトを持つすべての組織は、この種の攻撃に対して脆弱です。SYNフラッドを迅速に検出して対処しないと、すぐにサーバに過剰な負荷がかかり、サーバの応答が大幅に減速したり、他の接続ができなくなったりする可能性があります。これにより、サーバは実質的にオフラインとなり、正当なユーザーはサービスを拒否され、アプリケーションやデータへのアクセスを失い、eコマースができなくなります。その結果として、ビジネス継続性の損失、重要なインフラストラクチャの崩壊、売上減少、評判の失墜などが考えられます。ヘルスケア業界などの特定の組織にとっては、データへのアクセスの損失は命にかかわることがあります。
F5 Labsの調査では、SYNフラッドが毎年、最も一般的なボリューム型DoS攻撃の一つとなっていることが示されています。この攻撃は、ランサムウェア攻撃や、データを盗んだりマルウェアを仕掛けたりする他の攻撃と組み合わせて、またはそれらの攻撃を隠すために使用されることがあります。
すべてのクライアントとサーバの通信は、標準の3ウェイ ハンドシェイクから始まります。クライアントがSYNパケットを送信し、サーバがSYN-ACKで応答すると、TCP接続が確立します。SYNフラッド攻撃では、クライアントが過剰な数のSYNリクエストを送信し、サーバのSYN-ACKメッセージにはまったく応答しません。
これにより、サーバでは接続がオープン状態のままになり、クライアントからのその後の通信を待ちます。各接続はサーバのTCP接続テーブルで追跡され、最終的にそのテーブルが一杯になり、任意のソースからのその他の接続試行はブロックされます。その結果、ビジネス継続性とデータ アクセスが失われます。
SYNフラッドは、なりすましのIPアドレスから接続するボットによって実行されることが多いため、攻撃の特定と緩和が困難です。ボットネットは、DDoS攻撃(分散型サービス拒否攻撃)としてSYNフラッドを仕掛けることがあります。
F5のDDoS対策ソリューションは、ネットワークに対する攻撃によってお客様のサーバ層やネットワーク層が機能不能になったり、シャットダウンして顧客を拒否するといった事態になったりしないようにします。当社のソリューションは、SYNフラッド攻撃が発生している可能性を認識し、緩和のために防御策をとりながら、保護されたネットワークに正当な接続がアクセスできるようにします。この種の防御策では、攻撃者のSYNリクエストに応答するため、攻撃者は攻撃がうまくいっていると考えますが、有効な接続リクエストのみが接続テーブル内のスロットに維持されるため、接続テーブルが一杯になることはありません。
F5が提供する「F5 BIG-IP」はフルプロキシとして動作し、SYNパケットをサーバに送る前にチェックすることで、SYNフラッドを防止します。またBIG-IP自らが多量のSYNパケットを受信した場合の保護のために、SYN Cookieという機能も装備しています。これは、MD5で算出した番号(これをCookieと呼びます)をSYN/ACKパケットのTCPシーケンス番号に設定し、これに対するACKパケットの内容から再度Cookieを算出するという手法です。これによってSYN/ACKパケット送出時点で接続情報を記憶する必要がなくなるため、SYNフラッドを受けた場合でも、メモリリソースの逼迫を回避できます。