CN113329039B - 一种缓存污染检测方法、装置、电子设备和存储介质 - Google Patents

一种缓存污染检测方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113329039B
CN113329039B CN202110883448.2A CN202110883448A CN113329039B CN 113329039 B CN113329039 B CN 113329039B CN 202110883448 A CN202110883448 A CN 202110883448A CN 113329039 B CN113329039 B CN 113329039B
Authority
CN
China
Prior art keywords
response message
rrset
legal
illegal
response
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
CN202110883448.2A
Other languages
English (en)
Other versions
CN113329039A (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.)
Beijing Anheng Xin'an Technology Co ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202110883448.2A priority Critical patent/CN113329039B/zh
Publication of CN113329039A publication Critical patent/CN113329039A/zh
Application granted granted Critical
Publication of CN113329039B publication Critical patent/CN113329039B/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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network 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]
    • 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
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing

Abstract

本申请公开了一种缓存污染检测方法,包括:当接收到合法响应报文和非法响应报文后,对合法响应报文和非法响应报文进行协议特征比对;协议特征包括五元组、RRSET和TTL;根据比对结果,生成缓存污染检测结果。本申请采取协议特征比对的方式来得到缓存污染检测结果,对云递归DNS无任何要求,且不需要任何预定义可信数据配置,普适性高,适用于任何云递归DNS场景,实时性高、维护成本低本申请同时还提供了一种缓存污染检测装置、一种电子设备和计算机可读存储介质,具有上述有益效果。

Description

一种缓存污染检测方法、装置、电子设备和存储介质
技术领域
本申请涉及网络安全技术领域,特别涉及一种缓存污染检测方法、装置、电子设备和存储介质。
背景技术
在互联网基础设施云安全领域,云递归DNS存在容易遭受中间人攻击从而导致的缓存污染问题。该问题会导致合法站点的用户被异常域名解析引流到钓鱼站点或者受攻击者控制的代理点。对个人财产、信息以及互联网业务与品牌都会产生严重的影响。
相关技术中云递归DNS的缓存污染检测采用的是请求方收到DNS响应后先缓存并按照返回顺序存储,根据响应包中是否做了指针压缩并结合预先设定的可信列表与响应顺序进行合法判断,这种缓存污染检测方式主要依靠于外部导入的预先设定的可信列表,而该可信列表是根据外部数据源分析生成,所以其准确度和可信度存在疑问,且由于可信列表不能实时更新,因此不能实现缓存污染的时效性。还有,要求目标DNS服务器给予改造适配,且要求目标DNS支持指针压缩功能,适配性较差。
发明内容
本申请的目的是提供一种缓存污染检测方法、装置、电子设备和存储介质,对云递归DNS无任何要求,且不需要任何预定义可信数据配置,普适性高,适用于任何云递归DNS场景,实时性高、维护成本低。其具体方案如下:
第一方面,本申请公开了一种缓存污染检测方法,包括:
当接收到合法响应报文和非法响应报文后,对所述合法响应报文和所述非法响应报文进行协议特征比对;所述协议特征包括五元组、RRSET和TTL;
根据比对结果,生成缓存污染检测结果。
可选的,所述当接收到合法响应报文和非法响应报文后,对所述合法响应报文和所述非法响应报文进行协议特征比对,包括:
当接收到所述合法响应报文和所述非法响应报文后,查询五元组冲突链中是否存在与所述合法响应报文的五元组和所述非法响应报文的五元组相同的节点;
若存在与所述合法响应报文的五元组相同的节点和与所述非法响应报文的五元组相同的节点,且与所述合法响应报文的五元组相同的节点和与所述非法响应报文的五元组相同的节点为同一节点,则判断所述合法响应报文的RRSET与所述非法响应报文的RRSET是否相同;
若否,则判断所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值是否大于阈值。
可选的,所述判断所述合法响应报文的RRSET与所述非法响应报文的RRSET是否相同,包括:
将所述合法响应报文的RRSET和所述非法响应报文的RRSET为索引分别创建节点插入RRSET冲突链;
比对当前RRSET冲突链中节点之间的RRSET是否相同;
若所述当前RRSET冲突链中节点之间的RRSET不同,则执行所述判断所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值是否大于阈值的步骤;
若所述当前RRSET冲突链中节点之间的RRSET相同,则检测所述当前RRSET冲突链中各个节点是否到达老化时间;若是,则放行到达所述老化时间的节点中的报文。
可选的,当所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值大于所述阈值之后,所述根据比对结果,生成缓存污染检测结果,包括:
判断所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值是否大于预设阈值;
若所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值大于所述预设阈值,则所述缓存污染检测结果为云递归DNS存在缓存污染,并将所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值大于所述预设阈值作为所述比对结果;
若所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值小于所述预设阈值,则所述缓存污染检测结果为所述云递归DNS不存在缓存污染,并将所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值小于所述预设阈值作为所述比对结果。
可选的,当所述缓存污染检测结果为云递归DNS存在缓存污染之后,还包括:
重写TC标志位,使所述云递归DNS发起可信查询。
第二方面,本申请公开了一种缓存污染检测装置,包括:
比对模块,用于当接收到合法响应报文和非法响应报文后,对所述合法响应报文和所述非法响应报文进行协议特征比对;所述协议特征包括五元组、RRSET和TTL;
生成模块,用于根据比对结果,生成缓存污染检测结果。
可选的,所述比对模块,包括:
五元组比对单元,用于当接收到所述合法响应报文和所述非法响应报文后,查询五元组冲突链中是否存在与所述合法响应报文的五元组和所述非法响应报文的五元组相同的节点;
RRSET判断单元,用于若存在与所述合法响应报文的五元组相同的节点和与所述非法响应报文的五元组相同的节点,且与所述合法响应报文的五元组相同的节点和与所述非法响应报文的五元组相同的节点为同一节点,则判断所述合法响应报文的RRSET与所述非法响应报文的RRSET是否相同;
TTL判断单元,用于若否,则判断所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值是否大于阈值。
可选的,所述RRSET判断单元,包括:
插入子单元,用于将所述合法响应报文的RRSET和所述非法响应报文的RRSET为索引分别创建节点插入RRSET冲突链;
RRSET子对子单元,用于比对当前RRSET冲突链中节点之间的RRSET是否相同;
TTL判断子单元若所述当前RRSET冲突链中节点之间的RRSET不同,则执行所述判断所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值是否大于阈值的步骤;
放行子单元,用于若所述当前RRSET冲突链中节点之间的RRSET相同,则检测所述当前RRSET冲突链中各个节点是否到达老化时间;若是,则放行到达所述老化时间的节点中的报文。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述缓存污染检测方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述缓存污染检测方法的步骤。
本申请提供一种缓存污染检测方法,包括:当接收到合法响应报文和非法响应报文后,对所述合法响应报文和所述非法响应报文进行协议特征比对;所述协议特征包括五元组、RRSET和TTL;根据比对结果,生成缓存污染检测结果。
可见,本申请在接收到合法响应报文和非法响应报文后,对两者进行五元组、RRSET和TTL的协议特征比对,根据比对结果即可得到缓存污染检测结果;即本申请采取协议特征比对的方式来得到缓存污染检测结果,无需做任何预定义数据配置,采用完全被动式发掘发现,准确度高;且接收到两个响应报文后就进行检测,实时性高;也无需对云递归DNS作指针压缩的应用配置,适配性好,避免了相关技术中依赖于外部导入的预先设定的可信列表,准确度、可信度较低,以及时效性不能保证,适配性差的缺陷,本申请中对云递归DNS无任何要求,且不需要任何预定义可信数据配置,普适性高,适用于任何云递归DNS场景,实时性高、维护成本低。本申请同时还提供了一种缓存污染检测装置、一种电子设备和计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种缓存污染检测方法的流程图;
图2为本申请实施例所提供的一种缓存污染检测的系统架构图;
图3为本申请实施例所提供的DNS请求方实体的内部结构示意图;
图4为本申请实施例所提供的一种Hash表的数据结构示意图;
图5为本申请实施例所提供的一种缓存污染检测的具体流程示意图;
图6为本申请实施例提供的一种缓存污染检测装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着云市场的逐年发展,各个业务上云的步伐加快,云安全的挑战日益凸显。而作为互联网基础设施的DNS,其自身安全又影响着千千万万依托于域名解析进行网络寻址的互联网业务,如何保护DNS自身的安全特别是域名解析的安全性,越来越得到重视,通过在递归DNS上实现某种算法或机制以达到发现或者阻断针对云递归DNS的攻击得到越来越广泛的实现与应用。相关技术中的云递归DNS缓存污染检测方法,有以下几种方案被广泛应用:(1)通过其他方式建立并维护一个恶意IP信誉库,对应答的DNS结果即响应结果进行检索比对,从而得到是否为中间人攻击的判定,该方式严重依赖于恶意IP库的准确性,存在很大的误报几率,且对于解析变化比较频繁的动态域名其识别准确性太差。(2)通过预先设定某些域名的合法解析结果数据库,对得到的部分域名解析结果与预先设定的合法解析结果数据做比对,从而判定是否为中间人攻击。该方式需要预先录入域名的所有合法解析结果数据。该方式存在诸多问题,一是其无法录入互联网所有域名的结果,仅能针对部分可控域名作保护;二是对于解析结果变动频繁且解析IP临时分配的CDN业务来讲,将合法解析同步给其系统本身存在诸多限制与实时性问题且需要业务调用同步API进行数据下发同步,增加了业务负担同时存在数据泄漏风险。(3)通过将DNS数据封装在加密隧道中,例如TLS、HTTPS中也是目前应用比较多的防止中间人的方法,该方法实现复杂,需要服务端与客户端同时做相应改造适配且相互兼容,对DNS解析效率也存在较大的影响,无法大面积推广。还有一种方式,请求方收到DNS响应后先缓存并按照返回顺序存储,根据响应包中是否做了指针压缩并结合预先设定的可信列表与响应顺序进行合法判断。这种方法利用了DNS报文协议中的指针压缩标准并结合可信列表与响应顺序进行合法性分析判断,需要预先设定应答可信列表,要求目标DNS服务器给予改造适配,且要求目标DNS支持指针压缩功能,可用性较差,且由于需要设置可信列表其防护效果的实时性与可维护性存在较大问题。其中,云递归DNS:指接收PC、移动端等终端设备的域名解析请求,与其他几个DNS服务器进行通信以搜寻IP地址并将其返回给请求端的DNS解析服务。中间人攻击:攻击者嗅探到云递归DNS发出的DNS请求数据包,分析数据包取得QID和端口号后,向目标发送自己构造好的一个DNS响应报文,对方收到DNS响应报文后,发现QID和端口号以及其他相应字段全部正确,即把返回数据包中的域名和对应的资源记录保存进DNS缓存中,而后到的真实DNS相应报文则被丢弃。缓存污染:指由于中间人攻击导致的云递归DNS本地缓存中保留了非法域名指向,使得本次解析以及后续命中本地缓存的解析请求得到错误的域名解析结果。
基于上述技术问题,本实施例提供一种缓存污染检测方法,对云递归DNS无任何要求,且不需要任何预定义可信数据配置,普适性高,适用于任何云递归DNS场景,实时性高、维护成本低,具体请参考图1,图1为本申请实施例所提供的一种缓存污染检测方法的流程图,具体包括:
S101、当接收到合法响应报文和非法响应报文后,对合法响应报文和非法响应报文进行协议特征比对;协议特征包括五元组、RRSET和TTL。
本实施例的执行主体为云递归DNS。可以理解的是,云递归DNS向上游DNS服务器发送查询请求,然后接收上游DNS服务器返回的响应报文。还可以理解的是,本实施例是对云递归DNS是否遭受中间人攻击的检测,因此若存在中间人攻击,除了会接收到正常的响应报文即合法响应报文外,还会接收到中间人攻击伪造的非法响应报文。本实施例中并不限定合法响应报文与非法响应报文接收的顺序,根据实际情况而定。本实施例中在接收到合法响应报文和非法响应报文后,对合法响应报文和非法响应报文后进行五元组、RRSET和TTL的协议特征比对,其中,五元组指的是源IP地址,源端口,目的IP地址,目的端口和传输层协议;RRSET(Resource Record set,资源记录表),DNS数据库中每一个条目都成为一个资源记录,其实就是一条解析记录;TTL(Time To Live,生存时间),该字段标识一个IP数据报能经过的最大的路由器跳数。
本实施例并不限定对合法响应报文和非法响应报文进行协议特征比对的具体过程。在这一种具体的实施例中,当接收到合法响应报文和非法响应报文后,对合法响应报文和非法响应报文进行协议特征比对,可以包括:
当接收到合法响应报文和非法响应报文后,查询五元组冲突链中是否存在与合法响应报文的五元组和非法响应报文的五元组相同的节点;
若存在与合法响应报文的五元组相同的节点和与非法响应报文的五元组相同的节点,且与合法响应报文的五元组相同的节点和与非法响应报文的五元组相同的节点为同一节点,则判断合法响应报文的RRSET与非法响应报文的RRSET是否相同;
若否,则判断合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值是否大于阈值。
本实施例中在接收到合法响应报文和非法响应报文后,首先查询五元组冲突链中是否存在与合法响应报文的五元组和非法响应报文的五元组相同的节点,查询是否存在该节点的目的是为了防止出现在云递归DNS未发起查询请求时,中间人伪造请求及响应结果,引导用户到钓鱼站点或者受攻击者控制的代理点,对个人财产、信息以及互联网业务与品牌都会产生严重的影响。若不存在与合法响应报文的五元组或非法响应报文的五元组相同的节点时,检测结束,说明当前云递归DNS无缓存污染。若存在与合法响应报文的五元组相同的节点和与非法响应报文的五元组相同的节点,且与合法响应报文的五元组相同的节点和与非法响应报文的五元组相同的节点为同一节点时,继续判断合法响应报文的RRSET与非法响应报文的RRSET是否相同,若相同,检测结束,说明当前云递归DNS无缓存污染;若合法响应报文的RRSET与非法响应报文的RRSET不同,则继续判断合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值是否大于阈值,若大于阈值,则说明存在缓存污染;若不大于阈值,则说明不存在缓存污染。本实施例并不限定阈值的具体大小,可根据实际需求进行设定。
本实施例并不限定对RRSET协议特征比对的具体过程。在一种具体的实施例中,判断合法响应报文的RRSET与非法响应报文的RRSET是否相同,可以包括:
将合法响应报文的RRSET和非法响应报文的RRSET为索引分别创建节点插入RRSET冲突链;
比对当前RRSET冲突链中节点之间的RRSET是否相同;
若当前RRSET冲突链中节点之间的RRSET不同,则执行判断合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值是否大于阈值的步骤;
若当前RRSET冲突链中节点之间的RRSET相同,则检测当前RRSET冲突链中各个节点是否到达老化时间;若是,则放行到达老化时间的节点中的报文。
本实施例中将合法响应报文的RRSET和非法响应报文的RRSET为索引分别创建节点插入RRSET冲突链,然后,通过比对当前RRSET冲突链中的各节点对应的RRSET是否相同,若不同,则继续进行TTL协议特征的比对,若相同,则检测结束,说明当前无缓存污染。进一步的,若是检测到RRSET冲突链中各个节点到达老化时间,那么此时放行到达老化时间的报文。可以理解的是,老化时间代表的是报文在节点中所能存活的最大时间,当到达该时间后,对节点的报文进行释放,减少内存硬盘压力。
S102、根据比对结果,生成缓存污染检测结果。
本实施例中根据比对结果来得到缓存污染检测结果。本实施例并不限定根据比对结果,生成缓存污染检测结果的具体方式,根据具体的特征协议比对的方式而定。例如,上述实施例中当判断得到合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值大于阈值时,那么缓存污染检测结果即为云递归DNS存在缓存污染,此时,比对结果即为合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值大于阈值;当判断得到合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值小于阈值时,那么缓存污染检测结果即为云递归DNS不存在缓存污染,此时,比对结果即为合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值小于阈值。
进一步的,为了提高缓存污染检测结果的准确度,本实施例中当合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值大于阈值之后,根据比对结果,生成缓存污染检测结果,可以包括:
判断合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值是否大于预设阈值;
若合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值大于预设阈值,则缓存污染检测结果为云递归DNS存在缓存污染,并将合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值大于预设阈值作为比对结果;
若合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值小于预设阈值,则缓存污染检测结果为云递归DNS不存在缓存污染,并将合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值小于预设阈值作为比对结果。
即本实施例中在判断出合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值大于阈值之后,还进行了响应时间的比对,即判断合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值是否大于预设阈值,当差值绝对值大于预设阈值时,进一步说明云递归DNS不存在缓存污染;当差值绝对值小于预设阈值时,说明得到的初步缓存污染检测结果不准确,得到云递归DNS不存在缓存污染的检测结果。可以理解的是,响应时间即为云递归DNS接收到响应报文的时间。本实施例并不限定预设阈值的具体大小,可根据实际情况进行设定。
在一种具体的实施例中,为了绕开中间人攻击,获取合法响应结果,本实施例中当缓存污染检测结果为云递归DNS存在缓存污染之后,还可以包括:
重写TC标志位,使云递归DNS发起可信查询。
本实施例在检测到云递归DNS存在缓存污染后,修改重写TC标志位,促使用户态DNS即云递归DNS重新发起可信查询,以绕开中间人攻击。
基于上述技术方案,本实施例在接收到合法响应报文和非法响应报文后,对两者进行五元组、RRSET和TTL的协议特征比对,根据比对结果即可得到缓存污染检测结果,即采取协议特征比对的方式来得到缓存污染检测结果,无需做任何预定义数据配置,采用完全被动式发掘发现,准确度高;且接收到两个响应报文后就进行检测,实时性高;也无需对云递归DNS作指针压缩的应用配置,适配性好,维护成本低。
以下提供一种缓存污染检测的具体实施例。图2为本实施例提供的一种缓存污染检测的系统架构图。缓存污染检测原理为,中间人攻击是第三方通过网络嗅探截获查询报文,并快速伪造响应报文回复。而合法DNS即上游DNS服务器在一定时间间隔后必然也会回复合法响应报文,也就造就了请求方即云递归DNS会收到最少两份响应报文,这两个响应报文与由于网络原因导致的报文重发有本质区别,其重要的一点就在于填充的RRSET是不同的,且IP报头的TTL也有较大差距。据此,在收到响应报文后插入五元组相同的链表即五元组冲突链进行会话缓存,在这个时间内收到五元组相同而RRSET不同且响应时间差距极小并且IP头的TTL差距相对比较大则可以认定是被中间人攻击,即云递归DNS存在缓存污染。
本实施例通过在请求方系统内核嵌入处理模块。通过对迭代查询的响应报文进行回话暂存、关键字段比对即协议特征比对等手段来识别检测中间人缓存污染攻击的发生,同时通过修改上送用户态DNS响应的TC字段促使用户态DNS重新发起可信查询,来达到检测与防护云递归DNS中间人缓存污染问题。图3为本实施例提供的云递归DNS(DNS请求方实体)的内部结构示意图。
本实施例在方案实现过程中,定义一张Hash表(哈希表),图4为本实施例提供的一种Hash表的数据结构示意图,以请求的正向IP五元组或者响应的逆向五元组为输入,桶节点中存储qid、qname、qtype、class、RRSET等信息,其中,qid:是DNS报文的ID标识,对于请求报文和其对应的应答报文,这个字段是相同的,通过它可以区分DNS应答报文是哪个请求的响应;qname: 长度不固定,且不使用填充字节,一般该字段表示的就是需要查询的域名(如果是反向查询,则为IP,反向查询即由IP地址反查域名);qtype: 需要查询域名的资源类型,通常包括A、AAAA、CNAME、NS等;qclass: 通常为1,表明是Internet数据。该Hash表是该专利进行攻击检测的核心数据结构,其以五元组为第一层索引,以RRSET为第二层冲突链索引。相同五元组的会话保存于同一个冲突链,同一个冲突链保存RRSET不同的DNS会话,用来暂存五元组相同而RRSET不同的DNS响应报文。
图5为本实施例提供的一种缓存污染检测的具体流程示意图。利用netfilter开发的内核模块,挂载到NF_IP_LOCAL_IN与NF_IP_LOCAL_OUT位置。对流经报文识别出DNS协议报文。对出方向请求报文提取信息构建Hash节点,对入方向响应报文依次做五元组、RRSET、TTL、响应时间等元素的比对,根据流程图所示逻辑综合分析判断识别中间人攻击,之后复写响应报文中的TC标志位,促使云递归DNS发起可信查询,以绕开中间人。
基于上述技术方案,对于五元组相同且RRSET不同的DNS缓存投毒攻击通过TTL与响应延时机制结合来解决递归/缓存DNS污染问题,适配性好,对于任何DNS中间人防护场景都可以适配应用;无需做任何预定义数据配置,采用完全被动式发掘发现,对于频繁变动的域名也具有实时发现的能力,实时性高,准确性高。
下面对本申请实施例提供的一种缓存污染检测装置进行介绍,下文描述的缓存污染检测装置与上文描述的缓存污染检测方法可相互对应参照,相关模块均设置于中,参考图6,图6为本申请实施例所提供的一种缓存污染检测装置的结构示意图,包括:
在一些具体的实施例中,具体包括:
比对模块601,用于当接收到合法响应报文和非法响应报文后,对合法响应报文和非法响应报文进行协议特征比对;协议特征包括五元组、RRSET和TTL;
生成模块602,用于根据比对结果,生成缓存污染检测结果。
在一些具体的实施例中,比对模块601,包括:
五元组比对单元,用于当接收到合法响应报文和非法响应报文后,查询五元组冲突链中是否存在与合法响应报文的五元组和非法响应报文的五元组相同的节点;
RRSET判断单元,用于若存在与合法响应报文的五元组相同的节点和与非法响应报文的五元组相同的节点,且与合法响应报文的五元组相同的节点和与非法响应报文的五元组相同的节点为同一节点,则判断合法响应报文的RRSET与非法响应报文的RRSET是否相同;
TTL判断单元,用于若否,则判断合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值是否大于阈值。
在一些具体的实施例中,RRSET判断单元,包括:
插入子单元,用于将合法响应报文的RRSET和非法响应报文的RRSET为索引分别创建节点插入RRSET冲突链;
RRSET子对子单元,用于比对当前RRSET冲突链中节点之间的RRSET是否相同;
TTL判断子单元若当前RRSET冲突链中节点之间的RRSET不同,则执行判断合法响应报文中IP头的TTL与非法响应报文的IP头的TTL的差值绝对值是否大于阈值的步骤;
放行子单元,用于若当前RRSET冲突链中节点之间的RRSET相同,则检测当前RRSET冲突链中各个节点是否到达老化时间;若是,则放行到达老化时间的节点中的报文。
在一些具体的实施例中,生成模块602,包括:
判断单元,用于判断合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值是否大于预设阈值;
第一缓存污染检测结果单元,用于若合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值大于预设阈值,则缓存污染检测结果为云递归DNS存在缓存污染,并将合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值大于预设阈值作为比对结果;
第二缓存污染检测结果单元,用于若合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值小于预设阈值,则缓存污染检测结果为云递归DNS不存在缓存污染,并将合法响应报文的响应时间与非法响应报文的响应时间的差值绝对值小于预设阈值作为比对结果。
在一些具体的实施例中,还包括:
重写模块,用于重写TC标志位,使云递归DNS发起可信查询。
由于缓存污染检测装置部分的实施例与缓存污染检测方法部分的实施例相互对应,因此缓存污染检测装置部分的实施例请参见缓存污染检测方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的电子设备与上文描述的缓存污染检测方法可相互对应参照。
本申请还公开一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述缓存污染检测方法的步骤。
由于电子设备部分的实施例与缓存污染检测方法部分的实施例相互对应,因此电子设备部分的实施例请参见缓存污染检测方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的缓存污染检测方法可相互对应参照。
本申请还公开一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述缓存污染检测方法的步骤。
由于计算机可读存储介质部分的实施例与缓存污染检测方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见缓存污染检测方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种缓存污染检测方法、装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (8)

1.一种缓存污染检测方法,其特征在于,包括:
当接收到合法响应报文和非法响应报文后,对所述合法响应报文和所述非法响应报文进行协议特征比对;所述协议特征包括五元组、RRSET和TTL;所述合法响应报文由合法DNS生成,所述非法响应报文由第三方生成;
根据比对结果,生成缓存污染检测结果;
所述当接收到合法响应报文和非法响应报文后,对所述合法响应报文和所述非法响应报文进行协议特征比对,包括:
当接收到所述合法响应报文和所述非法响应报文后,查询五元组冲突链中是否存在与所述合法响应报文的五元组和所述非法响应报文的五元组相同的节点;
若存在与所述合法响应报文的五元组相同的节点和与所述非法响应报文的五元组相同的节点,且与所述合法响应报文的五元组相同的节点和与所述非法响应报文的五元组相同的节点为同一节点,则判断所述合法响应报文的RRSET与所述非法响应报文的RRSET是否相同;
若否,则判断所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值是否大于阈值。
2.根据权利要求1所述的缓存污染检测方法,其特征在于,所述判断所述合法响应报文的RRSET与所述非法响应报文的RRSET是否相同,包括:
将所述合法响应报文的RRSET和所述非法响应报文的RRSET为索引分别创建节点插入RRSET冲突链;
比对当前RRSET冲突链中节点之间的RRSET是否相同;
若所述当前RRSET冲突链中节点之间的RRSET不同,则执行所述判断所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值是否大于阈值的步骤;
若所述当前RRSET冲突链中节点之间的RRSET相同,则检测所述当前RRSET冲突链中各个节点是否到达老化时间;若是,则放行到达所述老化时间的节点中的报文。
3.根据权利要求1所述的缓存污染检测方法,其特征在于,当所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值大于所述阈值之后,所述根据比对结果,生成缓存污染检测结果,包括:
判断所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值是否大于预设阈值;
若所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值大于所述预设阈值,则所述缓存污染检测结果为云递归DNS存在缓存污染,并将所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值大于所述预设阈值作为所述比对结果;
若所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值小于所述预设阈值,则所述缓存污染检测结果为所述云递归DNS不存在缓存污染,并将所述合法响应报文的响应时间与所述非法响应报文的响应时间的差值绝对值小于所述预设阈值作为所述比对结果。
4.根据权利要求1至3任一项所述的缓存污染检测方法,其特征在于,当所述缓存污染检测结果为云递归DNS存在缓存污染之后,还包括:
重写TC标志位,使所述云递归DNS发起可信查询。
5.一种缓存污染检测装置,其特征在于,包括:
比对模块,用于当接收到合法响应报文和非法响应报文后,对所述合法响应报文和所述非法响应报文进行协议特征比对;所述协议特征包括五元组、RRSET和TTL;所述合法响应报文由合法DNS生成,所述非法响应报文由第三方生成;
生成模块,用于根据比对结果,生成缓存污染检测结果;
所述比对模块,包括:
五元组比对单元,用于当接收到所述合法响应报文和所述非法响应报文后,查询五元组冲突链中是否存在与所述合法响应报文的五元组和所述非法响应报文的五元组相同的节点;
RRSET判断单元,用于若存在与所述合法响应报文的五元组相同的节点和与所述非法响应报文的五元组相同的节点,且与所述合法响应报文的五元组相同的节点和与所述非法响应报文的五元组相同的节点为同一节点,则判断所述合法响应报文的RRSET与所述非法响应报文的RRSET是否相同;
TTL判断单元,用于若否,则判断所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值是否大于阈值。
6.根据权利要求5所述的缓存污染检测装置,其特征在于,所述RRSET判断单元,包括:
插入子单元,用于将所述合法响应报文的RRSET和所述非法响应报文的RRSET为索引分别创建节点插入RRSET冲突链;
RRSET子对子单元,用于比对当前RRSET冲突链中节点之间的RRSET是否相同;
TTL判断子单元若所述当前RRSET冲突链中节点之间的RRSET不同,则执行所述判断所述合法响应报文中IP头的TTL与所述非法响应报文的IP头的TTL的差值绝对值是否大于阈值的步骤;
放行子单元,用于若所述当前RRSET冲突链中节点之间的RRSET相同,则检测所述当前RRSET冲突链中各个节点是否到达老化时间;若是,则放行到达所述老化时间的节点中的报文。
7.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述缓存污染检测方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述缓存污染检测方法的步骤。
CN202110883448.2A 2021-08-03 2021-08-03 一种缓存污染检测方法、装置、电子设备和存储介质 Active CN113329039B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110883448.2A CN113329039B (zh) 2021-08-03 2021-08-03 一种缓存污染检测方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110883448.2A CN113329039B (zh) 2021-08-03 2021-08-03 一种缓存污染检测方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113329039A CN113329039A (zh) 2021-08-31
CN113329039B true CN113329039B (zh) 2021-11-02

Family

ID=77426906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110883448.2A Active CN113329039B (zh) 2021-08-03 2021-08-03 一种缓存污染检测方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113329039B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024937B (zh) * 2021-11-16 2023-11-10 北京天融信网络安全技术有限公司 一种dns缓存投毒的检测方法及装置
CN114422476B (zh) * 2021-12-28 2023-09-22 互联网域名系统北京市工程研究中心有限公司 防止cname缓存污染的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261689A1 (en) * 2009-10-20 2016-09-08 At&T Intellectual Property I, L.P. Controlling Registration Floods In VOIP Networks Via DNS
CN109067938A (zh) * 2018-10-15 2018-12-21 网宿科技股份有限公司 一种测试dns服务器的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855636B (zh) * 2019-10-25 2020-12-08 武汉绿色网络信息服务有限责任公司 一种dns劫持的检测方法和装置
CN110778684A (zh) * 2019-12-10 2020-02-11 郑福建 变径链条轮以及变径链条轮变速器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261689A1 (en) * 2009-10-20 2016-09-08 At&T Intellectual Property I, L.P. Controlling Registration Floods In VOIP Networks Via DNS
CN109067938A (zh) * 2018-10-15 2018-12-21 网宿科技股份有限公司 一种测试dns服务器的方法及装置

Also Published As

Publication number Publication date
CN113329039A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
US11489858B2 (en) Malware detection for proxy server networks
US7620733B1 (en) DNS anti-spoofing using UDP
US7568224B1 (en) Authentication of SIP and RTP traffic
US7653938B1 (en) Efficient cookie generator
US9419999B2 (en) Method and device for preventing domain name system spoofing
Sisalem et al. Denial of service attacks targeting a SIP VoIP infrastructure: attack scenarios and prevention mechanisms
Hsu et al. Fast-flux bot detection in real time
US20010042200A1 (en) Methods and systems for defeating TCP SYN flooding attacks
CN113329039B (zh) 一种缓存污染检测方法、装置、电子设备和存储介质
Guo et al. Spoof detection for preventing dos attacks against dns servers
Ehlert et al. Two layer Denial of Service prevention on SIP VoIP infrastructures
EP2557759A1 (en) White listing dns top-talkers
Man et al. Dns cache poisoning attack: Resurrections with side channels
US11831602B2 (en) Systems and methods of controlling internet access using encrypted DNS
AlSabeh et al. P4ddpi: Securing p4-programmable data plane networks via dns deep packet inspection
Feng et al. PMTUD is not Panacea: Revisiting IP Fragmentation Attacks against TCP.
Li et al. TuDoor Attack: Systematically Exploring and Exploiting Logic Vulnerabilities in DNS Response Pre-processing with Malformed Packets
EP1154610A2 (en) Methods and system for defeating TCP Syn flooding attacks
CN116708041B (zh) 伪装代理方法、装置、设备及介质
Griffioen et al. Taxonomy and adversarial strategies of random subdomain attacks
Al-Duwairi et al. Distributed packet pairing for reflector based DDoS attack mitigation
Al-Dalky et al. Practical challenge-response for DNS
WO2017163104A1 (en) System and method for mitigating dns attacks
Arjmandpanah‐Kalat et al. Design and performance analysis of an efficient single flow IP traceback technique in the AS level
Hamadeh et al. Packet marking for traceback of illegal content distribution

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
TR01 Transfer of patent right

Effective date of registration: 20230329

Address after: No. 208, Floor 2, No. 31 Haidian Street, Haidian District, Beijing 100080

Patentee after: Beijing Anheng Xin'an Technology Co.,Ltd.

Address before: No. 188, Lianhui street, Xixing street, Binjiang District, Hangzhou, Zhejiang Province, 310000

Patentee before: Dbappsecurity Co.,Ltd.

TR01 Transfer of patent right