《基于词素特征的轻量级域名检测算法-张维维.pdf》由会员分享,可在线阅读,更多相关《基于词素特征的轻量级域名检测算法-张维维.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件学报ISSN 10009825,CODEN RUxuEWJournal ofSoftware,2016,27(9):23482364Moi:1013328jcnkijos004913中国科学院软件研究所版权所有基于词素特征的轻量级域名检测算法张维维1,2,龚俭1,2,刘茜1,2,刘尚东1,-,胡晓艳1,21(东南大学计算机科学与工程学院,江苏南京210096)2(江苏省计算机网络重点实验室,江苏南京210096)通信作者:张维维,E-mail:wwzhangnjneteducnE-mail:jOS,iscasaccnhtrp:wwwjosorgcnTel:+8610-62562563摘要:
2、 对网络申DNS交互报文进行检测以发现恶意服务,是网络安全监测的一个重要手段,这种检测往往要求系统能够实时或准实时地发现监测域名中的可疑对象面对庞大的域名集合,若对所有域名使用同样强度的监测通常开销过大通过挖掘域名字面蕴含的词素(词根、词缀、拼音及缩写)特征,提出一种轻量级检测算法,能够快速锁定可疑域名,以便后续有针对性地进行DPI检测实验结果表明:基于词素特征的检测算法比统计n元组频率分布的方法虽然略微增加了583的内存开销,但却具备抗逃避能力以及更高的准确率(相对提高352);与基于单词特征的方法相比,极大地降低了计算复杂度(相对降低648),并减少了26的内存开销,而准确率仅下降25关键
3、词: 网络安全监测娥名检测;词素;字符串切分C45分类器中图法分类号:TP309中文引用格式:张维维,龚俭,刘茜,刘尚东,胡晓艳基于词素特征的轻量级域名检测算法软件学报,2016,,27(9):23482364http:wwwjosorgcrdl000-98254913htm英文引用格式:Zhang ww,Gong J,Liu Q,Liu SD,Hu XYLightweight domain name detection algorithm based on morphemefeaturesRuan Jian Xue BaoJournal of Software,2016,27(9):2348
4、-2364(in Chinese)http:wwwjosorgcrdl000-98254913htmLightweight Domain Name Detection Algorithm Based on Morpheme FeaturesZHANG WeiWeil一,GONG Jianl。,LIU Qianl,一,LIU ShangDon91,-,HU XiaoYanl,2(School of Computer Science and Engineering,Southeast University,Nanjing 2 10096,China)2(Jiangsu Pmvineial Key
5、Laboratory of Computer Network Technology,Nanjing 2 1 0096,China)Abstract:Detecting malicious services via inspecting the content of DNS packets is a common way to network security monitoringSuch a work often requires quasi real time abili!ty to find suspects among the huge collected domain names,wh
6、ich is costly in processingresourcesThis work proposes a lightweight algorithm based on the morpheme features(root,affix,Chinese spelling and special nounabbreviation)of domain names to quickly identify the suspects for targeted DPI detectionCompared with algorithms based on ntuplefrequency distribu
7、tion measurement,the proposed one is proved tO have stronger antiinterference ability and better detection accuracy by352higher while only 583memory overhead increasingWhile compared with the methods based on word featuresthis lightweightalgorithm can cut 648of computation complexily and 26memory ov
8、erhead down with only 2 5accuracy reductionKey words:network securitty monitoring;domain name detection;morphemes;string segmentation;C45 classifierDNS作为互联网的重要基础设施,承载着域名与IP地址间相互映射的重任,网络中各种应用活动都与其密切相关,如电子邮件、网站服务、及时通信、微博等与此同时,域名解析服务也成为各类互联网安全威胁的重 基金项目:国家自z(60973123);国家科技支撑计划(2008BAH37804);国家重点基础研究发展计划
9、(973)(2009CB320505);Foundation item:National Natural Science Foundation of China(60973 1 23);State Scientific and Technological Support PIanProject ofChina(2008BAH37804);National Basic Research Program ofChina(973)If、2009CB320505)收稿时间:201410一1l:修改时间:2015-0302;采用时间:201506-01万方数据张维维等:基于词素特征的轻量级域名检测算法
10、2349要工具,如僵尸网络在其扩散与通信中使用DNS技术定位C&C(命令控制服务器),网络钓鱼和恶意代码下载等通过频繁变更域名对应的IP地址或NS记录隐匿背后真实的服务器目前,检测僵尸网络、钓鱼网站和恶意软件下载等恶意服务最主要的手段还是基于黑名单但是黑名单在维护和更新上存在开销大和及时性差的缺陷,且攻击者常常使用算法自动生成大量的随机域名来躲避检测如Conficker1,2KrakenS】Torpig41等新型僵尸网络,为增强其C&C的可靠性和存活性,使用DomainFluxing技术僵尸通过DGA(域名生成算法)随机产生大量域名,只要其中一个域名能够被解析,就可以与C&C进行通信;此外,垃
11、圾邮件发送者也会在其垃圾邮件中随机生成域名来避免黑名单过滤。为了弥补黑名单方法的不足,基于DNS活动特征的实时检测方法得到了广泛地研究该类算法需要对网络中的DNS交互报文进行实时或准实时的DPI检测,通过挖掘恶意域名有别于合法域名的活动特征以发现恶意服务相关工作有:Chatzis等人依据邮件蠕虫感染主机的DNS MX流量行为在传播地址和流量特征方面具有高度相似性这一稳定特征提出了一系列的邮件蠕虫检测方法15-8;Caglayan根据域名对应的IP地址频繁变更这一基本特征,选取TTL值、A记录数目及其离散程度三方面测度检测FastFlux服务网络【9;Choi等人观测域名查询请求者的群体活动特性
12、(即,大量僵尸主机在很短的时间间隔内集中访问某个域名),实现对僵尸网络及其域名的检测【10-121:Antonakakis在2011年基于从顶级域名服务器获取的DNS交互报文,通过统计域名查询请求者的离散程度以及解析IP地址的信誉值,检测恶意域名131;2012年,又基于同一个僵尸网络的僵尸主机会产生相似的NXDomain流量(失效的DNS查询请求),通过观察域名的字符组成及其查询请求者的相似性来聚类和检测僵尸网络使用的域名14);Bilge通过统计域名查询请求的时间分布、域名映射IP地址的空间分布、TTL时间长短以及域名字面特征,发现恶意域名tt s但是,网络中实际使用的域名数量巨大通过监测
13、流经JSERNET(qb国教育科研网江苏省网)边界的DNS交互报文。两个月(2013年lO月16日12月15日)共观察到l 400万个不重复域名,且平均每天新增域名20万个面对如此庞大的域名集合,若对所有域名使用DPI技术进行实时流量监测,则开销过大一个合理的解决思路是:设计轻量级的检测算法来快速锁定监测目标,以便有针对性地使用更为复杂和更为准确的检测算法轻量级算法需要在有限的系统资源和计算时间内,尽可能多地检测出可疑域名,因此,算法设计优先考虑空间开销和计算复杂度,而检测精度可以由更为复杂和更为准确的后续算法去保证,域名自身字符串包含丰富的词法特征,无论从空间开销、计算复杂度,还是从检测方法
14、的时效性以及数据获取的难易程度看,都适合作为轻量级算法的检测依据现有的域名字面分析技术,主要是通过机器学习方法统计字符串的词法特征(如字符串长度、字母数目、数字数目以及n元组频率分布等)相关工作可以追溯到Ma等人通过统计URL长度、主机名长度、点的数目以及相应的主机特征,检测钓鱼网站和邮件广告使用的恶意URLtl6,|7;Prakash设计实现的PhishNet,为了提高URL黑名单对钓鱼网站的检测效率,一方面通过构造新的恶意URL来扩展黑名单,另一方面,将精确匹配改成近似匹配以提高匹配度【181;其中最具代表性的工作是Yadav等人基于算法生成的域名不会使用可读性的语言文字,从而显现出不同于
15、合法域名的字频分布特征这一观测发现,按照是否拥有相同的二层域名或解析IP地址分组域名,统计每组域名所含二元组(即连续的两个字母或者数字1的频率分布特征,然后借助KL等距离测度检测算法自动生成的域名【l 9,201此外,Khaitan和Srinivasan等人引入自然语言模型研究面向域名的word切割方法21,22l;Marchal基于黑名单中已有的钓鱼域名,借助word切割技术提取和重组域名中的关键字,预测可能出现的新钓鱼域名【2列;Schiavoni扩展语言学特征(域名所含单词的字符比重以及所含元组在字典中的总出现频率)识别算法自动生成的域名,再结合解析IP地址集合间的相似性聚类域名,分离僵
16、尸网络域名组,研究僵尸网络的演变行为【241对于上述提及的两类域名字面分析方法,基于词法特征统计的机器学习方法虽然具有较小的空间开销和计算复杂度,但是攻击者在生成域名时很容易通过事先相应的特征统计逃避检测;而借助自然语言领域的word切割技术从语义层面统计单词特征,可以缓解这种逃逸策略提高检测的准确率,但是需要依赖庞大的语料库(牛津字典和维基百科字典共有52万个词头,且一个单词还可能拥有多种时态和复数形式),具有较高的空间开销和计算复杂度,不满足轻量级算法要求此外,在进行语义分析时也没有考虑中文拼音形式的域名万方数据2350 Journal of Software软件学报V0127,No9,S
17、eptember 20 1 6为此,本文考虑单词内在组成结构,选取构词学中最小的有意义的语言单位“词素”【2 5】作为统计域名语言学特征的基本单元收集A1ex中连续3次排名前1万的域名以及僵尸网络【1-4,27-30】、钓鱼网站【311、垃圾邮件【32】和恶意软件29,30使用过的域名,引入自然语言领域中的word切割技术,以词素作为字符串切分的最小单元,变长切分域名在此基础上,以二层域名标签作为对象,统计其所有三层域名标签中含有词素的平均比重,即,出现在词素中的字符个数占所辖三层域名标签总字符数的比例此外,由于域名越普及,使用越广,其为合法域名的可能性越大,因此,将Alex排名靠前的域名看作
18、合法域名如图l所示,各个点O表示含词素平均比重超过x的对象数目占总体的比例为y实际观测发现:472的Alex合法域名,其三层域名标签含词素平均比重超过95; 只有235的僵尸网络域名、172的钓鱼网站域名、342的垃圾邮件域名和171的恶意软件域名的三层域名标签中含相同比重的词素: 而使用DomainFlux技术的新型僵尸网络域名,其三层域名标签中含词素平均比重均低于70综上所述,与恶意服务使用的非法域名相比,正常服务使用的合法域名更可能使用词素命名其字符串词素作为单词最基本的组成成分,一方面能够延续单词所拥有的刻画域名语言学特征的能力,用于区分合法域名和恶意域名;另一方面,相比庞大的单词库,
19、词素库相对较小(英文常用词根l 240个左右,词缀490个左右,中文拼音409个),满足轻量级算法的性能要求再炎:标签按其一绥foi箍所禽训素j均比重的累秋分布图11nFig1 Cumulative distribution of the secondlevel domain labels according to the average morpheme proportion图l 二层标签按三层标签含词素平均比重累积分布本文依据最小的语言学单位一一词素,设计启发式字符串切割算法快速切分域名,并在二层域名标签聚类的基础上,通过统计域名所含词素的比重、均长和频率分布熵等特征测度,应用有监督的机器
20、学习方法检测恶意服务使用的非法域名为验证算法的可行性,本文基于统一的标准域名集,比较词素特征与已有行元组频率分布以及单词特征的检测能力实验结果表明:词素特征能够有效地刻画域名字面的语言学特征,与以元组频率分布特征相比,可以提高检测准确率,降低假阳性,有效抵挡攻击者借助事前相应特征统计的逃避策略以及借助字典或Kwyjibo工具的随机域名生成策略;与单词特征相比,在保证检测准确率的同时,较小的词素集可以保证算法具有较低的计算复杂度和存储开销最后,实际应用该轻量级算法对中国教育科研网江苏省网边界采集到的域名集进行检测,结果表明:该算法具有较高的检测准确率(872)、较低的内存开销(8014MB的临时
21、内存,271MB的常驻内存开销)和计算复杂度(运行时间1961s)1基于词素特征的轻量级检测算法面对庞大的待测域名集合,本文基于合法域名比恶意域名更可能使用词素命名其字符串的观测发现,以域名字符串为分析对象,通过挖掘其字面包含的词素特征(英语中的词根和词缀、中文拼音以及特殊缩写),提出一万方数据张维维等:基于词素特征的轻量级域名检测算法 2351种轻量级域名检测算法,能够快速锁定恶意服务使用的可疑域名,以便后续有针对性地对DNS交互报文进行实时DPI检测,从而最大限度地降低系统资源开销如图2所示,从总体架构看,该轻量级域名检测算法主要包括4个部分:首先,通过聚类算法将待处理的标准域名集和实测域
22、名集各自划分成组;其次,基于所构建的词素库,设计启发式字符串切分算法快速切分域名;然后,提出一组基于词素的特征测度,针对每一组域名,分别统计测度集合中的每一个测度;最后,应用有监督的机器学习方法,通过标准域名集的训练学习,检测实测域名集中出现的恶意域名标准厂 域 启发 域名堡塞趟r一1名 式字 词素郦聚 符串 特征类 L 切分 统计塞壁惑 r有监督的分类算法Fig2 System architecture of a lightweight domain name detection algorithm based on morpheme features图2基于词素特征的轻量级域名检测算法总体
23、架构11域名聚类算法从形式上看,域名是由点分隔的一组标签构造而成,这些标签具有分层结构的特点为后面叙述的方便,此处统一顶层域名标签、二层域名标签和三层域名标签的概念顶层域名标签,指域名字符串最后的通用域名后缀以及国家后缀(如corn,cn,educn等);二层域名标签,指右边紧挨着顶层域名标签的域名标签;三层域名标签,指右边紧挨着二层域名标签的域名标签如baikebaiducom,corn是顶层域名标签,baidu是二层域名标签,baike是三层域名标签攻击者出于经济利益的考虑,通常只注册一个或若干个二级域名,在此之下,使用域名生成算法自动生成成批的子域名这些域名具有相同的二层域名标签、不同的
24、三层域名标签因此,本文依据是否具有相同的二层域名标签将域名聚类成组,通过分析组内各三层域名标签中包含的词素特征,以组为单位进行检测这有别于Yadav等人提出的基于相同二层域名分组域名的想法【19 20,二层域名包括二层域名标签和后面的常用域名后缀考虑到无论是算法还是人工方式生成的域名都会使用公共的域名后缀,去掉后更能显现出算法生成域名的随意性;同时在实际观察中发现,很多恶意域名具有相同的二层域名标签、不同的域名后缀如,钓鱼网站paydatensynchronisierung对应biz,com,net等8个常用域名后缀此外,考虑单个或者小量三层域名标签,其包含的少量词素特征难以用于区分合法域名和
25、恶意域名,因此,本文只关注组内三层域名标签数超过一定阈值(5)的二层域名标签12启发式字符串切分算法基于词素的域名语言学特征统计,首先需要从域名字符串中最大限度的切分出词素关于词素切割问题,需要重点考虑如下3个方面:词素定义,框定词素的范围;词素匹配算法,快速确定一段字符序列是否是一个词素;最优切分问题,从域名字符串所有可能的切分结果中,寻找挖掘词素最多的域名切分结果121 词素定义本文延用英语中的概念,把不可再分的最小的有意义的语言单元定义为词素【z引由于人工命名合法域名时通常会使用英语单词、中文拼音和特定名词缩写,分别定义英语词素、拼音词素和缩写词素英语单词最基本的词素是词根、前缀和后缀汉
26、语拼音由声母、韵母和声调构成,由于域名字符集不存在声调这一特殊字符,因此域名中出现的是无声调拼音而组织机构、专有名词、项目名称等特定名词缩写,通常没有内部结构,所以将整个字符串定义为一个缩写词素,见表1经统计,维基百科字典中拥有超过32万个非英文单词词头,为此本文提出两条策略以减小词素库规模:若一个词素,可以分解为词素库中的若干个词素,则将该词素从库中去除;在策略1基础上,考虑长度较短的词素碰巧出现在算法生成域名中的概率较大,而长度较长的词素碰巧撞到的概率较小,本文只保留长度在3,5范围内的词素经过简化处理,目前词素库中剩余87 600个词素,通过构词学扩展。可以囊括原先牛津字典和维基百科字典
27、52万个词头的9625万方数据2352 Journal of Software软件学报V0127,No9,September 2016Table 1 Morpheme list表1词素表122词素匹配与切分一旦框定词素范围,词素匹配的关键在于选用合适的数据结构存储词素库,保证最快速率的字符串匹配考虑词素库规模有限,设计数据结构时优先考虑查询速率,即,查询时间优于内存开销本文使用哈希表结构存储词素库,由于算法只考虑长度介于3和5之间的词素,可以保证最糟糕情况下的查询速度经过统计:当取词素前4个字母Cl,C2,c3和C4对应下标作为哈希的key值时(key值的具体计算见公式(1),当词素长度只有3
28、时,默认取C4-a+26),哈希表具有最优的查询速度和相对小的内存开销,此时,哈希桶利用率为117,其中,805的桶长l。985的桶长5key=(cl一a)27+(c2-a)x272+(c3一a)x27+(C4-a) (1)一个域名字符串通常会有多种切分结果,如何寻找最优结果,传统解决策略依据自然语言特征选取评分标准,寻找得分最高的全局最优解但是面对庞大的语言库,若再考虑词素的上下文环境,这种全局最优解会达到指数级别的计算复杂度考虑本文的实际需求,轻量级检测算法要求相对简捷的计算复杂度,且其最终的检测精度还依赖于域名切分之后的测度选取和机器分类算法本文采用启发式方法,用局部最优解代替全局最优解
29、恶意服务使用的非法域名,其字符串具有较大的随意性,碰巧撞到词素的概率很小,且词素越长,碰撞概率越小,因此,启发式切分策略应该优先匹配最长词素实际操作中发现:若不考虑上下文环境,单个词素的最长优先匹配常常会破坏两个连续的词素如鲜果网域名xianguocom,优先切分xiang会破坏紧跟其后的拼音guo为此,在切分当前词素时,需要考虑其与接下来n个词素之间的关系本文为保证算法的简捷性,只关注连续两个词素的情形,即,保证二元词素最长者优先切分13分类测度选择域名检测本质上是域名的二元分类问题,即,判定一个域名是正常服务使用的合法域名,还是恶意服务使用的非法域名,关键在于找到区分二者的特征测度 合法域
30、名,通常遵循语言学特征,使用自然语言词素DNS最初出现,主要是因为IP地址不便于记忆和使用,从而引入一个名字来方便使用和流行推广一个组织机构或者单位,注册和正常使用的域名数量有限(一个或几个),一般采用人工方式直接命名一些简洁、易读和易记的字符串一方面考虑到一般人的工作记忆能力仅7个、8个字元,超过8个字元的域名很难被记忆【331;另一方面,由于域名的广泛使用,短域名基本上消耗殆尽,只能注册稍长的域名为了兼顾记忆,注册者通常遵循其所使用的自然语言习惯来命名域名如internetdownloadmanagercom,虽然有23个字母,但是由于其使用了自然语言internet download m
31、anager,实际记忆只需要3个字元 恶意域名,字符串具有较大随意性僵尸网络、钓鱼网站、垃圾邮件和恶意软件等为了躲避黑名单方法的检测,需要在短时间内生成一定数量规模的域名为此,攻击者通常依赖随机字符串生成算法自动生成成批的随机域名如gugiaueqzmzizlvovohmjojkfxcom,由于不遵循语言学特征,一般人很难直接记忆这26个字母在定义测度之前,为了形式化描述的方便,首先给出本文的数学模型 二层域名标签集合S-sl,s2,s3,5_r,包含M个二层域名标签s。(1埘; 三层域名标签集合T=f11,f12,1tM,t21,t22,t22,0l,嘞2,h。),其中,Nm(1埘蚴为二层域
32、名标签所辖的三层域名标签数目,lmn(1门)为二层域名标签J。所辖的第n个三层域名标签,f。标签长度为len(t。),所含字母数目为clen(t,。);万方数据张维维等:基于词素特征的轻量级域名检测算法 2353 三层域名标签含词素集合C=cll,c12,cl置,c2I,c22,c2置:,l,cM2,CMK。,(1研旧为二层域名标签j。所辖的所有三层标签tin(1门用)中所含词素的数目,c。“1尼)为二层域名标签s。所辖的所有三层标签中所含的第k个词素,len(c。0为词素C。女的长度厶t为词素C。女出现的次数131词素平均比重定义l(词素平均比重)对某个二层域名标签对象,统计其所有三层标签字
33、符串内出现在词素中的字母个数占所有三层标签总字母数的比重:盐(1en(Cmk)fk)morphemeratio(s。)=旦百一(2)clen(t。)n=l本节开头的理论分析结论和图1所示的实际观测结果,都表明合法域名字符串比恶意域名字符串中更可能出现词素因此,词素平均比重可以作为检测恶意域名的特征测度,且词素平均比重越低,该域名属于恶意域名的概率越大132词素平均相对个数定义2(词素平均相对个数)对某个二层域名标签对象,统计其所有三层标签字符串中包含的词素个数相对于所有三层标签字母总长度(即,包含26个英文字母az的总数目)的比值:k厶morphemeralativenum(s。)=瓦丝一(3
34、)clen(t。)n=l理论分析表明:恶意域名比合法域名拥有的标签长度更长,词素比重更小由于较长的恶意域名很可能比较短的合法域名含更多词素,因此,本文在考虑域名标签长度的基础上计算词素相对个数,即,词素数目比上三层域名标签字母长度理论推导可知,恶意域名比合法域名包含更少的词素相对个数图3中,725的合法域名,其三层域名标签中含词素平均相对个数超过025;只有353的僵尸网络域名、445的钓鱼网站域名、467的垃圾邮件域名和543的恶意软件域名的三层域名标签中含相同相对个数的词素;而使用Domain-Flux技术的新型僵尸网络域名,其三层域名标签中含词素平均相对个数均小于O25因此,本文选取词素
35、平均相对个数作为分类测度,且词素平均相对个数越少,该域名属于恶意域名的概率越大各类:层抓絮兰按其层标签所禽J索平均辑|对个数的累移i分自,图11n。Fig3 Cumulative distribution of the second-level domain labels according to the average morpheme number图3二层标签按三层标签含词素平均相对个数累积分布万方数据2354 Journal of Software软件学报V0127,No9,September 2016133词素平均长度定义3(词素平均长度)对某个二层域名标签对象,统计其所有三层标签字符
36、串中包含词素的平均长度K”(1en(Cmk)x厶)morpheme=l如图4所示:868的合法域名和882的僵尸网络域名,其三层域名标签中含词素平均长度超过33;只有579的钓鱼网站域名、581的垃圾邮件域名和743的恶意软件域名的三层域名标签中含有同样长度的词素:而使用DomainFlux技术的新型僵尸网络域名,其三层域名标签中含词素平均长度均小于31进一步观察发现:218的合法域名的三层域名标签中含词素平均长度超过37,而只有118的僵尸网络域名含相同长度的词素上述统计结果表明:与合法域名相比,恶意域名字符串中包含的词素都相对较短这符合理论情形,合法域名字符串会使用自然语言中的单词和词素,
37、而恶意域名字符串具有较大的随意性,其碰巧撞到词素的概率很小,且词素越长,碰撞概率越小因此,词素平均长度也可以作为检测恶意域名的特征测度,且词素平均长度越短,该域名属于恶意域名的概率越大各类二层标签按其j;标签所岔l司索、r均长度的累积分布H11nFig4 Cumulative distribution of the secondlevel domain labels according to the average morpheme length图4二层标签按三层标签词素平均长度的累积分布134非词素字母平均个数定义4(非词素字母平均个数)对某个二层域名标签对象,统计其所有三层标签字符串中除词
38、素外,剩余字母的平均个数:Nn Kmclen(t。)一(1en(c础)厶)n?,押口Z玎 咖。护生_由理论分析可知:恶意域名比合法域名具有更长的标签长度,含有更小的词素比重进一步推论可知,恶意域名应该包含更多的非词素字母数为了验证推论的合理性,本文继续统计各类二层域名标签按其三层域名标签所含非词素字母平均个数的累积分布如图5所示:669的合法域名,其三层域名标签中剩余非词素字母的平均个数低于05;只有235的僵尸网络域名、187的钓鱼网站域名、459的垃圾邮件域名和229的恶意软件域名,其三层域名标签中剩余相同个数的非词素字母;而使用DomainFlux技术的新型僵尸网络域名,其三层域名标签中
39、剩余非词素字母的平均个数均超过3因此,本文选取非词素字母平均个数作为检测恶意域名的测度,且非词素字母平均个数越多,该域名属于恶意域名的概率越大一阢=、,m5,LPf万方数据张维维等:基于词素特征的轻量级域名检测算法各类二层标签按其i层标签所含非词素字母、F均个数的累积分布图11010090u 80端70兰60瘤一合法域名-僵尸网络-Domain-Flux僵3刚络一钓鱼网站一垃圾邮件-恶意软件2355u一一12一一3 4 5 6 7 8 9 1。一,1小攀?”:jj ipI均、数Fig5 Cumulative distribution of the secondlevel labels acco
40、rding to the average nonmorpheme letter number图5二层标签按三层标签非词素字母平均个数累积分布135平均记忆字元数定义5(平均记忆宇元数)对某二层域名标签对象,统计其所有三层标签字符串中包含记忆字元的平均个数:m K_,P疗(o)一(砌(。)-1)xLk)rememberlen(s。)=型盟i一(6)Vm一般人记忆字符串时,会将其中常用的单词或短语看作一个记忆字元,以此来增加记忆的长度为此,本文将域名字符串中包含的单个词素、单独的一个字母或者数字都看成一个记忆字元理论分析表明,恶意域名比合法域名具有相对更多的记忆字元数实际统计各类二层域名标签按其三
41、层域名标签平均记忆字元数的累积分布,如图6所示,发现:790的合法域名,其三层域名标签的平均记忆字元数小于3;只有235的僵尸网络域名、182的钓鱼网站域名、535的垃圾邮件域名和229的恶意软件域名的三层域名标签具有相同数目的记忆字元;而使用DomainFlux技术的新型僵尸网络域名,其三层域名标签的平均记忆字元数均超过5综合理论分析和实际观测结果,选取平均记忆字元数作为区分恶意域名和合法域名的测度,且平均记忆字元数目越多,该域名属于恶意域名的概率越大挥资 坛jf,筝按iL一!抓够、rE JlP一眨i无数门累Hi分n J【訇11010090u 80玉;70兰60_二50鑫40始监302010
42、0Fig6 Cumulative distribution of the secondlevel domain labels according to the average memory unit number图6 二层标签按三层标签平均记忆字元数累积分布,吖岳,万方数据2356 Journal of Software软件学报V0127,No9,September 20 1 6136词素频率分布熵定义6(词素频率分布熵)对某个二层域名标签对象,统计其所有三层标签字符串中出现的各个词素的频率分布的熵值:Kmmorphemeentropy(s,)=一k+=lFfnlk1。92厶k=1人工命名合法
43、域名时,一方面为了使用和推广的方便,通常会使用一些好记的单词或缩写;另一方面,出于管理和语义关联的需要,常常会在同一个二层域名标签下的一组三层域名标签中使用相近的字符串因此,合法域名中的某些词素出现的频率会远远超过其他词素而恶意域名字符串具有较大的随意性,其碰巧撞到同一个词素的概率很小,即,恶意域名中的词素通常只出现一次因此,理论上,恶意域名比合法域名的三层域名标签中所包含的词素频率分布更加均匀,熵值更大如图7所示:478的合法域名和521的垃圾邮件域名,其三层域名标签中词素频率分布的熵值低于44;只有118的僵尸网络域名、383的钓鱼网站域名和343的恶意软件域名的三层域名标签具有相同的熵值
44、;而使用DomainFlux技术的新型僵尸网络域名,其三层域名标签的词素频率分布的熵值均超过8若不考虑垃圾邮件域名的干扰,其余各类恶意域名的词素频率分布的熵值都相对比合法域名大,这符合理论分析结果本文也选取词素频率分布的熵值用于检测恶意域名,且词素频率分布的熵值越大,域名属于恶意域名的概率越大各类尼:标签按矮i层标签所含i4素频率分布熵的累积分布图110含洼埘幺10090u 80蒌70蔓60嗣之50彝40龄嚣30201001 2 3 4 5 6 7 8i层标签含词素频率分布熵Fig7 Cumulative distribution of the second-level domain labe
45、ls according to the entropy of morpheme frequency图7 二层标签按三层标签含词素频率分布熵累积分布14分类算法现有的机器学习分类算法种类众多,本节基于Kotsiantis等人【34】的比较研究结果(见文献35】中的表4),针对域名属性集的特性和轻量级算法的性能要求,讨论算法选择问题首先,用于域名分类的6个特征测度都是连续型数据变量,而朴素贝叶斯和基于关联规则的算法倾向于非连续型属性变量,且前者检测精度低,后者难以应对噪音数据;其次,轻量级算法要求最小的性能开销和适中的检测精度临近算法在学习和分类两个阶段都需要较大的内存开销且分类速度慢,而神经网络
46、和支持向量机方法在学习阶段时问开销大且复杂的参数调整也降低了可用性因此,本文针对域名的二元分类问题(O合法域名;1恶意域名),最终选取决策树方法中经典的C45【36】算法,能够处理连续型属性,具有较快的学习速度和分类速度,在数据不完整或存在噪音情形下也能够保证适中的检测精度,无需调整参数且直观易懂分类算法整个工作流程如图8所示乒弘万方数据张维维等:基于词素特征的轻量级域名检测算法 2357收集黑名单和Alex排名前1万的域名,生成恶意域名集M和合法域名集G,具体见实验部分:对M和G中的域名,分别按照二层域名标签聚类成组,过滤出组内三层域名标签数超过一定阈值(5)的二层域名标签在此基础上,以这些
47、二层域名标签为对象,应用启发式算法切分其所有三层域名标签字符串,统计上述6个词素特征测度:每个二层域名标签样本,可用一个包含7项属性的向量口,4243444546,07来表示,其中4f(1i6)是上个步骤统计的6个词素特征测度,C是域名所属类别合并域名集M和G,生成训练样本集r-】42434445,爿6,c)7,其中,来自域名集G的样本类别为0,而来自M的样本类别为l;C45算法通过学习训练集,中的样本,采用递归思想自上而下构造决策树分类模型当分枝中所有样本属于同一类别c(0或1)时,递归终止,生成叶节点并将其标记为C类别;否则,对每个连续型属性A,(1f6),选取最佳分割阈值ti(1f6),并计算利用该属性划分训练集r的信息增益率(公式(8);新建分枝节点,选取信息增益率最大的属性A。作为该节点的测试属性,将丁划分成两个子集TI=似。气和乃=印。气),分别递归构造子树此外,为了消除噪声和孤立点等因素的影响,还需对决策树进行剪枝处理:一p(C=0)l092(p(C=0)一p(C=1)l092(p(C=1)+pc4,c=。,。g:(兰量瓣+pc4t。,C=0)xl092(锵卜4ti,C=1)xlog:【错j鲫n删加2_云
限制150内