DNSへの水責め攻撃とは、DNSサーバのDDoS攻撃の手法の1つで、2014年頃から世界中で確認され、攻撃は1年経った現在でも続いている。2014年6月~7月にかけて国内の複数のISPで発生したDNS障害の原因と考えられているという。
水責め攻撃では、攻撃者はBotnetとオープンリゾルバを踏み台にし、DNSサーバへの妨害を行う。Botnetとはウィルス感染などにより、攻撃者が遠隔操作できるPCで、BotnetPCは攻撃者が遠隔操作できる分だけ存在している。
オープンリゾルバとは、必要なアクセス制限がされていないDNSサーバで、外部からの不正使用が可能な状態となっている機器を指す。そのなかには、欠陥を持つホームルータも含まれている。受け付けてはならないDNS問い合わせを受け付け、処理をしてしまうという。
攻撃者は、まずBotnetに対し攻撃対象のドメイン名をランダムなサブドメインでDNS問い合わせするように指令を出す。攻撃者はオープンリゾルバのリストを持っており、遠隔操作された不特定多数のBotnetPCは、そのリストに掲載されたオープンリゾルバへ問い合わせを送る。
オープンリゾルバは、自らのネットワークのキャッシュDNSサーバへ問い合わせを行うが、ランダムなサブドメインはキャッシュに存在しないため、毎回外部への問い合わせが必要となる。
また、攻撃対象ドメインの権威DNSサーバには、大量の問い合わせが殺到し、問い合わせが集中する攻撃対象ドメインの権威DNSサーバやISPや一般企業などのキャッシュDNSサーバが過負荷となり、サービスが継続できなくなる。
ブロードバンドルータの利用がない組織内であっても、攻撃者によりウィルス感染させられたPCにより大量のクエリが送信される。
サービスが停止した場合、ユーザからDNSへの問い合わせができなくなり、通信ができない状態に陥る。そのため、サービス停止前に対策が必要となる。ところが、この水責め攻撃は攻撃を受ける前に対策することは困難だという。その理由として、「どこから攻撃されるか特定しづらいこと」「攻撃に気づきにくいこと」が挙げられる。
2014年のISPのDNS攻撃による障害は、顧客側から攻撃されていた可能性がある。もちろん顧客側に悪意があるわけでなく、知らない間にホームルータなどを通して攻撃に加担していることになる。不特定多数のオープンリゾルバを見つけることは容易ではなく、事前に攻撃に利用される機器を見つけることは困難だという。
また、攻撃を受ける側が対策を考えた場合、DNS問い合わせが異常に増加しているなど、実際に攻撃を受けなければ気づくことはできない。そのため、攻撃を受ける前の対策は困難となり、攻撃をすばやく見つけ、対策する仕組みが必要となる。
今回、デージーネットが開始した「DNSへの水責め攻撃防止システム構築サービス」では、キャッシュDNSの統計情報を調査し、一定以上問い合わせがあったドメイン名に対し、DNSの名前解決を停止する。そうすることで、DNSが過負荷となる前に攻撃からDNSサーバを守ることができる。
キャッシュDNSサーバが複数ある場合でも、すべてのキャッシュDNSサーバにドメイン情報を共有し、対象ドメインの名前解決を停止することが可能だ。また、攻撃の踏み台として使われたPCやブロードバンドルータを検出し、管理者に通知することもできる。
DNSサーバには、動的に設定を変更する機能があるソフトウェアを利用する。ドメインの名前解決を停止する際、DNSサーバの再起動を行わなくても設定を変更することができるため、可用性の高いDNSサーバを構築することが可能だという。
また、システム導入後は、Open Smart Assistanceにより、サーバのサポートを提供している。Open Smart Assistanceは、次のようなサービスを提供する。
- Q&A(インストールしたOSSやソフトウェアの利用方法に関しての質問に回答)
- セキュリティ情報提供
- 障害時リモート対応
- 障害時オンサイト対応
- 障害時システム再構築