网络安全防护方法及装置与流程

文档序号:13145251阅读:136来源:国知局
技术领域本发明涉及网络安全技术领域,尤其涉及一种网络安全防护方法及装置。

背景技术:
随着互联网技术的发展,网络安全逐渐成为人们越来越关注的问题。在客户端与服务器之间建立TCP(TransmissionControlProtocol传输控制协议)连接时,客户端首先向服务器发送Syn(synchronous,同步)报文,服务器在接收到Syn报文后向客户端返回Syn/Ack(Acknowledgement,确认)报文,此后客户端向服务器发送Ack报文,由此客户端与服务器完成三次握手,从而建立TCP连接。对TCP连接进行攻击的最常见的一种手段为SynFlood攻击。在SynFlood攻击中攻击者通常向服务器发送大量的伪造的Syn报文。由于服务器对Syn报文的处理能力有限,当服务器接收到的Syn报文超过其处理能力时,多余的Syn报文就会被存放至等待队列中,此时服务器将无法响应合法客户端发送的Syn报文,从而导致合法客户端与服务器不能建立TCP连接。为此,目前通常采用设置在客户端与服务器之间的中间设备来限制该SynFlood攻击,从而实现网络安全防护。中间设备在实现网络安全防护时,可以在接收客户端发送的Syn报文后,向客户端返回携带有cookie的Syn/Ack报文,客户端在接收到携带有cookie的Syn/Ack报文后向中间设备发送携带有cookie的报文。中间设备根据客户端发送的携带有cookie的报文,可以判断该客户端是否合法,当该客户端合法时,该客户端才可以通过该中间设备与服务器建立TCP连接。然而,现有技术中,中间设备在接收到Syn报文后,无论该Syn报文是合法客户端发送的报文,还是攻击者发送的伪造的报文,都会向客户端返回携带有cookie的Syn/Ack报文。由于当采用中间设备来限制该SynFlood攻击时,客户端与服务器之间建立TCP连接花费的时长增加,因而影响合法客户端与服务器之间TCP连接的建立。另外,中间设备针对每个Syn报文都返回携带有cookie的Syn/Ack报文,当返回的携带有cookie的Syn/Ack报文数量较大时,受到网络带宽的限制,可能出现网络堵塞的情况。

技术实现要素:
本发明提供一种网络安全防护方法及装置,以解决在对SynFlood攻击进行网络安全防护时出现的影响合法客户端与服务器之间TCP连接的建立,以及网络堵塞的问题。根据本发明实施例的第一方面,提供一种网络安全防护方法,所述方法应用在中间设备上,所述方法包括:获取Syn报文;按照所述Syn报文中包括的信息,对所述Syn报文进行分类统计;判断统计出的该类Syn报文的个数是否超过预设的对应阈值;若是,则对该类Syn报文进行网络安全防护。根据本发明实施例的第二方面,提供一种网络安全防护装置,所述装置应用在中间设备上,所述装置包括:获取单元,用于获取Syn报文;统计单元,用于按照所述Syn报文中包括的信息,对所述Syn报文进行分类统计;判断单元,用于判断统计出的该类Syn报文的个数是否超过预设的对应阈值;防护单元,用于当统计出的该类Syn报文的个数超过预设的对应阈值时,对所述Syn报文进行网络安全防护。本发明的有益效果是:本发明实施例中,中间设备在对接收到Syn报文进行网络安全防护之前,首先根据Syn报文中包括的信息,对该Syn报文进行分类统计,并在统计出的该类Syn报文的个数超过预设的对应阈值后,才对该类Syn报文进行网络安全防护。在本实施例中,中间设备不是针对接收到的所有Syn报文进行网络安全防护,而是在确定接收到的该Syn报文可能为伪造的Syn报文时,才对该Syn报文进行网络安全防护,由此可以避免影响合法客户端与服务器之间TCP连接的建立,并且可以解决在进行网络安全防护时可能出现的网络堵塞的问题。附图说明图1是应用本发明实施例实现网络安全防护的应用场景示意图;图2是本发明网络安全防护方法的一个实施例流程图;图3是本发明网络安全防护方法的另一个实施例流程图;图4是本发明网络安全防护装置所在设备的一种硬件结构图;图5是本发明网络安全防护装置的一个实施例框图。具体实施方式为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。参见图1,为应用本发明实施例实现网络安全防护的应用场景示意图。图1中,服务器作为数据报文发送方,客户端设备作为数据报文接收方,该客户端可以具体为手机、PC(PersonalComputer,个人计算机)等,中间设备可以具体为交换机、路由器等。其中,客户端可以通过中间设备与服务器建立TCP连接。本发明实施例中,中间设备在对接收到Syn报文进行网络安全防护之前,首先根据Syn报文中包括的信息,对Syn报文进行分类统计,并在统计出的该类Syn报文的个数超过预设的对应阈值后,才对该类Syn报文进行网络安全防护。在本实施例中,中间设备不是针对接收到的所有Syn报文进行网络安全防护,而是在确定接收到的该Syn报文可能为伪造的Syn报文时,才对该Syn报文进行网络安全防护,由此可以避免影响合法客户端与服务器之间TCP连接的建立,并且可以解决在进行网络安全防护时可能出现的网络堵塞的问题。参见图2,为本发明网络安全防护方法的一个实施例流程图,该实施例从中间设备侧进行描述,包括以下步骤:步骤201、获取Syn报文。本实施例中,中间设备在接收到报文后,可以首先根据Syn报文的通用格式,判断该报文是否为Syn报文,若是,则从该Syn报文中提取IP(InternetProtocol,网络协议)信息和/或端口信息,否则,执行步骤205。步骤202、按照Syn报文中包括的信息,对Syn报文进行分类统计。本实施例中,中间设备可以按照从Syn报文中提取的IP信息和/或端口信息,对该Syn报文进行分类统计。具体地,中间设备可以按照Syn报文中的源IP信息、源端口信息、源IP信息和目的IP信息的组合、以及源IP信息和源端口信息的组合中的至少一个选项,对Syn报文进行分类统计。由于攻击者为了达到更好的攻击效果,在伪造Syn报文时通常会变换Syn报文中的IP信息和/或端口信息,因此本实施例通过按照从Syn报文中提取的IP信息和/或端口信息,对该Syn报文进行分类统计,并且在统计出的该类Syn报文的个数大于其对应的阈值时,对该类Syn报文进行网络安全防护,可以提高对伪造的Syn报文的识别准确度。另外,根据研究发现,当中间设备同时按照Syn报文中的源IP信息、源端口信息、源IP信息和目的IP信息的组合、以及源IP信息和源端口信息的组合四个选项,对Syn报文进行分类统计,并且在统计出的该类Syn报文的个数超过其对应的阈值时,对该类Syn报文进行网络安全防护,可以进一步提高伪造的Syn报文的识别准确度。步骤203、判断统计出的该类Syn报文的个数是否超过预设的对应阈值,若是,则执行步骤204,否则,执行步骤205。本实施例中,由于合法客户端向服务器发送的Syn报文的数量通常存在一个最大峰值,因此中间设备可以首先根据在未受到SynFlood攻击时,合法客户端向服务器发送的Syn报文的历史数据,按照从Syn报文中提取的IP信息和/或端口信息,统计出合法客户端向服务器发送的Syn报文的最大峰值。例如,当中间设备按照从Syn报文中提取的源IP信息,统计最大峰值时,中间设备可以从历史数据中查找出合法客户端向服务器发送的包括该源IP信息的Syn报文的最大峰值,以此作为第一阈值;当中间设备按照从Syn报文中提取的源端口信息,统计最大峰值时,中间设备可以从历史数据中查找出合法客户端向服务器发送的包括该源端口信息的Syn报文的最大峰值,以此作为第二阈值;当中间设备按照从Syn报文中提取的源IP信息和目的IP信息的组合,统计最大峰值时,中间设备可以从历史数据中查找出合法客户端向服务器发送的同时包括该源IP信息和该目的IP信息的Syn报文的最大峰值,以此作为第三阈值;当中间设备按照从Syn报文中提取的源IP信息和源端口信息的组合,统计最大峰值时,中间设备可以从历史数据中查找出合法客户端向服务器发送的同时包括该源IP信息和该源端口信息的Syn报文的最大峰值,以此作为第四阈值。另外,考虑到客户端向服务器发送的Syn报文的个数可以存在合理的波动,中间设备可以通过将统计出的该最大峰值乘以大于1的权值,来获得预设的对应阈值。在获得预设的对应阈值后,中间设备可以判断统计出的该类Syn报文的个数是否超过该预设的对应阈值。具体地,中间设备在判断统计出的该类Syn报文的个数是否超过该预设的对应阈值时,根据中间设备在对Syn报文进行分类统计时采用的Syn报文中的信息,可以执行以下至少一个步骤:判断按照Syn报文中的源IP信息统计出的该类Syn报文的个数是否超过预设的第一阈值;判断按照Syn报文中的源端口信息统计的该类Syn报文的个数是否超过预设的第二阈值;判断按照Syn报文中的源IP信息和目的IP信息的组合统计出的该类Syn报文的个数是否超过预设的第三阈值;以及判断按照Syn报文中的源IP信息和源端口信息的组合统计出的该类Syn报文的个数是否超过预设的第四阈值。步骤204、对该类Syn报文进行网络安全防护。本实施例中,当统计出的该类Syn报文的个数超过预设的对应阈值时,中间设备可以确定该Syn报文可能为伪造的Syn报文,并对该类Syn报文进行网络安全防护。当统计出的该类Syn报文的个数未超过预设的对应阈值时,中间设备可以将该Syn报文直接转发给服务器。另外,当中间设备在下一次接收到源IP信息和/或源端口信息与该可能伪造的Syn报文中的源IP信息和/或源端口信息相匹配的Syn报文时,可以直接对该Syn报文进行网络安全防护,由此中间设备可以不必对接收到的每个Syn报文进行分类统计和网络安全防护判断,从而可以提高网络安全防护的效率。具体地,当中间设备确定Syn报文可能为伪造的Syn报文后,可以将该可能伪造的Syn报文以及与其对应的源IP信息、源端口信息和目的IP信息进行存储。当中间设备下一次接收到Syn报文时,可以首先从该Syn报文中提取源IP信息、源端口信息和目的IP信息,并判断该Syn报文中的源IP信息是否与可能伪造的Syn报文中的源IP信息相同,该Syn报文中的源端口信息是否与可能伪造的Syn报文中的源端口信息相同,该Syn报文中的目的IP信息是否与可能伪造的Syn报文中的目的IP信息相同,只要其中一个相同,中间设备就可以确定该Syn报文可能为伪造的Syn报文,从而对该Syn报文进行网络安全防护。在本实施例中,中间设备通过在接收到的Syn报文与可能伪造的Syn报文的源IP信息、源端口信息和目的IP地址至少一项相同时,就确定接收到的Syn报文可能为伪造的Syn报文,可以在提高网络安全防护效率的基础上,保证对所有可能为伪造的Syn报文进行网络安全防护。步骤205、将该报文转发给服务器。由上述实施例可见,中间设备在对接收到Syn报文进行网络安全防护之前,首先根据Syn报文中包括的信息,对该Syn报文进行分类统计,并在统计出的该类Syn报文的个数超过预设的对应阈值后,才对该类Syn报文进行网络安全防护。在本实施例中,中间设备不是针对接收到的所有Syn报文进行网络安全防护,而是在确定接收到的Syn报文可能为伪造的Syn报文时,才对该Syn报文进行网络安全防护,由此可以避免影响合法客户端与服务器之间TCP连接的建立,并且可以解决在进行网络安全防护时可能出现的网络堵塞的问题。参见图3,为本发明网络安全防护方法的另一个实施例流程图,该实施例中,中间设备按照Syn报文中的源IP信息、源端口信息、源IP信息和目的IP信息的组合、以及源IP信息和源端口信息的组合四个选项,对Syn报文进行分类统计,并且统计出的该类Syn报文的个数超过其对应的阈值时,对该Syn报文进行网络安全防护。该方法可以包括以下步骤:步骤301、判断接收到的报文是否为Syn报文,若是,则执行步骤302,否则,执行324。步骤302、从Syn报文中提取源IP信息、源端口信息和目的IP信息。步骤303、根据从Syn报文中提取的源IP信息,计算出与该源IP信息对应的第一关键Key值。本实施例中,中间设备可以采用现有方式(诸如Hash算法)根据从Syn报文中提取的信息,计算出与该信息对应的Key值,在此不再赘述。另外,中间设备可以预先建立索引表项,该索引表项中包括Key值以及与每个Key值对应的计数值。步骤304、判断在索引表项中是否存在与该源IP信息对应的第一Key值,若存在,则执行步骤306,否则,执行步骤305。步骤305、向该索引表项中添加与该源IP信息对应的第一Key值。步骤306、将在索引表项中与该第一Key值对应的计数值加1。步骤307、判断与该第一Key值对应的计数值是否超过预设的第一阈值,若是,则执行步骤323,否则,执行步骤308。步骤308、根据从Syn报文中提取的源端口信息,计算出与该源端口信息对应的第二Key值。步骤309、判断在索引表项中是否存在与该源端口信息对应的第二Key值,若存在,则执行步骤311,否则,执行步骤310。步骤310、向该索引表项中添加与该源端口信息对应的第二Key值。步骤311、将在索引表项中与该第二Key值对应的计数值加1。步骤312、判断与该第二Key值对应的计数值是否超过预设的第二阈值,若是,则执行步骤323,否则,执行步骤313。步骤313、根据从Syn报文中提取的源IP信息和目的IP信息的组合,计算出与该源IP信息和目的IP信息的组合对应的第三Key值。步骤314、判断在索引表项中是否存在与该源IP信息和目的IP信息的组合对应的第三Key值,若存在,则执行步骤316,否则,执行步骤315。步骤315、向该索引表项中添加与该源IP信息和目的IP信息的组合对应的第三Key值。步骤316、将在索引表项中与该第三Key值对应的计数值加1。步骤317、判断与该第三Key值对应的计数值是否超过预设的第三阈值,若是,则执行步骤323,否则,执行步骤318。步骤318、根据从Syn报文中提取的源IP信息和源端口信息的组合,计算出与该源IP信息和源端口信息的组合对应的第四Key值。步骤319、判断在索引表项中是否存在与该源IP信息和源端口信息的组合对应的第四Key值,若存在,则执行步骤321,否则,执行步骤320。步骤320、向该索引表项中添加与该源IP信息和源端口信息的组合对应的第四Key值。步骤321、将在索引表项中与该第四Key值对应的计数值加1。步骤322、判断与该第四Key值对应的计数值是否超过预设的第四阈值,若是,则执行步骤323,否则,执行步骤324。步骤323、确定该Syn报文为伪造的报文,对该Syn报文进行网络安全防护。步骤324、将该报文转发给服务器。如果在索引表项中存储Syn报文中包括的信息以及与各个信息对应的计数值,则中间设备在接收到Syn报文后,需要将该Syn报文中包括的信息分别与索引表项中存储的各个信息进行匹配,由于索引表项中存储的信息量较大,因此中间设备在按照Syn报文中包括的信息,统计Syn报文的个数时可能需要花费较长的时间(在按照Syn报文中包括的多个信息,统计Syn报文的个数时这种情况尤为明显)。在本实施例中,中间设备通过根据从Syn报文中提取的信息,计算出与该信息对应的Key值,可以避免将接收到的Syn报文与索引表项中的各个信息进行匹配,从而可以提高网络安全防护的效率。另外,当中间设备确定Syn报文可能为伪造的Syn报文后,可以将该伪造的Syn报文以及与其对应的第一Key值、第二Key值、第三Key值和第四Key值进行存储。当中间设备下一次接收到Syn报文时,可以首先从该Syn报文中提取源IP信息、源端口信息和目的IP信息,并根据从Syn报文中提取的源IP信息、源端口信息和目的IP信息,分别计算出与该Syn报文对应的第一Key值、第二Key值、第三Key值和第四Key值,然后分别判断与该Syn报文对应的第一Key值是否与可能伪造的Syn报文中的第一Key值相同,与该Syn报文对应的第二Key值是否与可能伪造的Syn报文中的第二Key值相同,与该Syn报文对应的第三Key值与可能伪造的Syn报文中的第三Key值相同,与该Syn报文对应的第四Key值与可能伪造的Syn报文中的第四Key值相同,只要其中一个相同,中间设备就可以确定该Syn报文可能为伪造的Syn报文,从而对该Syn报文进行网络安全防护。由上述实施例可见,中间设备在对接收到Syn报文进行网络安全防护之前,首先根据Syn报文中包括的信息,对该Syn报文进行分类统计,并在统计出的该类Syn报文的个数超过预设的对应阈值后,才对该类Syn报文进行网络安全防护。在本实施例中,中间设备不是针对接收到的所有Syn报文进行网络安全防护,而是在确定接收到的Syn报文可能为伪造的Syn报文时,才对该Syn报文进行网络安全防护,由此可以避免影响合法客户端与服务器之间TCP连接的建立,并且可以解决在进行网络安全防护时可能出现的网络堵塞的问题。与前述网络安全防护方法实施例相对应,本发明还提供了网络安全防护装置的实施例。本发明网络安全防护装置的实施例可以分别应用在中间设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明网络安全防护装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。参见图5,为本发明网络安全防护装置的一个实施例框图,所述装置应用在中间设备上,可以包括:获取单元510,用于获取Syn报文;统计单元520,用于按照所述Syn报文中包括的信息,对所述Syn报文进行分类统计;判断单元530,用于判断统计出的该类Syn报文的个数是否超过预设的对应阈值;防护单元540,用于当统计出的该类Syn报文的个数超过预设的对应阈值时,对该类Syn报文进行网络安全防护。在一个可选的实现方式中,所述装置还可以包括:提取单元550,用于在按照所述Syn报文中包括的信息,对所述Syn报文进行个数统计之前,从所述Syn报文中提取IP信息和/或端口信息。在另一个可选的实现方式中:所述统计单元520,具体用于按照从所述Syn报文中提取的IP信息和端口信息,对所述Syn报文进行个数统计。在另一个可选的实现方式中:所述统计单元520,具体用于按照所述Syn报文中的源IP信息、源端口信息、源IP信息和目的IP信息的组合、以及源IP信息和源端口信息的组合中的至少一个选项,对所述Syn报文进行个数统计。在另一个可选的实现方式中:所述判断单元530,具体用于执行以下至少一个步骤:判断按照所述Syn报文中的源IP信息统计出的该类Syn报文的个数是否超过预设的第一阈值;判断按照所述Syn报文中的源端口信息统计出的该类Syn报文的个数是否超过预设的第二阈值;判断按照所述Syn报文中的源IP信息和目的IP信息的组合统计出的该类Syn报文的个数是否超过预设的第三阈值;判断按照所述Syn报文中的源IP信息和源端口信息的组合统计出的该类Syn报文的个数是否超过预设的第四阈值。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。由上述实施例可见,中间设备在对接收到Syn报文进行网络安全防护之前,首先根据Syn报文中包括的信息,对该Syn报文进行分类统计,并在统计出的该类Syn报文的个数超过预设的对应阈值后,才对该类Syn报文进行网络安全防护。在本实施例中,中间设备不是针对接收到的所有Syn报文进行网络安全防护,而是在确定接收到的Syn报文可能为伪造的Syn报文时,才对该Syn报文进行网络安全防护,由此可以避免影响合法客户端与服务器之间TCP连接的建立,并且可以解决在进行网络安全防护时可能出现的网络堵塞的问题。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1