- PacketFabric流
- PacketFabric’s WAY
- PacketFabric流とは、PacketFabricのスタッフ・エンジニアによる
ネットワーク・ソリューション等に関する情報配信メディアです。
DDoS攻撃は何故脅威なのか?-DDoS対策が難しい真の理由
2016年02月22日
そもそもDDoSって何?
昨今よくニュースに取り上げられるサイバー攻撃として標的型攻撃やDDoSがありますが、この間DDoSとは何かについてテレビで物凄く丁寧に説明していて、やはりちゃんとした説明が必要なのだな、と感じました。そこで普段お客様に説明している内容を含めて、DDoSとは何かについて書いてみます。
クラッキングとDDoSの違い
サイバー攻撃の中でも「標的型攻撃」というのは、わかりやすく言ってしまえばみなさんが想像する通りのハッキングやクラッキングの事です。典型的な騙しのやり口として有名な
「消防署『の方』から来ました」
などと同様で、「騙し」「侵入」によって貴方の家から大事なお金や情報を盗むように、サーバからデータを奪うものです。
一方DDoSとは、Distributed(分散型)Denial of Service(サービス拒否)攻撃の短縮であり、大量の機器による意図的なアクセスで、狙われた対象を忙しくさせて正常に動作できないようにする、というものです。とはいえ英語の単語が連続しているだけでは分かりにくいので、先ほどの「消防署の方から来ました」のたとえで簡単に言うと
「数百人による連続ピンポンダッシュ攻撃」
「数千人が貴方の家の近所の道路を塞ぐ攻撃」
だったり、下手すると
「数百台のダンプカーが同時に家に突っ込んでくる攻撃」
の事です。
そもそも、標的型攻撃などハッキング、クラッキングへの対策とは、少々ベクトルが異なる話なのです。
技術的に簡単な説明
例えばサーバの処理速度が1秒間に4,000のリクエストを処理できるものだったとして、
サーバの処理速度: 4,000/Sec
1秒間に4,000のリクエストを処理できるサーバに8,000のリクエストを送ると、
届いた 8,000 - 処理できる 4,000 = 残る 4,000
4,000のリクエストが処理できずに残ります。残ったパケットは次の1秒間で処理するのですが、次の1秒にも8,000のリクエストが届きます。
残った4,000 + 新しい8,000 = 12,000
12,000 - 次の1秒で処理できる4,000 = 残る 8,000
つまり1秒後、2倍の8,000のリクエストが残り、それは処理まで1~2秒待たされることになります。更に次の1秒にも8,000のリクエストが届いたら、それは3~4秒待たされます。これを数十秒続ければ、「サーバにアクセスしたのに、返事が(数十秒待っても)来ない」という状況になります。さらに続ければ、「返事が一定以上返ってこない場合はTimeOut(時間切れ)で通信を打ち切る」という仕組みのせいで、サーバに接続できなくなります。また、サーバが「後でやる」(保管する、バッファです)リクエストの数に限りがあれば、溢れたリクエストは当然処理されないため、溢れたリクエストを出した人はサーバに接続できません。
このように「大量のアクセスだけで、相手のサーバが利用できなくなる」というのがDDoS攻撃の肝です。
ネットワークに負荷をかける場合
サーバの処理速度ではなく、インターネット接続部分を狙うDDoSもあります。100Mbpsのベストエフォート回線を利用していて、実測の下りが32Mbps、上り12Mbpsを利用できる場合、
回線の処理速度: 32Mbps
単純に、この回線に100Mbpsの通信を流すと、
100 - 32 = 68 Mbps
68Mbps分については、回線の帯域を超えます。回線についてはサーバのように後で処理するわけでもなく、「余った68Mbpsはその場で破棄」されることが多いので(ネットワーク機器の設定や仕組にもよりますが)、その時点で回線に届いた通信のうち68%が失われ、接続が非常に不安定になります。
このようなサーバ処理速度の限界や、ネット接続速度の限界を狙う攻撃をDDoSと言います。
DDoS対策が難しい理由
DDoSへの対策として「サーバを増強すればよい」「回線を太くすればよい」という話がありますが、ただ増強すればいいわけでもありません。単純な設備投資コストの話に加えて、「どの程度まで増強するか」つまり結局増強した設備を上回る攻撃をうけたら被害が出るという点が大きいと思います。
例えばDDoSへの備えとして、通常アクセスが100Mbpsのサービスに対して、1Gbps=1,000Mbpsの回線帯域を用意したとします。10倍のアクセスにも耐えられるようにしました。まあTCP通信で1Gbpsの帯域を全て利用するのは中々難しいですし。
さて、攻撃する側としてどうするか。2,000台のPCを用意すれば1台あたり500kbpsになります。台数増やせばもっと少なくなります。まあ500Kbpsなら、例えば500バイト(bitじゃなくてbyte)くらいのテキストをUDPデータで送れば、UDPの1パケットが4kbit程度になるので、そのパケットを1秒間に120回送れば500Kbpsになりますね。100パケット程度を1秒間に送れるデバイス(つまり100pps)(それこそIoT対応デバイスでもよいです)を2,000台用意すれば1Gbpsを食いつぶす事が可能です。
それなら、といって10Gbpsの回線をわざわざ100Mbpsしか必要としないサービスのために用意するのはコスト的に難しいかと思います。更に言うと、10Gbpsの回線を引いても20Gbps, 30Gbpsの攻撃があれば結局意味がありません。
実際は2,000台と言わず、更に大規模な数万台~数十万台のPCがそのような攻撃に利用されていると言われていて(いわゆるボットネット)、実際にそれらを利用した300Gbpsを超える攻撃も観測されています。つまり、設備を用意しても、その設備を上回る攻撃は実行可能なのです。
他人の褌でDDoS、「増幅型」攻撃
さらに、最近は「反射型」とか「増幅型」と呼ばれる超大規模DDoS攻撃があります。DNSやNTPといった、「インターネットにおいて必須なネットワーク機能」を用いて攻撃するというものです。
- 対象のIPアドレスを発信元とする、DNSの「問い合わせ」パケットを偽造します。
- 世界中にある「誰からの問い合わせも受け付けるDNS」サーバに偽造したパケットを投げます。
- 世界中のサーバが、「偽造された」パケットに対して、被害者のアドレスに「答え」を返します。
- 世界中から、大量の「問い合わせの答え」パケットが、対象のサーバに届きます。
この攻撃は「問い合わせ」のサイズに対して返ってくる「答え」が大きいので「増幅型」(Amplifier)と呼ばれ、また「直接攻撃せず、DNSサーバに攻撃を『反射』させて(増幅させて)対象を攻撃する」振る舞いから反射型(Reflection)と呼ばれることもあります。
攻撃者が隠れてしまう増幅型
「増幅型攻撃」の厄介な所は、大量のパケットを送りつけてくる相手が、世界中に存在し適切に運用されているサーバであることが多い、という点です(本当に適切かどうかは別として)。
「とりあえずボットネットだと思われるIPアドレスからのアクセスはブロックしよう」となった場合でも、ボットネットが反射型として世界中のDNSサーバを利用した増幅型攻撃を実施した場合、ターゲットにアクセスしてくるのはボットネットではなく、「ボットネットから偽造されたパケットを受け取った、普通のDNSサーバ」ですから、ブロックできません。
また普段の通常アクセスでは当然DNSサーバへのアクセスを行いますから、「DNSサーバから返ってくるアクセスだけブロックする」わけにはいきません。ドメイン名の解決ができなくなって、結局インターネットへのアクセスが制限されてしまいます。
反射や増幅型攻撃は、サーバ運用側での対処がほぼ出来ない攻撃だと言っていいでしょう。
次回予告:増幅型DDoSへの適切な対処
次回は、この状況を踏まえて「どう増幅型DDoSに対処するか」という部分を書いてみたいと思います。
インターナップのDDoS攻撃対策サービス
DDoS攻撃対策に代表される外部向けシステムのセキュリティ対策は、情報の保護など内部のセキュリティ同様に重要ですが、最も有効な方法はわかりにくいものです。インターナップ・ジャパンでは、想定される状況や予算に合わせて選べるようラインナップしています。
- 最近の記事
-
-
- 2024年7月12日
- コンピュータはどう動くのか、或いは、この世の大概の悪の原因 Do you know how your computer really works, or “The Root of Almost All Evil?”
-
- 2023年5月25日
- ローカルブレイクアウトしたのにSaaSは遅いまま…Unitas Networkの出番です
-
- 2022年6月30日
- エッジコンピューティング v.s. クラウドコンピューティング ~鍵を握るのはネットワークエッジ~
-
- 2021年6月17日
- 昨今のネットワークエッジとINAPのインテリジェント・ルーティング
-
- 2021年3月16日
- Kubernetes Cluster HA構成 後編「クラスターの作成と検証」
-