web-dev-qa-db-ja.com

DoS攻撃とは何ですか?それはDDoS攻撃とどう違うのですか?

誰かが私にWebアプリケーションに対するDoS攻撃の概念を説明できますか?また、DoS攻撃と分散型DoS(DDoS)攻撃の違いは何ですか? Wikipedia さんのコメント:

コンピューティングでは、サービス拒否攻撃(DoS攻撃)または分散サービス拒否攻撃(DDoS攻撃)は、意図されたユーザーがマシンまたはネットワークリソースを利用できないようにする試みです。

つまり、これらは同じ攻撃に対する2つの異なる名前です。

しかし、再び、私は Computer Crime Research Center Webサイトからのこの記事 というタイトルのネットワークセキュリティ:DoS攻撃とDDoS攻撃を見つけました。したがって、これらは2つの異なるタイプの攻撃であると想定しています。

16
Geek

サービス拒否攻撃は、正当なユーザーがサービスを使用できないようにする攻撃の一種です。これらは、いくつかの異なるカテゴリに分類されます。

  • リソースの枯渇(例:すべてのネットワーク帯域幅の消費、またはサーバーのCPU時間)
  • 制限の悪用(例:無効な資格情報で繰り返しログインを試みることにより、ユーザーをアカウントからロックアウトする)
  • プロセスの中断(たとえば、ソフトウェアのバグを介して、ユーザーの要求に対応するプロセスをクラッシュさせる)
  • データの破損(例:すべてのユーザータイプを無効なタイプに変更し、ユーザーがログインできないようにする)
  • 物理的な中断(例:サーバーの電源ケーブルを引き抜く)-これについてはヘニングに感謝します!

Webアプリケーションで最も一般的なタイプはリソースの枯渇です。これは、ほとんどの人がDoSと呼ぶ傾向があるものです。これらは、1つ以上のリソースを使い果たすために、攻撃者がサーバーに大量のリクエストを送信することによって引き起こされます。

  • ネットワーク帯域幅が攻撃によって完全に消費され、正当なユーザートラフィックがサーバーに到達するのを妨げる可能性があります。
  • 各リクエストはある程度のCPU時間を使用するため、大量のリクエストにより、CPUは正当なリクエストではなく、攻撃者のリクエストの処理にすべての時間を費やす可能性があります。攻撃者は、費用のかかるリクエスト(フルテキスト検索、SSL接続など)をサーバーに送信して影響を強める可能性があります。また、サーバーソフトウェアの脆弱性により、攻撃者がCPU時間を大量に消費する特別なリクエストを作成できる場合もあります。
  • 少量のRAMは、接続状態を格納するために使用されます。これにより、十分な接続を確立できる場合、物理メモリが使い果たされる可能性があります。ただし、データベースクエリは、メモリに関して非常にメモリを集中的に使用する可能性があります使用量とメモリ帯域幅攻撃者がクエリを適切に選択した場合、攻撃者はシステムの物理メモリを完全に使い果たす可能性があります。
  • ログ、データベーステーブルなどはディスクに保存されます。一定の期間に膨大な数のクエリを送信すると、サーバーのディスク領域が使い果たされ、クラッシュする可能性があります。

リクエストはHTTPである必要はないことに注意してください。DNS、HTTPS、SSH、FTP、SMTP、POP、IMAP、SMBなどが可能です。サービスが着信パケットをリッスンしている状況は、 DoS。

アプリケーションに依存しない基本的なネットワークDoS攻撃を実行するには、主に2つの方法があります。 TCP SYNフラッド および DPフラッド です。

TCPプロトコルには ウェイハンドシェイク が含まれます。最初に、クライアントはSYN(同期)要求を送信し、サーバーはSYN-ACK(同期)に応答します確認済み)、クライアントは最終的にACK(確認)で応答します。ただし、クライアントがSYNを送信し、SYN-ACKに応答しない場合、サーバーはハーフオープン接続のままになります。これにより、オペレーティングシステム内のメモリ量、およびいくつかのCPUサイクルを消費します。最終的に接続はドロップされますが、SYNパケットのフラッドはターゲットで重大なパフォーマンスの問題を引き起こすのに十分である可能性があります。この脅威を軽減する方法はいくつかあります。そして最も注目に値するのは SYN cookie です。これにより、サーバーはSYN状態を保存せずに応答を送信できます。

UDPプロトコルは、いかなる形のハンドシェイクも含みません。パケットはホスト間で送信されるだけで、状態や接続はありません。つまり、攻撃者は大量のUDPパケットをサーバーに送信し、帯域幅を消費する可能性があります。これには、クライアントの合計帯域幅がサーバーの合計帯域幅を超える必要があります。クライアントは応答を必要としないため、送信元IPアドレスを偽装し、緩和を難しくする可能性があります。これらのタイプの攻撃は、ブロックするのが難しくなることがあり、多くの場合、サービスプロバイダーによる介入が必要になります。

攻撃者にとっての問題は、サーバーが多数の同時ユーザーと小さなサービス拒否攻撃に対処するように設計されていることです。ホームネットワークまたはレンタルサーバーから大量のパケットを送信しても、ターゲットの可用性や応答速度が大幅に低下することはほとんどありません。攻撃をより効果的にするために、分散型サービス拒否(DDoS)攻撃を使用します。これには、さまざまなネットワーク上の多数のコンピューターを使用して、サイトに要求を殺到させることが含まれます。多くの場合、攻撃者は他のコンピューターにマルウェアを感染させてボットネットを形成し、それを使用してDoS攻撃を実行します。違いは、DDoSが正当な(ただし侵害された)送信元IPからのトラフィックのフローを許可し、攻撃の有効性を高め、ブロックを困難にすることです。

23
Polynomial

DOSは単一の攻撃アドレスからのものです。

DDOSは通常、主にボットネットまたは怒っているインターネットによって引き起こされる複数の場所から発生します。

7
Digital fire

DDOSはDOSのサブセットです。 DOS攻撃は、ある種の「フラッディング」手法を使用してホストを圧倒しようとする攻撃です。 DDOS攻撃は、攻撃のリソースを取得するために大規模な分散クライアントセットを特に使用するDOS攻撃です。

DOS攻撃でターゲットをフラッディングするためのリソースを見つけるのは難しい場合があります。最も簡単な方法は、多数のクライアントにリソースを共有させ、それらを組み合わせて攻撃の負荷を分散させることです。

5
B-Con

多項式の優れた回答に加えて、DDoS攻撃がDoS攻撃よりもはるかに効果的である主な理由は、特定のIPアドレスに与えられたリソースへのアクセスを制限するだけでDoS攻撃を防ぐことができるためです。

単純なDoS攻撃(つまり、単一のマシンによるダムリソースの枯渇)は、ほとんど過去のものです。今日、ほとんどすべてのサーバーがファイアウォールによって保護されており、サーバーへのアクセス試行が多すぎるIPアドレスがブラックリストに登録されます。しかし、90年代(つまり1990年代)には、ファイアウォールは今日のユビキタスではなく、単純なDoS攻撃が非常に効果的でした。

このようなファイアウォールにより、DoS攻撃はDDoS攻撃に発展しました。 DoS攻撃が過去のものであるのと同様に、DDoS攻撃は現在のものです。今日、誰でもボットネットを借りてDDoS攻撃を展開できます。しかし、ボットネットは比較的新しいものであり、レンタル可能なボットネットは10年も前から存在しています。 DDoSはクラウドソーシングすることができますが、そのようなクラウドソーシングも比較的新しいものです。

つまり、DoSとDDoSの主な違いは歴史的なものです。ファイアウォールの使用が広くなる前によく見られるDoS攻撃と、ボットネットが広く利用可能になった後でDoS攻撃が一般的になってきました。実際には、(過去10年間の半ばに)両方の形式の攻撃がそれほど一般的ではなかった時期がありました。

TL; DR:DoS攻撃の展開に使用される攻撃者。サーバーは効果的な対策を実施しました。攻撃者は、対策を回避するためにDDoS攻撃にアップグレードしました。

3

これらは、似ていますが、実際には2つの異なる攻撃です。

「通常の」DoSは、何らかのバグや脆弱性を介して、Webサーバー/ファイアウォールをクラッシュさせようとする試みに基づいています。例えば。よく知られている SYN Flood 攻撃。または、アプリレベルでDoSを許可するアプリケーションレベルの欠陥もあります。たとえば、ユーザー入力に基づくループでは、非常に大きな数が膨大な数の反復を引き起こす可能性があります。または、XML爆弾。不正なXMLドキュメントが原因で、Webアプリが大量のメモリと100%のCPUを消費します。
これらに対する保護はもちろん欠陥に固有であり、一般に安全なコーディング/設計です。

ただし、DDoSは、明らかに正当なリクエストの大量でWebサーバー/ファイアウォールを圧倒することで、Webサーバー/ファイアウォールを圧倒しようとします。これらは、しばしばボットネットを使用して、時には人気のある政治運動によって調整することができます。ここで本当に大きな問題は、正当なユーザーリクエストとDDoS攻撃を区別することがレピュテーションベースのシステムに欠け、ほぼ不可能であることです。それらの間で共有される単一のIPアドレスさえありません...

2
AviD