一种端口扫描攻击检测方法、装置及电子设备与流程

文档序号:24938209发布日期:2021-05-04 11:30阅读:106来源:国知局
一种端口扫描攻击检测方法、装置及电子设备与流程
本申请涉及安全防护
技术领域
,尤其涉及一种端口扫描攻击检测方法、装置、电子设备及机器可读存储介质。
背景技术
:端口扫描攻击是一种常见的网络攻击方式,攻击者针对目标服务器的端口逐个进行扫描,以发现目标服务器开放的端口,进而可以利用为这些端口分配的服务中的漏洞进行攻击。在实际应用中,tcpsyn扫描是一种常见的端口扫描攻击方式,其原理是:攻击者可以利用扫描程序向目标服务器发送syn数据包,该syn数据包中包含着若干与不同目的端口号对应的syn(tcp连接建立请求)报文;目标服务器收到一个syn报文后,如果该syn报文请求的tcp端口是开放的,则响应于该syn报文返回一个syn_ack报文,如果该syn报文请求的tcp端口未开放,则响应于该syn报文返回一个rst报文;攻击者根据目标服务器响应于不同的syn报文返回的syn_ack报文或rst报文,可以检测目标服务器开放的端口。然而,由于扫描程序发送的syn数据包可以伪装成正常的tcp连接建立请求报文,大多数tcpsyn扫描攻击事件无法被安全防护设备检测到并记录下来,导致针对端口扫描攻击进行防护的难度大。技术实现要素:有鉴于此,本申请提供一种端口扫描攻击检测方法、装置、电子设备及机器可读存储介质,以解决在超大流量的情况下,端口扫描攻击检测不准确的问题。本申请提供一种端口扫描攻击检测方法,所述方法应用于安全防护设备;所述方法包括:接收待检测的syn报文和与所述syn报文对应的syn_ack报文;统计接收到的syn报文的第一数量;以及,统计接收到的与所述syn报文对应的syn_ack报文的第二数量;检测所述第一数量与所述第二数量的差值是否到达预设阈值;如果是,则确定存在端口扫描攻击行为。可选的,所述统计接收到的syn报文的第一数量,包括:根据接收到的syn报文的源ip地址和目的ip地址,确定所述syn报文命中的统计表项;其中,所述统计表项中包括源ip地址、目的ip地址和第一数量;将所述syn报文命中的统计表项中的第一数量加1。可选的,所述统计接收到的syn报文的第一数量,包括:根据接收到的syn报文的源ip地址和目的ip地址,未命中统计表项时,生成与所述syn报文对应的统计表项;将所述生成的统计表项中的第一数量设置为1。可选的,所述统计表项中还包括hash值;其中,所述hash值包括根据第一参数和第二参数基于预设的hash算法计算出的hash值;所述根据接收到的syn报文的源ip地址和目的ip地址,确定所述syn报文命中的统计表项,包括:将接收到的syn报文的源ip地址作为所述第一参数,将接收到的syn报文的目的ip地址作为所述第二参数,基于预设的hash算法计算出与所述syn报文对应的hash值;查找是否存在统计表项中的hash值和与所述syn报文对应的hash值相同;如果存在,则确定所述统计表项为所述syn报文命中的统计表项。可选的,所述统计表项中还包括目的端口号;确定所述syn报文命中的统计表项后,还包括:确定所述syn报文命中的统计表项中的目的端口号是否记录有所述syn报文的目的端口号;如果没有记录,则将所述命中的统计表项中的第一数量加1,并在所述命中的统计表项中的目的端口号记录所述syn报文的目的端口号。可选的,所述统计接收到的与所述syn报文对应的syn_ack报文的第二数量,包括:根据接收到的与所述syn报文对应的syn_ack报文的源ip地址和目的ip地址,确定所述syn_ack报文命中的统计表项;其中,所述统计表项中包括源ip地址、目的ip地址和第二数量;将所述syn_ack报文命中的统计表项中的第二数量加1。可选的,所述统计表项中还包括hash值;所述根据接收到的与所述syn报文对应的syn_ack报文的源ip地址和目的ip地址,确定所述syn_ack报文命中的统计表项,包括:将所述syn_ack报文的目的ip地址作为所述第一参数,将所述syn_ack报文的源ip地址作为所述第二参数,基于预设的hash算法计算出与所述syn_ack报文对应的hash值;查找是否存在统计表项中的hash值和与所述syn_ack报文对应的hash值相同;如果存在,则确定所述统计表项为所述syn_ack报文命中的统计表项。可选的,所述确定存在端口扫描攻击行为后,还包括:将所述syn报文的源ip地址加入黑名单。本申请还提供一种端口扫描攻击检测装置,所述装置应用于安全防护设备;所述装置包括:接收单元,用于接收待检测的syn报文和与所述syn报文对应的syn_ack报文;统计单元,用于统计接收到的syn报文的第一数量;以及,统计接收到的与所述syn报文对应的syn_ack报文的第二数量;检测单元,用于检测所述第一数量与所述第二数量的差值是否到达预设阈值;如果是,则确定存在端口扫描攻击行为。可选的,所述统计单元,具体用于:根据接收到的syn报文的源ip地址和目的ip地址,确定所述syn报文命中的统计表项;其中,所述统计表项中包括源ip地址、目的ip地址和第一数量;将所述syn报文命中的统计表项中的第一数量加1。可选的,所述统计单元,具体还用于:根据接收到的syn报文的源ip地址和目的ip地址,未命中统计表项时,生成与所述syn报文对应的统计表项;将所述生成的统计表项中的第一数量设置为1。可选的,所述统计表项中还包括hash值;其中,所述hash值包括根据第一参数和第二参数基于预设的hash算法计算出的hash值;所述统计单元,具体用于:将接收到的syn报文的源ip地址作为所述第一参数,将接收到的syn报文的目的ip地址作为所述第二参数,基于预设的hash算法计算出与所述syn报文对应的hash值;查找是否存在统计表项中的hash值和与所述syn报文对应的hash值相同;如果存在,则确定所述统计表项为所述syn报文命中的统计表项。可选的,所述统计表项中还包括目的端口号;所述统计单元确定所述syn报文命中的统计表项后,具体还用于:确定所述syn报文命中的统计表项中的目的端口号是否记录有所述syn报文的目的端口号;如果没有记录,则将所述命中的统计表项中的第一数量加1,并在所述命中的统计表项中的目的端口号记录所述syn报文的目的端口号。可选的,所述统计单元,具体用于:根据接收到的与所述syn报文对应的syn_ack报文的源ip地址和目的ip地址,确定所述syn_ack报文命中的统计表项;其中,所述统计表项中包括源ip地址、目的ip地址和第二数量;将所述syn_ack报文命中的统计表项中的第二数量加1。可选的,所述统计表项中还包括hash值;所述统计单元,具体用于:将所述syn_ack报文的目的ip地址作为所述第一参数,将所述syn_ack报文的源ip地址作为所述第二参数,基于预设的hash算法计算出与所述syn_ack报文对应的hash值;查找是否存在统计表项中的hash值和与所述syn_ack报文对应的hash值相同;如果存在,则确定所述统计表项为所述syn_ack报文命中的统计表项。可选的,所述检测单元确定存在端口扫描攻击行为后,具体还用于:将所述syn报文的源ip地址加入黑名单。本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。通过以上实施例,一方面,安全防护设备如果检测到syn报文的第一数量与syn_ack报文的第二数量的差值到达预设阈值,可以确定存在端口扫描攻击行为,从而可以针对端口扫描攻击进一步地防护;另一方面,安全防护设备通过检测接收到的syn报文和对应的syn_ack报文的数量差值来确定是否存在端口扫描攻击行为,在超大流量的情况下,可以避免将正常的tcp连接建立过程误判为端口扫描攻击,从而提高端口扫描攻击检测的准确性。附图说明图1是一示例性的实施例示出的一种端口扫描攻击检测方法的流程图;图2是一示例性的实施例示出的一种端口扫描攻击检测装置的框图;图3是一示例性的实施例示出的一种端口扫描攻击检测装置所在电子设备的硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。为了使本
技术领域
的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的端口扫描攻击检测的相关技术,进行简要说明。端口扫描攻击是一种常见的网络攻击方式,攻击者针对目标服务器的端口逐个进行扫描,以发现目标服务器开放的端口,进而可以利用为这些端口分配的服务中的漏洞进行攻击。在实际应用中,端口扫描攻击可以包括tcpsyn扫描、tcpfin扫描、以及udpicmp扫描等多种方式。例如,攻击者通过扫描程序,检测到目标服务器开放的端口包括21、53、80、1433等等,已知iana(互联网号码分配局)为上述端口分配了特定的internet服务,则攻击者可以利用这些服务中的漏洞进行攻击;比如为53号端口分配的服务是域名解析,攻击者可以利用该服务的漏洞,进行木马攻击、防火墙绕过、dos攻击等网络攻击。其中,tcpsyn扫描,又被称作半开连接扫描,是一种常见的端口扫描攻击方式,其原理是:攻击者可以利用扫描程序向目标服务器发送syn数据包,该syn数据包中包含着若干与不同目的端口号对应的syn(tcp连接建立请求)报文;目标服务器收到一个syn报文后,如果该syn报文请求的tcp端口是开放的,则响应于该syn报文返回一个syn_ack报文,如果该syn报文请求的tcp端口未开放,则响应于该syn报文返回一个rst报文;攻击者根据目标服务器响应于不同的syn报文返回的syn_ack报文或rst报文,可以检测目标服务器开放的端口。由此可见,tcpsyn扫描的攻击方式,利用了通过三次握手建立tcp连接的过程,其与正常的tcp连接建立过程的区别为:上述syn报文的发送端接收到目标服务器返回的syn_ack报文后,如果是正常的tcp连接建立过程,上述发送端可以响应于上述syn_ack报文,向目标服务器发送ack报文,以完成发送端与目标服务器之间的三次握手并建立tcp连接;而如果是tcpsyn扫描,攻击者的目的仅仅是检测目标服务器有哪些开放的端口,并不会对返回的syn_ack报文做出响应。在一种现有技术方案中,安全防护设备可以针对来自同一源ip地址的syn报文,统计在一定的时间段内访问目标服务器的端口数量;如果在一定的时间段内访问目标服务器的端口数量大于阈值,则确定上述源ip地址存在端口扫描攻击行为。但是,在上述现有技术方案中,在超大流量的情况下,同一源ip地址可能针对目标服务器的多个端口请求建立tcp连接,导致安全防护设备将正常的tcp连接建立过程误判为端口扫描攻击,从而无法准确检测端口扫描攻击。有鉴于此,本说明书旨在提出一种基于检测接收到的syn报文和对应的syn_ack报文的数量差值,来确定是否存在端口扫描攻击行为的技术方案。在实现时,安全防护设备接收待检测的syn报文和与上述syn报文对应的syn_ack报文;统计接收到的syn报文的第一数量;以及,统计接收到的与上述syn报文对应的syn_ack报文的第二数量;检测上述第一数量与上述第二数量的差值是否到达预设阈值;如果是,则确定存在端口扫描攻击行为。在实际应用中,在正常的tcp连接建立过程中,发送端仅针对需要访问的目的端口发送对应的syn报文,而这些目的端口通常是开放的端口,因而上述发送端通常可以在很短的时间内接收到目标服务器返回的与上述syn报文对应的syn_ack报文;而tcpsyn扫描的过程中,发送端可以针对目标服务器的全部端口或者一段范围内的端口发送syn数据包,由于这些端口只有一部分是开放的端口,上述发送端可能会接收到目标服务器返回的与针对开放端口的syn报文对应的syn_ack报文、以及与针对关闭端口的syn报文对应的rst报文,因而上述发送端发送的syn报文数量与接收到的对应的syn_ack报文数量的差值,通常会超出正常的差值范围。由此可见,在本说明书中的技术方案中,安全防护设备如果检测到syn报文的第一数量与syn_ack报文的第二数量的差值到达预设阈值,可以确定存在端口扫描攻击行为,进而可以针对端口扫描攻击进行防护。相较于现有技术方案,在本说明书提供的端口扫描攻击检测方法中,安全防护设备通过检测接收到的syn报文和对应的syn_ack报文的数量差值来确定是否存在端口扫描攻击行为,在超大流量的情况下,可以避免将正常的tcp连接建立过程误判为端口扫描攻击,从而提高端口扫描攻击检测的准确性。下面通过具体实施例,并结合具体的应用场景对本申请进行描述。请参见图1,图1是一示例性的实施例示出的一种端口扫描攻击检测方法的流程图,上述方法应用于安全防护设备,并执行以下步骤:步骤101:接收待检测的syn报文和与上述syn报文对应的syn_ack报文;步骤102:统计接收到的syn报文的第一数量;以及,统计接收到的与上述syn报文对应的syn_ack报文的第二数量;步骤103:检测上述第一数量与上述第二数量的差值是否到达预设阈值;步骤104:如果是,则确定存在端口扫描攻击行为。在本说明书中,上述安全防护设备可以包括一台交换机或者具有交换功能的服务端,上述服务端可以是由一台或多台服务器形成的服务器集群。例如,上述安全防护设备,具体可以包括搭载有入侵防御系统的交换设备,也可以包括防火墙等。在本说明书中,上述安全防护设备可以检测并转发客户端与服务端之间交互的报文。例如,入侵防御设备可以对客户端与服务端之间交互的报文进行检测,如果检测到接收到的报文为攻击报文、或者接收到的报文的源ip地址命中黑名单,则丢弃该报文;而对于其他报文,上述入侵防御设备可以正常进行转发。在本说明书中,上述安全防护设备接收待检测的syn报文和与上述syn报文对应的syn_ack报文。其中,上述与syn报文对应的syn_ack报文,可以包括服务端响应于客户端向该服务端发送的syn报文而返回的syn_ack报文;因此,上述syn报文的源ip地址以及目的ip地址,可以分别和与上述syn报文对应的syn_ack报文的目的ip地址以及源ip地址相同。例如,上述安全防护设备在转发接收到的syn报文和与上述syn报文对应的syn_ack报文之前,可以先进行端口扫描攻击检测。若上述安全防护设备接收的待检测的syn报文的源ip地址为ip1、并且目的ip地址为ip2,则上述安全防护设备接收的源ip地址为ip2、并且目的ip地址为ip1的syn_ack报文,就是与上述syn报文对应的syn_ack报文。需要说明的是,上述安全防护设备可以根据接收到的tcp报文的头部信息中syn标志位和ack标志位的取值,判断出该tcp报文是否为syn报文或者syn_ack报文;其中,若接收到的tcp报文的头部信息中syn=1且ack=0,说明该tcp报文为syn报文;若接收到的tcp报文的头部信息中syn=1且ack=1,说明该tcp报文为syn_ack报文。关于tcp报文的头部信息中各个标志位的具体含义,请参见相关技术,在此不再赘述。在本说明书中,上述安全防护设备统计接收到的syn报文的第一数量;以及,上述安全防护设备统计接收到的与上述syn报文对应的syn_ack报文的第二数量。例如,上述安全防护设备接收到syn报文时,可以将第一数量加1;上述安全防护设备接收到与上述syn报文对应的syn_ack报文时,可以将第二数量加1。需要说明的是,上述第一数量是针对同一源ip地址和目的ip地址的syn报文进行统计的,以及,与上述第一数量对应的第二数量是针对于上述syn报文对应的syn_ack报文进行统计的。换言之,源ip地址或者目的ip地址不同的syn报文,分别有对应的不同的第一数量以及第二数量。在示出的一种实施方式中,上述安全防护设备统计接收到的syn报文的第一数量的过程,具体包括:上述安全防护设备根据接收到的syn报文的源ip地址和目的ip地址,确定上述syn报文命中的统计表项;上述安全防护设备将上述syn报文命中的统计表项中的第一数量加1。在实际应用中,上述统计表项中至少可以包括syn报文的源ip地址、syn报文的目的ip地址和第一数量;其中,上述统计表项中的第一数量可以用于表示该统计表项被命中的次数。上述安全防护设备可以在已保存的统计表项中,查找是否存在统计表项中的源ip地址和目的ip地址与上述接收到的syn报文的源ip地址和目的ip地址对应相等;如果存在,则可以确定该表项为上述接收到的syn报文命中的统计表项。例如,上述安全防护设备接收到的syn报文的源ip地址为ip1,目的ip地址为ip2,则上述安全防护设备可以确定该syn报文命中的统计表项,命中的统计表项请参见表1所示例。源ip地址目的ip地址第一数量ip1ip232表1如表1所示,上述命中的统计表项中的第一数量为32,上述安全防护设备可以将上述统计表项中的第一数量加1,即将上述统计表项中的第一数量更新为33。需要说明的是,如图1所示的统计表项中,还可以包括目的端口号、生成表项时间、最近更新时间等参数,用户可以根据实际需求灵活配置,并且由上述安全防护设备维护这些统计表项;本说明书中示出的统计表项仅是示例性的描述,并不对本说明书作限制。在示出的另一种实施方式中,上述安全防护设备确定上述syn报文命中的统计表项后,还包括:上述安全防护设备确定上述syn报文命中的统计表项中的目的端口号是否记录有上述syn报文的目的端口号;如果没有记录,则上述安全防护设备将上述命中的统计表项中的第一数量加1,并在上述命中的统计表项中的目的端口号记录上述syn报文的目的端口号。在实际应用中,上述统计表项中还可以包括目的端口号。当接收到的syn报文命中与其对应的统计表项时,如果该统计表项中的目的端口号没有记录上述syn报文的目的端口号,则可以将该统计表项中的第一数量加1,并在该统计表项中的目的端口号记录上述syn报文的目的端口号。例如,上述安全防护设备接收到的syn报文的源ip地址为ip1,目的ip地址为ip2,目的端口号为1433,则上述安全防护设备可以确定该syn报文命中的统计表项,命中的统计表项请参见表2所示例。源ip地址目的ip地址目的端口号第一数量ip1ip221,802表2如表2所示,上述命中的统计表项中的目的端口号记录有21和80,并未记录上述syn报文的目的端口号1433;则上述安全防护设备可以将如表2所示的统计表项中的第一数量更新为3,并将该统计表项的目的端口号更新为21、80和1433。又例如,上述安全防护设备接收到的syn报文的源ip地址为ip1,目的ip地址为ip2,目的端口号为80,则上述安全防护设备可以确定该syn报文命中的统计表项,命中的统计表项如表2所示;由于该统计表项中的目的端口号已经记录有80,上述安全防护设备可以不更新该统计表项。需要说明的是,在以上示出的实施方式中,如果接收到的syn报文命中的统计表项中的目的端口号已经记录有上述syn报文的目的端口号,则无需更新上述统计表项中的第一数量,可以避免将tcp重传机制导致syn报文数量与syn_ack报文数量产生的差值误判为tcpsyn扫描攻击产生的差值,从而提高端口扫描攻击检测的准确性。在示出的另一种实施方式中,上述安全防护设备统计接收到的syn报文的第一数量的过程,具体还包括:上述安全防护设备根据接收到的syn报文的源ip地址和目的ip地址,未命中统计表项时,生成与上述syn报文对应的统计表项;上述安全防护设备将上述生成的统计表项中的第一数量设置为1。在实际应用中,如果上述安全防护设备在已保存的统计表项中,未查找到存在统计表项中的源ip地址和目的ip地址与上述接收到的syn报文的源ip地址和目的ip地址对应相等,可以生成与上述syn报文对应的统计表项,并保存;其中,生成的统计表项中的源ip地址和目的ip地址为上述syn报文的源ip地址和目的ip地址,将生成的统计表项中的第一数量设置为1。例如,上述安全防护设备接收到的syn报文的源ip地址为ip3,目的ip地址为ip2,根据该syn报文的源ip地址和目的ip地址,未命中统计表项,则可以生成与上述syn报文对应的统计表项,生成的统计表项请参见表3所示例。源ip地址目的ip地址第一数量ip3ip21表3在示出的一种实施方式中,上述安全防护设备统计接收到的与上述syn报文对应的syn_ack报文的第二数量的过程,具体包括:上述安全防护设备根据接收到的与上述syn报文对应的syn_ack报文的源ip地址和目的ip地址,确定上述syn_ack报文命中的统计表项;上述安全防护设备将上述syn_ack报文命中的统计表项中的第二数量加1。在实际应用中,上述统计表项中至少可以包括syn_ack报文的源ip地址、syn_ack报文的目的ip地址和第二数量;其中,上述统计表项中的第二数量可以用于表示该统计表项被命中的次数。上述安全防护设备可以在已保存的统计表项中,查找是否存在统计表项中的源ip地址和目的ip地址与上述接收到的syn_ack报文的源ip地址和目的ip地址对应相等;如果存在,则可以确定该表项为上述接收到的syn_ack报文命中的统计表项。需要说明的是,由于上述syn_ack报文通常有与其对应的syn报文,在syn_ack报文命中统计表项之前,与其对应的syn报文已经有了可以命中的统计表项,因此,可以将维护的统计表项中的源ip地址和目的ip地址统一为syn报文或syn_ack报文的源ip地址和目的ip地址;在本说明书中,以统计表项中的源ip地址用于表示syn报文的源ip地址或syn_ack报文的目的ip地址、统计表项中的目的ip地址用于表示syn报文的目的ip地址或syn_ack报文的源ip地址为例,来描述各个实施例。例如,上述安全防护设备接收到的syn_ack报文的源ip地址为ip2,目的ip地址为ip1,则上述安全防护设备可以确定该syn_ack报文命中的统计表项,命中的统计表项请参见表4所示例。源ip地址目的ip地址第二数量ip1ip215表4如表4所示,上述命中的统计表项中的第二数量为15,上述安全防护设备可以将上述统计表项中的第二数量更新为16。应当理解的是,在本说明书中,syn报文命中的统计表项和syn_ack报文命中的统计表项,可以分开维护,也可以合并起来维护,本说明书不做限制。例如,当两种统计表项分开维护时,如表1和表4所示;当两种统计表项合并起来维护的时候,请参见表5所示例。源ip地址目的ip地址第一数量第二数量ip1ip23215表5在示出的另一种实施方式中,上述统计表项中还包括hash值;其中,上述hash值包括根据第一参数和第二参数基于预设的hash算法计算出的hash值。在实际应用中,根据不同的两个参数,基于预设的hash算法,可以计算出不同的hash值;将接收到的报文的源ip地址和目的ip地址作为参数,可以为每一对不同的源ip地址和目的ip地址计算出唯一对应的hash值。由此可见,hash值可以用作查找syn报文或者syn_ack报文命中的统计表项的索引。例如,上述安全防护设备可以根据接收到的报文的源ip地址和目的ip地址,基于linux内核自带的jhash_2words算法,计算出对应的hash值。应当理解的是,上述第一参数与第二参数是不能互换的,如果互换第一参数和第二参数的值,即使基于相同的hash算法,也会计算出完全不同的hash值。在示出的一种实施方式中,上述统计表项中还包括hash值时,上述根据接收到的syn报文的源ip地址和目的ip地址,确定上述syn报文命中的统计表项的过程,包括:将接收到的syn报文的源ip地址作为上述第一参数,将接收到的syn报文的目的ip地址作为上述第二参数,基于预设的hash算法计算出与上述syn报文对应的hash值;查找是否存在统计表项中的hash值和与上述syn报文对应的hash值相同;如果存在,则确定上述统计表项为上述syn报文命中的统计表项。在实际应用中,上述统计表项中还可以包括hash值;上述hash可以表示将该统计表项中的源ip地址作为第一参数,并将该统计表项中的目的地址作为第二参数,基于预设的hash算法计算出的唯一的值。源ip地址目的ip地址hash值第一数量第二数量ip1ip2hash13215表6例如,上述安全防护设备接收到的syn报文的源ip地址为ip1,目的ip地址为ip2,将ip1作为第一参数,并将ip2作为第二参数,基于jhash_2words算法计算得出对应的hash值为hash1;查找到如表6所示的统计表项中的hash值也为hash1,则可以确定该统计表项为上述接收到的syn报文命中的统计表项。在示出的一种实施方式中,上述统计表项中还包括hash值时,上述根据接收到的与上述syn报文对应的syn_ack报文的源ip地址和目的ip地址,确定上述syn_ack报文命中的统计表项,包括:将上述syn_ack报文的目的ip地址作为上述第一参数,将上述syn_ack报文的源ip地址作为上述第二参数,基于预设的hash算法计算出与上述syn_ack报文对应的hash值;查找是否存在统计表项中的hash值和与上述syn_ack报文对应的hash值相同;如果存在,则确定上述统计表项为上述syn_ack报文命中的统计表项。例如,上述安全防护设备接收到的syn_ack报文的源ip地址为ip2,目的ip地址为ip1,将syn_ack报文的目的ip地址ip1作为第一参数,并将syn_ack报文的源ip地址ip2作为第二参数,基于jhash_2words算法计算得出对应的hash值为hash1;查找到如表6所示的统计表项中的hash值也为hash1,则可以确定该统计表项为上述接收到的syn_ack报文命中的统计表项。在本说明书中,上述安全防护设备检测上述第一数量与上述第二数量的差值是否到达预设阈值。在实际应用中,导致syn报文数量和与其对应的syn_ack报文数量存在差值的情况主要有三种:在正常建立tcp连接的过程中产生了tcp重传、客户端在正常请求建立tcp连接前并不清楚目的端口已关闭、以及tcpsyn扫描攻击;但是,前两种正常建立tcp连接导致的差值远远小于tcpsyn扫描攻击过程中导致的差值,因此,上述安全防护设备可以检测第一数量与第二数量的差值是否到达预设阈值,来确定是否存在端口攻击扫描行为。例如,用户根据实际需求,设置每100ms第一数量与第二数量的差值到达18,则可以确定存在端口扫描攻击行为,那么上述预设阈值就是18。关于与预设阈值对应的时间间隔,可以和预设的老化时长相同,以上仅仅是示例性的描述,并不对本说明书作限制。在本说明书中,如果上述安全防护设备检测到上述第一数量与上述第二数量的差值到达预设阈值,则确定存在端口扫描攻击行为。例如,如果上述安全防护设备检测到在100ms内,第一数量与第二数量的差值到达了预设阈值18,则可以确定存在端口扫描攻击行为。在实际应用中,如果上述安全防护设备检测到上述第一数量与上述第二数量的差值未到达预设阈值,可以进一步地检测老化时长是否超时;如果超时,则安全防护设备可以将上述第一数量与第二数量重置为0,并重新开始计时;如果未超时,则安全防护设备可以基于上述第一数量与第二数量,继续对下一个接收到的syn报文或syn_ack报文进行端口扫描攻击检测。在示出的一种实施方式中,确定存在端口扫描攻击行为后,还包括:上述安全防护设备将上述syn报文的源ip地址加入黑名单。在实际应用中,上述安全防护设备将上述syn报文的源ip地址加入黑名单后,还可以向上述syn报文的源ip地址发送rst报文,以使其停止发送syn报文;上述安全防护设备还可以执行告警或阻断动作,并生成相应的日志。用户还可以根据需求,灵活配置加入黑名单的阻断时长,上述阻断时长可以包括一定的时间段或者永久。例如,安全防护设备接收到了源ip地址为ip1、目的ip地址为ip2的syn报文后,经检测确定存在端口扫描攻击行为,可以丢弃该syn报文,并将该syn报文的源ip地址为ip1加入黑名单,设置为永久阻断;则后续当上述安全防护设备接收到了源ip地址为ip1的syn报文时,可以直接丢弃接收到的源ip地址为ip1的syn报文。又例如,安全防护设备接收到了源ip地址为ip3、目的ip地址为ip2的syn报文后,经检测确定存在端口扫描攻击行为,可以将该syn报文的源ip地址ip3加入黑名单,并设置对应的阻断时长为t(t可以包括任意时间段);若该syn报文命中的统计表项中的最近更新时间为t1,则后续上述安全防护设备接收到了源ip地址为ip3、目的ip地址为ip2的syn报文时,可以先判断当前时间是否小于t1+t;如果当前时间小于t1+t,说明仍需阻断来自ip3的syn报文,则可以丢弃该syn报文并返回阻断标记;如果当前时间不小于t1+t,说明不需要继续来自ip3的syn报文,则可以将ip3从黑名单中移除,并将该syn报文命中的统计表项中的第一数量和第二数量重置为0。在本说明书的技术方案中,一方面,安全防护设备如果检测到syn报文的第一数量与syn_ack报文的第二数量的差值到达预设阈值,可以确定存在端口扫描攻击行为,从而可以针对端口扫描攻击进一步地防护;另一方面,安全防护设备通过检测接收到的syn报文和对应的syn_ack报文的数量差值来确定是否存在端口扫描攻击行为,在超大流量的情况下,可以避免将正常的tcp连接建立过程误判为端口扫描攻击,从而提高端口扫描攻击检测的准确性。需要说明的是,在以上示出的实施方式中,若上述安全防护设备接收到的syn报文的源ip地址命中黑名单,可以直接丢弃该报文,无需进一步地进行端口扫描攻击检测,从而提高安全防护设备的性能。另外,需要说明的是,在本说明书中,上述预设阈值、老化时长、以及阻断时长,都可以根据需求灵活配置,从而提高安全防护设备的性能,可以避免配置了不合理的预设阈值、老化时长或阻断时长,而导致安全防护设备的资源浪费。与上述方法实施例对应地,本说明书还提供了一种端口扫描攻击检测装置的实施例。请参见图2,图2是一示例性的实施例示出的一种端口扫描攻击检测装置的框图,上述装置应用于安全防护设备,上述装置可以包括如下所示单元:接收单元201,用于接收待检测的syn报文和与上述syn报文对应的syn_ack报文;统计单元202,用于统计接收到的syn报文的第一数量;以及,统计接收到的与上述syn报文对应的syn_ack报文的第二数量;检测单元203,用于检测上述第一数量与上述第二数量的差值是否到达预设阈值;如果是,则确定存在端口扫描攻击行为。在本实施例中,上述统计单元202,具体用于:根据接收到的syn报文的源ip地址和目的ip地址,确定上述syn报文命中的统计表项;其中,上述统计表项中包括源ip地址、目的ip地址和第一数量;将上述syn报文命中的统计表项中的第一数量加1。在本实施例中,上述统计单元202,具体还用于:根据接收到的syn报文的源ip地址和目的ip地址,未命中统计表项时,生成与上述syn报文对应的统计表项;将上述生成的统计表项中的第一数量设置为1。在本实施例中,上述统计表项中还包括hash值;其中,上述hash值包括根据第一参数和第二参数基于预设的hash算法计算出的hash值;上述统计单元202,具体用于:将接收到的syn报文的源ip地址作为上述第一参数,将接收到的syn报文的目的ip地址作为上述第二参数,基于预设的hash算法计算出与上述syn报文对应的hash值;查找是否存在统计表项中的hash值和与上述syn报文对应的hash值相同;如果存在,则确定上述统计表项为上述syn报文命中的统计表项。在本实施例中,上述统计表项中还包括目的端口号;上述统计单元202确定上述syn报文命中的统计表项后,具体还用于:确定上述syn报文命中的统计表项中的目的端口号是否记录有上述syn报文的目的端口号;如果没有记录,则将上述命中的统计表项中的第一数量加1,并在上述命中的统计表项中的目的端口号记录上述syn报文的目的端口号。在本实施例中,上述统计单元202,具体用于:根据接收到的与上述syn报文对应的syn_ack报文的源ip地址和目的ip地址,确定上述syn_ack报文命中的统计表项;其中,上述统计表项中包括源ip地址、目的ip地址和第二数量;将上述syn_ack报文命中的统计表项中的第二数量加1。在本实施例中,上述统计表项中还包括hash值;上述统计单元202,具体用于:将上述syn_ack报文的目的ip地址作为上述第一参数,将上述syn_ack报文的源ip地址作为上述第二参数,基于预设的hash算法计算出与上述syn_ack报文对应的hash值;查找是否存在统计表项中的hash值和与上述syn_ack报文对应的hash值相同;如果存在,则确定上述统计表项为上述syn_ack报文命中的统计表项。在本实施例中,上述检测单元203确定存在端口扫描攻击行为后,具体还用于:将上述syn报文的源ip地址加入黑名单。此外,本说明书还提供了一种端口扫描攻击检测装置所在的电子设备的实施例。与上述方法实施例对应地,本说明书还提供了一种端口扫描攻击检测装置的实施例。本说明书的端口扫描攻击检测装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,请参见图3,图3是一示例性的实施例示出的一种端口扫描攻击检测装置所在电子设备的硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1