1. 程式人生 > >SylixOS ARP攻擊解決辦法

SylixOS ARP攻擊解決辦法

ip地址 局域網 計算機 主機

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地址)。


SylixOS ARP攻擊解決辦法