今天给大家推荐的是来自USENIX Security 2021的一篇论文——”Assessing Browser-level Defense against IDN-based Phishing“。
为了摆脱英文的限制,Internationalized Domain Names(IDN)在2003年被引入,其使用Unicode来支持多种语言的域名。但是新事物的产生往往也会带来一些问题,IDN使得域名伪装攻击(例如homograph)有了更多的选择。例如拉丁字符“a”和Cyrillic 字符“a”非常相似。攻击者可以注册apple[.]com来进行钓鱼攻击。
浏览器最近也引入了一些策略检测homograph IDNs,一旦检测到,浏览器显示的Unicode字符就变为Punycode。例如Cyrillic版本的apple[.]com会被显示为xn—pple-43d[.]com。但是这些策略的有效性还没有被研究。本文作者对浏览器IDN策略进行了实证分析,并且从用户的角度进行了研究。
作者首先对IDN的使用情况进行了分析。在顶级域[.]com的zone file中,发现了916,805个IDNs。然后检测homograph IDNs,最终发现1,855 homograph IDNs,例如xn—gmal-spa[.]com(gmaìl[.]com)。对浏览器测试后发现,Chrome将64.1%的homograph IDNs转化为Punycode,Safari是9.7%,firefox是6.1%。
作者构建测试用例系统地评估浏览器策略。浏览器声称的IDN策略如下:
具体含义如下:
禁止Latin,Cyrillic或者Greek混合。例如Cyrillic版本的“apple[.]com”,"a"和其他拉丁字母混合。
允许Latin,Chinese, Japanese和Korean混合。
skeleton rule。判断与top domain的相似性。
混淆字符的混合。Armenian字符"o”和Latin字符"o"。
所有字符来自同一语言但是和ASCII字符相似。
维护允许的语言列表,任何包含不在列表中语言的IDN都将被阻止。
作者设计了10类共9,000+的测试用例。除上述6类外,还包括以下4类:
Category7。浏览器所使用的混淆表可能不完整,所以扩展混淆数据库,然后生成homograph IDNs。
Category8。相似规则只用了5,000个top域名,所以扩展到不在top 5,000中但是重要的域名。
Category9。随机采样目标域,每个生成5个全替换的伪装域。
Category10。用同一语言的不同的Unicode blocks。
这四类是作者认为很可能绕过浏览器策略的IDNs。测试结果如下:
可以看到,浏览器策略并不严格,构造的homograph IDNs有很大可能不被检测到。
在对用户的调查中发现,当域名是homograph IDNs时,用户只有大约50%可以识别出来。被浏览器blocked的IDNs更有欺骗性,但是仍有45%的un-blocked IDNs被用户识别错误,这说明用户很可能被欺骗并且浏览器不会阻止这些IDNs。在其他服务例如邮件服务(Gmail等),社交媒体(Twitter等)也没有建立严格的策略来检测homograph IDNs。
论文PDF:
https://www.usenix.org/system/files/sec21summer_hu-hang.pdf