我们也来聊聊IDN

Introduction###

  文中首先对IDN的历史和研究进行了回顾,并从近日有关IDN的博客入手,利用DNS派的流量数据,使用轻量级的方法,对目前网络中的“形近异义”的IDN域名进行了测量研究,并对IDN域名目前在网络中的用途进行分析。研究发现,1)Alexa Top10K 域名中至少有83个域名的形近异义IDN域名在活跃,即相关的知名网站受到这种潜在的钓鱼攻击影响;2)我们发现了一起真实的利用IDN域名对Facebook进行钓鱼攻击的案例(www.xn--facebok-i01c.com)。网络安全研究院会持续跟进这项测量研究,希望借此提醒有关厂商,注意提高与其相关的IDN域名品牌保护意识。

Background###

1. IDN
  国际域名(Internationalized domain name, IDN)[1],最早在1996年由Martin Durst提出并在1998年由Tan Juay kwang等人进行实现,是指在域名中包含至少一个特殊语言字母的域名,特殊语言包括中文、法文、拉丁文等。在DNS系统工作中,这种域名会被编码成ASCII字符串,并通过Punycode进行翻译。
  2008年,IETF成立了一个IDN工作组开始讨论更新IDNA的协议,并在2009年,ICANN (Internet Corporation for Assigned Names and Numbers)为了方便更多的native language用户使用互联网,批准在DNS体系中加入 IDN ccTLDs (internationalized country code top-level domains)。最终,于2010年,第一个IDN ccTLD被添加到DNS root zone 中。

2. Recent Reports
  最近有两个博客引起了大家的关注,在此我们先对两个博客的内容进行简单回顾。
  第一篇博客《一种几乎无法被检测的钓鱼攻击》[2], 文中作者使用了IDN域名,使得用户点击URL后,浏览器地址栏显示的两个www.apple.com字符串几乎让用户无法区分,因此博客作者认为攻击这种钓鱼攻击几乎无法检测。 不过,我们在重现这一操作时,发现地址栏显示的内容(证书方面)是和用户的浏览器以及操作系统相关。(Trick Here:chrome所使用的字体在这个过程中也起到了一定的帮助作用。)
Source:thehackernews.com/2017/04/unicode-Punycode-phishing-attack.html

  第二篇博客《我好像进了一个假的alipay.com》[3]则更加直接,直接举了一个对支付宝网站进行钓鱼的例子: www.xn--80aa1cn6g67a.com。 当然,文章最后作者说明这个是腾讯的员工在恶搞阿里,但是也足以说明,这种钓鱼确实是可能存在的。(4月21日 EST,该网站已无法访问)。
Source:微信公众号 黑鸟

3. Previous Study
  我们提到,IDN域名从2010年就开始被加入DNS Root Zone中了,相关的研究也都迅速展开。在此同样我们也选取两个文章回顾一下以前的研究内容。
  第一篇文章《Out of Character: Use of Punycode and Homoglyph Attacks to Obfuscate URLs for Phishing Adrian Crenshaw》[4](发表于2012年),YouTube演讲视频见[5]。 这篇文章研究了三种主流浏览器是如何显示IDN字符,并且研究了不同语言字符之间的混淆。作者还提供了一个工具Homoglyph Attack Generator 用于生成可能有问题的编码字符串。也就是说,从这里开始,已有研究者表明利用(abuse)IDN域名在浏览器中的显示问题,通过选择与知名网站“形近”的IDN域名是可以实现钓鱼攻击的。
  第二篇是由赛门铁克公司发布的一篇博客,《Bad Guys Using Internationalized Domain Names (IDNs)》[6](发表于2014年)。这篇文章列出了大量真实IDN域名案例,主要阐述了IDN已经开始被滥用,以及被滥用的几个方面,包括恶意软件,僵尸网络等。 在文章的结尾,文章作者也预期IDN域名会迅速增长,并对品牌保护带来严重的负面影响。在这篇文章中作者对网络中大量真实IDN case的分析,但很遗憾没有做一个全面的测量。

Data Set###

1. Passive DNS
  360 netlab的拥有国内最大的公开Passive DNS数据库。基于此数据库可以方便的导出所有的IDN域名。目前相关数据也开始向可信单位及个人提供查询接口,具体申请流程请见[7]。本次实验数据取自近一周还在活跃的IDN域名。

2. Alexa Ranking
  文中提到的所有知名域名从Alexa Ranking Top 10K [8]的域名中选取。

Approach###

1. Goal
  针对目前DNS流量中,与知名网站“形近异义”的IDN域名进行测量研究。重点研究,此类IDN域名的数量及访问规模,受到潜在钓鱼影响的知名网站数量及类型,以及目前此类IDN域名在进行什么业务。 后续我们会补充IP地址关联性分析。

2. Idea
  目前近一周时间内,还在活跃的IDN域名超过一百万,因此网络爬虫、网页分析等常见检测手法在这里都不太适用。我们需要一个非常高效的算法检测他们是否与热门网站域名“形近异义”。我们算法的出发点便落在了“形近”上面。
  如下图所示,这个针对apple进行钓鱼的域名解码之后的字符串与原始字符串十分相近,换句话说,如果把这两个字符串保存成图片,那么这两个图片的相似度会非常高。从这一点出发,我们将Alexa Top10K的域名(SLD与“www.”+SLD )的字符串分别保存为一个图片,建立一个图片库(共计两万张),并将100W+的IDN域名解码之后也分别保存为图片,并与图片库中进行对比,寻找相似图片。
Fig1:与apple.com形近异义的一个IDN域名

3. Tool
   在上述idea中涉及到两个部分,1)如何快速提取一个图片的特征[9];2)如何快速找出相近图片[10]。 在图像识别领域,这些都是已经解决并且非常成熟的问题,具体实现原理请详见参考文献,我们不再赘述。

Results and Findings###

1. Overview

   受影响的网站分析
  通过分析我们发现,在Alexa Top 10K域名中已经有83个知名域名已经受到形近异义IDN域名的影响。分析数据并不包含已经被注册但是并未被使用的IDN域名数量,因此实际上受到影响网站会更多。这些网站涉及到多个国家,包括:美国,中国,加拿大,印度,韩国等国。已经有证据显示近日此类形近异义的IDN域名在明显增长。
  相关受到影响的域名详见链接[11]。其中部分网站的类形分析如下, 可以看到,除了搜索引擎,购物网站外,大量企业的域名也受到影响,甚至多个色情网站也受到这种IDN域名的影响。值得一提的是,两个知名的支付网站也存在形近异义类形的IDN域名。

Table 1: 受影响的知名网站类型分布

   Ranking分析
  我们同时也对这些域名的Alexa Ranking数值进行了分析,结果与经验一致,可能受到影响的网站密集的集中在Ranking数值非常高的部分。

Table 2: 受影响的知名网站Alexa Ranking数值分布

2. DNS Query Number

  我们提到,对于同一个热门域名,可能会有多个IDN域名与它形近异义。在这里,我们对这些IDN域名近一周的DNS请求量进行分析。结论如下:1)其中访问量最大的域名为“xn--80ak6aa92e.com” (针对apple.com进行钓鱼的域名),在最近一周访问超过3千次(预估中国全网访问次数超过3W次)。我们认为这个域名的请求量是受到了相关博客报导的激励而产生。2)其他一些比较热门的域名如:xn--pple-43d.com(针对apple.com钓鱼),xn--80aa1cn6g67a.com(针对alipay.com钓鱼)也存在数百的访问量。3)大量长尾IDN域名存在在网络中长期存活,但是访问量并没有真正起来。
Fig2: 部分IDN域名的在一周时间内DNS请求量

  针对于最热门的几个钓鱼域名,我们再详细看下他们DNS请求量的在一个月时间维度上面的变化情况。 很明显,最热门的三个IDN域名近期都出现很明显的陡增现象,这也印证了我们的猜测,即近期的相关报导激励了大量用户的访问。

Fig4:一个月时间内,三个IDN域名的请求量变化

3. Whois information

  截止目前,由于我们手上资源的限制,IDN域名类形的Whois信息并不全面。在此我们只通过一些例子来表明IDN域名的注册信息与真实域名注册信息的关系。 在下面的列出的6个例子中,仅有google.com一个域名IDN的注册邮箱和原域名的注册邮箱一致。其余的均有被抢注的嫌疑。尤其是伪造godaddy.com的IDN域名被一个少年在2015年用QQ邮箱抢注。更有意思的是,在搜索引擎中搜索这个QQ后你会想说[12][13],多才多艺的少年,保重龙体啊!
  综合whois注册信息,我们确信,网络中大量形近异义类形的IDN域名已经被抢注,在后续的一段时间是有可能对知名的品牌造成滥用。360网络安全研究院会跟进这些信息,并提醒相关的公司如果有机会请利用Homoglyph Attack Generator这一工具将与自身利益相关的形近异义IDN域名迅速保护下来。

Table 3: 6个与知名网站的形近异义的IDN域名注册邮箱分析

4. What are they doing?

  上面我们提到,这次IDN域名的选取的数据集是从库里面取出的全量数据集(其中部分域名可能没有正确的解析结果)结合DNS query numebr的分析也可以看出,大部分的IDN域名其实都没有被用起来。这一行为可能是由于各个公司主动采取的品牌保护策略导致的(在攻击者之前,提前注册多种形近异义的IDN域名,并将解析依然指回原网站,比如xn--80aac5cct.com,访问后依然跳转到淘宝站点)。 也就是说,很可能大量现有的形近异义IDN域名都不是在做恶意的事情。
  现在我们也对这次survey中得到形近异义域名的行为做一分类(注:我们忽略了所有不能正常访问的IDN网站)。如下表,目前与知名网站形近异义的IDN域名主要用途包括:钓鱼,parking,品牌保护这几个方面。中国的一家网站也受到这种威胁的影响。 也就是说,尽管很多IDN域名的访问量没有攀升起来,但是我们非常确定以及有攻击者利用IDN域名在进行恶意活动,比如对著名社交网站(Facebook)进行钓鱼攻击。(感谢政府的帮忙,幸亏我没有账号)。

Table 4: “形近异义”的IDN域名的真实用途分析

下图是我们发现的利用IDN域名进行钓鱼攻击的案例。话说你都注册到这个域名了,做到这个份上了,好歹也开个HTTPS啊。
Fig5: 利用IDN域名进行钓鱼攻击的案例

  另外,www.xn--oogle-qmc.com (与Google.com形近)会将用户重定向到144.dragonparking.com(OS Safari环境),里面包含色情违法信息。www.xn--googl-r51b.com (与Google.com形近)也被用来做Parking Service。以上案例均已说明,确实已有攻击者注意到与热门域名“形近异义”的IDN域名,并利用这类域名进行灰色及攻击活动。

Fig6: 利用IDN域名进行Parking的案例

历史版本

4月21日 完稿
4月23日 小修

Reference###

[1] https://en.wikipedia.org/wiki/Internationalized_domain_name
[2] http://thehackernews.com/2017/04/unicode-Punycode-phishing-attack.html
[3] http://mp.weixin.qq.com/s?__biz=MzAxOTM1MDQ1NA==&mid=2451171974&idx=1&sn=1a75e940994052362caea57552d490c2
[4] http://www.irongeek.com/i.php?page=security/out-of-character-use-of-punycode-and-homoglyph-attacks-to-obfuscate-urls-for-phishing
[5] https://www.youtube.com/watch?v=Ie5Tyhrkca0
[6] https://www.bluecoat.com/security-blog/2014-05-22/bad-guys-using-internationalized-domain-names-idns
[7] https://passivedns.cn
[8] http://s3.amazonaws.com/alexa-static/top-1m.csv.zip
[9] https://pypi.python.org/pypi/ImageHash
[10] https://pypi.python.org/pypi/six
[11] https://docs.google.com/spreadsheets/d/1khEWMi9D90ZpyUQ
LSXCCVV8p5GImjIth1ix0EmmxQu8/edit?usp=sharing
[12] https://tieba.baidu.com/p/917190685
[13] https://baike.1688.com/doc/view-d21042617.html