DNSリフレクション攻撃/DNS増幅攻撃/DNS水責め攻撃とは
DNSリフレクション攻撃(DNS reflection attack)とは、 攻撃対象者をサービス不能にするDoS (Denial of Service)*1攻撃手法のうち、 その名の通りDNSを用いて行われるものです。
攻撃者は、DNSへの問い合わせメッセージ中にある送信元IPアドレスを、 本来の送信元ではなく攻撃対象ホストのIPアドレスに偽装し、 踏み台となる(攻撃対象とは異なる)DNSサーバに問い合わせを送ります。 受け取った踏み台サーバは、回答先として攻撃者ではなく、DNSメッセージ中のIPアドレス、 つまり攻撃対象のホストに対して回答を送信します。 こうすることで、攻撃者は自分のホストからではなく、 踏み台を経由して攻撃対象にDNSメッセージを送ることができます。 この一連の動作を、DNSリフレクション攻撃と呼びます。 また、この動作を利用し、多数の踏み台を用意してDNSメッセージを送ることで、 攻撃対象のホストやネットワークに大きな負荷をかけることができます。
さらに、DNSではプロトコルの性質上、 メッセージのサイズは問い合わせよりも回答の方が大きくなりやすいため、 攻撃者の利用できる帯域よりも大量のトラフィックを、 攻撃対象に対し容易に集中させることができます。 この攻撃はDNSリフレクション攻撃の一種ですが、 DNS増幅攻撃(DNS amplification attack)とも呼ばれています。
DNSリフレクション攻撃の他にも、DNSにランダムなサブドメインを含む問い合わせを行い、 帯域をあまり消費せずに攻撃対象の権威サーバに負荷をかける、 Water Torture(水責め)*2と呼ばれる攻撃も近年観測されています。
DNSリフレクション攻撃の軽減策としては、 BCP 38*3のようなIPアドレスの偽装をしにくくする手段を各ISPが採用する、 また、オープンリゾルバ*4のような踏み台になりやすいDNSサーバを減らすといった方法がありますが、 確実とは言えないのが現状です。
*1 インターネット用語1分解説「DDoSとは」
https://www.nic.ad.jp/ja/basics/terms/ddos.html
*2 Water Torture: A Slow Drip DNS DDoS Attack
https://blog.secure64.com/?p=377
*3 BCP 38 - Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing
https://tools.ietf.org/html/bcp38
*4 オープンリゾルバ(Open Resolver)に対する注意喚起
https://www.nic.ad.jp/ja/dns/openresolver/