본문

Tech
WhaTapでRUDY攻撃を検知する

작성일 2024.05.23
DDoS攻撃は、OSIの7つの階層、第3層(ネットワーク層)、第4層(トランスポート層)、第6層(プレゼンテーション層)、第7層(アプリケーション層)で一般的に発生します。

 

インフラ側で発生する第3層・第4層への攻撃は、クラウドサービス提供会社が対応を保証してくれますが、第7層で発生する攻撃は、コード修正と設定変更が必要です。

 

アプリケーション層への攻撃は、攻撃者がアプリケーションの特定関数にオーバーロードしてアプリケーションを使用できなくしたり、合法的なユーザーがレスポンスできないようにします。少量のネットワークトラフィックで攻撃でき、これを検知するのが困難な場合もあります。HTTP基盤の7つの階層への攻撃を代表するDDoS攻撃手法のうち、RUDY攻撃をご紹介します!

 

1. RUDY攻撃の定義

 

Slow HTTP POST DoS攻撃で、RU-Dead-Yet?の略です。開発者のセキュリティ設定エラーまたはアプリケーション、フレームワークなどのバージョンが最新でない場合、その脆弱性を活用した攻撃手法です。DDoS攻撃が大容量トラフィックを送ってサーバーの可用量を侵害する妨害攻撃なら、slow攻撃手法は、少量のトラフィックで可用量を侵害します。

 

HTTPの特性のひとつであるステータス情報を維持しない点を利用した攻撃で、これを強制的に継続するために遅延させる攻撃です。POSTメソッドを使って非正常に大量データを送るといい、ゆっくり少しずつ少量のデータを送信します。

 

HTTPのPOSTメソッドを使用してヘッダーのContent-Lengthの値を非常に大きな値に捏造し、データを非常に小さな単位に分割して送信します。サーバーはクライアント側のHTTPヘッダーのContent-Lengthの値を見て、その長さのContentが受信されるまでConnetionを維持します。実際のContentは、一定時間間隔で一文字ずつ送信します。結局サーバーでは、一つのセッション当たりContetn-Length X Interval Secondsの遅延が発生します。これは、KeepAliveの脆弱性を活用して非正常な容量のデータを分割して送信し、コネクション占有を図る手法です。

 

2. RUDY攻撃の確認

少しずつ時間をかけた攻撃は、伝統的なサービス拒否攻撃よりも非常に注意深く実行されるため、検知するのが困難です。また、サーバー側がKeepAliveTimeoutで接続を切らない限り、実際のリクエストは正常に実行されるため、エラーログも残りません。

 

WhaTapを使ってこの面倒なRUDY攻撃を確認する方法は、以下のとおりです。

 

1.アプリケーションダッシュボードのヒートマップでレスポンスタイムが長いトランザクションを選択します。ヒートマップのY軸はレスポンスタイムを意味するため、レスポンスタイムが長いトランザクションは、コネクションが長時間切れないリクエストである確率が高いです。

00_00.png


  1. HTTPメソッドがPOSTの場合は、HTTP呼び出しタイムを降順に並び替え、呼び出しタイムが最も長いトランザクションのHTTPヘッダー値を確認します。

01_02.png


  1. HTTPヘッダーのContent-Lengthの長さを確認します。Content-Lengthの長さが異常に長くレスポンスタイムが長いPOST呼び出しは、RUDY攻撃だといえます。

Untitled.png


3. 攻撃防止

 

セッションのしきい値設定または適切なタイムアウト設定でRUDY攻撃を防止できます。

 

1.しきい値設定のContent-Lengthと実際に受信されるパケット容量をしきい値に設定して遮断します。Content-Lengthが設定した容量より大きいPOSTパケットが受信される場合、指定時間内は指定された容量以下のパケットがn個以上確認される場合、遮断するよう設定します。また、同じ出発地点のIPで同時に接続できる接続数のしきい値を設定します。

 

2.タイムアウト設定

  • 接続タイムアウト設定

クライアントとウェブサーバー間でデータ送受信しない状態でセッションを維持する時間に対するタイムアウトを設定して接続を終了します。しかし、この設定を使用すると、正しいユーザーによる接続であっても、インターネット接続が遅いとサーバーがサービスを拒否する場合があります。-読み取りタイムアウト設定リクエストボディ情報が一定時間すべて受信されない場合、エラーをレスポンスするよう設定します。

 

WhaTapを使用すれば、7つの階層で発生する恐れのあるDDoSを判別して、措置を講じるための根拠を示すことができます。

 

WhaTap Monitoringを体験してみましょう。
難しかったモニタリングと分析が容易に実現できます。