最近我造了兩個(gè)沒有意義的名稱:eixpay.com 和 eixpay.com,您可以分得出其中的差別嗎?
在具備 Unicode 解讀能力的現(xiàn)代上,這兩個(gè)名稱看起來可能完全相同,但是若您將它們復(fù)制再貼入當(dāng)中,您將獲得不同的搜索結(jié)果。右邊的域名名稱是使用俄羅斯文 (Cyrillic) 字元所組成,左邊的域名名稱則是用西歐語系 (Western) 字元所組成。雖然大多數(shù)的俄羅斯文字元都與 US-ASCII 字元迥異,但有一小部份的符號(hào)卻看起來沒什么不同 。
如果用十六進(jìn)位碼來顯示,您就可以看出這兩個(gè)域名名稱的差異。如圖所示,。com 在兩個(gè)名稱當(dāng)中都是 ASCII 字碼 (請(qǐng)看圖 1)。

接著,我制作了一個(gè)簡(jiǎn)單的 HTML 檔案,里面包含這兩個(gè)域名名稱的連結(jié)。請(qǐng)注意,在 anchor 標(biāo)簽 () 當(dāng)中,ASCII 域名名稱以斜體字顯示,而 Unicode 域名名稱則為正常字體 (請(qǐng)看圖 2)。

當(dāng)我第一次在 Firefox 3.5 當(dāng)中載入這個(gè)檔案時(shí),字元編碼會(huì)設(shè)成-8859-1(Western),因此 Unicode 連結(jié)看起來會(huì)明顯不同 (請(qǐng)看圖 3)。

不過,在將字元編碼設(shè)定成 Unicode(UTF-8) 之后,情況就全然不同 (請(qǐng)看圖 4)。

GIZMODO 指出,這對(duì)其他字串也有效。因此,攻擊者只需找出共通的字碼頁,就能拼湊出假冒合法網(wǎng)站的字元。在我的短暫測(cè)試過程當(dāng)中,我發(fā)現(xiàn),在單一 URL 當(dāng)中使用一個(gè)以上的 Unicode 區(qū)段會(huì)產(chǎn)生不可預(yù)期的結(jié)果。
最近對(duì)于 Internet Corporation for Assigned Names and Numbers () 核準(zhǔn)使用國(guó)際化域名名稱 (IDN) 的消息以及這樣的作法如何造成安全風(fēng)險(xiǎn)有諸多的討論。有些人認(rèn)為,如果核準(zhǔn) IDN 的使用,將導(dǎo)致 Phishing更難防范。
簡(jiǎn)單的說,IDN 會(huì)在瀏覽器查詢域名名稱系統(tǒng) (DNS) 之前先將 Unicode 字串轉(zhuǎn)換成 punycode 字串。例如,eixpay.com 轉(zhuǎn)成 punycode 之后將變成 xn--80aj7anh5h.com。在 www.IDNstuff.com/ 網(wǎng)站上提供了一些工具可將 Unicode 字串轉(zhuǎn)換成 punycode,或是互轉(zhuǎn)。
我花了一些時(shí)間,終于讓我找到幾個(gè)可接受頂層域名名稱(。com、。net 等等) 以 punycode 編碼的注冊(cè)機(jī)構(gòu)。一旦網(wǎng)絡(luò)犯罪者注冊(cè)了 xn--80aj7anh5h.com 這個(gè)域名,就能建立一個(gè)通透的 ASCII eixpay.com 網(wǎng)頁,然后利用電子郵件、即時(shí)通信 (IM) 或者社交網(wǎng)絡(luò)來引誘使用者點(diǎn)選 Unicode 連結(jié)至假冒的網(wǎng)絡(luò)釣魚 Phishing網(wǎng)頁。如此一來,光是單純地檢查一下網(wǎng)站名稱,已經(jīng)不足以防范。(tyreal)