メニュー

おすすめコラム

2020年1月14日
常識を疑え!ハッカー視点のセキュリティ
株式会社トライコーダ 上野宣

第22回 やまないDDoS攻撃はない?DDoS攻撃の手法とその対策

世の中ではたくさんのサイバー攻撃が起きていますが、その多くは本連載で紹介しているようなテクニックを使っているわけではありません。数として最も多いサイバー攻撃は「DDoS攻撃」です。 まず「DoS攻撃」というのは「Denial of Service攻撃」のことで「サービス停止攻撃」とか「サービス妨害攻撃」と訳されています。この攻撃でどのようにしてサービスを止めるのかというと、サーバーやネットワークに対して過剰に負荷を掛けることで、Webなどのサービスの正常な動作を妨害したり、システムの脆弱性を悪用してサービスを停止させたりします。それを大量の端末から一斉攻撃を仕掛ける分散型のDoS攻撃を「DDoS(Distributed DoS)攻撃」と呼んでいます。

マルウェアに感染したIoT機器が一斉にDDoS攻撃を仕掛ける

ここ数年でのDDoS攻撃で有名な事例として、2016年9月に起きた有名なセキュリティニュースサイト「Krebs on Security」がターゲットになった攻撃があります。
このときのDDoS攻撃では約620Gbpsの規模のDDoS攻撃が起きたと報告されています。620Gbpsというと、1秒間の間に約78GBのデータが飛んでくることになりますので、とんでもない流量のパケットが1つのWebサイトに集中したということになります。誰がこの流量のパケットを送っているのでしょうか。もちろん1台のコンピュータなどから発信できる量ではありません。
このときは「Mirai」というネットワークカメラや家庭用ルーターなどのIoT機器のセキュリティの問題を狙って感染するマルウェアが使われました。このMiraiに感染した数十万台のIoT機器が一斉にDDoS攻撃を行ったのです。

他にもDDoS攻撃の事例は枚挙に暇がありません。歴史観を巡るような問題や政治的な問題が起きたときには、しばしば関連したWebサイトなどにDDoS攻撃が行われています。また海外の攻撃代行事業者などを使って高校1年生がオンラインゲーム会社のサーバーをダウンさせ、約9時間の通信障害が発生したことで書類送検されるという事件などもありました。
攻撃者がDDoS攻撃を行う目的の1つは「意思表明」です。ハクティビストなどが社会的・政治的な主張のためにDDoS攻撃を使うというもので一時期はAnonymousやLulzSecなどのハッカー集団がよく使っていました。また、単に恨みを晴らすために妨害してやろうという場合もあります。
もう1つの目的は金銭目的です。DDoS攻撃を行う予告と共に、脅迫を行って金銭を要求するというものです。また、他社サービスをダウンさせることによって、自社サービスに誘導するということもあるようです。

DDoS攻撃のパターン

DDoS攻撃には大きく2つの方法があり、1つはリソースを使い切って他のユーザーが接続できないようにするもの。もう1つはシステムをダウンさせてサービスを利用できないようにするものです。
攻撃のパターンでみると下記の3つに分類されます。

  • *ボリュームベース
    ・ICMPやUDPなどのパケットを大量に送りつけて、ネットワークの帯域を埋める
  • *プロトコルベース
    ・ICMPやUDP、TCPなどのパケットを大量に送りつけて、サーバーのリソースを埋める
  • *アプリケーション層ベース
    ・アプリケーション層のHTTPやDNSなどのパケットを大量に送りつけて、サービスのリソースを埋める
    ・脆弱性やサービスの仕様を悪用してサービスをダウンさせる

どのようにして大量のアクセスを行うのか

DDoS攻撃では主に下記の2つの方法で大量アクセスを発生させています。

  • *ボットネットを利用
    ・マルウェアに感染させた多数の端末から一斉にアクセスを行い、その規模は数十万台規模のこともある
    ・時間貸しの有償サービスとして提供されていることもある(建前は負荷サービス)
  • *大量の人員を動員
    ・SNSなどで大量の人員に呼びかけて、ターゲットを指定して一斉にアクセスをしてもらう
    ・攻撃ツールやブラウザを利用しての連続リロード(F5攻撃)など

これらのDDoS攻撃の威力を増幅させるテクニックに「アンプ攻撃(Amplification attacks)」があります。アンプとは増幅器のことで、DDoS攻撃によるトラフィックを数倍〜数十倍に増幅させることができます。リフレクション攻撃と呼ばれることもあります。
増幅の仕組みとしては、公開状態にあるDNSやNTPなどのUDPサービスを利用してパケットサイズを増幅します。UDPパケットは送信元を確認しないので、送信元をターゲットに偽装してUDPパケットを送ると、受信したDNSサーバーなどはターゲットに返答します。
このとき、問い合わせパケットのサイズより、応答パケットの方が大きくなるように工夫をすると、パケットサイズが増幅されてターゲットに送られるのです。

DDoS攻撃対策は簡単ではないが、毎日来るものでもない

DDoS攻撃の多くは、大量アクセスを浴びせられるので、サービス提供者が準備している帯域やコネクション数以上の攻撃が来た場合には捌くことはできません。
攻撃が来た場合にはサーバーのコネクションと対外接続回線を埋めないように上流ネットワークで対策を行うことになります。特定箇所から来る攻撃を遮断・破棄する必要がありますが、正常なアクセスと、悪意を持ったアクセスを見分けるのは容易ではありません。

サービスの設計時にどの程度のDDoS攻撃まで耐えられるようにするかということを決める必要があります。そして、その大量のコネクションを処理する許容量を持つ必要があります。もちろんそれ以外にサーバーの脆弱性、設定の不備をなくす必要があります。
また、CDN(Contents Delivery Network)サービスを提供する事業者が、一時的に受けとめられる許容量を増やすサービスを提供していることもあるので、それを利用するのも一案でしょう。
しかし、DDoS攻撃は必ず来る攻撃ではありません。脆弱性を狙った攻撃は無差別に来ることがありますが、DDoS攻撃のほとんどはターゲットとして狙われない限りは来ることはありません。つまり、対策をしても無駄になる可能性があるということです。
万が一DDoS攻撃が発生しても、永遠に続くDDoS攻撃もありません。もしかすると、通り過ぎるのを待つのが最善の策かもしれないのが悩ましいところです。

ちなみに冒頭で例に挙げた「Krebs on Security」ですが、現在では「Google Project Shield」というGoogleが提供する無料のDDoS攻撃対策を利用しているようです。Googleの強大なインフラを無料で借りられるわけですが、利用条件があり「人権や言論の自由を守るために無料で提供するサービス」に限られるようです。

Copyright © NEC Fielding, Ltd, 2020. All rights reserved.