DDoS backscatter の長期変化
かつて、技術レポート Internet Infrastructure Review (以下 IIR) で DDoS backscatter 観測状況を継続的に報告していました。最後の報告記事は2017年3月までを扱った IIR Vol.35 でしたから、それから3年近くになります。本記事では、この間の長期的な傾向の変化を紹介しようと思います。
DDoS backscatter とは
DDoS における backscatter とは、送信元を偽ったパケットを受け取ったホストが、その偽装された送信元に対して返答するパケットのことです。DDoS 攻撃では送信元を偽った大量のパケットを送りつける攻撃手法があり、偽装された送信元がたまたま自分で使用している IP アドレスだった場合、その backscatter パケットを受け取ることになります。IIJ では MITF (Malware Investigation Task Force) というマルウェア対策のための観測を行っていて、その設備で backscatter も観測しています。
backscatter については IIR Vol.8[1]Internet Infrastructure Review(IIR)Vol.8 https://www.iij.ad.jp/dev/report/iir/008.html 2010年8月27日発行: 1.4.2 DDoS攻撃によるbackscatterの観測 で詳しく解説していますので、ご参照ください。
観測パケット数は増加傾向
2015年1月から2020年1月までの全体的な観測状況の推移を見てみましょう。次のグラフは月毎に集計したポート別[2]観測した DDoS backscatter パケットに含まれる送信元ポート。つまり、攻撃対象の受信ポート。パケット数の推移を示したものです(図1)。
まず気がつくのは全体的な増加傾向です。実際に1日平均の観測パケット数を計算すると、2016年には1万(パケット/日)程度でしたが、2017年には2万、2018年には9万、2019年には16万となり、大幅に増加していることがわかります。
では DDoS 攻撃事案の件数も同じように増えたのか、という疑問が浮かびます。
DDoS backscatter 観測データから直接に事案の件数を示すことは非常に困難なので、代用として、観測データのユニーク IP アドレスを数えることで攻撃対象となったホストの数を見ることにしましょう。次のグラフは月毎のユニーク IP アドレス数の推移を示したものです(図2)。
これによればユニーク IP アドレス数は、減少傾向か横ばいか議論の余地がありますが、少なくとも増加傾向はないと判断できます。
攻撃対象となったホストの数に増加傾向はないということは、ホストあたりの観測パケット数が大幅に増加しているということですから、DDoS 攻撃事案一件あたりのトラフィック規模が大きくなっている様子が伺えます。
高いポート番号への攻撃
最初のグラフ(図1)から、観測の全体像としてパケット数が大幅に増加していることはわかりました。では、その内訳はどうなっているでしょうか。
Web (80/TCP, 443/TCP, 8080/TCP) や SSH (22/TCP), FTP (21/TCP) といった広く使われているサービスのポートが目立つ月もたびたび見られますが、実は、通常のサービスでは利用されない高いポート番号宛の backscatter が観測件数の大半を占めるように変化してきています。実際のデータで見てみましょう。
後述する「DNS 水責め攻撃」の影響を受けないように結果を読み取りたいため、まずは 53/UDP 宛の backscatter を除外します。その上で、大まかな様子を見るために、ここでは0〜65535のポート番号範囲を32768以上と32768未満の半分ずつに分割して集計、月別のグラフにしました(図3)。32768未満のポート番号には、公開サービス用のいわゆる well-known ポート(0-1023)や、それ以外でも公開サービスに使われている 8080/TCP などのポート、また、ゲームのサーバが使うポートなども含まれています。32768以上の「高いポート番号」は特定の用途やプロトコルのために予約されてはおらず、主に TCP/IP スタックが送信元として自動で割り当てる範囲として使われているものです。
2019年8月に32768未満のグラフに大きな山がありますが、これはこの月に2つの IP アドレスに対する SSH(22/TCP) への攻撃件数が突出していたためです。全体を俯瞰すれば、かつては低いポート番号(32768未満)へのパケット数の方が多かったのに、現在では高いポート番号(32768以上)へのパケット数がずっと大きくなっています。
同じデータを割合グラフで見れば、全体に占める高いポート番号(32768以上)の割合が大きくなっていっていることがよくわかります(図4)。
このように、特定のサービスへの攻撃ではなく単純に回線を埋めることだけを狙ったと思われるパケットが多くを占めるようになりました。
DNS 水責め攻撃のその後
DNS で使われるポート 53/UDP への攻撃を示す backscatter が2014年2月から多く観測されるようになり、そのことを IIR Vol.23 で報告しました。のちに IIR Vol.25 で、これらが「DNS 水責め攻撃[3]JPRS用語辞典|ランダムサブドメイン攻撃(DNS水責め攻撃) https://jprs.jp/glossary/index.php?ID=0137」と呼ばれる手法の backscatter であると考えられる旨を報告しました。この攻撃は継続的に、長期間観測されていました。過去に紹介したのは、2016年5月25日から一時的に収まっていたものの同年9月20日頃から再び観測されはじめ、1日あたりの観測件数はもとの水準にまで戻っていた、ということでした。
その後、この DNS 水責め攻撃の backscatter がどうなったか、推移を見てみましょう。図5は、DNS 水責め攻撃が始まる前の2014年1月から今年2020年1月までの、ポート 53/UDP を対象にした backscatter 観測件数のグラフです。
グラフを一見してわかるように、53/UDP の backscatter は2017年5月中旬を境にほとんど観測されなくなりました。それ以降現在に至るまで、1日数件程度に収まっています。これは DNS 水責め攻撃が観測されるようになる2014年2月より前と同じ水準です。DNS 水責め攻撃は2017年5月に収束したと表現して良いでしょう。
なぜこの時期に収束したのか、社会情勢の変化(攻撃側の方針転換)やインターネット上の全体的な DNS インフラ構造の変化(防御側の変化)などで思い当たるものもなく、理由はわかっていません。
終わりに
長らく DDoS backscatter 観測データを分析してきたのですが、最近は報道で取り上げられるような大規模な DDoS 事件の backscatter パケットを観測することが少なくなったように感じています。攻撃者側の観点を想像してみると、彼らは「使い捨ての botnet で攻撃するならば送信元アドレスをランダムに詐称する必要はない」と考えるかもしれません。また、昨今事例が増えている TCP SYN/ACK リフレクション攻撃[4]IIJ Security Diary: IoT 機器を踏み台として利用する SYN/ACK リフレクション攻撃 https://sect.iij.ad.jp/d/2019/02/128021.html[5]wizSafe Security Signal: Servers.comを狙ったDDoS攻撃の観測 https://wizsafe.iij.ad.jp/2019/10/764/は、攻撃対象のアドレスを送信元として詐称することでインターネット上にある多数の踏み台機器から大量の応答パケット(backscatter)を攻撃対象に集中させる手法ですから、観測用センサーにパケットが届くことはありません。私たちのチームでは、このような攻撃手法の変化が前述したような印象をもたらす大きな要因になっているのではないかと推測しています。
しかしながら、backscatter 観測件数そのものは大きく増加し続けています。攻撃件数の多いものをピックアップして調べると、個人向け PC ゲームの通信用ポートやゲームサーバのサービスポート、ゲーム関連のユーザ・フォーラムのサイトが多く見られます。単純すぎる推測ではありますが、リアルタイムに通信を行うゲームが普通になった時代を反映して、ユーザのトラブルなどを端緒とした DDoS 攻撃がカジュアルに、より多く行われるようになってきているのかもしれません。
防御する側としては、ホストあたりの観測件数が大きく増加した事実を無視するわけにはいきません。守るべきサーバやサービスの規模にかかわらず、DDoS 対策の検討や攻撃に対する対応の用意、定期的な確認など、普段から備える必要性が増してきていると考えるべきでしょう。
脚注
↑1 | Internet Infrastructure Review(IIR)Vol.8 https://www.iij.ad.jp/dev/report/iir/008.html 2010年8月27日発行: 1.4.2 DDoS攻撃によるbackscatterの観測 |
---|---|
↑2 | 観測した DDoS backscatter パケットに含まれる送信元ポート。つまり、攻撃対象の受信ポート。 |
↑3 | JPRS用語辞典|ランダムサブドメイン攻撃(DNS水責め攻撃) https://jprs.jp/glossary/index.php?ID=0137 |
↑4 | IIJ Security Diary: IoT 機器を踏み台として利用する SYN/ACK リフレクション攻撃 https://sect.iij.ad.jp/d/2019/02/128021.html |
↑5 | wizSafe Security Signal: Servers.comを狙ったDDoS攻撃の観測 https://wizsafe.iij.ad.jp/2019/10/764/ |