CN117061215A - 一种基于dns报文解析的dga域名检测方法与系统 - Google Patents

一种基于dns报文解析的dga域名检测方法与系统 Download PDF

Info

Publication number
CN117061215A
CN117061215A CN202311151933.6A CN202311151933A CN117061215A CN 117061215 A CN117061215 A CN 117061215A CN 202311151933 A CN202311151933 A CN 202311151933A CN 117061215 A CN117061215 A CN 117061215A
Authority
CN
China
Prior art keywords
domain name
dns
information entropy
dga
dns message
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
Application number
CN202311151933.6A
Other languages
English (en)
Inventor
张浩森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deep Sea Fish Beijing Technology Co ltd
Original Assignee
Deep Sea Fish Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Deep Sea Fish Beijing Technology Co ltd filed Critical Deep Sea Fish Beijing Technology Co ltd
Priority to CN202311151933.6A priority Critical patent/CN117061215A/zh
Publication of CN117061215A publication Critical patent/CN117061215A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种基于DNS报文解析的DGA域名检测方法与系统,所述方法包括:在线采集DNS报文;解析DNS报文,获取域名与响应结果;计算响应报文中域名的二级域名基于马尔科夫链的信息熵,并基于信息熵数值判断可疑域名;过滤响应报文中结果为域名不存在(NXDOMAIN)的报文,记录其请求的客户端,判断可疑主机;结合域名信息熵检测结果和NXDOMAIN响应分析结果,判决可疑主机,并根据告警策略进行告警。本申请实施例的方法能够对大流量进行在线实时分析与检测,具有更为广泛的适用性,能够更有效的检测出根据DGA生成的域名。

Description

一种基于DNS报文解析的DGA域名检测方法与系统
技术领域
本发明涉及一种基于DNS报文解析的DGA域名检测方法与系统,属于网络与信息安全领域。
背景技术
DGA(Domain Generation Algorithm)域名是一种由恶意软件使用的域名生成算法。恶意软件(如僵尸网络、恶意软件家族等)通常需要与其控制服务器进行通信,以接收指令、传输数据或下载恶意内容。为了避免被安全软件和网络防御机制检测和屏蔽,恶意软件使用DGA算法动态生成一系列随机域名,用于与控制服务器进行通信。
DGA域名生成算法通常会根据特定的种子值(seed)和一些随机因素,生成一组看似随机的域名。这些域名与真实的域名类似,但实际上并没有注册或绑定到实际的IP地址。恶意软件会周期性地执行DGA算法,以生成新的域名,并尝试与其中的某个域名进行通信,以与控制服务器建立连接。
这类域名具有以下特点:
动态生成:DGA域名是通过算法动态生成的,而不是静态固定的域名列表。恶意软件会周期性地执行DGA算法,生成新的域名用于通信,使得域名不断变化。
随机性:DGA域名生成算法通常使用种子值(seed)和一些随机因素,生成看似随机的域名。这些域名在外观上类似于正常的域名,但实际上并没有注册或绑定到实际的IP地址。
大量生成:DGA算法能够生成大量的域名,恶意软件可以选择其中的某个域名进行通信,从而增加了防御的难度。
高变性:DGA域名的变化频率很高,可能每天甚至每小时都会生成新的域名。这种高变性使得防御机制很难跟上恶意软件生成域名的速度。
避免检测和封锁:由于DGA域名的动态生成和随机性,它们能够绕过传统的基于域名的检测和封锁机制。这使得恶意软件能够维持与控制服务器的持续通信,隐蔽性较强。
恶意行为指示:DGA域名的使用通常与恶意软件的恶意行为相关联,例如传输恶意指令、下载恶意文件、数据窃取等。因此,检测和阻止DGA域名可以帮助发现和阻止恶意软件的活动。
因此,DGA域名检测具有以下重要意义:
发现恶意软件活动:DGA域名检测可以帮助及时发现和识别恶意软件的活动。恶意软件常使用DGA算法生成域名与其控制服务器进行通信,检测DGA域名能够揭示恶意软件的存在和行为。
阻止命令与控制(C&C)通信:恶意软件通过DGA域名与控制服务器建立连接,接收指令、传输数据或下载恶意内容。检测和阻止DGA域名可以中断恶意软件与控制服务器的通信,有效遏制攻击活动。
提高网络安全防御能力:通过检测和分析DGA域名,可以了解恶意软件的传播方式、攻击模式和网络基础设施,有助于改进和加强网络安全防御措施。
减少恶意域名的伤害范围:检测和封锁DGA域名可以减少恶意软件的传播和影响范围。及早识别和处理DGA域名能够遏制恶意软件的扩散,降低其对用户和系统的危害。
改善威胁情报和安全研究:通过分析和研究DGA域名,可以获取关于恶意软件家族、攻击者行为和网络威胁情报的信息。这有助于深入了解威胁环境、提供安全建议,并推动相关安全研究的进展。
然而,当前DGA域名检测方法存在以下一些缺点:
难以准确识别新型DGA算法:恶意软件开发者不断改进DGA算法,使其更具隐蔽性和难以被检测。当前的DGA域名检测方法可能无法准确识别新型DGA算法生成的域名,导致漏报或误报。
高误报率:一些DGA域名检测方法会产生较高的误报率,将一些正常域名错误地标记为恶意域名。这可能导致合法用户受到不必要的限制或阻断。
时间敏感性:由于DGA域名的变化速度很快,检测方法需要及时更新和适应新的DGA域名模式。否则,会导致检测延迟和防御效果下降。
资源消耗较大:一些复杂的DGA域名检测方法需要大量的计算资源和存储资源。这可能限制了其在实时环境中的应用,或者增加了防御系统的成本。
防御策略依赖:当前的DGA域名检测方法主要依赖于特定的防御策略,如域名黑名单、机器学习模型等。这些策略可能受到绕过攻击的影响,或者在新的DGA变种出现时需要重新训练和调整。
发明内容
本发明所要解决的技术问题是提供一种基于DNS报文解析的DGA域名检测方法与系统,不同于对比专利资源消耗较大的缺陷,本发明对计算资源需求较低;不同于对比专利针对特定DGA算法的方法,本发明能够广泛应用于新型DGA算法;也不同于对比专利对于特定防御策略存在依赖性的特征,本发明具有一定的普适性。
本发明为解决上述技术问题而采用的技术方案是提供通过部署DNS报文采集模块和DNS报文分析服务器,对DNS报文进行在线分析,并动态清理超时的DNS响应缓存,探查通过DGA生成的动态域名,并通过可疑主机判决告警模块进行告警。由于方法与系统本身对于算力和运算空间要求不高,因此,本方法与系统能够对大流量DNS流量进行在线实时分析与检测。另外,由于本方法与系统并不基于任何特定的DGA算法分析,因此,本方法与系统具有更为广泛的适用性。进一步,由于本方法与系统并不依赖于某个特定的防御策略,所以,本方法与系统能够更有效的检测出DGA域名。
上述的DNS报文采集模块,采集在线的DNS流量,筛选出其中的DNS响应报文,之后将响应报文中的域名,以及响应结果是否为NXDOMAIN信息等,上报给DNS报文分析服务器。
上述的DNS报文采集模块,可以基于软件的,例如pcap,能够捕获DNS报文的系统。该系统与方法也适用于其他各类DNS数据采集技术,如某些增强的流记录技术,可以包含DNS响应数据。
上述的DNS报文分析服务器,由DNS报文解析模块,域名信息熵分析模块和主机NXDOMAIN响应分析模块组成。
上述的DNS报文解析模块,接收来自DNS报文采集模块的原始DNS报文,筛选掉其中的DNS查询报文,提取其中的DNS请求应答报文。之后,解析DNS请求应答报文中的查询客户端地址,查询域名、以及响应内容是否为NXDOMAIN信息。由于本方法与系统对于数据源的要求不高,对于系统算力的要求也不高,所以能够适用于高速网络的在线分析。
上述的域名信息熵分析模块,对于DNS响应报文中的域名进行进一步的信息熵的分析,通过分析DNS请求响应中域名的二级域名信息熵,判断响应域名的信息熵,从中找出信息熵过大的域名,判断其为可疑的,由域名生成算法DGA生成的域名,并将结果上报至可疑主机判决告警模块。
上述的域名信息熵,其计算公式为,其中为单个样本的出现概率,/>为各样本对应的信息熵,而/>。在计算域名信息熵时,不以域名中的单一字符为样本,而对其进行马尔科夫过程变换,定义从本字符到下一个字符的变换为一阶马尔科夫过程,并将当前字符和下一个字符的组合定义为一阶马尔科夫过程二元组,将该二元组记为计算信息熵中的样本,进行信息熵的计算。
上述的主机NXDOMAIN响应分析模块,过滤出响应结果为域名不存在(NXDOMAIN)的DNS响应报文,记录其请求的客户端,并将其记录在该客户端访问过的NXDOMAIN域名列表中,在一定时间内,请求过较多,不重复的NXDOMAIN域名的主机为可疑主机,该结果将被上报至可疑主机判决告警模块。
上述的可疑主机判决告警模块,接收来自域名信息熵分析模块,以及NXDOMAIN响应分析模块的分析结果,并根据自身的告警配置,进行可疑通信的告警。
上述的可疑主机判决告警策略,包括了可疑域名信息熵阈值,单位时间NXDOMAIN域名查询总量,查询NXDOMAIN域名个数等配置。
本发明对比现有技术有如下的有益效果:本发明通过捕获DNS请求响应报文,对网络中的DGA域名进行探测和告警。本发明适用于各类网络环境,以及各种数据源。同时,本发明不针对特定DGA算法,
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一组件分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的组件或组件分,本领域技术人员应该理解的是,这些附图未必是按比例绘制的,在附图中
图1为本申请实施例基于DNS报文解析的DGA域名检测方法的流程示意图。
图2为本申请实施例基于DNS报文解析的DGA域名检测方法的主要流程示意图。
图3为本申请实施例基于DNS报文解析的DGA域名检测方法的域名信息熵分析模块的主要流程示意图。
图4为本申请实施例基于DNS报文解析的DGA域名检测方法的主机NXDOMAIN响应分析模块的主要流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一组件分的实施例,而不是全组件的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请下述实施例以基于DNS报文解析的DGA域名检测方法与系统为例进行详细说明本申请的方案,但是此实施例并不能限制本申请保护范围。
实施例
如图1和图2所示,本申请实施例提供了一种基于DNS报文解析的DGA域名检测方法,所述方法包括以下步骤
步骤1:DNS报文采集模块主要负责在线采集DNS报文,并上报给DNS报文分析服务器。
步骤2:DNS报文分析服务器分析域名的信息熵以及主机的NXDOMAIN响应情况。
步骤3:可疑主机判决告警模块根据域名的信息熵信息以及NXDOMAIN响应情况,判决可疑主机并告警。
在本发明实施例中,所述的DNS报文采集模块只需要采集DNS响应报文,而并不需要采集DNS查询报文,更不需要将DNS响应和DNS查询进行匹配。这样能够极大的降低系统内存和计算资源的要求,适用于针对大流量的在线DNS数据分析。
在本发明实施例中,所述的DNS报文分析服务器,包括域名信息熵分析模块和主机NXDOMAIN响应分析模块。
在本发明实施例中,所述域名信息熵分析模块,通过分析响应域名的二级域名信息熵,判断响应域名的信息熵,从中找出信息熵过大的域名,判断其为可疑的,由域名生成算法(Domain generation algorithms ,DGA)生成的域名,并将结果上报至可疑主机判决告警模块。其信息熵计算公式为,其中为单个样本的出现概率,/>为各样本对应的信息熵,而/>。在计算域名信息熵时,不以域名中的单一字符为样本,而对其进行马尔科夫过程变换,定义从本字符到下一个字符的变换为一阶马尔科夫过程,并将当前字符和下一个字符的组合定义为一阶马尔科夫过程二元组,将该二元组记为计算信息熵中的样本,进行信息熵的计算。
在本发明实施例中,所述主机NXDOMAIN响应分析模块,过滤出响应结果为域名不存在(NXDOMAIN)的DNS响应报文,记录其请求的客户端,并将其记录在该客户端访问过的NXDOMAIN域名列表中,在一定时间内,请求过较多NXDOMAIN域名的主机为可疑主机,该结果将被上报至可疑主机判决告警模块。
在本发明实施例中,所述的可以主机判决告警模块,将综合分析请求域名的信息熵,以及请求的NXDOMAIN域名信息,根据判决策略,如域名信息熵阈值,域名级别,单位时间主机请求的NXDOMAIN域名数等信息,判断可疑主机,并进行告警。
如图3所示,在本发明实施例中,所述域名信息熵分析模块包括以下步骤:
步骤1,收到DNS报文解析信息。主要是提取其中的域名信息,以及DNS响应的目标主机,即发送请求该域名信息的主机。
步骤2,解析域名的二级域名信息。将域名中的一级域名部分去除,留下二级以及更低级域名的信息。
步骤3,在计算域名信息熵时,不以域名中的单一字符为样本,而对其进行马尔科夫过程变换,定义从本字符到下一个字符的变换为一阶马尔科夫过程,并将当前字符和下一个字符的组合定义为一阶马尔科夫过程二元组,将该二元组记为计算信息熵中的样本,进行信息熵的计算。其信息熵计算公式为,其中为单个样本的出现概率,/>为各样本对应的信息熵,而/>
步骤4,判断该域名的二级域名信息熵,是否超过阈值,如果没有超过阈值,则该域名判断为正常域名。
步骤5,若该域名的二级域名信息熵超过阈值,则判定该域名为可疑域名。
步骤6,记录该域名,以及请求该域名的主机,将这些信息上报至可疑主机判决告警模块。
如图4所示,在本发明实施例中,所述主机NXDOMAIN响应分析模块包括以下步骤:
步骤1,收到DNS报文解析信息。
步骤2,筛选出其中类型为NXDOMAIN的域名。主要是提取其中的NXDOMAIN类型的DNS响应报文,提取其中的域名信息,以及DNS响应的目标主机,即发送请求该域名信息的主机。
步骤3,建立哈希表,记录各主机单位时间内收到的NXDOMAIN域名的个数。哈希表的键为主机IP,其值为该主机请求过的所有NXDOMAIN域名。在记录NXDOMAIN域名时,需要进行去重处理。
具体实现时,将单位时间定为24小时。当哈希表中主机NXDOMAIN域名条目的记录时间超过24小时时,将被删除掉,以保证主机的NXDOMAIN记录不超过24小时。
步骤4,查询该主机所访问过的所有NXDOMAIN域名,判断NXDOMAIN域名个数是否超过阈值。如果没有超过阈值,则判定该主机目前正常。
步骤5,若该主机访问的NXDOMAIN域名个数超过阈值,则判定该域名为可疑域名。
步骤6,记录该可疑主机,将这些信息上报至可疑主机判决告警模块。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中组件分或者全组件技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (7)

1.一种基于DNS报文解析的DGA域名检测方法与系统,其中主要包括:DNS报文采集模块,DNS报文分析服务器以及可疑主机判决告警模块。其特征在于,所述方法包括以下步骤:
步骤1:DNS报文采集模块主要负责在线采集DNS报文,并上报给DNS报文分析服务器;
步骤2:DNS报文分析服务器分析域名的信息熵以及主机的NXDOMAIN响应情况;
步骤3:可疑主机判决告警模块根据域名的信息熵信息以及NXDOMAIN响应情况,判决可疑主机并告警。
2.根据权利要求1所述的基于DNS报文解析的DGA域名检测方法与系统,其特征在于,所述的DNS报文采集模块只需要采集DNS响应报文,而并不需要采集DNS查询报文,更不需要将DNS响应和DNS查询进行匹配。这样能够极大的降低系统内存和计算资源的要求,适用于针对大流量的在线DNS数据分析。
3.根据权利要求1所述的基于DNS报文解析的DGA域名检测方法与系统,其特征在于,所述的DNS报文分析服务器,包括域名信息熵分析模块和主机NXDOMAIN响应分析模块。
4. 根据权利要求3所述的基于DNS报文解析的DGA域名检测方法与系统,其特征在于,域名信息熵分析模块,通过分析响应域名的二级域名信息熵,判断响应域名的信息熵,从中找出信息熵过大的域名,判断其为可疑的,由域名生成算法(Domain generationalgorithms ,DGA)生成的域名,并将结果上报至可疑主机判决告警模块。
5.根据权利要求4所述的基于DNS报文解析的DGA域名检测方法与系统,其特征在于,其信息熵计算公式为,其中/>为单个样本的出现概率,/>为各样本对应的信息熵,而/>
6.根据权利5所述的域名信息熵计算,其特征在于,在计算域名信息熵时,不以域名中的单一字符为样本,而对其进行马尔科夫过程变换,定义从本字符到下一个字符的变换为一阶马尔科夫过程,并将当前字符和下一个字符的组合定义为一阶马尔科夫过程二元组,将该二元组记为计算信息熵中的样本,进行信息熵的计算。
7.根据权利要求1所述的基于DNS报文解析的DGA域名检测方法与系统,其特征在于,所述的可以主机判决告警模块,将综合分析请求域名的信息熵,以及请求的NXDOMAIN域名信息,根据判决策略,如域名信息熵阈值,域名级别,单位时间主机请求的NXDOMAIN域名数等信息,判断可疑主机,并进行告警。
CN202311151933.6A 2023-09-07 2023-09-07 一种基于dns报文解析的dga域名检测方法与系统 Pending CN117061215A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311151933.6A CN117061215A (zh) 2023-09-07 2023-09-07 一种基于dns报文解析的dga域名检测方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311151933.6A CN117061215A (zh) 2023-09-07 2023-09-07 一种基于dns报文解析的dga域名检测方法与系统

Publications (1)

Publication Number Publication Date
CN117061215A true CN117061215A (zh) 2023-11-14

Family

ID=88655374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311151933.6A Pending CN117061215A (zh) 2023-09-07 2023-09-07 一种基于dns报文解析的dga域名检测方法与系统

Country Status (1)

Country Link
CN (1) CN117061215A (zh)

Similar Documents

Publication Publication Date Title
US11405359B2 (en) Network firewall for mitigating against persistent low volume attacks
US10721243B2 (en) Apparatus, system and method for identifying and mitigating malicious network threats
US20200244689A1 (en) Detection and mitigation of recursive domain name system attacks
CN110730175B (zh) 一种基于威胁情报的僵尸网络检测方法及检测系统
US9667589B2 (en) Logical / physical address state lifecycle management
Ghorbani et al. Network intrusion detection and prevention: concepts and techniques
US8516585B2 (en) System and method for detection of domain-flux botnets and the like
US20140047543A1 (en) Apparatus and method for detecting http botnet based on densities of web transactions
CN107888607A (zh) 一种网络威胁检测方法、装置及网络管理设备
CN111818103B (zh) 一种网络靶场中基于流量的溯源攻击路径方法
Moustaf et al. Creating novel features to anomaly network detection using DARPA-2009 data set
Bisio et al. Real-time behavioral DGA detection through machine learning
CN110830490B (zh) 基于带对抗训练深度网络的恶意域名检测方法及系统
CN112272175A (zh) 一种基于dns的木马病毒检测方法
KR101045330B1 (ko) 네트워크 기반의 http 봇넷 탐지 방법
CN111628961A (zh) 一种dns异常检测方法
Prieto et al. Botnet detection based on DNS records and active probing
CN113726775B (zh) 一种攻击检测方法、装置、设备及存储介质
CN111371917B (zh) 一种域名检测方法及系统
CN117061215A (zh) 一种基于dns报文解析的dga域名检测方法与系统
Kayacik et al. Using self-organizing maps to build an attack map for forensic analysis
KR101045556B1 (ko) 네트워크 기반의 irc 봇넷 탐지 방법
CN117278262B (zh) 基于深度神经网络的ddos安全防御系统
CN117354024A (zh) 基于大数据的dns恶意域名检测系统及方法
Mulik et al. Botnet Detection using Traffic Analysis and Defenses

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication