跳至主要内容
短.be

同形异义字攻击

利用外观相似的不同 Unicode 字符伪装成正规域名的钓鱼手法。肉眼几乎无法辨别。

2026年8月25日 · 约 1 分钟阅读

安全

同形异义字攻击 (Homograph Attack / IDN Homograph Attack) 是利用外观相同或极其相似的不同 Unicode 字符来伪装正规域名的攻击手法。例如,拉丁字母"a" (U+0061) 和西里尔字母"a" (U+0430) 肉眼无法区分,但在计算机中被视为不同字符。

具体案例:将"apple.com"中的拉丁字母"a"替换为西里尔字母"a",注册一个外观完全相同但实际不同的域名,搭建 Apple 的仿冒网站。2017 年安全研究员 Xudong Zheng 实证了这一手法,引起广泛关注。

国际化域名 (IDN) 机制使这种攻击成为可能。IDN 允许在域名中使用日文、阿拉伯文等非 ASCII 字符,内部通过 Punycode (以 xn-- 开头的编码) 转换。浏览器地址栏显示 Unicode 形式,用户很难察觉伪装。

短链接与同形异义字攻击存在双重风险。第一,短链接服务本身的域名可能被同形异义字伪装。第二,短链接的重定向目标可能是使用同形异义字域名的钓鱼网站。短链接服务方面也需要在注册环节拒绝伪装域名,但仅凭外观相似难以机械地划出界线。

主流浏览器在地址栏的显示层面采取了防护措施,但切换为 Punycode 显示的条件各家并不相同。Chrome 公开的显示策略除了混合易混淆文字系统的域名之外,还包括仅用单一文字系统构成的易混淆名称,以及把易混淆字符归一为同一形状后与知名域名重合的名称。Firefox 则以顶级域名的注册管理机构已表明防护方针时才允许 Unicode 显示为主,并认为在同一文字系统内替换全部字符的伪装无法在显示层面阻止,应由受理注册的一方负责。2017 年引起关注的案例全部由西里尔字母构成,正是因为这种形式绕过了依赖文字系统混合的判定。地址栏直接显示 Unicode,并不能证明该域名是正规的。

分享到 XHatena

这篇文章对您有帮助吗?

相关术语

相关文章

常见问题

如何识别同形异义字攻击?
肉眼辨别极为困难。检查浏览器地址栏中是否显示 Punycode (以 xn-- 开头的字符串),出现即说明浏览器已退回到更安全的显示方式,可以作为怀疑该域名的线索。不过正规的国际化域名也可能显示为 Punycode,因此 Punycode 显示本身并不等于伪装的证明;反之保持 Unicode 显示也不代表安全。也可以将 URL 复制到文本编辑器中检查字符编码。
中文域名也会被用于同形异义字攻击吗?
是的。中文汉字和日文汉字外观相同但 Unicode 码位可能不同,存在被利用的可能性。浏览器的防护措施在不断完善,但尚未做到完全防范。
短链接服务能检测同形异义字攻击吗?
短链接服务方面也会拒绝可疑的跳转目标,但仅凭外观相似的字符串很难机械判定,无法排除全部情况。跳转目标的域名仍应以打开的一方自行确认为前提来考虑。

把知识用到真实链接上

免费缩短网址