近日,Varonis 威胁实验室团队发布了一份令人警醒的报告,揭示了现代浏览器在处理混合文本方向时存在的一个已持续超十年的漏洞——BiDi Swap。该漏洞使得攻击者能够精心构造看似合法的欺骗性 URL,在暗中将受害者重定向至其他不良站点。

BiDi Swap 漏洞的核心问题在于浏览器对从左到右(LTR,如英语)和从右到左(RTL,如阿拉伯语)脚本的解析方式。Varonis 指出,“攻击者利用浏览器处理从右到左和从左到右脚本的机制,就能构造出看似可信但实际上会将用户引向别处的 URL,这种被称为 BiDi Swap 的方法常常在网络钓鱼攻击中被滥用。”

实际上,这类利用 Unicode 进行欺骗的手段并非个例,有着一定的“历史传统”。比如 Punycode 同形异义词攻击,它会用与拉丁字符几乎相同的西里尔字母或希腊字母来替换,像“аpple.com”(这里的“а”是西里尔字母)和“apple.com”,仅从外观上很难分辨;还有 RTL 覆盖漏洞,利用 Unicode 控制字符来伪装恶意文件扩展名,能把“blafdp.exe”变成看似无害的“blaexe.pdf”。这些手段共同表明,文本处理方面的细微缺陷,可能会引发重大的安全风险。

该漏洞的根源在于双向(Bidi)算法,这是 Unicode 标准的一部分,旨在正确呈现混合语言文本。虽然在很多情况下效果不错,但 Varonis 解释道:“双向算法通常能较好地处理域名,但在子域名和 URL 参数方面却力不从心。这一缺陷意味着混合了从左到右和从右到左文本的 URL 可能无法按预期显示,从而为不法行为敞开了大门。”

举个例子,攻击者可以混合不同的脚本,模仿受信任的域名。乍一看,这些被伪造的链接能骗到用户,让他们以为自己正在与合法站点交互。

尽管这个问题已经存在十多年了,浏览器供应商却仍未推出全面的修复方案。Varonis 指出,“Chrome 的‘相似 URL 导航建议’功能提供了部分保护,但我们的测试表明,它只标记某些特定域名,比如‘google.com’,让很多其他域名的风险被忽略。”

而 Firefox 则采取了不同的方法,在地址栏中突出显示域名的关键部分,帮助用户识别可疑链接。据报道,微软的 Edge 团队将该问题标记为“已解决”,但 URL 的显示方式却没有改变。

资讯来源:cybersecuritynews

声明:本文来自看雪学苑,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。