(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号(43)申请公布日(21)申请号201910219852.2(22)申请日2019.03.21(71)申请人东南大学地址210096江苏省南京市玄武区四牌楼2号(72)发明人万长胜 李静 (74)专利代理机构南京众联专利代理有限公司32206代理人许小莉(51)Int.Cl.G06F16/22(2019.01)G06F16/2458(2019.01)G06N3/04(2006.01)G06N3/08(2006.01)(54)发明名称一种基于词嵌入技术和LSTM的异常域名检测方法(57)摘要本发明公开了一种基于词嵌入技术和长短期记忆(Long Short-Term Memory,LSTM)网络的异常域名检测方法。本发明的方法包括步骤:(1)数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表及域名在词表中的索引表示;(2)数据表示阶段,经过预处理的数据传入嵌入层,嵌入层将词表中的域名的索引表示转化成固定大小的向量表示;(3)数据训练阶段,采用LSTM模型,将域名向量和模型一起训练,以获取分类器最佳性能为目标学习区分正常域名和异常域名的关键特征和域名的向量表示,然后通过逻辑回归层构建域名检测分类器,得到域名检测模型;(4)数据应用阶段,应用模型实现对异常域名的检测。本发明有效解决了对数据和人工的依赖;应用简单,可以在任何网络环境中部署,满足实时性需求。权利要求书1页说明书4页附图3页CN109977118A2019.07.05CN109977118A1.一种基于词嵌入技术和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.采用一些层级结构对整个网络进行补充和优化。权 利 要 求 书1/1页2CN109977118A2一种基于词嵌入技术和LSTM的异常域名检测方法技术领域:[0001]本发明涉及一种基于词嵌入技术和LSTM的异常域名检测方法,属于网络安全研究领域。背景技术:[0002]域名系统(Domain Name System,DNS)作为互联网服务的基础,将用户和互联网紧密连接起来,但是由于其本身设计简单,安全性不高,导致了利用DNS开展攻击活动并基于协议缺陷采取相应方法提高自身隐蔽性的情况,例如垃圾邮件、恶意域名、僵尸网络等。其中僵尸网络影响最为典型,是指攻击者集中地控制一群计算机(受控主机的用户不知情)形成的网络,受控主机形象地被称作“僵尸主机”,这些主机通过和命令与控制服务器(Command and Control server,C&C)也就是主控服务器连接并进行通讯,通过从C&C服务器获得指令进行攻击活动,包括分布式拒绝服务攻击(DDoS)攻击、上传受控主机的数据信息、加密文件进行勒索等,对网络产生的危害极大。[0003]目前,针对异常域名的检测、阻断异常域名查询流量的方法主要集中在三个方面:基于黑名单机制,基于DNS流量分析,基于样本的逆向分析。但这些方法存在以下弊端:维护黑名单机制需要常常更新规则,对人工依赖较高且难以满足实时性;基于流量分析,需要提取多个特征参数并结合异常行为多维度分析,成本较高;对样本逆向分析,由于越来越多的攻击者采用域名生成算法(Domain Generation Algorithm,DGA)作为命令与控制服务器的域名,增加了逆向分析的难度,而且只能检测已知样本的异常域名,实际应用环境中难以保证对庞大数据的实时监测和攻击行为的及时阻断。[0004]因此,异常域名检测方法应当满足下面的要求:(1)准确性。确保检测结果的真实、准确,尽可能降低误报、虚报。(2)简易性。降低系统的数据依赖和人工依赖,保证检测方法简单易用、实施方便。(3)实时性。保证系统部署在网络流量接口处时可以对异常数据进行实时检测。当前异常域名检测方法基本可以满足需求(1)的要求,而(2)和(3)还有很大的改进空间。发明内容[0005]提升异常域名检测系统的简易性和实时性,本章发明了一种基于词嵌入技术和LSTM的异常域名检测方法,解决了对数据和人工的依赖;应用简单,可以在任何网络环境中部署,满足实时性需求。[0006]上述的目的通过以下技术方案实现:[0007]一种基于词嵌入技术和LSTM的异常域名检测方法,该方法包括如下步骤:[0008](1)数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表及域名在词表中的索引表示;[0009](2)数据表示阶段,经过预处理的数据传入嵌入层,嵌入层将词表中的域名的索引表示转化成固定大小的向量表示;说 明 书1/4页3CN109977118A3[0010](3)数据训练阶段,采用LSTM模型,将域名向量和模型一起训练,以获取分类器最佳性能为目标学习区分正常域名和异常域名的关键特征和域名的向量表示,然后通过逻辑回归层构建域名检测分类器,得到域名检测模型;[0011](4)数据应用阶段,应用模型实现对异常域名的检测。[0012]所述的基于词嵌入技术和LSTM的异常域名检测方法,步骤(1)中所述的数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表及域名在词表中的索引表示,具体包括如下步骤:[0013]a.收集数据构建正负样本集,正样本中是正常域名,负样本中是异常域名;[0014]b.将域名中的字母全部用小写字母表示;[0015]c.剔除正负样本中的顶级域名部分;[0016]d.通过数据集构建词表,词表包含了数据集中的全部样本;[0017]e.以词表中对应字符的索引对域名进行编码,获得词表大小的整数数组;[0018]f.将编码后的结果统一成固定长度,长度不足的填补“0”;[0019]e.对数据集进行标注,“0”代表正样本,“1”代表负样本。[0020]所述的基于词嵌入技术和LSTM的异常域名检测方法,步骤(2)中所述的数据表示阶段,经过预处理的数据传入嵌入层,嵌入层将词表中的域名的索引表示转化成固定大小的向量表示,具体包括如下步骤:[0021]a.设置嵌入层的参数,即词向量的维度;[0022]b.使用随机值初始化向量权重,经过Embedding()方法将域名的整数或索引表示转换成固定大小的向量表示。[0023]所述的基于词嵌入技术和LSTM的异常域名检测方法,步骤(3)中所述的数据训练阶段,采用LSTM模型,将域名向量和模型一起训练,以获取分类器最佳性能为目标学习区分正常域名和异常域名的关键特征和域名的向量表示,然后通过逻辑回归层构建域名检测分类器,再通过一些层级结构对整个网络模型进行补充和优化,最终得到域名检测模型,具体包括如下步骤:[0024]a.设置LSTM层参数,即门限结构的隐藏单元个数;[0025]b.通过逻辑回归构建分类器;[0026]c.采用一些层级结构对整个网络进行补充和优化。[0027]有益效果:[0028]与现有技术相比,本发明提出的一种基于词嵌入技术和LSTM的异常域名检测方法。充分发挥了词嵌入技术和LSTM网络模型的优势:词嵌入用作神经网络的输入可以将词的向量的训练也加入到模型中,从而形成端到端的结构,通过嵌入层训练出的向量带有学习到的数据的特征,可以更好地适应相应的网络任务;结合LSTM模型具有学习域名间长距离的上下文依赖性的优势,从而更简单、高效地实现对异常域名的检测。具有依赖数据少,部署简单,准确率高且可以保证实时性的特点。[0029]通过准确性、简易性、实时性分析,该系统符合所要求的目标。该系统也从理论和实验上验证了准确率高、实时性强、易于部署的特点,显示它可以满足上述所有的要求。本方法的研究对于网络流量的监测,及时发现网络中的潜在风险具有重要意义。说 明 书2/4页4CN109977118A4附图说明[0030]图1是本发明的整体结构图。[0031]图2是本发明中数据收集与处理阶段词表示例图。[0032]图3是本发明中数据收集与处理阶段流程图。[0033]图4是本发明中数据表示阶段流程图。[0034]图5是本发明中数据训练阶段流程图。具体实施方式[0035]下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。[0036]一种基于词嵌入技术和LSTM的异常域名检测方法,整体流程如图1所示,它包括本发明方法涉及的数据收集于处理阶段,数据表示阶段,数据训练阶段和数据应用阶段。[0037]本发明方法的设计基础是:词嵌入技术可以将域名数据进行向量化表示,将其用作神经网络的输入相当于将词的向量的训练也加入到了模型中,从而形成端到端的结构,通过嵌入层训练出的向量带有学习到的数据的特征,可以更好地适应相应的网络任务;长短期记忆神经网络LSTM模型,作为对循环神经网络(Recurrent Neural Networks,RNN)模型的特殊改进形式,与RNN的区别在于每个神经元中增加了输入门、遗忘门和输出门的结构,可以更新自循环的权值得,基于这种改进LSTM可以有效解决长距离信息使用问题,通过域名的前后字符判断正常域名的拼写特征(符合拼写规律)以及DGA域名的伪随机特征,捕获对于区分正常域名和异常域名非常重要的字母组合,学习到一个或多个字符的依赖关系,从而更简单、高效地实现对异常域名的检测。[0038]总体来说,本发明提出的基于词嵌入技术和LSTM的异常域名检测方法是非常高效、实用的,因为它采用了词嵌入技术和LSTM神经网络模型对域名字符特征进行学习和训练,满足了巨大网络流量中对异常域名进行检测的准确性、实时性和易用性的要求。[0039]具体分述如下:[0040](1)数据收集与处理阶段,收集域名查询数据并进行预处理,获取域名词表如图2所示及域名在词表中的索引表示如图3所示(以goole为例)。[0041]a.获取数据集