CN113746952A - Dga域名检测方法、装置、电子设备及计算机存储介质 - Google Patents

Dga域名检测方法、装置、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN113746952A
CN113746952A CN202111074752.9A CN202111074752A CN113746952A CN 113746952 A CN113746952 A CN 113746952A CN 202111074752 A CN202111074752 A CN 202111074752A CN 113746952 A CN113746952 A CN 113746952A
Authority
CN
China
Prior art keywords
domain name
detected
simhash
hamming distance
average hamming
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.)
Granted
Application number
CN202111074752.9A
Other languages
English (en)
Other versions
CN113746952B (zh
Inventor
张羽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202111074752.9A priority Critical patent/CN113746952B/zh
Publication of CN113746952A publication Critical patent/CN113746952A/zh
Application granted granted Critical
Publication of CN113746952B publication Critical patent/CN113746952B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Signal Processing (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种DGA域名检测方法、装置、电子设备及计算机存储介质,通过获取pcap格式的网络数据包,提取网络数据包中的DNS请求包和DNS请求包中的请求域名;对请求域名进行过滤,将得到的未知域名作为待检测域名;利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名;对恶意域名进行家族聚类,得到每个家族的DGA域名。在本方案中,先过滤请求域名,将得到的未知域名作为待检测域名,再通过Simhash算法检测待检测域名,并对区分出的待检测域名中的恶意域名进行家族聚类,从而得到每个家族的DGA域名,进而提高DGA域名检测效率以及降低DGA域名检测的误报率。

Description

DGA域名检测方法、装置、电子设备及计算机存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种DGA域名检测方法、装置、电子设备及计算机存储介质。
背景技术
DGA即域名生成算法,它是一种利用特定种子字符,结合加密算法,进而生成一系列伪随机恶意域名的方法。伪随机意味着字符串序列似乎是随机的,但由于其结构可以预先确定,因此可以重复产生和复制。恶意软件可以使被感染主机通过DGA域名与攻击者的命令与控制(C2)服务器建立网络连接,从而接收来自C2服务器的命令,向受害主机发动DNS攻击。
在现有技术中,通过DGA域名检测可以发现隐蔽性攻击行为,目前采用的DGA域名检测多为基于机器学习、深度学习的DGA域名检测方法。但是,现有的基于机器学习的DGA域名检测方法依赖于训练样本的数量,需要对大量样本进行训练,由于不同DGA家族域名数量相差较大,会存在DGA样本数据分布不均衡,导致对各类DGA家族域名的检测率差别较大的问题。同时,现有的DGA检测方法对于随机性较高的域名进行识别时比较困难,且误报率较高。
综上所述,采用现有的DGA域名检测方法会导致DGA域名检测效率低、误报率高的问题。
发明内容
有鉴于此,本发明实施例提供一种DGA域名检测方法、装置、电子设备及计算机存储介质,以解决现有DGA域名检测效率低、误报率高的问题。
为解决上述问题,本发明实施例提供如下技术方案:
本发明实施例第一方面公开了一种DGA域名检测方法,所述方法包括:
获取pcap格式的网络数据包,提取所述网络数据包中的DNS请求包和所述DNS请求包中的请求域名;
对所述请求域名进行过滤,将得到的未知域名作为待检测域名;
利用Simhash算法对所述待检测域名进行检测,区分所述待检测域名中的合法域名和恶意域名;
对所述恶意域名进行家族聚类,得到每个家族的DGA域名。
可选的,所述对所述请求域名进行过滤,将得到的未知域名作为待检测域名,包括:
对所述请求域名进行去重处理,得到去重后的请求域名;
剔除所述去重后的请求域名中包含特殊字符的请求域名,得到有效域名;
利用黑白名单对所述有效域名进行过滤,滤除所述黑白名单中已知的域名,得到未知域名,并将所述未知域名作为待检测域名。
可选的,所述利用Simhash算法对所述待检测域名进行检测,区分所述待检测域名中的合法域名和恶意域名,包括:
利用Simhash算法对每一个所述待检测域名进行处理,得到以Simhash值表示的每个所述待检测域名;
将每个所述Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,所述黑名单Simhash样本库和白名单Simhash样本库中的域名预先利用Simhash算法进行处理,转换为对应的Simhash值;
针对每个待检测域名,比较所述黑名单平均海明距离和白名单平均海明距离的大小;
若所述白名单平均海明距离小于所述黑名单平均海明距离,确定所述待检测域名为合法域名;
若所述白名单平均海明距离大于所述黑名单平均海明距离,确定所述待检测域名为恶意域名;
若所述白名单平均海明距离等于所述黑名单平均海明距离,判断所述白名单平均海明距离或者所述黑名单平均海明距离是否小于预设阈值;
若小于阈值,确定所述待检测域名为合法域名;
若大于或等于阈值,确定所述待检测域名为恶意域名。
可选的,还包括:
按照域名级别分别对黑名单和白名单中的域名进行级别划分,得到划分不同级别的域名,每个级别设置有对应的索引;
针对每个级别中的域名,利用Simhash算法进行处理,得到转换为对应Simhash值的域名;
所述将每个所述Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,包括:
确定每个所述Simhash值对应的待检测域名的级别,基于索引将所述Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库中具有相同级别的Simhash值进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离。
可选的,所述对所述恶意域名进行家族聚类,得到每个家族的DGA域名,包括:
针对每个所述恶意域名进行特征提取和融合,生成多维特征向量;
对每个所述多维特征向量进行降维处理,得到降维特征向量;
利用DBSCAN对所有所述降维特征向量进行聚类,得到每个家族的DGA域名。
本发明实施例第二方面公开了一种DGA域名检测装置,所述装置包括:
提取模块,用于获取pcap格式的网络数据包,提取所述网络数据包中的DNS请求包和所述DNS请求包中的请求域名;
过滤模块,用于对所述请求域名进行过滤,将得到的未知域名作为待检测域名;
Simhash模块,用于利用Simhash算法对所述待检测域名进行检测,区分所述待检测域名中的合法域名和恶意域名;
聚类模块,用于对所述恶意域名进行家族聚类,得到每个家族的DGA域名。
可选的,所述Simhash模块,包括:
Simhash计算单元,用于利用Simhash算法对每一个所述待检测域名进行处理,得到以Simhash值表示的每个所述待检测域名;
距离计算单元,用于将每个所述Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,所述黑名单Simhash样本库和白名单Simhash样本库中的域名预先利用Simhash算法进行处理,转换为对应的Simhash值;
确定单元,用于针对每个待检测域名,比较所述黑名单平均海明距离和白名单平均海明距离的大小;若所述白名单平均海明距离小于所述黑名单平均海明距离,确定所述待检测域名为合法域名;若所述白名单平均海明距离大于所述黑名单平均海明距离,确定所述待检测域名为恶意域名;若所述白名单平均海明距离等于所述黑名单平均海明距离,判断所述白名单平均海明距离或者所述黑名单平均海明距离是否小于预设阈值;若小于阈值,确定所述待检测域名为合法域名;若大于或等于阈值,确定所述待检测域名为恶意域名。
可选的,所述聚类模块,包括:
特征处理单元,用于针对每个所述恶意域名进行特征提取和融合,生成多维特征向量;
降维单元,用于对每个所述多维特征向量进行降维处理,得到降维特征向量;
聚类单元,用于利用DBSCAN对所有所述降维特征向量进行聚类,得到每个家族的DGA域名。
本发明实施例第三方面公开了一种电子设备,包括处理器和存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于调用并执行所述存储器中存储的计算机程序时,实现本发明实施例第一方面公开的DGA域名检测方法。
本发明实施例第四方面公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现本发明实施例第一方面公开的DGA域名检测方法。
基于上述本发明实施例提供的一种DGA域名检测方法、装置、电子设备及计算机存储介质,所述方法包括:获取pcap格式的网络数据包,提取所述网络数据包中的DNS请求包和所述DNS请求包中的请求域名;对所述请求域名进行过滤,将得到的未知域名作为待检测域名;利用Simhash算法对所述待检测域名进行检测,区分所述待检测域名中的合法域名和恶意域名;对所述恶意域名进行家族聚类,得到每个家族的DGA域名。在本方案中,先过滤请求域名,将得到的未知域名作为待检测域名,再通过Simhash算法检测待检测域名,并对区分出的待检测域名中的恶意域名进行家族聚类,从而得到每个家族的DGA域名,进而提高DGA域名检测效率以及降低DGA域名检测的误报率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种DGA域名检测方法的流程示意图;
图2为本发明实施例提供的一种对请求域名进行数据预处理的流程示意图;
图3为本发明实施例提供的一种区分待检测域名中的合法域名和恶意域名的流程示意图;
图4为本发明实施例提供的另一种区分待检测域名中的合法域名和恶意域名的流程示意图;
图5为本发明实施例提供的一种基于Simhash算法的DGA域名检测的流程示意图;
图6为本发明实施例提供的一种进行家族聚类的流程示意图;
图7为本发明实施例提供的一种基于DBSCAN算法的DGA家族聚类的流程示意图;
图8为本发明实施例提供的一种DGA域名检测装置的结构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了便于理解本发明的技术方案,对本发明中出现的技术术语进行说明:
pcap流量包:pcap是一种常用的数据报存储格式,pcap流量包是一种pcap格式的网络数据包。
DNS:域名系统,是互联网的一项服务,作为将域名和IP地址相互映射的一个分布式数据库,能够使用户更方便地访问互联网。
Simhash:是一种局部敏感散列算法,最早在2002年被Charika等人提出,专门用来解决亿万级别的网页去重任务,包括分词、hash、加权、合并、降维等5个步骤。
DBSCAN:基于密度的聚类算法,将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。
DGA:域名生成算法,利用特定种子字符,结合加密算法,进而生成一系列伪随机恶意域名的方法。
n-gram:是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为n的滑动窗口操作,形成了长度是n的字节片段序列。
海明距离:两个码字的对应比特取值不同的比特数。
分类:是有监督学习的一个分支,其目的是根据过去的观测结果来预测新样本的分类标签。
聚类:按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。
熵:对随机事件不确定性的信息度量。
TSNE:目前最好的降维处理方法,属于流行学习方法。
降维:将高维特征降至低维特征。
min-max归一化:利用特征的最大最小值,将特征的值缩放到[0,1]区间。
z-score标准化:将数据按比例缩放,使之落入一个特定区间。
由背景技术可知,采用现有的DGA域名检测方法会导致DGA域名检测效率低、误报率高的问题。
因此,本发明实施例提供一种DGA域名检测方法、装置、电子设备及计算机存储介质,在本方案中,先过滤请求域名,将得到的未知域名作为待检测域名,再通过Simhash算法检测待检测域名,并对区分出的待检测域名中的恶意域名进行家族聚类,从而得到每个家族的DGA域名,进而提高DGA域名检测效率以及降低DGA域名检测的误报率。
如图1所示,为本发明实施例提供的一种DGA域名检测方法的流程示意图,该方法主要包括以下步骤:
步骤S101:获取pcap格式的网络数据包,提取网络数据包中的DNS请求包和DNS请求包中的请求域名。
在具体实现步骤S101的过程中,获取pcap格式的网络数据包,即获取pcap流量包,从pcap流量包中提取DNS请求包,再从DNS请求包中提取请求域名。
步骤S102:对请求域名进行过滤,将得到的未知域名作为待检测域名。
在具体实现步骤S102的过程中,对请求域名进行数据预处理,具体为:对请求域名进行去重处理、去特殊字符处理、以及过滤处理,得到未知域名,并将未知域名作为待检测域名。
需要说明的是,去重处理是指只保留多个相同数据中的一个数据。
特殊字符是指26个英文字母,0~9的数字以及-和_字符除外的其余字符。
去特殊字符处理是指剔除包含特殊字符的请求域名。
过滤处理是指利用黑白名单过滤请求域名。
其中,白名单来自Alexatop网站域名,黑名单来自360公开威胁情报DGA域名。
步骤S103:利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名。
在具体实现步骤S103的过程中,将待检测域名输入至Simhash算法中进行域名检测,得到待检测域名中的合法域名和恶意域名,并区分待检测域名中的合法域名和恶意域名。
步骤S104:对恶意域名进行家族聚类,得到每个家族的DGA域名。
可选的,可以基于DBSCAN算法对恶意域名进行家族聚类,但不仅限于此。
在具体实现步骤S104的过程中,利用DBSCAN算法对恶意域名进行家族聚类,得到每个家族的DGA域名。
基于本发明实施例提供的一种DGA域名检测方法,通过获取pcap格式的网络数据包,提取网络数据包中的DNS请求包和DNS请求包中的请求域名;对请求域名进行过滤,将得到的未知域名作为待检测域名;利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名;对恶意域名进行家族聚类,得到每个家族的DGA域名。在本方案中,先过滤请求域名,将得到的未知域名作为待检测域名,再通过Simhash算法检测待检测域名,并对区分出的待检测域名中的恶意域名进行家族聚类,从而得到每个家族的DGA域名,进而提高DGA域名检测效率以及降低DGA域名检测的误报率。
基于上述本发明实施例提供的一种DGA域名检测方法,执行步骤S102对请求域名进行过滤,将得到的未知域名作为待检测域名的过程。如图2所示,为本发明实施例提供的一种对请求域名进行数据预处理的流程示意图,主要包括以下步骤:
步骤S201:对请求域名进行去重处理,得到去重后的请求域名。
在具体实现步骤S201的过程中,对提取到的请求域名进行去重处理,得到去重后的请求域名。
步骤S202:剔除去重后的请求域名中包含特殊字符的请求域名,得到有效域名。
在具体实现步骤S202的过程中,剔除去重后的请求域名中包含特殊字符的请求域名,即剔除去重后的请求域名中包含特殊字符的无效域名,得到有效域名。
步骤S203:利用黑白名单对有效域名进行过滤,滤除黑白名单中已知的域名,得到未知域名,并将未知域名作为待检测域名。
在具体实现步骤S203的过程中,利用黑名单和白名单分别对得到的有效域名进行过滤,过滤掉已存在于黑名单和白名单中的已知的域名,得到剩下的未知域名,将未知域名作为待检测域名。
基于本发明实施例提供的一种DGA域名检测方法,通过对提取到的请求域名进行去重处理、去特殊字符处理、以及过滤处理,将得到的未知域名作为待检测域名,为后续进行域名检测提供基础,从而提高DGA域名检测效率以及降低DGA域名检测的误报率。
基于上述本发明实施例提供的一种DGA域名检测方法,执行步骤S103利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名的过程。如图3所示,为本发明实施例提供的一种区分待检测域名中的合法域名和恶意域名的流程示意图,主要包括以下步骤:
步骤S301:利用Simhash算法对每一个待检测域名进行处理,得到以Simhash值表示的每个待检测域名。
在具体实现步骤S301的过程中,将每一个待检测域名输入至Simhash算法进行处理,即进行分词、散列、加权、合并以及降维处理,得到以Simhash值表示的每个待检测域名,具体的处理过程包括以下步骤:
步骤S11:对每一个待检测域名进行分词处理,即按照“.”将每一个待检测域名进行分词处理,得到每一个待检测域名的各个分词。
例如:某个待检测域名为www.baidu.com,按照“.”对该待检测域名进行分词处理,得到三个词,分别为:www,baidu,com。
步骤S12:对每一个待检测域名的各个分词进行赋权处理,即对每一个待检测域名的各个分词设置不同的权重。
需要说明的是,同一个待检测域名的各个分词的权值之和为1,而且,顶级域分词的权值>2级域分词的权值>3级域分词的权值。
步骤S13:利用普通散列函数计算每个待检测域名的各个分词的散列值,得到每个待检测域名的各个分词对应的长度为L的bit(比特)序列,从长度为L的bit序列中取其中的64bit进行后续处理。
其中,每一个bit位的值为0或1。
步骤S14:对每个待检测域名的各个分词的各个bit位进行加权处理,得到各个分词的最终加权向量。
需要说明的是,当bit位的值为0时,该bit位表示为负的权值,当bit位的值为1时,该bit位表示为正的权值。
例如:某个分词的散列值为101000,权值为0.1,则该分词的加权向量为[0.1-0.10.1-0.1-0.1-0.1]。
步骤S15:将每一个待检测域名的各个分词的加权向量进行累加,得到每一个待检测域名对应的64位的bit序列。
例如:某个待检测域名有两个分词,分词1的加权向量为[0.1-0.10.1-0.1-0.1-0.1],分词2的加权向量为[0.90.90.9-0.9-0.9-0.9],将分词1和分词2进行累加后得到的bit序列为[10.81-1-1-1]。
步骤S16:对得到的64位的bit序列进行降维处理,具体为:当64位的bit序列的任一位的值大于0,则将该位置换为1,当64位的bit序列的任一位的值小于等于0,则将该位置换为0,得到每一个待检测域名的64位Simhash值,也就是说,得到以Simhash值表示的每个待检测域名。
以步骤S15中的例子为例,某个待检测域名的各个分词累加后得到的bit序列为[10.81-1-1-1],对该bit序列进行降维处理,根据降维处理规则,该待检测域名进行降维后得到的Simhash值为111000。
步骤S302:将每个Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离。
在步骤S302中,黑名单Simhash样本库和白名单Simhash样本库中的域名预先利用Simhash算法进行处理,转换为对应的Simhash值。
在具体实现步骤S302的过程中,先分别计算黑名单和白名单中的域名的Simhash值,得到黑名单对应的黑名单Simhash样本库,以及白名单对应的白名单Simhash样本库,再将每一个待检测域名的Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离。
需要说明的是,海明距离越小,待检测域名与黑名单或白名单中的域名的相似度越大。
步骤S303:针对每个待检测域名,比较黑名单平均海明距离和白名单平均海明距离的大小。
在具体实现步骤S303的过程中,对于每个待检测域名,将每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离进行比较,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离的大小。
步骤S304:判断白名单平均海明距离是否等于黑名单平均海明距离,若是,执行步骤S305,若否,执行步骤S308。
在具体实现步骤S304的过程中,判断白名单平均海明距离是否等于黑名单平均海明距离,若是,说明白名单平均海明距离等于黑名单平均海明距离,执行步骤S305,若否,说明白名单平均海明距离小于或者大于黑名单平均海明距离,执行步骤S308。
步骤S305:判断白名单平均海明距离或者黑名单平均海明距离是否小于预设阈值,若是,执行步骤S306,若否,执行步骤S307。
需要说明的是,只要白名单平均海明距离小于预设阈值,或者,黑名单平均海明距离小于预设阈值,就执行步骤S306。
只要白名单平均海明距离大于或等于预设阈值,或者,黑名单平均海明距离大于或等于预设阈值,就执行步骤S307。
在具体实现步骤S305的过程中,判断白名单平均海明距离或者黑名单平均海明距离是否小于预设阈值,若是,说明白名单平均海明距离或者黑名单平均海明距离小于预设阈值,执行步骤S306,若否,说明白名单平均海明距离或者黑名单平均海明距离大于或等于预设阈值,执行步骤S307。
步骤S306:确定待检测域名为合法域名。
在具体实现步骤S306的过程中,确定白名单平均海明距离或者黑名单平均海明距离小于预设阈值,或者,确定白名单平均海明距离小于黑名单平均海明距离,进而确定待检测域名为合法域名。
步骤S307:确定待检测域名为恶意域名。
在具体实现步骤S307的过程中,确定白名单平均海明距离或者黑名单平均海明距离大于或等于预设阈值,或者,确定白名单平均海明距离大于黑名单平均海明距离,进而确定待检测域名为恶意域名。
步骤S308:判断白名单平均海明距离是否小于黑名单平均海明距离,若是,执行步骤S306,若否,执行步骤S307。
在具体实现步骤S308的过程中,判断白名单平均海明距离是否小于黑名单平均海明距离,若是,说明白名单平均海明距离小于黑名单平均海明距离,执行步骤S306,若否,说明白名单平均海明距离大于黑名单平均海明距离,执行步骤S307。
基于本发明实施例提供的一种DGA域名检测方法,通过计算每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,并比较黑名单平均海明距离和白名单平均海明距离的大小并进行相应的操作,为后续操作提供基础,从而提高DGA域名检测效率以及降低DGA域名检测的误报率。
基于上述本发明实施例提供的一种DGA域名检测方法,为本发明实施例提供的另一种执行步骤S103利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名的过程。如图4所示,主要包括以下步骤:
步骤S401:利用Simhash算法对每一个待检测域名进行处理,得到以Simhash值表示的每个待检测域名。
上述步骤S401的执行原理和过程与图3中公开的步骤S301的执行原理和过程相同,可参见,这里不再赘述。
步骤S402:按照域名级别分别对黑名单和白名单中的域名进行级别划分,得到划分不同级别的域名。
在步骤S402中,每个级别设置有对应的索引。
不同级别的域名可以为一级域名、二级域名、三级域名,但不仅限于此。
在具体实现步骤S402的过程中,分别将黑名单中的域名和白名单中的域名按照域名级别进行级别划分,得到划分不同级别的域名。
步骤S403:针对每个级别中的域名,利用Simhash算法进行处理,得到转换为对应Simhash值的域名。
在具体实现步骤S403的过程中,针对每个级别中的域名,利用Simhash算法对每个级别中的域名进行处理,即计算每个级别中的域名的Simhash值,进而得到转换为对应Simhash值的域名。
步骤S404:确定每个Simhash值对应的待检测域名的级别,基于索引将Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库中具有相同级别的Simhash值进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离。
在具体实现步骤S404的过程中,确定每个Simhash值对应的待检测域名的级别,基于每个级别对应的索引,将每个待检测域名的Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库中具有相同级别的Simhash值进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离。
步骤S405:针对每个待检测域名,比较黑名单平均海明距离和白名单平均海明距离的大小。
步骤S406:判断白名单平均海明距离是否等于黑名单平均海明距离,若是,执行步骤S407,若否,执行步骤S410。
步骤S407:判断白名单平均海明距离或者黑名单平均海明距离是否小于预设阈值,若是,执行步骤S408,若否,执行步骤S409。
步骤S408:确定待检测域名为合法域名。
步骤S409:确定待检测域名为恶意域名。
步骤S410:判断白名单平均海明距离是否小于黑名单平均海明距离,若是,执行步骤S408,若否,执行步骤S409。
上述步骤S405至步骤S410的执行原理和过程与图3中公开的步骤S303至步骤S308的执行原理和过程相同,可参见,这里不再赘述。
基于本发明实施例提供的一种DGA域名检测方法,通过划分黑名单和白名单中的域名的级别,并确定每个Simhash值对应的待检测域名的级别,根据每个级别对应的索引,计算每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,并比较黑名单平均海明距离和白名单平均海明距离的大小并进行相应的操作,此时待检测域名不需要比较全部黑白名单样本库,而是通过索引比较对应级别域名的海明距离,从而减少计算开销,进而提高DGA域名检测效率以及降低DGA域名检测的误报率。
为了更好地理解上述本发明实施例提供的一种DGA域名检测方法,如图5所示,为本发明实施例提供的一种基于Simhash算法的DGA域名检测的流程示意图。
在图5中,首先,获取pcap流量包,对pcap流量包中的数据进行预处理,具体为:从pcap流量包中提取DNS请求包,再从DNS请求包中提取请求域名,再对请求域名进行去重处理、去特殊字符处理,以及利用黑白名单过滤请求域名处理,得到未知域名,并将未知域名作为待检测域名。
然后,利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名,具体为:利用Simhash算法对每一个待检测域名进行分词、散列、加权、合并以及降维处理,计算每一个待检测域名对应的Simhash,得到以Simhash值表示的每个待检测域名。
将每个Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离
Figure BDA0003261707900000151
和白名单平均海明距离
Figure BDA0003261707900000152
判断白名单平均海明距离
Figure BDA0003261707900000153
是否等于黑名单平均海明距离
Figure BDA0003261707900000156
若是,判断白名单平均海明距离或者黑名单平均海明距离是否小于预设阈值,若是,确定待检测域名为合法域名,若否,确定待检测域名为恶意域名。
若否,判断白名单平均海明距离
Figure BDA0003261707900000154
是否小于黑名单平均海明距离
Figure BDA0003261707900000155
若是,确定待检测域名为合法域名,若否,确定待检测域名为恶意域名。
基于本发明实施例提供的一种DGA域名检测方法,先过滤请求域名,将得到的未知域名作为待检测域名,再通过Simhash算法检测待检测域名,区分出的待检测域名中的合法域名和恶意域名,从而提高DGA域名检测效率以及降低DGA域名检测的误报率。
基于上述本发明实施例提供的一种DGA域名检测方法,执行步骤S104对恶意域名进行家族聚类,得到每个家族的DGA域名的过程。如图6所示,为本发明实施例提供的一种进行家族聚类的流程示意图,主要包括以下步骤:
步骤S601:针对每个恶意域名进行特征提取和融合,生成多维特征向量。
在具体实现步骤S601的过程中,针对检测出的每个恶意域名,对每个恶意域名进行特征提取和特征融合,即提取恶意域名的n-gram特征、字符熵值特征、数字特征以及有意义字符所占百分比特征,对提取出的特征进行特征融合,也就是说,对提取出的特征进行归一化及标准化处理,生成多维特征向量。
需要说明的是,在进行特征融合时,由于提取的各个特征取值浮动较大,需要将特征值缩放至相同区间,再进行特征融合。
在本发明实施例中,可以利用min-max函数进行归一化处理,或者,利用z-score进行标准化处理,但不仅限于此。
具体的特征提取过程包括以下步骤:
步骤S21:提取恶意域名的n-gram特征。
在具体实现步骤S21的过程中,由上述的技术术语可知,n-gram是长度为n的字节片段序列,当n=2时,n-gram称为bigram,当n=3时,n-gram称为trigram,利用bigram和trigram的特性,区分域名的可读性。
由于DGA算法生成的域名产生的bigram和trigram比较分散,并且不同DGA算法产生的域名的可读性不同,因此,将bigram和trigram作为特征,分别统计恶意域名的2级域和3级域部分的相邻双字符和相邻三字符在语料库中出现次数的平均值,方差及中位数。
步骤S22:提取恶意域名的字符熵值特征。
需要说明的是,DGA算法生成的域名大多数都是随机字符,具有无序性,而熵能度量随机字符串的无序性,字符串越无序,随机性越高,熵越大,反之,字符串越有序,随机性越低,熵越小。并且不同家族域名的无序性不同,熵不同。因此,用熵的特征可以量化不同家族域名字符串的随机性大小。
在具体实现步骤S22的过程中,确定恶意域名的级别,分别求出恶意域名的2级域及3级域的字符熵值。
步骤S23:提取恶意域名的数字特征。
需要说明的是,DGA算法生成的域名一般由纯字符或者字符与数字混合的随机字符串构成,并且同一DGA算法生成的域名具有较高的相似性。
在具体实现步骤S23的过程中,基于同一DGA算法生成的域名具有的较高的相似性,分别提取恶意域名的总长度特征,2级域及3级域的长度,n级域n的取值以及2级域和3级域中数字字符所占的百分比特征。
步骤S24:提取恶意域名的有意义字符所占百分比特征。
需要说明的是,一些高级DGA算法为了提高抗逃逸能力,生成类似于人工生成的域名,与其他DGA算法相比具有可读性。
在具体实现步骤S24的过程中,基于上述情况,分别统计恶意域名的2级域以及3级域字符串中有意义字符的百分比,并选取有意义字符的最大值的百分比。
步骤S602:对得到的多维特征向量进行降维处理,得到降维特征向量。
在本发明实施例中,可以利用TSNE算法对得到的多维特征向量进行降维处理,但不仅限于此。
步骤S603:利用DBSCAN对降维特征向量进行聚类,得到每个家族的DGA域名。
在具体实现步骤S603的过程中,利用DBSCAN对所有降维特征向量进行聚类,具体为:通过对所有降维特征向量进行调参处理,并根据输出图形综合判断聚类效果,对聚类效果进行适当后处理,得到最终聚类结果,生成各个家族的DGA域名。
为了更好地理解上述说明内容,如图7所示,为本发明实施例提供的一种基于DBSCAN算法的DGA家族聚类的流程示意图。
在图7中,首先,对检测出的恶意域名进行特征提取,即提取恶意域名的n-gram特征、字符熵值特征、数字特征以及有意义字符所占百分比特征。
然后,对提取出的特征进行特征融合,也就是说,对提取出的特征进行归一化及标准化处理,生成多维特征向量。
再然后,对每个多维特征向量进行降维处理,得到降维特征向量。
最后,利用DBSCAN对所有降维特征向量进行聚类,得到每个家族的DGA域名。
基于本发明实施例提供的一种DGA域名检测方法,通过利用DBSCAN对待检测域名中的恶意域名进行家族聚类,从而得到每个家族的DGA域名,进而提高DGA域名检测效率以及降低DGA域名检测的误报率。
与上述本发明实施例示出的一种DGA域名检测方法相对应,本发明实施例还对应提供了一种DGA域名检测装置,如图8所示,该DGA域名检测装置包括:提取模块81、过滤模块82、Simhash模块83和聚类模块84。
提取模块81,用于获取pcap格式的网络数据包,提取网络数据包中的DNS请求包和DNS请求包中的请求域名。
过滤模块82,用于对请求域名进行过滤,将得到的未知域名作为待检测域名。
Simhash模块83,用于利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名。
聚类模块84,用于对恶意域名进行家族聚类,得到每个家族的DGA域名。
需要说明的是,上述本发明实施例公开的DGA域名检测装置中的各个模块或各个单元具体的原理和执行过程,与上述本发明实施DGA域名检测方法相同,可参见上述本发明实施例公开的DGA域名检测方法中相应的部分,这里不再进行赘述。
基于本发明实施例提供的一种DGA域名检测装置,通过获取pcap格式的网络数据包,提取网络数据包中的DNS请求包和DNS请求包中的请求域名;对请求域名进行过滤,将得到的未知域名作为待检测域名;利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名;对恶意域名进行家族聚类,得到每个家族的DGA域名。在本方案中,先过滤请求域名,将得到的未知域名作为待检测域名,再通过Simhash算法检测待检测域名,并对区分出的待检测域名中的恶意域名进行家族聚类,从而得到每个家族的DGA域名,进而提高DGA域名检测效率以及降低DGA域名检测的误报率。
可选的,基于上述图8示出的过滤模块82,所述过滤模块82还包括:去重单元、去特殊字符单元和过滤单元。
去重单元,用于对请求域名进行去重处理,得到去重后的请求域名。
去特殊字符单元,用于剔除去重后的请求域名中包含特殊字符的请求域名,得到有效域名。
过滤单元,用于利用黑白名单对有效域名进行过滤,滤除黑白名单中已知的域名,得到未知域名,并将未知域名作为待检测域名。
基于本发明实施例提供的一种DGA域名检测装置,通过对提取到的请求域名进行去重处理、去特殊字符处理、以及过滤处理,将得到的未知域名作为待检测域名,为后续进行域名检测提供基础,从而提高DGA域名检测效率以及降低DGA域名检测的误报率。
可选的,基于上述图8示出的Simhash模块83,所述Simhash模块83还包括:Simhash计算单元、距离计算单元和确定单元。
Simhash计算单元,用于利用Simhash算法对每一个待检测域名进行处理,得到以Simhash值表示的每个待检测域名。
距离计算单元,用于将每个Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,黑名单Simhash样本库和白名单Simhash样本库中的域名预先利用Simhash算法进行处理,转换为对应的Simhash值。
确定单元,用于针对每个待检测域名,比较黑名单平均海明距离和白名单平均海明距离的大小;若白名单平均海明距离小于黑名单平均海明距离,确定待检测域名为合法域名;若白名单平均海明距离大于黑名单平均海明距离,确定待检测域名为恶意域名;若白名单平均海明距离等于黑名单平均海明距离,判断白名单平均海明距离或者黑名单平均海明距离是否小于预设阈值;若小于阈值,确定待检测域名为合法域名;若大于或等于阈值,确定待检测域名为恶意域名。
基于本发明实施例提供的一种DGA域名检测装置,通过计算每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,并比较黑名单平均海明距离和白名单平均海明距离的大小并进行相应的操作,为后续操作提供基础,从而提高DGA域名检测效率以及降低DGA域名检测的误报率。
可选的,基于上述图8示出的Simhash模块83,所述Simhash模块83还包括:划分单元和处理单元。
划分单元,用于按照域名级别分别对黑名单和白名单中的域名进行级别划分,得到划分不同级别的域名,每个级别设置有对应的索引。
处理单元,用于针对每个级别中的域名,利用Simhash算法进行处理,得到转换为对应Simhash值的域名。
所述距离计算单元,具体用于:
确定每个Simhash值对应的待检测域名的级别,基于索引将Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库中具有相同级别的Simhash值进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离。
基于本发明实施例提供的一种DGA域名检测装置,通过划分黑名单和白名单中的域名的级别,并确定每个Simhash值对应的待检测域名的级别,根据每个级别对应的索引,计算每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,并比较黑名单平均海明距离和白名单平均海明距离的大小并进行相应的操作,为后续操作提供基础,从而提高DGA域名检测效率以及降低DGA域名检测的误报率。
可选的,基于上述图8示出的聚类模块84,所述聚类模块84还包括:特征处理单元、降维单元和聚类单元。
特征处理单元,用于针对每个恶意域名进行特征提取和融合,生成多维特征向量。
降维单元,用于对每个多维特征向量进行降维处理,得到降维特征向量。
聚类单元,用于利用DBSCAN对所有降维特征向量进行聚类,得到每个家族的DGA域名。
基于本发明实施例提供的一种DGA域名检测装置,通过利用DBSCAN对待检测域名中的恶意域名进行家族聚类,从而得到每个家族的DGA域名,进而提高DGA域名检测效率以及降低DGA域名检测的误报率。
基于上述本公开实施例公开的DGA域名检测装置,上述各个模块可以通过一种由处理器和存储器构成的硬件设备实现。具体为上述各个模块作为程序单元存储于存储器中,由处理器执行存储在存储器中的上述程序单元来实现DGA域名检测。
其中,处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现DGA域名检测。
本公开实施例提供了一种计算机存储介质,存储介质包括DGA域名检测程序,其中,程序被处理器执行时实现前述本发明实施例公开的DGA域名检测方法。
本公开实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例公开的DGA域名检测方法。
本公开实施例提供了一种电子设备,如图9所示,为本公开实施例提供的一种电子设备的结构示意图。
本公开实施例中的电子设备90可以是服务器、PC、PAD、手机等。
该电子设备90包括至少一个处理器901,以及与处理器连接的至少一个存储器902,以及总线903。
处理器901、存储器902通过总线903完成相互间的通信。
处理器901,用于执行存储器中存储的程序。
存储器902,用于存储程序,该程序至少用于:获取pcap格式的网络数据包,提取网络数据包中的DNS请求包和DNS请求包中的请求域名;对请求域名进行过滤,将得到的未知域名作为待检测域名;利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名;对恶意域名进行家族聚类,得到每个家族的DGA域名。
本申请还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有如下方法步骤的程序:
获取pcap格式的网络数据包,提取网络数据包中的DNS请求包和DNS请求包中的请求域名;对请求域名进行过滤,将得到的未知域名作为待检测域名;利用Simhash算法对待检测域名进行检测,区分待检测域名中的合法域名和恶意域名;对恶意域名进行家族聚类,得到每个家族的DGA域名。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本公开。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种DGA域名检测方法,其特征在于,所述方法包括:
获取pcap格式的网络数据包,提取所述网络数据包中的DNS请求包和所述DNS请求包中的请求域名;
对所述请求域名进行过滤,将得到的未知域名作为待检测域名;
利用Simhash算法对所述待检测域名进行检测,区分所述待检测域名中的合法域名和恶意域名;
对所述恶意域名进行家族聚类,得到每个家族的DGA域名。
2.根据权利要求1所述的方法,其特征在于,所述对所述请求域名进行过滤,将得到的未知域名作为待检测域名,包括:
对所述请求域名进行去重处理,得到去重后的请求域名;
剔除所述去重后的请求域名中包含特殊字符的请求域名,得到有效域名;
利用黑白名单对所述有效域名进行过滤,滤除所述黑白名单中已知的域名,得到未知域名,并将所述未知域名作为待检测域名。
3.根据权利要求1所述的方法,其特征在于,所述利用Simhash算法对所述待检测域名进行检测,区分所述待检测域名中的合法域名和恶意域名,包括:
利用Simhash算法对每一个所述待检测域名进行处理,得到以Simhash值表示的每个所述待检测域名;
将每个所述Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,所述黑名单Simhash样本库和白名单Simhash样本库中的域名预先利用Simhash算法进行处理,转换为对应的Simhash值;
针对每个待检测域名,比较所述黑名单平均海明距离和白名单平均海明距离的大小;
若所述白名单平均海明距离小于所述黑名单平均海明距离,确定所述待检测域名为合法域名;
若所述白名单平均海明距离大于所述黑名单平均海明距离,确定所述待检测域名为恶意域名;
若所述白名单平均海明距离等于所述黑名单平均海明距离,判断所述白名单平均海明距离或者所述黑名单平均海明距离是否小于预设阈值;
若小于阈值,确定所述待检测域名为合法域名;
若大于或等于阈值,确定所述待检测域名为恶意域名。
4.根据权利要求3所述的方法,其特征在于,还包括:
按照域名级别分别对黑名单和白名单中的域名进行级别划分,得到划分不同级别的域名,每个级别设置有对应的索引;
针对每个级别中的域名,利用Simhash算法进行处理,得到转换为对应Simhash值的域名;
所述将每个所述Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,包括:
确定每个所述Simhash值对应的待检测域名的级别,基于索引将所述Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库中具有相同级别的Simhash值进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离。
5.根据权利要求1所述的方法,其特征在于,所述对所述恶意域名进行家族聚类,得到每个家族的DGA域名,包括:
针对每个所述恶意域名进行特征提取和融合,生成多维特征向量;
对每个所述多维特征向量进行降维处理,得到降维特征向量;
利用DBSCAN对所有所述降维特征向量进行聚类,得到每个家族的DGA域名。
6.一种DGA域名检测装置,其特征在于,所述装置包括:
提取模块,用于获取pcap格式的网络数据包,提取所述网络数据包中的DNS请求包和所述DNS请求包中的请求域名;
过滤模块,用于对所述请求域名进行过滤,将得到的未知域名作为待检测域名;
Simhash模块,用于利用Simhash算法对所述待检测域名进行检测,区分所述待检测域名中的合法域名和恶意域名;
聚类模块,用于对所述恶意域名进行家族聚类,得到每个家族的DGA域名。
7.根据权利要求6所述的装置,其特征在于,所述Simhash模块,包括:
Simhash计算单元,用于利用Simhash算法对每一个所述待检测域名进行处理,得到以Simhash值表示的每个所述待检测域名;
距离计算单元,用于将每个所述Simhash值分别与黑名单Simhash样本库和白名单Simhash样本库进行平均海明距离计算,得到每个待检测域名对应的黑名单平均海明距离和白名单平均海明距离,所述黑名单Simhash样本库和白名单Simhash样本库中的域名预先利用Simhash算法进行处理,转换为对应的Simhash值;
确定单元,用于针对每个待检测域名,比较所述黑名单平均海明距离和白名单平均海明距离的大小;若所述白名单平均海明距离小于所述黑名单平均海明距离,确定所述待检测域名为合法域名;若所述白名单平均海明距离大于所述黑名单平均海明距离,确定所述待检测域名为恶意域名;若所述白名单平均海明距离等于所述黑名单平均海明距离,判断所述白名单平均海明距离或者所述黑名单平均海明距离是否小于预设阈值;若小于阈值,确定所述待检测域名为合法域名;若大于或等于阈值,确定所述待检测域名为恶意域名。
8.根据权利要求6所述的装置,其特征在于,所述聚类模块,包括:
特征处理单元,用于针对每个所述恶意域名进行特征提取和融合,生成多维特征向量;
降维单元,用于对每个所述多维特征向量进行降维处理,得到降维特征向量;
聚类单元,用于利用DBSCAN对所有所述降维特征向量进行聚类,得到每个家族的DGA域名。
9.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于调用并执行所述存储器中存储的计算机程序时,实现如权利要求1至5中任一项所述的DGA域名检测方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至5中任一项所述的DGA域名检测方法。
CN202111074752.9A 2021-09-14 2021-09-14 Dga域名检测方法、装置、电子设备及计算机存储介质 Active CN113746952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111074752.9A CN113746952B (zh) 2021-09-14 2021-09-14 Dga域名检测方法、装置、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111074752.9A CN113746952B (zh) 2021-09-14 2021-09-14 Dga域名检测方法、装置、电子设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN113746952A true CN113746952A (zh) 2021-12-03
CN113746952B CN113746952B (zh) 2024-04-16

Family

ID=78738679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111074752.9A Active CN113746952B (zh) 2021-09-14 2021-09-14 Dga域名检测方法、装置、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN113746952B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550021A (zh) * 2022-09-26 2022-12-30 东华理工大学 大数据环境下网络空间精准反制方法、系统及可存储介质
WO2024031884A1 (zh) * 2022-08-08 2024-02-15 天翼安全科技有限公司 一种域名同源判定方法、装置、电子设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160294859A1 (en) * 2015-03-30 2016-10-06 Electronics And Telecommunications Research Institute Apparatus and method for detecting malicious domain cluster
US20160294852A1 (en) * 2015-04-06 2016-10-06 Trend Micro Incorporated Determining string similarity using syntactic edit distance
CN107645503A (zh) * 2017-09-20 2018-01-30 杭州安恒信息技术有限公司 一种基于规则的恶意域名所属dga家族的检测方法
CN109246083A (zh) * 2018-08-09 2019-01-18 北京奇安信科技有限公司 一种dga域名的检测方法及装置
CN109462612A (zh) * 2018-12-27 2019-03-12 北京神州绿盟信息安全科技股份有限公司 一种僵尸网络中的攻击域名的确定方法及装置
WO2019136953A1 (zh) * 2018-01-15 2019-07-18 深圳市联软科技股份有限公司 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质
EP3614645A1 (en) * 2018-08-21 2020-02-26 Deutsche Telekom AG Embedded dga representations for botnet analysis
US20200169570A1 (en) * 2018-11-28 2020-05-28 Ca, Inc. Systems and methods for detecting malware infections associated with domain generation algorithms
CN111935097A (zh) * 2020-07-16 2020-11-13 上海斗象信息科技有限公司 一种检测dga域名的方法
US20210182612A1 (en) * 2017-11-15 2021-06-17 Han Si An Xin (Beijing) Software Technology Co., Ltd Real-time detection method and apparatus for dga domain name
CN113315739A (zh) * 2020-02-26 2021-08-27 深信服科技股份有限公司 一种恶意域名的检测方法及系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160294859A1 (en) * 2015-03-30 2016-10-06 Electronics And Telecommunications Research Institute Apparatus and method for detecting malicious domain cluster
US20160294852A1 (en) * 2015-04-06 2016-10-06 Trend Micro Incorporated Determining string similarity using syntactic edit distance
CN107645503A (zh) * 2017-09-20 2018-01-30 杭州安恒信息技术有限公司 一种基于规则的恶意域名所属dga家族的检测方法
US20210182612A1 (en) * 2017-11-15 2021-06-17 Han Si An Xin (Beijing) Software Technology Co., Ltd Real-time detection method and apparatus for dga domain name
WO2019136953A1 (zh) * 2018-01-15 2019-07-18 深圳市联软科技股份有限公司 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质
CN109246083A (zh) * 2018-08-09 2019-01-18 北京奇安信科技有限公司 一种dga域名的检测方法及装置
EP3614645A1 (en) * 2018-08-21 2020-02-26 Deutsche Telekom AG Embedded dga representations for botnet analysis
US20200169570A1 (en) * 2018-11-28 2020-05-28 Ca, Inc. Systems and methods for detecting malware infections associated with domain generation algorithms
CN109462612A (zh) * 2018-12-27 2019-03-12 北京神州绿盟信息安全科技股份有限公司 一种僵尸网络中的攻击域名的确定方法及装置
CN113315739A (zh) * 2020-02-26 2021-08-27 深信服科技股份有限公司 一种恶意域名的检测方法及系统
CN111935097A (zh) * 2020-07-16 2020-11-13 上海斗象信息科技有限公司 一种检测dga域名的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡鹏程;刁力力;叶桦;仰燕兰;: "基于人工特征与深度特征的DGA域名检测算法", 计算机科学, no. 09 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024031884A1 (zh) * 2022-08-08 2024-02-15 天翼安全科技有限公司 一种域名同源判定方法、装置、电子设备及存储介质
CN115550021A (zh) * 2022-09-26 2022-12-30 东华理工大学 大数据环境下网络空间精准反制方法、系统及可存储介质

Also Published As

Publication number Publication date
CN113746952B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
CN107566376B (zh) 一种威胁情报生成方法、装置及系统
Uwagbole et al. Applied machine learning predictive analytics to SQL injection attack detection and prevention
CN106709345B (zh) 基于深度学习方法推断恶意代码规则的方法、系统及设备
CN107204960B (zh) 网页识别方法及装置、服务器
CN107707545B (zh) 一种异常网页访问片段检测方法、装置、设备及存储介质
US10474818B1 (en) Methods and devices for detection of malware
CN112866023B (zh) 网络检测、模型训练方法、装置、设备及存储介质
CN111147459B (zh) 一种基于dns请求数据的c&c域名检测方法及装置
CN113746952B (zh) Dga域名检测方法、装置、电子设备及计算机存储介质
CN111818198B (zh) 域名检测方法、域名检测装置和设备以及介质
US11983297B2 (en) Efficient statistical techniques for detecting sensitive data
US20160219068A1 (en) Method and apparatus for automatically identifying signature of malicious traffic using latent dirichlet allocation
CN110351248B (zh) 一种基于智能分析和智能限流的安全防护方法及装置
CN110728526B (zh) 地址识别方法、设备以及计算机可读介质
CN112019651A (zh) 利用深度残差网络和字符级滑动窗口的dga域名检测方法
CN110298024B (zh) 涉密文档的检测方法、装置及存储介质
CN109600382B (zh) webshell检测方法及装置、HMM模型训练方法及装置
CN114189390B (zh) 一种域名检测方法、系统、设备及计算机可读存储介质
CN110855716B (zh) 一种面向仿冒域名的自适应安全威胁分析方法及系统
CN117675387B (zh) 基于用户行为分析的网络安全风险预测方法及系统
CN110535821A (zh) 一种基于dns多特征的失陷主机检测方法
CN113946823A (zh) 一种基于url基线偏离度分析的sql注入检测方法及装置
CN109992960B (zh) 一种伪造参数检测方法、装置、电子设备及存储介质
CN113691489A (zh) 一种恶意域名检测特征处理方法、装置和电子设备
CN112348041A (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