午前I問題

DNSのCNAMEレコードに関する記述として、適切なものはどれか。

ア)CNAMEレコードは、あるホスト名(別名)を別のホスト名(正規名)に対応付けるレコードであり、外部のクラウドサービスやCDNのホスト名を指す設定もよく用いられる。

イ)CNAMEレコードはAレコードと異なりTTL(Time To Live)の概念を持たないため、一度設定すると恒久的にキャッシュされ続ける。

ウ)CNAMEレコードは常にIPv4アドレスと1対1で対応しており、ホスト名を指すことはできない。

エ)CNAMEレコードを削除すれば、そのレコードが指していた外部サービス側のリソース(例:ストレージバケットやアプリ名)も自動的に削除される。

午前I の解答・解説を見る

正解: ア

解説:

  • ア)正解。CNAME(Canonical Name)レコードは、あるホスト名を別のホスト名にエイリアスするレコードであり、クラウドストレージやSaaS、CDN等の外部サービスが提供するホスト名(例:xxxx.cloudapp.example.net)を指す設定が広く使われている。
  • イ)不正解。CNAMEレコードもTTLを持ち、設定したTTLの期間だけキャッシュされる。
  • ウ)不正解。CNAMEはIPアドレスではなく別のホスト名(ドメイン名)を指すレコードである。IPアドレスに対応付けるのはAレコード(IPv4)・AAAAレコード(IPv6)である。
  • エ)不正解。CNAMEレコードの削除は自社DNSゾーン内の設定変更に過ぎず、外部サービス側のリソース(例:クラウドのストレージバケットやアプリケーション名)とは独立して管理されている。この非連動性がサブドメイン乗っ取りの根本原因となる。

午前II問題

「サブドメイン乗っ取り(Subdomain Takeover)」に関する記述のうち、最も適切なものはどれか。

ア)企業が自社ドメインのDNSサーバの管理権限を紛失し、DNSサーバそのものを攻撃者に乗っ取られる攻撃である。

イ)企業が外部のPaaSやCDN、SaaS等のサービス上に確保していたリソース(例:app.example.com が指すクラウドアプリ)を解約・削除した後も、DNSのCNAMEレコードが当該外部サービスのホスト名を指したまま放置されていた場合、第三者が同名のリソースを当該外部サービス上で新規に取得することで、そのサブドメイン宛のトラフィックを乗っ取ることができる攻撃である。

ウ)サブドメイン乗っ取りは、常にTLS証明書の秘密鍵が漏えいした場合にのみ成立する攻撃であり、DNS設定とは無関係である。

エ)サブドメイン乗っ取りは、攻撃者がDDoS攻撃によってDNSサーバを応答不能にすることで成立する攻撃である。

午前II の解答・解説を見る

正解: イ

解説:

  • ア)不正解。DNSサーバ自体の管理権限乗っ取りとは異なる、より限定的で発生頻度の高い問題である。
  • イ)正解。CNAMEが外部サービスのホスト名を指したまま、当該外部サービス側のリソースが解約・削除(かつ再利用可能な状態に)されると、攻撃者がそのホスト名を新規取得することで「ダングリングCNAME(宙ぶらりんのCNAME)」を乗っ取れる。これにより正規ドメインの信頼性を悪用したフィッシングやCookie窃取が可能になる。
  • ウ)不正解。証明書の漏えいとは独立した、DNSレコードの放置に起因する脆弱性である。
  • エ)不正解。DDoSによる可用性攻撃とは異なる、レコードの整合性・所有権に関する問題である。

午後問題

G社はマーケティング施策のたびに外部のクラウドホスティングサービス(H社PaaS)上でキャンペーンサイトを構築し、campaign2025.g-sha.example.com のようなサブドメインのCNAMEレコードをH社PaaSのホスト名(例:g-sha-campaign.h-paas.example.net)に向けて公開する運用を続けてきた。あるキャンペーン終了後、G社の担当者はH社PaaS側のアプリケーション(プロジェクト)を削除したが、DNSのCNAMEレコード自体は削除し忘れていた。

数か月後、セキュリティ研究者から次の指摘を受けた。

  • campaign2025.g-sha.example.com に対しブラウザでアクセスすると、H社PaaS側の「このアプリケーションは存在しません」というエラーページが表示される(=ダングリング状態)。
  • H社PaaSでは誰でも自由にプロジェクト名を新規登録できる仕様であるため、研究者が同名のプロジェクトを取得し、任意のコンテンツをホストできることを実証した。
  • campaign2025.g-sha.example.com は正規ドメイン g-sha.example.com のサブドメインであるため、この状態を悪用されるとブラウザ上は正規ドメインとして表示され、Cookie(Domain=.g-sha.example.com 等のスコープを持つもの)へのアクセスや、正規ドメインを装ったフィッシングに悪用されるおそれがある。

設問1

この状態は一般に何と呼ばれるか。また、なぜ「誰でも自由にプロジェクト名を新規登録できる」ことがこの脆弱性の成立条件になるのか、40字以内で説明せよ。

設問1の解答・解説を見る

正解例:

  • 状態の名称:ダングリングCNAME(宙ぶらりんのCNAME)を悪用したサブドメイン乗っ取り(Subdomain Takeover)
  • 成立条件の理由:第三者がCNAMEの参照先と同名のリソースを再取得でき、応答コンテンツを掌握できるため(38字)。

解説: 外部サービス側でリソース名(プロジェクト名やバケット名等)の再利用に制限(例:一度使われた名前は他アカウントで再取得不可)がある場合はこの攻撃は成立しにくい。G社のケースのようにH社PaaSが名前の早い者勝ち登録を許す仕様であったことが、乗っ取りを可能にした直接的な条件である。

解説・採点基準(計15点):

採点項目キーワード配点
状態の名称にダングリングCNAME/サブドメイン乗っ取りへの言及ダングリングCNAME、Subdomain Takeover5点
成立条件の理由に「第三者が同名リソースを再取得できる」旨再取得、同名登録6点
応答コンテンツを掌握できる点への言及コンテンツ掌握、応答制御4点

設問2

この脆弱性が悪用された場合の被害を1つ具体的に挙げよ。また、G社が講じるべき (1) 即時対応と (2) 恒久的な運用対策をそれぞれ述べよ。

設問2の解答・解説を見る

正解例:

  • 被害:正規ドメインのサブドメインを装った偽サイトを構築され、フィッシングによる認証情報窃取や、正規ドメインにスコープを持つCookie(セッションCookie等)の窃取に悪用される。
  • (1) 即時対応:不要になったCNAMEレコードを直ちにDNSから削除する(または再度H社PaaS側で当該プロジェクト名を確保し直す)。
  • (2) 恒久的な運用対策:外部サービスのリソースを解約する際にDNSレコードの削除も含めた廃止手順(チェックリスト・ワークフロー)を整備し、定期的に全DNSレコードを棚卸しして、参照先が存在しない(ダングリング状態の)レコードを自動検出する仕組みを導入する。

解説: 実務上の根本対策は「リソース解約とDNSレコード削除をワンセットの手順として運用に組み込むこと」と「定期的な棚卸し・自動監視によるダングリングCNAMEの検出」である。IPAや各種ガイドラインでも、外部サービス利用時のライフサイクル管理(作成・変更・廃止)の徹底が推奨されている。

解説・採点基準(計15点):

採点項目キーワード配点
被害にフィッシング/Cookie窃取への具体的言及フィッシング、Cookie窃取4点
(1) 即時対応にCNAME削除への言及CNAME削除4点
(2) 恒久対策に「廃止手順の整備」「定期棚卸し・自動検出」への言及廃止手順、棚卸し、自動検出7点(部分点:どちらか一方でも4点)

重要キーワード

用語説明
サブドメイン乗っ取り(Subdomain Takeover)ダングリングCNAMEを悪用し第三者がサブドメインのコンテンツを掌握する攻撃
ダングリングCNAME参照先の外部リソースが削除・解約された後も残存するCNAMEレコード
CNAMEレコードあるホスト名を別のホスト名にエイリアスするDNSレコード
ドメインのライフサイクル管理外部サービス利用の作成から廃止までを一貫した手順で運用しDNS残存を防ぐ考え方
Cookieのスコープ(Domain属性)Cookieが有効となるドメイン範囲。サブドメイン乗っ取りにより同一スコープ内のCookieが悪用され得る
クロスサイトスクリプティング(XSS)乗っ取ったサブドメインが正規ドメインの信頼を利用したフィッシングやスクリプト実行の踏み台になる点で関連

まとめ

  • 午前I視点: CNAMEレコードの仕組みと、外部サービス側リソースの削除がDNS設定に自動反映されない非連動性を理解する
  • 午前II視点: ダングリングCNAMEが発生する条件と、外部サービス側でリソース名を第三者が再取得できることが乗っ取り成立の鍵であることを押さえる
  • 午後視点: ダングリングCNAMEの検知手順、フィッシングやCookie窃取といった実害、DNS棚卸しや廃止手順整備といった運用対策を具体的に説明できるようにする