买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】防护方法及代理设备_华为技术有限公司_201811444016.6 

申请/专利权人:华为技术有限公司

申请日:2018-11-29

公开(公告)日:2021-02-23

公开(公告)号:CN109451091B

主分类号:H04L29/12(20060101)

分类号:H04L29/12(20060101);H04L29/06(20060101);H04L12/26(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.02.23#授权;2019.04.02#实质审查的生效;2019.03.08#公开

摘要:本申请实施例提供了一种防护方法及代理设备,涉及通信领域,该方法包括:代理设备获取域名列表,并为每个域名设置对应的级别信息,其中,级别信息用于指示每个域名的使用频率;向DNS服务器发送至少一条探测报文,探测报文中携带有域名,域名包含于域名列表中;接收DNS服务器返回的响应报文,其中,响应报文中可携带有域名的状态参数,该状态参数用于指示域名是否为无效域名;获取对应于域名的指示参数的值,指示参数的值与状态参数以及域名的级别信息呈正相关。本申请提供一种缓存域名的方式,即,在缓存域名的同时,可获取每个域名对应的当前状态,使代理设备能够预先感知到各域名是否可用,进而有效预防无效域名攻击所带来的风险。

主权项:1.一种防护方法,其特征在于,包括:代理设备获取域名列表;所述代理设备为每个所述域名设置对应的级别信息,其中,所述级别信息用于指示每个所述域名的使用频率;所述代理设备向域名系统DNS服务器发送至少一条探测报文,所述探测报文中携带有域名,其中,所述域名包含于所述域名列表中;所述代理设备接收所述DNS服务器返回的响应报文,所述响应报文中携带有所述域名的状态参数,所述状态参数用于指示所述域名是否为无效域名;所述代理设备获取对应于所述域名的指示参数的值,所述指示参数的值与所述状态参数以及所述域名的级别信息呈正相关;所述代理设备根据所述指示参数的值对所述携带有所述域名的请求报文进行防御。

全文数据:防护方法及代理设备技术领域本申请实施例涉及通信领域,尤其涉及一种防护方法及代理设备。背景技术目前,在已有技术中,代理设备对域名系统DomainNameSystem,DNS服务器进行防护的方式通常采用:由代理设备对请求报文进行DNS解析,以减轻DNS服务器的压力。但是,如果请求报文中的地址为无效地址,则,代理设备会将请求报文透传到DNS服务器,以请求DNS服务器对域名进行解析。因此,当出现大量的无效地址攻击时,则代理设备将无法为DNS服务器提供防护,导致DNS服务器崩溃。发明内容本申请提供一种防护方法及代理设备,能够在一定程度上降低无效域名攻击对DNS服务器造成的风险。为达到上述目的,本申请采用如下技术方案:第一方面,本申请实施例提供一种防护方法,方法可以包括:代理设备获取域名列表;接着,代理设备可为每个域名设置对应的级别信息,其中,级别信息用于指示每个域名的使用频率;随后,代理设备可向DNS服务器发送至少一条探测报文,其中,探测报文中携带有域名,以及,域名包含于域名列表中;代理设备接收DNS服务器返回的响应报文,其中,响应报文中可携带有域名的状态参数,该状态参数用于指示域名是否为无效域名;然后,代理设备获取对应于域名的指示参数的值,指示参数的值与状态参数以及域名的级别信息呈正相关。通过上述方式,实现了一种新型的缓存域名的方式,即,在缓存域名的同时,还可获取每个域名对应的当前状态,从而使代理设备能够预先感知到各域名是否可用,进而有效预防无效域名攻击所带来的风险。在一种可能的方式中,代理设备获取对应于域名的指示参数的值的步骤,具体可以包括:代理设备获取对应于响应报文的响应时长,响应时长用于指示代理服务器发送探测报文至接收到响应报文之间的时长;相应地,代理设备获取对应于域名的指示参数的值的步骤,还可以包括:代理设备基于响应时长、级别信息以及状态参数,获取指示参数的值,其中,指示参数的值与级别信息、响应时长以及状态参数呈线性关系。通过上述方式,实现了代理设备可根据呈线性关系的多个参数,获取到指示参数的值,从而提升指示参数的值的可靠性。在一种可能的方式中,代理设备可基于下述公式计算指示参数的值:Y=AX+D×S其中,Y为指示参数的值,S为状态参数,X为级别信息,D为响应时长,以及,A为调整参数。通过上述方式,实现了代理设备可根据呈线性关系的多个参数,获取到指示参数的值,从而提升指示参数的值的可靠性。在一种可能的方式中,方法还可以包括:代理设备根据指示参数的值对携带有域名的请求报文进行防御。通过上述方式,实现了代理设备可根据域名的指示参数的值,确认对应于该域名的请求报文的防御方式,并对请求报文进行防御,从而提升防御的准确性以及可靠性。在一种可能的方式中,指示参数的值用于指示对应于携带有域名的请求报文的防御等级,相应的,上述根据指示参数的值对携带有域名的请求报文进行防御的步骤可以包括:指示参数的值越大,则对携带有域名的请求报文进行防御等级更高的防御。通过上述方式,实现了代理设备可根据域名对应的指示参数的值,以判断对应的请求报文的防御等级,随后,可依据防御等级,对请求报文进行相应的处理,并且,代理设备可根据指示参数的值的大小,对请求报文的防御等级进行判断,从而提升对请求报文的异常状态的感知能力。在一种可能的方式中,上述携带有域名的请求报文为终端发送给代理设备的。在一种可能的方式中,若状态参数指示域名为无效域名,则状态参数与指示参数的值均为零,相应的,方法还可以包括:代理设备接收终端发送的携带有第一域名的第一请求报文;代理设备将第一域名与域名列表中的域名进行匹配;代理设备判断匹配成功的域名对应的指示参数的值是否为零;若是,则确定第一域名为无效域名,并丢弃第一请求报文。通过上述方式,实现了代理设备根据域名的指示参数的值,即可判定请求报文的状态是否正常,同时,降低了对DNS服务器可能造成的过载的风险。在一种可能的方式中,若状态参数指示域名为非无效域名,相应的,方法还可以包括:代理设备接收终端发送的携带有第二域名的第二请求报文;代理设备将第二域名与域名列表中的域名进行匹配;代理设备判断匹配成功的域名对应的指示参数的值是否超过第一阈值;若是,则判定第二请求报文为疑似攻击报文,并生成告警信息。通过上述方式,实现了提升代理设备对请求报文的状态是否正常的判断的准确性,从而避免误判的情况发生。在一种可能的方式中,若预定条件触发,则按照预设发送策略,向DNS服务器发送至少一条探测报文。通过上述方式,实现了代理设备可按照预定的时间及规则,向DNS服务器发送探测报文。在一种可能的方式中,方法还可以包括:预定条件可以包括:若到达预设周期触发时刻,则向DNS服务器发送至少一条探测报文;或者,若DNS服务器的负载低于第二阈值,则向DNS服务器发送至少一条探测报文。通过上述方式,实现了代理设备可周期性的主动探测各域名的当前状态,从而提供一种预先防护的方法。在一种可能的方式中,预设发送策略包括:在预定条件触发N次时,完成对域名列表中所有域名对应的指示参数的值的更新。通过上述方式,实现了代理设备可在指定时间内,对域名列表中的所有域名的状态进行探测,从而提高防御效果。在一种可能的方式中,代理设备获取域名列表的步骤,可以包括:代理设备从DNS服务器端获取域名列表;和或,代理设备基于接收到的用户指令,建立域名列表,其中,用户指令中携带域名;其中,从DNS服务器端获取的域名列表对应的列表级别信息为最高级别,最高级别的列表级别信息用于指示代理设备优先对DNS服务器端获取的域名列表中包含的域名的指示参数的值进行更新。通过上述方式,实现了代理设备能够及时感知到DNS服务器端的域名列表以及手动配置的域名列表中的各域名的健康状态。第二方面,本申请实施例提供一种代理设备,该代理设备可以包括:第一获取模块、设置模块、发送模块、接收模块以及第二获取模块。其中,第一获取模块可以用于获取域名列表;设置模块可以用于为每个域名设置对应的级别信息,其中,级别信息用于指示每个域名的使用频率;发送模块可以用于向域名系统DNS服务器发送至少一条探测报文,探测报文中携带有域名,其中,域名包含于域名列表中;接收模块可以用于接收DNS服务器返回的响应报文,响应报文中携带有域名的状态参数,状态参数用于指示域名是否为无效域名;第二获取模块可以用于获取对应于域名的指示参数的值,指示参数的值与状态参数以及域名的级别信息呈正相关。在一种可能的方式中,第二获取模块还可用于获取对应于响应报文的响应时长,响应时长用于指示代理服务器发送探测报文至接收到响应报文之间的时长;以及,基于响应时长、级别信息以及状态参数,获取指示参数的值,其中,指示参数的值与级别信息、响应时长以及状态参数呈线性关系。在一种可能的方式中,第二获取模块还可用于基于下述公式计算指示参数的值:Y=AX+D×S其中,Y为指示参数的值,S为状态参数,X为级别信息,D为响应时长,以及,A为调整参数。在一种可能的方式中,代理设备还可以包括防御模块,用于根据指示参数对携带有域名的请求报文进行防御。在一种可能的方式中,指示参数的值用于指示对应于携带有域名的请求报文的防御等级,相应的,防御模块还可用于指示参数的值越大,则对携带有域名的请求报文进行防御等级更高的防御。在一种可能的方式中,上述携带有域名的请求报文为终端发送给代理设备的。在一种可能的方式中,若状态参数指示域名为无效域名,则状态参数与指示参数的值均为零,相应的,防御模块还用于接收终端发送的携带有第一域名的第一请求报文;将第一域名与域名列表中的域名进行匹配;判断匹配成功的域名对应的指示参数的值是否为零;若是,则确定第一域名为无效域名,并丢弃第一请求报文。在一种可能的方式中,若状态参数指示域名为非无效域名,相应的,防御模块还用于接收终端发送的携带有第二域名的第二请求报文;以及,将第二域名与域名列表中的域名进行匹配;判断匹配成功的域名对应的指示参数的值是否超过第一阈值;其中,若是,则判定第二请求报文为疑似攻击报文,并生成告警信息。在一种可能的方式中,发送模块还用于若预定条件触发,则按照预设发送策略,向DNS服务器发送至少一条探测报文。在一种可能的方式中,预定条件可以包括:若到达预设周期触发时刻,则向DNS服务器发送至少一条探测报文;或者,若DNS服务器的负载低于第二阈值,则向DNS服务器发送至少一条探测报文。在一种可能的方式中,预设发送策略包括:在预定条件触发N次时,完成对域名列表中所有域名对应的指示参数的值的更新。在一种可能的方式中,第一获取模块可用于从DNS服务器端获取域名列表;和或,代理设备基于接收到的用户指令,建立域名列表,其中,用户指令中携带域名;其中,从DNS服务器端获取的域名列表对应的列表级别信息为最高级别,最高级别的列表级别信息用于指示代理设备优先对DNS服务器端获取的域名列表中包含的域名的指示参数的值进行更新。第三方面,本申请实施例提供了一种代理设备,包括:存储器,以及与该存储器进行通信连接的至少一个处理器。所述存储器用于存储指令,所述处理器执行指令时,所述处理器执行第一方面或第一方面中任一种可能实现方式所述的方法。第四方面,本申请实施例提供了一种通信装置,包括:收发器收发管脚和处理器,可选地,还包括存储器。其中,所述收发器收发管脚、所述处理器和所述存储器通过内部连接通路互相通信;所述处理器用于执行指令以控制所述收发器收发管脚发送或者接收信号;所述存储器用于存储指令。所述处理器执行指令时,所述处理器执行第一方面或第一方面中任一种可能实现方式所述的方法。第五方面,本申请实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。第六方面,本申请实施例提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。第七方面,本申请实施例提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理器通过内部连接通路互相通信,该处理器执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个实施例提供的应用场景示意图;图2是本申请一个实施例提供的一种防护方法的流程示意图之一;图3是本申请一个实施例提供的一种防护方法的流程示意图之二;图4是本申请实施例提供的一种代理设备的示意性框图;图5是本申请实施例提供的一种代理设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本文中术语“和或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。为更好地理解本申请实施例中的技术方案,下面对已有技术实施例进行简单描述:具体的,终端向代理设备发送请求消息,请求消息中携带有域名,例如:www.abc.com。请求消息用于请求代理设备对www.abc.com进行解析,以使终端访问该域名。随后,代理服务器在本地域名列表中查询是否存在对应于域名www.abc.com的信息,信息包括但不限于:互联网协议InternetProtocol,IP地址信息等。如果存在,则,代理服务器将信息返回给终端,终端可根据获取到的IP地址,访问www.abc.com。如果代理服务器中不存在对应于该域名的相关信息,则,代理服务器需要向DNS服务器请求上述相关信息。具体的,代理设备向DNS服务器发送请求消息,以请求DNS服务器查询对应于该域名的相关信息。DNS服务器查询过程为:根DNS服务器接收该请求消息,随后,根DNS服务器向代理设备返回.com权威DNS服务器的相关信息例如地址信息,代理设备可访问.com权威DNS服务器,并请求.com权威DNS服务器对域名www.abc.com进行解析,.com权威DNS服务器通过解析,获取到abc.com的权威域名服务器的相关地址,并将abc.com的权威域名服务器的相关地址返回给代理设备。接着,代理设备向abc.com的权威域名服务器发起对应于www.abc.com域名的解析请求。abc.com的权威域名服务器向代理设备返回www.abc.com对应的IP地址等信息。然后,代理设备将解析结果即与www.abc.com对应的IP地址等信息返回给终端。终端即可根据IP地址等信息,访问www.abc.com。然而,在已有技术中,如果代理设备接收到大量的无效地址,即可称为无效地址攻击,代理设备在本地列表中未检索到与无效地址相对应的IP地址的情况下,代理设备将会向DNS服务器请求对大量的无效地址进行解析,每次DNS服务器都会做递归查询,由此将会导致DNS服务器崩溃。综上所述,在已有技术中,由于代理设备在防护过程中,只能被动响应,即,在接收到域名解析请求后,才对域名进行解析,并且在无法解析的情况下,直接透传到DNS服务器端,显然,已有技术中的代理设备无法感知到域名请求是否合理,从而对系统性能存在较大影响。本申请实施例中的技术方案旨在提供一种防护方法,能够通过主动探测的方式,获取到对应于域名的指示参数的值,从而可以根据已获取到的指示参数的值,进一步判断域名请求是否合理。在对本申请实施例的技术方案说明之前,首先结合附图对本申请实施例的应用场景进行说明。参见图1,为本申请实施例提供的一种应用场景示意图。该应用场景中包括DNS服务器101、代理设备102以及终端103。在本申请实施例具体实施的过程中,终端103可以为电脑、智能手机、有线电视机顶盒等设备。需要说明的是,在实际应用中,DNS服务器、代理设备以及客户端的数量均可以为一个或多个,图1所示应用场景中的设备的数量仅为适宜性举例,本申请对此不做限定。结合上述如图1所示的应用场景示意图,下面介绍本申请的具体实施方案:在本申请的实施例中,防护方式可分为两部分,第一部分为主动探测,即,对代理设备本地的域名列表中的各域名状态进行主动探测,以获取各域名当前的状态状态包括:无效域名、有效域名,具体细节将在场景一中进行详细说明。第二部分为防护部分,即,代理设备根据以获取到的各域名对应的当前状态,判断接收到的终端发送的域名请求的状态状态包括:正常、异常以及疑似异常。场景一结合图1,如图2所示为本申请实施例中的防护方法的流程示意图,在图2中:步骤101,代理设备获取域名列表。具体的,在本申请的实施例中,代理设备获取域名列表,该域名列表中记录有一个或一个以上域名,以及与每个域名对应的域名信息。域名信息包括但不限于:IP地址、使用频率等。其中,IP地址用于使终端可根据该IP地址访问对应的域名。使用频率用于指示域名在单位时间内的使用次数,单位时间可以为一小时、一天或一周。在一个实施例中,代理设备可以从DNS服务器侧获取到该域名列表。具体的,代理设备可以在列表更新周期触发时刻,向DNS服务器请求域名列表,DNS服务器收到请求后,将DNS服务器本地缓存中的域名列表同步更新至代理设备。即,代理设备与DNS服务器中的域名列表是相同的,且定时进行更新的。在另一个实施例中,代理设备可以从其他设备中获取到域名列表,其它设备可以为终端、其它代理设备等。例如:操作人员可通过终端在代理设备侧手动配置域名列表等方式。需要说明的是,如果代理设备中同时存在从DNS服务器获取到的域名列表以下简称域名列表1以及手动配置或从其他设备中导入的域名列表以下简称域名列表2,则,在本申请的实施例中,代理设备将域名列表1的列表级别信息设置为最高级,以优先域名列表1中的域名的状态进行探测。例如:域名列表1中包含域名A、域名B、域名C,域名列表2中包含域名D、域名E。则,在第一个探测周期触发时刻,代理设备可优先对域名A与域名B进行探测,第二个探测周期触发时刻,代理设备可优先对域名C进行探测,随后再对域名D和域名E进行探测。步骤102,代理设备为每个域名设置对应的级别信息。具体的,在本申请的实施例中,代理设备可根据域名列表中每个域名对应的使用频率为域名设置对应的级别信息。其中,设置级别信息的规则可以为:使用频率越高,级别越高。例如:www.ccc.com的使用频率为10次天,其级别可以为高级别,www.bbb.com的使用频率为1次天,其级别可以为低级别。在本申请的实施例中,为更好地区分各级别,可以以数字的形式对级别进行划分,从而更准确的显示各域名之间的频率使用之间的梯度。举例说明:可以以X代表级别信息,X的值越小,则,对应的使用频率越大,即,域名的级别越高。例如:www.ccc.com的X的值可以设置为2,www.bbb.com的X的值可以设置为5。X取值区间可以为[1,10],即,X数值为1为最高级别,对应域名的使用频率最大,X数值为10为最低级别,对应域名的使用频率最小。接着,代理设备可将域名、域名信息使用频率及IP地址等以及级别信息对应写入域名状态列表中。在一个实施例中,域名状态列表可以存储于代理设备本地缓存中。在另一个实施例中,域名状态列表可以存储于其它数据库中,本申请对此不做限定。步骤103,代理设备向DNS服务器发送探测报文。具体的,在本申请的实施例中,代理设备可向DNS服务器发送至少一条探测报文,其中,每条探测报文中携带有域名状态列表中的域名。需要说明的是,每条探测报文携带的域名可以相同、可以不同也可以部分相同。可选的,在一个实施例中,代理设备可以在探测周期探测周期可根据需求手动设置触发时刻,向DNS服务器发送至少一条探测报文。可选的,在一个实施例中,代理设备还可以在DNS服务器的负载低于阈值可根据实际情况进行设置,例如阈值为70%时,向DNS服务器发送至少一条探测报文。举例说明:代理设备可在探测周期可与上文中的探测周期相同也可以不同对DNS服务器的负载状态进行探测探测负载状态的方法可参照已有技术实施例,本申请不再赘述,并且在确认DNS服务器的负载低于阈值时,再向DNS服务器发送至少一条探测报文。可选的,在一个实施例中,代理设备每次发送的多条探测报文,可以相同也可以不同。举例说明:假设域名状态列表中存在10个域名,则,在第一探测周期到达时刻,代理设备可向DNS服务器发送10条探测报文,每条报文各携带一个域名状态列表中的域名,从而在第一探测周期即可实现对域名状态列表中的每个域名的状态的探测。在第二探测周期到达时刻,代理设备可向DNS服务器发送5条探测报文,5条探测报文中携带的域名可以为域名状态列表中级别较低,即,X数值较大的域名,从而使DNS服务器端缓存中的域名列表DNS服务器端的域名列表可以与代理设备中的相关也可以不同增加对级别较低的域名的记录,其目的为减小DNS服务器对低级别域名的响应时长。可选的,在本申请的实施例中,代理设备向DNS服务器发送的至少一个探测报文中的每个探测报文携带有标识信息,标识信息用于唯一标示该探测报文。可选地,在本申请的实施例中,代理设备中可预先设置有探测策略,探测策略包括但不限于:代理设备在N个探测周期内,完成对域名列表中的所有域名的状态的探测。探测策略还可以为:限定每个探测周期探测的域名的个数,例如:每次探测5个域名对应的状态,即,每次发送5个探测报文,每个探测报文携带一个域名。步骤104,DNS服务器对探测报文中携带的域名进行解析。具体的,在本申请的实施例中,DNS服务器对域名解析的过程可以分为两种:在一个实施例中,如果DNS服务器端检索到本地缓存的域名列表中存在于域名对应的IP地址及其它相关信息,则,DNS服务器可向代理设备返回响应信息,其中,响应信息中携带有域名及对应的IP地址,以及步骤103中所述的标识信息,响应信息中的标识信息用于指示代理设备能够识别到该响应信息对应于哪条探测报文。在另一个实施例中,如果DNS服务器端未检索到本地缓存的域名列表中存在域名对应IP地址及其它相关信息,则,DNS服务器向根DNS服务器请求对域名进行解析,具体步骤可参照已有技术,此处不赘述。步骤105,DNS服务器向代理设备返回响应报文。具体的,在本申请的实施例中,DNS服务器在对域名进行解析后,向代理设备返回响应报文。在一个实施例中,若DNS服务器通过递归解析后,仍未检测到与域名对应的信息,则,DNS服务器判断该域名为无效域名。在该实施例中,DNS服务器向代理设备返回的响应报文中携带有状态参数S,该S值用于指示域名是否为无效域名。具体的,当S=1时,指示域名为有效域名,当S=0时,指示域名为无效域名。因此,在该实施例中,由于DNS服务器对域名解析失败,则,DNS服务器向代理设备返回的响应报文中携带的状态参数S=0。需要说明的是,代理设备中的域名列表中的所有域名,在初始导入即,手动配置或从DNS服务器获取到时时均为正常域名,即,终端可以通过域名访问对应的网站,而在系统运行过程中,由于外部原因,例如:域名对应的服务器宕机等原因造成的域名当前为无效域名,则,代理设备可通过主动探测的方式,预先感知各域名当前的状态,从而避免大量的终端访问无效域名造成的DNS服务器的过载。在另一个实施例中,若DNS服务器通过递归解析或通过检索本地缓存的域名列表,成功解析并获取到与域名对应的IP地址等信息,则,DNS服务器判断该域名为有效域名。在该实施中,DNS服务器向代理设备返回的响应报文中携带有状态参数S=1,以及IP地址等信息。步骤106,代理设备获取对应于域名的指示参数的值。具体的,代理设备接收到DNS服务器返回的响应报文后,可基于状态参数S、级别信息X,获取对应于域名的指示参数的值Y,其中,Y与S和X呈正相关。即,X越大,则,Y越大。并且,S为0,则Y同样为0。可选的,代理设备还可以基于状态参数S、级别信息X以及响应时长D,获取对应于域名的指示参数的值Y。具体的,代理设备可基于下列公式,获取到Y:Y=AX+D×S其中,Y与S、D和X呈线性关系。以及,A为调整参数,该值可由操作人员根据实际需求进行设置。具体的,响应时长D为代理设备发送探测报文至接收到响应报文之间的时长。举例说明:探测报文1携带有ID1,代理设备发送探测报文1后开始计时,并且在接收到携带有ID1的响应报文时停止计时,则,计时时长即为响应时长。需要说明的是,在本申请的实施例中,Y可用于指示域名的状态,还可以用于指示DNS服务器的状态。举例说明:由上文可知,Y与X、S和D呈线性关系,因此,在D越大,即,DNS服务器对域名进行解析的耗时越长的情况下,Y同样会较大。而对于S为0,即为无效域名的域名,代理设备获取到的Y同样为0。在本申请的实施例中,Y值用于指示域名的状态的具体应用将在场景二中进行详细说明。Y值用于指示DNS服务器的状态的情况,举例说明:代理设备在连续的三个探测周期均向DNS服务器发送携带有www.abc.com的探测报文,并且,代理设备根据三次接收到的相应信息,获取到的Y值均为55,而在第四探测周期时,代理设备获取到的与www.abc.com对应的Y值为80,则,代理设备可判定为DNS服务器出现异常,异常可能为:链路异常、DNS服务器过载等。如步骤103所述,代理设备可通过向DNS服务器发送多次携带有低级别即使用频率低的域名的探测报文,从而可增加DNS服务器对于该域名的记录,进而可逐渐缩短对应于该域名的响应时长,因此,在根据响应时长获取对应的指示参数的值Y时,则可进一步提高Y值的准确性,以避免由于使用频率低,导致响应时长大,而造成的Y值过大所出现的误判。可选的,在一个实施例中,代理设备获取到与域名对应的指示参数的值后,可将指示参数的值写入域名列表中与域名对应的位置,从而使代理设备在检索域名时,能够获取到与域名对应的域名信息以及指示参数的值。可选的,在一个实施例中,代理设备可在每个探测周期向DNS服务器发送探测报文已对域名列表中的域名的状态进行探测,并将获取到的与域名对应的指示参数的值更新到域名列表中。综上,本申请实施例中的技术方案,通过对域名列表中的域名的状态进行主动探测,从而能够实时监测到域名的当前状态,以提出一种新的代理设备端的缓存机制,取代已有技术中被动响应的方式,本申请实施例中代理设备能够预先获取到域名的当前状态,实现了对域名列表中各域名对应的状态的动态调整。场景二结合图1,如图3所示为本申请实施例中的防护方法的流程示意图,在图3中:步骤201,代理设备接收终端发送的请求报文。具体的,在本申请的实施例中,终端用户可在终端中输入域名,以访问域名对应的网站。终端基于用户输入的域名,向代理设备发送携带有该域名的请求报文。代理设备接收终端发送的请求报文,并提取其携带的域名。步骤202,代理设备获取与请求报文中携带的域名对应的指示参数的值。具体的,在本申请的实施例中,代理设备可将请求报文中携带的域名在域名列表中进行匹配,即,检索域名列表中是否存在请求报文中携带的域名。若匹配成功,则,代理设备进一步获取与匹配成功的域名对应的指示参数的值。若匹配失败,则,代理设备将请求报文透传到DNS服务器,即,由DNS服务器对请求报文中的域名进行解析。举例说明:代理设备接收到终端发送的携带有www.bbb.com的请求报文,随后,代理设备提取域名www.bbb.com并将其与域名状态列表中的至少一个域名进行逐一匹配,即,检测www.bbb.com是否存在于域名状态列表中。若检测到www.bbb.com存在于域名状态列表中,则,代理设备获取www.bbb.com对应的指示参数的值Y。反之,如果代理设备将www.bbb.com与域名状态列表中的至少一个域名进行逐一匹配后,未检测到www.bbb.com及其相关信息,则,代理设备可将携带有www.bbb.com的请求报文透传到DNS服务器,即,请求DNS服务器对www.bbb.com进行解析,DNS服务器对www.bbb.com进行解析后,将返回响应信息,响应信息中同样携带有状态参数S,则,代理设备获取与www.bbb.com对应的指示参数的值Y,并写入域名状态列表中。其中,若S=1,则,代理设备同样可在每个或部分探测周期向DNS服务器发起对www.bbb.com的探测报文,以探测www.bbb.com的当前状态。步骤203,代理设备基于域名对应的指示参数的值,确认对应于请求报文的防御等级。具体的,在本申请的实施例中,指示参数的值Y还可用于指示携带有域名的指示参数的请求报文对应的防御等级。具体的,代理设备在根据请求报文中的域名对应的指示参数的值,判断该请求报文的状态,同时,根据请求报文的状态,确认对应于请求报文的防御等级。例如:当请求报文的状态为异常时,防御等级为最高级,对应的防御动作为:丢弃该请求报文。当请求报文的状态为疑似异常时,防御等级为中级,对应的防御动作为:不对请求报文做处理,同时,生成告警信息。当请求报文的状态为正常时,防御等级为低级,对应的防御动作为:不对报文做处理。下面以具体实施例举例说明:可选的,在一个实施例中,若步骤202中匹配成功的域名对应的指示参数的值Y=0,则,代理设备可判定终端发送的请求报文的状态为异常,确定对应于请求报文的防御等级为最高级。随后,代理设备可直接丢弃该请求报文,从而可实现在代理设备侧对异常请求报文的防护,有效降低了DNS服务器的负担,并且减少了DNS服务器被攻击的风险。可选的,在另一个实施例中,若步骤202中匹配成功的域名对应的指示参数的值Y超出阈值阈值可根据实际需求进行设置,则,代理设备可判定终端发送的请求报文的状态为疑似异常,确认对应于请求报文的防御等级为中级,以及,代理设备向终端返回携带有与域名对应的IP地址等域名信息的响应报文。可选的,代理设备可继续接收终端发送的请求报文,如果在指定时长可根据实际需求进行设置内多次次数可根据实际需求进行设置接收到疑似异常的请求报文,则,代理设备可判定受到攻击,并生成告警信息。可选的,在一个实施例中,若代理设备在预定时长内,接收到的异常请求报文或疑似异常请求报文的数量超出阈值例如:5次,数值可根据实际情况进行设置,则,代理设备判定当前受到无效域名攻击,代理设备可在指定时间内例如:一周禁用域名状态列表中所有指示参数的值Y=0的域名,即,代理设备若监测到存在已禁用的域名对应的请求报文,则在一周内直接丢弃该类报文,并生成告警信息。从而进一步提升防护等级,增强防护力度,有效保护代理设备自身以及后台DNS服务器免受无效域名攻击。步骤204,代理设备根据确认的防御等级,对请求报文进行防御。具体的,在一个实施例中,若确认对应于请求报文的防御等级为高级,则可丢弃该请求报文。在另一个实施例中,若确认对应于请求报文的防御等级为中级,则对请求报文进行防御的方式为:代理设备向终端返回携带有与域名对应的IP地址等域名信息的响应报文,并生成告警信息。在又一个实施例中,若步骤202中匹配成功的域名对应的指示参数的值Y不等于零且Y小于阈值,代理设备确认请求报文的状态为正常,以及,确认对应于请求报文的防御等级为低级,对应的防御方式为:代理设备从域名状态列表中获取与该域名对应的域名信息IP地址等信息,并向终端返回携带有域名及域名信息的响应报文。随后,终端可基于接收到的IP地址等信息访问域名对应的网站。综上所述,本申请实施例中的技术方案,代理设备可根据已获取到的域名对应的指示参数的值,对接收到的终端发送的请求报文的状态进行判断,从而能够及时感知异常状态的请求报文,并在代理设备侧即可对异常状态的请求报文进行处理,进而降低DNS服务器受到无效域名攻击的风险。上述主要从各个网元之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,代理设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本申请实施例可以根据上述方法示例对代理设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在采用对应各个功能划分各个功能模块的情况下,在采用对应各个功能划分各个功能模块的情况下,图4示出了上述实施例中所涉及的代理设备200的一种可能的结构示意图,如图4所示,代理设备200可以包括:第一获取模块201、设置模块202、发送模块203、接收模块204、第二获取模块205。其中,第一获取模块201可用于“获取域名列表”的步骤,例如,该模块可以用于支持代理设备执行上述方法实施例中的步骤101。设置模块202可用于“为每个域名设置对应的级别信息”的步骤,例如,该模块可以用于支持代理设备执行上述方法实施例中的步骤102。发送模块203可用于“向DNS服务器发送至少一条探测报文”的步骤,例如,该模块可以用于支持代理设备执行上述方法实施例中的步骤103。接收模块204,用于“接收DNS服务器返回的响应报文”的步骤,例如,该模块可以用于支持代理设备执行上述方法实施例中的步骤105中的部分内容。第二获取模块205可以用于“获取对应于域名的指示参数的值”的步骤,例如,该模块可以用于支持代理设备执行上述方法实施例中的步骤106。可选的,代理设备还可以包括防御模块206,该模块可以用于执行“根据指示参数的值对接收到的请求报文进行防御”的相关步骤,例如,该模块可用于支持代理设备执行上述方法实施例中的步骤201至204。在另一个示例中,图5示出了本申请实施例的一种代理设备300的示意性框图代理设备可以包括:处理器301和收发器收发管脚302,可选地,还包括存储器303。该处理器301可用于执行前述的实施例的各方法中的代理设备所执行的步骤,并控制接收管脚接收信号,以及控制发送管脚发送信号。代理设备300的各个组件通过总线304耦合在一起,其中总线系统304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统304。可选地,存储器303可以用于存储前述方法实施例中的指令及数据。应理解,根据本申请实施例的代理设备300可对应于前述的实施例的各方法中的代理设备,并且代理设备300中的各个元件的上述和其它管理操作和或功能分别为了实现前述各个方法的相应步骤,为了简洁,在此不再赘述。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包含至少一段代码,该至少一段代码可由代理设备执行,以控制代理设备用以实现上述方法实施例。基于相同的技术构思,本申请实施例还提供一种计算机程序,当该计算机程序被代理设备执行时,用以实现上述方法实施例。所述程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。基于相同的技术构思,本申请实施例还提供一种处理器,该处理器用以实现上述方法实施例。上述处理器可以为芯片。结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器RandomAccessMemory,RAM、闪存、只读存储器ReadOnlyMemory,ROM、可擦除可编程只读存储器ErasableProgrammableROM,EPROM、电可擦可编程只读存储器ElectricallyEPROM,EEPROM、寄存器、硬盘、移动硬盘、只读光盘CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备中。本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

权利要求:1.一种防护方法,其特征在于,包括:代理设备获取域名列表;所述代理设备为每个所述域名设置对应的级别信息,其中,所述级别信息用于指示每个所述域名的使用频率;所述代理设备向域名系统DNS服务器发送至少一条探测报文,所述探测报文中携带有域名,其中,所述域名包含于所述域名列表中;所述代理设备接收所述DNS服务器返回的响应报文,所述响应报文中携带有所述域名的状态参数,所述状态参数用于指示所述域名是否为无效域名;所述代理设备获取对应于所述域名的指示参数的值,所述指示参数的值与所述状态参数以及所述域名的级别信息呈正相关。2.根据权利要求1所述的方法,其特征在于,所述获取对应于所述域名的指示参数的值的步骤,具体包括:所述代理设备获取对应于所述响应报文的响应时长,所述响应时长用于指示所述代理服务器发送所述探测报文至接收到所述响应报文之间的时长;相应地,所述代理设备获取对应于所述域名的指示参数的值的步骤,包括:所述代理设备基于所述响应时长、所述级别信息以及所述状态参数,获取所述指示参数的值,其中,所述指示参数的值与所述级别信息、所述响应时长以及所述状态参数呈线性关系。3.根据权利要求2所述的方法,其特征在于,所述代理设备基于下述公式计算所述指示参数的值:Y=AX+D×S其中,Y为所述指示参数的值,S为所述状态参数,X为所述级别信息,D为所述响应时长,以及,A为调整参数。4.根据权利要求1所述的方法,其特征在于,还包括:所述代理设备根据所述指示参数的值对所述携带有所述域名的请求报文进行防御。5.根据权利要求4所述的方法,其特征在于:所述指示参数的值用于指示对应于携带有所述域名的请求报文的防御等级,所述根据所述指示参数的值对所述携带有所述域名的请求报文进行防御包括:所述指示参数的值越大,则对所述携带有所述域名的请求报文进行防御等级更高的防御。6.根据权利要求4或5所述的方法,其特征在于:所述携带有所述域名的请求报文为终端发送给所述代理设备的。7.根据权利要求1至6任一项所述的方法,其特征在于,其中,若所述状态参数指示所述域名为无效域名,则所述状态参数与指示参数的值均为零,相应的,所述方法还包括:所述代理设备接收终端发送的携带有第一域名的第一请求报文;所述代理设备将所述第一域名与所述域名列表中的域名进行匹配;所述代理设备判断匹配成功的域名对应的指示参数的值是否为零;若是,则确定所述第一域名为无效域名,并丢弃所述第一请求报文。8.根据权利要求1至6任一项所述的方法,其特征在于,所述若所述状态参数指示所述域名为非无效域名,相应的,所述方法还包括:所述代理设备接收终端发送的携带有第二域名的第二请求报文;所述代理设备将所述第二域名与所述域名列表中的域名进行匹配;所述代理设备判断匹配成功的域名对应的指示参数的值是否超过第一阈值;若是,则判定所述第二请求报文为疑似攻击报文,并生成告警信息。9.根据权利要求1至8任一项所述的方法,其特征在于,其中,若预定条件触发,则按照预设发送策略,向所述DNS服务器发送所述至少一条探测报文。10.根据权利要求9所述的方法,其特征在于,所述预定条件包括:若到达预设周期触发时刻,则向所述DNS服务器发送所述至少一条探测报文;或者,若所述DNS服务器的负载低于第二阈值,则向所述DNS服务器发送所述至少一条探测报文。11.根据权利要求9所述的方法,其特征在于,所述预设发送策略包括:在所述预定条件触发N次时,完成对所述域名列表中所有域名对应的指示参数的值的更新。12.根据权利要求1至11任一项所述的方法,其特征在于,所述获取域名列表的步骤,包括:所述代理设备从所述DNS服务器端获取所述域名列表;和或,所述代理设备基于接收到的用户指令,建立所述域名列表,其中,所述用户指令中携带所述域名;其中,从所述DNS服务器端获取的域名列表对应的列表级别信息为最高级别,最高级别的列表级别信息用于指示所述代理设备优先对所述DNS服务器端获取的域名列表中包含的域名的指示参数的值进行更新。13.一种代理设备,其特征在于,包括:存储器,用于存储指令;以及,与所述存储器进行通信连接的至少一个处理器;所述处理器用于在运行所述指令时执行权利要求1至12任一项所述的方法。14.一种计算机可读介质,存储有程序,其特征在于,所述程序用于实现权利要求1至12任一项所述的方法。

百度查询: 华为技术有限公司 防护方法及代理设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。