Subdomain Takeover(サブドメインテイクオーバー)
CDN(Content Delivery Network)サービスやWebサービスの利用開始時に設定したサブドメインのDNS設定がサービスの利用終了後も残ったままになっていることを利用し、ドメイン名の管理権限を持たない第三者が、そのサブドメインの乗っ取り(テイクオーバー)を図る攻撃手法です。
外部のCDNサービスやWebサービスを利用する際、利用に必要なCNAMEリソースレコードやA/AAAAリソースレコードの設定を、事業者側から求められる場合があります。例えば、example.jpの管理者がcdn.example.netで運営されるCDNサービスを利用し、campaign.example.jpというドメイン名で期間限定のWebサイトを公開する場合のCNAMEリソースレコードの設定例は、以下のようになります。
図1:CNAMEリソースレコードを用いた設定例
その後、そのWebサイトの公開を終了するためにCDNサービスを解約すると事業者側の設定が削除され、Webサイトにアクセスできない状態になります。
図2:Webサイトにアクセスできなくなった状態
しかし、CDNサービスの解約後も利用開始時に設定したCNAMEリソースレコードが残ったままになっており、かつ、事業者側で、解約されたサーバーのドメイン名と同じドメイン名(campaign.example.jp)のサーバーを第三者がCDNサービス上に再設定できるようになっていた場合、Subdomain Takeoverによりドメイン名を乗っ取られる危険性があります。
図3:Subdomain Takeoverによる攻撃が成立
Subdomain Takeoverは以前から存在する攻撃手法ですが、CDNサービスの普及により、発生事例が増加傾向にあります。
Subdomain Takeoverを防ぐための根本的な対策として、Webサイトの公開を終了する際、利用していたCDNサービスの解約に加え、Webサイトの公開時に設定したCNAMEリソースレコードやA/AAAAリソースレコードも忘れずに削除することが挙げられます。
図4:不要なCNAMEリソースレコードの削除
なお、最近では、外部のCDNサービスやWebサービスを利用する際、利用者が設定するドメイン名に関する管理権限の確認を必須とするなど、事業者側でSubdomain Takeoverの危険性を軽減する対策を実施している場合もあります。
*
CNAMEリソースレコード(シーネームリソースレコード)(JPRS)
*
Aリソースレコード(Aレコード)(JPRS)
*
AAAAリソースレコード(AAAAレコード)(JPRS)
*
ドメイン名ハイジャック(JPRS)
*
NS Takeover(エヌエステイクオーバー)(JPRS)