首页 / 专利库 / 专利权 / 申请 / 国际申请 / 修改 / 防范利用地址解析协议进行网络攻击的方法及设备

防范利用地址解析协议进行网络攻击的方法及设备

阅读:70发布:2021-06-12

专利汇可以提供防范利用地址解析协议进行网络攻击的方法及设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种防范利用地址解析协议进行网络攻击的方法,所述方法包括步骤:收到地址解析协议ARP报文并对ARP表项进行 修改 之前主动触发对ARP表项标识的原用户的确认;如果收到原用户的应答,则禁止对ARP表项进行修改;如果未收到原用户的应答,则主动触发对收到的ARP报文标识的新用户的确认;如果收到新用户的应答,则修改ARP表项;如果未收到新用户的应答,则禁止对ARP表项进行修改。本发明还公开了一种防范利用地址解析协议进行网络攻击的设备,包括:报文收发单元、报文检查单元、用户确认单元、ARP表项修改单元。利用本发明,可以简单、有效地防止网络设备上合法用户ARP被修改,增强网络可靠性。,下面是防范利用地址解析协议进行网络攻击的方法及设备专利的具体信息内容。

1.一种防范利用地址解析协议进行网络攻击的方法,其特征在于,所述方法包括步骤:A、收到地址解析协议ARP报文并对ARP表项进行修改之前对ARP表项标识的原用户进行确认;B、如果收到原用户的应答,则禁止对ARP表项进行修改。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括步骤:C、如果未收到原用户的应答,则对收到的ARP报文标识的新用户进行确认;D、如果收到新用户的应答,则修改ARP表项;E、如果未收到新用户的应答,则禁止对ARP表项进行修改。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:在ARP链表中设置对应各ARP表项的防攻击记录字段,所述防攻击记录字段包括:收到的ARP报文要求更新表项时的MAC地址、防攻击标记。
4.根据权利要求3所述的方法,其特征在于,所述步骤A包括:A1、如果收到的ARP报文不涉及修改对应的ARP表项中的MAC地址,则继续ARP学习更新流程;A2、如果收到的ARP报文涉及修改对应的ARP表项中的MAC地址,则在防攻击字段记录ARP报文中的MAC地址信息,并对ARP表项标识的原用户触发单播ARP请求
5.根据权利要求4所述的方法,其特征在于,在进行ARP学习更新流程时,如果不涉及修改对应的ARP表项中的MAC地址,且对应的ARP表项中已有防攻击记录信息,则清除该信息。
6.根据权利要求3所述的方法,其特征在于,所述步骤C包括:检查所述对应的ARP表项的防攻击记录中的防攻击标识是否为原用户确认已发送;如果是,则向接收的ARP报文标识的新用户发送单播ARP请求。
7.根据权利要求3所述的方法,其特征在于,所述步骤D具体为:如果收到的ARP报文中的源MAC地址与所述防攻击记录信息中的MAC地址相同,并且该记录信息中的防攻击标记为新用户确认已发送,则修改已存在的ARP表项。
8.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:定时检查ARP链表中的各ARP表项是否有防攻击记录信息;如果有防攻击记录,并且防攻击标记为初始值,则根据ARP表项对原用户发起单播ARP请求,并修改防攻击标记为原用户确认已发送;如果有防攻击记录,并且防攻击标记为原用户确认已发送,则根据防攻击记录信息对新用户发起单播ARP请求,并修改防攻击标记为新用户确认已发送;如果有防攻击记录,并且防攻击标记为新用户确认已发送,则清除所述防攻击记录信息;如果没有防攻击记录,则结束对该ARP表项的检查。
9.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:如果收到的ARP报文涉及修改对应的ARP表项中的MAC地址,并且ARP更新时间未超过预先设定的阈值,则丢弃接收的ARP报文。
10.一种防范利用地址解析协议进行网络攻击的设备,包括:报文收发单元,其特征在于,还包括:报文检查单元,用于检查报文收发单元收到的ARP报文类型;用户确认单元,与所述报文检查单元相连,用于根据报文检查单元的检查结果,触发对ARP表项标识的原用户和/或对收到的ARP报文标识的新用户的确认;ARP表项修改单元,与报文检查单元相连,用于在ARP学习过程中,根据报文检查单元检查到的所述原用户和所述新用户的应答修改对应的ARP表项。
11.根据权利要求10所述的设备,其特征在于,所述设备进一步包括:ARP链表存储单元,分别与ARP表项修改单元和报文检查单元相连,用于存储ARP链表,所述ARP链表包括ARP表项及与其对应的防攻击记录信息;ARP表项维护单元,用于对ARP链表中的各ARP表项进行ARP攻击检查,并根据检查结果更新防攻击记录信息。
12.根据权利要求10所述的设备,其特征在于,所述设备进一步包括:阈值设定单元,用于设置ARP更新时间阈值;计时器,分别与阈值设定单元、报文检查单元、ARP表项修改单元相连,用于对ARP表项的修改进行计时,并在计时时间达到所述阈值后,通知修改执行单元可以对ARP表项进行修改。

说明书全文

防范利用地址解析协议进行网络攻击的方法及设备

技术领域

发明涉及网络技术领域,具体涉及一种防范利用地址解析协议进行网络攻击的方法及设备。

背景技术

在以太网络中,IP设备之间要互相通讯,必须先获取目的设备对应下一跳设备的MAC(媒体接入控制)地址,MAC地址的获取是通过ARP(地址解析协议)协议实现的。ARP为IP地址到对应的硬件地址之间提供动态映射。其过程如下:报文发送端发送一个称作ARP请求的以太网数据给以太网上的每个主机。目的主机的ARP层收到该广播报文后,识别出这是发送端在寻问它的IP地址,于是发送一个ARP应答,这个ARP应答包含其IP地址及对应的MAC地址。报文发送端收到ARP应答后,就可以根据其IP地址及对应的MAC地址发送IP数据报到目的主机。
由于在ARP协议设计之初没有考虑任何的安全机制,因此ARP协议是一个非常容易受攻击的协议。常见的ARP攻击有以下几种类型:1.伪造其他用户IP地址的ARP报文,篡改网关设备上的用户ARP,使网关与该合法用户的通信失败。
如图1所示,合法用户A、B通过网关G与外界通信,在G上建立动态ARP表项IP A-MAC A、IP B-MAC B。攻击者C伪造合法用户的ARP,假设其伪造的IP地址为B,但MAC地址为C或者其他无效MAC地址。当网关G收到用户C的ARP报文后,根据该报文学习到IP地址为B对应的MAC地址为C,从而修改ARP表项,也就是说,用户C通过伪造的ARP报文篡改网关G上的用户B对应的ARP表项,这样,网关G收到需要发送用户B的报文后根据该篡改后的ARP表项就会发送到C,从而使网关G与用户B的通信失败。
2.伪造网关IP地址的ARP报文,篡改网络内其他用户的网关ARP,使其他合法用户与网关的通信失败。
3.ARP扫描攻击,即对其他设备发送大量不同IP的ARP报文,使其他设备的ARP达到最大规格,不能学习新的ARP;扫描攻击中也可能会包含前两类的攻击行为。
对于第一类攻击行为,在IP地址由DHCP(动态主机配置协议)动态分配的网络中,可通过在网关上保留DHCP分配的IP地址和用户MAC地址对信息,对ARP学习进行过滤,在一定程度上减轻此类攻击的机会。但动态ARP没有其他安全机制,极易被非法修改,导致合法用户网络中断。对于没有配置DHCP过滤机制或者IP地址静态分配的网络,目前只能通过配置静态ARP的方式防止ARP被非法修改。
由于合法用户的MAC地址信息不易收集,在用户数较多的环境下,配置工作量大,而且当一个合法用户需要修改IP地址时,需要同步修改网关上的静态ARP。因此,这种配置方式繁琐,灵活性低。

发明内容

本发明的主要目的是提供一种防范利用地址解析协议进行网络攻击的方法,以解决现有技术中通过静态配置ARP防止ARP攻击的方式配置复杂、缺乏灵活性的问题,简单、有效地防止网络设备上合法用户ARP被修改,增强网络可靠性。
本发明的另一个目的是提供一种防范利用地址解析协议进行网络攻击的设备,以增强网络设备的可靠性。
为此,本发明提供如下的技术方案:
一种防范利用地址解析协议进行网络攻击的方法,所述方法包括步骤:A、收到地址解析协议ARP报文并对ARP表项进行修改之前对ARP表项标识的原用户进行确认;B、如果收到原用户的应答,则禁止对ARP表项进行修改。
优选地,所述方法进一步包括步骤:C、如果未收到原用户的应答,则对收到的ARP报文标识的新用户进行确认;D、如果收到新用户的应答,则修改ARP表项;E、如果未收到新用户的应答,则禁止对ARP表项进行修改。
可选地,所述方法进一步包括:在ARP链表中设置对应各ARP表项的防攻击记录字段,所述防攻击记录字段包括:收到的ARP报文要求更新表项时的MAC地址、防攻击标记。
所述步骤A包括:A1、如果收到的ARP报文不涉及修改对应的ARP表项中的MAC地址,则继续ARP学习更新流程;A2、如果收到的ARP报文涉及修改对应的ARP表项中的MAC地址,则在防攻击字段记录ARP报文中的MAC地址信息,并对ARP表项标识的原用户触发单播ARP请求。
在进行ARP学习更新流程时,如果不涉及修改对应的ARP表项中的MAC地址,且对应的ARP表项中已有防攻击记录信息,则清除该信息。
所述步骤C包括:检查所述对应的ARP表项的防攻击记录中的防攻击标识是否为原用户确认已发送;如果是,则向接收的ARP报文标识的新用户发送单播ARP请求。
所述步骤D具体为:
如果收到的ARP报文中的源MAC地址与所述防攻击记录信息中的MAC地址相同,并且该记录信息中的防攻击标记为新用户确认已发送,则修改已存在的ARP表项。
优选地,所述方法进一步包括:定时检查ARP链表中的各ARP表项是否有防攻击记录信息;如果有防攻击记录,并且防攻击标记为初始值,则根据ARP表项对原用户发起单播ARP请求,并修改防攻击标记为原用户确认已发送;如果有防攻击记录,并且防攻击标记为原用户确认已发送,则根据防攻击记录信息对新用户发起单播ARP请求,并修改防攻击标记为新用户确认已发送;如果有防攻击记录,并且防攻击标记为新用户确认已发送,则清除所述防攻击记录信息;如果没有防攻击记录,则结束对该ARP表项的检查。
所述方法进一步包括:如果收到的ARP报文涉及修改对应的ARP表项中的MAC地址,并且ARP更新时间未超过预先设定的阈值,则丢弃接收的ARP报文。
一种防范利用地址解析协议进行网络攻击的设备,包括:报文收发单元,报文检查单元,用于检查报文收发单元收到的ARP报文类型;用户确认单元,与所述报文检查单元相连,用于根据报文检查单元的检查结果,触发对ARP表项标识的原用户和/或对收到的ARP报文标识的新用户的确认;ARP表项修改单元,与报文检查单元相连,用于在ARP学习过程中,根据报文检查单元检查到的所述原用户和所述新用户的应答修改对应的ARP表项。
所述设备进一步包括:
ARP链表存储单元,分别与ARP表项修改单元和报文检查单元相连,用于存储ARP链表,所述ARP链表包括ARP表项及与其对应的防攻击记录信息;ARP表项维护单元,用于对ARP链表中的各ARP表项进行ARP攻击检查,并根据检查结果更新防攻击记录信息。
所述设备进一步包括:阈值设定单元,用于设置ARP更新时间阈值;计时器,分别与阈值设定单元、报文检查单元、ARP表项修改单元相连,用于对ARP表项的修改进行计时,并在计时时间达到所述阈值后,通知修改执行单元可以对ARP表项进行修改。
由以上本发明提供的技术方案可以看出,本发明在网络设备收到ARP报文并对ARP表项进行修改之前主动触发对ARP表项标识的原用户的确认,如果收到原用户的应答,则禁止对ARP表项进行修改。如果未收到原用户的应答,则允许对ARP表项进行修改。在这种情况下,本发明还进一步主动触发对收到的ARP报文标识的新用户的确认,如果未收到新用户的应答,则禁止对ARP表项进行修改。只有在收到新用户的应答的情况下,才允许修改对应的ARP表项。从而在合法用户存在的情况下,通过主动对原合法用户发起的确认,防止了设备上合法用户ARP被修改,增强了网络的可靠性;在没有收到原合法用户应答的情况下,通过主动对新用户发起的确认,防止了简单的只伪造请求不应答的ARP攻击。
另外,利用本发明,可以在原合法用户释放IP地址资源后,使新合法用户可以直接使用此IP,不必修改配置,降低了配置工作量。
附图说明
图1是现有技术中通过伪造其他用户IP地址的ARP报文进行ARP攻击的示意图;图2是本发明方法的一个优选实施例的实现流程图;图3是本发明方法中根据防攻击记录字段的信息修改ARP表项的流程图;图4是本发明方法中ARP链表维护过程的流程图;图5是本发明设备第一实施例的原理框图;图6是本发明设备第二实施例的原理框图。

具体实施方式

本发明的核心是在网络设备收到ARP报文并对ARP表项进行修改之前主动触发对ARP表项标识的原用户的确认,如果收到原用户的应答,则禁止对ARP表项进行修改。如果未收到原用户的应答,则允许对ARP表项进行修改。为了进一步保障网络的安全性,还可在未收到原用户的应答情况下,主动触发对收到的ARP报文标识的新用户的确认,如果未收到新用户的应答,则禁止对ARP表项进行修改。只有在收到新用户的应答的情况下,才允许修改对应的ARP表项。在具体实现时,可以通过在ARP链表中设置对应各ARP表项的防攻击记录字段的方式,在收到原用户和新用户的应答时设置不同的防攻击标记。根据该标记信息,在涉及MAC地址修改时,只允许对防攻击记录标记为新用户确认已发送的ARP表项进行修改。同时,定时对ARP链表中的各ARP表项进行攻击检查,根据检查结果更新防攻击记录字段的信息,以保证该信息的准确性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图2,图2示出了本发明的一个优选实施例的流程图,包括以下步骤:步骤201:在ARP链表中设置对应各ARP表项的防攻击记录字段。
所述防攻击记录字段包括:收到的ARP报文要求更新表项时的MAC地址、防攻击标记。防攻击标记在防攻击信息创建时设为初始值。
步骤202:网络设备接收ARP报文。
步骤203:进行ARP学习,判断是否已存在对应的ARP表项。如果不存在,则进到步骤204;否则,进到步骤205。
步骤204:根据收到的ARP报文添加相应的ARP表项。
步骤205:判断是否涉及MAC地址修改。如果不涉及MAC地址修改,则进到步骤206;否则,进到步骤209。
本发明主要是针对伪造其他用户IP地址的ARP报文,篡改网络设备上的用户ARP报文进行攻击的行为。因此,在网络设备接收到ARP报文后,可以针对是否涉及MAC地址的修改采取相应的策略。所述判断是否涉及MAC地址修改是指判断接收到的ARP报文中的MAC地址与已存在对应的ARP表项中的MAC地址是否相同,如果相同,当然也就不涉及MAC地址修改,否则,根据该报文可能需要修改ARP表项中的MAC地址信息。
步骤206:判断ARP表项是否已有对应的防攻击记录信息。如果有,则进到步骤207;否则,进到步骤208。
步骤207:清除ARP表项对应的防攻击记录信息。
步骤208:继续ARP学习更新流程。
步骤209:判断ARP更新时间是否超过指定时间。如果未超过,则进到步骤210;否则,进到步骤211。
考虑到网络连接的特点,如果是正常的合法用户,其网络连接大都有一个时间过程,因此对应该用户的APR更新也就有一个时间段。因此,为了避免ARP的频繁更新造成不必要的网络流量及资源占用,可以预先设定一个ARP更新时间阈值,也就是说步骤209中所述的指定时间。每次ARP表项更新只有超过该时间后才允许。否则,即使收到的ARP报文要求更新相应的ARP表项,也要禁止对该ARP表项更新。比如,设置该阈值为1分钟,因为正常情况下1分钟之内不太可能涉及到MAC的修改,如果1分钟之内即涉及修改,即可认为是攻击。
步骤210:丢弃ARP报文,退出学习流程。
步骤211:根据防攻击记录字段的信息修改已存在的ARP表项。
前面已提到,为了有效地阻止非法ARP报文篡改网络设备上存储的ARP表项,本发明在ARP学习过程中涉及MAC地址修改时,需要先主动对ARP表项标识的原合法用户发起确认,在没有收到原用户的应答的情况下,还需要对收到的ARP报文标识的新用户进行确认。只有在收到新用户的应答的情况下,才允许对已存在的ARP表项进行修改。而且,在该实施例中,为了使网络设备可以简单、方便地获知对原用户和新用户的确认结果,在ARP链表中设置对应各ARP表项的防攻击记录字段。根据该字段中的信息即可确定是否允许修改已存在的ARP表项。具体如何根据防攻击记录字段的信息修改已存在的ARP表项将在后面详细描述。
为了确保该字段中的信息的准确性,还需要定时对ARP链表中的各ARP表项进行ARP攻击检查,并根据检查结果更新防攻击记录字段的信息。
当然,除了上述描述的在ARP链表中设置防攻击记录字段来记录对原合法用户和新用户确认的情况外,还可以采用其他任何常用方式。只要保证在ARP学习过程中,如果涉及到MAC地址修改,在修改前对原合法用户主动进行确认,只有收不到原合法用户的应答后才允许对相应的APR表项进行修改。
参照图3,图3示出了本发明方法中根据防攻击记录字段的信息修改ARP表项的流程,包括以下步骤:步骤301:获取需要修改的ARP表项对应的防攻击记录字段。
步骤302:判断是否已有防攻击记录信息。如果没有,则进到步骤303;否则,进到步骤304。
步骤303:记录防攻击信息,对ARP表项标识的原用户发起单播ARP请求,之后退出ARP学习流程。
在记录防攻击信息时,需要将收到的ARP报文中的MAC地址写入防攻击字段中,并将标记字段设为初始值。
步骤304:进一步判断收到的APR报文中的MAC地址与原防攻击记录中的MAC地址是否相同。如果不相同,则进到步骤305;否则,进到步骤306。
步骤305:丢弃该ARP报文,退出ARP学习流程。
步骤306:进一步判断防攻击标记是否为新用户确认已发送。如果不是,则进到步骤305;否则,进到步骤307。
步骤307:继续ARP修改流程。
如果ARP表项对应的防攻击标记为新用户确认已发送,则说明接收到的ARP报文是新用户的应答报文。此时,就可以根据该报文中的信息修改对应的ARP表项,也就是说,将新用户的MAC地址学习到ARP表项中,完成ARP学习过程。
为了确保防攻击字段中的信息的准确性,需要定时对ARP链表进行维护。
图4示出了本发明方法中ARP链表维护过程的流程,包括以下步骤:步骤401:设定ARP表项编号变量n的初始值为1。
步骤402:获取ARP链表中第n个ARP表项。
步骤403:判断该ARP表项是否已有防攻击记录信息。如果没有,则进到步骤410;否则,进到步骤404。
步骤404:判断防攻击标记是否为初始值。如果是,则进到步骤405;否则,进到步骤406。
步骤405:触发对原用户的单播请求,并修改防攻击标记为原用户确认已发送。
步骤406:进一步判断防攻击标记是否为原用户确认已发送。如果是,则进到步骤407;否则,进到步骤408。
步骤408:进一步判断防攻击标记是否为新用户确认已发送。如果是,则进到步骤409;否则,进到步骤410。
步骤409:清除防攻击记录信息。
步骤410:判断是否还有未检查的ARP表项。如果有,则进到步骤411;否则,进到步骤412。
步骤411:将变量n加1。然后返回步骤402,继续检查下一个ARP表项。
步骤412:退出ARP链表检查流程。
由上述描述可见,本发明通过对ARP表项标识的原合法用户及对接收的ARP报文标识的新用户的主动确认,有效地防止了非法ARP报文对ARP表项篡改形式的网络攻击。
参照图5,图5示出了本发明设备的一个实施例的原理框图:该设备包括:报文收发单元501、报文检查单元502、用户确认单元503、ARP表项修改单元504。
其中,报文收发单元501用于接收其他网络设备发送的报文或向其他设备发送报文;报文检查单元502用于检查报文收发单元收到的ARP报文类型;用户确认单元503用于根据报文检查单元的检查结果,触发对ARP表项标识的原用户和/或对收到的ARP报文标识的新用户的确认;ARP表项修改单元504与报文检查单元502相连,用于在ARP学习过程中,根据报文检查单元检查到的所述原用户和新用户的应答修改对应的ARP表项。
报文收发单元501接收到ARP报文后,由报文检查单元502检查设备缓存中是否有与该ARP报文对应的ARP表项,如果没有,则将ARP报文中的地址信息学习到ARP链表中;如果有,则判断是否涉及MAC地址修改。如果不需要,则指示设备继续进行ARP学习更新;如果需要,则指示用户确认单元对ARP表项标识的原用户进行主动确认。如果报文检查单元502检查到报文收发单元501收到原用户的应答,则表明原先接收到的ARP报文可能是非法报文,指示设备不对ARP做任何修改。如果报文检查单元502未检查到原用户的应答,则指示用户确认单元对原先接收的ARP报文标识的新用户进行主动确认。如果报文检查单元502检查到报文收发单元501收到新用户的应答,则表明接收到的报文是新用户的合法报文,指示ARP表项修改单元504修改对应的APR表项。如果报文检查单元502未检查到新用户的应答,则表明接收到的ARP报文可能是非法报文,指示设备不对ARP表项做任何修改。
为了使报文检查单元502获取准确的检查信息,还可以在该设备中设置ARP链表存储单元505和ARP表项维护单元506,如图中所示。
其中,ARP链表存储单元505分别与ARP表项修改单元504和报文检查单元502相连,用于存储ARP链表,该ARP链表包括ARP表项及与其对应的防攻击记录信息。ARP表项维护单元506用于对ARP链表中的各ARP表项进行ARP攻击检查,并根据检查结果更新防攻击记录信息。
报文检查单元502根据ARP链表存储单元505中的防攻击记录信息来决定是否指示用户确认单元503对原用户或新用户进行主动确认。具体过程与前面对本发明方法的描述相同,在此不再赘述。
ARP表项维护单元506对ARP链表中的各ARP表项进行ARP攻击检查的详细过程也与前面本发明方法中的描述相同。
参照图6,图6示出了本发明设备的第二实施例的原理框图:与图5所示实施例不同的是,在该实施例中,增加了阈值设定单元601和与其相连的计时器602。其中,阈值设定单元601用于设置ARP更新时间阈值;计时器602设置在报文检查单元502和ARP表项修改单元504之间,用于对ARP表项的修改进行计时,并在计时时间达到所述阈值后,通知ARP表项修改单元504可以对ARP表项进行修改。其详细工作过程可参照前面本发明方法中的描述。
利用该实施例,可进一步减少网络流量,节省设备资源。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
相关专利内容
标题 发布/更新时间 阅读量
路线修改 2020-05-11 79
修改分析流 2020-05-11 583
修改命令 2020-05-11 234
路线修改 2020-05-11 225
修改带式胶带 2020-05-13 322
业务流修改流程 2020-05-13 12
修改对象的基层 2020-05-13 415
修改颜色色域 2020-05-13 895
引导过程修改 2020-05-13 821
修改液 2020-05-11 760
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈