CN111291078B - 一种域名匹配检测方法及装置 - Google Patents
一种域名匹配检测方法及装置 Download PDFInfo
- Publication number
- CN111291078B CN111291078B CN202010051815.8A CN202010051815A CN111291078B CN 111291078 B CN111291078 B CN 111291078B CN 202010051815 A CN202010051815 A CN 202010051815A CN 111291078 B CN111291078 B CN 111291078B
- Authority
- CN
- China
- Prior art keywords
- domain name
- detection
- sample
- training
- result
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及域名检测技术领域,公开了一种域名匹配检测方法、装置及计算机存储介质,其中,方法包括以下步骤:收集域名样本,并将所述域名样本转换为样本向量,建立训练样本集;采用所述训练样本集对卷积神经网络进行训练,得到域名检测模型;根据所述域名检测模型对待测域名进行检测,得到检测结果;所述检测结果为异常域名时,进一步查询待测域名的IP地址,根据IP查询结果对所述检测结果进行修正。本发明提供的域名匹配检测方法、装置及计算机存储介质,具有不易产生异常域名误报的技术效果。
Description
技术领域
本发明涉及域名检测技术领域,具体涉及一种域名匹配检测方法、装置以及计算机存储介质。
背景技术
DGA(域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段。例如,一个由黑客编写算法创建的DGA生成域名dwqcukoqaht.com,如果我们的进程尝试与它建立连接,那么我们的机器就可能感染勒索病毒。域名黑名单通常用于检测和阻断这些域名的连接,但对于不断更新的DGA算法并不奏效。DGA生成域名的最大特征就是字符组合乱,导致域名无语意。
现在的技术主要有:
1、对已有DGA进行分析,猜测黑客使用的DGA算法,预知黑客将使用的DGA域名,使用这些预测域名匹配检测。
2、收集大量的正常域名和DGA域名,形成训练集,采用训练集训练卷积神经网络(CNN)模型。通过训练好的CNN模型,检测DGA域名。
第一种检测方法的检测效率以及准确度均低,而第二种检测方法存在误报的可能性。
发明内容
本发明的目的在于克服上述技术不足,提供一种一种域名匹配检测方法、装置以及计算机存储介质,解决现有技术中检测效率低、容易产生误报的技术问题。
为达到上述技术目的,本发明的技术方案提供一种域名匹配检测方法,包括以下步骤:
收集域名样本,并将所述域名样本转换为样本向量,建立训练样本集;
采用所述训练样本集对卷积神经网络进行训练,得到域名检测模型;
根据所述域名检测模型对待测域名进行检测,得到检测结果;
所述检测结果为异常域名时,进一步查询待测域名的I P地址,根据I P查询结果对所述检测结果进行修正。
本发明还提供一种域名匹配检测装置,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述域名匹配检测方法。
本发明还提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述域名匹配检测方法。
与现有技术相比,本发明的有益效果包括:本发明通过卷积神经网络的训练得到域名检测模型,其检测效率较之传统分析DGA算法的方法更高。同时,在采用域名检测模型进行检测后,如果检测结果为异常域名时,进一步通过查询I P地址对该检测结果进行确认,防止误判,从而进一步提高域名检测的准确率。
附图说明
图1是本发明提供的域名匹配检测方法一实施方式的流程图;
图2是本发明提供的域名匹配检测方法一实施方式的检测结果修正流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
如图1所示,本发明的实施例1提供了域名匹配检测方法,包括以下步骤:
S1、收集域名样本,并将所述域名样本转换为样本向量,建立训练样本集;
S2、采用所述训练样本集对卷积神经网络进行训练,得到域名检测模型;
S3、根据所述域名检测模型对待测域名进行检测,得到检测结果;
S4、所述检测结果为异常域名时,进一步查询待测域名的IP地址,根据IP查询结果对所述检测结果进行修正。
本发明实施例首先收集大量的正常域名和异常域名(即DGA域名),形成训练样本集,采用训练样本集训练卷积神经网络模型(CNN模型)。通过训练好的CNN模型,检测域名,筛除异常域名。然而深度学习模型在检测域名时,可能会产生误报。因此本发明实施例不单一依赖深度学习算法进行检测,而是在深度学习算法的基础上结合了IP检测。通过待测域名的IP特征进行进一步判断,提高检测的准确性,减少了域名检测过程中的误报,增强用户的体验。
优选的,将所述域名样本转换为样本向量,具体为:
采用Tokenizer向量化方法将所述域名样本转换为样本向量。
具体的,对训练样本集中各域名样本的所有字符进行统计,不同字符采用不同数字进行表示,构建字符与数字的对应关系;利用对应关系将各域名样本转换为样本向量。应该理解的,还可采用其他的文本向量转换方法实现向量化。
优选的,所述卷积神经网络为文本卷积神经网络,所述文本卷积神经网络包括卷积层、池化层、全连接层以及sigmoid层。
本优选实施例的文本卷积神经网络,即TextCNN,其特点在于,使用sigmoid层作为输出层,sigmoid层使用Sigmoid函数,可以优化训练得到的域名检测模型的检测性能。具体的,通常卷积神经网络会使用softmax层作为输出进行分类。softmax层过分强调了分类中各类型的概率,不是二分类问题的理想选择,而本发明中域名检测属于二分类问题,即正常域名和异常域名的分类,因此softmax层并不适用于本发明。而sigmoid层是对每种类型情况独立进行预测的,即在本发明中,利用sigmoid层对正常域名和异常域名这两种情况进行独立预测,最后输出概率更大的类型,避免这两种类型之间的检测相互干扰,从而更为合适本发明。因此,我们用sigmoid层替换softmax层可以有效的提高域名检测准确性和检测速度。
优选的,采用所述训练样本集对卷积神经网络进行训练,得到域名检测模型,具体为:
为所述训练样本集中正常域名的样本向量打上正常标签;
为所述训练样本集中异常域名的样本向量打上异常标签;
以所述正常域名的样本向量作为正样本,以所述异常域名的样本向量作为负样本,对卷积神经网络进行训练,得到域名检测模型。
获取异常域名样本集和正常域名样本集,统称为训练样本集,训练样本集中的每个样本向量都有对应的标签,标签内容为正常域名或异常域名。正样本用于卷积神经网络学习正常域名的特征,负样本用于卷积神经网络学习异常域名的特征,最后得到可以域名检测过滤的域名检测模型。
优选的,以所述正常域名的样本向量作为正样本,以所述异常域名的样本向量作为负样本,对卷积神经网络进行训练,得到域名检测模型,具体为:
对所述卷积神经网络进行初始化,将样本向量划分为训练集和测试集;
采用所述训练集进行训练,得到域名检测模型;
采用域名检测模型对测试集中域名样本进行预测,得到预测结果;
采用交叉熵损失函数计算所述域名检测模型的损失值;
判断所述损失值是否大于设定值,如果大于,则采用sigmoid优化算法对模型参数进行反向传播优化,并继续进行训练,否则直接输出所述域名检测模型。
样本向量集作为样本数据采用文本卷积神经网络(TextCNN)进行域名检测模型的训练,在检测模型训练过程中采用sigmoid算法对检测效果进行优化。sigmoid算法中,基于交叉熵对损失值进行描述,通过随机梯度下降算法来最小化交叉熵,以最大化检测性能,获得检测性能较好的检测模型;
具体的,对卷积神经网络进行初始化后,训练集的样本向量输入至卷积层中不同尺寸的卷积核,进行特征提取运算,得到卷积层输出,卷积层输出为一维向量。将卷积层的输出输入至池化层,采用Relu激活函数进行非线性映射,并通过取最大值的方式进行下采样,获得池化层输出;将所述池化层输出输入至全连接层进行拼接,获得拼接向量,对拼接向量进行全连接操作,并采用Relu激活函数进行非线性映射,生成最终表示向量;将最终表示向量输入至sigmoid层进行检测获得检测结果。将测试集的样本向量再输入卷积神经网络,得到预测结果,再通过交叉熵损失公式计算获得损失值;如果损失值小于损失值阈值,则模型训练结束,输出最后的域名检测模型;否则采用sigmoid优化算法对模型参数进行反向传播优化,然后继续进行训练。
交叉熵损失函数为:
其中,l(θ)为交叉熵损失函数,θ是模型参数,N为测试集中样本向量的数量,yi为测试集中第i个样本向量的实际检测结果,即标签结果,为测试集中第i个样本向量的预测结果,即域名检测模型的检测结果,是标签结果yi与预测结果的二元交叉熵。优选通过随机梯度下降最小化所述损失函数,即可得到损失值,以便最大化分类检测性能。
域名检测模型的检测结果,具体为:
其中,p(y|ui)表示域名y的域名标签为ui的概率,ui表示第为i种域名标签,k表示域名标签的种类,本实施例中k=2,即域名标签包括正常域名标签和异常域名标签,wc为隐含层权值,bc为sigmoid分类层的偏差项。
优选的,如图2所示,根据IP查询结果对所述检测结果进行修正,具体为:
如待测域名不存在IP地址,则不对所述检测结果进行修正,如果待测域名存在IP地址,则进一步查询待测域名的SOA,根据SOA查询结果对所述检测结果进行修正。
IP地址,即互联网协议地址。异常域名中往往没有IP地址,可利用这一特征对待测域名的检测结果进行修正。将待测域名输入域名检测模型,得到检测结果,检测结果分为正常域名和异常域名两种情况。由于域名检测模型可能会出现误报的情况,因此当检测结果为异常域名时,对待测域名进行进一步的IP地址检测,若查询不到IP地址,则检测结果确定为异常域名;若待测域名存在IP地址,说明待测域名已注册或正在使用,这类域名相较无IP地址的域名,安全风险较低,因此通过进一步的检测,才能确认此类域名是否为异常域名。
优选的,如图2所示,根据SOA查询结果对所述检测结果进行修正,具体为:
判断所述待测域名的SOA是否存在于预设的白名单中,如果存在,则将所述检测结果修正为正常域名,如果不存在,则不对所述检测结果进行修正。
SOA为起始授权机构,表示的是最初创建域名的DNS服务器。举例如下:iqqimg.com为qq的某服务,iqqimg.com的SOA为qq.com。很多厂商在提供服务过程中,会创建一系列的域名,提高服务能力,这一系列域名的SOA都为此厂商。收集这些厂商的SOA,构建成为SOA白名单。检测模型检测结果为异常域名时,先进行IP检测,若IP检测结果为IP存在,说明域名检测模型的检测结果与IP查询结果出现了分歧,因此进一步进行SOA匹配校正,将待测域名的SOA与上述SOA白名单匹配,能有效的避免误报。具体的,若测域名与白名单匹配成功,则待测域名的检测结果为正常域名,若待测域名与白名单匹配失败,则待测域名的检测结果为异常域名,即DGA域名。
实施例2
本发明的实施例2提供了域名匹配检测装置,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现实施例1提供的域名匹配检测方法。
本发明实施例提供的域名匹配检测装置,用于实现域名匹配检测方法,因此,域名匹配检测方法所具备的技术效果,域名匹配检测装置同样具备,在此不再赘述。
实施例3
本发明的实施例3提供了计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现实施例1提供的域名匹配检测方法。
本发明实施例提供的计算机存储介质,用于实现域名匹配检测方法,因此,域名匹配检测方法所具备的技术效果,计算机存储介质同样具备,在此不再赘述。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。
Claims (7)
1.一种域名匹配检测方法,其特征在于,包括以下步骤:
收集域名样本,并将所述域名样本转换为样本向量,建立训练样本集;
采用所述训练样本集对卷积神经网络进行训练,得到域名检测模型;
根据所述域名检测模型对待测域名进行检测,得到检测结果;
所述检测结果为异常域名时,进一步查询待测域名的IP地址,根据IP查询结果对所述检测结果进行修正;
根据I P查询结果对所述检测结果进行修正,具体为:
如待测域名不存在IP地址,则不对所述检测结果进行修正,如果待测域名存在IP地址,则进一步查询待测域名的SOA,根据SOA查询结果对所述检测结果进行修正;
根据SOA查询结果对所述检测结果进行修正,具体为:
判断所述待测域名的SOA是否存在于预设的白名单中,如果存在,则将所述检测结果修正为正常域名,如果不存在,则不对所述检测结果进行修正。
2.根据权利要求1所述的域名匹配检测方法,其特征在于,将所述域名样本转换为样本向量,具体为:
采用Tokenizer向量化方法将所述域名样本转换为样本向量。
3.根据权利要求1所述的域名匹配检测方法,其特征在于,所述卷积神经网络为文本卷积神经网络,所述文本卷积神经网络包括卷积层、池化层、全连接层以及sigmoid层。
4.根据权利要求1所述的域名匹配检测方法,其特征在于,采用所述训练样本集对卷积神经网络进行训练,得到域名检测模型,具体为:
为所述训练样本集中正常域名的样本向量打上正常标签;
为所述训练样本集中异常域名的样本向量打上异常标签;
以所述正常域名的样本向量作为正样本,以所述异常域名的样本向量作为负样本,对卷积神经网络进行训练,得到域名检测模型。
5.根据权利要求4所述的域名匹配检测方法,其特征在于,以所述正常域名的样本向量作为正样本,以所述异常域名的样本向量作为负样本,对卷积神经网络进行训练,得到域名检测模型,具体为:
对所述卷积神经网络进行初始化,将样本向量划分为训练集和测试集;
采用所述训练集进行训练,得到域名检测模型;
采用域名检测模型对测试集中域名样本进行预测,得到预测结果;
采用交叉熵损失函数计算所述域名检测模型的损失值;
判断所述损失值是否大于设定值,如果大于,则采用sigmoid优化算法对模型参数进行反向传播优化,并继续进行训练,否则直接输出所述域名检测模型。
6.一种域名匹配检测装置,其特征在于,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-5任一所述的域名匹配检测方法。
7.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-5任一所述的域名匹配检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010051815.8A CN111291078B (zh) | 2020-01-17 | 2020-01-17 | 一种域名匹配检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010051815.8A CN111291078B (zh) | 2020-01-17 | 2020-01-17 | 一种域名匹配检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111291078A CN111291078A (zh) | 2020-06-16 |
CN111291078B true CN111291078B (zh) | 2021-02-02 |
Family
ID=71018291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010051815.8A Active CN111291078B (zh) | 2020-01-17 | 2020-01-17 | 一种域名匹配检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291078B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104765A (zh) * | 2020-11-20 | 2020-12-18 | 武汉绿色网络信息服务有限责任公司 | 非法网站的检测方法及装置 |
CN116074081B (zh) * | 2023-01-28 | 2023-06-13 | 鹏城实验室 | Dga域名检测方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000027086A2 (en) * | 1998-10-30 | 2000-05-11 | Science Applications International Corporation | Network protocol for secure communications |
US10440042B1 (en) * | 2016-05-18 | 2019-10-08 | Area 1 Security, Inc. | Domain feature classification and autonomous system vulnerability scanning |
CN107786575B (zh) * | 2017-11-11 | 2020-07-10 | 北京信息科技大学 | 一种基于dns流量的自适应恶意域名检测方法 |
CN109302418B (zh) * | 2018-11-15 | 2021-11-12 | 东信和平科技股份有限公司 | 一种基于深度学习的恶意域名检测方法及装置 |
CN109951472A (zh) * | 2019-03-13 | 2019-06-28 | 武汉智美互联科技有限公司 | 一种基于cnn深度学习的dga域名检测方法 |
-
2020
- 2020-01-17 CN CN202010051815.8A patent/CN111291078B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111291078A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110730140B (zh) | 基于时空特性相结合的深度学习流量分类方法 | |
US10033757B2 (en) | Identifying malicious identifiers | |
CN110351301B (zh) | 一种http请求双层递进式异常检测方法 | |
CN109450845B (zh) | 一种基于深度神经网络的算法生成恶意域名检测方法 | |
CN112910929B (zh) | 基于异质图表示学习的恶意域名检测方法及装置 | |
Ortet Lopes et al. | Towards effective detection of recent DDoS attacks: A deep learning approach | |
CN111131260B (zh) | 一种海量网络恶意域名识别和分类方法及系统 | |
CN110868404B (zh) | 一种基于tcp/ip指纹的工控设备自动识别方法 | |
CN114050912B (zh) | 一种基于深度强化学习的恶意域名检测方法和装置 | |
CN111245784A (zh) | 多维度检测恶意域名的方法 | |
Malaysia | ‘An enhanced online phishing e-mail detection framework based on evolving connectionist system | |
CN111291078B (zh) | 一种域名匹配检测方法及装置 | |
CN109525577B (zh) | 基于http行为图的恶意软件检测方法 | |
CN111835763A (zh) | 一种dns隧道流量检测方法、装置及电子设备 | |
CN111367908A (zh) | 一种基于安全评估机制的增量式入侵检测方法及系统 | |
CN112884121A (zh) | 基于生成对抗深度卷积网络的流量识别方法 | |
CN117892102B (zh) | 基于主动学习的入侵行为检测方法、系统、设备及介质 | |
Haghighat et al. | SAWANT: smart window based anomaly detection using netflow traffic | |
Peng et al. | Malicious URL recognition and detection using attention-based CNN-LSTM | |
CN111447169B (zh) | 一种在网关上的实时恶意网页识别方法及系统 | |
CN116781341A (zh) | 一种基于大语言模型的去中心化网络DDoS攻击识别方法 | |
CN116112209A (zh) | 漏洞攻击流量检测方法及装置 | |
CN112968906A (zh) | 一种基于多元组的Modbus TCP异常通讯检测方法和系统 | |
Skandarsini et al. | Enhancing Cybersecurity: A Multilayered Approach to Phishing Website Detection Using Machine Learning | |
CN113347021B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |