HTTP GETとPOSTフラッド攻撃と両方の軽減戦略の主な違いは何ですか?.
私はたくさん検索しましたが、これらの攻撃に関する良い記事や例は本当に見つかりません。
HTTPクライアント(たとえば、Webブラウザー)がHTTPサーバー(Webサーバー)と通信するとき、GET
とPOST
の2つの主要なタイプのリクエストを送信します。 GET
リクエストは、画像を含む「通常のリンク」に使用されるものです。このようなリクエストは、静的なデータを取得するためのものであり、URLはそのデータをポイントしています。 URLバーにURLを入力すると、GET
も実行されます。
POST
リクエストはフォームで使用されます。 POST
リクエストには、通常、同じページの入力フィールドから取得されるパラメーターが含まれています。
フラッディングの際、攻撃者は多くのリクエストの下でターゲットサーバーを水没させ、コンピューティングリソースを飽和させたいと考えています。フラッディングは、サーバーが単一の要求に応答して多くのリソースを割り当てるときに最適に機能します。 POST
リクエストにはパラメータが含まれているため、通常、サーバー上で比較的複雑な処理(データベースアクセスなど)をトリガーします。これは、より単純なGET
を提供するよりもサーバーにとってコストがかかります。したがって、POST
ベースのフラッディングは、GET
ベースのフラッディングよりも効果的である傾向があります(要求がPOST
の場合、サーバーを溺死させるために必要な要求は少なくなります)。一方、GET
リクエストの方がはるかに一般的です。GET
- flooding(@Roryが言うように、人気のあるサイトのインライン画像へのリンクを取得し、そのサイトを閲覧するすべてのユーザーが自動的にGET
リクエストをターゲットサーバーに送信します)。
(もちろん、特定のWebサイトは、特定のGET
要求に対して多くの複雑な処理を実行する可能性があります。ここではaverageの動作についてのみ説明します。)
HTTPフラッディング(HTTP要求タイプのいずれか)の興味深い問題は、それらの大部分がIPSに集中する傾向があるため、多くのTCP(侵入防御サービス)を打倒する傾向があることです。ベースのサービス拒否攻撃。 IPSルールを記述して、HTTPフラッド攻撃を検出できますが、実際のトラフィックと区別しにくい場合があるため、注意が必要です。
読む このwiki記事 HTTPリクエストメソッドのさまざまな形式について。私が出会った開発者の大多数は、POSTとGET以外の方法があることを理解していません。
実際、これら2つの違いは、使用されるHTTPメソッド(GETとPOST)だけです。攻撃のしやすさの点では、GETベースの攻撃が実用的であるシナリオが多くあります(たとえば、ターゲットサイトにリンクしている人気のあるサイトにインライン画像を埋め込むと、DoSが発生する可能性があります)。 HTTP DoS攻撃に関する記事は、両方に同様に適用される可能性があります。