IDN欺騙钓鱼式攻击的手法之一。它利用國際化網域名稱(IDN)可以以Unicode字元命名網址的特性,透過同形異義字,魚目混珠。

同形異義字

Unicode有許多同形異義字,例如西里爾字母的小楷а(U+0430)和拉丁字母、即英文的a(U+0061),在許多字型中都看不出有甚麼不同。於是,入侵者便可用此來欺騙用戶。這稱為同形異義字欺騙。

例如入侵者可以注冊一個和著名網站差不多的網址名。例如有西里爾字母pаypal.com。這不是新橋段。例如以數字0偽裝英文字母O(G00GLE.COM -> GOOGLE.COM),i的大楷I或數字1偽裝L小楷的l(google.com -> googIe.com),rn(r与n)偽裝m等。

分辨

只需使用簡單的程式碼便能分出。

JavaScript

var first="а",         //U+0430
    second="a";        //U+0061

alert(first==second);  //輸出false

防止方法

  • Punycode形式顯示URL,如.срб轉成.xn--90a3ac或.укр轉成.xn--j1amh
  • 將非ASCII字元高亮顯示,如「維基百科.com」顯示成「維基百科.com」
  • 網域名稱注冊機構不容許這類網域名稱的注冊,或是由該公司將此類網域名稱先註冊起來並導到正確的網域名稱。

外部連結