瀏覽器處理非 ASCII 網域名,有漏洞釀釣魚風險

作者 | 發布日期 2017 年 04 月 19 日 9:30 | 分類 網路 , 資訊安全 line share follow us in feedly line share
瀏覽器處理非 ASCII 網域名,有漏洞釀釣魚風險


網址有沒有 HTTPS 是辨識假網站的簡單方法,不過現在沒有這麼簡單了,因為有研究人員利用瀏覽器處理非 ASCII 字元網域名稱的漏洞,示範如何建立一個冒充蘋果的釣魚網站,而且還加入了 SSL 憑證,不留神的話很容易信以為真。

不法分子利用相似的字元製作魚目混珠的網址並非新鮮事,除了 0 和 0、1 和 l 之外,他們也會利用其他不同語言但形狀相似的 Unicode 字母,例如拉丁字母 a (U+0041)和西里爾字母 а(U+0430)。

針對後者情況,瀏覽器是有辨法應對。當網址的字元混雜 ASCII 和其他 Unicode 時,便會採用 Punycode 來展示。例如 短 .co 會轉換成 xn--s7y.co;採用西里爾字母 а 的 аpple.com 會轉換成 xn--pple-43d.com。

網址全用非 ASCII 字元,Chrome、Firefox 無法轉換至 Punycode

不過有研究人員發現,當網址域名全部採用非 ASCII 字元時,瀏覽器的保護機制便會失效。當 apple.com 的 apple 全部改用西里爾字母 аррӏе.com 時,理論上會顯示 xn--80ak6aa92e.com,但 Chrome 和 Firefox 仍然顯示 аррӏе.com。不過在我的 Windows 8.1 Firefox 瀏覽器中,只要注意狀態列便可察覺到異樣,аррӏе 的字型與 .com 特別不同。

▲ 把滑鼠移動到 аррӏе.com 的連結時,可見 аррӏе 一字有異樣。

由於兩款字元非常相似,人們難以分出真偽;如果網站再加上 HTTPS,人們便會以為是正常網站。所以不法分子可藉此製作高仿真度的釣魚網站。

Chrome 和 Firefox 已知道這個漏洞,Chrome 將會於新版本解決問題,但 Firefox 仍然沒有修復計畫,不過 Firefox 用戶可到 about:config 把 network.IDN_show_punycode 設為 true 以強制顯示 Punycode。IE 和 Safari 則沒有問題。

▲ 雖然 IE 為人垢病,但它沒有這個問題。進入 аррӏе.com 時會自動轉至 Punycode。

(本文由 Unwire Pro 授權轉載;首圖來源:Flickr/Sean MacEntee CC BY 2.0)

延伸閱讀: