CN109120579B - 恶意域名的检测方法、装置及计算机可读存储介质 - Google Patents

恶意域名的检测方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109120579B
CN109120579B CN201710492456.8A CN201710492456A CN109120579B CN 109120579 B CN109120579 B CN 109120579B CN 201710492456 A CN201710492456 A CN 201710492456A CN 109120579 B CN109120579 B CN 109120579B
Authority
CN
China
Prior art keywords
domain name
preset
character information
entropy
malicious
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.)
Active
Application number
CN201710492456.8A
Other languages
English (en)
Other versions
CN109120579A (zh
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201710492456.8A priority Critical patent/CN109120579B/zh
Publication of CN109120579A publication Critical patent/CN109120579A/zh
Application granted granted Critical
Publication of CN109120579B publication Critical patent/CN109120579B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1441Countermeasures against malicious traffic
    • 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]

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

本发明公开了一种恶意域名的检测方法、装置及计算机可读存储介质,涉及信息安全技术领域。所述方法包括:获取域名服务器响应于客户端的域名解析请求向客户端返回的响应报文;从所述响应报文中提取域名名称、域名IP地址、域名生存时间和有效载荷;以及根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名。本发明可以提高恶意域名的检测准确度。

Description

恶意域名的检测方法、装置及计算机可读存储介质
技术领域
本发明涉及信息安全技术领域,尤其是一种恶意域名的检测方法、装置及计算机可读存储介质。
背景技术
僵尸网络(Botnet)是指采用一种或多种传播手段,将大量主机感染僵尸程序(bot)病毒,从而在攻击者和被感染主机之间所形成的一个一对多控制的网络。
从僵尸网络的发展历程来看,攻击者通常采用域名自动生成、域名与IP地址的映射的快速变换等技术躲避域名的检测,现有的恶意域名的检测存在高漏报、高误报的问题,这极大提高了域名的生存周期,最终构建成为超大型的分布式僵尸网络。
因此,有必要提出一种恶意域名的检测方案,以有效遏制僵尸网络的发展。
发明内容
本发明的一个目的是:提高恶意域名的检测准确度。
根据本发明的一方面,提供一种恶意域名的检测方法,包括:获取域名服务器响应于客户端的域名解析请求向客户端返回的响应报文;从所述响应报文中提取域名名称、域名IP地址、域名生存时间和有效载荷;以及根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名。
根据本发明的另一方面,提供一种恶意域名的检测方法,包括:获取客户端在发起域名解析请求时向域名服务器发送的查询报文以及域名服务器响应于所述查询报文向客户端返回的响应报文;从所述查询报文中提取域名名称;从所述响应报文中提取域名IP地址、域名生存时间和有效载荷;以及根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名。
在一个实施例中,所述根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名包括:根据域名名称计算域名长度和域名字符信息熵;以及根据域名长度、域名IP地址、域名生存时间、有效载荷和域名字符信息熵确定域名是否为恶意域名。
在一个实施例中,所述根据域名长度、域名IP地址、域名生存时间、有效载荷和域名字符信息熵确定域名是否为恶意域名包括:判断域名长度是否小于预设长度;若域名长度不小于预设长度,则判断域名生存时间是否大于预设时间;若域名生存时间不大于预设时间,则判断域名字符信息熵是否小于预设熵值;若域名字符信息熵小于预设熵值,则判断有效载荷是否小于预设载荷;若有效载荷不小于预设载荷,则判定域名为恶意域名。
在一个实施例中,若域名字符信息熵不小于预设熵值,则判断域名IP地址在预设时间内的变更次数是否大于预设次数;若域名IP地址在预设时间内的变更次数大于预设次数,则判定域名为恶意域名。
在一个实施例中,所述预设熵值根据如下方式来确定:从已有的域名中选取访问量大于预设访问量的域名组成域名集合;针对域名集合中的每个域名,从该域名的第一个字符开始按顺序依次提取N个字符作为字符段,N小于该域名的字符总数;计算每个字符段在域名集合中出现的概率;根据每个字符段在域名集合中出现的概率计算该域名在域名集合中出现的概率;根据该域名在域名集合中出现的概率计算该域名的域名字符信息熵;根据域名集合中的每个域名的域名字符信息熵得到域名平均字符信息熵;根据域名平均字符信息熵得到域名字符信息熵的方差;以及根据域名字符信息熵的方差确定所述预设熵值。
在一个实施例中,所述预设熵值为域名字符信息熵的方差的1.5-2倍。
在一个实施例中,所述方法还包括:获取客户端在发起域名解析请求时向域名服务器发送的查询报文;从所述查询报文中提取客户端IP地址和解析请求时间戳;以及根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
在一个实施例中,所述方法还包括:从所述查询报文中提取客户端IP地址和解析请求时间戳;以及根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
根据本发明的又一方面,提供一种恶意域名的检测装置,包括:报文获取单元,用于获取域名服务器响应于客户端的域名解析请求向客户端返回的响应报文;信息提取单元,用于从所述响应报文中提取域名名称、域名IP地址、域名生存时间和有效载荷;以及域名判断单元,用于根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名。
根据本发明的再一方面,提供一种恶意域名的检测装置,包括:报文获取单元,用于获取客户端在发起域名解析请求时向域名服务器发送的查询报文以及域名服务器响应于所述查询报文向客户端返回的响应报文;信息提取单元,用于从所述查询报文中提取域名名称;从所述响应报文中提取域名IP地址、域名生存时间和有效载荷;以及域名判断单元,用于根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名。
在一个实施例中,所述域名判断单元用于根据域名名称计算域名长度和域名字符信息熵;以及根据域名长度、域名IP地址、域名生存时间、有效载荷和域名字符信息熵确定域名是否为恶意域名。
在一个实施例中,所述域名判断单元用于:判断域名长度是否小于预设长度;若域名长度不小于预设长度,则判断域名生存时间是否大于预设时间;若域名生存时间不大于预设时间,则判断域名字符信息熵是否小于预设熵值;若域名字符信息熵小于预设熵值,则判断有效载荷是否小于预设载荷;若有效载荷不小于预设载荷,则判定域名为恶意域名。
在一个实施例中,若域名字符信息熵不小于预设熵值,则判断域名IP地址在预设时间内的变更次数是否大于预设次数;若域名IP地址在预设时间内的变更次数大于预设次数,则判定域名为恶意域名。
在一个实施例中,所述预设熵值根据如下方式来确定:从已有的域名中选取访问量大于预设访问量的域名组成域名集合;针对域名集合中的每个域名,从该域名的第一个字符开始按顺序依次提取N个字符作为字符段,N小于该域名的字符总数;计算每个字符段在域名集合中出现的概率;根据每个字符段在域名集合中出现的概率计算该域名在域名集合中出现的概率;根据该域名在域名集合中出现的概率计算该域名的域名字符信息熵;根据域名集合中的每个域名的域名字符信息熵得到域名平均字符信息熵;根据域名平均字符信息熵得到域名字符信息熵的方差;以及根据域名字符信息熵的方差确定所述预设熵值。
在一个实施例中,所述预设熵值为域名字符信息熵的方差的1.5-2倍。
在一个实施例中,所述报文获取单元还用于获取客户端在发起域名解析请求时向域名服务器发送的查询报文;所述信息提取单元还用于从所述查询报文中提取客户端IP地址和解析请求时间戳;所述装置还包括:域名范围确定单元,用于根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
在一个实施例中,所述信息提取单元还用于从所述查询报文中提取客户端IP地址和解析请求时间戳;所述装置还包括:域名范围确定单元,用于根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
根据本申请的还一方面,提供一种恶意域名的检测装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行上述任意一个实施例所述的方法。
根据本申请的还一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任意一个实施例所述的方法。
本发明实施例通过提取响应报文中的域名名称、域名IP地址、域名生存时间和有效载荷,进而根据提取的信息中的一项或多项信息来确定域名是否为恶意域名。根据以上信息来确定域名是否为恶意域名可以提高恶意域名的检测准确度。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一个实施例的恶意域名检测方法的流程示意图;
图2是根据本发明另一个实施例的恶意域名检测方法的流程示意图;
图3是根据本发明一个实现方式的确定域名是否为恶意域名的流程示意图;
图4是根据本发明一个实施例的确定预设熵值的流程示意图;
图5是根据本发明一个实施例的恶意域名检测装置的结构示意图;
图6是根据本发明另一个实施例的恶意域名检测装置的结构示意图;
图7是根据本发明又一个实施例的恶意域名检测装置的结构示意图;
图8是根据本发明再一个实施例的恶意域名检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是根据本发明一个实施例的恶意域名的检测方法的流程示意图。
在步骤102,获取域名服务器(DNS)响应于客户端的域名解析请求向客户端返回的响应报文。
客户端要求DNS解析域名时会向DNS发送该域名的域名解析请求,DNS响应于客户端的域名解析请求会向客户端返回相应的响应报文。
例如,可以在DNS的网络链路前端对DNS的流量进行分光,从而得到DNS向客户端返回的响应报文。
在步骤104,从响应报文中提取域名名称、域名IP地址、域名生存时间(TTL)和有效载荷(payload)。
DNS在根据域名解析请求得到解析记录后会将解析记录保存一段时间,在这段时间内若再次接到解析请求,DNS将直接返回所保存的解析记录。TTL即为一个域名解析记录在DNS中的保留时间。
优选地,在提取域名名称、域名IP地址、TTL和有效载荷后将这些信息存储,然后对每个信息分别建立索引,以便后续快速查找。
在步骤106,根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名。
在一个实现方式中,首先可以根据域名名称计算域名长度和域名字符信息熵;然后根据域名长度、域名IP地址、域名生存时间、有效载荷和域名字符信息熵确定域名是否为恶意域名。例如,可以根据支持向量机、神经网络或贝叶斯等通用机器学习算法来计算域名字符信息熵。
本实施例提取响应报文中的域名名称、域名IP地址、域名生存时间和有效载荷,进而根据提取的信息中的一项或多项信息来确定域名是否为恶意域名。根据以上信息来确定域名是否为恶意域名可以提高恶意域名的检测准确度。
在一个实施例中,根据图1所示方法确定恶意域名后还可以执行如下操作。
首先,获取客户端在发起域名解析请求时向域名服务器发送的查询报文。例如,可以在DNS的网络链路前端对DNS的流量进行分光,从而得到客户端向DNS发送的查询报文。
然后,从查询报文中提取客户端IP地址和解析请求时间戳。这里,解析请求时间戳也即发起域名解析请求的时间。
之后,根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
本实施例通过提取的响应报文中的信息确定恶意域名,之后可以通过查询报文中的客户端IP地址和解析请求时间戳确定所有发起域名解析请求的客户端IP和发起域名解析请求的时间,据此可以获知恶意域名的传播范围,也即僵尸网络的分布情况。
图2是根据本发明另一个实施例的恶意域名的检测方法的流程示意图。
在步骤202,获取客户端在发起域名解析请求时向域名服务器发送的查询报文以及域名服务器响应于查询报文向客户端返回的响应报文。
例如,可以在DNS的网络链路前端对DNS的流量进行分光,从而得到客户端向DNS发送的查询报文以及DNS向客户端返回的响应报文。
在步骤204,从查询报文中提取域名名称。在一个实施例中,还可以从查询报文中提取客户端IP地址和解析请求时间戳。从而在确定恶意域名后可以根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
在步骤206,从响应报文中提取域名IP地址、域名生存时间和有效载荷。
优选地,在提取域名名称、域名IP地址、域名生存时间和有效载荷后将这些信息存储,然后对每个信息分别建立索引,以便后续快速查找。
在步骤208,根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名。
在一个实现方式中,首先可以根据域名名称计算域名长度和域名字符信息熵;然后根据域名长度、域名IP地址、域名生存时间、有效载荷和域名字符信息熵确定域名是否为恶意域名。例如,可以根据支持向量机、神经网络或贝叶斯等通用机器学习算法来计算域名字符信息熵。
本实施例提取查询报文中的域名名称以及响应报文中的域名名称、域名IP地址、域名生存时间和有效载荷,进而根据提取的信息中的一项或多项信息来确定域名是否为恶意域名。根据以上信息来确定域名是否为恶意域名可以提高恶意域名的检测准确度。
在恶意域名的检测过程中,通过调整域名长度、域名IP地址、域名生存时间、有效载荷和域名字符信息熵的检测顺序可以有效提高恶意域名的检测效率和准确度。本发明提出了一种优选的实现方式,下面结合图3进行说明。
图3是根据本发明一个实现方式的确定域名是否为恶意域名的流程示意图。
在步骤302,判断域名长度是否小于预设长度。若域名长度不小于预设长度,则执行步骤304。若域名长度小于预设长度,则结束流程。
在步骤304,判断域名生存时间是否大于预设时间。若域名生存时间不大于预设时间,则执行步骤306。若域名生存时间大于预设时间,则结束流程。
在步骤306,判断域名字符信息熵是否小于预设熵值。若域名字符信息熵小于预设熵值,则执行步骤308。若域名字符信息熵不小于预设熵值,则执行步骤310。
在步骤308,判断有效载荷是否小于预设载荷。若有效载荷不小于预设载荷,则判定域名为恶意域名,具体地,这种情况下域名可能为被攻陷作为跳板的高危域名。若有效载荷小于预设载荷,则结束流程。
在步骤310,判断域名IP地址在预设时间内的变更次数是否大于预设次数。若域名IP地址在预设时间内的变更次数大于预设次数,则判定域名为恶意域名。否则,结束流程。例如,在24小时内,如果域名对应的域名IP地址存在3次以上变更行为,则可以判定该域名为由域名自动生成算法构建的僵尸网络的恶意域名。
需要说明的是,预设长度、预设时间、预设熵值、预设载荷、预设次数这几个基准参数可以根据实际情况来调整。例如,可以根据域名黑名单库和域名白名单库的统计结果来动态调整上述几个基准参数的取值。
根据图3所示流程,按照计算复杂度和信息的重要性从低到高的顺序依次进行判断,最终构建了基于决策树的检测引擎。这种检测方式一方面可以节省检测时间、提高检测效率,另一方面可以更全面地检测出恶意域名,以防漏检、错检,提高了恶意域名的检测准确度。
另外,在一个实施例中,还可以先根据域名黑名单库和域名白名单库来确定域名是否为恶意域名,如果不能确定,再利用图3所示流程进行检测,如此可以大大节省检测时间。
本发明还提供了一种确定预设熵值的方式,下面结合图4所示流程进行说明。
图4是根据本发明一个实施例的确定预设熵值的流程示意图。
在步骤402,从已有的域名中选取访问量大于预设访问量的域名组成域名集合。
例如,选取Alexa全球网站访问量排名前4万的网站域名以及Alexa全球网站访问量排名前2万的网站域名组成域名集合。
在步骤404,针对域名集合中的每个域名,从该域名的第一个字符开始按顺序依次提取N个字符作为字符段,N小于该域名的字符总数。
例如,针对域名www.abc.com,从第一个字符w开始按顺序依次提取3个字符作为字符段,从而得到如下几个字符段:www、ww.、w.a、.ab、abc、…com。优选地,N的取值为3或4。更优选地,N的取值为3,从而使得每个字符段可以更好地反映域名本身的名称。
在步骤406,计算每个字符段在域名集合中出现的概率。
例如,可以根据朴素贝叶斯算法等计算每个字符段在域名集合中出现的概率。示例性地,域名www.abc.com中的每个字符段在域名集合中出现的概率可以表示为P(www|www.abc.com)、P(ww.|www.abc.com)…P(com|www.abc.com)。
在步骤408,根据每个字符段在域名集合中出现的概率计算该域名在域名集合中出现的概率。
域名www.abc.com在域名集合中出现的概率为每个字符段在域名集合中出现的概率之积。例如,域名www.abc.com在域名集合中出现的概率P(www.abc.com|www.abc.com)=P(www|www.abc.com)×P(ww.|www.abc.com)×…×P(com|www.abc.com)。
在步骤410,根据该域名在域名集合中出现的概率计算该域名的域名字符信息熵。
例如,域名www.abc.com的域名字符信息熵=-P(www.abc.com|www.abc.com)×logM(P(www.abc.com|www.abc.com)),其中,底数M可以为e、10、2等。
按照步骤404-步骤410可以得到每个域名的域名字符信息熵。
在步骤412,根据域名集合中的每个域名的域名字符信息熵得到域名平均字符信息熵。
例如,用全部域名的域名字符信息熵总和除以6万即可得到域名平均字符信息熵。
在步骤414,根据域名平均字符信息熵得到域名字符信息熵的方差。
在步骤416,根据域名字符信息熵的方差确定预设熵值。
优选地,预设熵值可以为域名字符信息熵的方差的1.5-2倍,例如1.5、1.7、2倍等,这样的预设熵值可以进一步提高恶意域名的检测准确度。更优选地,预设熵值为域名字符信息熵的方差的1.5倍,这样的预设熵值可以更进一步提高恶意域名的检测准确度。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图5是根据本发明一个实施例的恶意域名的检测装置的结构示意图。该装置包括报文获取单元501、信息提取单元502和域名判断单元503。报文获取单元501用于获取域名服务器响应于客户端的域名解析请求向客户端返回的响应报文。信息提取单元502用于从响应报文中提取域名名称、域名IP地址、域名生存时间和有效载荷。域名判断单元503用于根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名。
在一个实施例中,报文获取单元501还用于获取客户端在发起域名解析请求时向域名服务器发送的查询报文;信息提取单元502还用于从查询报文中提取客户端IP地址和解析请求时间戳;该实施例的装置还可以包括:域名范围确定单元,用于根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
图6是根据本发明另一个实施例的恶意域名的检测装置的结构示意图。该装置包括报文获取单元601、信息提取单元602和域名判断单元603。报文获取单元601用于获取客户端在发起域名解析请求时向域名服务器发送的查询报文以及域名服务器响应于查询报文向客户端返回的响应报文。信息提取单元602用于从查询报文中提取域名名称;从响应报文中提取域名IP地址、域名生存时间和有效载荷。域名判断单元603用于根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名。
在一个实施例中,信息提取单元602还用于从查询报文中提取客户端IP地址和解析请求时间戳;该实施例的装置还可以包括:域名范围确定单元,用于根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
在一个实现方式中,域名判断单元503/603可以用于根据如下方式确定域名是否为恶意域名:首先,根据域名名称计算域名长度和域名字符信息熵;然后,根据域名长度、域名IP地址、域名生存时间、有效载荷和域名字符信息熵确定域名是否为恶意域名。
优选地,域名判断单元503/603可以用于根据如下方式确定域名是否为恶意域名:判断域名长度是否小于预设长度;若域名长度不小于预设长度,则判断域名生存时间是否大于预设时间;若域名生存时间不大于预设时间,则判断域名字符信息熵是否小于预设熵值;若域名字符信息熵小于预设熵值,则判断有效载荷是否小于预设载荷;若有效载荷不小于预设载荷,则判定域名为恶意域名。更进一步地,域名判断单元503/603还可以用于若域名字符信息熵不小于预设熵值,则判断域名IP地址在预设时间内的变更次数是否大于预设次数;若域名IP地址在预设时间内的变更次数大于预设次数,则判定域名为恶意域名。
优选地,预设熵值可以采用图4所示流程来得到,在此不再赘述。
图7是根据本发明又一个实施例的恶意域名的检测装置的结构示意图。该系统包括存储器701和处理器702。存储器701可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图1、2、3或4所对应实施例中的指令。处理器702耦接至存储器701,可以被实施为一个或多个集成电路,例如微处理器或微控制器。处理器702用于执行存储器701中存储的指令,能够提高恶意域名的检测准确度。
图8是根据本发明再一个实施例的数据传输系统的结构示意图。该系统800包括存储器801和处理器802。处理器802通过总线(BUS)803耦合至存储器801。该系统800还可以通过存储接口804连接至外部存储装置805以便调用外部数据,还可以通过网络接口806连接至网络或者外部计算机系统(未示出)。
本实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够提高恶意域名的检测准确度。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图1、2、3或4所对应实施例中的方法的步骤。本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

Claims (16)

1.一种恶意域名的检测方法,其特征在于,包括:
获取域名服务器响应于客户端的域名解析请求向客户端返回的响应报文;
从所述响应报文中提取域名名称、域名IP地址、域名生存时间和有效载荷;以及
根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名,包括:
根据域名名称计算域名长度和域名字符信息熵;
判断域名长度是否小于预设长度;
若域名长度不小于预设长度,则判断域名生存时间是否大于预设时间;
若域名生存时间不大于预设时间,则判断域名字符信息熵是否小于预设熵值;
若域名字符信息熵小于预设熵值,则判断有效载荷是否小于预设载荷;
若有效载荷不小于预设载荷,则判定域名为恶意域名。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取客户端在发起域名解析请求时向域名服务器发送的查询报文;
从所述查询报文中提取客户端IP地址和解析请求时间戳;以及
根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
3.一种恶意域名的检测方法,其特征在于,包括:
获取客户端在发起域名解析请求时向域名服务器发送的查询报文以及域名服务器响应于所述查询报文向客户端返回的响应报文;
从所述查询报文中提取域名名称;
从所述响应报文中提取域名IP地址、域名生存时间和有效载荷;以及
根据域名名称、域名IP地址、域名生存时间和有效载荷中的一项或多项信息确定域名是否为恶意域名,包括:
根据域名名称计算域名长度和域名字符信息熵;
判断域名长度是否小于预设长度;
若域名长度不小于预设长度,则判断域名生存时间是否大于预设时间;
若域名生存时间不大于预设时间,则判断域名字符信息熵是否小于预设熵值;
若域名字符信息熵小于预设熵值,则判断有效载荷是否小于预设载荷;
若有效载荷不小于预设载荷,则判定域名为恶意域名。
4.根据权利要求1或3所述的方法,其特征在于,
若域名字符信息熵不小于预设熵值,则判断域名IP地址在预设时间内的变更次数是否大于预设次数;
若域名IP地址在预设时间内的变更次数大于预设次数,则判定域名为恶意域名。
5.根据权利要求1或3所述的方法,其特征在于,所述预设熵值根据如下方式来确定:
从已有的域名中选取访问量大于预设访问量的域名组成域名集合;
针对域名集合中的每个域名,从该域名的第一个字符开始按顺序依次提取N个字符作为字符段,N小于该域名的字符总数;
计算每个字符段在域名集合中出现的概率;
根据每个字符段在域名集合中出现的概率计算该域名在域名集合中出现的概率;
根据该域名在域名集合中出现的概率计算该域名的域名字符信息熵;
根据域名集合中的每个域名的域名字符信息熵得到域名平均字符信息熵;
根据域名平均字符信息熵得到域名字符信息熵的方差;以及
根据域名字符信息熵的方差确定所述预设熵值。
6.根据权利要求5所述的方法,其特征在于,所述预设熵值为域名字符信息熵的方差的1.5-2倍。
7.根据权利要求3所述的方法,其特征在于,还包括:
从所述查询报文中提取客户端IP地址和解析请求时间戳;以及
根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
8.一种恶意域名的检测装置,其特征在于,包括:
报文获取单元,用于获取域名服务器响应于客户端的域名解析请求向客户端返回的响应报文;
信息提取单元,用于从所述响应报文中提取域名名称、域名IP地址、域名生存时间和有效载荷;以及
域名判断单元,用于根据域名名称计算域名长度和域名字符信息熵;判断域名长度是否小于预设长度;若域名长度不小于预设长度,则判断域名生存时间是否大于预设时间;若域名生存时间不大于预设时间,则判断域名字符信息熵是否小于预设熵值;若域名字符信息熵小于预设熵值,则判断有效载荷是否小于预设载荷;若有效载荷不小于预设载荷,则判定域名为恶意域名。
9.根据权利要求8所述的装置,其特征在于,
所述报文获取单元还用于获取客户端在发起域名解析请求时向域名服务器发送的查询报文;
所述信息提取单元还用于从所述查询报文中提取客户端IP地址和解析请求时间戳;
所述装置还包括:
域名范围确定单元,用于根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
10.一种恶意域名的检测装置,其特征在于,包括:
报文获取单元,用于获取客户端在发起域名解析请求时向域名服务器发送的查询报文以及域名服务器响应于所述查询报文向客户端返回的响应报文;
信息提取单元,用于从所述查询报文中提取域名名称;从所述响应报文中提取域名IP地址、域名生存时间和有效载荷;以及
域名判断单元,用于根据域名名称计算域名长度和域名字符信息熵;判断域名长度是否小于预设长度;若域名长度不小于预设长度,则判断域名生存时间是否大于预设时间;若域名生存时间不大于预设时间,则判断域名字符信息熵是否小于预设熵值;若域名字符信息熵小于预设熵值,则判断有效载荷是否小于预设载荷;若有效载荷不小于预设载荷,则判定域名为恶意域名。
11.根据权利要求8或10所述的装置,其特征在于,
若域名字符信息熵不小于预设熵值,则判断域名IP地址在预设时间内的变更次数是否大于预设次数;
若域名IP地址在预设时间内的变更次数大于预设次数,则判定所述域名为恶意域名。
12.根据权利要求8或10所述的装置,其特征在于,所述预设熵值根据如下方式来确定:
从已有的域名中选取访问量大于预设访问量的域名组成域名集合;
针对域名集合中的每个域名,从该域名的第一个字符开始按顺序依次提取N个字符作为字符段,N小于该域名的字符总数;
计算每个字符段在域名集合中出现的概率;
根据每个字符段在域名集合中出现的概率计算该域名在域名集合中出现的概率;
根据该域名在域名集合中出现的概率计算该域名的域名字符信息熵;
根据域名集合中的每个域名的域名字符信息熵得到域名平均字符信息熵;
根据域名平均字符信息熵得到域名字符信息熵的方差;以及
根据域名字符信息熵的方差确定所述预设熵值。
13.根据权利要求12所述的装置,其特征在于,所述预设熵值为域名字符信息熵的方差的1.5-2倍。
14.根据权利要求10所述的装置,其特征在于,
所述信息提取单元还用于从所述查询报文中提取客户端IP地址和解析请求时间戳;
所述装置还包括:
域名范围确定单元,用于根据客户端IP地址和解析请求时间戳确定恶意域名的传播范围。
15.一种恶意域名的检测装置,其特征在于,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1-7任意一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1-7任意一项所述的方法。
CN201710492456.8A 2017-06-26 2017-06-26 恶意域名的检测方法、装置及计算机可读存储介质 Active CN109120579B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710492456.8A CN109120579B (zh) 2017-06-26 2017-06-26 恶意域名的检测方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710492456.8A CN109120579B (zh) 2017-06-26 2017-06-26 恶意域名的检测方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109120579A CN109120579A (zh) 2019-01-01
CN109120579B true CN109120579B (zh) 2021-05-07

Family

ID=64732679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710492456.8A Active CN109120579B (zh) 2017-06-26 2017-06-26 恶意域名的检测方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109120579B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266684B (zh) * 2019-06-19 2022-06-24 北京天融信网络安全技术有限公司 一种域名系统安全防护方法及装置
CN114244809B (zh) * 2021-12-24 2024-05-17 北京天融信网络安全技术有限公司 用于检测目标网络中主机失陷等级的方法及装置
CN114401246A (zh) * 2021-12-27 2022-04-26 中国电信股份有限公司 访问域名的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702660A (zh) * 2009-11-12 2010-05-05 中国科学院计算技术研究所 异常域名检测方法及系统
CN105577660A (zh) * 2015-12-22 2016-05-11 国家电网公司 基于随机森林的dga域名检测方法
CN106101104A (zh) * 2016-06-15 2016-11-09 国家计算机网络与信息安全管理中心 一种基于域名解析的恶意域名检测方法及系统
WO2017052490A1 (en) * 2015-09-21 2017-03-30 Hewlett Packard Enterprise Development Lp Identification of a dns packet as malicious based on a value

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702660A (zh) * 2009-11-12 2010-05-05 中国科学院计算技术研究所 异常域名检测方法及系统
WO2017052490A1 (en) * 2015-09-21 2017-03-30 Hewlett Packard Enterprise Development Lp Identification of a dns packet as malicious based on a value
CN105577660A (zh) * 2015-12-22 2016-05-11 国家电网公司 基于随机森林的dga域名检测方法
CN106101104A (zh) * 2016-06-15 2016-11-09 国家计算机网络与信息安全管理中心 一种基于域名解析的恶意域名检测方法及系统

Also Published As

Publication number Publication date
CN109120579A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
CN106933854B (zh) 短链接处理方法、装置及服务器
CN109347827B (zh) 网络攻击行为预测的方法、装置、设备及存储介质
CN109951435B (zh) 一种设备标识提供方法及装置和风险控制方法及装置
CN109951477B (zh) 一种基于威胁情报检测网络攻击的方法和装置
CN109669795B (zh) 崩溃信息处理方法及装置
CN109120579B (zh) 恶意域名的检测方法、装置及计算机可读存储介质
CN107454037B (zh) 网络攻击的识别方法和系统
US10241847B2 (en) Anomaly detection using sequences of system calls
EP3905084A1 (en) Method and device for detecting malware
US20180124084A1 (en) Network monitoring device and method
KR101738078B1 (ko) 파일 스캐닝 방법 및 장치
CN112437062A (zh) 一种icmp隧道的检测方法、装置、存储介质和电子设备
CN112583827B (zh) 一种数据泄露检测方法及装置
CN110392032B (zh) 检测异常url的方法、装置及存储介质
KR20160099159A (ko) 악성 코드를 탐지하기 위한 전자 시스템 및 방법
CN108334778B (zh) 病毒检测方法、装置、存储介质及处理器
CN109361674B (zh) 旁路接入的流式数据检测方法、装置以及电子设备
CN113992443B (zh) 一种云沙箱流量处理方法及装置
CN108256327B (zh) 一种文件检测方法及装置
US9374474B1 (en) System, method, and computer program for detecting duplicated telecommunications events in a consumer telecommunications network
TW201928746A (zh) 偵測惡意程式的方法和裝置
CN113987486A (zh) 一种恶意程序检测方法、装置及电子设备
CN115001724A (zh) 网络威胁情报管理方法、装置、计算设备及计算机可读存储介质
CN106990938B (zh) 随机数获取方法、装置及电子设备
CN114024937B (zh) 一种dns缓存投毒的检测方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant