掌桥专利:专业的专利平台
掌桥专利
首页

阻止IP欺骗的防攻击方法、系统、模块

文献发布时间:2023-06-19 19:16:40


阻止IP欺骗的防攻击方法、系统、模块

技术领域

本发明涉及攻击防护技术领域,尤其涉及一种阻止IP欺骗的防攻击方法、系统、模块。

背景技术

黑名单机制是广泛使用在分布式存储服务器节点的服务程序中,用于保护自身服务进程免受DDOS攻击的影响的常用机制,其常用方式是将攻击者IP加入到黑名单列表中,拒绝来自黑名单列表中的地址的服务请求。这种方式的缺陷在于攻击者可以伪装自身的IP地址,甚至伪装成分布式存储服务器中的存储服务节点的IP。这样的话,就无法有效识别出攻击,导致存储服务器节点之间的服务中断。

发明内容

本发明实施例提供一种阻止IP欺骗的防攻击方法、系统、模块,用以解决现有技术中攻击者伪装成存储服务节点的IP实施攻击的问题。

根据本发明实施例的阻止IP欺骗的防攻击方法,包括:

获取被保护设备接收的TCPACK报文和合法DUP报文,并将该类报文的源IP地址及对应的TTL值记录在第一列表中;

获取所述被保护设备接收的非法TCP请求报文和非法DUP报文,并将该类报文的源IP地址记录在第二列表中;所述非法TCP请求报文为第一次TCP请求报文后连续接收到的TCP请求报文;

截获来自所述第二列表中记录的源IP地址的信息,并提取所述信息中携带的TTL值;

判断所述信息中携带的TTL值与所述第一列表中记录的该源IP地址对应的TTL值是否一致,并在判断结果为不一致的情况下,控制防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文。

根据本发明的一些实施例,所述控制防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文,包括:

在防火墙程序中增加丢弃规则,以使防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文。

根据本发明的一些实施例,所述方法还包括:

在防火墙程序中增加丢弃规则之后,将所述丢弃原则对应的源IP地址从所述第二列表中删除。

根据本发明的一些实施例,所述方法还包括:

判断所述第一列表中记录的TTL值的记录时长是否大于预设时长,并在判断结果为是的情况下,更新所述第一列表中的TTL值。

根据本发明实施例的阻止IP欺骗的防攻击系统,包括:

第一监控单元,用于获取被保护设备接收的TCPACK报文和合法DUP报文,并将该类报文的源IP地址及对应的TTL值记录在第一列表中;

第二监控单元,用于获取所述被保护设备接收的非法TCP请求报文和非法DUP报文,并将该类报文的源IP地址记录在第二列表中;所述非法TCP请求报文为第一次TCP请求报文后连续接收到的TCP请求报文;

第三监控单元,与所述第二监控单元通信连接,所述第三监控单元用于截获来自所述第二列表中记录的源IP地址的信息,并提取所述信息中携带的TTL值;

处理单元,与所述第一监控单元以及所述第三监控单元通信连接,所述处理单元用于判断所述信息中携带的TTL值与所述第一列表中记录的该源IP地址对应的TTL值是否一致,并在判断结果为不一致的情况下,控制防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文。

根据本发明的一些实施例,所述处理单元用于:

在防火墙程序中增加丢弃规则,以使防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文。

根据本发明的一些实施例,所述处理单元还用于:

在防火墙程序中增加丢弃规则之后,将所述丢弃原则对应的源IP地址从所述第二列表中删除。

根据本发明的一些实施例,所述第一监控单元,还用于:

判断所述第一列表中记录的TTL值的记录时长是否大于预设时长,并在判断结果为是的情况下,更新所述第一列表中的TTL值。

根据本发明实施例的阻止IP欺骗的防攻击模块,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的阻止IP欺骗的防攻击方法的步骤。

根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上所述的阻止IP欺骗的防攻击方法的步骤。

采用本发明实施例,通过结合报文的TTL特征,来进行防火墙规则的学习,从而达到更智能的黑名单机制,来避免传统的黑名单机制中对于源端IP伪装的缺陷,可以保护机器免受带有IP欺骗的攻击,而且可以提高服务程序的效率,TCP握手中的SYN_ACK等待的套接字会显著减少。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在附图中:

图1是本发明实施例中阻止IP欺骗的防攻击方法流程图;

图2是本发明实施例中阻止IP欺骗的防攻击系统架构图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。另外,在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

本发明实施例提出一种阻止IP欺骗的防攻击方法,该方法可以应用于被保护设备中,例如应用在分布式存储服务器节点中。

本发明实施例的阻止IP欺骗的防攻击方法,包括:

获取被保护设备接收的TCPACK报文和合法DUP报文,并将该类报文(即TCPACK报文和合法DUP报文)的源IP地址及对应的TTL值记录在第一列表中。

可以理解,当被保护设备接收到TCPACK报文或合法DUP报文时,就提取TCPACK报文或合法DUP报文中的源IP地址和TTL值,作为一条记录存储在第一列表中。

对于TCP协议来说,三次握手完成,被攻击机器只能收到SYN报文,而不能收到TCPACK报文。因此,如果收到TCPACK报文则说明发送方为合法发送方,而非攻击者伪装的。

对于UDP协议来说,UDP的载荷是攻击者难于模拟。可以依靠约定的特征(如报文长度,或则某个octect的值),确定其合法性。

获取所述被保护设备接收的非法TCP请求报文和非法DUP报文,并将该类报文的源IP地址记录在第二列表中;所述非法TCP请求报文为第一次TCP请求报文后连续接收到的TCP请求报文。

可以理解,如果发送方是合法的,那么发送过一次TCP请求报文,就会发送TCPACK报文;而发送方如果是非法的,它无法发送TCPACK报文,会不断发送TCP请求报文。因此,不断发送TCP请求报文,以及发送非法DUP报文就是可疑攻击者,它们的源IP地址可能是伪装的。因此,把它们的源IP地址记录在第二列表中以进一步对其判定。

截获来自所述第二列表中记录的源IP地址的信息,并提取所述信息中携带的TTL值;

可以理解,针对第二列表中记录的、存在伪装可能的源IP地址发送来的信息都进行判定,以删选中伪装该源IP地址的攻击者。

判断所述信息中携带的TTL值与所述第一列表中记录的该源IP地址对应的TTL值是否一致,并在判断结果为不一致的情况下,控制防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文。

TTL(time to live)是IP头的一个字段。准确的说,在20字节的IPv4的头中是第9个字节,40字节的IPv6头中的第二十个字节。发送者在IP协议层会设置TTL的初始值,在报文发往目的端的路由过程中,每经过一个路由节点的时会减少固定值。虽然攻击的机器是可以模仿源端IP的,但是却无法修改到目的机器路由路径。一般路由路径在几天到几周的时间里都不会改变。目的机器收到的IP报文中,攻击机器和正常机器的TTL值是会不同的。

因此,可以通过TTL值来判定发送方的源IP地址是否是伪装的。

采用本发明实施例,通过结合报文的TTL特征,来进行防火墙规则的学习,从而达到更智能的黑名单机制,来避免传统的黑名单机制中对于源端IP伪装的缺陷,可以保护机器免受带有IP欺骗的攻击,而且可以提高服务程序的效率,TCP握手中的SYN_ACK等待的套接字会显著减少。

在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。

根据本发明的一些实施例,所述控制防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文,包括:

在防火墙程序中增加丢弃规则,以使防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文。

由此,通过在防火墙程序中增加丢弃规则,可以使得防火墙自动完成对攻击者的防护。

根据本发明的一些实施例,所述方法还包括:

在防火墙程序中增加丢弃规则之后,将所述丢弃原则对应的源IP地址从所述第二列表中删除。

在根据本发明的一些实施例,所述方法还包括:

判断所述第一列表中记录的TTL值的记录时长是否大于预设时长,并在判断结果为是的情况下,更新所述第一列表中的TTL值。

由此,可以适应路由路径变更的实际情况。

下面参照图1-图2以一个具体的实施例详细描述根据本发明实施例的阻止IP欺骗的防攻击方法。值得理解的是,下述描述仅是示例性说明,而不是对本发明的具体限制。凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。

TTL(time to live)是IP头的一个字段。准确的说,在20字节的IPv4的头中是第9个字节,40字节的IPv6头中的第二十个字节。发送者在IP协议层会设置TTL的初始值,在报文发往目的端的路由过程中,每进过一个路由节点的时会减少该值。虽然攻击的机器是可以模仿源端IP的,但是却无法修改到目的机器路由路径。一般路由路径在几天到几周的时间里都不会改变。因为这,目的机器收到的IP报文中,攻击机器和正常机器的TTL值是会不同的。

因为源端IP是是攻击机器假扮的,所以对于TCP协议来说,三次握手完成,被攻击机器只能收到SYN报文,而不能收到ACK报文;对于UDP协议来说,UDP的载荷是攻击者难于模拟,对被攻击机器是不合法的。

基于此,本发明实施例提出一种阻止IP欺骗的防攻击方法,参照图1所示,通过在被保护设备上引入一个监控程序来抓取TCPACK报文,并将其源IP和TTL纪录到第一列表(称作TTLAC)中;对DUP报文,监控程序可以抓取报文,依靠约定的特征(如报文长度,或则某个octect的值)对其合法性进行判定,如果是合法的,也记录其源IP和TTL到TTLAC表中。当这台被保护设备有多次没有收到TCPACK报文或者收到大量不合法的UDP报文时,把这些非TCPACK报文和非法UDP报文中的IP写到第二列表(称作TTLBL)中。这个监控程序会被通知这些在TTLBL中的IP,监控程序就会启动对所有来自这些IP的报文的监控和截获,将截获到的报文的TTL与TTLAC表中的报文的TTL做对比,如果不同,增加一个丢弃的规则到防火墙程序中以禁止所有从该IP来的有这样的TTL的报文,同时,将这个IP从TTLBL表中移除。

图2显示了所有部署在受保护机器上的组件。服务程序负责增加IP记录到TTLBL表中。Monitor程序会监控这个TTLBL表,然后根据学习到的TTLAC表的内容来做出操作。内存中的哈希表是为了效率考虑,将TTLAC给映射到内存中来被monitor程序使用。

本发明实施例可以应用于一个分布式存储服务器的各节点内部。对于这些节点来说,互相之间是通过交换机链接,因此节点间的通信甚至TTL值都不会减少。对于这种场景,甚至可以使用静态的规则直接将包含TTL值得规则设定到防火墙里。

采用本发明实施例,结合IP报文的TTL特征,来进行防火墙规则的学习,从而达到更智能的黑名单机制,来避免传统的黑名单机制中对于源端IP伪装的缺陷,可以保护设备避免带有IP欺骗的DDOS攻击,提高服务程序的效率,因为TCP握手中的SYN_ACK等待的套接字会显著减少。

需要说明的是,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

根据本发明实施例的阻止IP欺骗的防攻击系统,包括:

第一监控单元,用于获取被保护设备接收的TCPACK报文和合法DUP报文,并将该类报文的源IP地址及对应的TTL值记录在第一列表中;

第二监控单元,用于获取所述被保护设备接收的非法TCP请求报文和非法DUP报文,并将该类报文的源IP地址记录在第二列表中;所述非法TCP请求报文为第一次TCP请求报文后连续接收到的TCP请求报文;

第三监控单元,与所述第二监控单元通信连接,所述第三监控单元用于截获来自所述第二列表中记录的源IP地址的信息,并提取所述信息中携带的TTL值;

处理单元,与所述第一监控单元以及所述第三监控单元通信连接,所述处理单元用于判断所述信息中携带的TTL值与所述第一列表中记录的该源IP地址对应的TTL值是否一致,并在判断结果为不一致的情况下,控制防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文。

根据本发明的一些实施例,所述处理单元用于:

在防火墙程序中增加丢弃规则,以使防火墙禁止来自该源IP地址且TTL值为所述信息中携带的TTL值的所有报文。

根据本发明的一些实施例,所述处理单元还用于:

在防火墙程序中增加丢弃规则之后,将所述丢弃原则对应的源IP地址从所述第二列表中删除。

根据本发明的一些实施例,所述第一监控单元,还用于:

判断所述第一列表中记录的TTL值的记录时长是否大于预设时长,并在判断结果为是的情况下,更新所述第一列表中的TTL值。

根据本发明实施例的阻止IP欺骗的防攻击模块,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的阻止IP欺骗的防攻击方法的步骤。

本实施例所述处理器可以是手机,计算机,服务器,空调器,或者网络设备等。

根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上所述的阻止IP欺骗的防攻击方法的步骤。

本实施例所述计算机可读存储介质包括但不限于为:ROM、RAM、磁盘或光盘等。

需要说明的是,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

不应将位于括号之内的任何参考符号构造成对权利要求的限制。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。单词第一、第二、以及第三等的使用是用于区别类似的对象,不表示任何顺序。可将这些单词解释为名称。

“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

相关技术
  • 基于活动IP记录的IP欺骗DDoS攻击防御方法
  • 一种防御高速网络中IP地址欺骗DDoS攻击的方法
技术分类

06120115850360