System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于字符与行为双特征的DGA检测方法技术_技高网

一种基于字符与行为双特征的DGA检测方法技术

技术编号:40836075 阅读:4 留言:0更新日期:2024-04-01 15:00
一种基于字符与行为双特征的DGA检测方法,包括以下步骤;1)收集原始流量数据里筛选出解析失败的NXDomain域名,进行数据预处理和过滤,将数据划分为训练集、验证集和测试集,用于后续的特征提取模型;2)先使用训练集和验证集数据对基于双向LSTM的自编码器进行训练,完成训练后再输入测试集数据,将编码器的输出作为提取到域名的字符特征向量;3)将得到的全部数据基于域名和IP请求关系转换为域名‑主机请求二分图,将其稀疏邻接矩阵和权重作为模型输入,提取每个节点的表示向量,作为提取到的域名的行为特征向量;4)采用层次聚类对所述行为特征向量进行聚类分组;本发明专利技术在实际网络流量中高效找到基于Domain‑flux的DGA域名,解决对拼音域名误报率高的问题。

【技术实现步骤摘要】

本专利技术属于计算机网络安全与深度学习,具体涉及一种基于字符与行为双特征的dga检测方法。


技术介绍

1、目前,网络安全中的主要危害来自于恶意软件,其在活动时大多依靠域名运作,包含散布恶意程序的僵尸网络、扰乱用户生活的钓鱼和垃圾邮件域名、操纵受害者主机的特洛伊木马、窃取国家机密的高级可持续威胁等。在僵尸网络中,攻击者会使用域名生成算法生成大量dga域名,向控制与命令服务器发起连接,将携带病毒的恶意软件植入僵尸主机中,使其进行譬如加密勒索、分布式拒绝服务等恶意活动。因此,面对愈发严峻的网络环境,研究域名安全评估技术和恶意域名检测方法对于打击网络犯罪行为、保护当今世界的网络环境具有重要的意义。

2、国内外研究人员针对恶意域名的检测问题展开了众多研究,取得了良好的进展。基于单域名的检测方法能够有效提取域名在文本信息中的特征,在许多实验中都取得了良好的检测效果,但是由于其关注的特征单一,仅适用于如domain-flux随机生成的dga域名,而对许多基于字典的恶意域名存在漏报,对于国内的拼音域名存在误报。此外,这些方法没有考虑域名在行为方面的特征,忽略了在实际流量中域名和其请求主机的关系,导致检测模型在面对实际网络时存在高误报率,在现实世界的适用性不佳。基于dns流量扩展特征的检测方法关注其在网络中的行为关系表现,但是由于所提取的特征都依赖特征工程,而且其使用机器学习模型作为框架,对于域名的字符主要采用其语言学特征与统计特征,如n-grams、字符距离等,忽略了文本间的隐藏特征,容易被攻击者规避,只要频繁修改域名的生成种子和算法就能导致检测方法失效,无法及时捕获最新活动的恶意域名。

3、因此,研究能够高效而准确检测dga域名的检测方法具有重要的研究意义和应用价值。


技术实现思路

1、为了克服以上现有技术存在的问题,本专利技术的目的在于提供一种基于字符与行为双特征的dga检测方法,在实际网络流量中高效找到基于domain-flux的dga域名,解决以往对拼音域名误报率高的问题。

2、为了实现上述目的,本专利技术采用的技术方案是:

3、一种基于字符与行为双特征的dga检测方法,包括以下步骤;

4、1)数据预处理与过滤:

5、从某网络业务提供商(internet service provider,isp)的域名系统(domainname system,dns)收集到的原始流量数据里筛选出解析失败的nxdomain域名,进行数据预处理和过滤,将数据划分为训练集、验证集和测试集,用于后续的特征提取模型;

6、2)字符特征提取:

7、先使用步骤1)中的训练集和验证集数据对基于双向lstm的自编码器进行训练,完成训练后再输入步骤1)中的测试集数据,将编码器的输出作为提取到域名的字符特征向量;

8、3)行为特征提取:

9、将步骤1)中得到的全部数据基于域名和ip请求关系转换为域名-主机请求二分图,其中域名作为图的节点,ip请求域名的行为关系作为图中的边,域名两两之间的共同请求ip数量作为边的权重,将其稀疏邻接矩阵和权重作为模型输入,通过node2vec算法提取每个节点的表示向量,作为提取到的域名的行为特征向量;

10、4)聚类:

11、采用层次聚类对所述行为特征向量进行聚类分组,先通过步骤3)中得到的行为特征找到行为模式高度重合的组域名,再通过步骤2)中得到的字符特征找到这些组域名中构成也相似的域名,最后通过实验设置合理阈值筛选出疑似恶意域名。

12、进一步,所述数据预处理和过滤具体步骤为:首先去除非法顶级域、不符合命名规则的域名;其次,将疑似网络地址转换(network address translation,nat)、dns服务器、云服务等的域名请求数据进行过滤,最后去除请求用户数量过低的疑似错拼域名;完成过滤后,通过数据库工具和组连接方法,将离散的多表数据合并为以二级域为主键,包含请求该二级域的ip集合和ip数量的数据;

13、进一步,所述步骤1)中在向字符特征提取模型传递数据之前,首先对域名字符串进行转换,其规则如下:设定字典为所有组成域名的合法字符,包括数字0-9,小写字母a-z,英文句号(.)和连接符(-),字典大小为38,二级域中的每个字符都根据其在字典中的位置转换为对应的索引,最后在其头部进行零填充,保证所有序列长度均为35,便于模型处理;经过上述转换后,原始不定长度的域名字符串成为固定35维的token序列。

14、进一步,所述步骤2)中自编码器由一个输入层、一个嵌入层、一个两层的编码器与一个两层的解码器组成,其中输入层负责接收步骤1)中经过转换后的token序列向量,嵌入层负责将输入层传递的向量转换为固定大小的35×64维的嵌入向量;所述编码器部分由两层不同的双向lstm组成,第一层输出35×128维的向量,第二层输出64维的向量,作为模型提取到的域名字符特征,该隐向量在进入解码器前,需要通过repeatvector层转化为35×64维的大小;所述解码器负责将从编码器接收到的向量重构为初始数据,其组成和编码器的组成类似,也包含两层双向lstm,第一层输出35×64维的向量,第二层输出35×128维的向量,最后经过dense层,使用softmax激活函数,输出35×38维的向量,每一位代表不同字符的概率;模型使用的损失函数为稀疏交叉熵,并通过优化器rmsprop进行优化。

15、进一步,所述步骤3)中域名-主机请求二分图根据以下规则转换为基于请求关系的网络图:所有域名作为网络图中的节点,ip请求域名的关系作为网络图中的边,域名两两之间的共同请求ip数量作为边的权重。为了获取该网络图的稀疏邻接矩阵,对图中每一对存在边的节点进行遍历,并将边的权重归一化,得到n*3的数据作为输入传递给node2vec算法模型,其中n为网络图的边数,第一列为遍历的起始节点,第二列为遍历的结束节点,第三列为边权重。

16、进一步,所述步骤4)中依次进行两次特征聚类,首先根据域名-主机的行为特征向量进行聚类,找出请求主机序列重合度高的簇;其后,根据域名的字符特征对行为相似的每个簇分别进行聚类,得到最终的聚类结果,即行为重合度高、且字符构成高度相似的域名集合,作为疑似的dga域名集合。

17、本专利技术的有益效果:

18、本专利技术提出的dga检测模型改用自编码器和dns数据进行无监督学习训练,无需标签样本,通过分析实际网络流量中的域名数据,提取字符在文本组成上的潜在特征,简化了特征工程,易于使用;通过引入node2vec图算法,将复杂的网络行为关系转换为模型可处理的嵌入向量,可解决以往基于单字符特征模型的行为缺失问题,可找到同一恶意家族不同版本的恶意成员;通过二次聚类,首先对行为特征类似的域名进行聚类,避免了以往模型对拼音域名的误报问题,优先捕获疑似僵尸网络中的主机,再通过对字符特征聚类,可获取同一dga家族不同算法生成的dga,有利于及时本文档来自技高网...

【技术保护点】

1.一种基于字符与行为双特征的DGA检测方法,其特征在于,包括以下步骤;

2.根据权利要求1所述的一种基于字符与行为双特征的DGA检测方法,其特征在于,所述数据预处理和过滤具体步骤为:首先去除非法顶级域、不符合命名规则的域名;其次,将疑似网络地址转换、DNS服务器、云服务等的域名请求数据进行过滤,最后去除请求用户数量过低的疑似错拼域名;完成过滤后,通过数据库工具和组连接方法,将离散的多表数据合并为以二级域为主键,包含请求该二级域的IP集合和IP数量的数据。

3.根据权利要求1所述的一种基于字符与行为双特征的DGA检测方法,其特征在于,所述步骤1)中在向字符特征提取模型传递数据之前,首先对域名字符串进行转换,其规则如下:设定字典为所有组成域名的合法字符,包括数字0-9,小写字母a-z,英文句号(.)和连接符(-),字典大小为38,二级域中的每个字符都根据其在字典中的位置转换为对应的索引,最后在其头部进行零填充,保证所有序列长度均为35,便于模型处理;经过上述转换后,原始不定长度的域名字符串成为固定35维的token序列。

4.根据权利要求1所述的一种基于字符与行为双特征的DGA检测方法,其特征在于,所述步骤2)中自编码器由一个输入层、一个嵌入层、一个两层的编码器与一个两层的解码器组成,其中输入层负责接收步骤1)中经过转换后的token序列向量,嵌入层负责将输入层传递的向量转换为固定大小的35×64维的嵌入向量;所述编码器部分由两层不同的双向LSTM组成,第一层输出35×128维的向量,第二层输出64维的向量,作为模型提取到的域名字符特征,该隐向量在进入解码器前,需要通过RepeatVector层转化为35×64维的大小;所述解码器负责将从编码器接收到的向量重构为初始数据,其组成和编码器的组成类似,也包含两层双向LSTM,第一层输出35×64维的向量,第二层输出35×128维的向量,最后经过Dense层,使用softmax激活函数,输出35×38维的向量,每一位代表不同字符的概率;模型使用的损失函数为稀疏交叉熵,并通过优化器RMSprop进行优化。

5.根据权利要求1所述的一种基于字符与行为双特征的DGA检测方法,其特征在于,所述步骤3)中域名-主机请求二分图根据以下规则转换为基于请求关系的网络图:所有域名作为网络图中的节点,IP请求域名的关系作为网络图中的边,域名两两之间的共同请求IP数量作为边的权重;为了获取该网络图的稀疏邻接矩阵,对图中每一对存在边的节点进行遍历,并将边的权重归一化,得到N*3的数据作为输入传递给node2vec算法模型,其中N为网络图的边数,第一列为遍历的起始节点,第二列为遍历的结束节点,第三列为边权重。

6.根据权利要求1所述的一种基于字符与行为双特征的DGA检测方法,其特征在于,所述步骤4)中依次进行两次特征聚类,首先根据域名-主机的行为特征向量进行聚类,找出请求主机序列重合度高的簇;其后,根据域名的字符特征对行为相似的每个簇分别进行聚类,得到最终的聚类结果,即行为重合度高、且字符构成高度相似的域名集合,作为疑似的DGA域名集合。

...

【技术特征摘要】

1.一种基于字符与行为双特征的dga检测方法,其特征在于,包括以下步骤;

2.根据权利要求1所述的一种基于字符与行为双特征的dga检测方法,其特征在于,所述数据预处理和过滤具体步骤为:首先去除非法顶级域、不符合命名规则的域名;其次,将疑似网络地址转换、dns服务器、云服务等的域名请求数据进行过滤,最后去除请求用户数量过低的疑似错拼域名;完成过滤后,通过数据库工具和组连接方法,将离散的多表数据合并为以二级域为主键,包含请求该二级域的ip集合和ip数量的数据。

3.根据权利要求1所述的一种基于字符与行为双特征的dga检测方法,其特征在于,所述步骤1)中在向字符特征提取模型传递数据之前,首先对域名字符串进行转换,其规则如下:设定字典为所有组成域名的合法字符,包括数字0-9,小写字母a-z,英文句号(.)和连接符(-),字典大小为38,二级域中的每个字符都根据其在字典中的位置转换为对应的索引,最后在其头部进行零填充,保证所有序列长度均为35,便于模型处理;经过上述转换后,原始不定长度的域名字符串成为固定35维的token序列。

4.根据权利要求1所述的一种基于字符与行为双特征的dga检测方法,其特征在于,所述步骤2)中自编码器由一个输入层、一个嵌入层、一个两层的编码器与一个两层的解码器组成,其中输入层负责接收步骤1)中经过转换后的token序列向量,嵌入层负责将输入层传递的向量转换为固定大小的35×64维的嵌入向量;所述编码器部分由两层不同的双向lstm组成,第一层输出35×128...

【专利技术属性】
技术研发人员:魏军峰张永斌石乘齐王荔李成宁王栋
申请(专利权)人:国家计算机网络与信息安全管理中心陕西分中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1