SylixOS ARP攻击解决办法

来源:互联网 发布:最好看的网络爱情小说 编辑:程序博客网 时间:2024/05/20 11:47

1.ARP攻击介绍

1.1 ARP协议

ARP(地址解析协议)位于数据链路层,主要负责将某个IP地址解析成对应的MAC地址。

1.2 ARP原理

当局域网中的某台机器A要向机器B发送报文,会查询本地的ARP缓存表,找到BIP地址对应的MAC地址后,就会进行数据传输。如果未找到,则A广播一个ARP请求报文(携带机器AIP地址,物理地址),请求BIP地址回答对应的MAC地址。局域网所有机器包括B都收到ARP请求,但只有机器B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有BMAC地址,A接收到B的应答后,就会更新本地的ARP缓存,接着使用这个MAC地址发送数据。

1.3 ARP欺骗

在每台主机中,都存有一张ARP缓存表。当计算机接收到ARP应答的时候,就会对本地的ARP缓存表进行更新。

因此,当局域网中的某台机器CA发送一个自己伪造的ARP应答,而如果这个应答是C冒充B伪造的,即IP地址为BIP,而MAC地址是伪造的,当A接收到C伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来BIP地址没有变,而它的MAC地址已经不是原来的MAC

如图 1.1所示,设备A的本地ARP缓存中BMAC地址为2-2-2,设备B的本地ARP缓存中AMAC地址为1-1-1,正常通信。

1.1 A,B设备间正常通信

如图 1.2所示,发生ARP欺骗后,设备A的本地ARP缓存中BMAC地址为3-3-3,设备B的本地ARP缓存中AMAC地址为3-3-3。设备C(攻击源)通过构造假的ARP应答报文和转发数据,能够在不影响设备A和设备B正常通信的情况下实现信息截取。

1.2 产生ARP欺骗后A,B设备通信

1.4 ARP泛洪

在每台主机中,都存有一张ARP缓存表。ARP缓存表的大小是固定的。

因此,当局域网中的某台机器C短时间内向A发送大量伪造的源IP地址变化的ARP报文,造成机器AARP缓存表资源耗尽,合法用户的ARP报文不能生成有效的ARP表项,导致正常的通信中断。

另外,通过向机器A发送大量的ARP报文,会导致CPU负荷过重,影响正常的任务处理。

2.ARP攻击解决思路

ARP攻击不仅会对机器性能造成影响,还可能造成信息被黑客截取。SylixOS能够防御上述ARP攻击行为,为用户提供更安全的网络环境和更稳定的网络服务。

2.1 ARP泛洪解决思路

针对ARP泛洪攻击,原理是短时间内大量的ARP报文会耗尽ARP缓存表,还会导致CPU负荷过重。

解决思路是对ARP报文进行限速处理,避免CPU资源浪费在处理ARP报文上,保证设备的其他任务能正常运行。对ARP缓存表进行扩充,减小单条表项生存时间,保证ARP缓存表不会被耗尽。

2.2 ARP欺骗解决思路

针对ARP欺骗攻击,原理是通过不断向目标设备发送ARP应答报文,从而实现重定向从一个设备到另一个设备的数据包的目的。

解决思路是在协议栈添加询问机制,当ARP缓存表中已存在的IP地址对应的MAC地址发生变化时,会重新发送ARP询问报文。对IP地址相同,MAC地址不同的ARP应答报文,设置限流,超过后采用默认的IP-MAC地址映射(设备第一次记录的IP对应的MAC地址)。

2.3 设计方案

由于对ARP攻击的优化并不是必要的,防止CPU不必要的资源消耗,方案设计中采用模块动态加载的方式进行。

设置HOOK函数,直到ARP模块加载成功后才允许进入。

配置ARP缓存表大小,减小ARP缓存表中每一项的生存时间。

配置ARP限速功能,允许每秒最多处理a(可以配置)个ARP报文,超过限制后开启白名单模式,只允许已经在ARP缓存表内的MAC地址对应的ARP报文通过。

MAC地址相同,IP地址不同的ARP攻击,每秒最多允许b(可以配置)个该MAC地址的ARP报文通过。

IP地址相同,MAC地址不同的ARP攻击,每秒最多允许c(可以配置)个该IP地址的ARP应答报文通过,超过后采用默认的IP-MAC地址映射(设备第一次记录的IP对应的MAC地址)。

原创粉丝点击