一种网络泛洪攻击的检测方法及装置与流程

文档序号:14796350发布日期:2018-06-29 06:32阅读:357来源:国知局

本申请涉及计算机网络技术领域,尤其涉及一种网络泛洪攻击的检测方法及装置。



背景技术:

计算机网络通常包括交换数据和共享资源的互联计算设备的集合,包括web服务器、数据库服务器、文件服务器、路由器、打印机、终端用户计算机以及其他设备。为了异种计算机互连提供一个共同的基础和标准框架,并为保持相关标准的一致性和兼容性提供共同的参考,设计了开放式系统互联(OSI)参考模型。OSI模型是为实现开放系统互连所建立的通信功能分层模型,从低到高分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。各种设备可以执行大量不同的服务和通信协议,以实现不同网络设备之间的通信。每一种服务和通信协议都使网络暴露不同的安全漏洞。

恶意用户在OSI参考模型的各层上实施网络攻击。在OSI参考模型的第四层常见的网络攻击包括:握手信号SYN泛洪、确认字符ACK泛洪和重置RST泛洪。SYN泛洪,利用TCP协议的三次握手的特性,攻击者发送TCP SYN,SYN是TCP三次握手中的第一个数据包,而当服务器返回ACK后,该攻击者就不对其进行再确认,那这个TCP连接就处于挂起状态,也就是所谓的半连接状态,服务器收不到再确认的话,还会重复发送ACK给攻击者。这样更加会浪费服务器的资源。攻击者就对服务器发送非常大量的这种TCP连接,由于每一个都没法完成三次握手,所以在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供服务了。

为了防止恶意用户的攻击,Web防火墙是信息安全的第一道防线。随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战。传统web入侵检测技术通过维护规则集对入侵访问进行拦截。一方面,硬规则在灵活的黑客面前,很容易被绕过;另一方面,攻防对抗水涨船高,防守方规则的构造和维护门槛高、成本大。传统的网络泛洪攻击检测方式是:管理员根据经验配置一个阈值,当网络中的连接超过配置的阈值的时候就认为是攻击,这要求管理员要有丰富的经验和对现网流量非常了解,一旦网络拓扑发生变化,阈值配置是否准确就会被质疑。



技术实现要素:

本申请提供了一种网络泛洪攻击的检测方法及装置,以解决现有技术中泛洪攻击的检测过程中阈值配置不准确的问题。

第一方面,本申请提供了一种网络泛洪攻击的检测方法,该方法包括:设置检测启动参数,所述检测启动参数包括待检测服务器的网络互联协议IP地址和预置防护阈值;根据所述IP地址,统计预置学习时间内所述待检测服务器建立传输控制协议TCP连接的最大频率值,所述最大频率值为在预置周期内建立的TCP连接的最大值;根据所述最大频率值,计算所述待检测服务器的检测阈值;按照所述预置周期,统计所述待检测服务器建立TCP连接的实时频率;判断所述实时频率是否大于所述检测阈值;如果判断结果为是,则确定所述待检测服务器发生泛洪攻击。

结合第一方面,在第一方面第一种可能的实现方式中,所述根据所述最大频率值,计算所述待检测服务器的检测阈值,包括:确定所述检测阈值为所述最大频率值。

结合第一方面,在第一方面的第二种可能的实现方式中,所述根据所述最大频率值,计算所述待检测服务器的检测阈值,包括:判断所述预置防护阈值是否小于所述最大频率值;如果判断结果为是,则确定所述最大频率值为所述检测阈值;如果判断结果为否,则计算所述预置防护阈值与所述最大频率值的流量偏差;确定所述检测阈值为所述最大频率值与预置比例的所述流量偏差的和。

结合第一方面,在第一方面的第三种可能的实现方式中,所述确定所述待检测服务器发生泛洪攻击之后,所述方法还包括:生成告警信息。

结合第二方面,在第二方面的第四中可能的实现方式中,所述确定所述待检测服务器发生泛洪攻击之后,所述方法还包括:获取所述实时频率对应的TCP连接;开启cookie校验机制,校验所述实时频率对应的TCP连接;如果校验成功,则确定所述实时频率对应的TCP连接为正常连接;如果检验失败,则确定所述实时频率对应的TCP连接为攻击源;冻结所述攻击源,禁止所述攻击源访问互联网。

第二方面,本申请还提供了一种网络泛洪攻击的检测装置,所述装置包括用于执行第一方面各种实现方式中方法步骤的模块。

第三方面,本申请还提供了一种设备,包括:处理器及存储器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第一方面各种实现方式所述网络泛洪攻击的检测方法。

第四方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的网络泛洪攻击的检测方法各实施例中的部分或全部步骤。

本申请提供的一种网络泛洪攻击的检测方法及装置,首先设置检测启动参数,然后在统计预置学习时间内待检测服务器建立传输控制协议TCP连接的最大频率值,再根据最大频率值计算检测阈值,再统计建立TCP连接的实时频率,如果实时频率大于检测阈值,则确定待检测服务器发生泛洪攻击。与现有技术相比,本申请设置的检测阈值随着统计预置学习时间内建立TCP连接的最大频率值的变化而变化,能够适应不同的网络拓扑,智能应对网络环境的变化,提高共享检测的准确性,减少错误冻结用户上网导致客户投诉。同时能够准确识别出终端个数,为管控共享上网用户提供更大的灵活性。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的一种网络泛洪攻击的检测方法流程图;

图2为本申请提供的一种计算待检测服务器的检测阈值的方法流程图;

图3本申请提供的另一种网络泛洪攻击的检测方法流程图;

图4为本申请提供的一种网络泛洪攻击的检测装置组成框图;

图5为本申请提供的一种计算单元的组成框图;

图6为本申请提供的另一种网络泛洪攻击的检测装置组成框图。

具体实施方式

为了对服务器的进行网络泛洪攻击的检测,需要把检测设备接入待检测网络,可以从旁路接入,或者串行接入,

把检测装置旁路或者串行接入需要检测的网络

参见图1,为本申请提供的一种网络泛洪攻击的检测方法流程图。如图1所示,该方法包括:

101、设置检测启动参数。

检测启动参数包括待检测服务器的网络互联协议IP地址和预置防护阈值。IP地址用于选定待检测服务器,并针对该待检测服务器进行网络泛洪攻击的检测。预置防护阈值,是在检测网络泛洪攻击之前选取的,是选取的经验值,也是通用值。预置防护阈值并不是针对待检测服务器的特定阈值,不一定能够适应当前的网络环境。

102、根据IP地址,统计预置学习时间内待检测服务器建立传输控制协议TCP连接的最大频率值。

为了使得网络泛洪攻击的检测能够随着网络环境变化而调整,在预置学习时间对待检测服务器建立的TCP连接的最大频率值进行统计,以最大频率值作为判断泛洪攻击的基础,其中最大频率值为在预置周期内建立的TCP连接的最大值。对最大频率值的学习过程,实际上是自学习过程,以自学习过程的结果,进行自适应调整。

预置学习时间,是某一选取固定值,可以在首次开机时启动计时,也可以在每次开机是均启动计时,还可以以预置学习时间为周期不断地重复计时。在本申请实施例中对预置学习时间的启动计时的时间不做限定。预置学习时间还可以通过用户手动停止,手动启动。示例性的,预置学习时间选取8小时。

在统计过程中,如果最大频率值大于预置防护阈值,则生成告警信息,提示用户重新设置预置防护阈值,或者直接停止服务器与互联网的连接。通过设置该方案,以使得待检测服务器在开机后一直对网络泛洪攻击进行检测,避免由于为确定合适的检测阈值为造成的漏检现象。

103、根据最大频率值,计算待检测服务器的检测阈值。

检测阈值,是判断待检测服务器是否受到泛洪攻击的依据。检测阈值的大小是根据最大频率值计算得到的,也就是随着待检测服务器建立的TCP连接数量的变化而改变的。可以预先设置计算公式,以计算检测阈值,预置计算公式,可以与待检测服务器所在网络的拓扑结构有关、也可以与待检测服务器的服务对象有关、还可以与待检测服务器连接中的终端数量有关,在本申请实施例中对预置计算公式的相关参数的数量和类型不做限定。示例性的,一种简单的计算方法,确定检测阈值为最大频率值。

104、按照预置周期,统计待检测服务器建立TCP连接的实时频率。

实时频率,是按照预置周期统计的待检测服务器建立TCP连接的频率。实时频率的统计周期与最大频率值对应的统计周期相同。本步骤与图1所示的步骤102所述的方法类似。

105、判断实时频率是否大于检测阈值。

将实时频率与检测阈值进行比较,在比较之前需要统一两者的计量单位。

106、如果判断结果为是,则确定待检测服务器发生泛洪攻击。

本申请提供的一种网络泛洪攻击的检测方法及装置,首先设置检测启动参数,然后在统计预置学习时间内待检测服务器建立传输控制协议TCP连接的最大频率值,再根据最大频率值计算检测阈值,再统计建立TCP连接的实时频率,如果实时频率大于检测阈值,则确定待检测服务器发生泛洪攻击。与现有技术相比,本申请设置的检测阈值随着统计预置学习时间内建立TCP连接的最大频率值的变化而变化,能够适应不同的网络拓扑,智能应对网络环境的变化,提高共享检测的准确性,减少错误冻结用户上网导致客户投诉。同时能够准确识别出终端个数,为管控共享上网用户提供更大的灵活性。

参见图2,为本申请提供的一种计算待检测服务器的检测阈值的方法流程图。在图1所示方法的基础上,如图2所示该方法包括:

201、判断预置防护阈值是否小于最大频率值。

阈值防护阈值,是根据经验设置的,是对待检测服务器是否受到泛洪攻击的判断参照,不一定适用待检测服务器所在地的网络。为了得到更符合实际网络的判断参照,还需要比较预置防护阈值与最大频率值的大小,做进一步计算,

202、如果判断结果为是,则确定最大频率值为检测阈值。

203、如果判断结果为否,则计算预置防护阈值与最大频率值的流量偏差。

204、确定检测阈值为最大频率值与预置比例的流量偏差的和。

也就是说,检测阈值,是在最大频率值的基础上,与预置比例的流量偏差做加和运算得到的。示例性的,最大频率值为100,流量偏差为50,预置比例为0.2,那么检测阈值的大小为100+50÷0.2=110。

在图1所示方法的基础上,如图3所示,确定待检测服务器发生泛洪攻击之后,方法还包括:生成告警信息。告警信息,用于提示待检测服务器的用户,已经发生泛洪攻击,以采取应急措施,防范黑客对待检测服务器、以及与待检测服务器连接的终端进行破坏。

参见图3,本申请提供的另一种网络泛洪攻击的检测方法流程图。在图1所示方法的基础上,如图3所示,确定待检测服务器发生泛洪攻击之后,方法还包括:

301、获取实时频率对应的TCP连接。

由于泛洪攻击是依据TCP连接的建立频率检测的,即使TCP连接的频率过高,也不一定是收到黑客的攻击,所以需要对实时频率对应的TCP连接进行再次判断。实时频率对应的TCP连接,包括在实时频率所属的周期中,建立的所有的TCP连接。

302、开启cookie校验机制,校验实时频率对应的TCP连接。

Cookie是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。cookie校验机制,校验实时频率对应的TCP连接是否在cookie记录中。

303、如果校验成功,则确定实时频率对应的TCP连接为正常连接。

实时频率对应的TCP连接在cookie记录中,说明在统计的实时频率之前,建立过该连接并且未出现泛洪攻击,也就是说该连接是正常连接。

304、如果检验失败,则确定实时频率对应的TCP连接为攻击源。

实时频率对应的TCP连接不在在cookie记录中,说明在通知的实时频率之前,没有建立该连接,也就能够确定实时频率对应的TCP连接为攻击源。

305、冻结攻击源,禁止攻击源访问互联网。

为了防止攻击源对待检测服务器的影响进一步扩大,采取冻结攻击源的方法,也就是禁止攻击源访问互联网。

参见图4,为本申请提供的一种网络泛洪攻击的检测装置组成框图;参见图5,为本申请提供的一种计算单元的组成框图;参见图6,为本申请提供的另一种网络泛洪攻击的检测装置组成框图。作为图1-3所示方法的具体实现,如图4所示,该装置包括:

设置单元41,用于设置检测启动参数,检测启动参数包括待检测服务器的网络互联协议IP地址和预置防护阈值;

第一统计单元42,用于根据IP地址,统计预置学习时间内待检测服务器建立传输控制协议TCP连接的最大频率值,最大频率值为在预置周期内建立的TCP连接的最大值;

计算单元43,用于根据最大频率值,计算待检测服务器的检测阈值;

第二统计单元44,用于按照预置周期,统计待检测服务器建立TCP连接的实时频率;

判断单元45,用于判断实时频率是否大于检测阈值;

确定单元46,用于如果判断结果为是,则确定待检测服务器发生泛洪攻击。

进一步地,计算单元43,用于:

确定检测阈值为最大频率值。

进一步地,如图5所示,计算单元43,包括:

判断模块431,用于判断预置防护阈值是否小于最大频率值;

确定模块432,用于如果判断结果为是,则确定最大频率值为检测阈值;

计算模块433,用于如果判断结果为否,则计算预置防护阈值与最大频率值的流量偏差;

确定模块432,还用于确定检测阈值为最大频率值与预置比例的流量偏差的和。

进一步地,如图6所示,该装置还包括:

生成单元47,用于确定待检测服务器发生泛洪攻击之后,生成告警信息。

进一步地,如图6所示,该装置还包括:

获取单元48,用于确定待检测服务器发生泛洪攻击之后,获取实时频率对应的TCP连接;

开启单元49,用于开启cookie校验机制,校验实时频率对应的TCP连接;

确定单元410,用于如果校验成功,则确定实时频率对应的TCP连接为正常连接;

确定单元410,还用于如果检验失败,则确定实时频率对应的TCP连接为攻击源;

冻结单元411,用于冻结攻击源,禁止攻击源访问互联网。

本申请提供的一种网络泛洪攻击的检测方法及装置,首先设置检测启动参数,然后在统计预置学习时间内待检测服务器建立传输控制协议TCP连接的最大频率值,再根据最大频率值计算检测阈值,再统计建立TCP连接的实时频率,如果实时频率大于检测阈值,则确定待检测服务器发生泛洪攻击。与现有技术相比,本申请设置的检测阈值随着统计预置学习时间内建立TCP连接的最大频率值的变化而变化,能够适应不同的网络拓扑,智能应对网络环境的变化,提高共享检测的准确性,减少错误冻结用户上网导致客户投诉。同时能够准确识别出终端个数,为管控共享上网用户提供更大的灵活性。

具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的网络泛洪攻击的检测方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1