攻撃者は、国別トップレベルドメインである.gh、.sl、.asの3つを掌握し、これらの空間内にある一部のドメインについて、権威DNSレコードを変更した。Googleによると、これによりドメイン所有権の検証プロセスを通過し、同社傘下の複数のドメインに加え、世界的なブランドや広く利用されているオンラインサービスのドメイン向けに、未承認のTLS証明書を取得することが可能になった。
TLS証明書は、google.comのようなドメイン名をデジタル署名によって公開鍵に結び付ける暗号認証情報である。権限のない第三者が一見正当な証明書を取得すると、影響を受けたドメインのインフラを暗号学的に偽装できるため、ウェブやメール、その他のインターネットサービスの通信が依存する信頼が脅かされる。
攻撃者はいかにして検証を回避したのか?
攻撃者は3つのトップレベルドメインを制御し、一部のサイトのIPアドレスを変更した。これらのサイトへのトラフィックを送受信できる立場を得たことで、権威DNSレコードとネームサーバーの委任情報を変更することが可能になった。この制御だけで、ドメイン所有者の実際のインフラを侵害することなく、認証局に対してドメインの管理権限を証明するには十分だった。
Googleは、この事案には影響を受けたドメイン所有者のシステムへの侵入は含まれておらず、認証局は適用される要件に従って対応したと確認した。問題は、Googleのシステムや所有者の内部インフラに確認済みの欠陥があったことではなく、攻撃者が自動検証メカニズムの依存するDNS経路を制御することに成功したことから生じた。
Googleが取った措置と、依然として不明な点
GoogleはChromeを更新し、特定できたすべての未承認証明書をブロックした。また、認証局と連携し、自社ドメインに関連する証明書の失効にも取り組んだ。同社はChromeユーザーが対応を行う必要はないと述べた一方、ブラウザー側の保護はドメイン所有者側で問題に対処する代替策ではないと強調した。
Googleは、影響を受けたドメインの名称、その他の組織の身元、発行された証明書の数を明らかにしていない。また、Googleのサービスに関連しない未承認証明書がすべてブロックされたかどうかも明らかになっていない。既知の証明書はブロックされたものの、まだ発見されていない証明書は引き続きリスクとなる可能性がある。さらに、証明書の正式な失効は遅く複雑であるため、ブラウザーはクライアント側でより迅速なブロックメカニズムを利用せざるを得ない。
なぜこのニュースが重要なのか?
この事案は、TLSの信頼チェーンが証明書の認証局だけに依存しているわけではないことを示している。DNSの完全性とドメインの委任情報も、所有権証明の実際のプロセスの一部である。そのためGoogleは、ドメイン所有者に対し、予期しない証明書がないかCertificate Transparencyのログを監視し、証明書の発行を許可する認証局を指定する、制限付きのCAAタイプのDNSレコードを公開するよう推奨した。また、Chromeの措置では他のブラウザーのユーザーは保護されず、特にDNSハイジャックのプロセスが複雑であることから、影響を受けたすべてのドメインの検出が保証されるわけでもないと警告した。
この種の事案は今回が初めてではない。2011年には、オランダの認証局DigiNotarへの侵入により、Google.comおよび利用頻度の高い200以上のドメイン向けに偽の証明書が発行され、イランに関連する少なくとも30万人に対して使用された。しかし今回の事案は異なる経路を浮き彫りにしている。サービス所有者の内部インフラを侵害するのではなく、ドメイン層を制御し、DNS検証を通過することで未承認証明書にアクセスしたのである。