「DNSリフレクション(リフレクター)攻撃によってWebサービスが不能となった」という報道を見たことがあるのですが、どういう意味なのでしょうか?
A
DNSリフレクション(リフレクター)攻撃とは、リフレクション、つまり反射を用いた攻撃です。攻撃の仕組みは単純で、送信元のIPアドレスを偽装したDNSリクエストをDNSサーバーに送ることによって、偽の送信元である攻撃対象に大量のDNSパケットを送り付ける、というものです。攻撃対象を直接スキャンしたりすることなく、間接的に攻撃を仕掛けるため、攻撃元の特定が難しくなります。
DNSという通信手段はプロトコルがUDP(User Datagram Protocol)であるため、IPアドレスを詐称することがTCPに比べて容易です。同じUDPを通信手段としているプロトコルにNTP(Network Time Protocol)がありますが、こちらも同様に詐称されやすいのが難点です。
DNSは現在のインターネットでは不可欠なサービスですので、悪用可能なサーバーを発見されてしまう可能性が高く、攻撃者はこうしたサーバーを数多く集めて効果的な攻撃をもくろみます。また、送信パケットがそれほど大きなデータを抱えていない一方で、それに対する応答として大量のデータを受け取るため(増幅率が高い、という表現をします)、DoSやDDoS攻撃をより効率よく実施できるという特徴があります。
DNSの役割は重要であるにもかかわらず通信そのものの信頼性が低く、悪用しやすくなっています。信頼性が低いことを前提に、DNSサーバーの設定によって正しくサービスの利用者を制限すればよいのですが、制限を行わず、もしくは制限を誤っているために、本来内部の人間(コンピューター)にだけ利用させればよいはずのところを外部の人間にも利用させてしまっています(オープンリゾルバ、などと呼ばれています)。こうした状況がDNSリフレクション攻撃を招いているとも言えます。
対策としては、悪用されやすくなっているDNSサーバーを減らすことに尽きます。しかし、そもそも通信要件を整理できていないために悪用されやすくなっているものも多いと推測できるので、減らすことは容易ではないでしょう。DNSというプロトコルは、これだけ重要なサービスを担うものなのに、UDPであるために悪用されやすくなっています。本来であればプロトコルを設計し直すくらいのことをやらなければならないと思いますが、普及度からみてそれも現実的ではなさそうです。多く使われている実装が外部向けと内部向けを明示的に分けていないことなども問題ですが、そうした整理がされてきて、なおかつDNSの拡張仕様であるDNSSEC(DNS Security Extensions)などの選択肢が増えて、サービスの全体的な信頼性が向上することを期待したいところです。