通信の安全を保証するプロトコル「HTTPS」が採用されているURLの表記が正しければ、それが正規サイトだと認識するのは自然なことですが、ブラウザのURL表記上からは見抜けないフィッシング詐欺の危険性が指摘されています。このフィッシング詐欺は「homograph attack(ホモグラフ攻撃)」を進化させた手法を用いており、ブラウザに内在する脆弱性を突いたもので、人間が画面表示から詐欺サイトであることを見抜くことは不可能。現実問題として「ブラウザ側の対応を待つしか対策法はない」と言える状況です。

This Phishing Attack is Almost Impossible to Detect On Chrome, Firefox and Opera

http://thehackernews.com/2017/04/unicode-Punycode-phishing-attack.html

例えば、Appleの公式サイトのURLは「https://www.apple.com」で、HTTPSプロトコルが使われています。「https://」の後に続く「www.apple.com」の文字を見て「正規の」Apple公式サイトだと判断するはず。



しかし、以下のサイトはURLの表記上「https://www.apple.com」ですが、ホモグラフ攻撃によるフィッシングサイトの危険性を指摘するMohit Kumar氏が、攻撃の巧妙さを周知するために作成した特別なデモページです。

Hey there!

https://www.аррӏе.com/



上記ページにアクセスすると、たしかにURLは「https://www.apple.com」。しかし、表示されるのはAppleの公式サイトではありません。



ブラウザ上のURLは同じ「https://www.apple.com」なのに、デモページ(上)とApple公式サイト(下)と異なるページが表示されるという、不思議な現象が起こっています。



しかし、デモページのページ情報を表示すると、別のURL「https://www.xn--80ak6aa92e.com」との情報があります。



実は、先ほど「https://www.apple.com」と表示されていたデモページの真のURLは「https://www.xn--80ak6aa92e.com」。このURLがブラウザ上では「https://www.apple.com」と表示される、というのが問題のポイントです。



今回Kumar氏が指摘しているフィッシング詐欺手法は、ホモグラフ攻撃の進化版です。ホモグラフ攻撃については、セキュリティソフト「ESET」のマルウェア情報局で分かりやすく解説されています。

本物と偽物の区別がつかないホモグラフ攻撃 | マルウェア情報局

https://eset-info.canon-its.jp/malware_info/special/detail/151001.html

ホモブラフ攻撃は「同型異義語攻撃」とも呼ばれるもので、正しいURLのように見えるけれど、文字(列)が分からないように別の文字に置き換えられているという偽装です。例えば、アルファベットの「l」(Lの小文字)と「I」(iの大文字)が見分けにくいことを利用するのが代表的なもの。さらに巧妙なものには、偽の国際化ドメイン名を活用するという詐欺手法まであります。以下の画像では、上のドメイン名の「.com」に見える中央の「o」(オー)は、ギリシャ文字の「ο」(オミクロン)で、正しい「.com」(ドットコム)の下の表記と並べて比べても簡単には見分けがつかないほどです。



Kumar氏が指摘している進化型ホモグラフ攻撃は、Unicode で書かれた文字列をDNS内の制限された文字コード空間でも使えるようにするための方式「Punycode(ピュニコード)」を悪用したものです。例えば、Punycodeを使ったドメイン名「xn--s7y.co」はブラウザでは「短.co」と変換されます。

Google ChromeやFirefoxなどの主要なブラウザにはホモグラフ攻撃を防ぐために、キリル文字などローマ字と紛らわしい文字を自動的にASCII文字に変換・表示する「ホモグラフプロテクション」機能を搭載しています。しかし、残念なことにChromeとFirefoxのホモグラフプロテクションでは、すべての文字が同じ言語のUnicode文字で置き換えられるとプロテクト機能がうまく動作しないとのこと。Kumar氏が作成したデモページは、キリル語のUnicode文字のみを使うことでホモグラフプロテクションをバイパスして「xn--80ak6aa92e.com」を「apple.com」に偽装しているそうです。

進化型ホモグラフ攻撃に悪用するURLはブラウザ表示から見分けが付かないため、リンクURLが貼られている場合にはそれが正規サイトなのかをクリック前に見分けることはほぼ不可能です。このため、フィッシング詐欺に悪用される危険性が指摘されています。Kumar氏はこの脆弱性を2017年1月20日にChromeとFirefoxに報告済みで、すでにChrome Canary 59では対応策が実装されており、次期「Google Chrome 58」で修正される予定です。ただし、Chrome 57以前では進化型ホモグラフ攻撃を防ぐ有効な手立てはありません。

なお、Firefoxでは修正アップデートが登場するのを待たずに、Punycodeの自動変換をOFFにすることで、偽装サイト区別できるようにユーザー側で対応策を打つことは可能です。

Firefoxのアドレスバーに「about:config」と入力。



警告表示が出た場合は、「危険性を承知の上で使用する」をクリック。



検索バーに「Punycode」と入力すると、「network.IDN_show_punycode」と表示されます。



「値」が「false」になっている場合はダブルクリック。



「true」に変更すればOK。



変更後は、Kumar氏が作成したデモページにアクセスして、アドレスが「xn--80ak6aa92e.com」になっていればOK。これで、Punycodeを悪用した偽装ページのアドレスは変換されずにそのまま表示されます。