ローアンドスロー攻撃とは?

ローアンドスロー攻撃は、非常に遅いHTTPまたはTCPトラフィックを使用してWebサービスを停止することを目的としたDDoS攻撃です。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • ローアンドスロー攻撃の定義
  • ローアンドスロー攻撃の仕組みを説明
  • Low and Slow攻撃を軽減する方法を理解する

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

ローアンドスロー攻撃とは?

Low and Slow攻撃はDoSまたはDDoS攻撃の一種で、アプリケーションまたはサーバーリソースを標的にした非常に遅いトラフィックの小さなストリームを使用します。より古い形式のブルートフォース攻撃とは異なり、Low and Slow攻撃は帯域幅をほとんど必要とせず、通常のトラフィックと区別するのが非常に困難なトラフィックを生成するため、軽減策をとることが難しい場合があります。大規模なDDoS攻撃は早期に発見される可能性が高い一方、Low and Slow攻撃は長期間にわたって検出されないまま、実際のユーザーへのサービス拒否や、遅延を引き起こすことが可能です。

より多くのボットネットを必要とする分散型攻撃とは異なり、Low and Slow攻撃は多くのリソースを必要としないため、1台のパソコンで成立させることができます。Low and Slow攻撃を仕掛けるための最も一般的なツールとして、SlowlorisR.U.D.Y.と呼ばれる2つがあります。

ローアンドスロー攻撃の仕組みとは?

Low and Slow攻撃は、スレッドベースのWebサーバーを標的とし、低速のリクエストですべてのスレッドを拘束することで、正規のユーザーがサービスにアクセスできないようにします。これは、サーバーがタイムアウトしない程度の非常に低速度でデータを送ることでこれを遂げます。

各車線に料金所がある4車線の橋を思い浮かべてください。運転手は料金所に車を停めて、紙幣または小銭を渡した後ゲートを通ることで次の運転手に車線を譲ります。ここで、4人の運転手が一度に現れて、開いているすべての車線を占有し、それぞれが小銭を一円ずつ、一枚ずつゆっくりと料金所のオペレーターに渡して、利用可能なすべての車線を数時間塞ぎ、他の運転手が通り抜けられないようにします。この非常にイライラさせるシナリオは、Low and Slow攻撃の仕組みに非常に似ています。

攻撃者は、HTTPヘッダー、HTTPポストリクエスト、またはTCPトラフィックを使用して、ローアンドスロー攻撃を実行できます。3つの一般的な攻撃の例を次に示します:

  • Slowlorisツールはサーバーに接続してから、部分的なHTTPヘッダーをゆっくりと送信します。これにより、サーバーは接続を開いたままにして、残りのヘッダーを受信できるようにし、スレッドを縛り付けます。
  • R.U.D.Y.(R-U-DEAD-YET?)と呼ばれる別のツールは、HTTPポストリクエストを生成してフォームフィールドに入力します。サーバーに予想されるデータ量を伝えますが、そのデータは非常にゆっくりと送信されます。サーバーは、より多くのデータを予期しているため、接続を開いたままにします。
  • 一方で、もう1つのタイプのローアンドスロー攻撃はSockstress攻撃です。これは、TCP/IP 3ウェイハンドシェイクの脆弱性を悪用し、無期限の接続を作成します。

WebサービスがLow and Slow攻撃を検出する仕組みとは?

従来型のDDoS攻撃を特定して阻止するために使用されるレート検出技術では、Low and Slow攻撃は通常のトラフィックのように見えるため、検出することができません。この攻撃を検知する最善の方法は、サーバーリソースの使用状況を注意深く監視してログに記録し、行動分析を組み合わせることです。平常時と攻撃されている可能性のある期間のトラフィックおよびユーザーの行動を比較します。

サーバーのパフォーマンスが低下したり、クラッシュしたりする場合、Low and Slow攻撃が疑われます。このような攻撃の兆候の一つとして、通常のユーザープロセスが非常に長くかかることが挙げられます。通常数秒で終わるユーザー操作(フォームへの入力など)が、数分から数時間かかり、通常よりもはるかに多くのサーバーリソースを消費している場合、Low and Slow攻撃が原因である可能性があります。

Low and Slow攻撃が検出されても、その緩和はまた別の問題になります。

ローアンドスロー攻撃を止める方法とは?

Low and Slow攻撃を軽減する1つの方法は、サーバの可用性を向上させることです。サーバーが同時に維持できる接続数が多ければ多いほど、攻撃がサーバーの動きを妨げることは難しくなります。この方法の問題点は、攻撃者がサーバーの可用性に合わせて攻撃の規模を変化させる可能性があることです。

もう1つのソリューションとして、リバースプロキシベースの保護があります。これは、Low and Slow攻撃がオリジンサーバに到達する前に軽減するものです。CloudflareのクラウドベースのDDoS攻撃対策がLow and Slow攻撃を軽減する方法についてご覧ください。