IETF批准Unicode域名后,Chromium现同形异义字符绕过漏洞

Chromium现同形异义字符绕过漏洞。因“ө”未列入29个检测名单,混合域名可规避防护。尽管Chromium拦截率最高,但面对近17万Unicode字符,防御仍存盲区。

当 IETF 批准在域名中使用 Unicode 字符时,这一举措旨在提升全球用户的访问便利性。然而,这也为“错字域名抢注”(typosquatting)攻击提供了可乘之机。恶意行为者通过创建与真实网站极其相似的错误拼写网址,诱导因输入错误或搜索结果误导而访问这些页面的用户。

Chromium拦截64.1%仿冒尝试

HIBS 的一篇博客文章揭示了此类攻击中存在的复杂边缘情况。以“arr.ө.com”为例,尽管它在视觉上极易被误认为真正的“apple.com”,但两者并不相同。该示例利用了特定字符组合来规避多层安全防护机制。例如,其中的字母 a、e、o、p 和 c 均使用了外观酷似拉丁字母的西里尔字符变体,普通用户很难察觉差异。

通常情况下,如果在标准拉丁字符中混入同形异义字符,会触发 Chromium 浏览器的保护措施。例如,若使用西里尔字母的“a”替换“apple.com”中的首字母,浏览器会将域名显示为 Punycode 格式“xn--pple-43d.com”。此外,除少数例外情况外,包含非拉丁字符的“.com”域名通常无法通过基础检查。

值得注意的是,即便尝试使用全西里尔字符组成的“arrre.com”,这种纯非拉丁字符的域名写法也是不被允许的。那么,“arrow.com”这类混合字符域名是如何绕过检测的呢?关键在于右侧看似圆形的西里尔字符实际上是“ө”。

[e] ≠ [ө]

问题的核心在于,“ө”字符并未包含在 Chromium 用于检测混淆字符的特定 29 个字符名单中。虽然较新版本的 Chromium 可能会将其加入黑名单,但这凸显了该领域防御工作的难度:由于不存在能完美检测所有字体混淆的通用解决方案,即便是最严格的规则也可能在边缘案例上失效。

Unicode 字符集目前包含近 173,000 个条目,尽管其中只有子集具备作为域名或顶级域名(TLD)使用的资格,但其不断扩展的特性使得防御工作如同“捕捉宝可梦”般需要极高的警觉性。

据相关报告指出,Chromium 是目前检测域名仿冒效果最佳的浏览器内核。一项 2020 年的研究显示,Chromium 成功拦截了 64.1% 的仿冒尝试,Firefox 和 Safari 紧随其后。鉴于 Chrome、Edge 和 Brave 等主流浏览器均基于 Chromium 构建,其防护能力具有广泛代表性。

除了依赖复杂的规则和字母表验证外,Chromium 还维护着一个包含超过 8,000 个热门域名的列表,并对其中 836 个高价值域名执行更严格的检查。与此同时,域名注册局也在尽力防止混淆,制定了关于哪些字符可以进入特定顶级域名的严格规定。

针对这一风险,HIBS 建议担心品牌被仿冒的企业主动注册所有潜在的相似域名。对于普通用户而言,推荐使用密钥(Passkeys)进行身份验证。由于密钥始终与特定的合法域名绑定,即使存在视觉上的混淆,用户也无法利用密钥登录到隐藏的仿冒网站。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读