CN116074081B - Dga域名检测方法、装置、设备及存储介质 - Google Patents
Dga域名检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116074081B CN116074081B CN202310042483.0A CN202310042483A CN116074081B CN 116074081 B CN116074081 B CN 116074081B CN 202310042483 A CN202310042483 A CN 202310042483A CN 116074081 B CN116074081 B CN 116074081B
- Authority
- CN
- China
- Prior art keywords
- domain name
- dga
- sentence vector
- detected
- sentence
- 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
-
- 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
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Virology (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种DGA域名检测方法、装置、设备及存储介质,该方法包括:获取待测域名;基于预设的句向量模型,将所述待测域名转化为待测句向量;基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。在本申请中,通过将待测域名转化为待测句向量,根据DGA域名与正常域名在语言规律方面的差异检测出DGA域名,不需要逆向识别DGA相关代码与算法,从而降低了识别DGA域名的难度,进而提高了DGA域名检测的效率。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种DGA域名检测方法、装置、设备及存储介质。
背景技术
随着计算机技术的飞速发展,信息网络安全已经成为社会发展的重要保证,其中,域名作为网络的基础设施,通常会受到攻击者的恶意攻击。
攻击者通常使用DGA(Domain Generation Algorithm,域名生成算法)算法产生用于攻击普通域名的DGA域名。在网络安全技术通过检测DGA域名发现攻击活动,目前检测DGA域名从已知的恶意代码中,识别出DGA相关代码与算法,根据DGA相关代码与算法快速生成对应网络攻击者会使用的DGA域名,以识别攻击者的DGA域名。但是,攻击者会使用各种手段对DGA域名进行伪装,增加逆向识别DGA相关代码与算法的难度,从而增加DGA域名被分析出的时间,以使用户难以识别DGA域名,导致DGA域名检测的效率低下。
发明内容
本申请的主要目的在于提供一种DGA域名检测方法、装置、设备及存储介质,旨在解决现有技术中用户难以识别DGA域名,导致DGA域名检测的效率低下的技术问题。
为实现上述目的,本申请提供一种DGA域名检测方法,DGA域名检测方法包括:
获取待测域名;
基于预设的句向量模型,将所述待测域名转化为待测句向量;
基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。
可选地,所述基于预设的句向量模型,将所述待测域名转化为待测句向量的步骤之前,所述方法还包括:
将预设的训练域名拆分为字符,得到句化域名;
基于预设的doc2vec算法与所述句化域名,迭代训练预设的第一待训练模型,得到句向量模型。
可选地,所述基于预设的doc2vec算法与所述句化域名,迭代训练预设的第一待训练模型,得到句向量模型的步骤,包括:
基于预设的doc2vec算法,学习所述句化域名的自然语言的语言规律;
基于所述语言规律,迭代训练预设的第一待训练模型,得到句向量模型。
可选地,所述基于预设的句向量模型,将所述待测域名转化为待测句向量的步骤,包括:
基于预设的句向量模型,识别所述待测域名中的所有字符与语言规律,并基于所述所有字符,得到词向量;
将所述词向量按照所述语言规律组合为待测句向量。
可选地,所述基于预设的检测模型,判断所述待测句向量对应的域名是否为DGA域名的步骤之前,所述方法还包括:
基于所述句向量模型,获取所述训练域名的训练句向量;
将所述训练句向量划分为待训练向量与标记向量;
识别每个所述标记向量的语言规律;
基于所述语言规律,迭代训练预设的第二待训练模型,得到检测模型。
可选地,所述识别每个所述标记向量的语言规律的步骤,包括:
划分所述标记向量的句向量类别,得到正常句向量与DGA句向量;
识别所述正常句向量的语言规律,得到含有语义规则的语义规律;
识别所述DGA句向量的语言个规律,得到无规则的DGA规律。
可选地,所述基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名的步骤,包括:
基于预设的检测模型,识别所述待测句向量的语言规律;
若所述语言规律满足所述DGA域名对应句向量的DGA规律,则确定所述待测句向量对应的域名为DGA域名。
本申请还提供一种DGA域名检测装置,DGA域名检测装置包括:
第一获取模块,用于获取待测域名;
转化模块,用于基于预设的句向量模型,将所述待测域名转化为待测句向量;
检测模块,用于基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。
本申请还提供一种DGA域名检测设备,DGA域名检测设备为实体节点设备,DGA域名检测设备包括:存储器、处理器以及存储在存储器上并可在处理器上运行的DGA域名检测方法的程序,DGA域名检测方法的程序被处理器执行时可实现如上述的DGA域名检测方法的步骤。
本申请还提供一种存储介质,存储介质上存储有实现上述DGA域名检测方法的程序,DGA域名检测方法的程序被处理器执行时实现如上述的DGA域名检测方法的步骤。
本申请提供一种DGA域名检测方法、装置、设备及存储介质,与现有技术中用户难以识别DGA域名,导致DGA域名检测的效率用户难以识别DGA域名,导致DGA域名检测的效率低下相比,在本申请中,获取待测域名;基于预设的句向量模型,将所述待测域名转化为待测句向量;基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。在本申请中,通过预设的句向量模型,将待测域名转化为待测句向量,再通过预设的检测模型,检测待测句向量的语言规律,根据语言规律判断待测域名是否为DGA域名,即在本申请中,通过将待测域名转化为待测句向量,根据DGA域名与正常域名在语言规律方面的差异检测出DGA域名,不需要逆向识别DGA相关代码与算法,从而降低了识别DGA域名的难度,进而提高了DGA域名检测的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请DGA域名检测方法第一实施例的流程示意图;
图2为本申请DGA域名检测方法中域名的检测流程示意图;
图3为本申请实施例方案涉及的硬件运行环境的设备机构示意图;
图4为本申请DGA域名检测方法第二实施例的流程示意图;
图5为本申请DGA域名检测方法中检测模型的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种DGA域名检测方法,在本申请DGA域名检测方法的第一实施例中,参照图1,DGA域名检测方法包括:
步骤S10,获取待测域名;
步骤S20,基于预设的句向量模型,将所述待测域名转化为待测句向量;
步骤S30,基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。
本实施例旨在:避免在DGA域名检测过程中处理调度配置信息,以提高DGA域名检测的效率。
在本实施例中,需要说明的是,DGA域名检测方法可以应用于DGA域名检测装置,该DGA域名检测装置从属于DGA域名检测设备,该DGA域名检测设备属于DGA域名检测系统。
需要说明的是,句向量模型可以将输入的待测域名句化,也即,将待测模型中的每一个字符都看作一个单词,再将这些单词基于语言规律组成一个长度相同的句子,也即,将每个字符都当作一个词向量,由这些词向量根据语言规律组成长度相同的句向量,已使检测模块通过检测句向量的语言规律检测待测域名是否为DGA域名。
其中,语言规律可以是域名的语义,也即,域名中字符排列的语义。
需要说明的是,正常域名的字符都是排列有规律的字母或数字组成,例如:111222333.con,或yiyiyi222333.cn,又或yiyiyiererer.com等排列有规律的数字,或有规律的字母与数字的结合,又或有规律的字母。DGA域名是利用DGA产生的域名,其中,DGA是不同恶意代码家族用于周期性生成域名的算法,也即,DGA域名的字符排列是无规律,杂乱无章的,例如1267126764271.cn,或hdjhfs478147.cn,又或hdjsahj.com等,排列无规律的数字,或无规律的字母与数字的结合,又或无规律的字母,其中,DGA域名的顶级域名也是随机选取的。
其中,顶级域名可以为“.cn”“.com”等,具体不做限定。
需要说明的是,语言规律需要符合语言的特征,该语言可以是自然语言也可以是网络语言;且语言规律可以具有语言特征中的表层规律、语法规律、语义规律。也即,每个正常域名中字符的排列都是有规律的,字符的排列之间存在语法,且将所有字符或部分相邻字符组合后有具体的语义,可以是几个相邻的字符根据语法规律组成一个汉字的拼音,或一个单词,或用数字代表的谐音等,例如,生母字符后面为韵母字符,且生母字符与韵母字符组合后有一定的语义等。
需要说明的是,检测模型可以识别句向量的语言规律,并根据语言规律判断该句向量的语言规律是否有规律,若无规律,则将该句向量对应的域名判断为DGA域名,也即,待测域名为DGA域名。
需要说明的是,检测模型是基于标记的句向量迭代训练训练模型得到的,以使检测模型可以准确地识别待测域名的语言规律,最后基于语言规律确定待测域名是否为DGA域名。
在本实施例中,在获取到待测域名后,通过句向量模型后将待测域名的每一个字符都看作是一个词向量,再将所有的词向量组合为一个句向量,利用正常域名与DGA域名之间语言规律的不同,通过检测模型识别待测域名的语言规律是否为DGA域名的语言规律,若待测域名是DGA域名的语言规律,则确定待测域名为DGA域名。
在本实施例中,不需要逆向解析待测向量,从待测域名中解析DGA相关代码或算法,降低了对DGA域名检测难度,进而降低了对用户的业务能力,提高了DGA域名检测的效率 。
在本实施例中,参考图2,图2为本申请DGA域名检测方法中通信流程示意图。
具体步骤如下:
步骤S10,获取待测域名;
其中,待测域名可以是在访问一个正常域名时突然跳出的域名,也可以是需要访问的新域名或不常访问的域名,还可以是在访问一个正常域名的等待过程中,用户不小心点进当前页面的广告域名。
需要说明的是,服务器都是有记忆性的,也即,服务器访问过的域名都会有日志记录,访问过的正常域名会被日志记录下来,再次访问该正常域名时可以跳过域名检测的过程直接访问,所以在用户访问新的正常域名或不常访问的域名时会对访问的域名进行检测。
步骤S20,基于预设的句向量模型,将所述待测域名转化为待测句向量;
在本实施例中,句向量模型可以将待测域名中的每一个字符看作是一个单词,也即,词向量,再由词向量根据待测域名中字符的排列顺序,将词向量组成待测句向量,也即,将单词句化后转化为待测句向量。
例如,将待测域名hdjsahj.com中的每个字符都看作是一个词向量,也即,‘h’‘d’‘j’‘s’‘a’‘h’‘j’‘.’‘c’‘o’‘m’,再将这些词向量组成待测的句向量,待测句向量可以是[‘h’,‘d’,‘j’,‘s’,‘a’,‘h’,‘j’,‘.’,‘c’,‘o’,‘m’]。
其中,句向量中至少包括待测域名对应的字符与待测域名的语言规律。
在本实施例中,在通过句向量模型转化域名之前,需要设定待测句向量的向量大小,以使句向量模型将待测域名都转化为向量大小相同的待测句向量。
需要说明的是,一个待测域名可以转化为一个待测句向量,还可以转化为多个待测句向量,若待测域名在转化为待测句向量时,待测句向量的向量大小超过句向量的预设大小,则需要将待测句向量拆分为向量大小与预设大小相同的拆分句向量,且拆分句向量是根据待测域名的顺序拆分的,不能随机拆分组合,避免破坏待测域名的原有语言规律。
例如,若待测域名为hdjhfs478147.cn,句向量的预设大小为512模,且512模对应的向量长度为5个字符,则待测域名hdjhfs478147.cn可以拆分为“hdjhf”“s4781”与“47.cn”。
在本实施例中,通过句向量模型将待测域名中的每个字符都看作是一个词向量,且通过每两个相邻字符之间的语言规律,将全部的字符组成待测句向量,可以使相似的域名精准转化为不同的待测句向量。也即,将通过伪装手段伪装为正常域名的DGA域名精准的精准的转化为脱去伪装的DGA域名对应的待测句向量。
具体地,所述基于预设的句向量模型,将所述待测域名转化为待测句向量的步骤,包括:
步骤S21,基于预设的句向量模型,识别所述待测域名中的所有字符与语言规律,并基于所述所有字符,得到词向量;
步骤S22,将所述词向量按照所述语言规律组合为待测句向量。
在本实施例中,通过句向量模型识别出待测域名中的所有字符,以便将DGA域名中的字符与伪装手段对应的字符都转化为词向量,并按照待测域名中所有字符的语言规律将词向量组合为待测句向量,若待测域名为伪装的DGA域名,则通过句向量模型可以将伪装成正常域名DGA域名暴露,也即,在识别待测域名的字符时,会将待测域名中的每个字符都识别出,将伪装的DGA域名中的DGA域名本体与用于伪装的外壳等伪装手段的字符识别出,并根据这些字符得到词向量,并根据待测域名中字符的语言规律,将伪装手段对应的词向量与DGA域名对应的词向量组合为待测句向量,以完全地将伪装的DGA域名暴露。其中,这些字符包括伪装手段对应的字符与去掉伪装后的DGA域名的字符。
在本实施例中,通过句向量模型识别待测域名中的所有字符,还可以将加密的DGA域名中的密码字符也看作是词向量,并将密码字符对应的词向量与DGA域名对应的词向量分离,以使加密的DGA域名完全暴露。
步骤S30,基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。
在本实施例中,将待测域名通过句向量模型转化为待测句向量后,将待测句向量输入至预设的检测模型中,通过检测模型检测句向量的语言规律,通过语言规律判断待测域名是否为DGA域名,若语言规律无规律,或句向量中存在无语言规律的片段,则确定该待测域名为DGA域名。
需要说明的是,伪装的DGA域名可能是将以正常域名为外壳伪装的DGA域名,伪装的DGA域名通过逆向解析,得到的可能是正常域名或正常域名的延伸域名,但是,在访问时会跳过正常域名部分,直接访问正常域名后的延伸域名。例如,yiyiyi222333hukghyh.cn,将正常域名“yiyiyi222333”当作外壳保护DGA域名“hukghyh”部分,若通过逆向解析检测该域名,可能会因为“yiyiyi222333”有明确的语言规律,将该域名判定为正常域名,造成误判。
在本实施例中,通过将待测域名句化处理得到待测句向量后,将伪装的DGA域名的伪装壳与DGA域名分离,通过检测模型检测出待测句向量中存在无语言规律的片段,则确定该待测域名为DGA域名。在本实施例中,避免逆向解析待测域名,并从逆向解析的待测域名中识别DGA相关代码或算法,还避免了通过域名WHOIS(域名注册信息)等上下文信息进行DGA检测,降低了对DGA域名的检测。
具体地,所述基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名的步骤,包括:
步骤S31,基于预设的检测模型,识别所述待测句向量的语言规律;
步骤S32,若所述语言规律满足所述DGA域名对应句向量的DGA规律,则确定所述待测句向量对应的域名为DGA域名。
需要说明的是,每个正常域名都对应有对应的含义,例如由数字组成的正常域名,该数字可以是该公司的统一电话号码,或由该电话号码演变的数字,可以是该电话号码后加上服务代码,或在该电话号码前加上服务代码或区域前缀号码等;例如由字母组成的正常域名,其中的字母可以是对应公司的名称拼音,或公司的英文名称等;再例如由数字与字母组成的正常域名,可以是对应公司或项目组名称的拼音加上该公司或项目组的咨询电话号码等,也即,正常域名都是有语言规律的。DGA域名是利用DGA产生的字母与数字随机结合,或字母随机组合,又或数字随机组合得到的域名,也即,DGA域名的每两个字符之间是没有规律可循的,通过识别出待测域名中的所有字符,并按照字符之间的语言规律组成待测句向量,即可利用DGA域名与正常域名的语言规律之间的差异,判断待测域名是否为DGA域名。
在本实施例中,检测模型是基于标记的DGA域名转化的句向量迭代训练得到的,可以增加检测准确性,并降低检查的难度,加快检测的速度,以提高DGA域名检测的效率,减少DGA域名的存活时间,进而减少DGA域名攻击正常域名的时间,使网络攻击的防护效果更加显著。
在本实施例中,获取需要检测的域名,该域名可以是在访问正常域名时突然跳出的域名,还可以是不常访问的域名或新域名等,通过预设的句向量模型将待测域名中的所有字符都看作是词向量,将待测域名拆解,并根据待测域名中字符的排列顺序将拆解的词向量组合为待测句向量,也即,将待测域名进行句化处理,得到待测句向量,再将待测句向量输入至预设的检测模型中,其中检测模型是基于标记的DGA域名转化的句向量,迭代训练第一待训练模型得到的,通过检测模型利用正常域名与DGA域名的语言规律不同的特征,检测待测句向量对应的待测域名是否为DGA域名。也即,在本实施例中,通过将待测域名以字符为单位进行拆解得到词向量,若待测域名为伪装或加密的DGA域名,可以使伪装或加密的DGA域名对应的字符完全暴露,并将词向量根据待测域名中字符的排列顺序组合为待测句向量,检测待测句向量的语言规律,进而检测待测域名是否为DGA域名,不需要逆向解析待测域名的DGA相关代码或算法,提高了DGA域名检测效率。
本申请提供一种DGA域名检测方法、装置、设备及存储介质,与现有技术中用户难以识别DGA域名,导致DGA域名检测的效率用户难以识别DGA域名,导致DGA域名检测的效率低下相比,在本申请中,获取待测域名;基于预设的句向量模型,将所述待测域名转化为待测句向量;基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。在本申请中,通过预设的句向量模型,将待测域名转化为待测句向量,再通过预设的检测模型,检测待测句向量的语言规律,根据语言规律判断待测域名是否为DGA域名,即在本申请中,通过将待测域名转化为待测句向量,根据DGA域名与正常域名在语言规律方面的差异检测出DGA域名,不需要逆向识别DGA相关代码与算法,从而降低了识别DGA域名的难度,进而提高了DGA域名检测的效率。
进一步地,基于本申请中上述实施例,提供本申请的另一实施例,在该实施例中,参考图4,所述基于预设的句向量模型,将所述待测域名转化为待测句向量的步骤之前,所述方法还包括:
步骤S01,将预设的训练域名拆分为字符,得到句化域名;
在本实施例中,在将预设的训练域名拆分为字符之前,需要获取大量的正常域名与DGA域名作为训练域名,再获取训练域名后,基于训练域名,训练第一待训练模型,通过第一待训练模型学习每个训练域名中字符之间的逻辑关系,并判断相似字符排列的域名之间的区别点,并根据该区别点进一步学习相似域名的逻辑关系,以精准识别待测域名中字符的顺序。
步骤S02,基于预设的doc2vec算法与所述句化域名,迭代训练预设的第一待训练模型,得到句向量模型。
其中,doc2vec算法可以将词向量有顺序的排列,避免将训练域名中的字符拆解为词向量后,无法根据字符在对应训练域名中的顺序组合为句向量。
需要说明的是,句化域名只是将训练域名中的字符看作是一个单词,再由单词排列组合成的句子,其中,句化域名中可以存在语言规律,基于句化域名对第一待训练模型进行迭代训练可以是学习每个训练域名之间的语言规律,并根据语言规律,将句化域名转化为句向量,也即,句向量中包含对应域名的语言规律。
在本实施例中,训练第一待训练模型时,需要预先确定句向量的大小,也即预设大小,根据预设大小将句化域名转化为一个句向量或一个句向量组。且通过doc2vec算法还可以将确定每个句向量的上下句,也即,与该句向量连接的两个句向量,使句向量组可以看作是一个有规律的大句向量。
在本实施例中,使用每个训练域名对第一待训练模型进行多轮的迭代训练,以使第一待训练模型能够精准地根据每个训练域名中字符的排列顺序,将对应的词向量组成句向量,以增加句向量模型将待测域名转化为待测句向量的准确性。
在本实施例中,在获取训练域名后,通过学习每个训练域名的语言规则迭代训练第一待训练模型,在学习每个训练域名时使用都是用doc2vec算法,以使在学习过程中,可以使每个训练域名对应的词向量都能根据训练域名中字符的排列顺序,得到对应的句向量,并根据doc2vec算法学习每个训练域名对应的句化域名的语言规律,且使用每个训练域名对第一待训练模型进行多次迭代训练,以增加句向量模型将待测域名转化为待测句向量的准确性。
具体地,所述基于预设的doc2vec算法与所述句化域名,迭代训练预设的第一待训练模型,得到句向量模型的步骤,包括:
步骤S021,基于预设的doc2vec算法,迭代学习所述句化域名的自然语言的语言规律;
步骤S022,基于所述语言规律,迭代训练预设的第一待训练模型,得到句向量模型。
在本实施例中,由于doc2vec算法可以学习每个训练域名中字符的排列顺序,因此通过doc2vec算法使用每个句化域名迭代训练第一待训练模型可以精准学习词向量之间的排列顺序,以增加句向量模型将待测域名转化为待测句向量的准确性。
需要说明的是,训练域名中每个字符之间的排列顺序可以视为句化域名的语言规律,也即,每个训练域名的语言规律,通过学习语言规律可以在获取到待测域名后,快速根据语言规律将待测域名中字符对应的词向量组合为待测句向量,节省了待测域名转化为待测句向量的时间,提高了检测的速率。
其中,句话域名的语言规律至少包括训练域名中每个字符之间的排列顺序。
例如,若训练域名对应的句化域名为“y,i,y,i,y,i,2,2,2,3,33,.,c,n”,则句向量模型的迭代学习过程可以是,先将第一个“y,i”作为学习对象,学习“y,i”之间的语言规律,再将“i,y”作为学习对象,学习“i,y”之间的语言规律等以次类推,还可以是分析整个句化域名的语言规律,并再学习过后随机检测两个相邻词向量之间语言规律,并进行多次检测,若每次都能正确得到训练域名对应的句向量,则学习另一个训练域名。
在本实施例中,获取大量包含正常域名与DGA域名的训练域名,将每个训练域名都拆解为字符,并将每个字符都看作是一个单词,通过该单词对应的训练域名转化为句化域名,通过doc2vec算法学习每个句化域名的语言规律,并基于每个句化域名的语言规律迭代训练第一待训练模型,使训练得到的句向量模型可以快速精准地将待测域名转化为对应的待测句向量,以增加句向量模型将待测域名转化为待测句向量的准确性。
进一步地,基于本申请中上述实施例,提供本申请的另一实施例,在该实施例中,所述基于预设的检测模型,判断所述待测句向量对应的域名是否为DGA域名的步骤之前,所述方法还包括:
步骤B10,基于所述句向量模型,获取所述训练域名的训练句向量;
步骤B20,将所述训练句向量划分为待训练向量与标记向量;
步骤B30,识别每个所述标记向量的语言规律;
步骤B40,基于所述语言规律,迭代训练预设的第二待训练模型,得到检测模型。
在本实施例中,参照图5,检测模型可以是多层感知机,可以分为一个输入层,该层有多个神经元,且神经元的数量与句向量大小一致;若干个全连接层,全连接层的激活函数采用ReLU函数 ,同时使用Dropout避免过拟合;一个输出层,输出层使用Softmax函数,对应训练域名的类别,也即,DGA训练域名与正常训练域名;最后使用二元交叉熵损失作为它的损失函数,以增加检测模型的准确性。
在本实施例中,通过训练好的句向量模型将训练域名都转化为训练句向量,从训练句向量中随机选取一部分作为待训练向量,将另一部分根据预设的正常域名标准进行标记,得到标记向量,再识别每个标记向量的语言规律,根据语言规律迭代训练预设的第二待训练模型,以增加检测模型的准确性。
具体地,所述识别每个所述标记向量的语言规律的步骤,包括:
步骤A31,划分所述标记向量的句向量类别,得到正常句向量与DGA句向量;
步骤A32,识别所述正常句向量的语言规律,得到含有语义规则的语义规律;
步骤A33,识别所述DGA句向量的语言个规律,得到无规则的DGA规律。
在本实施例中,以预设的正常域名的为标准,可以将标记向量标记为正常域名对应的句向量与DGA域名对应的句向量,以使检测模型可以分开学习DGA域名的语言规律和正常域名的语言规律,避免了在学习过程中需要判断学习的是何种语言规律,以避免训练过程中的混乱。在本实施例中,通过使第二待训练模型分开迭代学习待训练向量中的DGA域名的语言规律与正常域名的语言规律,增加了检测模型的速率,与准确性。
参照图3,图3是本申请实施例方案涉及的硬件运行环境的设备机构示意图。
如图3所示,该DGA域名检测设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该DGA域名检测设备还可以包括矩形用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的DGA域名检测设备机构并不构成对DGA域名检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块以及DGA域名检测程序。操作系统是管理和控制DGA域名检测设备硬件和软件资源的程序,支持DGA域名检测程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与DGA域名检测系统中其它硬件和软件之间通信。
在图3所示的DGA域名检测设备中,处理器1001用于执行存储器1005中存储的DGA域名检测程序,实现上述任一项的DGA域名检测方法的步骤。
本申请DGA域名检测设备具体实施方式与上述DGA域名检测方法各实施例基本相同,在此不再赘述。
本申请还提供一种DGA域名检测装置,DGA域名检测装置包括:
第一获取模块,用于获取待测域名;
转化模块,用于基于预设的句向量模型,将所述待测域名转化为待测句向量;
检测模块,用于基于预设的检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。
可选地,所述DGA域名检测装置还包括:
拆分模块,用于将预设的训练域名拆分为字符,得到句化域名;
第一训练模块,用于基于预设的doc2vec算法与所述句化域名,迭代训练预设的第一待训练模型,得到句向量模型。
可选地,所述第一训练模块包括:
学习模块,用于基于预设的doc2vec算法,迭代学习所述句化域名的自然语言的语言规律;
获得模块, 用于基于所述语言规律,迭代训练预设的第一待训练模型,得到句向量模型。
可选地,所述转化模块包括:
第一识别模块,用于基于预设的句向量模型,识别所述待测域名中的所有字符与语言规律,并基于所述所有字符,得到词向量;
组合模块,用于将所述词向量按照所述语言规律组合为待测句向量。
可选地,所述DGA域名检测装置还包括:
第二获取模块,用于基于所述句向量模型,获取所述训练域名的训练句向量;
划分模块,用于将所述训练句向量划分为待训练向量与标记向量;
第二识别模块,用于识别每个所述标记向量的语言规律;
第二训练模块,用于基于所述语言规律,迭代训练预设的第二待训练模型,得到检测模型。
可选地,所述第二识别模块包括:
划分子模块,用于划分所述标记向量的句向量类别,得到正常句向量与DGA句向量;
第一识别子模块,用于识别所述正常句向量的语言规律,得到含有语义规则的语义规律;
第二识别子模块,用于识别所述DGA句向量的语言规律,得到无规则的DGA规律。
可选地,所述检测模块包括:
识别单元,用于基于预设的检测模型,识别所述待测句向量的语言规律;
检测单元,用于若所述语言规律满足所述DGA域名对应句向量的DGA规律,则确定所述待测句向量对应的域名为DGA域名。
本申请DGA域名检测装置的具体实施方式与上述DGA域名检测方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种存储介质,且存储介质存储有一个或者一个以上程序,一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项的DGA域名检测方法的步骤。
本申请存储介质具体实施方式与上述DGA域名检测方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效机构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种DGA域名检测方法,其特征在于,所述DGA域名检测方法包括:
获取待测域名;
将预设的训练域名拆分为字符,得到句化域名;
基于预设的doc2vec算法与所述句化域名,迭代训练预设的第一待训练模型,得到句向量模型;
基于所述句向量模型,将所述待测域名转化为待测句向量;
基于所述句向量模型,获取所述训练域名的训练句向量;
将所述训练句向量划分为待训练向量与标记向量;
划分所述标记向量的句向量类别,得到正常句向量与DGA句向量;
识别所述正常句向量的语言规律,得到含有语义规则的语义规律;
识别所述DGA句向量的语言规律,得到无规则的DGA规律;
基于所述语言规律,迭代训练预设的第二待训练模型,得到检测模型;
其中,检测模型是多层感知机,分为一个输入层、多个全连接层与一个输出层,并使用二元交叉熵损失作为它的损失函数;
其中,输入层有多个神经元,且神经元的数量与句向量大小一致;全连接层的激活函数采用ReLU函数,并使用Dropout避免过拟合;输出层使用Softmax函数,对应训练域名的类别;训练域名的类别为DGA训练域名与正常训练域名;
基于所述检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。
2.如权利要求1所述的DGA域名检测方法,其特征在于,所述基于预设的doc2vec算法与所述句化域名,迭代训练预设的第一待训练模型,得到句向量模型的步骤,包括:
基于预设的doc2vec算法,学习所述句化域名的自然语言的语言规律;
基于所述语言规律,迭代训练预设的第一待训练模型,得到句向量模型。
3.如权利要求1所述的DGA域名检测方法,其特征在于,所述基于所述句向量模型,将所述待测域名转化为待测句向量的步骤,包括:
基于预设的句向量模型,识别所述待测域名中的所有字符与语言规律,并基于所述所有字符,得到词向量;
将所述词向量按照所述语言规律组合为待测句向量。
4.如权利要求1所述的DGA域名检测方法,其特征在于,所述基于所述检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名的步骤,包括:
基于预设的检测模型,识别所述待测句向量的语言规律;
若所述语言规律满足所述DGA域名对应句向量的DGA规律,则确定所述待测句向量对应的域名为DGA域名。
5.一种DGA域名检测装置,其特征在于,所述DGA域名检测装置包括:
第一获取模块,用于获取待测域名;
拆分模块,用于将预设的训练域名拆分为字符,得到句化域名;
第一训练模块,用于基于预设的doc2vec算法与所述句化域名,迭代训练预设的第一待训练模型,得到句向量模型;
转化模块,用于基于所述句向量模型,将所述待测域名转化为待测句向量;
第二获取模块,用于基于所述句向量模型,获取所述训练域名的训练句向量;
划分模块,用于将所述训练句向量划分为待训练向量与标记向量;
划分子模块,用于划分所述标记向量的句向量类别,得到正常句向量与DGA句向量;
第一识别子模块,用于识别所述正常句向量的语言规律,得到含有语义规则的语义规律;
第二识别子模块,用于识别所述DGA句向量的语言规律,得到无规则的DGA规律;
第二训练模块,用于基于所述语言规律,迭代训练预设的第二待训练模型,得到检测模型;
其中,检测模型是多层感知机,分为一个输入层、多个全连接层与一个输出层,并使用二元交叉熵损失作为它的损失函数;
其中,输入层有多个神经元,且神经元的数量与句向量大小一致;全连接层的激活函数采用ReLU函数,并使用Dropout避免过拟合;输出层使用Softmax函数,对应训练域名的类别;训练域名的类别为DGA训练域名与正常训练域名;
检测模块,用于基于所述检测模型,检测所述待测句向量的语言规律,并基于所述语言规律,判断所述待测域名是否为DGA域名。
6.一种DGA域名检测设备,其特征在于,所述DGA域名检测设备包括:存储器、处理器以及存储在存储器上的用于实现DGA域名检测方法的程序,
存储器用于存储实现DGA域名检测方法的程序;
处理器用于执行实现DGA域名检测方法的程序,以实现如权利要求1至4中任一项所述DGA域名检测方法的步骤。
7.一种存储介质,其特征在于,所述存储介质上存储有实现DGA域名检测方法的程序,实现DGA域名检测方法的程序被处理器执行以实现如权利要求1至4中任一项所述DGA域名检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042483.0A CN116074081B (zh) | 2023-01-28 | 2023-01-28 | Dga域名检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042483.0A CN116074081B (zh) | 2023-01-28 | 2023-01-28 | Dga域名检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116074081A CN116074081A (zh) | 2023-05-05 |
CN116074081B true CN116074081B (zh) | 2023-06-13 |
Family
ID=86174482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310042483.0A Active CN116074081B (zh) | 2023-01-28 | 2023-01-28 | Dga域名检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116074081B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109391706A (zh) * | 2018-11-07 | 2019-02-26 | 顺丰科技有限公司 | 基于深度学习的域名检测方法、装置、设备和存储介质 |
US10496924B1 (en) * | 2018-08-07 | 2019-12-03 | Capital One Services, Llc | Dictionary DGA detector model |
CN110674370A (zh) * | 2019-09-23 | 2020-01-10 | 鹏城实验室 | 域名识别方法及装置、存储介质及电子设备 |
CN111291078A (zh) * | 2020-01-17 | 2020-06-16 | 武汉思普崚技术有限公司 | 一种域名匹配检测方法及装置 |
CN112966713A (zh) * | 2021-02-02 | 2021-06-15 | 杭州安恒信息技术股份有限公司 | 基于深度学习的dga域名检测方法、装置及计算机设备 |
CN114818689A (zh) * | 2022-05-25 | 2022-07-29 | 杭州安恒信息安全技术有限公司 | 一种域名检测方法、装置、设备、存储介质 |
CN115426121A (zh) * | 2021-05-31 | 2022-12-02 | 中国电信股份有限公司 | 检测僵尸网络的方法、装置和介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109788079B (zh) * | 2017-11-15 | 2022-03-15 | 瀚思安信(北京)软件技术有限公司 | Dga域名实时检测方法和装置 |
-
2023
- 2023-01-28 CN CN202310042483.0A patent/CN116074081B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10496924B1 (en) * | 2018-08-07 | 2019-12-03 | Capital One Services, Llc | Dictionary DGA detector model |
CN109391706A (zh) * | 2018-11-07 | 2019-02-26 | 顺丰科技有限公司 | 基于深度学习的域名检测方法、装置、设备和存储介质 |
CN110674370A (zh) * | 2019-09-23 | 2020-01-10 | 鹏城实验室 | 域名识别方法及装置、存储介质及电子设备 |
CN111291078A (zh) * | 2020-01-17 | 2020-06-16 | 武汉思普崚技术有限公司 | 一种域名匹配检测方法及装置 |
CN112966713A (zh) * | 2021-02-02 | 2021-06-15 | 杭州安恒信息技术股份有限公司 | 基于深度学习的dga域名检测方法、装置及计算机设备 |
CN115426121A (zh) * | 2021-05-31 | 2022-12-02 | 中国电信股份有限公司 | 检测僵尸网络的方法、装置和介质 |
CN114818689A (zh) * | 2022-05-25 | 2022-07-29 | 杭州安恒信息安全技术有限公司 | 一种域名检测方法、装置、设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
基于深度学习的恶意域名检测方法研究;张澍寰;《兰州理工大学硕士论文》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116074081A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11580760B2 (en) | Visual domain detection systems and methods | |
EP2803031B1 (en) | Machine-learning based classification of user accounts based on email addresses and other account information | |
Tang et al. | Dynamic API call sequence visualisation for malware classification | |
CN112771523A (zh) | 用于检测生成域的系统和方法 | |
CN112685739B (zh) | 恶意代码检测方法、数据交互方法及相关设备 | |
Li et al. | Opcode sequence analysis of Android malware by a convolutional neural network | |
US11310200B1 (en) | Classifying locator generation kits | |
Ndichu et al. | A machine learning approach to malicious JavaScript detection using fixed length vector representation | |
KR101858620B1 (ko) | 기계 학습을 이용한 자바스크립트 분석 장치 및 방법 | |
CN109614795B (zh) | 一种事件感知的安卓恶意软件检测方法 | |
US11775749B1 (en) | Content masking attacks against information-based services and defenses thereto | |
Sidi et al. | MaskDGA: A black-box evasion technique against DGA classifiers and adversarial defenses | |
CN113328994A (zh) | 一种恶意域名处理方法、装置、设备及机器可读存储介质 | |
CN114357443A (zh) | 基于深度学习的恶意代码检测方法、设备与存储介质 | |
CN115730313A (zh) | 一种恶意文档检测方法、装置、存储介质及设备 | |
CN110858247A (zh) | 安卓恶意应用检测方法、系统、设备及存储介质 | |
CN110674370A (zh) | 域名识别方法及装置、存储介质及电子设备 | |
KR20220152167A (ko) | 도메인 네임 시스템(dns) 레코드들의 세트에서 피싱-도메인들을 검출하기 위한 시스템 및 방법 | |
CN116074081B (zh) | Dga域名检测方法、装置、设备及存储介质 | |
CN112231507A (zh) | 识别方法、装置及电子设备 | |
CN113691489A (zh) | 一种恶意域名检测特征处理方法、装置和电子设备 | |
CN114095176B (zh) | 一种恶意域名检测方法及装置 | |
CN113220949B (zh) | 一种隐私数据识别系统的构建方法及装置 | |
CN108664792A (zh) | 一种Android恶意软件的溯源方法 | |
Mumu et al. | Malicious URL detection using machine learning and deep learning algorithms |
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 |