DDoS攻撃の潮目が変わったか?(387号)
あけましておめでとうございます。
2025年も「がんばりすぎないセキュリティ」をごひいきにお願いいたします。
2024年の年末に銀行を始めとした大手サービスへの攻撃が目立ちました。
特に2024年の最後の一週間はひどいものでした。
・12/26 日本航空
・12/26 三菱UFJ銀行
・12/30 りそな銀行
・12/31 みずほ銀行
今回は、この攻撃に利用されたと言われているDDoS(ディー=ドス)攻撃についてお話をします。
※ 予定していたハフマン符号化の話は次回までお待ちください
DDoS攻撃
「どどすこうげき」ではありません。「ディー=ドス」と読みます。
元々DoS(ドス)攻撃という手法があり、DDoSはその派生形なので、習慣的に最初のDだけを別けて読みます。
というわけで、オリジナルであるDoS攻撃から説明をします。
DoS攻撃は"Deny of Service"の略で、日本語にすると「サービス拒否」攻撃と呼ばれます。細かい話ですが、途中の"o"だけが小文字なのは"of"の略だからなんですね。
DDoS攻撃というのは、サーバの能力をはるかに越える大量のデータ(作業依頼やその返信)を送りつけ、まともにサービスを行えない状態にする攻撃です。
昔はチケット販売サイトで人気チケットが売り出された直後は急激にサーバの反応が悪くなり、あげくの果てに「接続が切れました」となっていました。
あれは、大量のアクセスが集中した結果、サーバの処理能力を超えてしまった時に発生する事象です。
DDoS攻撃はそれを人為的に行っているわけです。
サービス拒否というのも変な日本語ですよね。
サービス拒否攻撃では攻撃側は不要な作業リクエストや返信をめりゃくちゃ送ります。
これは対象サーバの処理能力を超えさせるためです。
攻撃を受けたサーバは不要な作業リクエストの処理に忙殺され、本来のサービスが提供できなくなります。結果「ごめんね。忙しいから後で来てね」となり接続が切られてしまいます。
このように、サーバが本来のサービスを拒否せざるを得ない状況に追い込むことから「サービス拒否攻撃」と呼ぶわけです。
次に「不要な作業リクエスト」を送る方式についてお話します。
DoS攻撃の仕組み
DoS攻撃の本質は余計なことをさせ、サーバを忙しくさせることです。
どんなコンピュータだって、使えるリソース(計算資源)は有限です。
その限度を越えて何かのリクエスト(処理依頼)が送られてくれば、そのうち処理が追いつかなくなり、ギブアップせざるを得ません。
その量が想定をはるかに上回っていると、ギブアップする余裕すらなくなり、リソースを食い尽くした上でサーバダウンとなることも珍しくありません。
このようにサーバがギブアップする(またはダウンする)までリクエストを送り続けるのがDoS攻撃の手法です。
では、どんなリクエストを送り付けるのか?
これにはいくつもの手法がありますが、多いのは本来のサービス(例えば通販サイトでの買いもの)と全く関係ないリクエストを送り付ける手法です。
例えば、DNSというサービスがあります。インターネット上でサーバのIPアドレスを調べる時には必ず使われるポピュラーなサービスです。
DNSを使う時には次のようなやりとりをします。
依頼元「○○のIPアドレスを教えて」
DNSサーバ「それは△△△だよ」
依頼をする時には、返信先のIPアドレスを指定します。(インターネットでは必ずそれを指定するルールです)
この時、返事を受け取るコンピュータを攻撃対象のサーバにしておくとどうなるでしょう?
問い合わせを受けたDNSサービスは(疑う理由がないので)その返信先を信じます。
結果、問い合わせの回答は攻撃対象のサーバに届きます。
もちろん、1回や2回であれば何も問題は起きません。「オレ頼んでないのに、どうしてDNSの返信が来るの???」となるだけで、単に捨てられるだけです。
ですが、これが1万回、100万回、1億回となると話が違ってきます。
あまりに多数の返信が来ると、「これは不要、これも不要、これも不要」と要不要の判断をするだけのために、多くの計算資源を割かねばなりません。
例えば、1マイクロ秒(百万分の一秒)で1回の要不要の判断ができるコンピュータに対して、1秒間に100万回のリクエストがあるとどうなるでしょう?
もう、要不要の判断だけにコンピュータの全能力を使い果たしてしまい、それ以上は何もできないことになりますよね。
では、200万回のリクエストが来れば?
今度は明らかに処理能力を超えています。
コンピュータは何もできなくなるか、ダウンするかのどちらかでしょう。
DNSなどの外部サーバを使う理由
ところで、なぜ外部のサーバを使うのでしょうか?
だって、相手をパンクさせることが目的なら、直接対象のサーバに無意味なデータを送りつけても良さそうなものです。
それでもDNSなどのサービスを利用するのは、その方がサーバを困らせやすいからです。
日常会話でもそうですよね。質問はシンプルでも回答は長くなりがちです。
質問者「氏名と住所とメアドを」
回答者「氏名は清水俊彦、住所は奈良県○○市△△...、メールアドレスは.....egao-it.com、です」
DNSのサービスも同様で質問よりも回答の方がずっと大きなデータとなります。
送る方は少ないデータで済み、攻撃対象には大きなデータを送り付けられるわけです。
わざわざ外部のサービスを利用するのはそのためです。
これがDoS攻撃というものです。
面白いのは、DoS攻撃ではごく日常的な正当なリクエストが用いられる点です。
いわゆるサイバー攻撃では、設定の不備を突いたり、脆弱性を狙ったりすることが多いのですが、DoS攻撃ではそのようなケースは稀です。
上で書いたDNSのリクエストにしても皆さんのパソコンでも日常的に送信しているリクエストであり、しごくまっとうなものです。
DoS攻撃ではDNSに限らず、NTP(時刻同期用)やHTTPS(通常のWebアクセス用)といったリクエストが使われますが、いずれも正常な通信です。
DoS攻撃の限界とDDoSの登場
現代においては、DoS攻撃はほとんど使われません。
なぜながら、商用に用いるサーバは十分に高速で、たった一台からのDoS攻撃などはね返せるからです。
また、特定の送付元から大量のリクエスト(返信も含む)が送られてくるとわかったら、他のネットワーク機器(通常はファイアウォール)でその送付元からの通信を全て捨てるという対応も可能です。
そこで、犯罪者側も考えます。
1台でダメなら、たくさんで攻撃しようぜ!です。
つまり、複数のコンピュータをチーム化して一斉に攻撃すりゃいいんでね?ということです。
確かに1台では高性能なサーバにたちうちできませんが、非力なコンピュータでも、千台とか1万台集めて一斉に攻撃すれば勝てる理屈です。
これが最初に書いたDDoS(Distributed Deny of Service:分散型サービス拒否)攻撃です。
ですが、何千台ものコンピュータを集約して一斉に攻撃を仕掛けるとなると、かなりのコストもかかりますし、場所の確保だって大変です。人員だって必要になります。
この課題の解決とDDoS攻撃の成立とは、実は密接に関係しています。
古くからの読者の方なら、ずっと前に書いたボットネットの話(2019年9月配信)をご記憶かもしれません。
当時、4回連載で書いたので、かなり長い記事ですが、興味のある方は以下をどうぞ。
「ボットネットその1~その4」
https://note.com/egao_it/n/nb26e2c3831e5
https://note.com/egao_it/n/n700e0c235c78
https://note.com/egao_it/n/n615bee77fe3c
https://note.com/egao_it/n/n790daadbee2f
ボットネットというのは、インターネット上にある数千台や数万台のコンピュータを乗っ取り、自分達の意のままに動かせるように調教したコンピュータ集合体のことです。
ボットネットに参加させられているコンピュータにはパソコンやスマホ以外にも様々なものが含まれます。
その多くは、ネットワーク機機(家庭用ルータやネットワークカメラ)です。
こういった機器は、不正利用に非常に気付かれにくいのですね。
例えば、ネットワークカメラがそう。ちゃんと機能していれば、不正利用なんて考えもしませんよね。
ボットネットの運営側もその辺は心得たもので、カメラ機能に影響のないように悪事に利用するわけです。コバンザメ法式というか寸借詐欺(表現が古いな)というか。
ネットワークカメラなど、パソコンやスマホに比べるとずっと非力ですが、それでもDNSなどのリクエストを送るくらいなら何の問題もありません。
ボットネットがあれば、DoS攻撃の問題の多くは解決できます。
サーバがいくら高性能でもそれを上回る台数のボットを集めればOK、個々のボットからの通信量はそれほど多くないため遮断される可能性は低い、というわけです。
こうしてボットネットを利用した進化版のDoS攻撃のことをDDoSと呼ぶわけです。
最初の"D"はDistributed(配分する、配る)の略です。たくさんのボットに仕事を配分するということから、「分散型」と呼ばれています。
DDoS攻撃への対策
DDoS攻撃はかなり以前から存在している攻撃方法で、ごく日常的に発生しています。回避テクニックもいろいろと開発されています。
例えば、アクセスを多くのサーバで分担させることで対攻撃力を高めたり、怪しげな通信リクエストには応答しない(捨てる)といった対応を行っています。
そのため、日常的(データにもよるが、日に数十件発生していることもあるらしい)に発生しているにも関わらず、ニュースなどにならないのは、サービス実施側で食い止めているケースが大半だからです。
防禦側の勝率はかなり高いのです。
その意味で、2024年12月に連続して各社のサービス停止となったことは、業界的にもかなりショッキングだったと言えます。
今回の事例では、従来の数倍のリクエストが届いたケースなども報告されています。
DDoS攻撃の新たな局面を迎えつつあるのかもしれません。
まとめ
2024年12月に、銀行、航空会社などの複数のサービスが停止に追い込まれました。
いずれも、マルウェア(悪意のあるソフトウェアの総称。ウイルスはその代表格)によるものではなく、DDoS攻撃によるものではないかと言われています。
DDoS攻撃は通常、多数のコンピュータで一斉に攻撃対象のサーバに仕掛けます。
短かいものでは数分、長いものでは数時間にわたって、膨大な量の(不要な)リクエストやその返信を送り続けます。
その結果、サーバ側でリクエストを処理しきれず、計算資源(メモリなど)を食いつぶした結果、サーバダウンに至ることも珍しくありません。
このようなDDoS攻撃自体は日常的に起きているのですが、各サービスの運用担当者のオペレーションで事なきを得ているケースが大半です。
電気、ガス、水道といった社会インフラもそうですが、インターネットサービスも多くの運用担当者の努力によって支えられているのだな、というあたり前の事実を改めて感じます。
しかし、今回はトラブルがたて続けに起きています。これは現状のDDoS対策だけでは対応し切れない、新たな局面に入ったことを示しているのかもしれません。
今後ともウォッチが必要な事案であると思います。
今回は、2024年年末に起きたDDoS攻撃についてお話をしました。
次回もお楽しみに。
(この記事は2025年1月に執筆しました)