JPドメイン名のサービス案内、ドメイン名・DNSに関連する情報提供サイト


ドメイン名関連会議報告

2023年

[Interop Tokyo 2023出展報告] 権威DNSサーバーを狙った攻撃の影響範囲と可用性を高めるためのポイント~ランダムサブドメイン攻撃を題材として~

JPRSは、6月14日から16日までの3日間にわたり幕張メッセで開催された「Interop Tokyo 2023」の展示会にブース出展しました

本記事では、JPRSの出展ブースで実施したミニセミナー「権威DNSサーバーを狙った攻撃の影響範囲と可用性を高めるためのポイント」の内容についてご紹介します。

DNSの階層構造を形作る権威DNSサーバーがサイバー攻撃を受けた場合の影響範囲と可用性[*1]を高めるためのポイントについて、権威DNSサーバーに対する攻撃手法の一つであるランダムサブドメイン攻撃を題材として解説しました。

ミニセミナーの資料動画も公開していますので、併せてご参考にしてください。

権威DNSサーバーに高い可用性が必要になる理由

権威DNSサーバーは自身が管理するゾーンと、委任先のゾーンの情報を提供します。そのため、攻撃を受けた場合の影響は管理するゾーンに加え、委任されているすべてのゾーンにも及びます(図1)。

(図1)

(図1)


かつ、権威DNSサーバーが提供する情報は、そのドメイン名で提供されるすべてのサービスの利用者が参照します(図2)。そのため、権威DNSサーバーはDNSの他の構成要素に比べ、より高い可用性が必要になります。

(図2)

(図2)


ランダムサブドメイン攻撃の仕組みと最近の状況

ランダムサブドメイン攻撃は、攻撃対象のドメイン名の権威DNSサーバーを過負荷にしてサービス不能にする、DDoS攻撃の手法です。攻撃パターンの特徴から、DNS水責め攻撃とも呼ばれています。

ランダムサブドメイン攻撃の仕組みを、図3に示します。

攻撃者は、インターネット上で収集したオープンリゾルバーのリストを持っており、遠隔操作可能な多数の機器で構成されたBotnetに、リストに掲載されたオープンリゾルバーに対し、攻撃対象のドメイン名にランダムなサブドメインを付加した名前[*2]で、DNS問い合わせを送る旨の指令を出します。

この問い合わせにはランダムなサブドメインが付加されているため、フルリゾルバーのキャッシュが効果を発揮しません。そのため、Botnetから送られたすべてのDNS問い合わせが攻撃対象ドメイン名の権威DNSサーバーに届くことになり、権威DNSサーバーが過負荷の状態になります。

(図3)

(図3)


ランダムサブドメイン攻撃は2014年から2015年にかけ、世界的に流行しました。その後、攻撃は小康状態になっていましたが、2023年3月ごろから国内外の研究者・専門家・サービス事業者などが攻撃の再活発化を報告しており、攻撃によるものと考えられる、複数の被害事例も報告されています。

攻撃は現在も続いており、注意が必要です。

権威DNSサーバーの可用性を高めるためのポイント

セミナーでは権威DNSサーバーの可用性を高めるためのポイントとして、「サーバーの強化・分散化」「サーバーのグループ化」「状況に応じた柔軟な運用」の三つを紹介しました。

サーバーの強化・分散化は、DDoS攻撃に対する可用性を高める基本的な手法です。NS数を増やす・同じIPアドレスで複数のサーバーを動作させる・ネットワーク環境の強化などが、有効な手段として挙げられます。また、高負荷に耐えるマネージドDNSサービスの利用も、有効な手段となります(図4)。

(図4)

(図4)


サーバーのグループ化は、収容するドメイン名を複数のグループに分散することで、DDoS攻撃発生時の権威DNSサーバーの全断を回避する手法です。セミナーではグループ化の例として、権威DNSサーバーを三つのグループに分け、一つのグループが攻撃で全断した場合も他のグループが全断しないようにすることで、サービスの全停止を回避する方法をご紹介しました(図5)。

(図5)

(図5)


マネージドDNSサービスは問い合わせ数による、従量課金が一般的です。そのため、平常時はマネージドDNSサービスをスタンバイしておき、高負荷時に追加するように設定することで、より柔軟な運用が可能になります(図6)[*3]

(図6)

(図6)


運用担当者・責任者のみなさまへ

Webサービスなどと比べ、DNSにかかるコストは忘れられがちです。しかし、その組織の権威DNSサーバーが停止した場合、顧客や閲覧者がWebサイトを訪問できなくなり、サービス提供における致命的な機会損失につながります。

そのため、常日頃から権威DNSサーバーに気を配り守ることは、サービスの安定運用のための必要条件となります。

[*1] サーバーやシステムが継続して稼働できる能力です。

[*2] 攻撃対象が「example.jp」であった場合、「(random).example.jp」となります。

[*3] NSレコードの追加・削除は、親子双方のゾーンで必要になります。