System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络安全检测,具体地说,涉及一种基于双任务学习的dga域名检测方法、系统、设备及介质。
技术介绍
1、随着威胁情报检测系统的普及,已迫使越来越多的恶意网络活动采用算法生成的动态域名与命令控制服务器通信。域名生成算法(dga,domain generation algorithm)采用随机种子,生成伪随机字符串的dga域名,单个家族每日可生成上万个域名。这些随机域名,可成功逃避传统检测机制,广泛应用于僵尸网络、勒索病毒、挖矿软件。
2、dga算法可以使用不同的种子生成各种复杂的域名,之前的黑名单保护方法已经失效。通过逆向工程破解dga算法,并通过抢注来阻止命令控制服务器通信,这种方法不仅逆向难度大、耗时长,而且dga算法生成的域名数量多,抢注成本高昂。与此同时,也提出了基于文本特征和行为特征的dga检测方法。
3、基于文本特征的dga域名检测方法,主要依赖于域名本身的字符特征和文本模式来进行分类和检测。包括基于规则的检测:通过定义一系列特征来识别dga域名,这些特征通常基于已知dga域名的统计规律和特性;基于机器学习的检测:利用机器学习算法对域名特征进行学习,并构建分类模型来区分dga域名和正常域名。这类基于文本和字符串的检测方法通常具有较高的处理速度,能够快速识别大量域名中的dga域名;通过提取有效的文本特征并利用先进的机器学习算法,可以实现较高的检测准确率;不依赖于外部数据源,降低了对数据完整性和实时性的要求。但是,由于dga域名生成策略的多样性和复杂性,单一的特征集和检测算法可能无法覆盖
4、基于行为特征的dga域名检测方法,主要关注dga域名的行为模式,而非仅仅依赖于域名本身的文本和字符串特征。包括基于流量分析:监控网络流量中的dns请求,分析域名请求的频率、模式和变化,识别频繁变化的域名请求,特别是那些在短时间内生成大量域名的行为;基于行为模式识别:通过机器学习算法分析恶意软件的行为模式,如dns请求的规律性、请求域名的特征等。建立正常和异常行为的基线,用于识别潜在的dga活动。这类基于行为特征的检测方法,不仅关注域名本身的特征,还关注域名生成和使用的行为模式,提供了更全面的检测视角;能够实时监测网络流量和恶意软件行为,及时发现新的dga活动;利用机器学习算法自动识别异常行为模式,提高检测的智能化水平。但是,其计算复杂度高,需要处理大量的网络流量和行为数据,对计算资源要求较高;误报率较高,在复杂的网络环境中,可能会将正常的网络行为误判为dga活动;依赖外部数据源,如威胁情报等外部数据源的质量和更新速度可能影响检测的准确性和时效性。
5、上述两种算法均存在:字典型恶意dga域名检测的高漏报,拼音型正常域名分析的高误报问题。另外传统基于行为特征的检测方法,往往侧重于对nxdomain流量的分析,缺乏对正常解析的dns流量中的dga域名的检测。综上所述,亟待提出一种新的dga域名检测方法,覆盖各种dns流量。
技术实现思路
1、本专利技术针对现有的dga域名检测方法存在高误报、无法对正常解析的dns流量中的dga域名进行检测的问题,提出一种基于双任务学习的dga域名检测方法、系统、设备及介质;该方法针对dns的no error流量和nxdomain流量,检测的覆盖范围更广;通过提取关系、行为、文本特征,使得对dga域名能够进行全方位的建模,避免单一特征的不足,同时引入图数据结构以更好的融合多维特征,在对各类dga家族的检测中具有更低的漏报率;采用有监督的学习机制,结合图正则化的双任务学习框架,提高了图神经网络的鲁棒性,能降低噪声干扰,实现对拼音类正常域名的分析具有更低的误报率。
2、本专利技术具体实现内容如下:
3、一种基于双任务学习的dga域名检测方法,具体包括以下步骤:
4、步骤s1:从dns服务器获取dns流量,并根据标志位响应码分类所述dns流量;
5、步骤s2:从分类后的dns流量中提取报文特征;
6、步骤s3:根据报文特征生成节点属性,并根据dga黑白样本库标注已知域名节点,生成带属性和标签的三部图;
7、步骤s4:调用双任务学习框架,结合三部图中的节点嵌入和节点分类,图表示学习得到低维的节点嵌入向量,训练得到dga域名节点的分类模型;
8、步骤s5:提取当前周期,计算节点嵌入向量相似度,重建得到中间邻接矩阵并与原始邻接矩阵加权求和输入至正则化模型,输出节点隐藏并作为下一次图节点分类模型的输入;
9、步骤s6:遍历三部图中的未知域名节点,并获取二分类概率值,根据设定的阈值得到当前域名的dga检测结果。
10、为了更好地实现本专利技术,进一步地,所述步骤s1具体包括以下步骤:
11、步骤s11:调用抓包工具,从dns服务器获取随机时间段内的dns流量;
12、步骤s12:根据标志位响应码,从dns流量中过滤得到响应码为0和3的两类流量;所述两类流量包括no error解析成功的有效流量和nxdomain域名不存在的失效流量。
13、为了更好地实现本专利技术,进一步地,步骤s2中所述报文特征包括关系类特征、行为类特征、文本类特征;
14、所述关系类特征包括客户主机、域名、解析ip;
15、所述行为类特征包括域名的查询、响应;
16、所述文本类特征包括域名结构特征、域名行为特征、域名统计特征;
17、所述域名结构特征包括域名长度、子域名个数、子域名平均长度;
18、所述域名统计特征包括n-gram分布、熵值;
19、所述域名行为特征包括被查询次数、查询主机数、响应码、nxdomain次数。
20、为了更好地实现本专利技术,进一步地,所述步骤s3具体包括以下步骤:
21、步骤s31:根据dns流量中的请求与解析数据构建三部图,第一类节点集合为dns请求的客户主机,第二类节点集合为请求的dns域名,第三类节点集合为dns解析的ip地址;
22、步骤s32:在客户主机节点集合与域名节点集合之间,建立基于请求关系的边;在域名节点集合与解析ip地址节点集合之间,建立基于解析关系的边;
23、步骤s33:将域名节点定义各种属性,对节点属性进行归一化处理;
24、步骤s34:通过dga黑白域名样本库,为部分已知的域名节点分配标签;所述标签用于指示该节点的类别为正常域名或dga域名。
25、为了更好地实现本专利技术,进一步地,所述步骤s4具体包括以下步骤:
26、步骤s41:调用双任务学习框架;所述双任务包括图节点分类任务、图正则化任务;
27、步骤s42:将图节点分类任务和图正则化任务视为两个分离但又相关的任务进行相互学习;在整个训练中,根据分类模型学习节点分类任务本文档来自技高网...
【技术保护点】
1.一种基于双任务学习的DGA域名检测方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的一种基于双任务学习的DGA域名检测方法,其特征在于,所述步骤S1具体包括以下步骤:
3.根据权利要求1所述的一种基于双任务学习的DGA域名检测方法,其特征在于,步骤S2中所述报文特征包括关系类特征、行为类特征、文本类特征;
4.根据权利要求1所述的一种基于双任务学习的DGA域名检测方法,其特征在于,所述步骤S3具体包括以下步骤:
5.根据权利要求1所述的一种基于双任务学习的DGA域名检测方法,其特征在于,所述步骤S4具体包括以下步骤:
6.根据权利要求5所述的一种基于双任务学习的DGA域名检测方法,其特征在于,所述步骤S43具体包括以下步骤:
7.根据权利要求1所述的一种基于双任务学习的DGA域名检测方法,其特征在于,所述步骤S5具体包括以下步骤:
8.一种基于双任务学习的DGA域名检测系统,用于执行如权利要求1所述的基于双任务学习的DGA域名检测方法;其特征在于,包括数据采集单元、特征选择单元、特
9.一种电子设备,其特征在于,包括存储器和处理器;所述存储器上存储有计算机程序;当所述计算机程序在所述处理器上执行时,实现如权利要求1-7任一项所述的基于双任务学习的DGA域名检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令;当所述计算机指令在如权利要求9所述的电子设备上执行时,实现如权利要求1-7任一项所述的基于双任务学习的DGA域名检测方法。
...【技术特征摘要】
1.一种基于双任务学习的dga域名检测方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的一种基于双任务学习的dga域名检测方法,其特征在于,所述步骤s1具体包括以下步骤:
3.根据权利要求1所述的一种基于双任务学习的dga域名检测方法,其特征在于,步骤s2中所述报文特征包括关系类特征、行为类特征、文本类特征;
4.根据权利要求1所述的一种基于双任务学习的dga域名检测方法,其特征在于,所述步骤s3具体包括以下步骤:
5.根据权利要求1所述的一种基于双任务学习的dga域名检测方法,其特征在于,所述步骤s4具体包括以下步骤:
6.根据权利要求5所述的一种基于双任务学习的dga域名检测方法,其特征在于,所述步骤s43具体包括以下步骤:
7.根据权利要...
【专利技术属性】
技术研发人员:杜坤林,任云韬,俞腾飞,冯佳坤,李浩,
申请(专利权)人:安恒愿景成都信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。