今回はDDoS(分散Deny of Service)対策について考えてみましょう。DDoSとは、2000年に米イーベイや米ヤフーなどの著名サイトが次々に停止させられた事件によって有名になった攻撃方法です。また、中国から日本に対する政治的な抗議メッセージを表すために、Internet ExplorerなどのWebブラウザーで再読み込みを繰り返す「F5攻撃」という攻撃もありました。キーボードの[F5]キーを押すと、開いているWebページが再読み込みされることから命名されたと考えられます。

 現在では、少し前にTwitterなどの有名Webサイトが次々にサービス停止に追い込まれたような、ボット(攻撃者によって自在に操られてしまうウイルスに感染したパソコン)による攻撃がメインになってきたようです。昔は自宅にはダイアルアップ回線などの遅い回線しかなかったので、攻撃には高速回線を使っていたサーバーが狙われていました。サーバーに侵入すれば、高速回線を使って“効率的に”攻撃できるからです。ところが、今では光回線などの高速回線が一般家庭で普通に使われるようになりました。そうなると、不正なプログラムが発見される可能性が高いサーバーを1台1台攻撃して侵入し、攻撃の指示を待ったり実行したりするプログラムを待機させておくリスクを犯すよりも、サーバーよりも発見されるリスクの低い一般家庭のパソコンに侵入して、それを「砲台」にする方が効率がいいのでしょう。

 DDoS攻撃にさらされることは、ある程度有名なWebサイトであれば少なからず意識していることでしょう。特にサービスが止まってはならないようなサイトでは、脅迫される可能性もありますし、実際に脅迫は行われています。

 そこで様々なDDoS対策の製品やサービスが出ています。おおむね以下のようなものです。

  • 攻撃が来たら一時的に帯域を広げる
  • 攻撃パケットがサーバーに届かないように遮断する
  • 攻撃元アドレス、攻撃パケットの特徴などでアクセスを制御する

 これらは有効に機能することはありますが、十分であるとは言えません。最近私が関わった事案では、契約しているデータセンターが狙い撃ちされたために回線がパンクし、データセンターそのものが機能不全に陥ってしまうというものがありました。一般的なDDoS対策では、このような場合には「お手上げ」でしょう。

 単に回線を溢れさせるような攻撃であれば、契約するデータセンタを複数に分散させるとか、世界中にサーバーを分散させるようなサービスを利用することで、かなり効果的に攻撃をかわすことができるでしょう。しかしながら、アプリケーションの特性を突いて処理を重くさせるようなこともできます。例えば、非常に重いファイルを何度も送信させるとか、処理の重いデータベースアクセスを行わせるとかです。メモリーを消費させるような要求を同時にたくさん出すことによって応答を送らせることもできます。

 また、攻撃対象が防御していたWebサーバーではなく、ドメイン名からIPアドレスを割り出してWebブラウザーにWebサーバーの所在を教えるDNSサーバーが狙われてしまい、誰もWebサーバーにアクセスできなくなってしまったという事例もあります。

 このようにDoSだけでも複数の手法があるので、これにD(分散)を組み合わせることによって、より“効果的”な攻撃が成立してしまいます。従って、DDoS攻撃対策を検討する場合には、複数の攻撃手法が存在することを認識した上で、自社の事情や予算に応じた効果的な対策を講じる必要があります。完璧なDDoS対策は存在しないのです。