本发明涉及洪水攻击检测领域,尤其涉及一种优化的中央监测的洪水攻击检测方法。
背景技术:
syn洪水攻击(syn_flood)是一种广为人知的拒绝服务攻击(dos)与分布式拒绝服务攻击(ddos)的方式之一,其利用了tcp/ipv4协议的缺陷,发送大量伪造的tcp连接请求,迫使服务器端短时间内发出大量的syn+ack应答数据包,从而使服务器资源耗尽(cpu满负荷或内存不足)。tcp连接的建立都是从三次握手开始的,1)客户端会发送一个包含同步(synchronize,syn)标志的tcp报文,该同步报文会包含了源地址、源端口、目的地址、目的端口、初始系列号等信息;2)服务器在收到客户端的同步报文后,会返回给客户端一个同步+确认报文(acknowledgment,ack),该同步+确认报文也包含了源地址、源端口、目的地址、目的端口、初始系列号等信息;3)当客户端接收到同步+确认报文后,会再返回给服务器一个确认报文,此时一个tcp连接完成。如果服务器发出同步+确认报文后,没有收到相应的客户端的确认报文时,会在30s-2min内不断重试发送同步+确认报文,如果在这个期间一直没收到客户端的确认报文则丢弃这个未完成的连接并释放相应的系统资源。洪水攻击使服务器打开了大量的半开连接请求,使正常的客户请求无法请求。在互联网相当普及的今天,要让联网的服务器稳定地运行,及时做好应对洪水攻击的检测工作成为企业网络安全的基本诉求。目前,洪水攻击的检测方法一般为简单地统计报文中同步报文数量,当单位时间内同步报文数量大于预先设定的阈值时,就确定服务器遭受洪水攻击。这种仅仅是统计syn数量的监测方式误判率很大,往往会统计到正常的业务数据包,给正常业务造成一定的影响。
技术实现要素:
本发明的目的在于克服现有技术中的缺点与不足,提供一种优化的中央监测的洪水攻击检测方法。
本发明是通过以下技术方案实现的:一种优化的中央监测的洪水攻击检测方法,包括如下步骤:
s1:在网络入口处设置一监测装置,该监测装置包括ip数据包的转发模块、阻断模块及统计模块;
s2:监测装置监测单向流进监测装置的数据报文,并根据监测结果转发或阻断ip数据包,该步骤s2包括如下步骤:
s21:监测装置创建第一哈希数组及第二哈希数组;
s22:监测装置采集来自互联网的syn数据包并提取syn数据包信息,并对数据包信息中的ip五元组进行系列化及哈希加密转换得到第一哈希值,提取syn数据包中的源地址存储至以所述第一哈希值作为下标的第一哈希数组中;
s23:监测装置采集来自互联网的ack数据包并提取ack数据包信息,并对数据包中的ip五元组进行系列化及哈希加密转换得到第二哈希值,提取ack数据包中的源地址存储至以所述第二哈希值作为下标的第二哈希数组中;
s24:监测装置检索作为第二哈希数组下标的第二哈希值,如果存在第二哈希值与第一哈希值相同,则为正常数据包、否则为洪水攻击数据包,监测装置从以第一哈希值作为下标的第一哈希数组中提取对应的攻击源地址,并阻断该攻击源地址对服务器的访问。
进一步,所述步骤s22中的哈希加密转换采用md5加密算法。
进一步,所述步骤s22中,所述ip五元组为syn数据包的源地址、源端口、目的地址、目的端口、协议标识。
进一步,所述步骤s23中,所述ip五元组为ack数据包的源地址、源端口、目的地址、目的端口、协议标识。
相比于现有技术,本发明的有益效果是:
本发明在互联网入口处集中部署监测装置,有利于数据的集中采集和计算;监测装置采集来自互联网的syn数据包及ack数据包,将syn数据包中的ip五元组构造成唯一的第一哈希值、将ack数据包中的ip五元组构造成唯一的第二哈希值,并以第一哈希值作为第一哈希数组的下标、以第二哈希值作为第二哈希数组的下标,将数据包源地址存储在对应下标的第一哈希数组及第二哈希数组中,通过比较第一哈希值和第二哈希值得出洪水攻击的特征后,可直接从数组中提取洪水攻击源地址,减少逆向运算时间,提高监测装置性能,且能快速阻断攻击源访问服务器,有效保障网络安全及服务器的稳定性。
为了能更清晰的理解本发明,以下将结合附图说明阐述本发明的较佳的实施方式。
附图说明
图1是本发明中的监测装置部署的网络拓扑示意图。
图2是本发明的流程图。
图3是图2中步骤s2的流程图。
具体实施方式
请同时参阅图1至图3,图1是本发明中的监测装置部署的网络拓扑示意图,图2是本发明的流程图,图3是图2中步骤s2的流程图。
见图1和图2,一种优化的中央监测的洪水攻击检测方法,包括如下步骤:
s1:在网络入口处设置一监测装置,该监测装置包括ip数据包的转发模块、阻断模块及统计模块,转发模块将进入监测装置的数据包转发到服务器、阻断模块将来自洪水攻击客户端的数据包阻断、统计模块监测并统计进入该监测装置的各种数据包;
s2:监测装置监测单向流进监测装置的数据报文,并根据监测结果转发或阻断ip数据包,该步骤s2包括如下步骤:(见图3)
s21:监测装置创建第一哈希数组及第二哈希数组;
s22:监测装置采集来自互联网的syn数据包并提取syn数据包信息,并对数据包信息中的ip五元组进行系列化及哈希加密转换得到第一哈希值,提取syn数据包中的源地址存储至以所述第一哈希值作为下标的第一哈希数组中;
s23:监测装置采集来自互联网的ack数据包并提取ack数据包信息,并对数据包中的ip五元组进行系列化及哈希加密转换得到第二哈希值,提取ack数据包中的源地址存储至以所述第二哈希值作为下标的第二哈希数组中;
s24:监测装置检索作为第二哈希数组下标的第二哈希值,如果存在第二哈希值与第一哈希值相同,则为正常数据包、否则为洪水攻击数据包,监测装置从以第一哈希值作为下标的第一哈希数组中提取对应的攻击源地址,并阻断该攻击源地址对服务器的访问。
本发明的优化的中央监测的洪水攻击检测方法根据洪水攻击的特征,即发起攻击的客户端不会发出ack数据包来对服务器进行应答,从而判断出洪水攻击来源并阻断该来源的数据包,达到防护的目的。
本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。