CN107046586B - 一种基于类自然语言特征的算法生成域名检测方法 - Google Patents
一种基于类自然语言特征的算法生成域名检测方法 Download PDFInfo
- Publication number
- CN107046586B CN107046586B CN201710243526.6A CN201710243526A CN107046586B CN 107046586 B CN107046586 B CN 107046586B CN 201710243526 A CN201710243526 A CN 201710243526A CN 107046586 B CN107046586 B CN 107046586B
- Authority
- CN
- China
- Prior art keywords
- domain name
- domain
- grade
- corpus
- character
- 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
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/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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- 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
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)
- Machine Translation (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于类自然语言特征的算法生成域名检测方法,包括以下步骤:步骤1:选取域名语料库,并针对域名语料库使用特征提取模块进行特征提取;步骤2:针对域名语料库进行参数学习,得到各项特征的系统参数,获得基于语料库的检测模型;步骤3:通过数据包嗅探模块获取DNS服务器的请求域名信息;步骤4:根据请求域名信息使用特征提取模块进行特征提取;步骤5:在真实环境中根据检测模型对域名进行检测。本发明可以检测出层出不穷的新型算法生成域名,对域名进行分级分别对每级域名进行特征提取,提高了检测的精确度。
Description
技术领域
本发明涉及算法生成域名检测领域,特别是一种基于类自然语言特征的算法生成域名检测方法。
背景技术
域名系统是互联网中连接用户与互联网的桥梁,但由于其本身协议设计的脆弱性,大量的恶意行为通过域名系统进行控制和攻击,例如僵尸网络、木马病毒及高级持续威胁(Advanced Persistent Threat,APT)攻击等。同时,在网络攻击中大量使用了DNS定位技术、快速域名变换技术等域名生成技术,因此对生成域名进行检测显得尤为重要。目前,针对算法生成域名的检测主要可以分为以下两类:1)基于DNS交互报文进行实时或准实时的深度报文检测(Deep Packet Inspection,DPI)检测方法;2)基于域名字符串本身的特征进行检测。
基于DNS交互报文进行实时或准实时的DPI检测方法主要基于DNS的通信行为、活动特征等进行检测,从而达到对算法生成域名的检测。比如,通过挖掘恶意域名有别于合法域名的通信特征以发现恶意域名;通过观察域名的字符组成及其查询请求者的相似性来聚类和检测僵尸网络使用的域名;通过统计域名查询请求的时间分布、域名映射IP地址的空间分布、生存时间值(Time To Live,TTL)时间长短以及域名字面特征,发现恶意域名等。
基于域名字符串词法特征进行检测的方法主要是指通过提取域名的词法特征使用机器学习的方法实现算法生成域名的检测。比如:通过统计URL长度、主机名长度、点的数目来检测钓鱼网站和邮件广告使用的恶意URL;通过字频分布特征以及二元组的频率分布特征借助Kullback-Leibler差异(Kullback-Leibler Divergence,KL距离)等距离测度算法进行检测;通过扩展语言学特征识别算法生成域名等。
当前针对算法生成域名的检测方法,根据实时或准实时的DPI检测方法,大部分针对特定攻击或特定环境其通用性较差;根据域名字符串词法特征进行检测的方法,部分是针对特定域名生成算法,其检测精度较低,部分检测方法需要依赖于庞大的语料库,具有较高的空间开销和计算复杂度。然而随着网络及应用环境日趋复杂,原有策略难以适应现有海量数据环境下层出不穷的恶意域名生成算法,因此提高生成域名检测方法的通用性和准确度以满足现有环境要求是亟待解决的问题。
发明内容
本发明所要解决的技术问题是提供一种基于类自然语言特征的算法生成域名检测方法,解决针对特定攻击或特定环境其通用性较差的问题,可以检测出层出不穷的新型算法生成域名,对域名进行分级分别对每级域名进行特征提取,提高检测的精确度。
为解决上述技术问题,本发明采用的技术方案是:
一种基于类自然语言特征的算法生成域名检测方法,包括以下步骤:
步骤1:选取域名语料库,并针对域名语料库使用特征提取模块进行特征提取;
步骤2:针对域名语料库进行参数学习,得到各项特征的系统参数,获得基于语料库的检测模型;
步骤3:通过数据包嗅探模块获取DNS服务器的请求域名信息;
步骤4:根据请求域名信息使用特征提取模块进行特征提取;
步骤5:在真实环境中根据检测模型对域名进行检测。
进一步的,所述特征提取模块计算过程为:
1)对域名按字符“.”进行分级,确定域名级数dLevel,对每级域名进行统计;
2)计算每级域名的长度Length,即每级域名的字符个数;
3)计算每级域名中数字占比NumRatio,即每级域名中数字字符所占的比例;
4)计算每级域名的字符混淆度,域名中所含字符集为A={a1,a2,...,an},mai为字符ai出现的频次,则每级域名的字符混淆度H(domain):
5)计算每级域名的2-Gram至n-Gram马尔科夫转移概率,设域名为B=b1b2...bn,N-Gram(k)表示相差k距离的两字符组成的序列其先验概率为PN-Gram(k),则域名k阶马尔科夫转移概率Markov(domain):
6)得到特征向量。
进一步的,所述域名语料库选择Alexa TOP一百万域名及PadCrypt、QADARS、LOCKY域名生成算法生成域名。
进一步的,所述检测模型采用支持向量机(Support Vector Machine,SVM)模型。
进一步的,所述真实检测环境采用Spark平台。
与现有技术相比,本发明的有益效果是:1)本发明基于类自然语言特征对算法生成域名进行检测,提高了检测精确度,降低了检测误报率;2)本发明针对域名词法特征提出,不针对单一域名生成算法,具有较强的通用性;3)本发明构建类自然语言特征,充分考虑域名的自然语言特征。
附图说明
图1为本发明检测流程示意图。
图2为发明中算法生成域名示例图。
图3为本发明中Alexa TOP一百万域名级数统计图。
图4为本发明中域名字符集。
图5为本发明中Alexa TOP一百万域名字符长度统计图。
图6为本发明中召回率及误报率示意图。
图7为本发明的检测环境。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的说明。本发明方法包括以下步骤:1)选取域名语料库,并针对域名语料库使用特征提取模块进行特征提取;2)针对域名语料库进行参数学习,得到各项特征的系统参数获得基于语料库的检测模型;3)通过数据包嗅探模块获取DNS服务器的请求域名信息;4)根据请求域名信息使用特征提取模块进行特征提取,并且根据检测模型对域名进行检测。
所述域名语料库选择Alexa TOP一百万域名及PadCrypt、QADARS、LOCKY域名生成算法生成域名。Alexa是当前拥有URL数量最庞大,排名信息发布最详尽的网站。在本发明中Alexa全球TOP一百万域名被标记为正常域名。本发明中采用的是通过逆向工程获取的PadCrypt、QADARS V3和LOCKY域名生成算法生成的域名,这三类域名示例如图2所示,在本发明使用的数据集中标记为算法生成域名。
所述特征提取模块计算过程如下:
A、对域名按字符“.”进行分级,确定域名级数dLevel,对每级域名进行统计;
B、计算每级域名的长度Length,即每级域名的字符个数;
C、计算每级域名中数字占比NumRatio,即每级域名中数字字符(0-9)所占的比例;
D、计算每级域名的字符混淆度,域名中所含字符集为A={a1,a2,...,an},为字符ai出现的频次,则每级域名的字符混淆度H(domain):
E、计算每级域名的2-Gram至n-Gram马尔科夫转移概率,设域名为B=b1b2...bn,N-Gram(k)表示相差k距离的两字符组成的序列其先验概率为PN-Gram(k),则域名k阶马尔科夫转移概率Markov(domain):
F、得到特征向量。
所述步骤A中针对Alexa TOP一百万域名级数进行了统计,结果如图3所示。根据统计结果域名一般不会超过四级,由此确定了需要提取特征的域名级数dlevel=4。
所述步骤E中先验概率通过Alexa TOP一百万域名以及英英字典计算获得。首先对Alexa TOP一百万域名以及英英字典进行切词形成wrod,针对每个word按图4所示字符集统计其N-Gram概率,形成N-Gram概率转移矩阵。
所述步骤E,根据Alexa TOP一百万域名字符长度统计结果,如图5所示,绝大多数域名的一级长度不会超过20,即N-Gram级数需求一般不会超过20阶,因此确定n-Gram上限为20阶,即只需计算域名2-20阶马尔科夫转移概率。
所述检测模型采用SVM模型。本发明基于SVM模型在域名语料库中进行了检测实验,根据交叉检验方法获得了检测模型的召回率和误报率,如图6所示。实验环境中,不同组别的实验其实验数据集中加入算法生成域名数目不同,占比从10%到50%不等。从实验结果分析得到,加入的算法生成域名数目对实验结果的影响是较小的,实验召回率均在95%以上,误报率均小于2%。
所述系统在Spark平台上进行了真实环境的检测,如图7所示。发明中所使用的检测域名采集于某校园DNS服务器,通过镜像的方式对数据进行采集和还原。将还原后的数据存放于数据存储平台上,并在数据处理平台上进行数据处理和相关操作。采集服务器共两台。数据存储平台共计17台服务器,数据存放于HDFS中。处理平台共计15台服务器,已搭建完成Spark平台。本发明使用Spark平台对测试集中的域名进行处理和分析。
本发明方法提取了域名的字符混淆度、马尔科夫字符状态转移概率等域名统计与分布特征,采用SVM算法对域名进行识别,并最终实现了对算法生成域名的检测。检测实验结果表明,该方法检测精确度达到95%以上,且具有较好的通用性。
Claims (4)
1.一种基于类自然语言特征的算法生成域名检测方法,其特征在于,包括以下步骤:
步骤1:选取域名语料库,并针对域名语料库使用特征提取模块进行特征提取;
步骤2:针对域名语料库进行参数学习,得到各项特征的系统参数,获得基于语料库的检测模型;
步骤3:通过数据包嗅探模块获取DNS服务器的请求域名信息;
步骤4:根据请求域名信息使用特征提取模块进行特征提取;
步骤5:在真实环境中根据检测模型对域名进行检测;
所述特征提取模块计算过程为:
1)对域名按字符“.”进行分级,确定域名级数dLevel,对每级域名进行统计;
2)计算每级域名的长度Length,即每级域名的字符个数;
3)计算每级域名中数字占比NumRatio,即每级域名中数字字符所占的比例;
4)计算每级域名的字符混淆度,域名中所含字符集为A={a1,a2,...,an},为字符ai出现的频次,则每级域名的字符混淆度H(domain):
5)计算每级域名的2-Gram至n-Gram马尔科夫转移概率,设域名为B=b1b2...bn,N-Gram(k)表示相差k距离的两字符组成的序列其先验概率为PN-Gram(k),则域名k阶马尔科夫转移概率Markov(domain):
6)得到特征向量。
2.如权利要求1所述的一种基于类自然语言特征的算法生成域名检测方法,其特征在于,所述域名语料库选择Alexa TOP一百万域名及PadCrypt、QADARS、LOCKY域名生成算法生成域名。
3.如权利要求1所述的一种基于类自然语言特征的算法生成域名检测方法,其特征在于,所述检测模型采用支持向量机模型。
4.如权利要求1所述的一种基于类自然语言特征的算法生成域名检测方法,其特征在于,所述真实检测环境采用Spark平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710243526.6A CN107046586B (zh) | 2017-04-14 | 2017-04-14 | 一种基于类自然语言特征的算法生成域名检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710243526.6A CN107046586B (zh) | 2017-04-14 | 2017-04-14 | 一种基于类自然语言特征的算法生成域名检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107046586A CN107046586A (zh) | 2017-08-15 |
CN107046586B true CN107046586B (zh) | 2019-07-23 |
Family
ID=59544976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710243526.6A Active CN107046586B (zh) | 2017-04-14 | 2017-04-14 | 一种基于类自然语言特征的算法生成域名检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107046586B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200034B (zh) * | 2017-12-27 | 2021-01-29 | 新华三信息安全技术有限公司 | 一种识别域名的方法及装置 |
CN108768954B (zh) * | 2018-05-04 | 2020-07-10 | 中国科学院信息工程研究所 | 一种dga恶意软件识别方法 |
CN108737439B (zh) * | 2018-06-04 | 2021-02-09 | 上海交通大学 | 一种基于自反馈学习的大规模恶意域名检测系统及方法 |
CN110768929A (zh) * | 2018-07-26 | 2020-02-07 | 中国电信股份有限公司 | 域名检测方法和装置、计算机可读存储介质 |
US10764246B2 (en) * | 2018-08-14 | 2020-09-01 | Didi Research America, Llc | System and method for detecting generated domain |
CN109698820A (zh) * | 2018-09-03 | 2019-04-30 | 长安通信科技有限责任公司 | 一种域名相似性计算及分类方法和系统 |
CN109756510B (zh) * | 2019-01-25 | 2021-01-08 | 兰州理工大学 | 一种基于N-Gram的恶意域名检测方法 |
CN113098989B (zh) * | 2020-01-09 | 2023-02-03 | 深信服科技股份有限公司 | 字典生成方法、域名检测方法、装置、设备及介质 |
CN113157997A (zh) * | 2020-01-23 | 2021-07-23 | 华为技术有限公司 | 域名特征的提取方法和特征提取装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577660A (zh) * | 2015-12-22 | 2016-05-11 | 国家电网公司 | 基于随机森林的dga域名检测方法 |
CN105610830A (zh) * | 2015-12-30 | 2016-05-25 | 山石网科通信技术有限公司 | 域名的检测方法及装置 |
CN105939340A (zh) * | 2016-01-22 | 2016-09-14 | 北京匡恩网络科技有限责任公司 | 一种发现隐藏的蠕虫病毒的方法及系统 |
-
2017
- 2017-04-14 CN CN201710243526.6A patent/CN107046586B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577660A (zh) * | 2015-12-22 | 2016-05-11 | 国家电网公司 | 基于随机森林的dga域名检测方法 |
CN105610830A (zh) * | 2015-12-30 | 2016-05-25 | 山石网科通信技术有限公司 | 域名的检测方法及装置 |
CN105939340A (zh) * | 2016-01-22 | 2016-09-14 | 北京匡恩网络科技有限责任公司 | 一种发现隐藏的蠕虫病毒的方法及系统 |
Non-Patent Citations (1)
Title |
---|
"DGA Detection Using Machine Learning Methods";Moran Baruch;《Applied Math and Computer Science》;20161230;1-50 |
Also Published As
Publication number | Publication date |
---|---|
CN107046586A (zh) | 2017-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107046586B (zh) | 一种基于类自然语言特征的算法生成域名检测方法 | |
CN110099059B (zh) | 一种域名识别方法、装置及存储介质 | |
CN107590214B (zh) | 搜索关键词的推荐方法、装置及电子设备 | |
CN108712519B (zh) | Ip地址的定位方法、装置及存储介质 | |
CN103685307A (zh) | 基于特征库检测钓鱼欺诈网页的方法及系统、客户端、服务器 | |
CN107204956B (zh) | 网站识别方法及装置 | |
CN102184205B (zh) | 基于可扩展精度混沌哈希的多模式串匹配方法 | |
CN111163072B (zh) | 机器学习模型中特征值的确定方法、装置及电子设备 | |
CN102790762A (zh) | 基于url分类的钓鱼网站检测方法 | |
CN111949803A (zh) | 一种基于知识图谱的网络异常用户检测方法、装置和设备 | |
CN104143008A (zh) | 基于图片匹配检测钓鱼网页的方法及装置 | |
CN109104421A (zh) | 一种网站内容篡改检测方法、装置、设备及可读存储介质 | |
CN103248677A (zh) | 互联网行为分析系统及其工作方法 | |
CN109547294B (zh) | 一种基于固件分析的联网设备型号探测方法、装置 | |
CN112532624B (zh) | 一种黑链检测方法、装置、电子设备及可读存储介质 | |
CN112333185B (zh) | 一种基于dns解析的域名阴影检测方法和装置 | |
He et al. | Malicious domain detection via domain relationship and graph models | |
CN105516114B (zh) | 一种基于网页哈希值扫描漏洞的方法、装置及电子设备 | |
JP5588845B2 (ja) | 不正ドメイン検知装置、不正ドメイン検知方法、およびプログラム | |
CN109241483B (zh) | 一种基于域名推荐的网站发现方法和系统 | |
CN114884686B (zh) | 一种php威胁识别方法及装置 | |
CN106161352A (zh) | 一种匹配方法和客户端,服务器以及匹配设备 | |
CN115391568A (zh) | 基于知识图谱的实体分类方法、系统、终端及存储介质 | |
CN114024701A (zh) | 域名检测方法、装置及通信系统 | |
CN112860810A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230704 Address after: No. 21, 23rd Floor, Research Building B, Sichuan University, No. 65, Kehua North Road, Wuhou District, Chengdu, 610042, Sichuan Patentee after: CHENGDU SHUDAO YIXIN TECHNOLOGY Co.,Ltd. Address before: 610065, No. 24, south section of first ring road, Chengdu, Sichuan, Wuhou District Patentee before: SICHUAN University |