CN115801429A - 一种双lsa攻击防御方法、装置、设备及存储介质 - Google Patents
一种双lsa攻击防御方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115801429A CN115801429A CN202211509195.3A CN202211509195A CN115801429A CN 115801429 A CN115801429 A CN 115801429A CN 202211509195 A CN202211509195 A CN 202211509195A CN 115801429 A CN115801429 A CN 115801429A
- Authority
- CN
- China
- Prior art keywords
- lsa
- message
- new
- link state
- lsa message
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种双LSA攻击防御方法、装置、设备及存储介质,涉及网络安全技术领域,包括:当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断两个LSA报文是否是自身发送的;若是自身发送的,则依次判断两个LSA报文是否为新报文;若为旧报文,则依次判断两个LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同;若否则判定该网络通信设备节点受到了双LSA攻击,并依次生成一个比LSA报文的链路状态序列号大的新LSA实例,再将新LSA实例封装成报文发送到网络中。本申请能够有效防御双LSA报文攻击带来的持久性危害,增强网络设备的安全性和可靠性,并纠正网络中被攻击网络设备的错误LSA数据。
Description
技术领域
本申请涉及网络安全技术领域,特别涉及一种双LSA攻击防御方法、装置、设备及存储介质。
背景技术
互联网的高速发展带来了网络规模的持续增长以及拓扑结构的愈加复杂,同时给网络安全(Cyber Security)提出了巨大的挑战,网络安全已成为制约互联网发展的重要因素之一。OSPF(Open Shortest Path First,开放式最短路径优先)已经成为网络部署中使用最为广泛的路由协议,OSPF作为一种典型链路状态协议,通过LSA(Link StateAdvertisement,链路状态通告)的形式发布路由,依靠在OSPF区域内各设备间交互OSPF报文来达到路由信息的统一。
但是,实际的网络环境中存在着大量恶意伪造的虚假OSPF路由信息,如果没有防范保护措施,将会面临路由信息被篡改,当恶意的路由信息插入并洪泛到网络中时,会导致网络级联式瘫痪。
目前,对于普通的单LSA攻击,如最大序列号攻击、序列号增量攻击、最大年龄攻击、周期注入LSA攻击等,虽能造成路由信息被篡改,但通过OSPF自带的反击保护机制,如可靠的认证机制、层次化路由、双向链路机制、反击机制等,能够使被篡改的路由信息得到修正,其影响是短暂的。但是对于双LSA攻击,包括触发LSA和伪装LSA,由于利用了OSPF校验和可预测性的缺陷,如当网络中的OSPF路由器收到伪装LSA后,更新链路状态数据库(LSDB,Link State Data Base),但由于用于反击所述触发LSA的反击LSA可能晚于伪装LSA到达,因此会被误当作副本丢弃,使得反击LSA失效,因此双LSA攻击能够规避OSPF自带的反击机制,并且,一旦攻击者控制了网络中某台内部设备,并通过特种方式获取到MD5(Message-Digest Algorithm,信息摘要算法)的键值,发起此类攻击,对于OSPF协议构建的网络自治系统的危害是严重的、持久的。另外,更新链路状态数据库会增加字段,进而导致网络通信设备内存空间占用大的问题。
综上,如何对OSPF协议攻击中最严重和最持久的双LSA攻击进行防御是目前还有待进一步解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种双LSA攻击防御方法、装置、设备及存储介质,能够在不增加OSPF链路状态数据库字段的前提下,有效防御双LSA报文攻击带来的持久性危害,增强网络设备的安全性和可靠性,并纠正网络中被攻击网络设备的错误LSA数据。其具体方案如下:
第一方面,本申请公开了一种双LSA攻击防御方法,应用于支持OSPF协议的网络通信设备节点,包括:
当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的;
若所述第一LSA报文和所述第二LSA报文是自身发送的,则依次判断所述第一LSA报文和所述第二LSA报文是否为新报文;
若所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同;
若否,则判定所述网络通信设备节点受到了双LSA攻击,并依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中,以纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息。
可选的,所述判断所述第一LSA报文和所述第二LSA报文是否是自身发送的,包括:
根据所述第一LSA报文和所述第二LSA报文中的链路状态ID和通告路由器判断所述第一LSA报文和所述第二LSA报文是否是自身发送的。
可选的,所述判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同之后,还包括:
若所述第一LSA报文和所述第二LSA报文中携带的LSA信息与所述本地链路状态数据库中记录的LSA信息相同,则将所述第一LSA报文和所述第二LSA报文作为副本进行丢弃。
可选的,所述纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息,包括:
当所述网络中除所述网络通信设备节点外的其他网络通信设备节点接收到所述第一新LSA实例和所述第二新LSA实例时,依次利用所述第一新LSA实例和所述第二新LSA实例中携带的LSA信息覆盖自身链路状态数据库中保存的LSA信息。
可选的,所述判断所述第一LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同,包括:
分别获取所述第一LSA报文和本地链路状态数据库中LSA信息的长度,得到相应的第一长度和第二长度;
分别获取所述第一LSA报文和所述本地链路状态数据库中LSA信息的内容,得到相应的第一内容和第二内容;
判断所述第一长度与所述第二长度、所述第一内容与所述第二内容是否均相同。
可选的,所述若否,则判定所述网络通信设备节点受到了双LSA攻击,包括:
若所述第一长度与所述第二长度,和/或所述第一内容与所述第二内容不相同,则判定所述网络通信设备节点受到了双LSA攻击。
可选的,所述判断所述第一LSA报文和所述第二LSA报文是否为新报文,包括:
根据LSA新旧比较原则判断所述第一LSA报文和所述第二LSA报文是否为新报文。
第二方面,本申请公开了一种双LSA攻击防御装置,应用于支持OSPF协议的网络通信设备节点,包括:
第一判断模块,用于当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的;
第二判断模块,用于如果所述第一LSA报文和所述第二LSA报文是自身发送的,则依次判断所述第一LSA报文和所述第二LSA报文是否为新报文;
第三判断模块,用于所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同;
双LSA攻击判定模块,用于如果所述第一LSA报文和所述第二LSA报文中携带的LSA信息与本地链路状态数据库中记录的LSA信息不相同,则判定所述网络通信设备节点受到了双LSA攻击;
攻击防御模块,用于依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中,以纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息。
第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的双LSA攻击防御方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的双LSA攻击防御方法。
可见,本申请应用于支持OSPF协议的网络通信设备节点,当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的;若所述第一LSA报文和所述第二LSA报文是自身发送的,则依次判断所述第一LSA报文和所述第二LSA报文是否为新报文;若所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同;若否,则判定所述网络通信设备节点受到了双LSA攻击,并依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中,以纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息。本申请通过在支持OSPF路由协议的网络通信设备节点中增加OSPF攻击检测和防御功能,能够在网络通信设备节点对双LSA攻击进行有效的识别和防御,从而在不增加OSPF链路状态数据库字段的前提下,有效防御双LSA报文攻击带来的持久性危害,增强网络通信设备的安全性和可靠性,并在识别出恶意伪造的双LSA攻击报文时,立即通告一个正确的新LSA实例到网络中,从而纠正了网络中被攻击节点中的错误LSA数据,并且无须找出双LSA攻击报文的路由器或者主机,能够在不借助第三方检测设备的前提下对LSA攻击进行准确的识别,另外,本申请还能够为其他协议攻击的防御提供指导,同时解决了因为增加字段导致的空间内存占用过大的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种双LSA攻击防御方法流程图;
图2为本申请公开的一种具体的LSA字段构成示意图;
图3为本申请公开的一种具体的双LSA攻击防御方法流程图;
图4为本申请公开的一种双LSA攻击防御装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种双LSA攻击防御方法,应用于支持OSPF协议的网络通信设备节点,参见图1所示,该方法包括:
步骤S11:当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的。
本实施例中,当网络中的任一支持OSPF协议的网络通信设备节点在预设的时间范围内(如5秒内)先后获取到两个LSA报文时,依次在获取到LSA报文时进行以下操作:按照时间先后顺序,对于先获取到的第一LSA报文,在获取到所述第一LSA报文时,通过所述网络通信设备节点判断是否是自身发送的;对于后获取到的第二LSA报文,通过所述网络通信设备节点判断是否是自身发送的。其中,所述支持OSPF协议的网络通信设备节点包括但不限于路由器、主机等,所述第一LSA报文和所述第二LSA报文是OSPF报文的一种具体类型。
在一种具体的实施方式中,所述判断所述第一LSA报文和所述第二LSA报文是否是自身发送的,具体可以包括:根据所述第一LSA报文和所述第二LSA报文中的链路状态ID和通告路由器判断所述第一LSA报文和所述第二LSA报文是否是自身发送的。具体的,参见图2所示,图2示出了LSA报文的构成,具体包括链路状态老化时间、链路状态ID、通告路由器、链路状态序列号、链路状态校验和以及LSA内容字段等字段信息。本实施例中,当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,可以依次对其进行分析,将上述第一LSA报文和上述第二LSA报文中携带的链路状态ID(Identity Document,身份证标识号)和通告路由器与网络通信设备节点自身的信息进行比对,如果两者相同则说明是所述网络通信设备节点自身发送的LSA报文,如果两者不相同则说明不是自身发送的LSA报文。
步骤S12:若所述第一LSA报文和所述第二LSA报文是自身发送的,则依次判断所述第一LSA报文和所述第二LSA报文是否为新报文。
本实施例中,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的之后,如果经过对比分析得出上述第一LSA报文和上述第二LSA报文是自身发送的,则可以进一步的判断上述第一LSA报文和上述第二LSA报文是否为新报文。
具体的,所述判断所述第一LSA报文和所述第二LSA报文是否为新报文,可以包括:根据LSA新旧比较原则判断所述第一LSA报文和所述第二LSA报文是否为新报文。例如,根据第一LSA报文和第二LSA报文中携带的路由信息,如利用图2中除链路状态ID、通告路由器及LSA内容字段以外的链路状态序列号、链路状态校验和、链路状态老化时间、选项、类型、长度,并根据预设的LSA新旧比较原则判断第一LSA报文和第二LSA报文是否为新报文。其中,所述LSA新旧比较原则具体包括:拥有更高链路状态序列号的LSA报文被认为最新;拥有更大校验和的LSA报文被认为最新;如果收到的LSA报文中的老化时间被设定为Max-Age(缺省为1小时),则认为该LSA报文最新;当本地LSA报文和新收到的LSA报文的老化时间超过Max-Age-Diff(缺省为15分钟)时,则认为这两个LSA被认为是不同的报文,并将老化时间越小的LSA报文认为是最新报文;如果上述4点均无法进行判断,则认为这两个LSA报文是相同的LSA报文。需要指出的是,上述LSA新旧比较原则,按照从上到下的顺序进行匹配的,当匹配到某一规则后,就不再继续进行后续的匹配了。
需要指出的是,当所述网络中除上述网络通信设备节点外的其他网络通信设备节点接收到上述第一LSA报文和上述第二LSA报文时,也会依次判断上述第一LSA报文和上述第二LSA报文是否为新报文,如果判断结果为新报文,则直接利用上述第一LSA报文和上述第二LSA报文中携带的LSA信息对自身链路状态数据库中的LSA信息进行更新。
需要指出的是,当所述第一LSA报文和上述第二LSA报文不是自身发送的,当前节点也会依次判断上述第一LSA报文和上述第二LSA报文是否为新报文,如果判断结果为新报文,则直接利用上述第一LSA报文和上述第二LSA报文中携带的LSA信息对自身链路状态数据库中的LSA信息进行更新。如果是旧报文,则自动丢弃。
步骤S13:若所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同。
本实施例中,如果经过判断得出上述第一LSA报文和上述第二LSA报文为旧报文,则进一步的依次将上述第一LSA报文和上述第二LSA报文中携带的LSA信息与本地链路状态数据库中已经记录的LSA信息进行对比,并判断上述第一LSA报文和上述第二LSA报文中携带的LSA信息是否与所述本地链路状态数据库中存储的LSA信息相同。
需要指出的是,所述判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同之后,具体还包括:若所述第一LSA报文和所述第二LSA报文中携带的LSA信息与所述本地链路状态数据库中记录的LSA信息相同,则将所述第一LSA报文和所述第二LSA报文作为副本进行丢弃。本实施例中,如果第一LSA报文和第二LSA报文中携带的LSA信息与本地链路状态数据库中记录的LSA信息相同,则表示收到的LSA报文没有受到LSA攻击并且是自身发送的旧报文,则可以直接作为副本进行丢弃。
步骤S14:若否,则判定所述网络通信设备节点受到了双LSA攻击,并依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中,以纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息。
本实施例中,如果上述第一LSA报文和上述第二LSA报文中携带的LSA信息与所述本地链路状态数据库中记录的LSA信息不相同,则表明所述网络通信设备节点受到了恶意的双LSA攻击,此时可以判定上述第一LSA报文为双LSA攻击中的触发LSA,上述第二LSA报文为双LSA攻击中的伪装LSA。进一步的,可以采取相应的措施来反击双LSA攻击,具体的,针对上述第一LSA报文,可以先生成一个比上述第一LSA报文的链路状态序列号更大的第一新LSA实例,并更新上述本地链路状态数据库,然后将上述第一新LSA实例封装成支持OSPF协议的报文发送到网络中;相同的,对于上述第二LSA报文,可以先生成一个比上述第二LSA报文的链路状态序列号更大的第二新LSA实例,然后将上述第二新LSA实例封装成支持OSPF协议的报文发送到网络中,这样一来,网络中被攻击的所有网络通信设备节点便可以利用获取到的所述第一新LSA实例和所述第二新LSA实例对自身链路状态数据库中保存的错误LSA信息进行纠正。
可见,本申请实施例应用于支持OSPF协议的网络通信设备节点,当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的;若所述第一LSA报文和所述第二LSA报文是自身发送的,则依次判断所述第一LSA报文和所述第二LSA报文是否为新报文;若所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同;若否,则判定所述网络通信设备节点受到了双LSA攻击,并依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中,以纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息。本申请实施例通过在支持OSPF路由协议的网络通信设备节点中增加OSPF攻击检测和防御功能,能够在网络通信设备节点对双LSA攻击进行有效的识别和防御,从而在不增加OSPF链路状态数据库字段的前提下,有效防御双LSA报文攻击带来的持久性危害,增强网络通信设备的安全性和可靠性,并在识别出恶意伪造的双LSA攻击报文时,立即通告一个正确的新LSA实例到网络中,从而纠正了网络中被攻击节点中的错误LSA数据,并且无须找出双LSA攻击报文的路由器或者主机,能够在不借助第三方检测设备的前提下对LSA攻击进行准确的识别,另外,本申请实施例还能够为其他协议攻击的防御提供指导,同时解决了因为增加字段导致的空间内存占用过大的问题。
本申请实施例公开了一种具体的双LSA攻击防御方法,应用于支持OSPF协议的网络通信设备节点,参见图3所示,该方法包括:
步骤S21:当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次根据所述第一LSA报文和所述第二LSA报文中的链路状态ID和通告路由器判断所述第一LSA报文和所述第二LSA报文是否是自身发送的。
步骤S22:若所述第一LSA报文和所述第二LSA报文是自身发送的,则依次根据LSA新旧比较原则判断所述第一LSA报文和所述第二LSA报文是否为新报文。
步骤S23:若所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同。
本实施例中,如果上述第一LSA报文和上述第二LSA报文为旧报文,则依次将所述第一LSA报文和所述第二LSA报文中携带的LSA信息与本地链路状态数据库中记录的LSA信息进行对比,并判断两者包含的信息是否相同。
在一种具体的实施方式中,所述判断所述第一LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同,具体可以包括:分别获取所述第一LSA报文和本地链路状态数据库中LSA信息的长度,得到相应的第一长度和第二长度;分别获取所述第一LSA报文和所述本地链路状态数据库中LSA信息的内容,得到相应的第一内容和第二内容;判断所述第一长度与所述第二长度、所述第一内容与所述第二内容是否均相同。也即,在判断LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同时,具体是通过LSA信息的长度和内容来确定LSA报文是否相同的。例如,假设接收得到LSA报文中的LSA信息为A,本地链路状态数据库中的LSA信息为B,根据LSA新旧比较的原则判断A与B是否相同,若相同则进一步的进行如下比较:获取A的长度字段(lsaLength)、获取A的LSA头部(LSA Header)地址addressA和B的LSA头部地址addressB,然后比较A与B中的内容:Memcomp(A.addressA+length(LSAHeader),A.addressB+length(LSA Header),lsaLength),如果相同则不处理,如果不同则认为受到了双LSA攻击。
步骤S24:若否,则判定所述网络通信设备节点受到了双LSA攻击,并依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中。
本实施例中,如果上述第一LSA报文和上述第二LSA报文中携带的LSA信息与本地链路状态数据库中记录的LSA信息不相同,也即,上述第一长度与上述第二长度和上述第一内容与上述第二内容中至少存在一个不同,则可以判定上述网络通信设备节点受到了双LSA攻击,接着依次生成一个比上述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比上述第二LSA报文的链路状态序列号大的第二新LSA实例,再对上述第一新LSA实例和上述第二新LSA实例进行封装,得到支持OSPF协议的新报文并将其发送到网络中。
步骤S25:当所述网络中除所述网络通信设备节点外的其他网络通信设备节点接收到所述第一新LSA实例和所述第二新LSA实例时,依次利用所述第一新LSA实例和所述第二新LSA实例中携带的LSA信息覆盖自身链路状态数据库中保存的LSA信息。
本实施例中,向网络中通告一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例之后,当所述网络中除上述网络通信设备节点外的其他网络通信设备节点接收到上述第一新LSA实例和所述第二新LSA实例时,依次利用上述第一新LSA实例和上述第二新LSA实例中携带的LSA信息覆盖自身链路状态数据库中已经保存的LSA信息,即对自身链路状态数据库中的错误LSA信息进行了更新,从而实现了对已经攻击的LSA信息的纠正。
其中,关于上述步骤S21、S22更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例如果在预设的时间范围内先后获取到第一LSA报文和第二LSA报文中携带的LSA信息与本地链路状态数据库中记录的LSA信息不相同,则判定网络通信设备节点受到了双LSA攻击,并依次向网络中通告一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,当所述网络中除所述网络通信设备节点外的其他网络通信设备节点接收到所述第一新LSA实例和所述第二新LSA实例时,依次利用所述第一新LSA实例和所述第二。本申请实施例无须找出被攻击报文的网络通信设备节点,能够在不借助第三方检测设备的前提下,通过被攻击报文的网络通信设备节点对收到的伪造成自己发送的LSA报文进行判断,并进一步结合LSA报文中包含的具体内容与自身链路状态数据库信息进行详细对比,如果不同,则认为受到了双LSA攻击,并向网络中通告一个正确的新LSA实例,从而纠正了网络中被攻击的所有网络通信设备节点中的错误LSA信息,这样一来,可以对双LSA攻击进行准确的识别和有效的防御,增强了网络的安全性和可靠性。
相应的,本申请实施例还公开了一种双LSA攻击防御装置,应用于支持OSPF协议的网络通信设备节点,参见图4所示,该装置包括:
第一判断模块11,用于当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的;
第二判断模块12,用于如果所述第一LSA报文和所述第二LSA报文是自身发送的,则依次判断所述第一LSA报文和所述第二LSA报文是否为新报文;
第三判断模块13,用于所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同;
双LSA攻击判定模块14,用于如果所述第一LSA报文和所述第二LSA报文中携带的LSA信息与本地链路状态数据库中记录的LSA信息不相同,则判定所述网络通信设备节点受到了双LSA攻击;
攻击防御模块15,用于依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中,以纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息。
其中,关于上述各个模块的具体工作流程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例应用于支持OSPF协议的网络通信设备节点,当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的;若所述第一LSA报文和所述第二LSA报文是自身发送的,则依次判断所述第一LSA报文和所述第二LSA报文是否为新报文;若所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同;若否,则判定所述网络通信设备节点受到了双LSA攻击,并依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中,以纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息。本申请实施例通过在支持OSPF路由协议的网络通信设备节点中增加OSPF攻击检测和防御功能,能够在网络通信设备节点对双LSA攻击进行有效的识别和防御,从而在不增加OSPF链路状态数据库字段的前提下,有效防御双LSA报文攻击带来的持久性危害,增强网络通信设备的安全性和可靠性,并在识别出恶意伪造的双LSA攻击报文时,立即通告一个正确的新LSA实例到网络中,从而纠正了网络中被攻击节点中的错误LSA数据,并且无须找出双LSA攻击报文的路由器或者主机,能够在不借助第三方检测设备的前提下对LSA攻击进行准确的识别,另外,本申请实施例还能够为其他协议攻击的防御提供指导,同时解决了因为增加字段导致的空间内存占用过大的问题。
在一些具体实施例中,所述第一判断模块11,具体可以包括:
第一判断单元,用于根据所述第一LSA报文和所述第二LSA报文中的链路状态ID和通告路由器判断所述第一LSA报文和所述第二LSA报文是否是自身发送的。
在一些具体实施例中,所述第三判断模块13之后,还可以包括:
丢弃处理单元,用于如果所述第一LSA报文和所述第二LSA报文中携带的LSA信息与所述本地链路状态数据库中记录的LSA信息相同,则将所述第一LSA报文和所述第二LSA报文作为副本进行丢弃。
在一些具体实施例中,所述攻击防御模块15,具体可以包括:
数据覆盖单元,用于当所述网络中除所述网络通信设备节点外的其他网络通信设备节点接收到所述第一新LSA实例和所述第二新LSA实例时,依次利用所述第一新LSA实例和所述第二新LSA实例中携带的LSA信息覆盖自身链路状态数据库中保存的LSA信息。
在一些具体实施例中,所述第三判断模块13,具体可以包括:
长度信息获取单元,用于分别获取所述第一LSA报文和本地链路状态数据库中LSA信息的长度,得到相应的第一长度和第二长度;
实例内容获取单元,用于分别获取所述第一LSA报文和所述本地链路状态数据库中LSA信息的内容,得到相应的第一内容和第二内容;
第二判断单元,用于判断所述第一长度与所述第二长度、所述第一内容与所述第二内容是否均相同。
在一些具体实施例中,所述双LSA攻击判定模块14,具体可以包括:
双LSA攻击判定单元,用于如果所述第一长度与所述第二长度,和/或所述第一内容与所述第二内容不相同,则判定所述网络通信设备节点受到了双LSA攻击。
在一些具体实施例中,所述第二判断模块12,具体可以包括:
新报文判断单元,用于根据LSA新旧比较原则判断所述第一LSA报文和所述第二LSA报文是否为新报文。
进一步的,本申请实施例还公开了一种电子设备,图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的双LSA攻击防御方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的双LSA攻击防御方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的双LSA攻击防御方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种双LSA攻击防御方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种双LSA攻击防御方法,其特征在于,应用于支持OSPF协议的网络通信设备节点,包括:
当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的;
若所述第一LSA报文和所述第二LSA报文是自身发送的,则依次判断所述第一LSA报文和所述第二LSA报文是否为新报文;
若所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同;
若否,则判定所述网络通信设备节点受到了双LSA攻击,并依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中,以纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息。
2.根据权利要求1所述的双LSA攻击防御方法,其特征在于,所述判断所述第一LSA报文和所述第二LSA报文是否是自身发送的,包括:
根据所述第一LSA报文和所述第二LSA报文中的链路状态ID和通告路由器判断所述第一LSA报文和所述第二LSA报文是否是自身发送的。
3.根据权利要求1所述的双LSA攻击防御方法,其特征在于,所述判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同之后,还包括:
若所述第一LSA报文和所述第二LSA报文中携带的LSA信息与所述本地链路状态数据库中记录的LSA信息相同,则将所述第一LSA报文和所述第二LSA报文作为副本进行丢弃。
4.根据权利要求1所述的双LSA攻击防御方法,其特征在于,所述纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息,包括:
当所述网络中除所述网络通信设备节点外的其他网络通信设备节点接收到所述第一新LSA实例和所述第二新LSA实例时,依次利用所述第一新LSA实例和所述第二新LSA实例中携带的LSA信息覆盖自身链路状态数据库中保存的LSA信息。
5.根据权利要求1所述的双LSA攻击防御方法,其特征在于,所述判断所述第一LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同,包括:
分别获取所述第一LSA报文和本地链路状态数据库中LSA信息的长度,得到相应的第一长度和第二长度;
分别获取所述第一LSA报文和所述本地链路状态数据库中LSA信息的内容,得到相应的第一内容和第二内容;
判断所述第一长度与所述第二长度、所述第一内容与所述第二内容是否均相同。
6.根据权利要求5所述的双LSA攻击防御方法,其特征在于,所述若否,则判定所述网络通信设备节点受到了双LSA攻击,包括:
若所述第一长度与所述第二长度,和/或所述第一内容与所述第二内容不相同,则判定所述网络通信设备节点受到了双LSA攻击。
7.根据权利要求1至6任一项所述的双LSA攻击防御方法,其特征在于,所述判断所述第一LSA报文和所述第二LSA报文是否为新报文,包括:
根据LSA新旧比较原则判断所述第一LSA报文和所述第二LSA报文是否为新报文。
8.一种双LSA攻击防御装置,其特征在于,应用于支持OSPF协议的网络通信设备节点,包括:
第一判断模块,用于当在预设的时间范围内先后获取到第一LSA报文和第二LSA报文时,依次判断所述第一LSA报文和所述第二LSA报文是否是自身发送的;
第二判断模块,用于如果所述第一LSA报文和所述第二LSA报文是自身发送的,则依次判断所述第一LSA报文和所述第二LSA报文是否为新报文;
第三判断模块,用于所述第一LSA报文和所述第二LSA报文为旧报文,则依次判断所述第一LSA报文和所述第二LSA报文中携带的LSA信息是否与本地链路状态数据库中记录的LSA信息相同;
双LSA攻击判定模块,用于如果所述第一LSA报文和所述第二LSA报文中携带的LSA信息与本地链路状态数据库中记录的LSA信息不相同,则判定所述网络通信设备节点受到了双LSA攻击;
攻击防御模块,用于依次生成一个比所述第一LSA报文的链路状态序列号大的第一新LSA实例和一个比所述第二LSA报文的链路状态序列号大的第二新LSA实例,再将所述第一新LSA实例和所述第二新LSA实例封装成报文发送到网络中,以纠正所述网络中被攻击的所有网络通信设备节点中的错误LSA信息。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的双LSA攻击防御方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的双LSA攻击防御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211509195.3A CN115801429A (zh) | 2022-11-29 | 2022-11-29 | 一种双lsa攻击防御方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211509195.3A CN115801429A (zh) | 2022-11-29 | 2022-11-29 | 一种双lsa攻击防御方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115801429A true CN115801429A (zh) | 2023-03-14 |
Family
ID=85442904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211509195.3A Pending CN115801429A (zh) | 2022-11-29 | 2022-11-29 | 一种双lsa攻击防御方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801429A (zh) |
-
2022
- 2022-11-29 CN CN202211509195.3A patent/CN115801429A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11063960B2 (en) | Automatic generation of attribute values for rules of a web application layer attack detector | |
US10326781B2 (en) | Cloud-based gateway security scanning | |
CN106063222B (zh) | 用于对传送http业务的tcp连接进行分类的方法和装置 | |
CN111585890B (zh) | 基于SRv6的网络路径验证方法及系统 | |
US11330016B2 (en) | Generating collection rules based on security rules | |
CN105991655B (zh) | 用于缓解基于邻居发现的拒绝服务攻击的方法和装置 | |
CN110266650B (zh) | Conpot工控蜜罐的识别方法 | |
US10911581B2 (en) | Packet parsing method and device | |
CN112995040B (zh) | 一种基于设备标识计算的报文路径溯源方法及装置 | |
US11671405B2 (en) | Dynamic filter generation and distribution within computer networks | |
US20220094711A1 (en) | Data plane with connection validation circuits | |
Sandhya Venu et al. | Invincible AODV to detect black hole and gray hole attacks in mobile ad hoc networks | |
CN111083154A (zh) | 一种安全防护方法、装置及存储介质 | |
CN108055285B (zh) | 一种基于ospf路由协议的入侵防护方法和装置 | |
KR102011603B1 (ko) | 탐지 규칙 검증을 위한 패킷 생성 방법 및 장치 | |
JP2014023143A (ja) | 偽装トラフィック検知を目的としたbgpルートを基にしたネットワークトラフィックプロファイルを作成するシステム及び方法 | |
CN115834229A (zh) | 一种报文安全检测方法、设备及存储介质 | |
CN115801429A (zh) | 一种双lsa攻击防御方法、装置、设备及存储介质 | |
CN114531270B (zh) | 针对分段路由标签探测的防御方法及装置 | |
US9912643B2 (en) | Attack defense processing method and protection device | |
Su et al. | Privacy preserving IP traceback | |
EP2819365A1 (en) | Network traffic inspection | |
CN106453221B (zh) | 报文检测的方法及设备 | |
CN105471839A (zh) | 一种判断路由器数据是否被窜改的方法 | |
CN115442288B (zh) | 一种SRv6网络数据包检查方法和装置 |
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 |