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”
  • 域名注册机构不容许这类域名的注册,或是由该公司将此类域名先注册起来并导到正确的域名。

外部链接