Slowloris & R.U.D.Y.: 低速アプリケーション層DDoS攻撃の検出とブロック

序論:再定義されたステルス脅威
従来の分散サービス拒否(DDoS)攻撃が大量のトラフィックでサーバーを圧倒する一方で、ローアンドスローアプリケーションレイヤーDDoS攻撃は、より陰湿な脅威として浮上しています。これらの攻撃は最小限のリソース消費でターゲットを麻痺させ、SlowlorisとR.U.D.Y.(R-U-Dead-Yet?)が主な武器となっています。Cloudflareの2022年の報告によれば、アプリケーション層攻撃の35%以上がこれらの手法を使用しており、平均検出遅延は72分です。本記事では、そのメカニズムを解剖し、実用的な検出および緩和戦略を提供します。
ローアンドスロー攻撃の解剖
Slowloris:接続枯渇の技術
セキュリティ研究者RSnakeによって2009年に作成されたSlowlorisは、Apacheのような従来のウェブサーバーの同時接続処理の欠陥を悪用するように設計されました。その優れた点は、普通のコンピュータ1台だけでターゲットを麻痺させることができることです。これは、ハクティビストグループAnonymousによって政府のウェブサイトをクラッシュさせるために武器化されて有名になりました。
- 攻撃ワークフロー:
- 不完全なヘッダー(例:\r\n\r\nが欠落)のHTTP接続を多数確立します。
- 接続を維持するために定期的にジャンクバイト(例:X-a: b\r\n)を送信します。
- 1つのスレッドで200〜400の同時接続を占有できます。
- 影響の公式:
サービス崩壊閾値 = サーバー最大接続数 / (攻撃スレッド × スレッドごとの接続数)
例:Nginxのデフォルトの10,000接続制限は、わずか25の攻撃スレッドで超えることができます。
R.U.D.Y.:POSTリクエストの毒性化
その名前は「R-U-Dead-Yet?」という挑発的な響きで、破壊力を示唆しています。2014年に最初に観察されたR.U.D.Y.は、サーバーが未完成のPOSTリクエストを無期限に保持することを利用し、帯域幅消費が1 Kbpsまで低下しても持続的なリソース占有を達成します。その登場は、大手eコマースプラットフォームに長期的な停止を引き起こしました。
攻撃ワークフロー:
- ターゲット偵察
R.U.D.Y.はまず、ターゲットウェブサイトをスキャンし、連絡先フォーム、検索バー、コメントセクションなど、悪意のある送信に対して脆弱なすべてのウェブフォームをカタログ化します。 - 加工されたPOSTリクエスト
攻撃者は巨大なContent-Lengthヘッダー(例:10GB)を持つ有効なPOSTリクエストを送信し、サーバーにデータの予想のためにリソースを予約させます。 - ローアンドスローデータドリップ
リクエストを完了する代わりに、R.U.D.Y.はペイロードを1バイトずつ10秒の遅延を持って送信します。これにより、接続を0.1 Bpsの速度で維持します。 - 接続持続性
サーバーが無活動の接続を終了しようとする(通常60〜300秒後)とき、R.U.D.Y.は接続テーブルを埋め直すためにリクエストを再開します。
影響の増幅:
サーバースレッド/プロセスは、データの完了を待ち続けます。正確なタイミング制御により、単独の攻撃者が10,000以上の接続を占有できるボリューム警報をトリガーせずに。攻撃は、サーバーワーカープールの完全な枯渇をもたらし、通常15〜30分以内にアプリケーションをクラッシュさせます。
スローネットワーク攻撃を検出する方法
ウェブサイトが突然遅くなったり、クラッシュした場合、従来のファイアウォールは応答しないかもしれません—なぜなら、これらの攻撃は正常な訪問者のように見せかけるからです!これがスローネットワーク攻撃(SlowlorisやR.U.D.Y.のような)の狡猾な性質です。
3ステップ自己チェック:あなたのウェブサイトは攻撃を受けていますか?
1. ユーザーアクション時間を観察する
- 正常:フォームを送信するのに3秒かかる
- 攻撃中:同じアクションが3分以上かかる
2. サーバー接続数を確認する
- サーバー管理パネル(cPanelなど)にログインします。
- 「アクティブ接続」が突然急増しているか確認します。
- 通常の小規模から中規模のウェブサイト:通常は500接続未満
- 攻撃中:5000以上を超える可能性があります。
3. トラフィックパターンを比較する
- 無料ツール(Google Analyticsなど)を使用します。
- 攻撃期間と通常の期間を比較します:
- ページ読み込み時間(300%以上の増加は赤信号)
- ユーザ滞在時間(異常に長い時間は攻撃を示すかもしれません)
スロー攻撃を防ぐ3つの簡単な方法
1. 接続制限を有効にする
レストランが各テーブルの食事時間を制限するように、サーバーにも制限を設定します:
# 簡単な構成例(非技術者向け)
limit_conn per_ip 50; # IPごとの最大50接続
client_header_timeout 10s; # 10秒間データが送信されない場合は切断
2. 自動アラートを設定する
UptimeRobotのような無料ツールを使用して:
- 毎分サイト速度を監視します。
- 応答が3秒を超えた場合、即座にSMSまたはメールで通知を受け取ります。
3. 緊急対応計画
攻撃を受けている場合:
- CAPTCHAチャレンジを有効にする(Cloudflareの5分間の設定)
- 疑わしいIP範囲をブロックする(高頻度のIPをログで確認)
- ホスティングプロバイダーにトラフィックスクラブを依頼する
ベストチョイス:EdgeOne DDoS保護
Tencent EdgeOneは、L3/L4ボリュメトリック攻撃と高度なL7アプリケーションレイヤー脅威に対する多層防御を提供し、デフォルトで有効な事前構成された保護ポリシーを備えています。リアルタイムのトラフィック監視とAI駆動のスクラビングエンジンにより、99.99% 攻撃トラフィックフィルタリング精度を50ミリ秒以内で達成します。
専門的な防御:CC攻撃緩和システム
アプリケーション層DDoSの変種であるチャレンジ崩壊(CC)攻撃(HTTP/HTTPS洪水)は、悪意のあるリクエストストームを通じてサーバーリソースを枯渇させることを目的としています。EdgeOneは三層の防御メカニズムを展開しています:
1. 適応周波数制御
- 基準学習を通じて異常なIPを動的に識別し、IPごとにリクエストレート制限を課します。
- 防御シナリオ:高頻度の同時リクエスト(例:500以上のAPI呼び出し/秒)。
- 一般的なユースケース:eコマースのフラッシュセール中のボットによる席取り攻撃をブロックします。
2. スロー攻撃保護
- セッションレートモデリングを使用して、転送速度が1 KB/s未満の接続をブロックします。
- 精密検出:R.U.D.Y.のシグネチャ1バイト/10秒の滴下攻撃を識別します。
- 閾値:ベースラインの70%未満の転送速度を持つセッションを自動的にブロックします。
3. インテリジェントクライアントフィルタリング(デフォルトで有効)
- リアルタイムJSチャレンジ:ブラウザ実行を通じてクライアントの正当性を検証します。
- ヘッダー分析:25以上のヘッダー(例:異常なAccept-Language分布)を通じて異常を検出します。
- IP評判データベース:プロキシ/VPNおよび既知の悪意のあるIPからのトラフィックをフラグします。
- アクション:高リスクセッションに対してCAPTCHAをトリガーします(偽陽性率<0.1%)。
結論
SlowlorisやR.U.D.Y.のようなローアンドスローDDoS攻撃は、正当なトラフィックを模倣することで従来の防御を回避する巧妙な脅威です。暴力的なボリューム攻撃とは異なり、静かにサーバーリソースを枯渇させ、数時間の間検出されないことがよくあります。重要なポイント:
1. 検出には行動の洞察が必要
- 接続の持続時間、不完全なリクエスト、および異常に低いデータレートを監視します。
- Google AnalyticsやUptimeRobotのような無料ツールは、早期の警告サインを明らかにすることができます。
2. 緩和には層状の防御が求められる
- サーバーの強化:接続制限を施行します(例:Nginxの
limit_conn
)。 - リバースプロキシ:攻撃が起源のサーバーに到達する前にフィルタリングします。
- AI駆動のソリューション:Tencent EdgeOneのようなツールは、行動分析とリアルタイムのトラフィックスクラビングを使用して脅威を無効化します。
よくある質問
Q1: 高価なサーバーへのアップグレードは攻撃を止めますか?
A1: 攻撃者は、わずか$1で$10,000のサーバーを無力化できます。
Q2: 大きなウェブサイトだけが標的にされますか?
A2: いいえ。2024年第4四半期には、マーケティング&広告(3番目に攻撃された業界)や、小規模サービスへの身代金攻撃(被害者の12%)が、攻撃者がサイズだけでなく脆弱性を標的にしていることを証明しました。(出典: Cloudflareの2024年第4四半期の報告).
Q3: WordPressサイトはより脆弱ですか?
A3: 本質的にはそうではありませんが、攻撃されたCMSサイトの43%がWordPressを運営しています(出典:Sucuri)。Wordfenceのようなプラグインは基本的な保護を追加します。
Q4: スロー攻撃はデータを盗みますか?
A4: いいえ。彼らの目的はサイトをクラッシュさせることであり、情報を盗むことではありません。しかし、実際のデータ侵害から目を逸らすことがよくあります!
Q5: スロー攻撃は通常どのくらい続きますか?
A5: 短時間:1-6時間(小規模サイトに一般的)。 長期間:数日/数週間(企業を標的に)
Q6: VPNは私のウェブサイトを保護しますか?
A6: いいえ。VPNはあなたのブラウジングを保護しますが、サーバーを保護するものではありません。代わりにWAF(Web Application Firewall)を使用してください。