一种防止arp攻击的方法和装置的制造方法

文档序号:9870250阅读:229来源:国知局
一种防止arp攻击的方法和装置的制造方法
【技术领域】
[0001 ]本申请涉及通信技术领域,尤其涉及一种防止地址解析协议(英文:AddressResolut1n Protocol,ARP)攻击的方法和装置。
【背景技术】
[0002]因特网协议(英文:InternalProtocol,IP)网络组成了当前广泛应用的因特网基础。ARP攻击是IP网络中最常见的一种攻击方式。
[0003]一种常见的ARP攻击方式是子网间ARP攻击。比如,攻击者使用第一子网中的主机持续发送数据报文。这些数据报文的目的是实施ARP攻击,因此这些数据报文并非正常数据报文而是攻击报文。这些攻击报文的目的IP地址的子网前缀属于第二子网,但是在第二子网中不存在IP地址为该目的IP地址的主机。在第二子网的网关设备转发这些攻击报文中的第一个攻击报文时,网关设备的转发面根据该攻击报文的目的IP地址查找ARP表失败,则所述转发面会向该网关设备的控制面发送包括该目的IP地址的ARP缺失消息。该ARP缺失消息用于表明所述转发面以该目的IP地址查找ARP表失败。控制面尝试完成该目的IP地址的ARP学习。ARP学习是为了获取数据报文目的IP地址与MAC地址的对应关系。例如,控制面可以根据ARP缺失消息中的目的IP地址广播ARP请求报文以完成ARP学习。为了抑制转发面频繁发送ARP缺失消息,控制面接收至IjARP缺失消息后将ARP假表项发送给转发面。该ARP假表项的IP地址为ARP缺失消息中的目的IP地址,该ARP假表项的介质访问控制(英文:media accesscontrol,MAC)地址为无效MAC地址,例如为全O的MAC地址。所述转发面接收到所述ARP假表项后,在所述ARP表中添加所述ARP假表项。在收到这些攻击报文中的后续攻击报文后,转发面查找ARP表,根据攻击报文的目的IP地址可以找到所述ARP假表项,因此不向所述控制面发送ARP缺失消息。
[0004]所述ARP假表项老化以后,转发面收到攻击报文时,转发面会再次向控制面发送ARP缺失消息。因此,如果ARP假表项老化时间过短,转发面会在短时间内向控制面发送大量的ARP缺失消息。大量的ARP缺失消息占用了大量系统资源。为防范该类ARP攻击,可以延长ARP假表项的老化时间。但是这可能又会影响完成正常数据报文的ARP学习所需的时间。
[0005]转发面接收到正常数据报文时,如果由于某些偶然因素导致第一次收到ARP缺失消息后控制面没有完成ARP学习,再次收到ARP缺失消息时控制面要再次尝试完成ARP学习。例如第一次收到ARP缺失消息后,控制面发送的ARP请求报文丢包,或者主机返回的ARP响应报文丢包,可以导致本次ARP学习无法完成。只有在ARP假表项老化以后,控制面再次收到ARP缺失消息时才能再次触发ARP学习。因此,如果ARP假表项的老化时间设置过长,会影响正常数据报文的转发效率。

【发明内容】

[0006]本申请提供了一种防止ARP攻击的方法和装置,以减小ARP攻击对系统资源的消耗。
[0007]第一方面,提供了一种防止ARP攻击的方法,该方法包括:
[0008]网关设备的控制面接收转发面发送的第一ARP缺失消息,所述第一ARP缺失消息用于表明所述转发面以数据报文的目的因特网协议IP地址查找ARP表失败;
[0009]响应于接收到所述第一ARP缺失消息,所述控制面生成并保存第一参数集,所述第一参数集包括所述目的IP地址;
[0010]所述控制面将对应于第一老化时间的ARP假表项发送给所述转发面,所述ARP假表项中的IP地址为所述目的IP地址,所述ARP假表项中的介质访问控制MAC地址为无效MAC地址;
[0011]所述控制面接收所述转发面发送的第二ARP缺失消息,所述第二 ARP缺失消息用于表明所述转发面以所述目的IP地址查找ARP表失败;
[0012]所述控制面确定已经保存了包括所述目的IP地址的所述第一参数集;
[0013]响应于确定已经保存了所述第一参数集,所述控制面将对应于第二老化时间的所述ARP假表项发送给所述转发面,所述第二老化时间大于所述第一老化时间。
[0014]转发面再次发送ARP缺失消息后接收的ARP假表项的老化时间增加。如果转发面接收到的数据报文是攻击报文,延长了向控制面发送ARP缺失消息的时间间隔。从而降低转发面向控制面发送ARP缺失消息的频率,有效减少了面对ARP攻击时,大量的ARP缺失消息对控制面CPU资源的占用。并且,首次ARP缺失消息的老化时间短,不影响正常数据报文的转发效率。
[0015]可选的,所述第一参数集还包括以下一个或多个:所述ARP假表项的所述第一老化时间;第一 ARP缺失消息计数。
[0016]在所述第一参数集中保存所述ARP假表项的所述第一老化时间和/或所述第一ARP缺失消息计数,使得所述控制面接收到所述第二 ARP缺失消息时,可以根据所述第一参数集中保存的上述参数作为比较对象,设置所述第二老化时间,使得第二老化时间大于所述第一老化时间。
[0017]可选的,所述方法还包括:响应于确定已经保存了所述第一参数集,所述控制面生成并保存第二参数集;所述第二参数集包括所述目的IP地址,所述第二参数集还包括以下一个或多个:
[0018]所述ARP假表项的所述第二老化时间;
[0019]第二ARP失败消息计数,所述第二 ARP失败消息计数大于所述第一 ARP失败消息计数。
[0020]当控制面收到转发面发送的第二ARP缺失消息时,控制面生成并保存第二参数集,用于保存所述目的IP地址,所述第二老化时间和所述第二 ARP失败消息计数。当控制面在接收到所述第二ARP缺失消息之后,如果再次接收到转发面发送的ARP缺失消息,可以根据第二参数集中保存的参数,设置再次发送给所述转发面的所述ARP假表项的老化时间,使得所述控制面发送给转发面的ARP假表项的老化时间逐渐递增。进而逐渐延长转发面收到发往同一所述目的IP地址的攻击报文时,逐渐延长向控制面发送ARP缺失消息的时间间隔。
[0021 ]可选的,所述方法还包括:在所述控制面生成并保存所述第二参数集之后,删除所述第一参数集。
[0022]通过删除所述第一参数集,可以进一步减少所述第一参数集对系统内存资源的占用。
[0023]转发面向控制面发送对应所述目的IP地址的ARP缺失消息的数量减少,有效减少对系统CPU资源的占用,同时减少控制面对外发送ARP请求报文的数量,减少对所述目的IP地址所在子网的主机资源的占用。
[0024]第二方面,提供了一种防止地址解析协议ARP攻击的装置,该装置具有实现上述第一方面的方法中防止ARP攻击的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0025]第三方面,提供了一种网关设备,包括:转发面和控制面,
[0026]所述转发面,用于接收数据报文,根据所述数据报文的目的IP地址查找ARP表,当所述查找失败时,向所述控制面发送ARP缺失消息,所述ARP缺失消息包括所述目的IP地址;
[0027]所述控制面,用于接收所述ARP缺失消息,响应于接收到所述ARP缺失消息,确定所述控制面是否已经保存了包括所述目的IP地址的参数集;
[0028]所述控制面,还用于当确定未保存包括所述目的IP地址的参数集时,生成并保存第一参数集,所述第一参数集包括所述目的IP地址,将对应于第一老化时间的ARP假表项发送给所述转发面,所述ARP假表项中的IP地址为所述目的IP地址,所述ARP假表项中的介质访问控制MAC地址为无效MAC地址;
[0029]所述控制面,还用于当确定已经保存了包括所述目的IP地址的所述第一参数集时,将对应于第二老化时间的所述ARP假表项发送给所述转发面,所述第二老化时间大于所述第一老化时间。
[0030]转发面再次发送ARP缺失消息后接收到ARP假表项的老化时间增加。如果转发面接收到的数据报文是攻击报文,延长了向控制面发送ARP缺失消息的时间间隔。从而降低转发面向控制面发送ARP缺失消息的频率,有效减少了面对ARP攻击时,大量的ARP缺失消息对控制面CPU资源的占用。并且,首次ARP缺失消息的老化时间短,不影响正常数据报文的转发效率。
[0031]可选的,所述第一参数集还包括以下一个或多个:所述ARP假表项的所述第一老化时间;第一 ARP缺失消息计数。
[0032]在所述第一参数集中保存所述ARP假表项的所述第一老化时间和/或所述第一ARP缺失消息计数,使得所述控制面接收到所述第二 ARP缺失消息时,可以根据所述第一参数集中保存的上述参数作为比较对象,设置所述第二老化时间,使得第二老化时间大于所述第一老化时间。
[0033]可选的,所述控制面还用于生成并保存第二参数集;所述第二参数集包括所述目的IP地址
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1