DNS水責め攻撃 【DNS water torture attack】 ランダムサブドメイン攻撃 / random subdomain attack
概要
DNS水責め攻撃(DNS water torture attack)とは、DNSサーバに対する分散DoS攻撃(DDoS攻撃)の一種で、あるドメイン名について実在しないランダムなサブドメインを大量に作り出し一斉に問い合わせることで、当該ドメインを管理する権威DNSサーバを機能不全に陥らせる手法。DNSの仕組みでは、あるドメイン名についての情報は権威DNSサーバが管理し、外部のDNSキャッシュサーバやリゾルバからの問い合わせに対して応答する。実在するドメイン名についての応答は一定期間キャッシュに保存され、同じ問い合わせを何度も繰り返し権威サーバに行わないようになっており、リゾルバに大量に問い合わせが行われても権威サーバの負荷が高まることは通常は無い。
DNS水責め攻撃では、自動生成した出鱈目な文字列によって「qawsedrftgyhujikolp.example.com」といった実在しないサブドメインを大量に作り出し、ボットネットなどに指示して一斉に様々なリゾルバに問い合わせを行う。このとき、インターネットの任意の相手からの問い合わせに応答する設定になっているオープンリゾルバが悪用される。
各リゾルバはキャッシュに存在しないドメイン名であるため、権威DNSサーバ(この例ではexample.comを管理するサーバ)への問い合わせを行う。攻撃者はリゾルバに対して存在しないドメイン名を次々に問い合わせ、これに応じてリゾルバはすべてのサブドメインについて権威サーバへ問い合わせを行ってしまう。
大量のボットと大量のオープンリゾルバを動員してこのような問い合わせを繰り返すことで、権威DNSサーバへは通常の運用では想定しない大量の問い合わせトラフィックが集中し、外部からのアクセスに応答できない機能不全の状態に陥ってしまう。
また、一般家庭などに設置されたブロードバンドルータ(ホームルータ)などのうち、オープンリゾルバとして外部からのDNS問い合わせに応答するよう誤って設定されているものを動員することで、特定のISP(インターネットサービスプロバイダ)のDNSキャッシュサーバ(フルサービスリゾルバ)を機能不全に陥れる場合もある。