Googleによると、攻撃者は3つの国別コードドメイン、.gh(ガーナ)、.sl(シエラレオネ)、.as(米領サモア)を支えるインフラを侵害しました。そのインフラを悪用して、Googleのドメインやその他の組織のドメインに対する不正なHTTPS証明書を取得したということです。これらのドメインは、各国向けのサイトだけが使っているわけではありません。そのため、リスクは他の地域のユーザーにも及ぶ可能性があります。
今回の事案は暗号化が破られたわけではなく、Googleのシステムが侵害されたわけでもありません。攻撃者はインターネットのアドレス指定を担うインフラを操作しました。その結果、本来管理権限のないドメインについて、証明書の発行に必要な検証を通過できたのです。
ドメイン名システム(DNS)は、インターネットの通信を正しい宛先へ導く仕組みです。HTTPS証明書を申請する際には、DNSを制御していることがドメインを管理している証拠として扱われる場合もあります。
HTTPS証明書は、ブラウザが接続先サーバを認証する際に役立ちます。信頼された認証局は、申請者が該当ドメインを管理していることを確認したうえで証明書を発行します。
DNSレコードを制御できれば、攻撃者はドメイン検証をパスできます。すると認証局は、ドメインのインフラを乗っ取った人物に対しても、正規の署名付き証明書を発行してしまいます。
さらに被害者の通信を攻撃者の管理するサーバへ誘導できれば、サイバー犯罪者は本物のサービスになりすまし、利用者をだますことが可能になります。
Googleはまず、自社ドメインに対する不正な証明書をChromeでブロックしました。あわせて発行元の認証局と協力し、証明書を失効させています。その後、他の組織に対する不審な証明書もChromeでブロックしました。
身を守るためのポイント
Googleは、今回の対応で完全に防げるわけではないと指摘しています。
「DNSハイジャックは複雑なため、今回の分析で影響を受けたすべてのドメインを特定できたとは保証できません。また、Chromeでの対処が、Chrome以外のユーザーを確実に守るわけでもありません」
根本的には、インフラの問題であり、インフラ側での対応が必要です。それでも、次の対策は役立ちます。
- ブラウザとOSを最新の状態に保つ。利用可能なアップデートを適用し、最新のセキュリティ修正を受け取る
- 証明書や安全な接続に関する警告を無視しない。ブラウザが証明書の問題を報告した場合は、ページを強制的に表示せず、そこで操作を止める
- 利用中のサービスのアドレスが
.gh、.sl、.asで終わる場合は、ログインや支払い、機密情報の入力を行う前に、提供元からのセキュリティ通知を確認する - HTTPSを安全のお墨付きと考えない。正しいアドレスでも、攻撃者がDNSを乗っ取って有効な証明書を取得していれば、暗号化された接続であっても正規のサービスにつながっている保証はない
- 信頼しているサービスからと思える依頼でも、予期しないものや普段と違うものには注意する。対応する前に、依頼内のリンクや連絡先ではなく、別の信頼できる経路で内容を確認する
これらの対策は、万全の防御ではありません。根本的な解決には、ドメイン運営者が管理権限を取り戻すことが必要です。さらに、不正な証明書の発行を防ぎ、すでに発行されたものを失効またはブロックすることも欠かせません。
被害が出る前に脅威を阻止しましょう。
Malwarebytes Browser Guardは、フィッシングページや悪質なサイトを自動的にブロックします。無料で、ワンクリックでインストールできます。ブラウザに追加する →