eSecurity Planetは10月14日(現地時間)「Two Characters Can Bypass Chromium's Phishing Defenses, Researchers Find」において、Chromium系ブラウザのドメイン判定機能を回避するWebサイトについて注意を喚起した。

これはHave I Been SquattedのIan Muscat氏とLeanne Briffa氏が公開した調査レポートを解説する記事だ。過去、悪意のあるWebサイトの運営者は、ドメイン名に特定のUnicode文字を使用することで正規のドメイン名に見える細工を施すことがあった。

有名なものとしては「аррӏе.com」がある。フォントにもよるが、多くの場合「apple.com」と区別することができない。このような手法を「Whole-Script Confusables」と呼び、Chromium系ブラウザーにはこの文字列を特定してPunycode(この例では「xn--80ak6aa92e.com」)に置き換える保護が組み込まれている。

この保護によりUnicode文字を用いたドメイン名の偽装は困難となり、ユーザーはURLを確認するだけで悪意のあるWebサイトを特定できた。ところが今回、研究者の調査によって保護を回避できるUnicode文字が特定され、「аррӏө.com」や「niƙe.com」などをそのまま表示する問題が明らかとなった。

偽ドメインを正規サイトに見せる2つのUnicode文字

研究者が特定したUnicode文字は、キリル文字の「ө」とラテン文字の「ƙ」だ。それぞれアルファベットの「e」および「k」の偽装文字として利用できる。

この手法は、異なる文字体系に属しながら、見た目が似ている文字を使って正規サイトを装う「ホモグラフ攻撃」と呼ばれる。攻撃者は、ログイン情報などの窃取を狙い、正規のWebアドレスだと誤認するようなドメインを登録するために利用する。

Chromium系ブラウザには、見た目が似ている文字を使ったドメイン名の偽装を検出し、疑わしい場合は「Punycode」と呼ばれる英数字の形式で表示する保護機能がある。

しかし研究者によると、キリル文字の「ө」とラテン文字の「ƙ」を使用すると、こうした保護機能を回避できる場合がある。例えば、「apple.com」に似せた「аррӏө.com」などのドメイン名が、Punycodeに変換されず、そのまま表示されるという。

Chromeでも偽ドメインをそのまま表示

今回の調査ではChromium系ブラウザを使用して、実際に偽装が可能か検証が行われた。対象には、調査時点でGoogle Chromeの最新バージョンだったChrome 154も含まれる。

  • Chrome 154で試験ドメイン「аррӏө.com」にアクセスした例 引用:Have I Been Squattedの調査レポート

    Chrome 154で試験ドメイン「аррӏө.com」にアクセスした例 引用:Have I Been Squattedの調査レポート

このリスクはWebブラウザ側で対策が可能だ。2つの文字をそれぞれ「e」および「k」とみなし、なりすましの可能性を比較すればよい。しかし、これら対策が組み込まれても、新たな回避方法が見つかれば、修正が適用されるまで保護をすり抜ける余地が残る。

偽サイトが本物らしい画面や操作性を備えていれば、利用者は正規サイトだと信じてログイン情報を入力する恐れがある。企業では、従業員が業務用アプリケーションを装ったサイトに認証情報を入力すると、社内システムへの不正アクセスなど、組織全体に影響する問題につながりかねない。

研究者の実験では、GmailとOutlookでも、こうした類似ドメインに対するチェックが適切に機能しないケースが示されている。

偽サイトへのアクセスを防ぐには?

今回の調査は、Webアドレスの見た目だけで安全性を判断することの危険性を示している。利用者は、重要なサイトにはブックマークや公式アプリからアクセスし、メールやSMSなどで届いた不審なリンクを安易に開かないことが重要だ。パスワードマネージャーの活用や多要素認証の設定、パスキーの導入も有効な対策となる。

企業には、自社ブランドを装う偽ドメインの監視や従業員へのセキュリティ教育が求められる。ただし、高度な偽装手法では、Webアドレスの見た目だけで不正なサイトを見分けることは難しく、ブラウザの保護機能だけに頼らない対策が必要となる。