ある日突然やってくるDDoS攻撃の概要と対策
DDoS 攻撃 とは、システムやネットワークに意図的に過剰な負荷をかけるなどの方法により、システム、サービス、Web サイト、アプリケーション、またはその他のリソースにアクセスをできないようにする攻撃を指します。
「DDoS」は「Distributed Denial of Service」の略称で、日本語では「分散型サービス拒否攻撃」と訳されることが一般的です。
本記事では DDoS 攻撃の概要から対策方法までを解説していきます。
DDoS 攻撃の仕組み
DDoS 攻撃では、複数のシステムから標的となるシステムのサーバーやネットワーク機器などに対して、一斉に攻撃を仕掛けます。
攻撃によって、ネットワークやシステム、Web サイトが持つネットワーク帯域やリソースを消費しきり、攻撃を受けたターゲットはサービス提供が行えなくなります。
攻撃者はさまざまなツールを駆使して、攻撃対象のサーバーに対して大量のリクエストを送信し、サーバーが処理をさばくことができなくなる(応答不能)状態にします。
攻撃に利用するシステムとしては、コンピュータのみならず、最近では IoT デバイスなど他のネットワークリソースを用いることもあります。
DDoS 攻撃を実在するものに例えるなら、高速道路に膨大な台数の車両を送り込むことで、大渋滞を起こさせるといった問題に例えられるでしょう。
道路が渋滞することにより、本来の利用者は目的地に到着することが困難になり、インフラとしてのサービス提供が行えなくなります。
DDoS 攻撃と DoS 攻撃の違い
DDoS 攻撃とセットで扱われる言葉として「DoS攻撃」というものがあります。
DoS 攻撃は脆弱性をついた攻撃などを仕掛けるケースと、大量のリクエストを単一のマシンから送ることでサービスを停止させる行為などを指します。
たとえば皆さんが利用している Web ブラウザでも、ページのリロードを行えるショートカット " F5 キー" を連打することにより、サーバーへのアクセスを連続して行うことができますが、これもユーザーが故意に行えば DoS 攻撃とみなされる可能性のあるものです(F5 アタックとも呼ばれます)。
DoS 攻撃はあくまで「サービス提供妨害」を指すので、 F5 アタックのような狭義の物から、システム妨害攻撃全般の広義のものまでを包括して DoS と呼びます。
DDoS 攻撃は、複数の攻撃元(複数の IP アドレス)から一斉に行われるため、より大きなトラフィックを送り付けることが可能となり、攻撃対象に対してより大きな負荷が発生します。
DDoS 攻撃も DoS 攻撃の一部ではありますが、上記のように攻撃元が複数の場合を特筆して「DDoS 攻撃」と呼ぶことが一般的です。
DDoS 攻撃はどのようにして実行されるのか
DDoS攻撃の概略
DDoS 攻撃を実行するために、まず攻撃者は、攻撃を実行するためのマシンとネットワークを確保していきます。
この確保したマシンとネットワークは「ボットネット」と呼ばれ、コンピュータにマルウェアを仕込んだり、脆弱な IoT 機器 / サーバを乗っ取り構築されます。
ボットネットに悪用されている各マシンの所有者は、ほとんど場合、知らないうちにリモートで制御されています。
ボットネットが確立されると、攻撃者はボットネットを介して大量のリクエストをターゲットに送ります。
その結果、ターゲットとなるサーバーないしはネットワークでは、通常のリクエストの応答で必要なリソースが枯渇し、ターゲットをサービス不能状態に陥らせます。
各ボットからのアクセスは、通常のアクセスで発生しうるトラフィックを用いている場合があり、攻撃のトラフィックなのか見分けがつかないこともあります。
DDoS 攻撃にも規模があり、稀ではありますが非常に規模が大きい場合、各国間でつながっている国際ケーブルのトラフィックをも使い切ってしまうこともあります。
※Google が提供している「Digital Attack Map」というサイトでは、世界中で発生している DDoS 攻撃が可視化されて見ることができます。
DDoS 攻撃の種類
ほぼすべての DDoS 攻撃に言えることは、トラフィックを伴うターゲットデバイスまたはネットワークが圧迫されることにあります。
DDoS 攻撃にはいくつかの種類がありますが大きくは 4 つに分類できます。
主な攻撃の種類
TCP コネクション攻撃
これらは、ロードバランサー、ファイアウォール、アプリケーションサーバーなどのインフラとデバイスに対して、利用可能なすべてのコネクションを使い果たすことを試みます。
数百万のコネクションを担保できる環境でも、攻撃規模によっては攻撃が成功する可能性があります。
ボリューム攻撃(Volume-Based DDoS Attacks)
ネットワークの帯域幅を使い果たすことを目的とした攻撃です。
これらは、ターゲットネットワーク / サービス内、またはターゲットネットワーク / サービスとインターネット間での帯域幅を消費しようとします。
フラグメント攻撃
被害者に TCP または UDP フラグメントのフラッドを送信し、被害者がストリームを再構成する際のリソース消費を悪用する攻撃です。
分割されたパケット(フラグメント)を受け取った際、サーバはリソースの一部を利用してパケットを再構築します。
これを悪用し継続的に分割されたパケットを送ることで、マシンリソースを大量に浪費させるのがフラグメント攻撃です。
アプリケーション攻撃
アプリケーションまたはサービスの特定の部分へ攻撃することで、少ないトラフィックでターゲットサービスのパフォーマンスを低下させる攻撃です。
XXEによる DoS などもここに含まれます。
輻輳
また、先述した「攻撃」に加えて、攻撃トラフィックを増殖させる手段として「輻輳(ふくそう)」があります。
攻撃者は輻輳のテクニックも組み合わせて攻撃を行うことで、ターゲットにより大きな影響が出ることを狙います。
DNS リフレクション
攻撃者は被害者の IP アドレスを偽造することにより、DNS サーバーに小さなリクエストを送信し、被害者に大きな返信を送信するようリクエストできます。
これにより、攻撃者はボットネットからのすべてのリクエストのサイズを拡大できるため、ターゲットのリソースを簡単に消費させることができます。
DDoS 攻撃に対して、どう立ち向かい対策を行うか
対策手法
DDoS 攻撃は昔からインターネット全体の脅威とされつつも、現代になっても防御が難しい攻撃の一つです。
上述したように、攻撃手法は正規のユーザアクセスと全く同じ通信を用いたものから、異常パケットの送信まで多岐に渡るため、その対策手法も多岐に渡ります。
以下に、代表的な対策の手法を紹介します。
ブラックリスト IP で遮断〜ボットネットのアクセスを防ぐ〜
攻撃者が毎回新しいボットネットを構築することは稀で、多くの場合ボットネットは使い回しされています。
そのため、過去にスキャン行為や攻撃行為が観測されたIPアドレスは、ボットが存在する可能性が高い IP アドレスとしてしてセキュリティベンダーなどが提供するブラックリストに記録されています。
こうしたブラックリストを活用、IP アドレスベースでブロックすることは最もシンプルかつ即時性のある対策です。
なお、ブラックリストによってはサービス提供国の ISP のアドレスが記録されていることもあるため、その選定では精度や更新頻度を確認することをお勧めします。
また、もしサービス提供する国が限られている場合、国情報を用いてサービス提供国からのアクセスのみを許可することも有効な対策です。
攻撃手法で遮断〜サーバのリソースを守る〜
ブラックリストによる遮断は高い効果を見込めますが、ブラックリストに載っていいない IP やサービス提供国における ISP の IP など意図的に透過させている場合もあると思います。
それらの IP アドレスからのアクセスへの対応として、上述した DDoS 攻撃の攻撃手法に着眼し、攻撃と想定される通信を遮断する方法です。
具体的な方法としては、基礎的ですが同一 IP からの大量のコネクション要求や RFC 上起こり得ないパケットの遮断などがあげられます。
DoS に繋がるリスクを減らす〜アプリのリソースを守る〜
クエリを実行するページなど、アプリケーションが使用しているアーキテクチャや作りによっては、正常なリクエストが攻撃に転用される恐れがあります。
このようなリスクに対しては、弱点となり得るページにおいて大量アクセス時に Sorry ページを返すなどし、サービス不能状態に陥らないようにすることができます。
どこで対策するか
DDoS 攻撃を防ぐことにも膨大なリソースが割かれます。
単一の機器などで対策を行なっている場合は、それ自体がサービス不能の原因となりえます。
構成にもよりますが、最悪の場合ネットワークの全断などが起きえます。
DDoS の対策では、帯域幅やリソースの大きいクラウドサービスや、ISP が提供する DDoS 対策サービスなどで対策することをお勧めします。
DDoS 攻撃を発生させないために
DDoS 攻撃は突然発生することがあります。
日々備えておくことが重要ですが、DDoS 攻撃の一部とならないようにすることも重要です。
DDoS 攻撃で用いられるボットネットの多くは、脆弱性のあるソフトウェアを使用したクライアント PC や、脆弱性のある、または設定の甘いサーバや IoT 機器が使用されることがあります。
これらのセキュリティを保つことで、ボットネットの発生リスクを抑え、インターネット全体の安全性を高めることができるでしょう。
さいごに
DDoS 攻撃はターゲットを麻痺させる定番の手法として今も盛んに行われている攻撃手法です。
一方で、世間で話題になった際に、サーバーに大量のアクセスが来訪することもあるため、適切に防御していくことが難しい部分もあります。
DDoS 攻撃への対策サービスなども提供されていますので、ぜひ活用をご検討ください。
yamory では、Web アプリケーションの約 9 割を占めると言われているオープンソースソフトウェアの脆弱性と、その脆弱性に関連する攻撃情報をモニタリングし、アプリケーションのセキュア化を支援いたします。
インターネットの安全性を高めるためにも、ぜひ一度お試しいただければ幸いです。