本周早期發布的最新版本的Google Chrome限制了如何在瀏覽器中顯示使用非拉丁字符的域名。這種變化是為了應對最近公開的技術,可以允許攻擊者創建高度可信的網絡釣魚網站。
注冊由阿拉伯語,中文,西里爾文,希伯來文和其他非拉丁字母中的字符構成的域名的能力可追溯到很久以前。自2009年以來,互聯網名稱與數字地址分配機構(ICANN)也批準了大量使用這些字符編寫的國際化頂級域名(TLD) - 域名擴展。
當使用域名系統(DNS) - 互聯網的地址簿 - 國際化域名使用稱為Punycode的系統轉換為ASCII兼容表單。然而,當顯示給瀏覽器和支持Unicode的其他應用程序中的用戶時,它們將顯示其預期的非拉丁字符,使數十億互聯網用戶可以使用其母語和腳本讀取域名。
雖然這對全球互聯網可用性很好,但使用國際化域名確實會引發安全問題,因為某些字母包含與拉丁字母非常相似的字符,這可能會被來欺騙URL。例如,西里爾文和拉丁文腳本中的字母“a”在視覺上是相同的,即使它們是具有不同Unicode值的不同字符:U + 0430和U + 0061。
這種相似性將允許人們使用來自西里爾字母表的字母“a”創建域名apple.com,而從拉丁字母表創建其他域名。如果瀏覽器在地址欄中可以直觀地顯示apple.com,那么這樣一個域名可以用來設置一個非常難以與真實網站區分開的網絡釣魚網站。
為了防止這些所謂的同型計算機攻擊,瀏覽器執行一系列復雜的檢查,以決定是否最好使用其預期腳本顯示域名,或者在Punycode中顯示其等同的字母。他們執行的一個規則是,如果拉丁語,西里爾字體或希臘字符混合在一起,那么將始終使用Punycode。
上面提到的apple.com域的Punycode版本,來自西里爾文的字母“a”將是:xn--pple-43d.com。這就是用戶在瀏覽器地址欄中看到的內容。