go.jpサブドメインが不正利用可能な状態だった件について
go.jpのサブドメインを含む名前の一部が不正利用可能だったことが話題です。 「"DNS浸透いうな"の先生」として一部界隈で有名な中京大学の鈴木教授によって発見され、関係省庁に報告されたうえで問題への対処が行われました。 本記事執筆時点において発見・報告が行われたと公表されているのは、総務省、厚生労働省、経済産業省、近畿経済産業局、経済産業省、中国経済産業局、関東経済産業局、文部科学省、国土交通省(2件)、国立教育政策研究所、東京都(tokyo.lg.jp)のサブドメインです。
今回、鈴木教授によって発見&報告されるまで、第三者によってgo.jpを含む名前空間が不正利用可能な状態で放置されていたようです。
- 総務省の Dangling (宙ぶらりんな) CNAME を保護した話
- (続) 総務省の Dangling (宙ぶらりんな) CNAME を保護した話
- “中央省庁の一部サイト 不正利用のおそれ” 指摘受け修正 | NHK
- 省庁ウェブサイトのドメイン管理不十分 5省庁に 厚労省なども | NHK
- 村上総務相“一部サイトにセキュリティー上の不備”再発防止へ | NHK
- 省庁のドメイン管理不備でガイドライン見直し検討 デジタル相 | NHK
- サービス終了後に残っているDNS設定を利用したサブドメインの乗っ取りについて - JPRS
今回のgo.jp不正利用問題の背景として、ドメイン名の永代供養に関する話題が注目されがちですが、それとは別に、共用DNSサーバが引き起こしている問題でもあるというのが個人的な感想です。 この記事では、そこら辺を含めて解説します。
概要
期間限定の用途でgo.jpのサブドメインを作成したものの、その用途が終わった時点で権威DNSサーバでの設定を削除していなかったことで危険な状態であったことが発見されました。
今回の問題は2種類あります。 ひとつはDNSにおけるゾーンの委任が適切に行われていないlame delegation、もうひとつがCNAMEが無効な参照先を示しているdangling recordsです。
lame delegationによる問題では、各省庁のためのgo.jpドメインのサブドメイン用NSレコードが、ホスティング事業者やクラウド事業者が運用するDNSサーバを指しているものの、参照先のDNSサーバでは該当するゾーン設定が削除されていたために発生しました。
dangling records(CNAME)の問題では、各省庁のためのgo.jpドメインを名前の一部に持つCNAMEレコードが指す先が宙ぶらりんな状態になっていて、その宙ぶらりんな状態となる先を第三者が設定できたというものでした。
これらは、期間限定の用途が行われている最中は、WebサービスやCDNサービスを利用するためにDNSサーバにおいてゾーンの設定が存在していたものと思われます。 各省庁のためのgo.jpドメインのための権威DNSサーバにおける設定が削除されずに放置され、いくつかの条件を満たした場合には、第三者が該当するgo.jpサブドメインを悪用することが可能な状態でした。(実際に悪用され、オンラインカジノサイトになっていた事例もあるようです)
共用DNSサービスの悪用について
今回の問題を発見した鈴木教授は、昔から共用DNSサービスの危険性に関して情報発信をしています。 たとえば、「DNSの浸透待ち」とネット上で公開することで乗っ取りが可能になる場合があるので、不用意にそういった発言を発信することが危険であるとも主張しています。
共用DNSサービスが抱えている様々な問題に関して詳しく知りたい方は、鈴木教授が2019年に公開された以下の資料をご覧ください。
以下、鈴木教授の資料に含まれる情報をいくつか紹介します。
TLSサーバ証明書
鈴木教授は、TLSサーバ証明書の不正な取得に関しても指摘しています。
HTTP-01チャレンジが最も使われていると思いますが、DNSを利用したDNS-01チャレンジというものもあります。(参考:Let's EncryptのDNS-01チャレンジ)
DNS-01チャレンジでは、_acme-challenge.
Cookie
go.jpのサブドメインなので、上位ドメインのCookieを取得可能となる場合があることが考えられます。 たとえば、kyufukin.soumu.go.jp というサイトは、soumu.go.jp のサブドメインなので、kyufukin.soumu.go.jp を不正利用することで soumu.go.jp のためのCookieを不正に取得できる可能性が考えられます。
サブドメインはSameSiteと認識されるため、SameSite属性によるCSRF対策を回避可能という問題もあります。
電子メールの横取や偽メールの配送
共用DNSサーバを悪用することによって、電子メールの窃盗が可能になるという例も紹介されています。
クラウドやホスティングサービスでの共用DNSサーバにおいて不正な設定を行うことによって、そのクラウドやホスティングサービス内部でのメール配送時に、正規に委任されたツリーを辿らずに共用DNSサーバに設定されている情報を参照してしまう場合があるようです。
今回の問題における2つの論点
この問題には、大きく分けて2つの論点があるというのが個人的な感想です。
- lame delegation、dangling CNAMEを放置した状態の問題
- 第三者が容易に不正使用が可能な環境が存在する状態
lame delegation、dangling CNAMEを放置した状態の問題
まず、省庁等の政府機関が運用するgo.jpドメインで、特定の用途でサブドメインを作っていた理由を推測してみます。 最初に話題となったkyufukin.soumu.go.jp.は、「新型コロナウイルス感染症緊急経済対策」の特別定額給付金(10万円給付)のためのサイトでした。
www.soumu.go.jp内部にコンテンツを置かず、別のサイトとして作った理由としては、たとえば、以下のような理由が考えられそうです(実際のところは知りません)。
- www.soumu.go.jpを運用する事業者と、10万円給付金のための一時的なサイトを作成および運用する事業者が異なった
- アクセス過多になる可能性があり、CDNを利用するためにサブドメインを作成した
たとえば、soumu.go.jpのゾーンを管理する事業者と、kyufukin.soumu.go.jpのサイトを運用する事業者が異なるとき、kyufukin.soumu.go.jpに関連するリソースレコードが放置されるような状況になりがちなのかも知れません。 このとき、soumu.go.jpのゾーンを管理する事業者、kyufukin.soumu.go.jpのサイト運用者、総務省担当者という3者が関わりますが、soumu.go.jpのゾーンを管理者は、kyufukin.soumu.go.jpに関して感知していないので、kyufukin.soumu.go.jpに関連するリソースレコードの追加や削除は、総務省担当者かkyufukin.soumu.go.jp運用者のどちらかからの依頼がないと行わないと思われます。
その一方で、kyufukin.soumu.go.jp運用者は、運用期間終了後には、自分が直接運用している事柄だけをクロージングしてしまい、soumu.go.jpゾーンの管理者に連絡しない可能性があります。 さらに、総務省担当者は、細かい技術的な話を把握しておらず、soumu.go.jpのゾーンに、不要なリソースレコードが放置されていることを知らない可能性が考えられます。 そういう状況だと、使命を終えた不要なリソースレコードが多数発生してしまうのではないかと妄想しました。
この他、たとえば総務省であれば総務省内の個別案件の担当者は、数年おきに異動するため、DNSに登録された個別のリソースレコードに関して異動時に引き継ぎから漏れると、そのまま残ってしまうという話もありそうだと思いました。
なお、これらの話は、単なる個人的な邪推および妄想なので、特に根拠はありません。ご注意ください。
第三者によるサブドメイン不正使用が可能な共用DNSが存在する状態
今回の問題は、共用DNS、クラウド、ホスティングなどのサービスを悪用すると不正利用が可能となる場合があるというのも、要素のひとつだというのが個人的な感想です。
まず、dangling CNAMEの問題ですが、CNAMEが指す先の名前に対応するものを第三者が横から取得すると不正利用が可能です。 方法としては、2種類の方法が考えられそうです。
ひとつめがCNAMEが指す先の名前と同じ名前が指定されたサーバを契約するという方法です。 今回、給付金のサイトは kyufukin.sakura.ne.jp でしたが、レンタルサーバなどのサービスを契約するときにホスト名として kyufukin という文字列を指定して kyufukin.sakura.ne.jp が割り当てられたのであれば、DNSを使わずに不正利用ができたのではないかと推測しています。
もうひとつが、今回の主題である共用DNSを利用する方法です。 共用DNSサービスは、さまざまなクラウドやホスティングのサービスで提供されています。
しかし、サービスによっては、自分が登録していないドメイン名も権威DNSサーバに追加できる場合があります。 逆の視点で説明すると、第三者がまったく無関係のドメイン名を登録し、その内容が共用DNSサーバから世界向けて配信されます。
なお、DNSサーバから、自分が登録したわけではない、まったく無関係のドメイン名に関連するリソースレコードを配信することそのものは、特に珍しい話でもありません。 自前でDNSサーバを運用したとしましょう。 そこで任意のドメイン名に関連するリソースレコードを配信することは誰でも可能です。 ただ、そのような場合では、ルートDNSからの委任のツリーから辿れるDNSサーバではないので、誰もそのDNSサーバを見てくれません。
共用DNSサーバの場合は、ルートDNSからの委任ツリーから辿れる正規の権威DNSサーバが共用DNSサーバになっている場合があるのがポイントです。 正規のNSレコードが、正規の権威DNSサーバとして共用DNSサーバを示しているわけです。 そして、その正規の権威DNSサーバに対して、第三者が横から不正なリソースレコードを突っ込めてしまいます。
正規の権威DNSサーバから、共用DNSに対してNSレコードが向けられているときに、その権威DNSサーバに対して何らかのリソースレコードが第三者から追加されてしまうことがあるわけです。
今回は、go.jpを含むサブドメインのNSレコードが、共用DNSサーバに向けられた状態でしたが、NSが指す先の共用DNSサーバ側ではゾーン設定が削除されていました。 共用DNSサーバで、正規の登録者によるゾーンに関連する設定が存在している場合は、それを第三者が上書きすることまでは基本的にはできないのですが、設定が存在しない場合は誰でもゾーンに関連する設定を行えるサービスもあることから、今回のように不正利用が可能な状態が発生します。(ただし、共用DNSサーバにおいて親子同居の場合は、正規の登録者によるゾーンに関連する設定が存在していたとしても、第三者が上書きすることができる場合があるので注意)
このようなことから、今回のような状況を発生させないためには、不要となったサブドメインのためのNSレコードを速やかに削除する必要があります。 また、共用DNS側では、ゾーンに関連する設定を削除するタイミングを考慮した方が良い場合もありそうです。 共用DNSサーバを指すNSレコードが削除されていない状態では共用DNS側での設定を残したり、NSレコードを削除した直後はNSレコードがキャッシュに残る可能性があるTTLを待ってから削除した方が良いかも知れません。
今後の対策?
今後は、使われなくなったにも関わらず権威DNSサーバに放置されてしまっているリソースレコードをの掃除をどうするかであったり、個々のリソースレコードがいつまで有効にすべきなのかを省庁内での担当者変更に対応できるように運用するガイドライン等の構築などが議論されていくのだろうと推測しています。
現時点において、政府機関等におけるドメイン管理に関連する内容を含むガイドラインがいくつかあります。 これらのガイドラインではlame delegationやdangling recordsのことが考慮されていないので、今回の件を受けて、これらの資料が更新されるのかも知れません。
note: 2024年8月に行われたデジタル庁の「技術検討会議(第20回)」では「「Webサイト等の整備及び廃止に係るドメイン管理ガイドライン」の改定について」という議題があり、改訂案が示されています。ただし、2025年1月現在、まだ正式な改訂版は公開されていません。
最後に
今回の問題とは少し異なる話ですが、私も数年前に、https://www.(サービス名).jp/ といった大手企業が行っている一般向けサービスにおいて、wwwを含まない名前である https://(サービス名).jp/ が第三者に不正利用され、オンラインカジノサイトになっているのを発見して報告したことがあります。 そのときは、大手クラウドサービスが利用されていましたが、WebブラウザではHTTPSで利用される証明書は大手クラウドサービスをRoot CAとするものでした。 そのため、オンラインカジノサイトを表示してもキッチリと鍵マークが表示される状態でした。
報告後に、その状態は人知れず対処されたのですが、もしかしたら、類似する事例は意外と多いのかも知れません。 私が発見した事例はオンラインカジノサイトだったので、見れば誰でも怪しいサイトだとわかると思うのですが、本サービスと全く同じコンテンツでログイン情報やクレジットカード情報のみを抜き取ることを目指したフィッシングサイトだったら、もっと危険度が高かったように思います。
本来であれば、ある特定の組織もしくは個人が独占的に利用できるように登録管理されている名前(ドメイン)なのですが、クラウドサービス、ホスティングサービス等の仕組みによっては、第三者が容易に不正利用できる状況が発生しています。
もちろん、どんな名前でも不正利用できるというわけではありません。 また、昔と比べると、共用DNSサービスを運用する事業者によって対策が徐々に行われている部分もあります。 その一方で、特定の条件を満たす名前に関しては、驚くほど容易に不正利用可能な場合もあります。 この記事では、そういった環境が各所で存在し続けているという点に関して、誰がどう悪いというような議論はしませんが、そういった環境が多くの方々が思っているようも珍しい話ではないのかも知れません。
関連しそうな過去記事
- ドメイン名の永代供養(2013年の記事です)
- そのドメイン名、使い終わった後も面倒を見続ける覚悟がありますか?(2013年の記事です)
最近のエントリ
- go.jpサブドメインが不正利用可能な状態だった件について
- プライベートIPアドレスと同じ用途のIPv6アドレスが存在しない件について
- 日本のIPv6採用状況が50%を超えている件について
- 「ピアリング戦記」の英訳版EPUBを無料配布します!
- IPv4アドレス移転の売買価格推移および移転組織ランキング100
- 例示用IPv6アドレス 3fff::/20 が新たに追加
過去記事