SylixOS ARP攻击解决办法

1.ARP攻击介绍缓存

1.1 ARP协议安全

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

1.2 ARP原理函数

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

1.3 ARP欺骗优化

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

所以,当局域网中的某台机器C向A发送一个本身伪造的ARP应答,而若是这个应答是C冒充B伪造的,即IP地址为B的IP,而MAC地址是伪造的,当A接收到C伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来B的IP地址没有变,而它的MAC地址已经不是原来的MAC。资源

如图 1.1所示,设备A的本地ARP缓存中B的MAC地址为2-2-2,设备B的本地ARP缓存中A的MAC地址为1-1-1,正常通讯。原理

图 1.1 A,B设备间正常通讯配置

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

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

1.4 ARP泛洪

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

所以,当局域网中的某台机器C短期内向A发送大量伪造的源IP地址变化的ARP报文,形成机器A的ARP缓存表资源耗尽,合法用户的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地址)。

相关文章
相关标签/搜索