域名系统是互联网的重要基础设施之一,人们通过域名快速访问网络中的各种资源。近些年,随着域名注册成本的逐步低廉,域名注册量快速增长,但注册的域名中大量为停靠域名,这些域名并没有实际应用于网站建设,而是使用域名停靠服务自动生成网页,将访问流量导入到广告商,以便获取一定的收益[1-2]。目前,互联网中充斥着大量停靠域名,对用户上网体验产生严重影响,例如:用户不小心输错域名,导致用户访问一些广告网页[3-5],同时相关研究表明很多停靠域名也被钓鱼网站、黄色网站、虚假广告网站所使用[6],因此,快速识别出停靠域名,对提高用户上网体验、净化网络环境有着重要意义。 本文对域名停靠服务的工作原理进行深入分析,提出了一种基于权威域名服务器(Domain Name Server,DNS)的停靠域名检测方法,系统以互联网中的权威DNS为研究对象,通过半监督聚类算法,提取出用于停靠服务的权威DNS,从而对停靠域名进行实时检测与识别。
1 相关研究目前,针对停靠域名的检测,国外只有少量的相关研究,而国内暂时没有这方面的实验研究。最初,Du等[1]提出了停靠域名的检测问题,通过对知名停靠商的停靠页面与一般广告页面在网页文本、超文本标记语言(HyperText Markup Language,HTML)、cookie、DNS记录等多方面的对比分析,采用机器学习方法建立多种分类模型。之后,Vissers等[2]爬取3000个停靠网页和Alexa前1百万网站中随机抽取的3000个非停靠网站的主页,并对比分析了这两类页面的HTML、Hyper text transfer protocol ARchive(HAR)、frame、域名等方面的特征,通过调整特征阈值建立停靠域名分类器。
此外,一些其他研究中也涉及到停靠域名问题,在错拼域名、发音错拼域名及比特错拼域名的用途研究中,研究人员发现这些域名大量为停靠域名。为识别这些域名的主要用途,文献[3-5, 7-8]通过爬取页面信息,并结合DNS、whois等信息分别对错拼域名、发音错拼域名、比特错拼域名进行分析。文献[6]通过分析停靠服务的利益链,对其中的点击欺骗现象进行分析,同时发现停靠域名不仅被用于广告,还被恶意网站所使用。Halvorson等[9-10]通过页面分类方法,分别对biz、xxx顶级域的域名使用情况进行分析,研究发现两个顶级域中停靠域名数量十分巨大,其中biz顶级域中23.6%的域名为停靠域名,xxx顶级域下停靠域名的比例为44.4%。
现有研究主要是通过网页信息对停靠域名进行检测、识别,虽然能够获取较好的识别效果,但需要大规模地抓取页面信息,工作量大,无法进行实时检测。本文提出了一种基于权威DNS的检测方法,与现有检测方法相比,避免了页面信息的抓取,可实时对停靠域名进行识别。
2 基于权威DNS的停靠域名检测原理域名停靠也叫域名停放,是一种为域名自动生成网页的技术系统[6]。停靠域名是这些自动生成网页域名的统称。域名注册人在申请域名停靠服务时,需要将域名的域名服务器(Name Server,NS)或者别名(Canonical Name,CNAME)记录设置为停靠服务提供商的DNS[11-13],即:将停靠服务商的DNS作为停靠域名的权威DNS。当用户访问停靠域名时,停靠服务商的DNS将域名解析到服务商的Web服务器上,以便根据该域名及其关键字信息从联合广告商处提取相关的信息并自动生成页面,将页面返回给用户。域名停靠服务工作机制如图 1所示。
通过停靠服务的工作机制可看到,服务商的DNS具备以下特征:
1) 域名数量大,并存在一定数量的错拼域名。
停靠服务商的DNS需要为多个不同用户提供停靠服务,因此域名数量较大。同时相关研究表明:为更好地获取访问流量,停靠域名的拥有者往往模仿知名域名注册一些错拼域名[3-5],由于知名域名的访问量大,发生域名拼写错误的情况更多,更易获取访问流量,因此,停靠服务商的DNS上往往拥有一定数量的错拼域名。
2) 域名解析的IP地址集中度高、停靠域名的解析IP地址集合相对确定。
停靠服务商的DNS需要将停靠域名解析到服务商的Web服务器上,以便自动生成网页。由于服务商Web服务器的IP地址数量有限并且IP地址集合相对稳定,因而使用同一服务商的停靠域名解析的IP地址集合也是相对确定的。同时,由于停靠服务商的DNS上存在大量停靠域名,这些域名都会解析到Web服务器的IP地址集合上,因此,导致出现少量IP地址上存在大量域名的现象;而非停靠服务的DNS,需要将域名解析到不同用户的网站上,IP地址相对比较分散。
3) 泛域名解析比例大。
在访问停靠域名的过程中发现:大量的停靠域名支持泛域名解析。由于停靠域名访问量较少,使用泛域名解析能够在一定程度上增加用户的访问成功率;而域名选择泛域名解析服务后,同一域下多个域名显示相同的网页会影响网站的权重[14],因而一般域名通常不选择泛域名解析服务。 由于停靠服务商的DNS在错拼域名、IP地址集中度、泛域名解析比例等方面与一般权威DNS存在很大不同,因而,在停靠域名识别机制上,选择权威DNS为研究对象,识别出用于停靠服务的DNS集合。在检测时,如果一个域名的权威DNS为停靠服务所用的DNS,并且该域名解析的IP地址属于该服务商的停靠Web服务器的IP地址集合,则认为该域名为停靠域名。
3 基于权威DNS的停靠域名检测模型基于权威DNS的停靠域名检测模型具体为:1) 构建错拼域名,提取这些域名的权威DNS作为疑似停靠服务使用的DNS集合;2) 分析每个DNS上的域名,提取分类特征;3) 通过半监督聚类方法对提取出的DNS集合进行分析,识别用于停靠服务的权威DNS;4) 在检测停靠域名时,通过分析域名的权威DNS及解析的IP地址,对停靠域名进行识别。
3.1 获取疑似停靠服务使用的DNS集合由于错拼域名大量应用于停靠服务,因而,系统通过错拼域名,来提取可能用于停靠服务的权威DNS。系统对知名域名采用编辑距离为1以及插入“www”的操作,构建错拼域名集合。操作方式如表 1所示。
然后,在zone文件中提取出构建的错拼域名集合中存在的错拼域名,并查找这些域名的权威DNS,以便进一步分析。由于停靠服务的DNS解析的域名数量较大,实际分析时,选取域名总数高于10000的权威DNS。
3.2 提取权威DNS特征对于提取出来的权威DNS,根据用于停靠服务的DNS特征,系统从错拼域名、域名语义、域名解析结果三个角度,提取不同的分类特征。为客观反映每个权威DNS的特点,系统在考虑错拼域名的同时,还会在每个权威DNS上随机抽取一定比例的非错拼域名进行分析,即:服务器分类特征源于错拼域名集S0与随机抽取的非错拼域名集S1,这两个域名集的解析IP地址集合分别为U0、U1,IP地址c段集合分别为L0、L1,支持泛域名解析的域名集分别为W0、W1。权威DNS的分类特征如表 2所示。
由于准确标注权威DNS用途非常困难,导致实验的标注样本数据过少,不适合采用传统有监督学习方法建立分类模型,故系统采取半监督聚类方法,对提取出的DNS集合进行聚类分析。实验样本集合主要由未标注样本及少量标注样本构成,系统先通过基于期望最大化(Expectation Maximization,EM)算法的高斯混合模型(Gaussian Mixture Model,GMM)进行聚类分析,获取聚类数量的最优选择,然后利用各个聚类中包含的标注样本信息,实现对各个聚类所属类别的映射,从而识别出停靠服务所使用的DNS。
3.3.1 基于EM算法的高斯混合模型系统采用高斯混合模型对样本进行分析,该模型将待聚类数据看成是来自于k个高斯分布的混合概率分布,即:该模型被表示为k个高斯分布函数的加权和,每个高斯分布代表不同的类[15],如式(1) 所示。
$p\left( x \right)=\sum\limits_{k=1}^{K}{\mathop{\pi }_{k}N\left( x\left| \mathop{u}_{k},\sigma _{k}^{2} \right. \right)}$ | (1) |
式中:N(x|μk,σk2)表示高斯分布函数,σk2表示第k个高斯分布函数的方差;K表示高斯分布函数个数;πk表示第k个高斯分布的权重。
为了获得最佳的高斯混合模型,系统通过交叉验证分析来提取最优的聚类数目k[16]。聚类数目k的取值区间为1≤k≤kmax(k初始设定为1) ,针对每个k值,进行如下操作:
1) v折交叉验证:将数据集平均分成v份,轮流提取每1份作为测试数据,剩下的v-1份数据通过EM算法估计模型参数,直到模型对数似然概率小于δ(默认δ=10-6)[17]。此时将所得模型应用于测试数据,并计算其对数似然概率P。对数似然概率如式(2) 所示:
$P=\ln p\left( X\left| \mu ,{{\sigma }^{2}},\pi \right. \right)=\sum\limits_{n=1}^{N}{\ln \left\{ \left. \sum\limits_{k=1}^{K}{\mathop{\pi }_{k}N\left( \mathop{x}_{n}\left| \mathop{\mu }_{k},\sigma _{k}^{2} \right. \right)} \right\} \right.}$ | (2) |
2) 提取最优k值:针对每个k值,求取v次交叉验证中测试数据的对数似然概率均值Pk。当Pk-1≤Pk且Pk≥Pk+1时,此时的k值即为最优聚类数目,同时选取在v次中对数似然概率最大的模型作为最佳模型。
3.3.2 聚类与真实类型的映射通过EM算法的高斯混合分布模型将数据样本划分为多个聚类C1,C2,…,Ck,系统采用文献[18]中的映射算法,将聚类C1,C2,…,Ck映射到具体类别,映射方法如下:
1) njk表示聚类Ck中类别为Yj的标注样本数量,nk表示聚类Ck中所有标注的样本数量,因此,聚类簇Ck映射到类别Yj的似然概率如式(3) 所示:
$P\left( Y=\mathop{y}_{j}\left| \mathop{C}_{k} \right. \right)=\mathop{n}_{jk}/\mathop{n}_{k}$ | (3) |
2) 对任意聚类Ck所属类别的映射方法,即选取最大似然概率,如式(4) 所示:
$~y=\arg \underset{\mathop{y}_{1},\mathop{y}_{2},...,\mathop{y}_{q}}{\mathop{\max }}\,\left( P\left( \mathop{y}_{j}\left| \mathop{C}_{k} \right. \right) \right)$ | (4) |
3) 为进一步提高准确率,可以设定阈值θ,即:P(Y=yi|Ck)≥θ时,认为类别映射有效。
3.4 停靠域名识别方法对于类别为停靠服务的DNS,通过IP地址集中度,并结合文献[2]中的停靠域名检测方法对这些IP地址上的域名进行分析,提取出停靠服务商的Web服务器IP地址集合,建立停靠DNS的地址指纹特征。当检测一个域名是否为停靠域名时,提取出该域名的权威DNS的类别及该域名解析的IP地址,如果该域名的权威DNS为停靠类型,且该域名解析的IP地址匹配停靠服务DNS的地址指纹特征,则该域名认为是停靠域名。
4 实验与结果分析 4.1 数据的来源实验数据集的域名生成种子来自于Amazon公司的Alexa网站排名文件[19],同时申请下载了Verisign公司2015年10月22日的com顶级域zone文件[20]。
实验首先构造错拼域名集合,选取Alexa文件中com顶级域排名前1000的域名作为种子,生成错拼域名集,生成的错拼域名数量、域名的存在情况以及DNS数量如表 3所示。
对提取出来的24665个权威DNS进行分析,发现大量DNS解析的域名数量较少(如图 2所示),约82%的DNS解析的域名数量小于2000。
同样,大量DNS上的错拼域名数量也较少,约96%的DNS上的错拼域名数量小于50,如图 3所示。经实际访问,这些错拼域名大量是偶然与知名域名相似,而非停靠域名。
由于停靠服务商的DNS解析的域名数量较大,错拼域名数量也相对较大,因而在实验时,选取域名数量在10000以上DNS作为分析对象,共有2321个,并按照表 4的规则随机抽取这些服务器上一定比例的非错拼域名集,对其错拼域名集、抽取的非错拼域名集进行DNS查询,进而分析、提取每个DNS在错拼域名、语义、解析结果等方面的特征。
通过DNS对应的网站及搜索引擎查询结果,对部分DNS进行标注,将停靠DNS标注为park,非停靠DNS标注为non-park。标注样本集中,park类有119个,non-park类有331个,并对两类标注样本的特征进行分析,具体如下:
1) 错拼域名比例。
停靠类DNS的错拼域名比例比非停靠类DNS偏大。如图 4所示,park类中40%服务器上的错拼域名比例高于0.001,而non-park类仅有10%的服务器高于此值。
2) IP地址集中度。
停靠类DNS的IP地址集中度要远高于非停靠类DNS。如图 5所示,这两类DNS每个IP上的域名数量均值分布情况为:60%的park类均值大于50;而non-park类均值最大为60,75%的服务器均值为1。
3) 泛域名解析比例。
停靠类DNS的泛域名解析比例要远远高于非停靠类。如图 6所示,95%的park类DNS的泛域名解析比例高于60%,而non-park类仅有21%服务器高于此值。
实验采用基于EM算法的高斯分布混合模型,通过10折交叉验证对2321个权威DNS进行聚类分析,并将聚类结果映射到真实类型。聚类结果如表 5所示。
实验结果将所有的DNS分成4类,虽然理想的聚类结果应为停靠、非停靠两类,但是该结果说明权威DNS在实际中的多种不同用途。通过计算标注样本在各聚类中的比例,cluster2映射为停靠服务类,cluster0、cluster1、cluster3为非停靠服务类,具体分析如下:
1) cluster2的park标注样本比例为79.0%,远远高于non-park标注样本比例,映射为park类。通过实际验证,cluster2类中94.5%的DNS为停靠服务所使用的DNS,知名的停靠域名商sedoparking、bodis、ztomy、dragonparking、trafficz等的DNS均在此聚类中。此外,一些DNS既提供域名解析或主机托管服务,又为大量域名提供停靠服务,这类服务器也被聚类到cluster2中,如ns3.epik.com提供域名解析、主机托管、域名停靠等服务,其解析域名中约70%为停靠域名。
其余服务器用于品牌保护,如ns5.markmonitor.com,品牌保护域名将在后续的研究中通过whois信息分析判断。
2) cluster0、cluster1的non-park标注比例分别为23.0%、48.9%,高于其他的聚类。通过实际访问,发现cluster0类中94.8%的服务器为域名营销商的DNS;cluster1类中90.0%的服务器为主机托管服务商的DNS。
然而,cluster0、cluster1类中DNS上也存在少量的停靠域名,主要是因为这些服务商与停靠服务合作,既提供域名解析服务,也提供停靠服务。针对此类DNS,需要在后续研究进一步进行分析。
3) cluster3中标注样本量太少,无法映射到真实的类别。通过访问权威DNS对应的网站及其解析的域名,发现此聚类中93.3%的DNS为域名服务提供商的DNS,解析的域名网站为正规网站。
4.4 停靠域名分析针对cluster2中权威DNS,即本文方法检测出的提供停靠服务的DNS,在每个服务器上随机提取20%的错拼域名和2%非错拼域名,基于本文方法对其IP地址解析分布情况进行分析。通过文献[2]基于页面信息特征的停靠域名检测方法,对上述提取出的域名及域名解析的IP地址上停靠域名的相关情况进行分析,计算出各IP地址上停靠域名所占比例,即:使用文献[2]检测方法分析本文检测方法的检测效果,如表 6所示。表 6中选取了3个典型的停靠DNS和2个非典型的停靠DNS。
由表 6可知,ns2.sedoparking.com、ns2647.ztomy.com、ns2.bodis.com为典型的停靠DNS,这些服务器只提供停靠域名服务,DNS上的域名均为停靠域名,并且域名解析的IP地址集合十分确定,具体如下:
1) 这三个DNS的所有域名分别被集中解析到5、2、1个IP地址上,并且这些IP地址对应的域名大量为停靠域名,如ns2.sedoparking.com解析到72.52.4.91的域名中96.2%均为停靠域名;对于文献[2]中方法识别的非停靠域名进行手动分析,发现这些域名判断为非停靠域名的主要原因是:这些域名没有访问到页面,如ns2.sedoparking.com解析到72.52.4.91的域名中3.8%没有访问到页面。
2) 对数据集中所有知名停靠DNS进行分析,如:ns2.bodis.com、ns1.parkingcrew.net、ns1.dragonparking.com等,除没有访问到页面的域名外,文献[2]中方法识别为非停靠类型的域名均为误报,占域名总数的1.9%,实验结果表明对典型提供停靠服务的DNS,本文检测方法可有效降低误报率。
ns3.epik.com、ns1.hastydns.com为非典型的停靠DNS,这些DNS除域名停靠服务外,还提供主机托管或域名解析服务,DNS上除停靠域名,还包含非停靠域名,但所有停靠域名解析到几个特定IP地址上,具体如下:
1) 停靠域名被解析到了少量的IP地址,如ns3.epik.com将停靠域名解析到69.64.78.164、172.99.81.163、185.53.177.20、192.64.147.140、192.64.147.150等5个IP地址,这些域名中除少量未访问到页面外,其余均为停靠域名。
2) 少量的非停靠域名使用该服务商的主机托管服务,并解析到少量的IP地址,如ns3.epik.com中192.155.81.104、192.187.124.3对应域名使用了主机托管服务,而非停靠域名。
3) 一部分非停靠域名使用该服务商的解析服务,并将域名解析到不同的IP地址,例如:ns3.epik.com中14个非错拼域名使用了该服务商的域名解析服务,并解析到了14个IP地址,这些域名均为非停靠域名。
4) 对数据集中所有非典型的停靠DNS,选取IP地址上停靠域名占90%以上的检测结果进行手动分析,文献[2]中方法识别为非停靠域名中,除没有访问到页面的域名外,其中75.3%为非停靠域名,占总域名数的7.2%,即本文检测方法准确率达到92.8%。可以看到对非典型提供域名停靠服务的DNS,文献[2]中检测方法有更高的准确率,经分析主要原因是少量服务商的Web服务器,既提供托管服务,也提供停靠服务。
5 结语针对停靠域名检测问题,本文提出了一种基于权威DNS的停靠域名识别方法。通过半监督聚类算法对权威DNS进行聚类分析,进而通过域名的IP特征来识别停靠域名。与基于页面信息的检测方法相比,本文所提出的方法避免了在检测时爬取页面信息,而且有较高的识别率。该方法对非典型提供停靠服务的DNS的域名识别效果较差,在后续研究中将从域名注册信息等角度完善特征,进一步提高检测的准确度。
[1] | DU H. Domain parking recognizer:an experimental study on Web content categorization[D]. Burnaby, British Columbia:Simon Fraser University, 2013:10-51. |
[2] | VISSERS T, JOOSEN W, NIKIFORAKIS N. Parking sensors:analyzing and detecting parked domains[C]//NDSS 2015:Proceeding of the 22nd Network and Distributed System Security Symposium. Washington, DC:Internet Society, 2015:23053. |
[3] | SZURDI J, KOCSO B, CSEH G, et al. The long "taile" of typosquatting domain names[C]//SEC'14:Proceedings of the 23rd USENIX Conference on Security Symposium. Berkeley, CA:USENIX Association, 2014:191-206. |
[4] | MOORE T, EDELMAN B. Measuring the perpetrators and funders of typosquatting[C]//Proceedings of the 2010 International Conference on Financial Cryptography and Data Security, LNCS 6052. Berlin:Springer, 2010:175-191. http://cn.bing.com/academic/profile?id=2165109377&encoded=0&v=paper_preview&mkt=zh-cn |
[5] | AGTEN P, JOOSEN W, PIESSENS F, et al. Seven months' worth of mistakes:a longitudinal study of typosquatting abuse[C]//NDSS 2015:Proceedings of the 22nd Network and Distributed System Security Symposium. Washington, DC:Internet Society, 2015:23058. |
[6] | ALRWAIS S, YUAN K, ALOWAISHEQ E, et al. Understanding the dark side of domain parking[C]//SEC'14:Proceedings of the 23rd USENIX Conference on Security Symposium. Berkeley, CA:USENIX Association, 2014:207-222. |
[7] | NIKIFORAKIS N, BALDUZZI M, DESMET L, et al. Soundsquatting:uncovering the use of homophones in domain squatting[C]//ISC 2014:Proceedings of the 17th International Conference on Information Security, LNCS 8783. Cham, Switzerland:Springer International Publishing, 2014:291-308. |
[8] | NIKIFORAKIS N, ACKER S V, MEERT W, et al. Bitsquatting:exploiting bit-flips for fun, or profit?[C]//Proceedings of the 22nd International Conference on World Wide Web. New York:ACM, 2013:989-998. |
[9] | HALVORSON T, SZURDI J, MAIER G, et al. The BIZ top-level domain:ten years later[C]//PAM 2012:Proceedings of the 13th International Conference on Passive and Active Measurement, LNCS 7192. Berlin:Springer, 2012:221-230. |
[10] | HALVORSON T, LEVCHENKO K, SAVAGE S, et al. XXXtortion?:inferring registration intent in the. XXX TLD[C]//WWW'14:Proceedings of the 23rd International Conference on World Wide Web. New York:ACM, 2014:901-912. http://cn.bing.com/academic/profile?id=1994859552&encoded=0&v=paper_preview&mkt=zh-cn |
[11] | Sedo. How do I park my domains?[EB/OL].[2015-10-29]. https://sedo-int.custhelp.com/app/answers/detail/a_id/143/p/1/c/30/search/1. |
[12] | Domainparking. FAQs of domain parking[EB/OL].[2015-10-29]. https://domainparking.co.uk/faq.php. |
[13] | Parkingcrew. FAQ[EB/OL].[2015-10-29]. https://www.parkingcrew.com/faq.php?mode=detail&detail=31. |
[14] | Google. Search console help[EB/OL].[2015-12-03]. https://support.google.com/webmaste-rs/answer/66359. |
[15] | WITTEN I H, FRANK E, HALL M A. Data Mining:Practical Machine Learning Tools and Techniques[M]. 3rd ed. San Francisco, CA: Morgan Kaufmann, 2011 : 206 -207. |
[16] | MCGREGOR A, HALL M, LORIER P, et al. Flow clustering using machine learning techniques[C]//PAM 2004:Proceedings of the 5th International Workshop on Passive and Active Network Measurement, LNCS 3015. Berlin:Springer, 2004:205-214. |
[17] | SMYTH P. Model selection for probabilistic clustering using cross-validated likelihood[J]. Statistics and Computing, 2000, 10 (1) : 63-72. doi: 10.1023/A:1008940618127 |
[18] | ERMAN J, MAHANTI A, ARLITT M, et al. Offline/realtime traffic classification using semi-supervised learning[J]. Performance Evaluation, 2007, 64 (9/10/11/12) : 1194-1213. |
[19] | Amazon. Top-1m domains[EB/OL].[2015-10-20]. http://s3.amazonaws.com/alexa-static/top-1m.csv.zip. |
[20] | Verisign. Zone files for Top-Level Domains (TLDs)[EB/OL].[2015-10-20]. http://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml. |