CN107623685B - 快速检测SYN Flood攻击的方法及装置 - Google Patents
快速检测SYN Flood攻击的方法及装置 Download PDFInfo
- Publication number
- CN107623685B CN107623685B CN201710807649.8A CN201710807649A CN107623685B CN 107623685 B CN107623685 B CN 107623685B CN 201710807649 A CN201710807649 A CN 201710807649A CN 107623685 B CN107623685 B CN 107623685B
- Authority
- CN
- China
- Prior art keywords
- session
- address
- request
- syn
- target
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种快速检测SYN Flood攻击的方法及装置,涉及网络信息安全的技术领域,该方法包括:获取TCP协议会话信息,其中,TCP协议会话信息为目标IP与监测主机之间的至少一个会话信息;对TCP协议会话信息进行分析,得到SYN请求数据包的数量;在判断出数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定源IP地址和物理地址是否符合平均分布;在确定出符合平均分布的情况下,基于目标会话数量确定当前时刻监测主机是否被SYN Flood攻击,其中,目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量,缓解现有技术中SYN Flood的检测方法成本较高的技术问题。
Description
技术领域
本发明涉及网络信息安全的技术领域,尤其是涉及一种快速检测SYN Flood攻击的方法及装置。
背景技术
SYN Flood是一种广为人知的DoS(拒绝服务攻击),SYN Flood是DDoS(分布式拒绝服务攻击)的方式之一。这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。
SYN Flood攻击原理如图1所示。一个正常的TCP连接需要进行三次握手操作。首先,客户端向服务器发送一个SYN数据包。而后,服务器分配一个控制块,并响应一个SYN+ACK数据包。服务器随后将等待客户端发送一个ACK数据包给它。如果服务器没有收到ACK数据包,TCP连接将处于半开状态,直到服务器从客户端收到ACK数据包,或者因为time-to-live(TTL)计时器超时为止,超时时间可以在系统参数中自行调节,通常为几分钟到半小时。在连接超时的情况下,事先分配的控制块将被释放。当一个攻击者有意地、重复地向服务器发送SYN数据包,但不对服务器发回的SYN+ACK数据包答复时,就会发生SYN Flood攻击。不同源地址的SYN包会被分配到不同的数据区。
因此攻击者都会使用大量的伪造IP地址来保证SYN Flood攻击效果。SYN Flood攻击时服务器将会失去对资源的控制,无法建立任何新的合法TCP连接。目前已有SYN Flood的方法大多数是根据TCP协议包头中的SYN和ACK标志来精确判断半连接状态数量。这种方法对数据要求更多,需要数据采集设备能够详细解析TCP报头,而此类设备价格比较高。
发明内容
有鉴于此,本发明的目的在于提供一种快速检测SYN Flood攻击的方法及装置,以缓解现有技术中SYN Flood的检测方法成本较高的技术问题。
第一方面,本发明实施例提供了一种快速检测SYN Flood攻击的方法,包括:获取TCP协议会话信息,其中,所述TCP协议会话信息为目标IP与监测主机之间的至少一个会话信息;对所述TCP协议会话信息进行分析,得到SYN请求数据包的数量;在判断出所述数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定所述源IP地址和所述物理地址是否符合平均分布;在确定出符合所述平均分布的情况下,基于目标会话数量确定当前时刻所述监测主机是否被SYN Flood攻击,其中,所述目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量。
进一步地,对所述TCP协议会话信息进行分析,得到SYN请求数据包的数量包括:按照预设单位时间段对所述TCP协议会话信息进行划分,得到至少一个所属于不同预设单位时间段的目标TCP协议会话信息;基于所述目标TCP协议会话信息统计每个所述预设单位时间段内所述SYN请求数据包的会话请求数量,得到多个会话请求数量;判断每个所述会话请求数量是否满足所述预设条件,其中,在判断出满足的情况下,对每个所述预设单位时间段内SYN请求中的源IP地址和物理地址进行分析。
进一步地,判断每个所述会话请求数量是否满足所述预设条件包括:判断每个所述会话请求数量是否大于最大值基线;在判断出是的情况下,则判断每个所述会话请求数量是否大于N倍的最大值基线,其中,N大于1;在判断出是的情况下,判断每个所述会话请求数量是否大于M倍的平均值基线;在判断出是的情况下,确定所述会话请求数量满足所述预设条件,其中,M大于1。
进一步地,在基于所述目标TCP协议会话信息统计每个所述预设单位时间段内SYN请求数据包的会话请求数量之后,所述方法还包括:将所述多个会话请求数量中最大会话请求数量作为所述最大值基线;将所述多个会话请求数量的平均值作为所述平均值基线。
进一步地,所述方法还包括:当满足以下至少一种条件时,对所述最大值基线和所述平均值基线进行更新:在判断出所述会话请求数量不大于N倍的所述最大值基线的情况下;在判断出所述会话请求数量不大于M倍的所述平均值基线的情况下;在确定出不符合所述平均分布的情况下;以及,在确定出所述当前时刻所述监测主机未被所述SYN Flood攻击的情况下。
进一步地,对SYN请求中的源IP地址和物理地址进行分析,以确定所述源IP地址和所述物理地址是否符合平均分布包括:计算第一比例和第二比例的差值,其中,所述第一比例为所述源IP地址产生的会话数量占比第K大的比例,所述第二比例为所述源IP地址产生的会话数量占比第K小的比例,K等于P与所述源IP地址数量的乘积,P为预设常数;在所述差值小于预设数值的情况下,确定所述源IP地址和所述物理地址是否符合平均分布。
进一步地,在确定出符合所述平均分布的情况下,基于目标会话数量确定当前时刻所述监测主机是否被SYN Flood攻击包括:计算所述目标会话数量与所述全部IP地址会话之间的会话比例;判断所述会话比例是否大于或者等于预设比例;在判断出是的情况下,则确定所述监测主机是否被SYN Flood攻击。
第二方面,本发明实施例还提供一种快速检测SYN Flood攻击的装置,包括:获取单元,用于获取TCP协议会话信息,其中,所述TCP协议会话信息为目标IP与监测主机之间的至少一个会话信息;第一分析单元,用于对所述TCP协议会话信息进行分析,得到SYN请求数据包的数量;第二分析单元,用于在判断出所述数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定所述源IP地址和所述物理地址是否符合平均分布;确定单元,用于在确定出符合所述平均分布的情况下,基于目标会话数量确定当前时刻所述监测主机是否被SYN Flood攻击,其中,所述目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量。
进一步地,所述第一分析单元用于:按照预设单位时间段对所述TCP协议会话信息进行划分,得到至少一个所属于不同预设单位时间段的目标TCP协议会话信息;基于所述目标TCP协议会话信息统计每个所述预设单位时间段内所述SYN请求数据包的会话请求数量,得到多个会话请求数量;判断每个所述会话请求数量是否满足所述预设条件,其中,在判断出满足的情况下,对每个所述预设单位时间段内的SYN请求中的源IP地址和物理地址进行分析。
第三方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述所述权利要求所述的方法。
在本发明实施例中,首先,获取TCP协议会话信息;然后,对TCP协议会话信息进行分析,得到SYN请求数据包的数量;接下来,在判断出数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定源IP地址和物理地址是否符合平均分布;最后,在确定出符合平均分布的情况下,基于目标会话数量确定当前时刻监测主机是否被SYNFlood攻击,其中,目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量。在本发明实施例中,通过监测主机站点的实时会话信息,来判断监测主机站点是否正在遭受SYN Flood攻击,而无需对TCP协议包头中的标识信息进行校验,从而能够便于网站管理者更好做出应对而减少损失,进而缓解现有技术中SYN Flood的检测方法成本较高的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的一种SYN Flood攻击原理图;
图2是根据本发明实施例的一种快速检测SYN Flood攻击的方法的流程图;
图3是根据本发明实施例的一种MTU与会话流量之间的关系示意图;
图4是根据本发明实施例的另一种快速检测SYN Flood攻击的方法的流程图;
图5是根据本发明实施例的一种快速检测SYN Flood攻击的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
根据本发明实施例,提供了一种快速检测SYN Flood攻击的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的一种快速检测SYN Flood攻击的方法的流程图,如图2所示,该方法包括如下步骤:
步骤S102,获取TCP协议会话信息,其中,TCP协议会话信息为目标IP与监测主机之间的至少一个会话信息;
在本发明实施例中,为了快速的判断监测主机中是否存在SYN-Flood攻击,需要从DPI网络设备中得到监测主机与目标IP之间的TCP协议会话信息,其中,TCP协议会话信息即为监测主机的网络流量信息,在该网络流量信息中包括各个会话在网络层和应用层出入流量、各个会话所采用的网络层协议、各个会话的来源和目标物理地址(MAC),各个会话的来源和目标的IP地址等信息。
DPI设备是具备业务数据流识别、业务数据流控制能力,工作在OSI模型传输层到应用层,具有高数据处理能力,能够对网络所承载的业务进行识别和流量管理,可部署在网络骨干层、城域网和企业内部的网络设备。该设备是部署在网络环境中的第三方设备,位于本发明技术外部。
步骤S104,对TCP协议会话信息进行分析,得到SYN请求数据包的数量;
步骤S106,在判断出数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定源IP地址和物理地址是否符合平均分布;
步骤S108,在确定出符合平均分布的情况下,基于目标会话数量确定当前时刻监测主机是否被SYN Flood攻击,其中,目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量。
在本发明实施例中,首先,获取TCP协议会话信息;然后,对TCP协议会话信息进行分析,得到SYN请求数据包的数量;接下来,在判断出数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定源IP地址和物理地址是否符合平均分布;最后,在确定出符合平均分布的情况下,基于目标会话数量确定当前时刻监测主机是否被SYNFlood攻击,其中,目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量。在本发明实施例中,通过监测主机站点的实时会话信息,来判断监测主机站点是否正在遭受SYN Flood攻击,而无需对TCP协议包头中的标识信息进行校验,从而能够便于网站管理者更好做出应对而减少损失,进而缓解现有技术中SYN Flood的检测方法成本较高的技术问题。
在本发明实施例中,在获取到TCP协议会话信息之后,就可以基于会话信息建立基线,其中,基线包括最大值基线和平均值基线。该基线用于对单位时间段内SYN请求数据包进行判断。
SYN Flood攻击时会使用尽量小的TCP数据包来保证攻击效果,因此效果良好的SYN Flood攻击往往具备以下特征:
(1)、目标IP在会话中发送的数据包大小都是远小于MTU(通常为1500bytes)的小包。
(2)、如果对所有会话的TCP总流量排序,会有大量会话的TCP总流量保持在非常低的值。
(3)、由于标准链接请求都是格式化的,因此大部分正常SYN流量均等。
(4)、如果绘制会话ID和对应TCP总流量的关系图(按会话流量从小到大排序),会呈现出如图3所示的分布:在遭受SYN-flood时,n的值会变得非常大,n表示排序后的第n个会话。而在应用层,来自虚线以前的这些会话所对应的源IP的流量则保持为0。
因此,在本发明实施例中,基线的计算过程包括如下步骤:
步骤S11,按照预设单位时间段对TCP协议会话信息进行划分,得到至少一个所属于不同预设单位时间段的目标TCP协议会话信息;
步骤S12,基于目标TCP协议会话信息统计每个预设单位时间段内SYN请求数据包的会话请求数量,得到多个会话请求数量;
步骤S13,将多个会话请求数量中最大请求数量作为最大值基线;
步骤S14,将多个会话请求数量的平均值作为平均值基线。
具体地,在时间T内,对根据步骤S102中获取的信息,划分成若干所属于预设单位时间段t内的目标TCP协议会话信息。针对每个预设单位时间段t,根据会话的入流量对预设单位时间段t内被监测主机的目标TCP协议会话信息进行排序。其中,在小于MTU范围内,会话流量分布呈现为:
fsyn(x)表示可能的SYN-flood攻击的流量曲线(对应于图3虚线左侧的曲线),其取值为某一小于MTU的值,f(x)表示正常的流量曲线(对应于图3虚线右侧的曲线),其取值不固定。基于目标TCP协议会话信息记录每个预设单位时间段t内的n,其中,n表示预设单位时间段t内符合SYN-flood攻击特征的会话请求数量。
在确定出每个预设单位时间段的会话请求数量之后,就可以通过下述公式计算最大值基线Nmax和平均值基线Navg:公式Nmax=MAX(n)和公式Navg=AVG(n)。
在计算出上述基线之后,就可以对TCP协议会话信息进行分析,以得到SYN请求数据包的数量。在一个可选的实施方式中,上述步骤S104,即对TCP协议会话信息进行分析,得到SYN请求数据包的数量包括如下步骤:
步骤S21,按照预设单位时间段对TCP协议会话信息进行划分,得到至少一个所属于不同预设单位时间段的目标TCP协议会话信息;其中,步骤S21与步骤S11相同。
步骤S22,基于目标TCP协议会话信息统计每个预设单位时间段内SYN请求数据包的会话请求数量,得到多个会话请求数量;其中,步骤S22与步骤S12相同。
步骤S23,判断每个会话请求数量是否满足预设条件,
其中,在判断出满足的情况下,对每个预设单位时间段内的SYN请求中的源IP地址和物理地址进行分析。
需要说明的是,在本发明实施例中,预设条件为根据最大值基线和平均值基线设置的判断条件。
可选地,判断每个会话请求数量是否满足预设条件包括如下步骤:
步骤S231,判断每个会话请求数量是否大于最大值基线;
步骤S232,在判断出是的情况下,则判断每个会话请求数量是否大于N倍的最大值基线,其中,N大于1;
步骤S233,在判断出是的情况下,判断每个会话请求数量是否大于M倍的平均值基线;
步骤S234,在判断出是的情况下,确定会话请求数量满足预设条件,其中,M大于1。
具体地,首先判断预设单位时间段t内的会话请求数量是否大于最大值基线,即判断下述公式是否成立:n>Nmax。其中,如果判断出不成立,则返回继续执行步骤S102;如果判断出成立,则继续判断会话请求数量是否大于N倍的最大值基线,例如,大于2倍的最大值基线,即n>2Nmax。如果判断出不成立,则对最大值基线和平均值基线进行更新;如果判断出成立,则继续判断预设单位时间段t内的会话请求数量是否大于M倍的平均值基线,例如,是否大于10倍的平均值基线,即n>10Navg。如果判断出不是,则对最大值基线和平均值基线进行更新;如果判断出是,则确定会话请求数量满足预设条件。
在确定出满足预设条件的情况下,就可以对SYN请求中的源IP地址和物理地址进行分析,以确定源IP地址和物理地址是否符合平均分布。
例如,针对每个预设单位时间段内所属的目标TCP协议会话信息,可以对目标TCP协议会话信息中的SYN请求中的源IP地址和物理地址进行分析。
在另一个可选的实施方式中,对SYN请求中的源IP地址和物理地址进行分析,以确定源IP地址和物理地址是否符合平均分布包括如下步骤:
步骤S1061,计算第一比例和第二比例的差值,其中,第一比例为源IP地址产生的会话数量占比第K大的比例,第二比例为源IP地址产生的会话数量占比第K小的比例,K等于P与源IP地址数量的乘积,P为预设常数;
步骤S1062,在差值小于预设数值的情况下,确定源IP地址和物理地址是否符合平均分布。
具体地,在本发明实施例中,对上述步骤S21中获取到的目标TCP协议会话信息中的SYN请求中所有的源IP地址和物理地址(MAC),根据物理地址对IP地址进行排序。然后,同一个物理地址下的源IP地址是否符合平均分布,其中,如果符合平均分布,则执行步骤S108;如果不符合平均分布,则对最大值基线和平均值基线进行更新。
其中,符合平均分布的判断标准为:(srcAddress占比第K大的比例)–(srcAddress占比第K小的比例)>1%。其中,(srcAddress占比第K大的比例)即为上述第一比例,(srcAddress占比第K小的比例)即为上述第二比例,1%即为上述预设数值。其中,K=P*srcADDress的个数,向上取整,且0<P<10%。
需要说明的是,srcAddress即为上述源IP地址,一般情况下,同一个物理地址下的源IP地址在时间t内产生的会话数量是不同的,假设有3个源IP地址,分别为IP1,IP2和IP3,那么,其中,源IP1地址产生90个会话,源IP2地址产生9个会话,源IP3地址产生1个会话。此时,若K=1,则表明3个源IP地址产生会话中,数量占比第一大是源IP1,也即,srcAddress占比第K大的比例表明源IP地址产生会话的数量第K大的占比数值。
在另一个可选的实施方式中,在确定出符合平均分布的情况下,基于目标会话数量确定当前时刻监测主机是否被SYN Flood攻击包括如下步骤:
步骤S1081,计算目标会话数量与全部IP地址会话之间的会话比例;
步骤S1082,判断会话比例是否大于或者等于预设比例;
步骤S1083,在判断出是的情况下,则确定监测主机是否被SYN Flood攻击。
在本发明实施例中,若上述条件均得到满足,统计当前时刻网络流量中的全部IP地址会话中应用层流量为0的会话数量(即,上述目标会话数量)。
由于SYN Flood攻击的半连接状态下,不存在应用层流量,因此当应用层流量为0的会话比例超过80%(预设比例),则确定监测主机被为SYN Flood攻击。此当应用层流量为0的会话比例未超过80%(预设比例),则对最大值基线和平均值基线进行更新。
综上,本发明实施例所提供的方法的主要目的在于克服现有技术中的不足,提供一种更快速、实时监测主机站点所遭受的SYN-Flood攻击的方法,以便于网站管理者更好的做出应对而减少损失。本发明的解决方案是:根据被监测主机站点的实时回话信息,判断监测主机站点是否正在遭受SYN-Flood攻击。
因此与现有技术相比,本发明的有益效果是:
不需要解析TCP报头,对设备要求更低,适用范围更广。同时计算量比分析TCP报头的方法更少,对系统资源的消耗更可接受。根据实际情况的测试,对于SYN Flood攻击,检测准确度高。投入成本价和检测精度价效比更高。
综上各实施例提供的快速检测SYN Flood攻击的方法,为了直观理解上述过程,以图4所示的快速检测SYN Flood攻击的方法的示意图为例进行说明,该方法主要包括如下步骤:
步骤S401,采集TCP协议会话信息;
在本发明实施例中,为了快速的判断监测主机中是否存在SYN-Flood攻击,需要从DPI网络设备中得到监测主机与目标IP之间的TCP协议会话信息,其中,TCP协议会下信息即为监测主机的网络流量信息,在该网络流量信息中包括各个会话在网络层和应用层出入流量、各个会话所采用的网络层协议、各个会话的来源和目标物理地址(MAC),各个会话的来源和目标的IP地址等信息。
步骤S402,对TCP协议会话信息进行整理和排序,以确定每个预设单位时间段内的SYN请求数据包的会话请求数量;
在本发明实施例中,首先,按照预设单位时间段对TCP协议会话信息进行划分,得到至少一个所属于不同预设单位时间段的目标TCP协议会话信息;然后,基于目标TCP协议会话信息统计每个预设单位时间段内SYN请求数据包的会话请求数量,得到多个会话请求数量。
步骤S403,判断会话请求数量是否大于最大值基线,其中,如果判断出是,则执行步骤S404,否则,返回执行步骤S401;
步骤S404,判断会话请求数量是否大于2倍的最大值基线,其中,如果判断出是,则执行步骤S405,否则,执行步骤S409;
步骤S405,判断会话请求数量是否大于10倍的平均值基线,其中,如果判断出是,则执行步骤S406,否则,执行步骤S409;
步骤S406,对SYN请求中的源IP地址和物理地址进行分析;
步骤S407,判断源IP地址和物理地址是否符合平均分布,其中,如果判断出符合,则执行步骤S408,否则执行步骤S409;
步骤S408,根据目标会话数量确定当前时刻监测主机是否被SYN Flood攻击,其中,目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量,其中,如果判断出是,则执行步骤S410,输出告警信息,如果判断出否,则执行步骤S409;
步骤S409,对最大值基线和平均值基线进行更新。
需要说明的是,上述步骤S401至步骤S409的具体实现过程如上,这里不再赘述。
实施例二:
本发明实施例还提供了一种快速检测SYN Flood攻击的装置,该快速检测SYNFlood攻击的装置主要用于执行本发明实施例上述内容所提供的快速检测SYN Flood攻击的方法,以下对本发明实施例提供的快速检测SYN Flood攻击的装置做具体介绍。
图5是根据本发明实施例的一种快速检测SYN Flood攻击的装置的示意图,如图5所示,该快速检测SYN Flood攻击的装置主要包括:获取单元51,第一分析单元52,第二分析单元53和确定单元54,其中:
获取单元51,用于获取TCP协议会话信息,其中,TCP协议会话信息为目标IP与监测主机之间的至少一个会话信息;
第一分析单元52,用于对TCP协议会话信息进行分析,得到SYN请求数据包的数量;
第二分析单元53,用于在判断出数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定源IP地址和物理地址是否符合平均分布;
确定单元54,用于在确定出符合平均分布的情况下,基于目标会话数量确定当前时刻监测主机是否被SYN Flood攻击,其中,目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量。
在本发明实施例中,首先,获取TCP协议会话信息;然后,对TCP协议会话信息进行分析,得到SYN请求数据包的数量;接下来,在判断出数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定源IP地址和物理地址是否符合平均分布;最后,在确定出符合平均分布的情况下,基于目标会话数量确定当前时刻监测主机是否被SYNFlood攻击,其中,目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量。在本发明实施例中,通过监测主机站点的实时会话信息,来判断监测主机站点是否正在遭受SYN Flood攻击,而无需对TCP协议包头中的标识信息进行校验,从而能够便于网站管理者更好做出应对而减少损失,进而缓解现有技术中SYN Flood的检测方法成本较高的技术问题。
可选地,第一分析单元用于:按照预设单位时间段对所述TCP协议会话信息进行划分,得到至少一个所属于不同预设单位时间段的目标TCP协议会话信息;基于所述目标TCP协议会话信息统计每个所述预设单位时间段内所述SYN请求数据包的会话请求数量,得到多个会话请求数量;判断每个所述会话请求数量是否满足所述预设条件,其中,在判断出满足的情况下,对每个所述预设单位时间段内SYN请求中的源IP地址和物理地址进行分析。
可选地,第一分析单元还用于:判断每个所述会话请求数量是否大于最大值基线;在判断出是的情况下,则判断每个所述会话请求数量是否大于N倍的最大值基线,其中,N大于1;在判断出是的情况下,判断每个所述会话请求数量是否大于M倍的平均值基线;在判断出是的情况下,确定所述会话请求数量满足所述预设条件,其中,M大于1。
可选地,第一分析单元还用于:在基于所述目标TCP协议会话信息统计每个所述预设单位时间段内SYN请求数据包的会话请求数量之后,将所述多个会话请求数量中最大会话请求数量作为所述最大值基线;将所述多个会话请求数量的平均值作为所述平均值基线。
可选地,该装置还用于:当满足以下至少一种条件时,对所述最大值基线和所述平均值基线进行更新:在判断出所述会话请求数量不大于N倍的所述最大值基线的情况下;在判断出所述会话请求数量不大于M倍的所述平均值基线的情况下;在确定出不符合所述平均分布的情况下;以及,在确定出所述当前时刻所述监测主机未被所述SYN Flood攻击的情况下。
可选地,第二分析单元用于:计算第一比例和第二比例的差值,其中,所述第一比例为所述源IP地址产生的会话数量占比第K大的比例,所述第二比例为所述源IP地址产生的会话数量占比第K小的比例,K等于P与所述源IP地址数量的乘积,P为预设常数;在差值小于预设数值的情况下,确定源IP地址和物理地址是否符合平均分布。
可选地,确定单元用于:计算目标会话数量与全部IP地址会话之间的会话比例;判断会话比例是否大于或者等于预设比例;在判断出是的情况下,则确定监测主机是否被SYNFlood攻击。
本发明实施例提供的快速检测SYN Flood攻击的装置,与上述实施例提供的快速检测SYN Flood攻击的方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明实施例所提供的一种快速检测SYN Flood攻击的方法及装置的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (7)
1.一种快速检测SYN Flood攻击的方法,其特征在于,包括:
获取TCP协议会话信息,其中,所述TCP协议会话信息为目标IP与监测主机之间的至少一个会话信息;
对所述TCP协议会话信息进行分析,得到SYN请求数据包的数量;
在判断出所述数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定所述源IP地址和所述物理地址是否符合平均分布;
在确定出符合所述平均分布的情况下,基于目标会话数量确定当前时刻所述监测主机是否被SYN Flood攻击,其中,所述目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量;
其中,对所述TCP协议会话信息进行分析,得到SYN请求数据包的数量包括:
按照预设单位时间段对所述TCP协议会话信息进行划分,得到至少一个所属于不同预设单位时间段的目标TCP协议会话信息;
基于所述目标TCP协议会话信息统计每个所述预设单位时间段内所述SYN请求数据包的会话请求数量,得到多个会话请求数量;
判断每个所述会话请求数量是否满足所述预设条件,
其中,在判断出满足的情况下,对每个所述预设单位时间段内SYN请求中的源IP地址和物理地址进行分析;
其中,判断每个所述会话请求数量是否满足所述预设条件包括:
判断每个所述会话请求数量是否大于最大值基线;
在判断出是的情况下,则判断每个所述会话请求数量是否大于N倍的最大值基线,其中,N大于1;
在判断出是的情况下,判断每个所述会话请求数量是否大于M倍的平均值基线;
在判断出是的情况下,确定所述会话请求数量满足所述预设条件,其中,M大于1。
2.根据权利要求1所述的方法,其特征在于,在基于所述目标TCP协议会话信息统计每个所述预设单位时间段内SYN请求数据包的会话请求数量之后,所述方法还包括:
将所述多个会话请求数量中最大会话请求数量作为所述最大值基线;
将所述多个会话请求数量的平均值作为所述平均值基线。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当满足以下至少一种条件时,对所述最大值基线和所述平均值基线进行更新:在判断出所述会话请求数量不大于N倍的所述最大值基线的情况下;在判断出所述会话请求数量不大于M倍的所述平均值基线的情况下;在确定出不符合所述平均分布的情况下;以及,在确定出所述当前时刻所述监测主机未被所述SYN Flood攻击的情况下。
4.根据权利要求1所述的方法,其特征在于,对SYN请求中的源IP地址和物理地址进行分析,以确定所述源IP地址和所述物理地址是否符合平均分布包括:
计算第一比例和第二比例的差值,其中,所述第一比例为所述源IP地址产生的会话数量占比第K大的比例,所述第二比例为所述源IP地址产生的会话数量占比第K小的比例,K等于P与所述源IP地址数量的乘积,P为预设常数;
在所述差值小于预设数值的情况下,确定所述源IP地址和所述物理地址是否符合平均分布。
5.根据权利要求1所述的方法,其特征在于,在确定出符合所述平均分布的情况下,基于目标会话数量确定当前时刻所述监测主机是否被SYN Flood攻击包括:
计算所述目标会话数量与所述全部IP地址会话之间的会话比例;
判断所述会话比例是否大于或者等于预设比例;
在判断出是的情况下,则确定所述监测主机被SYN Flood攻击。
6.一种快速检测SYN Flood攻击的装置,其特征在于,包括:
获取单元,用于获取TCP协议会话信息,其中,所述TCP协议会话信息为目标IP与监测主机之间的至少一个会话信息;
第一分析单元,用于对所述TCP协议会话信息进行分析,得到SYN请求数据包的数量;
第二分析单元,用于在判断出所述数量满足预设条件的情况下,对SYN请求中的源IP地址和物理地址进行分析,以确定所述源IP地址和所述物理地址是否符合平均分布;
确定单元,用于在确定出符合所述平均分布的情况下,基于目标会话数量确定当前时刻所述监测主机是否被SYN Flood攻击,其中,所述目标会话数量为当前时刻网络流量中的全部IP地址会话中应用层流量为零的会话数量;
其中,所述第一分析单元用于:
按照预设单位时间段对所述TCP协议会话信息进行划分,得到至少一个所属于不同预设单位时间段的目标TCP协议会话信息;
基于所述目标TCP协议会话信息统计每个所述预设单位时间段内所述SYN请求数据包的会话请求数量,得到多个会话请求数量;
判断每个所述会话请求数量是否满足所述预设条件,
其中,在判断出满足的情况下,对每个所述预设单位时间段内的SYN请求中的源IP地址和物理地址进行分析;
所述第一分析单元还用于:
判断每个所述会话请求数量是否大于最大值基线;
在判断出是的情况下,则判断每个所述会话请求数量是否大于N倍的最大值基线,其中,N大于1;
在判断出是的情况下,判断每个所述会话请求数量是否大于M倍的平均值基线;
在判断出是的情况下,确定所述会话请求数量满足所述预设条件,其中,M大于1。
7.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710807649.8A CN107623685B (zh) | 2017-09-08 | 2017-09-08 | 快速检测SYN Flood攻击的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710807649.8A CN107623685B (zh) | 2017-09-08 | 2017-09-08 | 快速检测SYN Flood攻击的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107623685A CN107623685A (zh) | 2018-01-23 |
CN107623685B true CN107623685B (zh) | 2020-04-07 |
Family
ID=61088499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710807649.8A Active CN107623685B (zh) | 2017-09-08 | 2017-09-08 | 快速检测SYN Flood攻击的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107623685B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965347B (zh) * | 2018-10-10 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 一种分布式拒绝服务攻击检测方法、装置及服务器 |
CN109617868B (zh) * | 2018-12-06 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种ddos攻击的检测方法、装置及检测服务器 |
CN109922072B (zh) * | 2019-03-18 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 一种分布式拒绝服务攻击检测方法及装置 |
CN113055335B (zh) * | 2019-12-26 | 2022-09-30 | 中国电信股份有限公司 | 用于检测通信异常的方法、装置、网络系统和存储介质 |
CN111800391B (zh) * | 2020-06-12 | 2023-05-23 | 安天科技集团股份有限公司 | 端口扫描攻击的检测方法、装置、电子设备及存储介质 |
CN114301653B (zh) * | 2021-12-22 | 2024-02-02 | 山石网科通信技术股份有限公司 | 抵御半连接攻击的方法、装置、存储介质以及处理器 |
CN114338120B (zh) * | 2021-12-23 | 2023-11-21 | 绿盟科技集团股份有限公司 | 一种扫段攻击检测方法、装置、介质和电子设备 |
CN114301668B (zh) * | 2021-12-28 | 2023-07-21 | 北京安天网络安全技术有限公司 | 流量检测方法及装置、电子设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972286A (zh) * | 2006-12-05 | 2007-05-30 | 苏州国华科技有限公司 | 一种针对DDoS攻击的防御方法 |
CN101741847A (zh) * | 2009-12-22 | 2010-06-16 | 北京锐安科技有限公司 | 一种ddos攻击检测方法 |
WO2014161205A1 (zh) * | 2013-04-01 | 2014-10-09 | 北京东土科技股份有限公司 | 一种网络拥塞处理方法、系统及装置 |
CN105656848A (zh) * | 2014-11-13 | 2016-06-08 | 腾讯数码(深圳)有限公司 | 应用层快速攻击检测方法和相关装置 |
-
2017
- 2017-09-08 CN CN201710807649.8A patent/CN107623685B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972286A (zh) * | 2006-12-05 | 2007-05-30 | 苏州国华科技有限公司 | 一种针对DDoS攻击的防御方法 |
CN101741847A (zh) * | 2009-12-22 | 2010-06-16 | 北京锐安科技有限公司 | 一种ddos攻击检测方法 |
WO2014161205A1 (zh) * | 2013-04-01 | 2014-10-09 | 北京东土科技股份有限公司 | 一种网络拥塞处理方法、系统及装置 |
CN105656848A (zh) * | 2014-11-13 | 2016-06-08 | 腾讯数码(深圳)有限公司 | 应用层快速攻击检测方法和相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107623685A (zh) | 2018-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107623685B (zh) | 快速检测SYN Flood攻击的方法及装置 | |
US8966627B2 (en) | Method and apparatus for defending distributed denial-of-service (DDoS) attack through abnormally terminated session | |
CN109787859B (zh) | 基于网络拥塞探测的智能限速方法、装置及存储介质 | |
US8438639B2 (en) | Apparatus for detecting and filtering application layer DDoS attack of web service | |
US8001601B2 (en) | Method and apparatus for large-scale automated distributed denial of service attack detection | |
KR101061375B1 (ko) | Uri 타입 기반 디도스 공격 탐지 및 대응 장치 | |
RU2538292C1 (ru) | Способ обнаружения компьютерных атак на сетевую компьютерную систему | |
CN107124434B (zh) | 一种dns恶意攻击流量的发现方法及系统 | |
WO2011075922A1 (zh) | 一种ddos攻击检测方法 | |
CN109617868B (zh) | 一种ddos攻击的检测方法、装置及检测服务器 | |
CN104734916B (zh) | 一种基于tcp协议的高效多级异常流量检测方法 | |
CN113518057B (zh) | 分布式拒绝服务攻击的检测方法、装置及其计算机设备 | |
WO2017020712A1 (zh) | 量化防御结果的方法、装置及系统 | |
CN112422554B (zh) | 一种检测异常流量外连的方法、装置、设备及存储介质 | |
CN110719286A (zh) | 一种基于大数据的网络优化方案共享系统及其方法 | |
CN114338120B (zh) | 一种扫段攻击检测方法、装置、介质和电子设备 | |
CN111565196B (zh) | 一种KNXnet/IP协议入侵检测方法、装置、设备及介质 | |
CN113765849A (zh) | 一种异常网络流量检测方法和装置 | |
CN106817268B (zh) | 一种ddos攻击的检测方法及系统 | |
TW201828660A (zh) | 量化防禦結果的方法、裝置及系統 | |
RU2381550C2 (ru) | Способ мониторинга безопасности web-сервера | |
JP5655049B2 (ja) | 判定装置、判定方法および判定プログラム | |
Song et al. | Collaborative defense mechanism using statistical detection method against DDoS attacks | |
CN110162969A (zh) | 一种流量的分析方法和装置 | |
KR102575526B1 (ko) | 학습한 과거 데이터를 이용하여 분산 서비스 거부 공격을 탐지하는 장치 및 그 방법 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310000 No. 188 Lianhui Street, Xixing Street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Annan information technology Limited by Share Ltd Address before: Zhejiang Zhongcai Building No. 68 Binjiang District road Hangzhou City, Zhejiang Province, the 310051 and 15 layer Applicant before: Dbappsecurity Co.,ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |