一种基于域名可读性及域名解析行为的可疑性检测方法

文档序号:10473689阅读:410来源:国知局
一种基于域名可读性及域名解析行为的可疑性检测方法
【专利摘要】本发明公开了一种基于域名可读性及域名解析行为的可疑性检测方法,本方法是基于DNS访问日志检测出攻击活动中使用的域名。本发明方法首先从DNS访问日志中提取出域名字段,然后依据13维特征向量对域名字段可读性特征进行提取,并采用C4.5的生成算法对特征向量进行检测,得到可疑域名,最后对可疑域名解析行为进行检测,得到恶意域名。在本发明中,在域名可读性检测时引入对拼音域名的检测,从而降低对中文拼音域名检测的误报;但是会有大量的拼音或单词首字母组合的域名被误报为可疑域名,为了降低对该域名类型的误报率,对可疑域名再进行解析行为的再检测,最终获得DNS查询日志中参与攻击活动的域名。
【专利说明】
-种基于域名可读性及域名解析行为的可疑性检测方法
技术领域
[0001] 本发明设及一种基于域名的检测方法,更特别地说,是指一种基于域名可读性及 域名解析行为的可疑性检测方法,本发明方法是基于域名系统(DNS,Domain name server) 访问日志检测出攻击活动中使用的域名。
【背景技术】
[0002] 当今社会互联网在人类的工作、生活和学习中扮演着重要的角色。然而,随着互联 网技术的发展,W木马、蠕虫、间碟和僵尸网络为代表的恶意软件日益猎獄,对公民隐私、社 会经济和国家安全构成严重的威胁。运些恶意软件通常会依赖于网络中的基础设施一一域 名解析系统来实施恶意活动,攻击者也正是利用域名来管理恶意软件之间的通信,W便发 起攻击和隐藏自己。每天有几百万的域名注册,然而运其中有些域名设及到恶意活动。由于 域名的数量相当大,所W靠人工检测运些域名是否合法是不现实的。合法的域名通常是由 英文单词、拼音或有意义的字母序列组成,并且容易被人类理解和记忆;而恶意域名通常随 机产生,不包含有意义的单词或者可读性较差,并且与正常域名中字母的分布规律也不尽 相同。正常域名与恶意活动中使用的域名也有很大差异。
[0003] 在各类恶意软件中,僵尸网络(Botnet)对互联网的运行构成最大的威胁。僵尸网 络是攻击者利用命令和控制(C&C,Command and Control)信道组织起来的大量受控主机, 常被用于发起分布式拒绝服务(DDoS)攻击,或者大量发送垃圾信息。僵尸网络是异常域名 产生的重灾区,通常会利用域名生成算法产生大量的域名,从中选取合适的域名作为僵尸 节点和控制器通信的域名。
[0004] 域名系统DNS是网络基础设施的关键部分,主要用来做域名与IP间的转换。目前对 可疑域名的检测主要有通过域名白名单的检测、基于域名字符分布规律的检测W及基于行 为的检测。随着攻击者技术的提高,其可W劫持一个域名在其下生成一些子域名来实施攻 击活动,很好的绕过了域名白名单的检测。
[0005] 通过域名的字符分布规律来检测可疑域名方法中也存在一些问题,可疑域名检测 方法中采用的标签数据集,白名单多数采用Alexa网站上公布的top 10万的域名,恶意的域 名采用安全公司或者一些安全类网站上公布的黑名单,白名单中域名一般是由英文单词组 成,而算法生成的域名可能是随机字符串或者类似英文单词的域名。采用标签数据集训练 出的分类器对域名进行分类。

【发明内容】

[0006] 为了解决现有恶意域名检测方法中存在对正常的拼音和/或单词首字母组合域名 的误报,本发明提出了一种基于域名可读性及域名解析行为的可疑性检测方法。本发明方 法是基于DNS访问日志检测出攻击活动中使用的域名。该发明主要从域名的可读性和DNS解 析行为两个方面进行检测。对于域名可读性方面检测除了使用赌、长度W及字符出现频率 的特征外首次加入了域名是否为拼音的特征,目前现有的域名可读性检测主要是识别域名 是否为英文单词组合来判断,运导致将大量的中文全拼域名误报为可疑域名,加入拼音可 读性检测后能够降低对拼音域名的误报率。本发明对通过字符分布及可读性检测出的可疑 域名进行行为检测。运样做的优点不用对每一个域名进行行为检测,减少计算量。
[0007] 在本发明中,现在很多网络设备都使用白名单对域名进行过滤,但是有很多黑客 去劫持一些正常域名,并在其下面产生随机的子域名进行攻击活动,运将会导致白名单失 效;所W本发明不仅对域名的二级域进行可读性检测,也会对域名中的主机名进行可读性 检测,运可避免绕过白名单的恶意域名。
[0008] 本发明是一种基于域名可读性及域名解析行为的可疑性检测方法,其特征在于包 括有下列步骤:
[0009] 第一步:域名集合提取;
[0010] 到域名;
[0011]
[001。 巧^少:巧)^石叫吸-|王'巧化:化巧C;
[0013] 步骤2-1,从域名集合辑。"。;。1^^。1。。中提取出所有域名字段〇〇111日111化1116的主机名 Host Name,构成主机名集
[0014] 从域名集合巧。胃bjjantt中提取出所有域名字段Domain Name的二级域SLD (second-level domain),构成二级域集 ;
[0017] 步骤2-2,依据 13维特征向量X二{X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13}X^ AALt伽M中的各个元素进行主机名特征向量提取,得到可读性主机名向量集
[0015] }
[0016] I
[001引依据13维特征向量乂={对,抵,枯,材,枯,祐,巧,颗,枯,祖日,祉,对2,祖3}对88<!^1^中的各个元 素进行二级域特征向量提取,得到可读性二级域向量i
[0019] 第=步:可读性检测;
志的域名字段中主机名和二级域的可读性数字量化,即赋值为[0,1],"〇"为可读,"r为不 可读;
[0021] 第四步,检测可疑域名;
[0022] 将DNS que巧IogT= Uogi, l〇g2,…,logn}中含有可疑主域名的所有DNS查询日志 提取出来,然后对可疑主域名W任意一天中间隔为1秒进行域名访问量计算,最后采用切比 雪夫不等式来判断访问次数是否属于正常的访问次数区间,从而结束对DNS查询日志的可 疑检测。
[0023] 本发明方法的优点在于:
[0024] ①本发明方法对DNS查询日志中的域名字段采用域名的可读性及域名的解析行为 来判断域名是否为恶意域名,能够降低对拼音或单词首字母组合域名的检测的误报率,并 发现参与恶意活动的域名。
[0025] ②本发明对域名字符串的可读性进行检测时采用有监督的C4.5生成算法检测,并 且引入对拼音域名的可读性检测,运有别于现有域名的检测方法。
[0026] ③本发明对域名的解析行为检测采用了切比雪夫不等式对域名每分钟的访问量 进行检测,有利于发现有异常行为的域名。
[0027] ④本发明方法能够对主机名和主域名进行检测,可W有效弥补域名白名单检测方 法的缺陷,能够检测出绕过白名单的域名。
[00%]⑤经本发明方法检测出的恶意域名传送给DNS服务器,DNS服务器可W中断对恶意 域名的解析,从而减轻或终止恶意攻击活动。
【附图说明】
[0029] 图1是DNS服务器与运行S孤RB模型的计算机的连接示意图。
[0030] 图2是本发明基于域名可读性及域名解析行为的可疑性检测方法的流程图。
[0031] 图3是提取出的13维域名可读性特征向量列表图。
[0032] 图4是可疑域名每分钟查询次数的表征图。
[0033] 图5是正常域名每分钟查询次数的表征图。
【具体实施方式】
[0034] 下面将结合附图和实施例对本发明做进一步的详细说明。
[0035] 参见图1所示,DNS服务器将DNS查询日志输出给计算机,DNS查询日志在计算机中 依据S孤RB模型进行处理,输出恶意域名给DNS服务器。DNS服务器相应的对恶意域名进行屏 蔽。DNS服务器和计算机是一种能够按照事先存储的程序,自动、高速地进行大量数值计算 和各种信息处理的现代化智能电子设备。计算机最低配置为CPU 2GHz,内存2GB,硬盘 180GB;操作系统为windows2000/2003/XP及W上版本。
[0036] 被检测对象
[0037] 本发明方法是对DNS运营商的DNS查询日志进行分析,检测DNS查询日志中是否有 攻击活动和参与攻击活动的域名。将DNS运营商的运行时间记为T,一个T内存在有m个天数 day,-天可W分了多个时间段,运行时间的集合形式记为T= {dayi,days,…,daym}。一个T 内存在有n条DNS查询日志记录,所有DNS查询日志的集合形式记为DNS query IogT= {Iogi, l〇g2,…,logn}。任意一条DNS查询日志Iogn中包括的元素记文
[0038] dayi表示运行时间T内的第一天;
[0039] days表示运行时间T内的第二天;
[0040] daym表示运行时间T内的第m天,为了方便说明,所述daym也称为任意一天;任意一 天daym中至少包含有3个时间段。
[0041] Iogi表示第一条DNS查询日志;
[0042] log2表示第二条DNS查询日志;
[0043] Iogn表示第n条DNS查询日志,为了方便说明,所述Iogn也称为任意一条DNS查询日 志;
[0044] Src IP表示源IP地址;
[0045] DNS Server IP表示DNS服务器的IP地址;
[0046] Response IP表示应答的IP地址;
[0047] Domain Name表示域名字段;
[004引 Request type表示查询类型;
[0049] TTL value表示生存时间;
[00加]Time stamp表示时间戳,格式为YYYY年MM月孤日时分秒。
[0051 ] 在本发明中,域名字段Domain Name中包含有主机名、L级域、级域、……、二级 域、顶级域。其中二级域与顶级域构成主域名,记为MDN。
[0052]例如 DNS 查询日志:196. 168. 1 . 10 218.85. 157.99www.baidu.com a 218.85.148.250 128YYYY 年 MM 月DD 日 100036;其中,"196.168.1. 10"为源IP 地址、 "218.85.157.99"为DNS服务器的IP地址、"WWW. baidu. com"为域名字段、V'为查询类型、 "218.85.148.250"为应答的IP地址、"12沪为生存时间、叮YYY年MM月DD日10003护为时间 戳。"baidu"为域名字段中的二级域,"WWW"为域名字段中的主机名,"baidu.com"为主域名。 [005;3]例如 DNS 查询日志:196.168.1.10 218.85.157.99cwc.buaa.edu.cn a 218.85.148.250 128YYYY 年 MM 月DD 日 083106;其中,"196.168.1. 10"为源IP 地址、 "218.85.157.9沪为DNS服务器的IP地址、"CWC. buaa. edu. cn"为域名字段、V'为查询类型、 "218.85.148.250"为应答的IP地址、"12沪为生存时间、叮YYY年MM月DD日08310护为时间 戳。"buaa"为域名字段中的二级域,"CWC"为域名字段中的主机名,"buaa. edu. cn"为主域 名。
[0化4]例如DNS查询日志:196.168.1.10218.85.157.99noc化fguiwxlz.WWW.hncgj. gov. cn a 218.85.148.250 128YYYY 年 MM 月 DD 日 180048;其中,"196.168. I . 10"为源IP 地址、 "218.85.157.99"为DNS服务器的IP地址、"noc化fguiwxlz . www.hncgj . gov. cn"为域名字 段、V为查询类型、"218.85.148.250"为应答的IP地址、"12沪为生存时间、"YYYY年MM月孤 日180048"为时间戳。"hncgj"为域名字段中的二级域,"WW"为域名字段中的S级域, "noc化fguiwxlz"为域名字段中的主机名,"hncg j . gov. cn"为主域名。
[0055] 被检测对象的特征表示
[0056] 对于域名可读性检测采用的特征如表1所示。
[0057] 表1域名可读性检测的特征 [0化引
[0059] 在本发明中,将表1中的"特征名称"组成一个13维特征向量,即X={X1,X2,X3,X4, X已,X6 , X7 , X8 ,抽,Xio , Xll, X12 , X13 }。
[0060] Xi的计算请参考清华大学出版社2012年3月第1版,李航著《统计学习方法》第60 页。即字符串的概率分布为字符串中任意一字符出现的频率;
[0061 ] X2的计算为字符串的长度,如字符串"baidu"中字符总数为5,则长度为5;
[0062] X3的计算为字符串中元音字母的个数除W字符串的长度,如字符串"baidu"中元 音字母的比例为3除W5;
[0063] X4的计算为字符串中数字的个数除W字符串的长度,如字符串"amdc517"中数字 的比例为3除W7;
[0064] X日计算为字符串中重复出现的字符数除W字符串的长度,如字符串"buaaxue"中 重复字符的比例为4除W7;
[0065] X6是采用马尔可夫模型计算出基于英文语料的随机矩阵的转移概率Penglish和基于 拼音语料的随机矩阵的转移概率Ppinyin,并判断是否有语义特征;请参考电子工业出版社 2005年1月第1版,ChriSto地er D.Manning等著,苑春法等译《统计自然语言处理基础》第 200页;若Penglish> 0english表明是英文单词的组合,若Ppinyin〉0pinyin表明是拼音的组合,两个 条件有一个成立,则认为字符串是有语义的。0english是区别英文单词组合和非英文单词组 合的边界值,运是由英文语料训练所得;0pinyin是区别拼音组合和非拼音组合的边界值,运 是由拼音语料训练所得;若Penglish含目english并且Ppinyin含目Pinyin则认为字符串是没有语义的。
[0066] X7是采用马尔可夫模型计算出字符串的转移概率,请参考电子工业出版社2005年 1月第1版,化ristopher D.Manning等著,苑春法等译《统计自然语言处理基础》第200页。马 尔科夫模型中的随机矩阵是由域名白名单统计所得;
[0067] X8的计算为每个字母出现频率的平均值;
[0068] X9的计算为每相邻两个字母出现频率的平均值;
[0069] Xio的计算为每相邻=个字母出现频率的平均值;
[0070] Xii的计算为每个字母出现频率的标准差;
[0071 ] X12的计算为每相邻两个字母出现频率的标准差;
[0072] X13的计算为每相邻=个字母出现频率的标准差。
[0073] 参见图2所示,本发明是一种基于域名可读性及域名解析行为的可疑性检测方法 (简称为S孤RB模型),所述S孤RB模型运行在计算机中,本发明方法包括有下列步骤:
[0074] 第一步:域名集合提取;
[00巧]从DNS queiT IogT= Uogi, l〇g2,, logn}中提取出所有域名字段Domain 化me, 得到域名集合。
[0076]
[0077] 在本发明中,是W "域名字段"作为捜索运行时间T内的DNS查询日志的被检对象, 运样有利于针对特定的被检对象进行提取所需处理的对象。也充分体现了本发明方法是针 对拼音和/或单词首字母组合域名进行的。
[0078] 第二步:域名可读性特征提取;
[0079] 步骤2-1,从域名集合8;^胃。1。^1。。中提取出所有域名字段0〇111曰111化1116的主机名 Host Name,构成主机名集AAName;
[0080] 从域名集合中提取出所有域名字段Dom曰in Name的二级域SLD(second-Ievel domain),构成二级域集投B;ld;
[0083] 步骤2-2,依据 13维特征向量X= { Xl , X2,X3,X4,X5,X6,X7,X8,X9,Xio,Xll,X12,X13 }对 AAjfost Mume中自勺各个元素进行±机名特征向量提取,得到可读'性±机名向量集
[0081]
[0082]
[0084] 依据 13维特征向量X = { Xl , X2 , X3 , X4 , M , X6 , X7 , X8 , X9 , Xio , Xll , X12 , X13 }对BB立D 中的 各个元素进行二级域特征向量提取,得到可读性二级域向量集6语。=^{\'抵1,V庶v-,V^};
[0085] 在本发明中,对特征向量的提取具体地为:
[0086] 依据13维特征向量X= {义1,义2,义3,义4,义5,义6,义7,义8,义9,义1〇,义11,义12,义13}对肪31 胃。进行特征向量提取,得到第一条DNS查询曰志Iogl中域名的主机名向量,记 为第一条可读性主机名向量\^。昔^。胃。
[0087] 依据 13维特征向量X= {xl,X2,X3,X4,X5,X6,X7,X8,X9,Xl0,Xll,Xl2,Xl3}对Host Name;^忘。。W。。,。进行特征向量提取,得到第二条DNS掛旬曰志l〇g2中域名的主机名向量,记 为第二条可读性主机名向量。
[008引依据13维特征向量X= {义1,义2,义3,义4,义5,义6,义7,义8,义9,义10,义11,义12,义13}对肪31 Nameg;;ghMame进行特征向量提取,得到第n条DNS查询曰志Iogn中域名的主机名向量,记 为第n条可读性主机名向量VtS 。
[0089] 步骤2-3,依据 13维特征向量X= { Xl , X2,X3,X4,X5,X6,X7,X8,X9,Xio , Xll , X12,X13 }对 SLD;3°S^>j。,。。进行特征向量提取,得到第一条DNS查询曰志Iogi中域名的二级域向量,记为 第一条可读性二级域向量\4君。
[0090] 依据13维特征向量X= {义1,义2,义3,义4,义5,义6,义7,义8,义9,义1〇,义11,义12,义13}对 SLD;3°^^ihw。,。。进行特征向量提取,得到第二条DNS查询曰志l〇g2中域名的二级域向量,记为 第二条可读性二级域向量^?g。
[0091 ] 依据13维特征向量X= {义1,义2,义3,义4,义5,义6,义7,义8,义9,义10,义11,义12,义13}对 SLDj^Df;胃Ww"e进行特征向量提取,得到第n条DNS掛旬曰志Iogn中域名的二级域向量,记为 第n条可读性二级域向量Vgl。
[0092] 第S步:可读性检测;
[0093] 在本发明中,采用C4.5的生成算法对

巧行同一条DNS查询日志配对检测,得到同一条DNS查询 日志的域名字段中主机名和二级域的可读性数字量化,即赋值为[0,1],"〇"为可读,"r为 不可读;不可读的域名字段被称为可疑域名。
[0094] 在本发明中,对域名字段中主机名和二级域的可读性[0,1]判断具体地为:
[00M]步骤3-1,采用C4.5的生成算法对和ViS进行检测,得到域名字段中主机 名和二级域的可读性[0,1 ];若赋值为0且窓赋值为0,则DomainName^gi为可 读,即DomainName^gi为正常域名;
[0096]若Vi篇Wame赋值为0且V遮赋值为1,则DomainNameiGgi为不可读,即Domain NameI心为可疑域名,记为s_D〇mainNamekgi;
[0097]若Vi°。^ W。胃赋值为I且赋值为0,则DomainNamel啤为不可读,即Domain NameiWi为可疑域名,记为s_D〇mainNa四e^gi;
[009引若\^。肯^胃赋值为1且¥盛赋值为1,则00111日111风畑161°&为不可读,即00111日王11 NameiGgi为可疑域名,记为S_D0mainNamekgi。
[0099] 采用C4.5的生成算法对和进行检测,得到域名字段中主机名和二级 域的可读性[0,1 ];若Vji;^赋值为0且武值为0,则Domain种ame&g2为可读,即 DomainNamei°&为正常域名;
[0100] 若V;1°直Swame赋值为0且Vfi):赋值为1,则DomainName贿为不可读,即Domain .Name^g2为可疑域名,记为S_D〇mainNamebg:
[0101] 若V^t 赋值为1且赋值为0,则Domain Namehg:为不可读,即Domain Name^g。为可疑域名,记为s_D〇mainl%mebg2 J
[0102] 若Wame赋值为1且V盛赋值为1,则D oma i n Name^g:为不可读,即Domain Name^g2为可疑域名,记为S_D〇mainHamei°g 2。
[0103] 采用C4.5的生成算法对和VgtS;'进行检测,得到域名字段中主机名和二 级域的可读性[0,1 ];若赋值为0且赋值为0,则Domain Name^g。为可读,即 DomainNamek^为正常域名;
[0104] 若Wffiie赋值为0且赋值为1,则Doma i n Name^g。为不可读,即0〇111日111 Name^g。为可疑域名,记为 s_D〇ma i n Namei°g*v;
[010引若J^。,。。赋值为1且赋值为0,则DomainName^s"为不可读,即Doma in 內注拍.日心。为可疑域名,记为5_00111曰;[]1]^]3.姐61°8。;:
[0106] 赋值为1且Vft赋值为1,则DomainName^g。为不可读,即Domain Name^g。.为可疑域名,记为S_D〇mainNamei°g。。
[0107] 步骤3-2,从5_0〇111日111^汪姐61哨中提取出主域名,记为S_MDNi0gi ;;^S_Domain Name心中提取出主域名,记为S_MDNi°g-' ^S_D〇mainNamebg。中提取出主域名,记为 S_MDN峰。;将可疑域名的主域名用集合形式表达为S_SMDN=^(S_MDN咕,S_MD.N咕V'.,S_M;DNbg。!。
司的主域名,则相 只保留一份,将 :{S_MD 化,S_MD 化, L,S_MDNg},S_MD化表示第一个可疑的主域名,S_MD化表示第二个可疑的主域名,S_MDNg表示 第g个可疑的主域名,也称为任意一个可疑的主域名。
[0108] 在本发明中,对域名字段中主机名和二级域的可读性采用二进制表示为,可读记 为0,不可读记为1。
[0109] C4.5的生成算法请参考清华大学出版社2012年3月第1版,李航著《统计学习方法》 第65页。在本发明中,"C4.5的生成算法"的训练数据集是指正常域名的白名单和恶意域名 的黑名单按照X = { Xl, X2,X3,X4,肚,X6,X7,X8,X9,Xio , Xll, X12,X13 }处理后的特征向量集。
[0110] 第四步,检测可疑域名;
[0111]在本发明中,将DNS query IogT= Uogi, l〇g2,.'',logn}中含有可疑主域名的所有 DNS查询日志提取出来,然后对可疑主域名W任意一天中间隔为1秒进行域名访问量计算, 最后采用切比雪夫不等式来判断访问次数是否属于正常的访问次数区间,从而结束对DNS 查询日志的可疑检测。具体地:
[0112] 步骤 4-1,将 DNS que 巧 logT=U〇gi,l〇g2,...,logn}中含有 S_MD 化的所有 DNS 查询 日志提取出来,记为含有S_MD化的可疑日志集看
[0113] Al表示含有5_10化的第一条DNS查询日志;
[0114] A2表示含有5_10化的第二条DNS查询日志;
[0115] Aa表示含有5_10化的第a条DNS查询日志,也称为最后一条DNS查询日志;
[0116] 在本发明中,将DNS query IogT= Uogi Jo趴...JoeU由含有S MDNq的所有DNS查 询日志提取出来,记为含有S_MD化的可疑日志集省:;
[0117] Bi表示含有5_10化的第一条DNS查询日志;
[011引 B2表示含有5_10化的第二条DNS查询日志;
[0119] 化表示含有S_MD化的第b条DNS查询日志,也称为最后一条DNS查询日志;
[0120] 在本发明中,将DNS query IogT= Uogi,1〇的,…,1〇扣}中含有S MDNg的所有DNS查 询日志提取出来,记为含有S_MDNg的可疑日志集^
;
[0121] Cl表示含有5_10成的第一条DNS查询日志;
[0122] C2表示含有5_10成的第二条DNS查询日志;
[0123] C。表示含有5_10成的第C条DNS查询日志,也称为最后一条DNS查询日志;
[0124] 步骤4-2, W任意一天山 ,并Wl分钟为间隔进行 域名访问量计算,获得基^ 每分钟的访问次数 CoimtS--LS^胃1鱗后采用切比雪夫不等式对。。,…卢_15胃1进行检测,得到厂。IinfS 是 否属于正常的访问次数区间
接-胃1为第i个时间段内主域名的每分钟访问量的平均值,皆MDMi为第i个时间段内主域名 的每分钟访问量的标准差;i为daym中时间段的标识号,i的取值至少为3个时间段;
[0125] 若Courts I.'胃I属于正常的访问次数区间内,则S_MD化为正常,赋值为0;
[0126] 若C0uiltS-LS-M?i不属于正常的访问次数区间内,则S_MD化为恶意的域名,赋值为1。
CoimtS-LS-然后采用切tt雪夫不等式对 cauntS-LS-行检测,得到Comits-Ls-是
[0127] 在本发明中,W任意一天da ,并Wl分钟为间隔进 行域名访问量计算,获得基于 t分钟的访问次数
否属于正常的访问次数区I'目 .,:乂 S-胃吻第i个时间段内主域名的每分钟访问量的平均值,耐-MDK嘴第i个时间段内主域名 的每分钟访问量的标准差;i为daym中时间段的标识号,i的取值至少为3个时间段;[012引若CwmtS-LS-属于正常的访问次数区间内,则S_MD化为正常,赋值为0;[0129] 若仇umSL'w\^不属于正常的访问次数区间内,则S_MDN2为恶意的域名,赋值为1。
[0130] 在本发明中,W任意一天 ,并Wl分钟为间隔进 行域名访问量计算,获得基3 專分钟的访问次数C〇imt'S-LS-胃%然后采用切比雪夫不等式对TnimtS-LS-MWe进行检测,得到rni,ntS_LS-"?e是
否属于正常的访问次数区 . ,. 乂S-MDW巧第i个时间段内主域名的每分钟访问量的平均值,"巧第i个时间段内主域名 的每分钟访问量的标准差;i为daym中时间段的标识号,i的取值至少为3个时间段;
[0131] 若?^胃g属于正常的访问次数区间内,则S_MDNg为正常,赋值为0;
[om]若CauiitS L>-胃8不属于正常的访问次数区间内,则s_MDNg为恶意的域名,赋值为1。 [。。引实施例1
[0134] 原始DNS查询日志的格式参考表2。表2中编号为1、2、3、4、5、6、8、13和15中主域名 为拼音组合;编号为7、9、10、11和12中主域名为英文单词组合;编号16、17、18、19、20、21、22 和23中二级域为汉语拼音首字母组合(陕西管理职业学院:WWW. SXgky巧.com. cn,淮南市 城管局:WWW. hncg j . gov. cn,黑龙江交警网:WWW. hi j j j . gov. cn),主机名为随机字符串;编 号为26和27中域名为英文单词首字母组合(WWW .ccf.org.cn:china computer federation,WWW.ieee.org:Institute of Electrical and Electronic Engineers);编 号为14中的域名hqu为拼音首字母和英文单词首字母组合化ua qiao university)。
[0135] 表2为原始的DNS查询日志,当特征向量X6中未加入拼音语料进行检测时,编号I、 2、3、4、8、13和15被检测为可疑的域名,如表3所示。而加入拼音语料后1、2、3、4和15被检测 为正常域名,而8、13和15被检测为可疑域名,如表4所示;说明加入拼音语料确实可W降低 对域名的误报,但不能避免误报。表5为对域名可读性检测出可疑的域名进一步做解析行为 检测后所得到的恶意域名所对应的DNS查询日志。
[0136] 本发明方法利用域名可读性分类器检测出域名特征,对26000多个域名检测,有 900多个域名被检测为不可读域名。部分检测结果如图3所示。
[0137] 在实施例1中解析行为主要是指每分钟请求域名的次数,对第一步检测为可疑的 域名进行解析行为特征的检测。正常的域名每天的解析行为比较相似,而木马通信使用的 随机生成域名的解析行为比较异常,可能会有突发性的DNS请求或者仅有一次请求之后便 不再使用。采用切比雪夫不等式检测突发性的域名请求,切比雪夫不等式中的平均值表示 某域名每分钟的请求次数,方差表示一段时间内,域名请求次数的波动情况。为了更精确的 表示域名解析行为的模式,将一天分为=个时间段分别训练每个时间段平均值y和方差〇 2, 并且阔值a(经验值设为0.05)。判断域名每分钟的访问量是否在给定的区间中,若在区间内 则判定该域名的解析行为正常,否则判定域名为可疑域名。
[013引参见图4、图5所示,对YYYY年MM月DD日的2604066条DNS日志进行了检测,检测出 938个不可读主域名,进一步对解析行为分析,检测出一个解析行为异常的域名 hncgj.gov.cn(即淮南城管局)。统计其相邻前两天和后一天(即孤-2日、孤-1日、DD日、孤+1 日)的DNS请求次数如图4(横轴表示从零点开始到24点共1440分钟,纵轴表示为每分钟的访 问量)所示,发现除了 DD日11时到16时的域名请求量较大外,其它时间访问量很小。正常的 域名解析行为模式如图5所示:在00:00~08:00期间访问量较小,每分钟的请求次数在20左 右;08:00~16:00时间段内每分钟的请求次数在100左右;16:00~24:00间每分钟的访问次 数在40次左右。
[0139] 提取了含有hncgj.gov.cn的所有DNS查询日志的域名,发现该主域名(即 hncgj .gov.cn)下生成了大量的子域名,如下表所示:hncgj .gov.cn是正常的有备案的域 名,但是其子域名被用来实施攻击活动。
[0140]
[0141]
[0142] 本发明是基于DNS访问日志检测出网络中的攻击活动。该发明主要从域名的字符 分布规律及可读性和DNS解析行为两个方面进行检测。1)对于域名可读性方面的检测除了 使用赌、长度W及字符出现频率的特征外首次加入了域名是否拼音的特征,目前现有的域 名可读性检测主要是识别域名是否为英文单词组合来判断,运导致将大量的中文全拼域名 误报为可疑域名,加入拼音可读性检测后降低误报率。2)现在很多安全产品都使用白名单 对域名进行过滤,但是有很多黑客去劫持一些正常域名,并在其下面产生随机的子域名进 行攻击活动,运将会导致白名单失效;所W本发明不只对域名的一级域进行字符可读性检 ,也会对域名下的最小的子域名进行字符可读性检测,运可避免绕过白名单的恶意域名。 3)对上述通过字符分布及可读性检测出的可疑域名进行行为检测,行为检测只是对可疑域 名的。运样做的优点不用对每一个域名进行行为检测,减少大量的计算。
[0143] 表2原始DNS查询日志的列表 「01441
[0145」 "a"28代巧UNS鱼巧H志的鱼巧类型。
Response iP项甲"nui厂代巧至但,列苹/ |WJ 址处为举例说明,无特定指代。表2省略了Src IP、DNS Server IP和Time stamp项的内容。
[0146]表3未加入拼音可读性时检测出的可疑DNS查询日志的列表
[0147]
[0148] 表4加入拼音可读性后检测出的可疑DNS查询日志的列表
[0149]
[0150] 巧O做倾观U m的Kl郑Ui心宜THJ 口芯>的少[]巧
【主权项】
1. 一种基于域名可读性及域名解析行为的可疑性检测方法,其特征在于包括有下列步 骤: 第一步:域名集合提取; 从 DNS query logT={logi,log2,.",logn}中提取出所有域名字段 Domain Name,得到域 O ^Domain Nanie *第二步:域名可读性特征提取; 步骤2-1,从域名集合S^mainNarae中提取出所有域名字段Domain Name的主机名Host Name,构成主机名集ΑΑ^Ν·; 从域名集合碎___中提取出所有域名字段Domain Name的二级域SLD(second-level domain),构成二级域集 BB' i:);步骤2-2,依据 13维特征向量X= {xi,X2,X3,X4,X5,X6,X7,X8,X9,XI。,Xll,X12,X13}对 中的各个元素进行t机名特征向量提取,得到可读性t机名向量集依据13维特征向量X= {叉1,叉243,叉445,叉647,叉849,叉10,叉11,叉12,叉13}对136113中的各个元素进行二级域特征向量提取,得到可读性二级域向量集 第三步:可读性检测;采用C4.5的生成算法对进行同一条DNS查询日志配对检测,得到同一条DNS查询日 志的域名字段中主机名和二级域的可读性数字量化,即赋值为[〇,1],"〇"为可读,"Γ为不 可读; 第四步,检测可疑域名; 将DNS query logT= {logi,log2,···,logn}中含有可疑主域名的所有DNS查询日志提取 出来,然后对可疑主域名以任意一天中间隔为1秒进行域名访问量计算,最后采用切比雪夫 不等式来判断访问次数是否属于正常的访问次数区间,从而结束对DNS查询日志的可疑检 测 。2. 根据权利要求1所述的一种基于域名可读性及域名解析行为的可疑性检测方法,其 特征在于对特征向量的提取具体地为: 依据 13 维特征向量 X={xi,X2,X3,X4,X5,X6,X7,X8,X9,X10,Xll,X12,X13})^H〇St 进行特征向量提取,得到第一条DNS查询日志logi中域名的主机名向量,记 为第一条可读性主机名向量vi=Name 依据 13 维特征向量 X={xi,X2,X3,X4,X5,X6,X7,X8,X9,Xl0,Xll,Xl2,Xl3})($H〇St Namej^^ainName进行特征向量提取,得到第二条DNS查询日志l〇g2中域名的主机名向量,记 为第二条可读性主机名向量V;^Name; 依据 13 维特征向量 X={xi,X2,X3,X4,X5,X6,X7,X8,X9,Xl0,Xll,Xl2,Xl3})($H〇St Name〇f^ani N_进行特征向量提取,得到第η条DNS查询日志1 〇 gn中域名的主机名向量,记 为第η条可读性主机名向量V^^N3me ; 步骤2-3,依据 13维特征向量X= {xi,X2,X3,X4,X5,X6,X7,X8,X9,XlQ,Xll,Xl2,Xl3]^t SLD^ainName进行特征向量:提取,得到第一条DNS查i旬曰志log冲±或名的二级±或向量:,记为 第一条可读性二级域向量; 依据 13维特征向量X = { XI,X2,X3,X4,X5,X6,X7,X8,X9,Χ?ο,XII,X12,X13 }对 进行特征向量提取,得到第二条DNS查询日志log2中域名的二级域向量,记为第二条可读性 二级域向量^^; 依据 13维特征向量X= {xi,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13 _LDHme: 进行特征向量提取,得到第η条DNS查询日志logn中域名的二级域向量,记为第η条可读性二 级域向量\?&。3.根据权利要求1所述的一种基于域名可读性及域名解析行为的可疑性检测方法,其 特征在于:对域名字段中主机名和二级域的可读性[〇,1]判断具体地为: 步骤3-1,采用C4.5的生成算法对Ν_和¥@.进行检测,得到域名字段中主机名和 二级域的可读性[〇,1 ];若Name赋值为0且vg赋值为0,则Domain Name1%为可读, 即.Domain Name1,为正常域名; 若NamJ武值为0且赋值为1,则DomainName1%1为不可读,即Domain Narne^1 为可疑域名,记为S_Domain Name1#1 若赋值为1且V;S赋值为〇,则Etomdn Naine1%为不可读,即Domain Name1%1 为可疑域名,记为SJDornain Namek>g| ; 若 V]^tN_ 赋值为 1 且 赋值为 1,则Eiorndn Namelc>gl 为不可读,即 I)OTiaiii Name1<3gl 为可疑域名,记为S_Domain Namek>g| ; 采用C4.5的生成算法对进行检测,得到域名字段中主机名和二级 域的可读性[ο,1 ];若Name赋值为ο且Vjg赋值为ο,则Domain Name11582为可读,即 Domain Name1#:为正常域名; 若¥為_ 赋值为〇且 Vg 赋值为 1,则_?){).ηι?ι 不可读,即 Domain. Nam.el0g2_ 为可疑域名,记为S_E)omain Nameli>y:; 若 vi^SNmw 赋值为 1 且'赋值为0,则 Domain Namelf>g2 为不可读,即 Domain Name1<>g2 为可疑域名,记为S_Domain Name1(>g2_ 若Name赋值为1且赋值为1,则Domain Nametog_2为不可读,即Domain Name1% 为可疑域名,记为S_Domain Name1。」; 采用C4.5的生成算法对V;^Name和\^1;进行检测,得到域名字段中主机名和二级域的 可读性[〇,1 ];若N_赋值为0且VtgD"赋值为0,则Domain Name1%为可读,即 Domain Namelt>gl^正常域名; 若ViSiime赋值为0且赋值为1,则Domain Name1%为不可读,即Domain NamelGgn 为可疑域名,记为S_D_omain Name1% ; 若赋值为1且Vj;-赋值为〇,则Domam Namelflg*^不可读,即Domain Name^ 为可疑域名,记为S_Domain Name1% ; 若 Vid !}_;赋值为1 且 V^n 赋值为 1,则 Domain ifemel0£_n 为不可读,即 Domain Name1%11 为可疑域名,记为S_Domain Namek>y『_ ; 步骤3-2,US_Domain Namek>gi 中提取出主域名,记为S_MI3Nlegi;从S_Domain Name1% 中提取出主域名,记为S+MDN1%2;从S_Etomain Namelag。中提取出主域名,记为 S+MDN1% ;将可疑域名的主域名用集合形式表达为S_SMDN=|S_MDN'S_MDN气…,S_MDNil^ ; SS_SMD:N={s_MD:Ni('gl J+MDNWv-vS+MDN1^ j中存在有相同的主域名,则相同 主域名在 S_SMDN^S_MDN1<5gl SJVIDN%,"'SJVIDN^j 中只保留一份,将 S_SMDN={s_MDNtog) 'S-MDN】1'..,,S_MD:Nto& }更改为S_SMDN= {S_MD~,S_MDN2, L,S_MDNg},S_MDNi表示第一个可疑的主域名,S_MDN2表示第二个可疑的主域名,S_MDNg表示 第g个可疑的主域名,也称为任意一个可疑的主域名。4.根据权利要求1所述的一种基于域名可读性及域名解析行为的可疑性检测方法,其 特征在于:可疑域名被检测出的步骤为: 步骤4-1,将DNS query logT= {logl,log2,…,logn}中含有S_MDN^所有DNS查询日志 提取出来,记为含有S_MDNi的可疑日志集合8_15-MI)Nl = {,A2,· · ·,Α^; Ai表示含有3_1?沁的第一条DNS查询日志; A2表示含有3_1?沁的第二条DNS查询日志; Aa表示含有3_1?沁的第a条DNS查询日志,也称为最后一条DNS查询日志; 将DNS query logT = {logl,log2,…,logn}中含有S_MDN2的所有DNS查询日志提取出来, 记为含有3_1?吣的可疑日志集合S_Ls-MDNz = ,B2,…,;; Bi表示含有3_1?吣的第一条DNS查询日志; B2表示含有3_1?吣的第二条DNS查询日志; Bb表示含有3_1?吣的第b条DNS查询日志,也称为最后一条DNS查询日志; 将DNS query logT = {logl,log2,…,logn}中含有S_MDN^所有DNS查询日志提取出来, 记为含WS_MDN^可疑曰志集合S_LS-,C2,…,Ce}; &表示含有3_1?心的第一条DNS查询日志; C2表示含有3_1?心的第二条DNS查询日志; C。表示含的第c条DNS查询日志,也称为最后一条DNS查询日志; 步骤4-2,以任意一天day^S_LS-MDNl=ph,A2,…,A H},并以1分钟为间隔进行域名 访问量计算,获得基于8_1^-¥01^=^1.,灰2:,_",八 (?1的每分钟的访问次数(^()11111^1·;. 然后采用切比雪夫不等式对进行检测,得到Gc)unts-LSLMDNl是否属于正常的访时间段内主域名的每分钟访问量的平均值,of-MDN'为第i个时间段内主域名的每分钟访问 量的标准差;i为daym中时间段的标识号,i的取值至少为3个时间段;^Gounts-lS>Wl 1? ? , MS.MDNi^iHS , ; .//厂^为第冲 , 若amms lS MDNl不属于正常的访问次数区间内,则s」?Νι为恶意的域名,赋值为1; 以任意一天(1&5^的8_1^1^=>1,:8 2,-3^,并以1分钟为间隔进行域名访问量计 算,获得基于,…3?^的每分钟的访问次数Count8 l:M_~;然后采用切 比雪夫不等式对进行检测,得到是否属于正常的访问次数区间主域名的每分钟访问量的平均值,W-MD&为第i个时间段内主域名的每分钟访问量的标准 差;i为daym中时间段的标识号,i的取值至少为3个时间段; .^―_2为第i个时间段内 , 若^ 属于正常的访问次数区间内,则S_MDN2为正常,赋值为0; 老?οιιηΓ丨5」麵2不属f 1常白勺访丨句次数K丨、司内,则S_MDN2^/I;t白勺域$,赋值为1; 以任意一天(^屬8_1^1^={€:1,€:2,~,(^,并以1分钟为间隔进行域名访问量计 算,获得基于,…,的每分钟的访问次数Gmmts』s_%然后采用切 比雪夫不等式对^^^力_g进行检测,得到否属于正常的访问次数区间.y-_g为第i个时间段内主 > 域名的每分钟访问量的平均值,为第i个时间段内主域名的每分钟访问量的标准差; i为daym中时间段的标识号,i的取值至少为3个时间段; 若C:mmts lS-MM:g属于正常的访问次数区间内,则S_MDNg为正常,赋值为0; 老Ommts-lS__s不属+1常白勺访丨句次数E丨司内,则S_ MDNg为$胃白勺域$,赋值为1。5. 根据权利要求1所述的一种基于域名可读性及域名解析行为的可疑性检测方法,其 特征在于:所述方法适用于对拼音和/或单词首字母组合的域名。6. 根据权利要求1所述的一种基于域名可读性及域名解析行为的可疑性检测方法,其 特征在于:所述方法安装在计算机中运行,且计算机与DNS服务器通过网络连接。
【文档编号】H04L29/06GK105827594SQ201610131461
【公开日】2016年8月3日
【申请日】2016年3月8日
【发明人】李巍, 李丽辉, 李云春
【申请人】北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1