CN109977118A - 一种基于词嵌入技术和lstm的异常域名检测方法 - Google Patents
一种基于词嵌入技术和lstm的异常域名检测方法 Download PDFInfo
- Publication number
- CN109977118A CN109977118A CN201910219852.2A CN201910219852A CN109977118A CN 109977118 A CN109977118 A CN 109977118A CN 201910219852 A CN201910219852 A CN 201910219852A CN 109977118 A CN109977118 A CN 109977118A
- Authority
- CN
- China
- Prior art keywords
- domain name
- data
- vocabulary
- lstm
- abnormal
- 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.)
- Pending
Links
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于词嵌入技术和长短期记忆(Long Short‑Term Memory,LSTM)网络的异常域名检测方法。本发明的方法包括步骤:(1)数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表及域名在词表中的索引表示;(2)数据表示阶段,经过预处理的数据传入嵌入层,嵌入层将词表中的域名的索引表示转化成固定大小的向量表示;(3)数据训练阶段,采用LSTM模型,将域名向量和模型一起训练,以获取分类器最佳性能为目标学习区分正常域名和异常域名的关键特征和域名的向量表示,然后通过逻辑回归层构建域名检测分类器,得到域名检测模型;(4)数据应用阶段,应用模型实现对异常域名的检测。本发明有效解决了对数据和人工的依赖;应用简单,可以在任何网络环境中部署,满足实时性需求。
Description
技术领域:
本发明涉及一种基于词嵌入技术和LSTM的异常域名检测方法,属于网络安全研究领域。
背景技术:
域名系统(Domain Name System,DNS)作为互联网服务的基础,将用户和互联网紧密连接起来,但是由于其本身设计简单,安全性不高,导致了利用DNS开展攻击活动并基于协议缺陷采取相应方法提高自身隐蔽性的情况,例如垃圾邮件、恶意域名、僵尸网络等。其中僵尸网络影响最为典型,是指攻击者集中地控制一群计算机(受控主机的用户不知情)形成的网络,受控主机形象地被称作“僵尸主机”,这些主机通过和命令与控制服务器(Command and Control server,C&C)也就是主控服务器连接并进行通讯,通过从C&C服务器获得指令进行攻击活动,包括分布式拒绝服务攻击(DDoS)攻击、上传受控主机的数据信息、加密文件进行勒索等,对网络产生的危害极大。
目前,针对异常域名的检测、阻断异常域名查询流量的方法主要集中在三个方面:基于黑名单机制,基于DNS流量分析,基于样本的逆向分析。但这些方法存在以下弊端:维护黑名单机制需要常常更新规则,对人工依赖较高且难以满足实时性;基于流量分析,需要提取多个特征参数并结合异常行为多维度分析,成本较高;对样本逆向分析,由于越来越多的攻击者采用域名生成算法(Domain Generation Algorithm,DGA)作为命令与控制服务器的域名,增加了逆向分析的难度,而且只能检测已知样本的异常域名,实际应用环境中难以保证对庞大数据的实时监测和攻击行为的及时阻断。
因此,异常域名检测方法应当满足下面的要求:(1)准确性。确保检测结果的真实、准确,尽可能降低误报、虚报。(2)简易性。降低系统的数据依赖和人工依赖,保证检测方法简单易用、实施方便。(3)实时性。保证系统部署在网络流量接口处时可以对异常数据进行实时检测。当前异常域名检测方法基本可以满足需求(1)的要求,而(2)和(3)还有很大的改进空间。
发明内容
提升异常域名检测系统的简易性和实时性,本章发明了一种基于词嵌入技术和LSTM的异常域名检测方法,解决了对数据和人工的依赖;应用简单,可以在任何网络环境中部署,满足实时性需求。
上述的目的通过以下技术方案实现:
一种基于词嵌入技术和LSTM的异常域名检测方法,该方法包括如下步骤:
(1)数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表及域名在词表中的索引表示;
(2)数据表示阶段,经过预处理的数据传入嵌入层,嵌入层将词表中的域名的索引表示转化成固定大小的向量表示;
(3)数据训练阶段,采用LSTM模型,将域名向量和模型一起训练,以获取分类器最佳性能为目标学习区分正常域名和异常域名的关键特征和域名的向量表示,然后通过逻辑回归层构建域名检测分类器,得到域名检测模型;
(4)数据应用阶段,应用模型实现对异常域名的检测。
所述的基于词嵌入技术和LSTM的异常域名检测方法,步骤(1)中所述的数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表及域名在词表中的索引表示,具体包括如下步骤:
a.收集数据构建正负样本集,正样本中是正常域名,负样本中是异常域名;
b.将域名中的字母全部用小写字母表示;
c.剔除正负样本中的顶级域名部分;
d.通过数据集构建词表,词表包含了数据集中的全部样本;
e.以词表中对应字符的索引对域名进行编码,获得词表大小的整数数组;
f.将编码后的结果统一成固定长度,长度不足的填补“0”;
e.对数据集进行标注,“0”代表正样本,“1”代表负样本。
所述的基于词嵌入技术和LSTM的异常域名检测方法,步骤(2)中所述的数据表示阶段,经过预处理的数据传入嵌入层,嵌入层将词表中的域名的索引表示转化成固定大小的向量表示,具体包括如下步骤:
a.设置嵌入层的参数,即词向量的维度;
b.使用随机值初始化向量权重,经过Embedding()方法将域名的整数或索引表示转换成固定大小的向量表示。
所述的基于词嵌入技术和LSTM的异常域名检测方法,步骤(3)中所述的数据训练阶段,采用LSTM模型,将域名向量和模型一起训练,以获取分类器最佳性能为目标学习区分正常域名和异常域名的关键特征和域名的向量表示,然后通过逻辑回归层构建域名检测分类器,再通过一些层级结构对整个网络模型进行补充和优化,最终得到域名检测模型,具体包括如下步骤:
a.设置LSTM层参数,即门限结构的隐藏单元个数;
b.通过逻辑回归构建分类器;
c.采用一些层级结构对整个网络进行补充和优化。
有益效果:
与现有技术相比,本发明提出的一种基于词嵌入技术和LSTM的异常域名检测方法。充分发挥了词嵌入技术和LSTM网络模型的优势:词嵌入用作神经网络的输入可以将词的向量的训练也加入到模型中,从而形成端到端的结构,通过嵌入层训练出的向量带有学习到的数据的特征,可以更好地适应相应的网络任务;结合LSTM模型具有学习域名间长距离的上下文依赖性的优势,从而更简单、高效地实现对异常域名的检测。具有依赖数据少,部署简单,准确率高且可以保证实时性的特点。
通过准确性、简易性、实时性分析,该系统符合所要求的目标。该系统也从理论和实验上验证了准确率高、实时性强、易于部署的特点,显示它可以满足上述所有的要求。本方法的研究对于网络流量的监测,及时发现网络中的潜在风险具有重要意义。
附图说明
图1是本发明的整体结构图。
图2是本发明中数据收集与处理阶段词表示例图。
图3是本发明中数据收集与处理阶段流程图。
图4是本发明中数据表示阶段流程图。
图5是本发明中数据训练阶段流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种基于词嵌入技术和LSTM的异常域名检测方法,整体流程如图1所示,它包括本发明方法涉及的数据收集于处理阶段,数据表示阶段,数据训练阶段和数据应用阶段。
本发明方法的设计基础是:词嵌入技术可以将域名数据进行向量化表示,将其用作神经网络的输入相当于将词的向量的训练也加入到了模型中,从而形成端到端的结构,通过嵌入层训练出的向量带有学习到的数据的特征,可以更好地适应相应的网络任务;长短期记忆神经网络LSTM模型,作为对循环神经网络(Recurrent Neural Networks,RNN)模型的特殊改进形式,与RNN的区别在于每个神经元中增加了输入门、遗忘门和输出门的结构,可以更新自循环的权值得,基于这种改进LSTM可以有效解决长距离信息使用问题,通过域名的前后字符判断正常域名的拼写特征(符合拼写规律)以及DGA域名的伪随机特征,捕获对于区分正常域名和异常域名非常重要的字母组合,学习到一个或多个字符的依赖关系,从而更简单、高效地实现对异常域名的检测。
总体来说,本发明提出的基于词嵌入技术和LSTM的异常域名检测方法是非常高效、实用的,因为它采用了词嵌入技术和LSTM神经网络模型对域名字符特征进行学习和训练,满足了巨大网络流量中对异常域名进行检测的准确性、实时性和易用性的要求。
具体分述如下:
(1)数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表如图2所示及域名在词表中的索引表示如图3所示(以goole为例)。
a.获取数据集,构建正负样本集,正样本中是正常域名,负样本中是异常域名,本实施例正样本使用Alexa网站公开的前50万域名,负样本采用360Netlab网站公开的50万DGA域名,涉及42个DGA家族;
b.将域名中字母全部用小写字母表示;
c.剔除正负样本中的顶级域名部分;
d.通过数据集构建词表,词表包含了数据集中的全部样本内容包括:0-9数字,a-z小写英文字母,以及句点、破折号、下划线,在词表中对应编号(索引)为1-39
e.以词表中对应编号对域名进行编码,获得词表大小的整数数组,例如将google转换成对应下标的整数表示为[17,25,25,17,22,15];
f.设置允许的最大长度为样本中最长域名的长度l,不足的部分填充“0”。例如最长长度l为75,那么google转化后,需要对其填充69个0:[17,25,25,17,22,15,0,0,...,0]
g.对样本集进行标注,“0”代表正样本,“1”代表负样本。
(2)数据表示阶段,经过预处理的数据传入嵌入层,嵌入层将词表中的域名的索引表示转化成固定大小的向量表示,如图4所示。
经过Keras工具包中的Embedding方法转换成固定大小的向量表示,设置嵌入层的维度,即词向量的维度,即我们要为每一个索引分配多少个潜在因子,本实施例经过实验确定当嵌入维度值为128时,模型性能达到最优。
(3)数据训练阶段,采用LSTM模型,将域名向量和模型一起训练,以获取分类器最佳性能为目标学习区分正常域名和异常域名的关键特征和域名的向量表示,然后通过逻辑回归层构建域名检测分类器,再通过一些层级结构对整个网络模型进行优化,最终得到域名检测模型,如图5所示。
a.经过对不同的参数进行实验,确定在本实验中设置LSTM层的参数为256;
b.逻辑回归层选择Sigmoid作为的激活函数,经过该函数将结果压缩到[0,1]之间的值,根据该值设计分类器。
c.采用一些层级结构对整个网络模型进行补充和优化:在LSTM层后采用Dropout层参数0.5。随机地让网络中的一些神经节点停止工作,避免模型过拟合;在逻辑回归层之前接全连接层,设置参数值为1,表示全连接全部特征,将前面抽象化的特征进行全连接,映射到样本空间,用以学习分布式特征间的非线性结合;在分类器之后计算损失函数时,采用优化器对二维交叉熵损失函数进行优化,提升计算效率。
(4)数据应用阶段,应用模型实现对异常域名的检测。
使用Keras框架和Tensorflow工具库按照上述步骤建立模型,并对模型进行训练,采用10折交叉验证对模型性能进行评估,得到该方法识别异常域名的准确率达到99.78%。
Claims (4)
1.一种基于词嵌入技术和LSTM的异常域名检测方法,其特征在于,该方法包括如下步骤:
(1)数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表及域名在词表中的索引表示;
(2)数据表示阶段,经过预处理的数据传入嵌入层,嵌入层将词表中的域名的索引表示转化成固定大小的向量表示;
(3)数据训练阶段,采用LSTM模型,将域名向量和模型一起训练,以获取分类器最佳性能为目标学习区分正常域名和异常域名的关键特征和域名的向量表示,然后通过逻辑回归层构建域名检测分类器,得到域名检测模型;
(4)数据应用阶段,应用模型实现对异常域名的检测。
2.根据权利要求1所述的基于词嵌入技术和LSTM的异常域名检测方法,其特征在于,步骤(1)中所述的数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表及域名在词表中的索引表示,具体包括如下步骤:
a.收集数据构建正负样本集,正样本中是正常域名,负样本中是异常域名;
b.将域名中的字母全部用小写字母表示;
c.剔除正负样本中的顶级域名部分;
d.通过数据集构建词表,词表包含了数据集中的全部样本;
e.以词表中对应字符的索引对域名进行编码,获得词表大小的整数数组;
f.将编码后的结果统一成固定长度,长度不足的填补“0”;
e.对数据集进行标注,“0”代表正样本,“1”代表负样本。
3.根据权利要求1所述的基于词嵌入技术和LSTM的异常域名检测方法,其特征在于,步骤(2)中所述的数据表示阶段,经过预处理的数据传入嵌入层,嵌入层将词表中的域名的索引表示转化成固定大小的向量表示,具体包括如下步骤:
a.设置嵌入层的参数,即词向量的维度;
b.使用随机值初始化向量权重,经过Embedding()方法将域名的整数或索引表示转换成固定大小的向量表示。
4.根据权利要求1所述的基于词嵌入技术和LSTM的异常域名检测方法,其特征在于,步骤(3)中所述的数据训练阶段,采用LSTM模型,将域名向量和模型一起训练,以获取分类器最佳性能为目标学习区分正常域名和异常域名的关键特征和域名的向量表示,然后通过逻辑回归层构建域名检测分类器,再通过一些层级结构对整个网络模型进行补充和优化,最终得到域名检测模型,具体包括如下步骤:
a.设置LSTM层参数,即门限结构的隐藏单元个数;
b.通过逻辑回归构建分类器;
c.采用一些层级结构对整个网络进行补充和优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910219852.2A CN109977118A (zh) | 2019-03-21 | 2019-03-21 | 一种基于词嵌入技术和lstm的异常域名检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910219852.2A CN109977118A (zh) | 2019-03-21 | 2019-03-21 | 一种基于词嵌入技术和lstm的异常域名检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109977118A true CN109977118A (zh) | 2019-07-05 |
Family
ID=67080043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910219852.2A Pending CN109977118A (zh) | 2019-03-21 | 2019-03-21 | 一种基于词嵌入技术和lstm的异常域名检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977118A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807098A (zh) * | 2019-09-24 | 2020-02-18 | 武汉智美互联科技有限公司 | 基于BiRNN深度学习的DGA域名检测方法 |
CN111523588A (zh) * | 2020-04-20 | 2020-08-11 | 电子科技大学 | 基于改进的lstm对apt攻击恶意软件流量进行分类的方法 |
CN112202726A (zh) * | 2020-09-10 | 2021-01-08 | 西安交通大学 | 一种基于上下文感知的系统异常检测方法 |
CN112866257A (zh) * | 2021-01-22 | 2021-05-28 | 网宿科技股份有限公司 | 一种域名检测方法、系统及装置 |
CN112949768A (zh) * | 2021-04-07 | 2021-06-11 | 苏州瑞立思科技有限公司 | 一种基于lstm的流量分类方法 |
CN113709152A (zh) * | 2021-08-26 | 2021-11-26 | 东南大学 | 一种具备高抗检测能力的对抗域名生成模型 |
TWI780411B (zh) * | 2020-03-04 | 2022-10-11 | 國立中正大學 | 基於長短期記憶模型之異常網路流量偵測系統及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180218284A1 (en) * | 2017-01-31 | 2018-08-02 | Xerox Corporation | Method and system for learning transferable feature representations from a source domain for a target domain |
CN109391602A (zh) * | 2017-08-11 | 2019-02-26 | 北京金睛云华科技有限公司 | 一种僵尸主机检测方法 |
CN109391706A (zh) * | 2018-11-07 | 2019-02-26 | 顺丰科技有限公司 | 基于深度学习的域名检测方法、装置、设备和存储介质 |
-
2019
- 2019-03-21 CN CN201910219852.2A patent/CN109977118A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180218284A1 (en) * | 2017-01-31 | 2018-08-02 | Xerox Corporation | Method and system for learning transferable feature representations from a source domain for a target domain |
CN109391602A (zh) * | 2017-08-11 | 2019-02-26 | 北京金睛云华科技有限公司 | 一种僵尸主机检测方法 |
CN109391706A (zh) * | 2018-11-07 | 2019-02-26 | 顺丰科技有限公司 | 基于深度学习的域名检测方法、装置、设备和存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807098A (zh) * | 2019-09-24 | 2020-02-18 | 武汉智美互联科技有限公司 | 基于BiRNN深度学习的DGA域名检测方法 |
TWI780411B (zh) * | 2020-03-04 | 2022-10-11 | 國立中正大學 | 基於長短期記憶模型之異常網路流量偵測系統及方法 |
CN111523588A (zh) * | 2020-04-20 | 2020-08-11 | 电子科技大学 | 基于改进的lstm对apt攻击恶意软件流量进行分类的方法 |
CN111523588B (zh) * | 2020-04-20 | 2022-04-29 | 电子科技大学 | 基于改进的lstm对apt攻击恶意软件流量进行分类的方法 |
CN112202726A (zh) * | 2020-09-10 | 2021-01-08 | 西安交通大学 | 一种基于上下文感知的系统异常检测方法 |
CN112202726B (zh) * | 2020-09-10 | 2021-11-19 | 西安交通大学 | 一种基于上下文感知的系统异常检测方法 |
CN112866257A (zh) * | 2021-01-22 | 2021-05-28 | 网宿科技股份有限公司 | 一种域名检测方法、系统及装置 |
CN112866257B (zh) * | 2021-01-22 | 2023-09-26 | 网宿科技股份有限公司 | 一种域名检测方法、系统及装置 |
CN112949768A (zh) * | 2021-04-07 | 2021-06-11 | 苏州瑞立思科技有限公司 | 一种基于lstm的流量分类方法 |
CN113709152A (zh) * | 2021-08-26 | 2021-11-26 | 东南大学 | 一种具备高抗检测能力的对抗域名生成模型 |
CN113709152B (zh) * | 2021-08-26 | 2022-11-25 | 东南大学 | 一种具备高抗检测能力的对抗域名生成模型 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977118A (zh) | 一种基于词嵌入技术和lstm的异常域名检测方法 | |
CN109391602B (zh) | 一种僵尸主机检测方法 | |
CN110266647B (zh) | 一种命令和控制通信检测方法及系统 | |
CN109450845B (zh) | 一种基于深度神经网络的算法生成恶意域名检测方法 | |
WO2019096099A1 (zh) | Dga域名实时检测方法和装置 | |
KR102093275B1 (ko) | 악성코드 감염 유도정보 판별 시스템, 프로그램이 기록된 저장매체 및 방법 | |
CN112087442B (zh) | 基于注意力机制的时序相关网络入侵检测方法 | |
CN112217787B (zh) | 一种基于ed-gan的仿冒域名训练数据生成方法及系统 | |
CN102176701A (zh) | 一种基于主动学习的网络数据异常检测方法 | |
CN113139536B (zh) | 一种基于跨域元学习的文本验证码识别方法、设备及存储介质 | |
CN110830489B (zh) | 基于内容抽象表示的对抗式欺诈网站检测方法及系统 | |
CN113806746A (zh) | 基于改进cnn网络的恶意代码检测方法 | |
CN112884204B (zh) | 网络安全风险事件预测方法及装置 | |
Lu et al. | An efficient communication intrusion detection scheme in AMI combining feature dimensionality reduction and improved LSTM | |
Chen et al. | Applying convolutional neural network for malware detection | |
CN113901448A (zh) | 基于卷积神经网络和轻量级梯度提升机的入侵检测方法 | |
CN115270996A (zh) | 一种dga域名检测方法、检测装置及计算机存储介质 | |
Wang et al. | Network intrusion detection method based on improved CNN in internet of things environment | |
Ren et al. | Integrating an attention mechanism and deep neural network for detection of DGA domain names | |
Tao et al. | An efficient network security situation assessment method based on AE and PMU | |
CN110049034A (zh) | 一种基于深度学习的复杂网络实时Sybil攻击检测方法 | |
Chen et al. | Towards a deep learning approach for detecting malicious domains | |
KR102021138B1 (ko) | 인공지능 기반 악성 도메인 분류 방법 및 프로그램 | |
CN113918936A (zh) | Sql注入攻击检测的方法以及装置 | |
CN112398862B (zh) | 一种基于gru模型的充电桩攻击聚类检测方法 |
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 |