web-dev-qa-db-ja.com

HTTP GET / POSTフラッド攻撃とは何ですか?

HTTP GETとPOSTフラッド攻撃と両方の軽減戦略の主な違いは何ですか?.

私はたくさん検索しましたが、これらの攻撃に関する良い記事や例は本当に見つかりません。

10
user19775

HTTPクライアント(たとえば、Webブラウザー)がHTTPサーバー(Webサーバー)と通信するとき、GETPOSTの2つの主要なタイプのリクエストを送信します。 GETリクエストは、画像を含む「通常のリンク」に使用されるものです。このようなリクエストは、静的なデータを取得するためのものであり、URLはそのデータをポイントしています。 URLバーにURLを入力すると、GETも実行されます。

POSTリクエストはフォームで使用されます。 POSTリクエストには、通常、同じページの入力フィールドから取得されるパラメーターが含まれています。

フラッディングの際、攻撃者は多くのリクエストの下でターゲットサーバーを水没させ、コンピューティングリソースを飽和させたいと考えています。フラッディングは、サーバーが単一の要求に応答して多くのリソースを割り当てるときに最適に機能します。 POSTリクエストにはパラメータが含まれているため、通常、サーバー上で比較的複雑な処理(データベースアクセスなど)をトリガーします。これは、より単純なGETを提供するよりもサーバーにとってコストがかかります。したがって、POSTベースのフラッディングは、GETベースのフラッディングよりも効果的である傾向があります(要求がPOSTの場合、サーバーを溺死させるために必要な要求は少なくなります)。一方、GETリクエストの方がはるかに一般的です。GET- flooding(@Roryが言うように、人気のあるサイトのインライン画像へのリンクを取得し、そのサイトを閲覧するすべてのユーザーが自動的にGETリクエストをターゲットサーバーに送信します)。

(もちろん、特定のWebサイトは、特定のGET要求に対して多くの複雑な処理を実行する可能性があります。ここではaverageの動作についてのみ説明します。)

18
Thomas Pornin

HTTPフラッディング(HTTP要求タイプのいずれか)の興味深い問題は、それらの大部分がIPSに集中する傾向があるため、多くのTCP(侵入防御サービス)を打倒する傾向があることです。ベースのサービス拒否攻撃。 IPSルールを記述して、HTTPフラッド攻撃を検出できますが、実際のトラフィックと区別しにくい場合があるため、注意が必要です。

読む このwiki記事 HTTPリクエストメソッドのさまざまな形式について。私が出会った開発者の大多数は、POSTとGET以外の方法があることを理解していません。

4
Callum Wilson

実際、これら2つの違いは、使用されるHTTPメソッド(GETとPOST)だけです。攻撃のしやすさの点では、GETベースの攻撃が実用的であるシナリオが多くあります(たとえば、ターゲットサイトにリンクしている人気のあるサイトにインライン画像を埋め込むと、DoSが発生する可能性があります)。 HTTP DoS攻撃に関する記事は、両方に同様に適用される可能性があります。

2
Rory McCune