一种DGA域名检测方法、系统及存储介质与流程
未命名
10-21
阅读:36
评论:0
一种dga域名检测方法、系统及存储介质
技术领域
1.本发明涉及信息安全技术领域,尤其涉及一种dga域名检测方法、系统及存储介质。
背景技术:
2.随在互联网技术的不断发展,网络安全变得尤为重要。在网络安全领域,攻击者常常会使用域名将恶意程序连接至远程命令和控制服务器,从而达到操控受害者机器的目的。攻击者使用域名生成算法(domain generation algorithm,简称“dga”),可以生成大量伪随机或看似具备某种规律的域名,这些域名通常会被编码在恶意软件中,相比于硬编码的域名,dga域名可以有效避开黑名单列表的检测,因此现有的域名检测方法无法对准确的检测出dga域名,因此无法准确的进行预警。
技术实现要素:
3.本发明提供了一种dga域名检测方法、系统及存储介质,提高了dga域名发现的正确率,降低误报率,并能有效发现和检测未知类型的dga域名。
4.为实现上述目的,本发明提供了如下方案:本发明提供一种dga域名检测方法,包括:获取正常域名集和恶意域名数据集中的原始数据;对所述原始数据进行分类细化提取各基本特征信息,所述基本特征信息包括域名字符统计特征和域名n-gram模型特征;基于所述基本特征信息建立dga域名检测模型;从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果。
5.在其中一个实施例中,所述域名字符统计特征包括域名字符长度、字符随机性、唯一字符数和元音字母比例。
6.在其中一个实施例中,在对所述原始数据进行分类细化提取各基本特征信息时,对原始数据进行预处理,剔除无效数据。
7.在其中一个实施例中,基于所述基本特征信息建立dga域名检测模型,包括:基于基本特征信息建立数据模型集群,所述数据模型集群包括多个数据模型;将所述基本特征信息分别输入至多个数据模型中,获得对应数据模型的初始预测结果;基于所述请求域名信息与初始预测结果的匹配度设定初始数据模型;对初始数据模型进行测试,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型。
8.在其中一个实施例中,对初始数据模型进行测试,包括:将基本特征信息按预设条件分为训练数据与验证数据;基于训练数据对初始数据模型进行训练;基于验证数据对训练后的初始数据模型进行测试,输出符合预设指标的初
始数据模型。
9.在其中一个实施例中,对初始数据模型进行测试,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型包括:当初始数据模型唯一时,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型;当初始数据模型不唯一时,将分析结果符合预设指标且符合预设指标率最高的初始数据模型确定为所述dga域名检测模型。
10.在其中一个实施例中,从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果,包括:将所述请求域名信息输入至所述dga域名检测模型中,得到所述分析结果;将所述分析结果进行储存并输出;将所述分析结果为dga域名的域名更新至威胁情报中。
11.在其中一个实施例中,在从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果之后,分析结果为dga域名时,请求主机将所述dga域名标记为"肉鸡"。
12.为了实现上述目的,还提供了一种dga域名检测系统,包括:信息获取模块,用于获取正常域名集和恶意域名数据集中的原始数据;信息处理模块,用于对所述原始数据进行分类细化提取各基本特征信息,所述基本特征信息包括域名字符统计特征和域名n-gram模型特征;基于所述基本特征信息建立dga域名检测模型;从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果。
13.为了实现上述目的,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令被加载并运行时,执行所述的dga域名检测方法。
14.本发明的技术效果:通过基于基本特征信息建立dga域名检测模型;从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果,并将dga域名检测模型的输出分析结果作为dga域名的检测结果,能够准确、高效地检测dga域名。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
16.图1是本发明实施例提供的dga域名检测方法的流程图;图2是本发明实施例提供的建立dga域名检测模型的流程图;图3是本发明实施例提供的对初始数据模型进行测试的流程图;图4是本发明实施例提供的dga域名检测系统的示意图。
具体实施方式
17.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不是用来限制本发明的范围。
18.在本技术的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
19.术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
20.在本技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。
21.dga(域名生成算法)是一种利用随机字符来生成c&c域名,从而逃避域名黑名单检 测的技术手段。例如,一个由cryptolocker创建的dga生成域xeogrhxquuubt.com,如果进程 尝试与其建立连接,则尝试机器就可能感染cryptolocker勒索病毒。域名黑名单通常用于 检测和阻断这些域的连接,但对于不断更新的dga算法并不奏效。
22.目前安全产品多是基于域名进行检测,提取其特征进行检测,但是实际应用中会 存在误报较高的问题,很多正常域名会被检出,例如中文拼音域名以及正常的超长域名,很容易被当成dga域名被检出。
23.如图1所示,本实施例公开了一种dga域名检测方法,包括:步骤s1,获取正常域名集和恶意域名数据集中的原始数据;步骤s2,对原始数据进行分类细化提取各基本特征信息,所述基本特征信息包括域名字符统计特征和域名n-gram模型特征;步骤s3,基于所述基本特征信息建立dga域名检测模型;步骤s4,从dns流量中获取请求域名信息,将请求域名信息输入至所述dga域名检测模型中输出分析结果。
24.可以理解的是,上述实施例中,可以提高dga域名发现的正确率,降低误报率,并能有效发现和检测未知类型的dga域名。
25.在一些具体实施例中,所述域名字符统计特征包括域名字符长度、字符随机性、唯一字符数和元音字母比例。
26.在一些具体实施例中,在对所述原始数据进行分类细化提取各基本特征信息时,对原始数据进行预处理,剔除无效数据。
27.可以理解的是,上述实施例中,为了提高故障诊断模型建立的准确性,需要对原始数据信息进行预处理,清除无效数据和干扰数据。
28.如图2所示,在一些具体实施例中,在步骤s3中,基于所述基本特征信息建立dga域
名检测模型,包括:步骤s31,基于基本特征信息建立数据模型集群,所述数据模型集群包括多个数据模型;步骤s32,将所述基本特征信息分别输入至多个数据模型中,获得对应数据模型的初始预测结果;步骤s33,基于所述请求域名信息与初始预测结果的匹配度设定初始数据模型;步骤s34,对初始数据模型进行测试,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型。
29.可以理解的是,上述实施例中,数据模型包括但不限于随机森林算法、支持向量机算法以及逻辑回归算法等,攻击者通常会通过域名生成算法(dga,domain generation algorithm)来生成伪随机字符串并用作顶级域名与多级域名,来有效地避开黑名单列表的检测。所以需要设立dga域名检测模型,来对dga域名进行检测。为了得到最优结果作为dga域名检测模型,对不同模型进行评估,对比检测效果的优劣,具体的对初始数据模型进行测试,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型。
30.基于所述请求域名信息与初始预测结果的匹配度设定初始数据模型,包括:将所述初始预测结果与所述请求域名信息相匹配,将匹配度大于预设匹配度的初始分析结果对应的所述数据模型确定为所述初始数据模型。
31.如图3所示,在一些具体实施例中,对初始数据模型进行测试,包括:步骤s341,将基本特征信息按预设条件分为训练数据与验证数据;步骤s342,基于训练数据对初始数据模型进行训练;步骤s343,基于验证数据对训练后的初始数据模型进行测试,输出符合预设指标的初始数据模型。
32.可以理解的是,上述实施例中,预设条件可以是预设的分配比例,例如将70%的数据样本分为训练数据,30%的数据样本分为验证数据。将训练数据输入进初始数据模型中,对初始数据模型的建模数据进行持续优化,可根据具体实施场景选择相应的训练方式,如利用训练数据进行线性回归训练等。利用验证数据对训练后的初始数据模型进行测试评估,当测试结果达到能满足当前数据分析需求的预设指标后代表训练完成,将训练完成的初始数据模型作为故障诊断模型。例如,预设指标为dga域名的检测成功率为90%。
33.在一些具体实施例中,对初始数据模型进行测试,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型,包括:当初始数据模型唯一时,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型;当初始数据模型不唯一时,将分析结果符合预设指标且符合预设指标率最高的初始数据模型确定为所述dga域名检测模型。
34.可以理解的是,上述实施例中,当匹配度大于预设匹配度的初始分析结果对应的数据模型只有一个时,将故障分析结果符合预设指标的初始数据模型确定为故障诊断模型;当匹配度大于预设匹配度的初始分析结果对应的数据模型有两个及以上时,将故障分析结果符合预设指标且符合预设指标率最高的初始数据模型确定为故障诊断模型。
35.在一些具体实施例中,在步骤s4中,从dns流量中获取请求域名信息,将所述请求
域名信息输入至所述dga域名检测模型中输出分析结果,包括:将所述请求域名信息输入至所述dga域名检测模型中,得到所述分析结果;将所述分析结果进行储存并输出;将所述分析结果为dga域名的域名更新至威胁情报中。
36.可以理解的是,上述实施例中,当所述分析结果为dga域名的域名时,将所述分析结果进行储存并输出警报信息;当所述分析结果为正常域名的域名时,将所述分析结果进行储存。
37.在一些具体实施例中,在从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果之后,分析结果为dga域名时,请求主机将所述dga域名标记为"肉鸡"。
38.可以理解的是,上述实施例中,从大量原始数据中提取特征,如域名长度、数字比例、元音辅音个数及比例、随机熵、n-gram 模型、域名后缀等;利用机器学习对收集的数据进行分析建模(即建立数据模型),选择最优结果保存为dga域名检测模型(即将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型);从dns流量中获取请求的域名,利用dga域名检测模型,针对dns请求的域名进行检测,检测到dga域名后,将请求主机标记为"肉鸡"。
39.如图4所示,为了实现上述目的,还提供了一种dga域名检测系统,包括:信息获取模块,用于获取正常域名集和恶意域名数据集中的原始数据;信息处理模块,用于对所述原始数据进行分类细化提取各基本特征信息,所述基本特征信息包括域名字符统计特征和域名n-gram模型特征;基于所述基本特征信息建立dga域名检测模型;从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果。
40.为了实现上述目的,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令被加载并运行时,执行所述的dga域名检测方法。
41.应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
42.本领域普通技术人员可以理解:以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种dga域名检测方法,其特征在于,包括:获取正常域名集和恶意域名数据集中的原始数据;对所述原始数据进行分类细化提取各基本特征信息,所述基本特征信息包括域名字符统计特征和域名n-gram模型特征;基于所述基本特征信息建立dga域名检测模型;从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果。2.根据权利要求1所述的dga域名检测方法,其特征在于,所述域名字符统计特征包括域名字符长度、字符随机性、唯一字符数和元音字母比例。3.根据权利要求1所述的dga域名检测方法,其特征在于,在对所述原始数据进行分类细化提取各基本特征信息时,对原始数据进行预处理,剔除无效数据。4.根据权利要求1所述的dga域名检测方法,其特征在于,基于所述基本特征信息建立dga域名检测模型,包括:基于基本特征信息建立数据模型集群,所述数据模型集群包括多个数据模型;将所述基本特征信息分别输入至多个数据模型中,获得对应数据模型的初始预测结果;基于所述请求域名信息与初始预测结果的匹配度设定初始数据模型;对初始数据模型进行测试,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型。5.根据权利要求4所述的dga域名检测方法,其特征在于,对初始数据模型进行测试,包括:将基本特征信息按预设条件分为训练数据与验证数据;基于训练数据对初始数据模型进行训练;基于验证数据对训练后的初始数据模型进行测试,输出符合预设指标的初始数据模型。6.根据权利要求4所述的dga域名检测方法,其特征在于,对初始数据模型进行测试,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型包括:当初始数据模型唯一时,将分析结果符合预设指标的初始数据模型确定为所述dga域名检测模型;当初始数据模型不唯一时,将分析结果符合预设指标且符合预设指标率最高的初始数据模型确定为所述dga域名检测模型。7.根据权利要求4所述的dga域名检测方法,其特征在于,从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果,包括:将所述请求域名信息输入至所述dga域名检测模型中,得到所述分析结果;将所述分析结果进行储存并输出;将所述分析结果为dga域名的域名更新至威胁情报中。8.根据权利要求4所述的dga域名检测方法,其特征在于,在从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果之后,分析结果为dga域名时,请求主机将所述dga域名标记为"肉鸡"。9.一种dga域名检测系统,其特征在于,包括:
信息获取模块,用于获取正常域名集和恶意域名数据集中的原始数据;信息处理模块,用于对所述原始数据进行分类细化提取各基本特征信息,所述基本特征信息包括域名字符统计特征和域名n-gram模型特征;基于所述基本特征信息建立dga域名检测模型;从dns流量中获取请求域名信息,将所述请求域名信息输入至所述dga域名检测模型中输出分析结果。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令被加载并运行时,执行如权利要求1-8中任一权利要求所述的dga域名检测方法。
技术总结
本发明涉及信息安全技术领域,公开了一种DGA域名检测方法、系统及存储介质,包括:获取正常域名集和恶意域名数据集中的原始数据;对所述原始数据进行分类细化提取各基本特征信息,所述基本特征信息包括域名字符统计特征和域名N-Gram模型特征;基于所述基本特征信息建立DGA域名检测模型;从DNS流量中获取请求域名信息,将所述请求域名信息输入至所述DGA域名检测模型中输出分析结果。本发明提高了DGA域名发现的正确率,降低误报率,并能有效发现和检测未知类型的DGA域名。检测未知类型的DGA域名。检测未知类型的DGA域名。
技术研发人员:蒋文超 王今是 曲成华 潘中英 韩硕 王宇飞 张涛 胡静 罗贤锋 张明涛
受保护的技术使用者:中国华能集团有限公司北京招标分公司
技术研发日:2023.08.09
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/