DDoS攻撃とは?

DDoS攻撃は今日のインターネットセキュリティにおける最大の懸念事項です。 DDoS攻撃が機能する方法やどうすれば阻止できるかを詳しく確認しましょう。

Share facebook icon linkedin icon twitter icon email icon

DDoS

学習目的

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

  • DDoS攻撃の定義
  • DDoS攻撃の一般的な構造の説明
  • DDoS攻撃の3つの主要カテゴリーの区別
  • 複数のDDoS対策戦略の理解

DDoS攻撃とは?

分散型サービス妨害(DDoS)攻撃は、標的もしくはその周りのインフラストラクチャに大量のインターネットトラフィックを与えることで、標的となるサーバー、サービス、ネットワークの通常トラフィックを妨害しようとする悪意のある行為です。


DDoS攻撃は複数の侵害されたコンピューターシステムを攻撃トラフィックの源として利用することで効果を発揮します。悪用対象のマシンには、コンピューターやIoTデバイスなどといったその他のネットワークリソースが含まれます。


大まかに言えば、DDoS攻撃は高速道路で詰まっている交通渋滞のようなもので、通常の交通の流れが目的地に到達するのを防止します。

DDoS攻撃の仕組みとは?

DDoS攻撃は、インターネットに接続されたマシンのネットワークで発生するように仕掛けられます。


ネットワークを構成するコンピューターと他のデバイス(IoTデバイスなど)は、マルウェアに侵害され、攻撃者にリモートで操られてしまいます。個々のデバイスがボット(またはゾンビ)と呼ばれ、ボットの一群はボットネットと呼ばれます。


ボットネットが構築されると、攻撃者は各ボットに遠隔指示を送信して攻撃を指揮できます。


被害者のサーバーやネットワークがボットネットの標的になった場合、各ボットは標的対象のIPアドレスにリクエストを送信し、サーバーやネットワークが圧倒される可能性を引き起こし、通常のトラフィックへのサービス拒否をする結果となります。


各ボットは正当なインターネットデバイスであるため、攻撃トラフィックを通常トラフィックと区別することは困難です。

DDoS攻撃の特定方法

DDoS攻撃の最も顕著な兆候は、サイトやサービスが突然遅くなったり、利用できなくなることです。トラフィックの正当な急増など、数多くの原因が似たような問題を起こして、パフォーマンスに影響を与えます。通常はさらなる調査が必要となります。トラフィック分析ツールは、こうしたDDoS攻撃の兆候を特定するのに役立ちます。

  • 単一のIPアドレスまたはIPレンジから発生するトラフィックの不審な量
  • デバイスタイプ、位置情報、Webブラウザのバージョンなど、単一の動作プロフィールを共有するユーザーたちから発生する大量のトラフィック
  • 単一ページまたはエンドポイントへのリクエストの原因不明のサージ
  • 1日の中で変な時間にトラフィックが急増する、(10分ごとに発生するスパイクなど)不自然なパターンなど奇妙なトラフィックパターン

他にもDDoS攻撃固有の兆候があり、攻撃のタイプによって異なります。

一般的なDDoS攻撃の種類とは?

様々なタイプのDDoS攻撃が、ネットワーク接続の各種コンポーネントを標的とします。さまざまなDDoS攻撃の仕組みを理解するには、ネットワーク接続がどのように行われるのかを知る必要があります。


インターネット上のネットワーク接続は多くの異なるコンポーネント、つまり「層」で構成されています。基礎から家を建てるように、モデル内の各「層」には異なる目的があります。


以下に記載したOSIモデルは、7つの異なる層におけるネットワーク接続を表すための概念フレームワークです。

OSIモデル

ほぼすべてのDDoS攻撃がターゲットのデバイスやネットワークをトラフィックで溢れさせる行為に関わっていますが、この攻撃は3つのカテゴリーに分けることができます。攻撃者は、1つまたは複数の異なる攻撃ベクトルを利用したり、標的がとった対策に基づいて攻撃ベクトルを循環させたりする可能性があります。

アプリケーション層への攻撃

攻撃の目的:

レイヤー7DDoS攻撃(OSIモデルの第7層に関連して)と呼ばれることもありますが、こういった攻撃の目的はサービス拒否を作成するために、ターゲットのリソースを使い果たすことです。


攻撃が狙うのは、HTTPリクエストに応じてサーバー上でWebページが生成され配信される層です。単一のHTTPリクエストをクライアント側で実行するのには負荷がかかりませんが、サーバーはWebページを作成するために複数のファイルを読み込んでデータベースクエリを実行しなければならないことが多いため、その応答負荷は高いことがあります。


レイヤー7攻撃は、正当なトラフィックと悪意のあるトラフィックを区別することが難しいため、防御が困難となります。

アプリケーション層への攻撃例:

HTTPフラッド DDoS攻撃

HTTPフラッド

この攻撃は多数の異なるコンピューター上にあるWebブラウザで一度に何度も更新ボタンを押す行為に似ています。つまり多数のHTTPリクエストがサーバーに押し寄せ、結果としてサービス妨害になるものです。


この種の攻撃は単純なものから複雑なものまでさまざまです。


より簡単な実装では、同じ範囲の攻撃IPアドレス、リファラー、およびユーザーエージェントを使用して1つのURLにアクセスできます。複雑なバージョンでは、多数の攻撃IPアドレスを使用し、ランダムリファラーとユーザーエージェントを使用してランダムなURLを標的にすることがあります。

プロトコル攻撃

攻撃の目的:

プロトコル攻撃は、State-Exhaustion攻撃としても知られており、サーバーリソースやファイアウォール、Load Balancerなどのネットワーク機器のリソースを過剰消費することでサービス妨害を引き起こすものです。


プロトコル攻撃はプロトコルスタックの第3/4層の脆弱性を利用し、ターゲットにアクセスできないようにします。

プロトコル攻撃の例:

SYNフラッドDDoS攻撃

SYNフラッド

SYNフラッドは、店頭からリクエストを受け取る備品室の店員に似ています。


その店員はリクエストを受け取ると、パッケージを取りに行き、店頭にパッケージを運ぶ前に確認を受けるのを待ちます。ところが、これ以上運ぶことができないという量になるまで、確認されていない多くのパッケージリクエストを受けるため、作業許容量を超え、入ってくるリクエストに対応できなくなります。


この攻撃は、なりすましのソースIPアドレスで大量のTCP「初回接続リクエスト」のSYNパケットを標的に送りつける方法で、TCPハンドシェイク(二台のコンピューターがネットワーク接続を開始することで行う一連の通信)を悪用します。


ターゲットのマシンは各接続リクエストに応答し、ハンドシェイクの最終ステップを待機します。しかしこの最終ステップが起こることはなく、このプロセスでターゲットのリソースを使い果たします。

帯域幅消費型攻撃

攻撃の目的:

このカテゴリの攻撃は、標的とより大きなインターネットの間で利用可能なすべての帯域幅を消費することにより、輻輳させようとします。ボットネットからのリクエストなど、大量のデータを増幅したり、または別の手段で大量のトラフィックを作成する方法を使用して標的に送信します。

増幅の例:

NTP増幅DDoS攻撃

DNSアンプリフィケーション

DNSアンプリフィケーションは、レストランに注文の電話が入り、「すべてのお料理を1品ずつ注文します。電話を折り返して、今私が注文したものを全部確認してください」と言われたけれど、教えられた折り返し先の電話番号は被害者の電話番号だった、という状況に似ています。ごくわずかな労力で、長い応答が生成され、被害者に送信されるようになっているのです。


なりすましのIPアドレス(被害者のIPアドレス)でDNSサーバーを開くリクエストを作成することで、ターゲットのIPアドレスがサーバーからの応答を受け取ります。


DDoS攻撃の軽減プロセスとは?

DDoS攻撃を軽減する際に重要なのは、攻撃トラフィックと通常トラフィックを区別することです。


たとえば、製品リリースで企業のWebサイトに熱心な顧客が殺到した場合、全トラフィックを遮断するのは間違いです。その企業で既知の攻撃者からのトラフィックが急増した場合は、攻撃を軽減するための努力が必要でしょう。


この難しさは、実際のお客様と攻撃トラフィックを見分けることにあります。


現代のインターネットでは、DDoSトラフィックはさまざまな形で発生します。トラフィックの設計は、なりすましのない単一ソースによる攻撃から複雑で適応性のあるマルチベクトル型攻撃までさまざまです。


マルチベクトル型DDoS攻撃は、ターゲットをさまざまな方法で圧倒するために複数の攻撃パスを使っており、1つのパスに対する対策が取られてもその取り組みは無に帰する可能性があります。


HTTPフラッド(第7層を狙う)とDNS増幅(第3/4層を狙う)を組み合わせるなど、プロトコルスタックの複数の層を同時にターゲットとする攻撃は、マルチベクトル型DDoSの一例です。


複数のベクトルに対応するため、マルチベクトル型DDoS攻撃の軽減にはさまざまな戦略が必要です。


全般に、攻撃が複雑であればあるほど、攻撃トラフィックを通常トラフィックと区別するのが難しくなります。攻撃者の目的はできる限りトラフィックを混ぜ合わせることで対策効率をできるだけ下げることなのです。


無差別にトラフィックの中断や制限を行う軽減対策では、悪いトラフィックと共に正規のトラフィックも切り捨てるおそれがあり、対策を回避するよう攻撃が修正される場合もあります。混乱を生じさせようとする複雑な試みを克服するために、階層化されたソリューションが最大のメリットをもたらします。

ブラックホールルーティング

事実上すべてのネットワーク管理者が利用できるソリューションは、ブラックホールルートを作成してそのルートにトラフィックを流し込むことです。最も単純な形式では、特定の制限基準なしでブラックホールフィルタリングが実装されると、正当なネットワークトラフィックと悪意のあるネットワークトラフィックの両方がNullルートまたはブラックホールにルーティングされ、ネットワークからドロップされます。


インターネットプロパティがDDoS攻撃を受けた場合、このプロパティのインターネットサービスプロバイダー(ISP)は防御としてサイトのトラフィックすべてをブラックホールに送る可能性があります。これは事実上、ネットワークを利用できなくするという攻撃者が望む目的を達成させてしまうため、理想的なソリューションではありません。


レート制限

サーバーが特定の時間枠内で受け入れるリクエストの数を制限することも、サービス妨害攻撃を軽減する方法です。


レート制限は、Webスクレイパーによるコンテンツの盗難を遅らせ、ブルートフォースログイン試行を軽減するのに役立ちますが、複雑なDDoS攻撃を効果的に処理するには不十分です。


とはいえ、Rate Limitingは効果的なDDoS軽減戦略の有用なコンポーネントです。CloudflareのRate Limitingについてご確認ください。

Webアプリケーションファイアウォール

Web Application Firewall(WAF)は第7層へのDDoS攻撃軽減をサポートするツールです。WAFをインターネットと配信元サーバーの間に配置することでリバースプロキシとして動作し、ターゲットのサーバーを特定の種類の悪意のあるトラフィックから保護します。


DDoSツールの特定に用いる一連のルールに基づいてリクエストをフィルタリングすることで、第7層への攻撃を防げます。効果的なWAFの主要価値の1つは、攻撃に応じてカスタムルールを迅速に実装できることです。CloudflareのWAFをご確認ください。

Anycast Networkの拡散

この軽減アプローチでは、Anycast Networkを使用して、分散サーバーのネットワーク全体に攻撃トラフィックを分散させ、トラフィックがネットワークに吸収されるようにします。


流れが急な川を複数のより小さな支流へ流すかのように、このアプローチでは分散した攻撃トラフィックの影響を管理可能なところに分散し、その破壊力を拡散します。


DDoS攻撃を軽減するAnycast Networkの信頼性は、攻撃のサイズおよびネットワークのサイズと効率に依存します。Cloudflareが実装するDDoS対策において重要な部分は、ネットワークに分散したAnycastを利用しているという点です。


Cloudflareには51 Tbpsのネットワークがありますが、これは記録にある最大規模のDDoS攻撃よりも1桁規模の大きいものです。


現在攻撃を受けているのであれば、困難から逃れるためにできることがあります。Cloudflareに既にご登録されている方は、攻撃を軽減するためのステップに従ってください。


今後受ける可能性のある多くの攻撃ベクトルを軽減するため、Cloudflareで実施しているDDoS対策は多角的です。CloudflareのDDoS対策やその機能について詳しくご確認ください。