专利名称:一种攻击防范方法和装置的利记博彩app
技术领域:
本发明涉及网络安全领域,尤其是一种攻击防范方法和装置。
背景技术:
DNS (Domain Name System,域名系统)是一种用于TCP/IP应用程序的分布 式数据库,提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。DNS 服务器在internet应用中起重要的作为, 一旦DNS服务器受到DDOS攻击,将 严重影响人们的正常网络应用。
DNS flood是一种基于特定应用协议的UDP flood,攻击方向DNS月l务器 发送大量域名解析请求,致使DNS服务器严重超载,无法继续响应正常用户的 DNS请求,从而达到攻击的目的。 一般情况下攻击方发送的DNS请求是随机生成 的网络中根本不存在的域名,受攻击的DNS服务器接收到此请求时,对该域名 进行解析,解析不成功,则该DNS服务器通过递归查询向其上级DNS服务器递 交解析请求,进而形成对上级DNS服务器的攻击,形成连锁反应。域名解析的 过程会给DNS服务器带来很大的负载, 一般一台DNS服务器的域名解析上限是 9000个/秒,当超过此值时,将造成DNS服务器解析超时直至瘫痪。
为了保护DNS服务器,进而保证网络的正常应用,产生了 DNS flood防 范技术。现有技术中的常用防范技术包括在保护设备上建立DNS cache,在保 护设备上? 1入域名信誉机制以及二者的结合,其主要工作原理如下 (1) 在保护设备上采用DNS cache技术
保护设备在没有检测到发生攻击时主动学习域名解析结果,记录域名和ip 的对应关系,建立DNS cache;
在检测到发生攻击时,保护设备在接收到域名解析请求时,首先查询DNS cache,冲艮据查询结果响应域名解析请求,对于不在DNS cache中的域名解析i貪 求交由DNS服务器解析,并在DNS cache中记录解析结果。从而减轻DNS服务器负载。
(2) 在保护设备上采用域名信誉机制
保护设备在没有^f全测到发生攻击时主动学习域名解析结果,统计同一域名 解析次数及域名解析失败的次数,建立域名信誉机制;对于域名解析失败次数 或者请求同 一域名次数超过一定值的,相应得调低其域名信誉等级。
在检测到发生攻击时,保护设备在接收到域名解析请求时,查询域名信誉 等级表,根据域名信誉机制,过滤部分域名解析请求;限制发起信誉等级低的 域名解析请求的源ip的带宽。例如可以将域名等级分为不信任级、中间级、信
任级,对于不信任级的源发送的域名解析请求全部丟弃,进而实现过滤。对于 中间级的源发送的域名解析请求,根据情况限制其带宽。 当然,这两种技术可以结合使用。
上述技术方案在发生攻击时能在一定程度上降低对DNS服务器的影响。 在实现本发明过程中,发明人发现现有技术中至少存在如下问题 对于目前在DNS flood中占绝大多凄t的伪造源ip的DNS flood攻击,域名 解析请求都在随机变化的情况下,由于这些域名大多不存在,DNS cache这时将 起不到任何作用。而通过域名信誉机制,要么全部丢弃信誉级别低的源的域名 请求,要么只过滤部分,其余的交由DNS服务器解析。对于全部丢弃的情况, 影响部分正常用户的DNS请求,间接达到攻击目的;而只过滤部分,则仍会对 服务器造成很大冲击,不能很好的保护服务器。可见这两种技术不能很好的识 别伪造源ip的攻击,因而不能有效防范DNS flood攻击。
对于第二种技术,由于域名信誉机制的建立需要较长时间的学习,而且学
域名信誉机制需要维护大量数据,信誉评估算法又较为复杂,评估结果直接影 响防御的有效性。可见,该技术实施复杂,不利于有效的实现DNS flood攻击。
发明内容
本发明实施例提出一种攻击防范方法和装置,l是高DNS flood攻击防范的能力。
根据本发明的一方面,提供一种攻击防范方法,包括
接收来自客户端的域名解析请求,并获得所述域名解析请求的源地址;
验证所述源地址是真实的源地址;
向DNS服务器转发所述域名解析请求。
根据本发明的另一方面,提供一种检测设备,包括
接收单元,用于接收来自客户端的域名解析请求,并获得所述域名解析请 求的源地址;
验证单元,用于-验证所述源地址是真实的源地址;
转发单元,用于根据验证单元的输出结果,向DNS服务器转发所述域名解 析请求。
本发明实施例的有益效果在于由于对于域名解析请求,在验证其为真实 源的情况下才向DNS服务器转发该域名解析请求,能有效的防止目前在DNS flood攻击中占绝大多数的伪造源ip的攻击,防范效果显著,有效保证DNS服 务器的正常运行;同时,由于验证域名解析请求为真实源不需要占用系统大量 的资源,本发明实施例具有实施简单,应用范围广泛的优点。
图1是本发明攻击防范方法的一个实施例的流程示意图; 图2是本发明攻击防范方法的一个实施例的流程示意图; 图3是本发明攻击防范方法的一个实施例的流程示意图; 图4是本发明攻击防范方法的一个实施例的流程示意图; 图5是本发明攻击防范方法的一个实施例的流程示意图; 图6是本发明检测设备一个实施例的结构示意图; 图7是本发明检测设备另一个实施例的结构示意图;图8是本发明检测设备中验证单元一个实施例的结构示意图; 图9是本发明检测设备中验证单元一个实施例的结构示意图; 图10是本发明;f企测设备中验证单元一个实施例的结构示意图。
具体实施例方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。 本发明攻击防范方法的一个实施例中,当斥企测i殳备才企测到DNS flood攻击 后,进入防范流程针对客户端发送的域名解析请求,首先验证该域名解析请 求来源于一个真实源,再向DNS服务器转发该域名解析请求,并响应终端。所 述检测设备,可为专门的检测设备或防火墙本身,根据组网而定。 参照图1,本发明攻击防范方法的一个实施例主要包括以下步骤 S101:接收来自客户端的域名解析请求,并获得该域名解析请求的源地址; S102:— 验i正该源地址是否真实的源地址;
S103:如果源地址是真实的源地址,则向DNS服务器转发所述域名解析请
求;
S104:如果该源地址不是真实的源地址,则不向DNS服务器转发该域名解 析请求。具体的,可以不处理该域名解析请求,也可以将该域名解析请求直接 丢弃。
上述实施例中,对于域名解析请求,在验证其来自真实源的情况下才向DNS 服务器转发该域名解析请求,对于不是来自真实源的域名解析请求,不向DNS 服务器转发。能有效的防止目前在DNS flood攻击中占绝大多数的伪造源ip的 攻击;防范效果显著,有效保证DNS服务器的正常运行;同时,由于验证域名 解析请求为真实源不需要占用系统大量的资源,该实施例具有实施简单,应用 范围广泛的优点。
参照图2,本发明攻击防范方法的一个实施例主要包括以下步骤
S201:接收来自客户端的域名解析请求,并获得该域名解析请求的源地址;S202:向该源地址对应的客户端发送一个源探测报文; 源探测报文即TC标记置1的DNS应答报文;用于触发客户端发起tcp连接, 使用tcp方式进行域名解析请求;
S203:判断是否接收到客户端合法的响应报文;
当然,在实际应用中,可以判断在预定时间内是否接收到客户端的响应报 文,以避免过长的等候时间,预定时间值可以根据网络情况确定。例如,设置 一定时器,在定时器设定的时间内判断是否接收到客户端的响应报文。
S204:如果收到客户端的响应报文,对响应报文合法性进行校验,如果验 证通过,则确认该源地址为真实的源地址,向DNS月l务器转发所述域名解析请 求;若响应报文不合法,则丢弃响应报文。
真实源的客户端接收到带有TC标记的源探测报文后,会向检测设备发送一 个syn响应报文,使用tcp方式向DNS服务器进行域名请求。检测设备在验证 响应报文的合法性后,对其进行转发,客户端与DNS服务器完成tcp三次握手 之后,完成tcp报文类型的DNS请求、应答。
S205:如果未收到客户端的响应报文,或者接收到的响应报文没有通过合 法性检测,则确认该源地址不是真实的源地址,不向DNS服务器转发所述域名 解析请求。
如果该源地址是一个伪造源,如果该伪造源地址在现网不存在,则不会响 应探测报文;或者由于该伪造源地址在现网存在,则该被伪造地址响应探测报 文,检测设备将检测到该响应报文不合法并将其丢弃。
本实施例通过向客户端发送源探测报文的方式,实现对域名解析请求的源 地址进行验证,由于伪造的源地址不会发送响应报文,或者响应的报文不合法, 从而能有效的识别域名解析请求的源地址的真实性。有效的过滤目前在DNS flood攻击中占绝大多数的伪造源ip的攻击。
参照图3,本发明攻击防范方法的一个实施例主要包括以下步骤S301:接收来自客户端的域名解析请求,并获得该域名解析请求的源地址; S302:以该源地址为关4建词查询真实源列表;
真实源列表存储有确认是真实的源的源地址。真实源列表可以称为白名 单。另一种替代方案中,可以将源地址监控表中设置了白名单标记的源地址集 合称为白名单。其中源地址监控表中存储有多个源地址,对于真实的源地址则 带有白名单标记。
可以通过以下几种方式将源地址加入白名单"接收来自客户端的域名解析 请求,并获得该域名解析请求的源地址;向该源地址对应的终端发送源探测报 文;在预定时间内收到客户端的响应报文,并且响应报文通过合法性验证,则 确认该源地址为真实的源地址,将该源地址存储到白名单中。在另一种实施方 式中,可以通过搜集在未发生攻击时正常访问的域名解析请求对应的源地址, 把这类源地址存储到白名单中。当然,还可以通过其它方式检验源地址的真实 性,并将其加入到白名单中。
S303:判断白名单中是否包含该源地址;
S304:如果白名单中包含该源地址,则确^人该源地址为真实的源地址,向 DNS服务器转发所述域名解析请求;
S205:如果白名单中不包含该源地址,则确i人该源地址不是真实的源地址, 不向DNS服务器转发所述域名解析请求。
本实施例将真实的源地址存储在白名单中,通过查询白名单的方式能快速 的验证域名解析请求是否来自真实源,能有效的防止目前在DNS flood攻击中 占绝大多数的伪造源ip的攻击,有效保证DNS服务器的正常运行。同时,本实 施例的方案进 一 步降低系统资源的占用,实施筒单。
参照图4,本发明攻击防范方法的一个实施例主要包括以下步骤
S401:接收来自客户端的域名解析请求,并获得该域名解析请求的源地址;
S402:以该源地址为关键词查询真实源列表;真实源列表存储有确认是真实的源的源地址。真实源列表可以称为白名 单。另一种替代方案中,可以将源地址监控表中设置了白名单标记的源地址集 合称为白名单。其中源地址监控表中存储有多个源地址,对于真实的源地址则 带有白名单标记。
可以通过以下几种方式将源地址加入白名单接收来自客户端的域名解析 请求,并获得该域名解析请求的源地址;向该源地址对应的终端发送源探测报 文;在预定时间内收到客户端的响应报文,并且响应报文通过合法性验证,则 确认该源地址为真实的源地址,将该源地址存储到白名单中。在另一种实施方 式中,可以通过搜集在未发生攻击时正常访问的域名解析请求对应的源地址, 把这类源地址存储到白名单中。当然,还可以通过其它方式^r验源地址的真实 性,并将其加入到白名单中。
S403:判断白名单中是否包含该源地址;
S404:如果白名单中包含该源地址,则确认该源地址为真实的源地址,向 DNS服务器转发所述域名解析请求;
S405:如果白名单中不包含该源地址,则向该源地址对应的终端发送一个 源探测报文;
S406:判断是否接收到客户端响应报文;
S407:如果收到客户端的响应报文,并且响应报文验证通过,则确认该源 地址为真实的源地址,向DNS服务器转发所述域名解析请求;
进一步的,可以更新白名单,将该源地址存储到白名单中;
S408:如果未收到客户端的响应报文,或者检验到响应报文不合法,则确 认该源地址不是真实的源地址,不向DNS服务器转发所述域名解析请求。
本实施例中,通过白名单与源探测报文技术结合,验证域名解析请求的源 地址的真实性,进一步提高源地址验证的正确性,更有效的识别域名解析请求 的源地址的真实性。有效的过滤目前在DNS flood攻击中占绝大多数的伪造源 ip的攻击。参照图5,本发明攻击防范方法的一个实施例主要包括以下步骤
S501:接收来自客户端的域名解析请求,并获得该域名解析请求的源地址;
S502:以该源地址为关键词查询真实源列表;
真实源列表包括源地址、过滤标记、行为^r测字段。其中,过滤标记表 明源地址对应的源行为4企测异常,需要过滤该源地址的流量;行为检测字段, 表明该源地址对应的行为情况,可以包括请求频率,请求周期,请求失败次数, 相同域名请求次数等。
由于正常源的域名解析请求行为具有突发性、随机性等特点,而攻击源的 域名解析请求行为具有持续性、周期性、请求解析内容虚假性等特点,因此通 过上述行为^r测字l殳可以准确快速识别加入真实源列表的源地址是否为攻击 源,如果是,则切断其DNS请求报文,不向DNS服务器转发,保护DNS服务器 的正常运行。
S503:判断真实源列表是否包含该源地址;
S504:如果真实源列表中不包含该源地址,则确认该源地址不是真实的源 地址,不向DNS服务器转发所述域名解析请求;
S505:如果真实源列表中包含该源地址,则冲企查该源地址是否对应过滤标
记;
S506:如果该源地址对应过滤标记,则表明该真实源是一个攻击源,不向
DNS服务器转发所述域名解析请求;
S507:如果该源地址不对应过滤标记,则纟企测该源行为是否异常; 可以通过以下方式4企测该源行为是否异常根据该域名解析请求更新所述
源地址对应的行为检测字段;通过检查行为检测字段判断该源行为是否异常。 S508:如果该源行为正常,表明该源地址不是攻击源,则向DNS服务器转
发所述域名解析请求;
如果更新后的行为检测字段不超过配置阀值,则确认该源行为正常。 S509:如果该源行为异常,表明该源地址是攻击源,则不向DNS服务器转发所述域名解析请求;
如果更新后的行为检测字段超过配置阀值,则确认该源行为异常。这种情
况下,还可以为该源i也址i殳置对应的过滤标记。
本实施例中,在真实源列表进一步包括过滤标记和行为检测字段;对于真 实源地址进一步进行行为检测,检测其请求合法性,发现行为异常,则不转发 域名解析请求;进而有效阻断真实源的DNS flood攻击。进一步净是高DNS flood 攻击的防范能力。
是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算 机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。 其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随才几存储记忆体(RandomAccess Memory, RAM)等。
参照图6,本发明用于攻击防范的^r测i殳备一个实施例,其在;f全测到DNS flood攻击时启动防范功能,主要包括
接收单元61,用于接收来自客户端的域名解析请求,并获得所述域名解析 请求的源地址;
验证单元62,用于验证所述源地址是真实的源地址;
转发单元63,与所述验证单元连接,用于根据验证单元的输出结果,向DNS 服务器转发所述域名解析请求。
所述检测设备,可为专门的检测设备或防火墙本身,根据组网而定。 上述实施例中,4企测设备在发现DNS flood攻击时,对于接收到的域名解 析请求,在验证其来自真实源的情况下才向DNS服务器转发该域名解析请求。 能有效的防止目前在DNS flood攻击中占绝大多数的伪造源ip的攻击;防范效 果显著,有效保证DNS服务器的正常运行;由于验证域名解析请求为真实源不需要占用系统大量的资源,该实施例具有实施简单,应用范围广泛的优点。同 时,由于本实施例不需要专门的设备串联到网络中,不依赖于具体组网方式, 可以适用于来回if各径一致和来回^4圣不一致等各种组网环境,组网灵活,可有 效避免设备本身成为瓶颈,影响整个网络的传输。
参照图7,本发明用于攻击防范的检测设备一个实施例,其在检测到DNS flood攻击时启动防范功能,主要包括
接收单元71,用于接收来自客户端的域名解析请求,并获得所述域名解析 请求的源地址;
验证单元72,用于验证所述源地址是真实的源地址; 源行为检查单元73,用于验证该源地址对应的源行为正常; 转发单元74,用于向DNS服务器转发所述域名解析请求。 所述检测设备,可为专门的检测设备或防火墙本身,根据组网而定。 上述实施例中,才企测设备在发现DNS flood攻击时,对于接收到的域名解 析请求,在验证其来自真实源的情况下,进一步进行行为检测,检测其请求合 法性,发现行为异常,则不转发域名解析请求;进而有效阻断真实源的DNS flood 攻击。进一步提高DNS flood攻击的防范能力。
参照图8,本发明-验证单元62的一个实施例包括
发送单元811,用于向所述源地址对应的客户端发送一个源探测报文;
响应接收单元812,用于接收客户端发送的针对所述源探测报文的响应报
文;
合法性验证单元813,用于验证所述响应报文的合法性,并输出所述源地址 是真实的源地址的结果。
参照图9,本发明验证单元62/72的一个实施例包括:真实源列表911,存储有至少一个真实的源地址;
检索单元912,用于以所述源地址为关键词查询真实源列表,并在查到所述 源地址时,输出所述源地址是真实的源地址的结果。
参照图10,本发明验证单元62/72的一个实施例包括 真实源列表1011,存储有至少一个真实的源地址及源地址对应的行为4企测 字段;
检索单元1012,用于以所述源地址为关键词查询真实源列表,在查到所述 源地址时,输出所述源地址是真实的源地址的结果;在未查到所述源地址时, 输出无对应地址的结果;
发送单元1013,用于在接收到无对应地址的结果时,判断所述行为检测字 段正常时,用于向所述源地址对应的客户端发送一个源探测报文;
响应接收单元1014,用于接收客户端发送的针对所述源探测报文的响应报
文;
合法性验证单元1015,用于验证所述响应报文的合法性,并输出所述源地 址是真实的源地址的结果。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的 精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保 护范围之内。
权利要求
1、一种攻击防范方法,其特征在于,包括接收来自客户端的域名解析请求,并获得所述域名解析请求的源地址;验证所述源地址是真实的源地址;向DNS服务器转发所述域名解析请求。
2、 如权利要求l所述的方法,其特征在于,验证所述源地址是真实的源 地址的步骤包括向所述源地址对应的客户端发送一个源探测净艮文;接收到客户端发送的合法的响应报文,则确认所述源地址是真实的源地址。
3、 如权利要求l所述的方法,其特征在于,验证所述源地址是真实的源 地址的步骤包括以所述源地址为关^fc词查询真实源列表;真实源列表中包含该源地址,则确认所述源地址是真实的源地址。
4、 如权利要求3所述的方法,其特征在于,验证所述源地址是真实的源 地址步骤之后还包括检测所述源地址的源行为正常。
5、 如权利要求4所述的方法,其特征在于,检测所述源地址的源行为正 常的步骤包括确i人所述源地址不^j"应过滤标i己;和/或根据该域名解析请求更新所述源地址对应的行为一企测字段,所述行为枱, 测字段不超过配置阀值,则确认该源行为正常。
6、 如权利要求l所述的方法,其特征在于,验证所述源地址是真实的源 地址的步骤包括以所述源地址为关词查询真实源列表;如果真实源列表中不包含该源地址,向所述源地址对应的客户端发送一个源探测报文;接收到客户端发送的合法的响应报文,则确认所述源地址是真实的源地址。
7、 如权利要求l所述的方法,其特征在于,还包括 将所述源地址存入真实源列表。
8、 如权利要求1-6任一权利要求所述的方法,其特征在于,还包括 -睑证所述源地址不是真实的源地址;不向DNS服务器转发所述域名解析请求。
9、 一种检测设备,用于攻击防范,其特征在于,包括接收单元,用于接收来自客户端的域名解析请求,并获得所述域名解析 请求的源地址;验证单元,用于-睑证所述源地址是真实的源地址;转发单元,用于根据验证单元的输出结果,向DNS服务器转发所述域名 解析请求。
10、 如权利要求9所述的检测设备,其特征在于,还包括 源行为4企查单元,用于验证该源地址对应的源行为正常;其中,所述转发单元,用于根据源行为检测单元的输出结果,向DNS服 务器转发所述域名解析请求。
11、 如权利要求9所述的检测设备,其特征在于,所述验证单元包括 发送单元,用于向所述源地址对应的客户端发送一个源探测报文; 响应接收单元,用于接收客户端发送的针对所述源探测报文的响应报文; 合法性验证单元,用于验证所述响应才艮文的合法性,并输出所述源地址是真实的源地址的结果。
12、 如权利要求9或10所述的检测设备,其特征在于,所述验证单元包括真实源列表,存储有至少一个真实的源地址;检索单元,用于以所述源地址为关键词查询真实源列表,并在查到所述 源地址时,输出所述源地址是真实的源地址的结果。
13、如权利要求9或IO所述的检测设备,其特征在于,所述验证单元包括真实源列表,存储有至少 一个真实的源地址及源地址对应的行为检测字段;检索单元,用于以所述源地址为关4建词查询真实源列表,在查到所述源 地址时,输出所述源地址是真实的源地址的结果;在未查到所述源地址时, 输出无对应地址的结果;发送单元,用于在接收到无对应地址的结果时,判断所述行为检测字段 正常时,用于向所述源地址对应的客户端发送一个源探测报文;响应接收单元,用于接收客户端发送的针对所述源探测报文的响应报文;合法性验证单元,用于验证所述响应净艮文的合法性,并输出所述源地址 是真实的源地址的结果。
全文摘要
本发明提供一种攻击防范方法和装置。本发明攻击防范方法的一个实施例中,当检测设备检测到DNS flood攻击后,进入防范流程针对客户端发送的域名解析请求,首先验证该域名解析请求来源于一个真实源,再向DNS服务器转发该域名解析请求,并响应终端。本发明实施例,能有效防范DNS flood,有效保证DNS服务器的正常运行,具有实施简单、应用广泛的优点。
文档编号H04L9/00GK101321055SQ20081006821
公开日2008年12月10日 申请日期2008年6月28日 优先权日2008年6月28日
发明者张进军, 毛世峰, 肖洪亮 申请人:华为技术有限公司