CN108200054B - 一种基于dns解析的恶意域名检测方法及装置 - Google Patents
一种基于dns解析的恶意域名检测方法及装置 Download PDFInfo
- Publication number
- CN108200054B CN108200054B CN201711485395.9A CN201711485395A CN108200054B CN 108200054 B CN108200054 B CN 108200054B CN 201711485395 A CN201711485395 A CN 201711485395A CN 108200054 B CN108200054 B CN 108200054B
- Authority
- CN
- China
- Prior art keywords
- domain name
- sample
- dns
- characteristic
- feature
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 54
- 230000004044 response Effects 0.000 claims abstract description 95
- 238000004458 analytical method Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000000605 extraction Methods 0.000 claims abstract description 21
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 14
- 230000004083 survival effect Effects 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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]
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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
-
- 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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种基于DNS解析的恶意域名检测方法及装置。所述方法包括:获取待检测域名,对所述待检测域名的DNS报文根据预设次数和预设时间间隔进行多次解析,获得每次解析对应的DNS查询报文和DNS响应报文;分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,所述特征字段信息包括多个特征字段及各个特征字段对应的特征均值;根据所述多个特征字段信息,利用分类预测模型获得检测结果。所述装置用于执行所述方法。本发明实施例通过对待检测域名的多次解析及特征提取获得多个特征字段和对应的特征均值,并利用分类预测模型获得检测结果,提高了检测的准确性和效率。
Description
技术领域
本发明实施例涉及网络安全技术领域,尤其涉及一种基于DNS解析的恶意域名检测方法及装置。
背景技术
随着互联网的发展,互联网中每天都会有成千上万的域名被注册,其中有很多被不法分子从事恶意活动的恶意域名,这些恶意域名利用浏览器或者应用软件的漏洞,嵌入恶意代码,在用户不知情的情况下,对用户机器进行修改或破坏工作,对网络安全造成极大伤害。
现有技术中,一种域名检测方法为:获取DNS解析数据、对DNS解析数据进行数据清洗、根据已知的恶意域名网站黑、白名单,过滤掉恶意域名与非恶意域名及根据域名字符串特征以及解析日志时间属性,判断域名是否为恶意域名,输出疑似恶意域名。因此,已有方案中,虽然也存在着应用 DNS解析日志检测恶意域名的方法,但是由于提取日志价值信息过少,导致检测准确度低的问题。
因此,如何提高对域名检测的准确性和效率是现如今亟待解决的课题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种基于DNS解析的恶意域名检测方法及装置。
第一方面,本发明实施例提供一种基于DNS解析的恶意域名检测方法,包括:
获取待检测域名,对所述待检测域名的DNS报文根据预设次数和预设时间间隔进行解析,获得每次解析对应的域名系统DNS查询报文和DNS响应报文;
分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,所述特征字段信息包括多个特征字段及各个特征字段对应的特征均值;
根据所述多个特征字段信息,利用分类预测模型获得检测结果。
第二方面,本发明实施例提供一种基于DNS解析的恶意域名检测装置,包括:
获取模块,用于获取待检测域名,对所述待检测域名的DNS报文根据预设次数和预设时间间隔进行解析,获得每次解析对应的DNS查询报文和DNS 响应报文;
特征提取模块,用于分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,所述特征字段信息包括多个特征字段及各个特征字段对应的特征均值;
检测模块,用于根据所述多个特征字段信息,利用分类预测模型获得检测结果。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法步骤。
本发明实施例提供的一种基于DNS解析的恶意域名检测方法及装置,通过对待检测域名DNS报文的多次解析及报文特征提取获得多个特征字段和对应的特征均值,并利用分类预测模型获得检测结果,提高了检测的准确性和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于DNS解析的恶意域名检测方法流程示意图;
图2为本发明实施例提供的一种基于DNS解析的恶意域名检测装置结构示意图;
图3为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种基于DNS解析的恶意域名检测方法流程示意图,如图1所示,所述方法,包括:
步骤101:获取待检测域名,对所述待检测域名的DNS报文根据预设次数和预设时间间隔进行解析,获得每次解析对应的域名DNS查询报文和DNS 响应报文;
具体的,域名检测装置获取待检测域名,由于同一域名的DNS报文做多次解析时,同一字段可能会存在不同的响应结果,因此,对待检测域名根据预设次数和预设时间间隔下进行多次解析,其中预设次数和预设时间间隔可以根据实际需要预先设定,获得每一次解析对应的DNS查询报文和DNS响应报文,在DNS查询报文和DNS响应报文均包含了多个字段。
步骤102:分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,所述特征信息包括多个特征字段及各个特征字段对应的特征均值;
具体的,由于DNS查询报文和DNS响应报文中均包含了多个字段,从 DNS查询报文和DNS响应报文中提取预先设定的字段作为特征字段,从而可以获得多个特征字段信息。由于对待检测域名的DNS报文进行了多次解析,每次解析获得的DNS查询报文和DNS响应报文,主要是DNS响应报文,解析信息可能并不相同,对每次解析获得到的DNS查询报文和DNS响应报文进行特征提取并数值化处理后,每个特征字段会对应多个特征值,从而计算每个特征字段对应的特征均值,得到多个特征字段信息。由于对待检测域名进行了多次解析,因此还可以获得到该待检测域名对应的响应成功率,将响应成功率也作为一个特征字段,最终构建该待检测域名的数值化特征向量。
其中,选择特征字段的依据为:
在平常生活中,人们很难通过肉眼或者人工手段从大量合法域名中分离出恶意域名。但是当合法域名和恶意域名分别做域名查询请求时,域名的DNS 解析结果中会存在很多有明显差异的属性。比如:(1)合法域名命名通常比较短,层级也比较少,而恶意域名通常都是由算法随机生成的,一般命名比较长,层级也比较多;(2)CNAME又指别名记录,是一种可以将多个名字映射到同一台计算机的记录。CNAME的存在,使得当服务器IP变更时,不必一一更改域名的指向,保证网络畅通。由于恶意域名通常只是域名到IP的直接映射,中间很少关联到CNAME,所以解析日志中基本不存在CNAME; (3)在网络中,合法域名通常都能响应成功,并且域名的查询类型都是常见类型;而恶意域名却存在罕见的查询类型,并有大量解析失败的响应,如下表所示:
步骤103:根据所述多个特征字段信息,利用分类预测模型获得检测结果。
具体的,将待检测域名对应的多个特征字段信息输入到预先创建好的分类预测模型中,分类预测模型根据输入的特征字段信息进行预测,最终输出该待检测域名预测结果,判定该待检测域名为合法域名或恶意域名。
本发明实施例通过对待检测域名的多次解析及特征提取获得多个特征字段和对应的特征均值,并利用分类预测模型获得检测结果,提高了检测的准确性和效率。
在上述实施例的基础上,所述方法,还包括:
获取多个样本域名,所述样本域名包括合法域名和恶意域名,根据所述合法域名和所述恶意域名构建所述分类预测模型。
具体的,通过开源渠道获得并经过筛选后获得足够数量的合法域名和恶意域名,合法域名和恶意域名构成了样本域名,合法域名作为正样本,恶意域名作为负样本,根据正样本和负样本构建分类预测模型。
在上述实施例的基础上,所述根据所述合法域名和所述恶意域名构建所述分类预测模型,包括:
分别对多个所述样本域名根据所述预设次数和预设时间间隔进行解析,获得每一样本域名对应的DNS查询报文样本和DNS响应报文样本;
对每一样本域名的每次解析获得的DNS查询报文样本和DNS响应报文样本进行特征提取,并对提取获得的样本特征字段进行数值化处理,获得每一样本域名对应的多个样本特征字段信息,所述特征字段样本信息包括样本特征字段和样本特征均值;
将每一样本的样本特征均值进行归一化处理,并根据所有的样本域名对应的样本特征字段信息构建描述矩阵;
从所述描述矩阵中获取第一预设数量的样本域名作为训练样本,获取第二预设数量的样本域名作为预测样本;
通过所述训练样本,利用神经网络算法进行模型训练,获得所述初始分类预测模型;
利用所述初始分类预测模型对所述预测样本进行预测,获得测试样本的预测灰度值,根据所述预测灰度值的分布特征确定分类阈值,以获得构建的所述分类预测模型。
具体的,在获取到样本域名后,对每一样本域名的DNS报文根据预设时间间隔进行多次解析,获得每一个样本域名对应的DNS查询报文样本和DNS 响应报文样本,可以理解的是,对一个样本域名进行了几次解析就获得相应个数的DNS查询报文样本和DNS响应报文样本,从DNS查询报文样本和 DNS响应报文样本中提取字段作为样本特征,对于样本特征对应的特征值可能不是由数字表示的,此时要将特征值数值化。
多个DNS查询报文样本中具有相同的样本特征名称及对应的样本特征值,因此,可以获得到每一个字段名称对应的样本特征均值,同理,多个DNS 响应报文样本中也具有相同的样本特征名称及对应的样本特征值,因此,可以获得到每一个样本特征名称对应的样本特征均值。
不同的样本特征往往有不同的量纲,样本特征均值之间的差异可能很大,不进行处理会影响到数据分析的结果,为了消除这种差异,需要进行归一化处理,使所有的样本特征均值的数值范围都落在一个合理的范围内。每一个样本区域都具有多个样本特征字段信息,因此,可以通过样本域名和样本特征字段信息构建描述矩阵。
描述矩阵中的样本域名中有合法域名也有恶意域名,定义合法域名为1,恶意域名为0,得到关于样本域名的[0,1]样本库。从中随机选取第一预设数量的样本域名作为训练样本,其中第一预设数量可以为80%,选取第二预设数量的样本域名作为预测样本,其中第二预设数量可以为剩下的20%,利用神经网络算法作为分类预测算法,通过选取的训练样本构建初始分类预测模型。初始分类预测模型中的分类阈值一般默认为50%,为了进一步提高预测准确率,通过选取的预测样本使用初始分类预测模型进行预测,获得预测灰度值,所谓预测灰度值是指,将通过初始分类预测模型进行预测得到的每一个预测样本的结果,其结果值在0-1之间,以0.1为粒度,对所有的预测结果进行分类,从而得到预测灰度值,即获得预测结果在0-0.1,0.1-0.2,…,0.9-1区间内的数量。然后通过分析模型预测后合法域名和恶意域名的灰度值的分布特征,设定合理的分类阈值,最终分离出恶意域名,重新确定分类阈值后,完成了分类预测模型的构建。应当说明的是,分类阈值的确定可以根据实际情况进行调整,本发明实施例对此不做具体限定。且样本特征字段包括:请求类型、响应状态、查询标识字段、问题数、回答RR数、权威RR数、附加RR数、域名长度、域名层数、网络类型、查询类型、响应类型、响应状态、响应标识字段、响应类型、生存时间、响应成功率和关联IP个数中的任意一项或其组合。
本发明实施例通过分析和比较合法域名与恶意域名在DNS解析日志中各个字段存在的差异,首先,对样本域名进行多次解析,消除单次解析带来的偶然性,并从样本域名的DNS查询报文样本和DNS响应报文样本中获取到足够的有价值字段;其次,对解析出的样本特征字段信息进行数据清洗和归一化处理,生成描述矩阵,然后建立关于该描述矩阵的神经网络算法的分类预测模型,设定合理的分类阈值,从而分离出恶意域名,提高了域名检测的准确性。
在上述实施例的基础上,所述根据所述多个特征字段信息,利用分类预测模型获得检测结果,包括:
将所述待检测域名对应的多个特征字段信息输入所述分类预测模型中,计算获得对应的预测概率值,根据所述预测概率值和所述分类阈值获得所述检测结果。
具体的,将待检测域名的多个特征字段信息输入到建立好的分类预测模型中,分类预测模型根据模型预测结果的分布特征,划分出两个分类阈值m、 n。若预测概率值在[0,m]之间判断为恶意域名,若预测概率值在[m,n]之间为无法判断的域名,若预测概率值在[n,1]之间为合法域名。
应当说明的是,还可以将预先获取到的合法域名存储在白名单中,将恶意域名存储在黑名单中,在获取到待检测域名时,先与黑名单、白名单中的域名进行匹配,如果与白名单中的合法域名匹配则直接判断为合法域名,如果与黑名单中的恶意域名匹配则判断为恶意域名,如果均不匹配,则通过分类预测模型进行预测,从而获得预测结果,并将预测结果存储到对应的白名单或者黑名单中,以实现对白名单或黑名单的更新。
本发明实施例通过对待检测域名的多次解析及特征提取获得多个特征字段和对应的特征均值,并利用分类预测模型获得检测结果,提高了检测的准确性和效率。
在上述实施例的基础上,所述分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,包括:
分别对每一次解析获得的所述DNS查询报文和所述DNS响应报文进行特征提取,若提取获得的特征字段对应的特征值为非数值,则对所述特征值进行数值化处理,并计算每一特征字段对应的多个特征值的特征均值,获得特征字段信息。
具体的,对待检测域名的DNS报文进行了多次解析后,可以获得多个 DNS查询报文和多个DNS响应报文,分别对每个DNS查询报文和DNS响应报文进行特征提取,提取得到的特征字段对应的特征值可能不是数值型的,因此可以根据预设规则将特征值不是数值型的进行数值化处理。多次解析之后,计算各个特征字段对应的多个特征值的均值,获得特征均值,即作为该特征字段的真实值。
在上述各实施例的基础上,所述多个特征字段,包括:
请求类型、响应状态、查询标识字段、问题数、回答RR数、权威RR数、附加RR数、域名长度、域名层数、网络类型、查询类型、响应类型、响应状态、响应标识字段、响应类型、生存时间、响应成功率和关联IP个数中的任意一项或其组合。
具体的,通过对合法域名和恶意域名进行解析后,对DNS查询报文和 DNS响应报文中各个字段的分析,从中获取如下字段作为特征字段,即,请求类型、响应状态、查询标识字段、问题数、回答RR数、权威RR数、附加RR数、域名长度、域名层数、网络类型、查询类型、响应类型、响应状态、响应标识字段、响应类型、生存时间、响应成功率和关联IP个数中的任意一项或其组合。应当说明的是,关于生存时间(Time To Live,TTL),就是一条域名解析记录在DNS服务器中的存留时间,是预先设定好的数值。不同网络类型下的生存时间存在差异,所以分别计算DNS响应报文中不同网络类型下生存时间的最值、均值和方差,并作为待检测域名特征字段的一部分。另外,合法域名通常情况下响应都是成功的,恶意域名存在大量解析失败的响应,所以通过对待检测域名进行多次解析可以获得对应的响应成功率。合法域名关联的IP个数比较多,恶意域名关联的IP个数比较少,所以将关联 IP个数也作为特征字段。
本发明实施例根据对待检测域名解析,获得DNS查询报文和DNS响应报文,并利用分类预测模型对待检测域名进行预测,可以大大提高域名的检测效率和检测准确率,同时还可以根据不同工作需要设定不同域名分类阈值,保证了分类预测模型的适用性。
图2为本发明实施例提供的一种基于DNS解析的恶意域名检测装置结构示意图,如图2所示,所述装置,包括:获取模块201、特征提取模块202 和检测模块203,其中:
获取模块201用于获取待检测域名,对所述待检测域名的DNS报文根据预设次数和预设时间间隔进行解析,获得每次解析对应的DNS查询报文和 DNS响应报文;特征提取模块202用于分别对所述DNS查询报文和所述DNS 响应报文进行特征提取,获得多个特征字段信息,所述特征字段信息包括多个特征字段及各个特征字段对应的特征均值;检测模块203用于根据所述多个特征字段信息,利用分类预测模型获得检测结果。
具体的,获取模块201获取待检测域名,由于同一域名的DNS报文做多次解析时,同一字段可能会存在不同的响应结果,因此,对待检测域名根据预设次数和预设时间间隔进行解析,其中预设次数和预设时间间隔可以根据实际需要预先设定,获得每一次解析对应的DNS查询报文和DNS响应报文,在DNS查询报文和DNS响应报文均包含了多个字段。由于DNS查询报文和 DNS响应报文中均包含了多个字段,特征提取模块202从DNS查询报文和 DNS响应报文中提取预先设定的字段作为特征字段,从而可以获得多个特征字段信息。由于对待检测域名的DNS报文进行了多次解析,每次解析获得的DNS查询报文和DNS响应报文,主要是DNS响应报文,解析信息可能并不相同,对每次解析获得到的DNS查询报文和DNS响应报文进行特征提取并数值化处理后,每个特征字段会对应多个特征值,从而计算每个特征字段对应的特征均值,得到多个特征字段信息。由于对待检测域名进行了多次解析,因此还可以获得到该待检测域名对应的响应成功率,将响应成功率也作为一个特征字段,最终构建关于待检测域名的数值化特征向量。检测模块203将待检测域名对应的多个特征字段信息输入到预先创建好的分类预测模型中,分类预测模型根据输入的特征字段信息进行预测,最终输出预测结果,其中预测结果可以判定该待检测域名为合法域名或恶意域名。
可以理解的是,所述多个特征字段,包括:
请求类型、响应状态、查询标识字段、问题数、回答RR数、权威RR数、附加RR数、域名长度、域名层数、网络类型、查询类型、响应类型、响应状态、响应标识字段、响应类型、生存时间和关联IP个数中的任意一项或其组合。
本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
本发明实施例通过对待检测域名的多次解析及特征提取获得多个特征字段和对应的特征均值,并利用分类预测模型获得检测结果,提高了检测的准确性和效率。
在上述实施例的基础上,所述装置,还包括:
模型构建模块,用于获取多个样本域名,所述样本域名包括合法域名和恶意域名,根据所述合法域名和所述恶意域名构建所述分类预测模型。
具体的,模型构建模块通过开源渠道获得并经过筛选后获得足够数量合法域名和恶意域名,合法域名和恶意域名构成了样本域名,合法域名作为正样本,恶意域名作为负样本,根据正样本和负样本构建分类预测模型。
在上述实施例的基础上,所述模型构建模块,具体用于:
分别对多个所述样本域名根据所述预设次数和预设时间间隔进行解析,获得每一样本域名对应的DNS查询报文样本和DNS响应报文样本;
对每一样本域名的每次解析获得的DNS查询报文样本和DNS响应报文样本进行特征提取,并对提取获得的样本特征字段进行数值化处理,获得每一样本域名对应的多个样本特征字段信息,所述特征字段样本信息包括样本特征字段和样本特征均值;
将每一样本的样本特征均值进行归一化处理,并根据所有的样本域名对应的样本特征字段信息构建描述矩阵;
从所述描述矩阵中获取第一预设数量的样本域名作为训练样本,获取第二预设数量的样本域名作为预测样本;
通过所述训练样本,利用神经网络算法进行模型训练,获得所述初始分类预测模型;
利用所述初始分类预测模型对所述预测样本进行预测,获得测试样本的预测灰度值,根据所述预测灰度值的分布特征确定分类阈值,以获得构建的所述分类预测模型。
具体的,本发明实施例对应的具体构建分类预测模型的方法与上述实施例一致,此处不再赘述。
在上述实施例的基础上,所述检测模块,具体用于:
将所述待检测域名对应的多个特征字段输入所述分类预测模型中,计算获得对应的预测概率值,根据所述预测概率值和所述分类阈值获得所述检测结果。
具体的,将待检测域名的多个特征字段信息输入到建立好的分类预测模型中,分类预测模型根据模型预测结果的分布特征,划分出两个分类阈值m、 n。若预测概率值在[0,m]之间判断为恶意域名,若预测概率值在[m,n]之间为无法判断的域名,若预测概率值在[n,1]之间为合法域名。
本发明实施例通过分析和比较合法域名和恶意域名在DNS解析日志中各个字段存在的差异,首先,对样本域名进行多次解析,消除单次解析带来的偶然性,并从样本域名的DNS查询报文样本和DNS响应报文样本中获取到大量有价值的字段;其次,对解析出的样本特征字段信息进行数据清洗和归一化处理,生成描述矩阵,然后建立关于该描述矩阵的logistic算法的分类预测模型,设定合理的分类阈值,从而分离出恶意域名,提高了域名检测的准确性。
图3为本发明实施例提供的电子设备实体结构示意图,如图3所示,所述电子设备,包括:处理器(processor)301、存储器(memory)302和总线303;其中,
所述处理器301和存储器302通过所述总线303完成相互间的通信;
所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取待检测域名,对所述待检测域名的DNS报文根据预设次数和预设时间间隔进行解析,获得每次解析对应的 DNS查询报文和DNS响应报文;分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,所述特征字段信息包括多个特征字段及各特征字段对应的特征均值;根据所述多个特征字段信息,利用分类预测模型获得检测结果。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取待检测域名,对所述待检测域名的DNS报文根据预设次数和预设时间间隔进行解析,获得每次解析对应的DNS查询报文和DNS 响应报文;分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,所述特征字段信息包括多个特征字段及各特征字段对应的特征均值;根据所述多个特征字段信息,利用分类预测模型获得检测结果。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取待检测域名,对所述待检测域名的DNS 报文根据预设次数和预设时间间隔进行解析,获得每次解析对应的DNS查询报文和DNS响应报文;分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,所述特征字段信息包括多个特征字段及各特征字段对应的特征均值;根据所述多个特征字段信息,利用分类预测模型获得检测结果。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于DNS解析的恶意域名检测方法,其特征在于,包括:
获取待检测域名,对所述待检测域名的DNS报文根据预设次数和预设时间间隔进行解析,获得每次解析对应的域名系统DNS查询报文和DNS响应报文;
分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,所述特征字段信息包括多个特征字段及各个特征字段对应的特征均值;
根据所述多个特征字段信息,利用分类预测模型获得检测结果;
还包括:
获取多个样本域名,所述样本域名包括合法域名和恶意域名,根据所述合法域名和所述恶意域名构建所述分类预测模型;
所述根据所述合法域名和所述恶意域名构建所述分类预测模型,包括:
分别对多个样本域名的DNS报文根据所述预设次数和预设时间间隔进行解析,获得每一样本域名对应的DNS查询报文样本和DNS响应报文样本;
对每一样本域名的每次解析获得的DNS查询报文样本和DNS响应报文样本进行特征提取,并对提取获得的样本特征字段进行数值化处理,获得每一样本域名对应的多个样本特征字段信息,所述特征字段样本信息包括样本特征字段和样本特征均值;
将每一样本的样本特征均值进行归一化处理,并根据所有的样本域名对应的样本特征字段信息构建描述矩阵;
从所述描述矩阵中获取第一预设数量的样本域名作为训练样本,获取第二预设数量的样本域名作为预测样本;
通过所述训练样本,利用神经网络算法进行模型训练,获得初始分类预测模型;
利用所述初始分类预测模型对所述预测样本进行预测,获得预测样本的预测灰度值,根据所述预测灰度值的分布特征确定分类阈值,以获得构建的所述分类预测模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个特征字段信息,利用分类预测模型获得检测结果,包括:
将所述待检测域名对应的多个特征字段信息输入所述分类预测模型中,计算获得对应的预测概率值,根据所述预测概率值和所述分类阈值获得所述检测结果。
3.根据权利要求1所述的方法,其特征在于,所述分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,包括:
分别对每一次解析获得的所述DNS查询报文和所述DNS响应报文进行特征提取,若提取获得的特征字段对应的特征值为非数值,则对所述特征值进行数值化处理,并计算每一特征字段对应的多个特征值的特征均值,获得特征字段信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述多个特征字段,包括:
请求类型、响应状态、查询标识字段、问题数、回答RR数、权威RR数、附加RR数、域名长度、域名层数、网络类型、查询类型、响应类型、响应状态、响应标识字段、响应类型、生存时间、响应成功率和关联IP个数中的任意一项或其组合。
5.一种基于DNS解析的恶意域名检测装置,其特征在于,包括:
获取模块,用于获取待检测域名,对所述待检测域名的DNS报文根据预设次数进行解析,获得每次解析对应的DNS查询报文和DNS响应报文;
特征提取模块,用于分别对所述DNS查询报文和所述DNS响应报文进行特征提取,获得多个特征字段信息,所述特征字段信息包括多个特征字段及各个特征字段对应的特征均值;
检测模块,用于根据所述多个特征字段信息,利用分类预测模型获得检测结果;
还包括:
模型构建模块,用于获取多个样本域名,所述样本域名包括合法域名和恶意域名,根据所述合法域名和所述恶意域名构建所述分类预测模型;
所述模型构建模块,具体用于:
所述根据所述合法域名和所述恶意域名构建所述分类预测模型,包括:
分别对多个样本域名的DNS报文根据所述预设次数和预设时间间隔进行解析,获得每一样本域名对应的DNS查询报文样本和DNS响应报文样本;
对每一样本域名的每次解析获得的DNS查询报文样本和DNS响应报文样本进行特征提取,并对提取获得的样本特征字段进行数值化处理,获得每一样本域名对应的多个样本特征字段信息,所述特征字段样本信息包括样本特征字段和样本特征均值;
将每一样本的样本特征均值进行归一化处理,并根据所有的样本域名对应的样本特征字段信息构建描述矩阵;
从所述描述矩阵中获取第一预设数量的样本域名作为训练样本,获取第二预设数量的样本域名作为预测样本;
通过所述训练样本,利用神经网络算法进行模型训练,获得初始分类预测模型;
利用所述初始分类预测模型对所述预测样本进行预测,获得预测样本的预测灰度值,根据所述预测灰度值的分布特征确定分类阈值,以获得构建的所述分类预测模型。
6.根据权利要求5所述的装置,其特征在于,所述检测模块,具体用于:
将所述待检测域名对应的多个特征字段输入所述分类预测模型中,计算获得对应的预测概率值,根据所述预测概率值和所述分类阈值获得所述检测结果。
7.根据权利要求6所述的装置,其特征在于,所述特征提取模块,具体用于:
分别对每一次解析获得的所述DNS查询报文和所述DNS响应报文进行特征提取,若提取获得的特征字段对应的特征值为非数值,则对所述特征值进行数值化处理,并计算每一特征字段对应的多个特征值的特征均值,获得特征字段信息。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述多个特征字段,包括:
请求类型、响应状态、查询标识字段、问题数、回答RR数、权威RR数、附加RR数、域名长度、域名层数、网络类型、查询类型、响应类型、响应状态、响应标识字段、响应类型、生存时间和关联IP个数中的任意一项或其组合。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-4任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711485395.9A CN108200054B (zh) | 2017-12-29 | 2017-12-29 | 一种基于dns解析的恶意域名检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711485395.9A CN108200054B (zh) | 2017-12-29 | 2017-12-29 | 一种基于dns解析的恶意域名检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108200054A CN108200054A (zh) | 2018-06-22 |
CN108200054B true CN108200054B (zh) | 2021-02-12 |
Family
ID=62586838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711485395.9A Active CN108200054B (zh) | 2017-12-29 | 2017-12-29 | 一种基于dns解析的恶意域名检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108200054B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI816441B (zh) * | 2022-06-20 | 2023-09-21 | 中華電信股份有限公司 | 域名偵測系統及方法 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110768929A (zh) * | 2018-07-26 | 2020-02-07 | 中国电信股份有限公司 | 域名检测方法和装置、计算机可读存储介质 |
CN108900655A (zh) * | 2018-08-08 | 2018-11-27 | 北京谷安天下科技有限公司 | 一种域名存活性识别方法、装置及电子设备 |
CN109218461B (zh) * | 2018-08-09 | 2022-02-22 | 奇安信科技集团股份有限公司 | 一种检测隧道域名的方法及装置 |
US10764246B2 (en) * | 2018-08-14 | 2020-09-01 | Didi Research America, Llc | System and method for detecting generated domain |
CN109450845B (zh) * | 2018-09-18 | 2020-08-04 | 浙江大学 | 一种基于深度神经网络的算法生成恶意域名检测方法 |
CN111049784B (zh) * | 2018-10-12 | 2023-08-01 | 三六零科技集团有限公司 | 一种网络攻击的检测方法、装置、设备及存储介质 |
CN109302418B (zh) * | 2018-11-15 | 2021-11-12 | 东信和平科技股份有限公司 | 一种基于深度学习的恶意域名检测方法及装置 |
CN109495475B (zh) * | 2018-11-19 | 2022-03-18 | 中国联合网络通信集团有限公司 | 域名检测方法及装置 |
CN111224743B (zh) * | 2018-11-23 | 2022-11-15 | 中兴通讯股份有限公司 | 一种检测方法、终端和计算机可读存储介质 |
CN110868379B (zh) * | 2018-12-19 | 2021-09-21 | 北京安天网络安全技术有限公司 | 基于dns解析报文的入侵威胁指标拓展方法、装置及电子设备 |
CN109714335A (zh) * | 2018-12-26 | 2019-05-03 | 北京天融信网络安全技术有限公司 | 一种信息检测方法及信息检测装置 |
CN110138599B (zh) * | 2019-04-24 | 2020-11-17 | 北京字节跳动网络技术有限公司 | 基于域名关联度的dns查询方法、装置、介质和电子设备 |
CN110289992B (zh) * | 2019-06-04 | 2022-07-22 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN110417748A (zh) * | 2019-07-08 | 2019-11-05 | 新华三信息安全技术有限公司 | 一种攻击检测方法及装置 |
CN110674370A (zh) * | 2019-09-23 | 2020-01-10 | 鹏城实验室 | 域名识别方法及装置、存储介质及电子设备 |
CN110798481A (zh) * | 2019-11-08 | 2020-02-14 | 杭州安恒信息技术股份有限公司 | 基于深度学习的恶意域名检测方法及装置 |
CN112839012B (zh) * | 2019-11-22 | 2023-05-09 | 中国移动通信有限公司研究院 | 僵尸程序域名识别方法、装置、设备及存储介质 |
CN111294332B (zh) * | 2020-01-13 | 2023-04-07 | 交通银行股份有限公司 | 一种流量异常检测与dns信道异常检测系统及方法 |
TWI811545B (zh) * | 2020-05-18 | 2023-08-11 | 安碁資訊股份有限公司 | 域名系統中惡意域名的偵測方法與偵測裝置 |
CN111654487B (zh) * | 2020-05-26 | 2022-04-19 | 南京云利来软件科技有限公司 | 一种基于旁路网络全流量与行为特征dga域名识别方法 |
CN111680301A (zh) * | 2020-06-05 | 2020-09-18 | 深圳前海微众银行股份有限公司 | 一种漏洞检测方法和装置 |
CN111698260B (zh) * | 2020-06-23 | 2022-10-11 | 上海观安信息技术股份有限公司 | 一种基于报文分析的dns劫持检测方法及系统 |
CN112468474A (zh) * | 2020-11-19 | 2021-03-09 | 哈尔滨工业大学(威海) | 一种递归域名服务器解析异常的主动检测方法 |
CN113660212B (zh) * | 2021-07-26 | 2022-11-29 | 北京天融信网络安全技术有限公司 | 一种实时检测dns隧道流量的方法及装置 |
CN113935438B (zh) * | 2021-12-14 | 2022-04-26 | 杭州海康威视数字技术股份有限公司 | 基于设备角色的物联网设备异常检测方法、系统及装置 |
CN115334039B (zh) * | 2022-08-09 | 2024-02-20 | 天融信雄安网络安全技术有限公司 | 一种基于人工智能模型的特征构建方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702660A (zh) * | 2009-11-12 | 2010-05-05 | 中国科学院计算技术研究所 | 异常域名检测方法及系统 |
CN103152222A (zh) * | 2013-01-05 | 2013-06-12 | 中国科学院信息工程研究所 | 一种基于主机群特征检测速变攻击域名的方法 |
CN104994117A (zh) * | 2015-08-07 | 2015-10-21 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种基于dns解析数据的恶意域名检测方法及系统 |
CN105577660A (zh) * | 2015-12-22 | 2016-05-11 | 国家电网公司 | 基于随机森林的dga域名检测方法 |
CN106713303A (zh) * | 2016-12-19 | 2017-05-24 | 北京启明星辰信息安全技术有限公司 | 一种恶意域名检测方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9794229B2 (en) * | 2015-04-03 | 2017-10-17 | Infoblox Inc. | Behavior analysis based DNS tunneling detection and classification framework for network security |
US10075458B2 (en) * | 2016-04-29 | 2018-09-11 | International Business Machines Corporation | Cognitive and contextual detection of malicious DNS |
-
2017
- 2017-12-29 CN CN201711485395.9A patent/CN108200054B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702660A (zh) * | 2009-11-12 | 2010-05-05 | 中国科学院计算技术研究所 | 异常域名检测方法及系统 |
CN103152222A (zh) * | 2013-01-05 | 2013-06-12 | 中国科学院信息工程研究所 | 一种基于主机群特征检测速变攻击域名的方法 |
CN104994117A (zh) * | 2015-08-07 | 2015-10-21 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种基于dns解析数据的恶意域名检测方法及系统 |
CN105577660A (zh) * | 2015-12-22 | 2016-05-11 | 国家电网公司 | 基于随机森林的dga域名检测方法 |
CN106713303A (zh) * | 2016-12-19 | 2017-05-24 | 北京启明星辰信息安全技术有限公司 | 一种恶意域名检测方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI816441B (zh) * | 2022-06-20 | 2023-09-21 | 中華電信股份有限公司 | 域名偵測系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108200054A (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108200054B (zh) | 一种基于dns解析的恶意域名检测方法及装置 | |
CN108471429B (zh) | 一种网络攻击告警方法及系统 | |
CN108366045B (zh) | 一种风控评分卡的设置方法和装置 | |
CN106209488B (zh) | 用于检测网站攻击的方法和设备 | |
US9210189B2 (en) | Method, system and client terminal for detection of phishing websites | |
CN108718298B (zh) | 一种恶意外连流量检测方法及装置 | |
CN106650799B (zh) | 一种电子证据分类提取方法及系统 | |
CN111460446B (zh) | 基于模型的恶意文件检测方法及装置 | |
CN110572413A (zh) | 一种基于Elman神经网络的低速率拒绝服务攻击检测方法 | |
CN113162953B (zh) | 网络威胁报文检测及溯源取证方法和装置 | |
CN105072214A (zh) | 基于域名特征的c&c域名识别方法 | |
CN112769803B (zh) | 网络威胁的检测方法、装置和电子设备 | |
CN105516128A (zh) | 一种Web攻击的检测方法及装置 | |
CN114553523A (zh) | 基于攻击检测模型的攻击检测方法及装置、介质、设备 | |
CN111914257A (zh) | 文档检测的方法、装置、设备、及计算机存储介质 | |
CN111368289A (zh) | 一种恶意软件检测方法和装置 | |
CN114579636A (zh) | 数据安全风险预测方法、装置、计算机设备和介质 | |
CN106294406B (zh) | 一种用于处理应用访问数据的方法与设备 | |
CN113704328A (zh) | 基于人工智能的用户行为大数据挖掘方法及系统 | |
CN113886829B (zh) | 一种失陷主机检测方法、装置、电子设备及存储介质 | |
US20160337389A1 (en) | Discovering yet unknown malicious entities using relational data | |
CN110855716A (zh) | 一种面向仿冒域名的自适应安全威胁分析方法及系统 | |
CN114024761A (zh) | 网络威胁数据的检测方法、装置、存储介质及电子设备 | |
CN110661818B (zh) | 事件异常检测方法、装置、可读存储介质和计算机设备 | |
CN107241342A (zh) | 一种网络攻击串检测方法及装置 |
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 | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Address before: 100015 15, 17 floor 1701-26, 3 building, 10 Jiuxianqiao Road, Chaoyang District, Beijing. Applicant before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |