CN107786575B - 一种基于dns流量的自适应恶意域名检测方法 - Google Patents
一种基于dns流量的自适应恶意域名检测方法 Download PDFInfo
- Publication number
- CN107786575B CN107786575B CN201711108716.3A CN201711108716A CN107786575B CN 107786575 B CN107786575 B CN 107786575B CN 201711108716 A CN201711108716 A CN 201711108716A CN 107786575 B CN107786575 B CN 107786575B
- Authority
- CN
- China
- Prior art keywords
- domain name
- random
- malicious
- flow
- random label
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/144—Detection or countermeasures against botnets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于DNS流量的自适应恶意域名检测方法,搜集第三方平台提供的黑白名单样本集,并依照域名结构特征列表,使用黑白名单样本集作为训练集基线,选择随机森林分类器训练域名结构检测模型;对判定为恶意的域名进行Whois查询及追踪验证;训练流量检测模型;将待检测的域名与DNS的流量数据经数据预处理后,分别作为加载的域名结构检测引擎和流量检测引擎的输入,得到预测结果;将流量检测引擎判定为恶意域名的数据集,定时更新域名结构检测引擎的训练集黑名单,形成自适应恶意域名检测模式。本发明能够快速地检测出可疑域名,并保持较低延时和可接受的准确率;能够海量数据面前检测出多种类型恶意域名,并保持较高准确率和较低误报率。
Description
技术领域
本发明涉及网络安全领域,具体是一种基于DNS流量的自适应恶意域名检测方法。
背景技术
当前,互联网技术的快速发展使得源于网络方面的安全威胁愈加突出。攻击者逐渐形成一种使用域名生成算法(Domain Generation Algorithm,DGA)技术生成的域名用于控制僵尸网络,即由恶意软件发起攻击的傀儡机器构成的网络,进而通过命令与控制服务器(Command And Control Server,C&C)向僵尸网络各节点下发命令,发起诸如DDOS、点击欺诈、垃圾邮件等网络攻击的攻击模式。
C&C服务器控制者为了既能有效控制僵尸网络又能隐藏自己,采用了诸如速变域名、DGA等技术手段规避安全软件的检测,其中DGA技术是活跃在恶意软件中的主流,它以时间、热点词汇、随机数、偏移量为种子与TLD拼接成大量域名,攻击者通过注册其中一部分并让受感染主机访问来实现对僵尸网络的控制。其检测难点在于DGA算法自身难以被逆向,且具有较强的寻址方式,并配备灵活的备用信道。
目前,恶意域名检测方法主要分为如下两类:
(1)以域名结构为主题的恶意域名检测。一种是通过构造几个量化指标采用无监督的方法划分未知域名与已知域名组之间的关系。另一种为通过引入自然语言的Word处理技术,基于词素特征、人工命名习惯特征区分恶意域名和正常域名。
(2)以流量为主题的恶意域名检测。主要思路为在收集第三方提供的样本集基础上,挖掘出恶意域名的查询与回答特性,使用机器学习的相关方法进行分类。
显然,上述的两类方法取得了一定突破,但也存在着一些不足之处:
1)已有的轻量级恶意域名检测方法,特征模型单一化,在海量数据面前准确精度较差,计算的时间、空间开销设计不合理。
2)无法解决多类型恶意域名,尤其是高级DGA域名(单词组合、拼音、首字母缩进等)的检测盲点。同时,过渡依赖于第三方平台提供的恶意域名样本,且存在恶意标示较少、可靠性差等缺陷。
3)目前,仍然没有提出一种解决方案可以在一定训练样本、模型基线基础上,实现对恶意域名的自适应动态检测的解决方案。
发明内容
本发明的目的在于提供一种基于DNS流量的自适应恶意域名检测方法,使恶意域名检测具有实时性、高准确性和自适应性,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于DNS流量的自适应恶意域名检测方法,包括如下步骤:
步骤1),搜集第三方平台提供的黑白名单样本集,并依照域名结构特征列表,使用黑白名单样本集作为训练集基线,选择随机森林分类器训练域名结构检测模型;
步骤2),提取元数据中协议为DNS的流量数据,对域名数据进行数据预处理操作,并将其作为域名结构检测模型的输入;
步骤3),使用域名结构检测模型对步骤2)中的输入进行分类,对判定为恶意的域名进行Whois查询及追踪验证;同时,抽取同一批次经验证后的恶意域名与Alexa前10万域名对应的步骤2)中的流量数据;
步骤4),依据流量特征列表,使用步骤3)得到的流量数据进行规则过滤,将处理后的结果作为训练集,选择Adaboost分类器训练流量检测模型;
步骤5),将待检测的域名与DNS的流量数据经数据预处理后,分别作为加载的域名结构检测引擎和流量检测引擎的输入,得到预测结果;
步骤6),将流量检测引擎判定为恶意域名的数据集,定时更新域名结构检测引擎的训练集黑名单,形成自适应恶意域名检测模式;并对域名结构检测引擎判定为恶意域名部分提交给其它检测模块,其它检测模块包括隐蔽通道检测与异常行为检测模块。
作为本发明进一步的方案:步骤1)中,域名结构检测模型的构建包括:
1-1,黑白名单样本集包括白名单与初始化黑名单,白名单源于开源第三方平台,所述初始化黑名单源于DGA家族算法生成及开源第三方平台;
1-2,域名结构特征列表分为两类:域名基础特征和域名高级特征;其中域名基础特征包含随机标签长度、随机标签数字比例、随机标签字母比例、随机标签重复字母比例、随机标签字符熵;域名高级特征包含随机标签连续性与分散性、随机标签的N-gram频率、随机标签的字符转换概率、随机标签布局代价。
作为本发明进一步的方案:随机标签的定位方法是使用添加No-IP和3322.org后缀之后的Public Suffix List划分出TLD,并剔除域名的前缀和TLD后的剩余部分;
随机标签数字比例是随机标签中数字0-9的个数与随机标签长度的商;
随机标签字母比例是随机标签中大小写字母a-z和A-Z的个数与随机标签长度的商;
随机标签重复字母比例是将随机标签转为小写后,a-z出现次数超过一次的字母个数之和与随机标签长度的商;
随机标签字符熵计算公式如下,设Pi表示个字符出现的次数与随机标签长度的商,domain_entropy表示随机标签字符熵:
domain_entropy=-∑Pi*log2(Pi)
随机标签连续性与分散性是随机标签连续出现辅音字母和数字的数量与随机标签长度的商;
随机标签的N-gram频率包含三个属性,即相邻单字、相邻双字、相邻三字的平均排名;根据白名单的随机标签构建相邻单字/相邻双字/相邻三字排名列表,在待检测域名按三种方式切分后,依次查找排名列表,累加求和后计算平均排名;
随机标签的字符转换概率计算步骤如下:
A1)根据白名单的随机标签集合的相邻双字构建一条马尔可夫链;
A2)提取将待检测域名的随机标签作为输入,按相邻双字划分,然后对ai到ai+1在转移矩阵匹配到的数值累乘得到结果;
随机标签布局代价计算过程如下:
B1)根据第三方平台提供的黑白样本随机标签构建一条马尔科夫链;
B2)提取将待检测域名的随机标签作为输入,根据已构建的马尔科夫链计算其字符转移概率;
B3)依据马尔可夫链,计算随机标签初始状态到终止状态的最大和最小通路;
B4)在满足一定约束条件状态下,根据最大和最小通路均值构成的阈值与字符转移概率判断布局代价是否合理。
作为本发明进一步的方案:步骤2),数据预处理操作包括对白名单、内容分发网络、域名泛解析技术域名以及TOP-N的合法域名过滤,特征向量化归一化。
作为本发明进一步的方案:步骤3)中,追踪验证是对域名结构检测模型判定为恶意的域名,使用可靠工具对已知恶意域名和其解析IP进行whois信息查询以及受控威胁服务器判定,完成修正工作。
作为本发明进一步的方案:步骤4)中,流量检测模型的构建包括:
4-1,训练集为域名结构检测模型标识的校园网真实环境下的流量数据,并根据下述特征列表进行规则过滤;
4-2,流量特征列表分为四类:流的特征、时间特征、子域名特征和其它相关特征;其中流的特征包含域名对应的数据流的上行字节数极差、上行报文数极差、下行字节数极差、下行报文数极差;时间特征包含域名对应流的最大TTL和最小TTL以及域名解析时间分布;子域名特征包含子域名长度熵和子域名数量;其它相关特征包含域名指向IP地址集大小、IP网段多样性、NXdomain返回比例、域名相邻三字平均排名。
作为本发明进一步的方案:下述特征计算的统计周期均为一小时内,并使用归约后的域名作为统计对象:
数据流的上行字节数极差是域名对应的所有数据流中上行字节数最大值之最小值的差;其与上行报文数极差、下行字节数极差、下行报文数极差计算与上行字节数极差相同;
域名解析时间分布的计算方法是将一小时分为20个时间段,取其中访问次数排在前3的总次数之和与一小时内所有访问次数做商得到;
IP网段多样性的计算过程为:
C1)统计域名解析出的所有IP,并取每个IP地址的前16位得到前缀集合;
C2)计算集合的信息熵;
NXdomain返回比例是计算某域名请求后返回为失效流量的次数与总请求次数的商;
域名相邻三字平均排名的计算区别于步骤2)中相邻三字排名的地方是,样本集更换为采集到的单词与词典的知识库。
作为本发明进一步的方案:步骤5)中,域名结构检测引擎和流量检测引擎呈并行检测模式。
作为本发明进一步的方案:步骤6)中,定时更新域名结构检测引擎的训练集黑名单是指将流量检测引擎检出的恶意域名定期更新域名结构检测引擎中的训练样本,以对不断变化的DGA域名,形成一种自适应的动态恶意域名检测机制。
与现有技术相比,本发明的有益效果是:
本发明能够在有限的时间和空间条件下,尽可能多地、快速地检测出可疑域名,并保持较低延时和可接受的准确率;能够海量数据面前检测出多种类型恶意域名,并保持较高准确率和较低误报率;能够在摆脱对第三方训练样本的彻底依赖;能够针对不断变化的恶意域名,形成一种自适应的恶意域名检测机制。
附图说明
图1为恶意域名检测的训练逻辑图;
图2为自适应恶意域名检测模型;
图3为转移矩阵与马尔可夫链关系图。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例中,一种基于DNS流量的自适应恶意域名检测方法,在实施过程中,首先按照如图1恶意域名检测的训练逻辑所示,完成结构检测引擎和流量检测引擎的初始化。(步骤1-4)在此基础上,按照图2实现自适应恶意域名检测机制(步骤5-6),可分为如下几个步骤:
步骤1:搜集第三方平台提供的黑白名单样本集,并依照域名结构特征列表,使用黑白名单样本集作为训练集基线,选择随机森林分类器训练域名结构检测模型。
初始化白名单选自Alexa,站长之家等机构提供的合法域名,初始化黑名单即恶意域名的主要来源为johannesbader.ch收集的多种DGA家族生成的恶意域名,如kraken、qakbot、murofet、padcrypt等。部分采用了abuse.ch追踪到的Zeus,SpyEye,Palveo等恶意程序的C&C域名,以及MDL、DNS-BH、CyberCrime、PhishTank、中国反网络病毒联盟等网站公开的恶意软件域名清单。
域名结构特征列表分为两类:域名基础特征和域名高级特征。其中域名基础特征包含随机标签长度、随机标签数字比例、随机标签字母比例、随机标签重复字母比例、随机标签字符熵。域名高级特征包含随机标签连续性与分散性、随机标签的N-gram频率、随机标签的字符转换概率、随机标签布局代价。
随机标签的定位方法是使用添加No-IP和3322.org后缀之后的Public SuffixList划分出TLD,并剔除域名的前缀和TLD后的剩余部分。
随机标签数字比例为随机标签中数字0-9的个数与随机标签长度的商。
随机标签字母比例为随机标签中小写字母a-z与大写字母A-Z的个数与随机标签长度的商。
随机标签重复字母比例是将随机标签转为小写后,a-z出现次数超过一次的字母个数之和与随机标签长度的商。
随机标签字符熵描述随机标签中字符出现的随机性,随机性越高熵值越高。设Pi表示各个字符出现的次数与随机标签长度的商,计算公式如下,domain_entropy表示随机标签字符熵:
domain_entropy=-∑Pi*log2(Pi)
随机标签连续性与分散性表示随机标签连续出现辅音字母和数字的比例。因为辅音字母远多于元音字母,正常域名多采用元辅音交替的形式,而DGA多以反复的辅音字母与数字交替呈现,且不会出现连续数字或相同字母。
随机标签的N-gram频率包含三个属性,即unigram(相邻单字),bigram(相邻双字),trigram(相邻三字)的平均排名。
针对unigram的平均排名计算如下:
A1)构建unigram排名列表。首先,抽取白名单的随机标签作为样本集,将样本集中各单元按相邻单字划分,统计得到各个单字出现的次数,保存为哈希表Map<String,Integer>形式并按照Integer从大到小顺序排列,其中String表示单字,Integer为其总出现次数。
A2)计算待检测域名unigram的平均排名。首先获得待检测域名的随机标签,将其按相邻单字划分后,依据unigram排名列表查找对应单字排名,并将排名进行累加计算。同时对数据进行平滑处理,如果划分的单字并未出现在unigram排名列表中,则此轮排名置为列表中包含项数加1。最终将累计计算结果与切分的单字个数做商得到unigram平均排名。
bigram,trigram与unigram计算方法相类似,区别在于使用相邻双字或相邻三字进行切分。
随机标签的字符转换概率衡量随机标签内部字符转换概率的特征。其计算步骤如下:
B1)构建转移矩阵。根据白名单随机标签的bigram训练一条马尔科夫链,即由一个状态到另一个状态的转移概率构成的矩阵描述相邻双字符出现的频率,如图3所示。并对数据进行平滑处理,其中转移概率为零的赋予一个极小的常量值。
B2)计算待检测域名的转移概率。首先获得待检测域名的随机标签,按相邻双字划分,然后对ai到ai+1在转移矩阵匹配到的数值累乘。domain_trans表示随机标签的字符转换概率,其计算公式如下:
随机标签布局代价定义为随机标签的字符到字符的布局规划是否满足人类命名习性。随机标签布局代价用dlc表示,其计算步骤如下:
C1)构造转移矩阵。根据第三方平台提供的黑白样本集的随机标签生成转移矩阵trans[m][n],其中x,y表示矩阵的行和列大小。
C2)计算待检测域名的转移概率。首先获得待检测域名的随机标签x,并计算x在根据合法域名与恶意域名样本生成的马尔可夫链上的转移概率,用prob表示。即
C3)根据trans[m][n],使用弗洛伊德算法计算x的初始状态到终止状态的最小和最大路径:min=Floyd_min(x),max=Floyd_max(x)。
C4)计算随机标签布局代价。dlc=prob>(min+max)/2。约束条件为:prob所表示的这条通路长度,其包含在马尔可夫链的所有路径中长度前5%内。
最后,引入随机森林算法训练结构模型分类器。假设训练集为D,随机森林中包含N颗决策树,每个样本的属性数为M。具体步骤如下:
1)通过并行有放回的抽取训练集D,得到N个包含a个样本的采样集合D1n={D1,D2,...,Dn}。
2)同时对D1n中的N个采样集训练N个决策树弱分类器C1n={C1,C2,...,Cn},在训练弱分类的节点时,从M个属性中随机选择log2M个属性,并从这些属性中选择最优属性特征作为决策树的左右子树划分。
3)最后,N个弱分类器投票最多的类别成为预测类别。
步骤2:提取元数据(Metadata)中协议为DNS的流量数据,对域名数据进行过滤等数据预处理操作,并将其作为域名结构检测模型的输入。
通过对误报结果的持续观察、跟踪与分析发现:由于内容分发网络等技术的兴起使得cdn域名同样具备恶意域名的特点,容易造成误报;特别地,一些用户大量访问的种子或网盘类网站,大部分使用了域名泛解析技术造成了检测错误率的攀升。针对以上情况,对抽取的Metadata类型的DNS流量进行校园网TOP-10%,新白名单过滤,将过滤后结果归一化向量化处理后作为域名结构检测模型输入。
步骤3:使用域名结构检测模型对步骤2中的输入进行分类,对判定为恶意的域名进行Whois查询及追踪验证。同时,抽取同一批次经验证后的恶意域名与Alexa前10万域名对应的步骤2中的流量数据。
其中对判定为恶意的域名,首先,使用Whois、VirusTotal及ThreatExpert提供的API编写浏览器自动化脚本的方式获取威胁分析工具的对已知恶意域名和其解析IP进行信息查询及受控威胁服务器判定,对搜索为正常域名或非威胁终端的实例分类结果进行修正。
步骤4:依据流量特征列表,使用步骤3得到的流量数据进行规则过滤,将处理后的结果作为训练集,选择Adaboost分类器训练流量检测模型。
将上述抽取同一批次经验证后的恶意域名与Alexa前10万的域名对应的流量数据,并按照下述流量特征计算后将TTL值过大、IP/16网段多样性较低的单元等进行规则过滤。最后,经过特征归一化向量化处理后的数据集作为流量检测模型的训练集与测试集。
流量特征列表分为四类:流的特征、时间特征、子域名特征和其它相关特征。其中流的特征包含域名对应的数据流的上行字节数极差、上行报文数极差、下行字节数极差、下行报文数极差。时间特征包含域名对应流的最大TTL和最小TTL以及域名解析时间分布。子域名特征包含子域名长度熵和子域名数量。其它相关特征包含域名指向IP地址集大小、IP网段多样性、NXdomain返回比例、域名相邻三字平均排名。
下述特征计算的统计周期均为一小时内,并使用归约后的域名作为统计对象:
数据流的上行字节数极差是域名对应的所有数据流中上行字节数最大值之最小值的差。其余上行报文数极差、下行字节数极差、下行报文数极差计算与上行字节数极差相同,恕不详细描述。
最大TTL和最小TTL是域名对应的所有数据流中生存周期数最大值和最小值。
域名解析时间分布描述域名短周期内被请求解析的集中度,其计算方法为将一小时分为20个时间段,用time_distribute表示域名解析时间分布,设count(ti)表示每3分钟内域名被访问的次数,取一小时中访问次数排在前3的总次数与一小时内所有访问次数做商,则
域名指向IP地址集大小是统计一小时内每条流中请求域名解析出的不相同IP集合的大小。
IP网段多样性是描述IP地址集合的离散程度,首先域名对应的IP地址中每个IP地址的前16位得到集合s,然后针对s计算信息熵。
NXdomain返回比例是指计算一小时内某域名请求后返回的DNS报文中Recode返回码为3的数量与总请求次数的商,该特征可有效挖掘出失效流量中的恶意域名。
域名相邻三字平均排名相似于trigram的计算,区别在于样本集为收集到的单词与词典构成的知识库。将其与IP和域名相关特征结合有利于识别出高级DGA域名。
最后,引入Adaboost算法训练流量检测模型分类器,假设训练集为D,初始化N个样本的权重均为1/N,即W={wj=1/N|j=1,2,...,N},训练次数为T,弱分类器数目为P,并确定基学习算法M。具体步骤如下:
1)从第一次迭代起,根据W,通过对D进行有放回的抽样产生训练集Dt。
2)在Dt基础上训练出弱分类器Ct=M(D,Dt),并使用Ct对原训练集D样本进行分类,同时计算Ct的误差值。
3)如果中间轮误差超过50%,则权值将被恢复至初始状态,并返回步骤2,否则进入步骤4。
4)根据Ct误差值确定分类器Ct的权重At,同时根据At与上一次样本分布更新样本分布W。通过不断迭代训练和权重调整,直到错误率为0或达到预设的弱分类器数目P时停止。
至此完成域名结构检测模型和流量检测模型构建。
步骤5:将待检测的域名与DNS流量经数据预处理后,分别作为加载的域名结构检测引擎和流量检测引擎的输入,得到预测结果。
将真实网络中的请求域名和DNS流量经过新白名单过滤,归一化向量化,规则过滤等数据预处理后,按照模型特征模板计算后,分别注入到引擎中做分类。此处,待检测的域名不仅仅可以选择DNS流量中的域名,也可以选择以HTTP请求中的域名等。
两检测引擎呈并行检测模式,轻量级的域名结构检测引擎经过反复优化能够在有限的资源环境和时间内,快速地、尽可能多地检测出可疑域名。流量检测引擎保证检测准确率更精准、检测出的恶意域名类型更广泛。
步骤6:将流量检测引擎判定为恶意域名的数据集,定时更新域名结构检测引擎的训练集黑名单,形成自适应恶意域名检测模式。并对域名结构检测引擎判定为恶意域名部分提交给其它检测模块,其它检测模块包括隐蔽通道检测与异常行为检测模块等。
流量检测引擎检出的恶意域名定期更新域名结构检测引擎中的训练样本,以摆脱第三方提供的黑名单不可靠性的束缚。同时,对不断变化的DGA算法,形成一种自适应的动态恶意域名检测机制。
轻量级的域名结构检测引擎能够为后续检测模块缩小检测范围(隐蔽通道检测,异常行为检测等)。最终,将两引擎检测结果进行双重确认形成完整日志。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (9)
1.一种基于DNS流量的自适应恶意域名检测方法,其特征在于,包括如下步骤:
步骤1),搜集第三方平台提供的黑白名单样本集,并依照域名结构特征列表,使用黑白名单样本集作为训练集基线,选择随机森林分类器训练域名结构检测模型;
步骤2),提取元数据中协议为DNS的流量数据,对域名数据进行数据预处理操作,并将其作为域名结构检测模型的输入;
步骤3),使用域名结构检测模型对步骤2)中的输入进行分类,对判定为恶意的域名进行Whois查询及追踪验证;同时,抽取同一批次经验证后的恶意域名与Alexa前10万域名对应的步骤2)中的流量数据;
步骤4),依据流量特征列表,使用步骤3)得到的流量数据进行规则过滤,将处理后的结果作为训练集,选择Adaboost分类器训练流量检测模型;
步骤5),将待检测的域名与DNS的流量数据经数据预处理后,分别作为加载的域名结构检测引擎和流量检测引擎的输入,得到预测结果;
步骤6),将流量检测引擎判定为恶意域名的数据集,定时更新域名结构检测引擎的训练集黑名单,形成自适应恶意域名检测模式;并对域名结构检测引擎判定为恶意域名的这部分域名全部提交给其它检测模块,其它检测模块包括隐蔽通道检测与异常行为检测模块。
2.根据权利要求1所述的基于DNS流量的自适应恶意域名检测方法,其特征在于,步骤1)中,域名结构检测模型的构建包括:
1-1,黑白名单样本集包括白名单与初始化黑名单,白名单源于开源第三方平台,所述初始化黑名单源于DGA家族算法生成及开源第三方平台;
1-2,域名结构特征列表分为两类:域名基础特征和域名高级特征;其中域名基础特征包含随机标签长度、随机标签数字比例、随机标签字母比例、随机标签重复字母比例、随机标签字符熵;域名高级特征包含随机标签连续性与分散性、随机标签的N-gram频率、随机标签的字符转换概率、随机标签布局代价。
3.根据权利要求2所述的基于DNS流量的自适应恶意域名检测方法,其特征在于,随机标签的定位方法是使用包含No-IP和3322.org所提供的后缀的Public Suffix List识别出TLD,使用TLD划分出随机标签,其中,一个域名的随机标签是指剔除该域名前缀和该域名TLD后的剩余内容;
随机标签数字比例是随机标签中数字0-9的个数与随机标签长度的商;
随机标签字母比例是随机标签中大小写字母a-z和A-Z的个数与随机标签长度的商;
随机标签重复字母比例是将随机标签转为小写后,a-z出现次数超过一次的字母个数之和与随机标签长度的商;
随机标签字符熵计算公式如下,设Pi表示第i种字符出现的次数与随机标签长度的商,domain_entropy表示随机标签字符熵:
domain_ent ropy=-∑Pi*log2(Pi)
随机标签连续性与分散性是随机标签连续出现辅音字母和数字的数量与随机标签长度的商;
随机标签的N-gram频率包含三个属性,即相邻单字、相邻双字、相邻三字的平均排名;根据白名单的随机标签构建相邻单字/相邻双字/相邻三字排名列表,在待检测域名按三种方式切分后,依次查找排名列表,累加求和后计算平均排名;
随机标签的字符转换概率计算步骤如下:
A1)根据白名单的随机标签集合的相邻双字构建一条马尔可夫链;
A2)提取将待检测域名的随机标签作为输入,按相邻双字划分,然后对转移矩阵匹配到的数值累乘得到结果;
随机标签布局代价计算过程如下:
B1)根据第三方平台提供的黑白样本随机标签构建一条马尔可夫链;
B2)提取将待检测域名的随机标签作为输入,根据已构建的马尔可夫链计算其字符转移概率;
B3)依据马尔可夫链,计算随机标签初始状态到终止状态的最大和最小通路;
B4)在满足一定约束条件状态下,根据最大和最小通路均值构成的阈值与字符转移概率判断布局代价是否合理。
4.根据权利要求1所述的基于DNS流量的自适应恶意域名检测方法,其特征在于,步骤2),数据预处理操作包括对白名单、内容分发网络、域名泛解析技术域名以及TOP-N的合法域名过滤,特征向量化归一化。
5.根据权利要求1所述的基于DNS流量的自适应恶意域名检测方法,其特征在于,步骤3)中,追踪验证是对域名结构检测模型判定为恶意的域名,使用可靠工具对已知恶意域名和其解析IP进行whois信息查询以及受控威胁服务器判定,完成修正工作。
6.根据权利要求1所述的基于DNS流量的自适应恶意域名检测方法,其特征在于,步骤4)中,流量检测模型的构建包括:
4-1,训练集为域名结构检测模型标识的校园网真实环境下的流量数据,并根据下述流量特征列表进行规则过滤;
4-2,流量特征列表分为四类:流的特征、时间特征、子域名特征和其它相关特征;其中流的特征包含域名对应的数据流的上行字节数极差、上行报文数极差、下行字节数极差、下行报文数极差;时间特征包含域名对应流的最大TTL和最小TTL以及域名解析时间分布;子域名特征包含子域名长度熵和子域名数量;其它相关特征包含域名指向IP地址集大小、IP网段多样性、NXdomain返回比例、域名相邻三字平均排名。
7.根据权利要求6所述的基于DNS流量的自适应恶意域名检测方法,其特征在于,下述特征计算的统计周期均为一小时内,并使用归约后的域名作为统计对象:
数据流的上行字节数极差是域名对应的所有数据流中上行字节数最大值与最小值的差;上行报文数极差是域名对应的所有数据流中上行报文数最大值与最小值的差,下行字节数极差是域名对应的所有数据流中下行字节数最大值与最小值的差、下行报文数极差是域名对应的所有数据流中下行报文数最大值与最小值的差;
域名解析时间分布的计算方法是将一小时分为20个时间段,取其中访问次数排在前3的总次数之和与一小时内所有访问次数做商得到;
IP网段多样性的计算过程为:
C1)统计域名解析出的所有IP,并取每个IP地址的前16位得到前缀集合;
C2)计算集合的信息熵;
NXdomain返回比例是计算某域名请求后返回为失效流量的次数与总请求次数的商;
域名相邻三字平均排名的计算步骤如下:A1)首先,抽取知识库作为样本集,将样本集中各单元按相邻单字划分,统计得到各个单字出现的次数,保存为哈希表形式并按照Integer从大到小顺序排列,其中String表示单字,Integer为其总出现次数;A2)获得待检测域名的随机标签,将其按相邻单字划分后,依据相邻三字排名列表查找对应单字排名,并将排名进行累加计算,同时对数据进行平滑处理,如果划分的单字并未出现在相邻三字排名列表中,则此轮排名置为列表中包含项数加1,最终将累计计算结果与切分的单字个数做商得到相邻三字平均排名。
8.根据权利要求1所述的基于DNS流量的自适应恶意域名检测方法,其特征在于,步骤5)中,域名结构检测引擎和流量检测引擎呈并行检测模式。
9.根据权利要求1所述的基于DNS流量的自适应恶意域名检测方法,其特征在于,步骤6)中,定时更新域名结构检测引擎的训练集黑名单是指将流量检测引擎检出的恶意域名定期更新域名结构检测引擎中的训练样本,以对不断变化的DGA域名,形成一种自适应的动态恶意域名检测机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711108716.3A CN107786575B (zh) | 2017-11-11 | 2017-11-11 | 一种基于dns流量的自适应恶意域名检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711108716.3A CN107786575B (zh) | 2017-11-11 | 2017-11-11 | 一种基于dns流量的自适应恶意域名检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107786575A CN107786575A (zh) | 2018-03-09 |
CN107786575B true CN107786575B (zh) | 2020-07-10 |
Family
ID=61431845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711108716.3A Expired - Fee Related CN107786575B (zh) | 2017-11-11 | 2017-11-11 | 一种基于dns流量的自适应恶意域名检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107786575B (zh) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600200B (zh) * | 2018-04-08 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 域名检测方法、装置、计算机设备及存储介质 |
CN108510332A (zh) * | 2018-04-17 | 2018-09-07 | 中国互联网络信息中心 | 一种域名信誉评定方法及装置 |
CN108833360B (zh) * | 2018-05-23 | 2019-11-08 | 四川大学 | 一种基于机器学习的恶意加密流量识别方法 |
CN110611640A (zh) * | 2018-06-15 | 2019-12-24 | 成都蓝盾网信科技有限公司 | 一种基于随机森林的dns协议隐蔽通道检测方法 |
CN109101527A (zh) * | 2018-06-21 | 2018-12-28 | 中国科学院信息工程研究所 | 一种海量安全日志信息过滤方法及装置 |
CN108683686B (zh) * | 2018-06-21 | 2020-07-28 | 中国科学院信息工程研究所 | 一种随机子域名DDoS攻击检测方法 |
CN109361649A (zh) * | 2018-09-03 | 2019-02-19 | 北京北信源软件股份有限公司 | 一种网关代理检测方法与装置 |
CN109450842B (zh) * | 2018-09-06 | 2023-06-13 | 南京聚铭网络科技有限公司 | 一种基于神经网络的网络恶意行为识别方法 |
CN109309673A (zh) * | 2018-09-18 | 2019-02-05 | 南京方恒信息技术有限公司 | 一种基于神经网络的dns隐蔽信道检测方法 |
CN109302418B (zh) * | 2018-11-15 | 2021-11-12 | 东信和平科技股份有限公司 | 一种基于深度学习的恶意域名检测方法及装置 |
CN111224919B (zh) * | 2018-11-23 | 2022-05-13 | 中移(杭州)信息技术有限公司 | 一种ddos识别方法、装置、电子设备及介质 |
CN109361575A (zh) * | 2018-12-20 | 2019-02-19 | 哈尔滨工业大学(威海) | 一种获取分析dns流量数据的方法及其系统 |
CN109714356A (zh) * | 2019-01-08 | 2019-05-03 | 北京奇艺世纪科技有限公司 | 一种异常域名的识别方法、装置及电子设备 |
CN109756510B (zh) * | 2019-01-25 | 2021-01-08 | 兰州理工大学 | 一种基于N-Gram的恶意域名检测方法 |
CN110191103B (zh) * | 2019-05-10 | 2022-07-15 | 长安通信科技有限责任公司 | 一种dga域名检测分类方法 |
CN110535821A (zh) * | 2019-05-17 | 2019-12-03 | 南京聚铭网络科技有限公司 | 一种基于dns多特征的失陷主机检测方法 |
CN110147839A (zh) * | 2019-05-20 | 2019-08-20 | 哈尔滨英赛克信息技术有限公司 | 基于XGBoost的算法生成域名检测模型的方法 |
CN110138794A (zh) * | 2019-05-22 | 2019-08-16 | 杭州安恒信息技术股份有限公司 | 一种仿冒网站识别方法、装置、设备及可读存储介质 |
CN110290116B (zh) * | 2019-06-04 | 2021-06-22 | 中山大学 | 一种基于知识图谱的恶意域名检测方法 |
CN112085039B (zh) * | 2019-06-12 | 2022-08-16 | 四川大学 | 一种基于随机森林的icmp隐蔽通道检测方法 |
CN110557382A (zh) * | 2019-08-08 | 2019-12-10 | 中国科学院信息工程研究所 | 一种利用域名共现关系的恶意域名检测方法及系统 |
CN110650157B (zh) * | 2019-10-23 | 2021-01-15 | 北京邮电大学 | 基于集成学习的Fast-flux域名检测方法 |
CN110855632B (zh) * | 2019-10-24 | 2022-03-11 | 新华三信息安全技术有限公司 | 报文检测方法、装置、网络设备和计算机可读存储介质 |
CN110912910A (zh) * | 2019-11-29 | 2020-03-24 | 北京工业大学 | 一种dns网络数据过滤方法及装置 |
CN111031026A (zh) * | 2019-12-09 | 2020-04-17 | 杭州安恒信息技术股份有限公司 | 一种dga恶意软件感染主机检测方法 |
CN111245784A (zh) * | 2019-12-30 | 2020-06-05 | 杭州安恒信息技术股份有限公司 | 多维度检测恶意域名的方法 |
CN111294332B (zh) * | 2020-01-13 | 2023-04-07 | 交通银行股份有限公司 | 一种流量异常检测与dns信道异常检测系统及方法 |
CN111291078B (zh) * | 2020-01-17 | 2021-02-02 | 武汉思普崚技术有限公司 | 一种域名匹配检测方法及装置 |
CN111431884B (zh) * | 2020-03-18 | 2022-02-11 | 上海观安信息技术股份有限公司 | 一种基于dns分析的主机失陷检测方法及装置 |
CN111581352B (zh) * | 2020-05-03 | 2022-05-27 | 南开大学 | 基于可信度的互联网恶意域名检测方法 |
CN113709265A (zh) * | 2020-05-22 | 2021-11-26 | 深信服科技股份有限公司 | 一种域名识别的方法、装置、系统和计算机可读存储介质 |
CN111639497B (zh) * | 2020-05-27 | 2021-01-15 | 北京东方通科技股份有限公司 | 一种基于大数据机器学习的异常行为发现方法 |
CN111698260B (zh) * | 2020-06-23 | 2022-10-11 | 上海观安信息技术股份有限公司 | 一种基于报文分析的dns劫持检测方法及系统 |
CN111935097B (zh) * | 2020-07-16 | 2022-07-19 | 上海斗象信息科技有限公司 | 一种检测dga域名的方法 |
CN111935136B (zh) * | 2020-08-07 | 2022-05-20 | 哈尔滨工业大学 | 基于dns数据分析的域名查询与解析异常检测系统及方法 |
CN112187775B (zh) * | 2020-09-23 | 2021-09-03 | 北京微步在线科技有限公司 | 一种端口扫描的检测方法及装置 |
CN112104677B (zh) * | 2020-11-23 | 2021-03-02 | 北京金睛云华科技有限公司 | 一种基于知识图谱的受控主机检测方法和装置 |
CN112597491B (zh) * | 2020-12-23 | 2024-01-26 | 北京天融信网络安全技术有限公司 | 一种缓冲区溢出攻击的检测方法及电子设备 |
CN112887307A (zh) * | 2021-01-26 | 2021-06-01 | 山西三友和智慧信息技术股份有限公司 | 一种恶意web基础设施检测方法 |
CN112836008B (zh) * | 2021-02-07 | 2023-03-21 | 中国科学院新疆理化技术研究所 | 基于去中心化存储数据的索引建立方法 |
CN112929370B (zh) * | 2021-02-08 | 2022-10-18 | 丁牛信息安全科技(江苏)有限公司 | 域名系统隐蔽信道检测方法及装置 |
CN112929390B (zh) * | 2021-03-12 | 2023-03-24 | 厦门帝恩思科技股份有限公司 | 一种基于多策略融合的网络智能监控方法 |
CN112910929B (zh) * | 2021-03-24 | 2022-01-04 | 中国科学院信息工程研究所 | 基于异质图表示学习的恶意域名检测方法及装置 |
CN113271292B (zh) * | 2021-04-07 | 2022-05-10 | 中国科学院信息工程研究所 | 一种基于词向量的恶意域名集群检测方法及装置 |
CN113141370B (zh) * | 2021-04-30 | 2022-09-16 | 国家计算机网络与信息安全管理中心山西分中心 | 一种内部网络流量的恶意dns隧道识别方法 |
TWI796706B (zh) * | 2021-06-11 | 2023-03-21 | 安碁資訊股份有限公司 | 資料外洩偵測方法與裝置 |
CN113449782B (zh) * | 2021-06-18 | 2022-05-24 | 中电积至(海南)信息技术有限公司 | 一种基于图半监督分类的cdn托管节点检测方法 |
CN115529147A (zh) * | 2021-06-25 | 2022-12-27 | 安碁资讯股份有限公司 | 数据外泄检测方法与装置 |
CN113489709B (zh) * | 2021-06-30 | 2023-06-20 | 丁牛信息安全科技(江苏)有限公司 | 一种流量检测方法及装置 |
CN113556347B (zh) * | 2021-07-22 | 2023-04-07 | 深信服科技股份有限公司 | 一种钓鱼邮件的检测方法、装置、设备及存储介质 |
CN113709152B (zh) * | 2021-08-26 | 2022-11-25 | 东南大学 | 一种具备高抗检测能力的对抗域名生成模型 |
CN113904837A (zh) * | 2021-09-30 | 2022-01-07 | 北京天融信网络安全技术有限公司 | 一种攻击检测的方法、装置、电子设备及介质 |
CN114866342B (zh) * | 2022-06-30 | 2023-01-17 | 广东睿江云计算股份有限公司 | 流量特征识别方法、装置、计算机设备及存储介质 |
CN116962089B (zh) * | 2023-09-21 | 2023-12-05 | 厦门晨晟昱科技有限公司 | 一种针对信息安全的网络监测方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130105769A (ko) * | 2012-03-15 | 2013-09-26 | 주식회사 코닉글로리 | 악성 도메인 탐지 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 |
CN103944894A (zh) * | 2014-04-14 | 2014-07-23 | 上海交通大学 | 基于云计算的恶意域名检测系统 |
CN104994117A (zh) * | 2015-08-07 | 2015-10-21 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种基于dns解析数据的恶意域名检测方法及系统 |
CN105577660A (zh) * | 2015-12-22 | 2016-05-11 | 国家电网公司 | 基于随机森林的dga域名检测方法 |
CN105897714A (zh) * | 2016-04-11 | 2016-08-24 | 天津大学 | 基于dns流量特征的僵尸网络检测方法 |
CN106713303A (zh) * | 2016-12-19 | 2017-05-24 | 北京启明星辰信息安全技术有限公司 | 一种恶意域名检测方法及系统 |
-
2017
- 2017-11-11 CN CN201711108716.3A patent/CN107786575B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130105769A (ko) * | 2012-03-15 | 2013-09-26 | 주식회사 코닉글로리 | 악성 도메인 탐지 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 |
CN103944894A (zh) * | 2014-04-14 | 2014-07-23 | 上海交通大学 | 基于云计算的恶意域名检测系统 |
CN104994117A (zh) * | 2015-08-07 | 2015-10-21 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种基于dns解析数据的恶意域名检测方法及系统 |
CN105577660A (zh) * | 2015-12-22 | 2016-05-11 | 国家电网公司 | 基于随机森林的dga域名检测方法 |
CN105897714A (zh) * | 2016-04-11 | 2016-08-24 | 天津大学 | 基于dns流量特征的僵尸网络检测方法 |
CN106713303A (zh) * | 2016-12-19 | 2017-05-24 | 北京启明星辰信息安全技术有限公司 | 一种恶意域名检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
算法生成恶意域名的实时检测;张雪松;《现代电信科技》;20130725;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107786575A (zh) | 2018-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107786575B (zh) | 一种基于dns流量的自适应恶意域名检测方法 | |
CN105897714B (zh) | 基于dns流量特征的僵尸网络检测方法 | |
CN109450845B (zh) | 一种基于深度神经网络的算法生成恶意域名检测方法 | |
CN110233849B (zh) | 网络安全态势分析的方法及系统 | |
Lin et al. | Malicious URL filtering—A big data application | |
CN112019651B (zh) | 利用深度残差网络和字符级滑动窗口的dga域名检测方法 | |
CN107241352A (zh) | 一种网络安全事件分类与预测方法及系统 | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
CN107566376A (zh) | 一种威胁情报生成方法、装置及系统 | |
CN111031026A (zh) | 一种dga恶意软件感染主机检测方法 | |
CN111131260B (zh) | 一种海量网络恶意域名识别和分类方法及系统 | |
CN109005145A (zh) | 一种基于自动特征抽取的恶意url检测系统及其方法 | |
CN105072214B (zh) | 基于域名特征的c&c域名识别方法 | |
CN112073551B (zh) | 基于字符级滑动窗口和深度残差网络的dga域名检测系统 | |
CN102685145A (zh) | 一种基于dns数据包的僵尸网络域名发现方法 | |
CN112073550B (zh) | 融合字符级滑动窗口和深度残差网络的dga域名检测方法 | |
Zhou et al. | CNN-based DGA detection with high coverage | |
CN112492059A (zh) | Dga域名检测模型训练方法、dga域名检测方法、装置及存储介质 | |
CN107046586A (zh) | 一种基于类自然语言特征的算法生成域名检测方法 | |
Luo et al. | Dgasensor: Fast detection for dga-based malwares | |
Nowroozi et al. | An adversarial attack analysis on malicious advertisement URL detection framework | |
He et al. | Malicious domain detection via domain relationship and graph models | |
CN115442075A (zh) | 一种基于异质图传播网络的恶意域名检测方法和系统 | |
Mvula et al. | COVID-19 malicious domain names classification | |
Peng et al. | MalShoot: shooting malicious domains through graph embedding on passive DNS data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200710 Termination date: 20201111 |
|
CF01 | Termination of patent right due to non-payment of annual fee |