DNSSEC は、応答の認証と DNS ポイズニング攻撃を防止する役割を担うプロトコル拡張です。ただし、DNSSEC は DDoS からの保護は行いません。実際、DNSSEC で保護されたゾーンは DNS 増幅攻撃の標的となることがよくあります。追加のレコードタイプ(NSEC、RRSIG)が含まれるため、攻撃者は署名付きの応答が標準的な DNS メッセージよりも大きいことを認識しているからです。
DNS と DDoS
分散型サービス妨害(DDoS)とは、分散したマシンのネットワークを利用して、機能またはパフォーマンスが損なわれるまでターゲットのコンピューティングリソースを過負荷状態にしようとする試みです。DNS(ドメイン・ネーム・システム)は DDoS 攻撃の一般的なターゲットです。なぜなら、Web サイトやアプリケーションの重要なサービスでは、中断することなく名前が IP アドレスに変換されなければならないからです。DNS ネームサーバーは、リゾルバーの IP アドレス(大規模である可能性のあるユーザープールからの再帰クエリーを継続的に解決するための仲介役)の把握しかできない場合が多いため、正当なクエリーを中断することなくこのタイプの悪性のトラフィックを緩和することは困難であることが分かります。したがって、このアドレスに基づいてトラフィックをブロックまたはレート制限すると、フォールス・ポジティブ(誤検知)が発生する可能性があります。さらに、DNS DDoS クエリーはトラフィック全体と比較して低い bps(ビット/秒)または pps(パケット/秒)レートをアドバタイズすることが多いため、レイヤー 3 スクラビングセンターではボリューム型 DNS 攻撃を正常に分離することが困難です。
DNS DDoS 攻撃にはさまざまな種類がありますが、ほとんどの攻撃は 2 つのグループに分類できます。DNS フラッドと DNS 増幅です。
DNS フラッド攻撃とは
DNS フラッド攻撃は、膨大な数のクエリーを送信して DNS ネームサーバーのリソースを枯渇させようとします。高度な攻撃者は、分散型ボットネットを活用して、さまざまな再帰リゾルバーから悪性のトラフィックをソーシングすることで、攻撃を難読化します。
DNS フラッドの一般的な手法は、NXDOMAIN 攻撃(擬似ランダムサブドメイン(PRSD))です。この攻撃では、攻撃者が存在しないドメイン(doesnotexist.example.com など)に対して過剰なリクエストをトリガーし、再帰リゾルバーのキャッシュプールを使い果たしながら、権威ネームサーバーのリソースを消費します。DNS フラッド攻撃が成功すると、正当なクエリーの DNS 解決時間が増加したり、あからさまな DoS 攻撃を受けたりする可能性があります。
DNS 増幅攻撃とは
悪性のクエリーに応答するネームサーバーをターゲットにするのではなく、 DNS 増幅攻撃 はスプーフィングされたソース IP アドレスに大量の DNS リクエストを送信して、別のマシンのリソースを麻痺させようとします。この攻撃は、偽造の返信先住所を記した手紙を郵送して返信を求めるのと似ています。その結果、DNS メッセージは、最初にデータを要求していない無防備な第三者に送信されます。攻撃者は通常、可能な限り多くのゾーン情報を求めてリクエストを送信し、不要な受信帯域幅で被害者を過負荷状態にすることを目指して増幅効果を最大化します。
攻撃者は、このタイプの「リフレクション」攻撃に DNS を悪用することを選択することがよくあります。これは、HTTP よりも攻撃手段が多いからです。HTTP 接続には TCP ハンドシェイクが必要であるため、ターゲットに送信される最大の応答は TCP SYN-ACK パケットであり、これには比較的少量のデータが含まれます。しかし、DNS メッセージは通常、コネクションレス型プロトコルである UDP によって転送されるため、事前の確認なしで、より大きなメッセージを任意の宛先に送信できます。
DNS DDoS 攻撃からの保護に役立つ一般的な方法
正当なユーザーを妨害することなく DNS DDoS 攻撃を検知して緩和することは困難ですが、保護を改善するために推奨される手法はいくつかあります。
- 地理的に分散した Anycast DNS ネットワークによっては、表面積を拡大し、大規模な攻撃を吸収することができます。
- レコード TTL を増やすことで、正当なクエリーと不正なクエリーの両方が権威ネームサーバーに到達するのを防ぎ、ネームサーバーの帯域幅を節約できます。
- 発生し得る最大の DNS 応答である DNS ANY リクエストを無効にすることで、攻撃がこのレコードタイプを悪用して増幅攻撃を増大させるのを防ぐことができます。
- 正当なリクエストを中断せずに DNS クエリーをブロックすることは困難ですが、多くの DNS サーバーでは、特定のリゾルバーが過剰な量のトラフィックを送信している場合に、応答を遅延させて帯域幅を節約することができます。より高度なサーバーには、NXDOMAIN 応答の急増の原因である特定のリゾルバーまたはクライアントからのリクエストを待機させるなど、繊細なレート制限ロジックを組み込むことができます。
Akamai による支援方法
Akamai Edge DNS は、最大規模の DDoS 攻撃を防ぐクラウドベースの DNS ソリューションとして独自の地位を確立しています。300 を超える PoP(Point of Presence)を使用する標準的な顧客トラフィックは、通常、ネームサーバーの全キャパシティの 1% 未満しか消費しないため、攻撃者には分散型の大量攻撃を実行し成功させるチャンスがほとんどありません。さらに、Edge DNS は耐障害性の高い Anycast ネットワーク上に構築されているため、クエリーが BGP によってトポロジー的に最も近い PoP にシームレスにルーティングされます。また、まれにノードまたはリージョンがダウンした場合、プラットフォームに組み込まれたフェイルオーバーメカニズムによって、トラフィックが正常なネームサーバーに転送されます。高度なレート制限機能に加えて、これらの独自の耐障害性により、Edge DNS は 100% アップタイムの SLA を保証できます。
よくあるご質問(FAQ)
複数のクラウド DNS プロバイダーを利用してクエリーに応答することは、プロバイダーが停止した場合のセーフティーネットになり得ます。なぜなら、リゾルバーは通常、ネームサーバーに最初に接続しようとして失敗した場合に別の NS レコードを再試行するからです。しかし、レコード機能はプロバイダーによって異なる場合があり、これについて十分に説明されていない場合、問題のあるハンドアウトの不整合、パフォーマンスの低下、またはあからさまな DoS につながる可能性があります。DNS 管理者は、ALIAS レコード機能と DNSSEC サポートを導入する予定がある場合、各プロバイダーが提供するこれらの機能を具体的に確認する必要があります。
Anycast は、インターネット上の複数のポイントから IP アドレスをアナウンスできるようにするネットワークアドレッシングおよびルーティング技術です。個々の IP に対して複数のノードが分散された悪性のトラフィックを吸収できるため、Anycast を導入することで、サーバーの表面積が拡大され、大規模な DDoS 攻撃を吸収できます。宛先ごとに 1 つの IP を割り当てる Unicast では、攻撃者が Single Points of Failure を集中的に悪用する可能性が高くなります。さらに、多くのレジストラにはグルーレコード制限があるため、Unicast を導入して分散 DNS ネットワークを拡張することは困難です。また、多くの A レコード出力を NS レコード検索に割り当てると、運用上の課題とパフォーマンスの欠点が生じます。そのため、Anycast は、分散型の耐障害性の高い DNS 体制を実現するための、より高パフォーマンスでスケーラブルなオプションを提供します。
Akamai が選ばれる理由
Akamai はオンラインライフの力となり、守っています。世界中のトップ企業が Akamai を選び、安全なデジタル体験を構築して提供することで、毎日、いつでもどこでも、世界中の人々の人生をより豊かにしています。 Akamai Connected Cloudは、超分散型のエッジおよび クラウドプラットフォームです。ユーザーに近いロケーションからアプリや体験を提供し、ユーザーから脅威を遠ざけます。