Unicode同形字符域漏洞

攻击者使用同形字符在gTLD(.com,.net等)以及某些公司的子域中注册同形字符域名,其外观上与其合法的域或子域并无明显差别。攻击者利用该手段对目标组织进行有针对性的攻击。

漏洞综述

从2017年到今天,已有十二个同形字符域拥有有效的HTTPS证书。其中包括金融,互联网购物,专业技术和《财富》100强网站,该技术已用于针对性强的社会工程学网络攻击活动中。下表显示了“外观相似”Unicode Latin IPA Extension同形符及其对应拉丁字符:

 “ɡ”是具有迷惑性的字符,通常与拉丁语的对应字符无法区分。
 “ɑ”当不与拉丁字母“a”相邻时也容易被错认。
 “ɩ”在某些系统和字体上,这个字符看起来与小写字母“L”非常相似,但这个字符可以辨别出来。

同形异义字符攻击不是最新的技术,这种攻击手段已经出现了很多年,并且域提供商已经采取了防范措施,包括限制某些字符的使用并禁止使用混合字符,例如Latin和Cyrillic。但是Verisign和其他域提供商尚未意识到Unicode Latin IPA Extension字符集中的同形字符。

漏洞披露

Verisign和IaaS服务(Google,Amazon,Wasabi,DigitalOcean)已获悉此漏洞。据发现从2017年至今,第三方已经使用这种字符为300个测试域中的15个注册并生成了HTTPS证书。此外,还发现了一个同形字符域包含一个非官方的恶意jQuery库。

披露时间表如下所示:

 2019年11月22日:发现漏洞
 2019年11月23日—2020年2月2日:提交亚马逊漏、Google、Wasabi、Verisign、DigitalOcean洞报告并确认
 2020年2月10日:通知Verisign已注册的同形字符域。
 2020年2月13日:Verisign,Google,Amazon,Wasabi,DigitalOcean收到了0day重新分类的通知
 2020年2月14日:由于Verisign未及时回应,美国CERT已协助修复漏洞
 2020年2月20日:向ICANN提供有关IDN修订草案,延长了披露期限
 2020年2月24日:Amazon更改了S3 存储服务名称验证策略,防止注册以“ xn--”开头的存储服务名称
 2020年3月3日:Verisign实施了针对“ .com”和“ .net”的缓解措施,防止注册带有同形字符的域
 2020年3月4日:公开披露

gTLD域名

在撰写本文时,可以使用上述Unicode拉丁IPA扩展字符来注册同形域名,为了防止恶意第三方注册,研究人员使用IPA扩展字符注册了以下域:

 amɑzon.com** 
 chɑse.com 
 sɑlesforce.com 
 ɡmɑil.com 
 ɑppɩe.com 
 ebɑy.com 
 ɡstatic.com 
 steɑmpowered.com 
 theɡuardian.com 
 theverɡe.com 
 washinɡtonpost.com 
 pɑypɑɩ.com 
 wɑlmɑrt.com 
 wɑsɑbisys.com 
 yɑhoo.com 
 cɩoudfɩare.com 
 deɩɩ.com 
 gmɑiɩ.com 
 gooɡleapis.com 
 huffinɡtonpost.com 
 instaɡram.com 
 microsoftonɩine.com 
 ɑmɑzonɑws.com** 
 ɑndroid.com 
 netfɩix.com 
 nvidiɑ.com 
 ɡoogɩe.com 

Verisign禁止使用混合字符注册域名。 例如,不可能使用西里尔字母“о”注册“gооgle.com”之类的域名,但大多数注册服务机构都可以申请混合字符域名。虽然不能使用混合字符注册,但可以使用Unicode和拉丁字符混合注册域,只要Unicode字符本身就是拉丁字符即可。 Verisign的 拉丁字母允许表 中列出了此通报中讨论的同形符号,Verisign通过删除这些字符来修补此漏洞,他们会很快更新此表。

建议措施

应防止注册包含Unicode Latin IPA Extension同形字符的域名,建议组织检查其域的同形排列和相关的证书,相关 辅助工具

子域

像Verisign这样的注册商不希望在顶级域名(gTLD)中存在相似的域名,因此会明确禁止使用混合字符。与此同时一些子域上的服务(例如“ s3.amazonaws.com”,“ storage.googleapis.com”)或其他允许用户创建任意子域的服务也应有相同的限制。

Google了解此相似域会存在社会工程攻击的风险,特别禁止创建名称为“ google”的存储服务,并且存储服务名称不能包含“ google”或近似得拼写错误,例如“ g00gle”。但是Google允许注册使用Unicode拉丁IPA扩展同形字符的存储服务名称。此外与gTLD注册域名不同,Google允许注册包含混合字符的存储服务名称。

建议措施

应以与Verisign限制域名注册相同的机制来限制子域服务注册,应当拒绝包含混合字符的任何子域以及同形字符。另一种补救措施是采用Amazon用于限制S3存储服务名注册的方法,拒绝所有以前缀“ xn--”开头的存储服务名。

Q&A

如果有人注册了我的同形字符域该怎么办?

向相关组织提交情况报告:

Amazon: abuse@amazonaws.com

Google: https://support.google.com/code/contact/cloud_platform_report?hl=en

Wasabi: support@wasabi.com

DigitalOcean: https://www.digitalocean.com/company/contact/abuse/

Verisign: https://www.verisign.com/en_US/company-information/contact-us/index.xhtml

其它拉丁字符是否存在问题?

其他一些IPA字符也可以被视为同形文字。在对各种平台和字体设置测试中,这些字符比本文提到的三个IPA字符更具可分辨性。

这三个字符中哪个最“严重”?

从Voiced_velar_stop可以看出‘g’排在第一位。拉丁字母Alpha排第二,尤其是在字符串中没有ASCII“ a”字符的情况下。‘ɩ’排在最后,因为在许多系统和字体上,可以从字符中识别出来。

同形字符是一个旧问题,为什么要如此重视?

同形字符是一个旧问题。但是,拉丁Unicode IPA字符可以注册而不违反混合字符规则,在此之前并没有人发现并详细报告此类问题,只在Mike Schiffman的2018年第二季度全球域名同形文字报告上证明了这种可能性。

哪些供应商已纠正此问题?

在撰写本文时,仅Amazon(S3)和Verisign修补了漏洞。Verisign已对gTLD注册规则进行了更改,防止使用这些同形文字进行域注册。

Verisign gTLD是唯一受影响的TLD吗?

任何允许拉丁IPA字符的TLD都可能受到影响,但是互联网上大多数最受欢迎的网站都使用gTLD,即“ .com”。

为什么划归0day后才将推迟披露?

Verisign要求更多的时间来修补漏洞。考虑到此问题涉及范围,以及修补的重要性和独特性,从而延迟了公开披露时间,延迟披露可以最大程度保护Internet用户的最大利益。

为什么工具链接代码不是公开?

该代码将在漏洞披露后两周内公开,防止攻击者使用代码自动进行同形字符域的注册。该代码以Go语言编写,编译为WebAssembly。

在域中使用IPA字符是合法的,为什么要禁止它?

使用IPA拉丁字符的域名“ɑlphɑ.com”是对IPA字符的巧妙而合法的使用,这很容易与先前存在的“ alpha.com”域混淆。但这并不能说明它是“合法用例”。

对于此次漏洞有何想法?

供应商反应迟钝,总体上令人失望。Amazon和Verisign是唯一认真对待此问题并及时更改其策略的供应商。

相关组织都做出了什么回应?

在提供了有关漏洞和多种利用方案说明之后,一些组织并不认为这是需要修复的问题,也有表示这是可接受的风险,并且是DNS的已知问题。其他供应商在确认收到披露报告后根本就没有回应。供应商需要认真对待这个问题,应采取积极主动的措施防止包含这些字符的域和子域被注册。

从2017年至今生成了HTTPS证书的同形字符域有多少?

在测试大约300个域名中发现了15个。

此漏洞被利用了多长时间?

有证据表明是从2017年至今。

为什么近年来活动同形字域和证书的数量减少了? 我是这次攻击的受害者吗?

推测此漏洞仅在针对性强的社会工程学攻击中使用,普通民众并不会成为目标。由于最近CT日志和浏览器处理URL中的Unicode方面的更改,该漏洞在三年前被利用的更加普遍。

*参考来源: soluble ,由Kriston编译,转载请注明来自FreeBuf.COM