1、前言
隨著互聯網的不斷發展,TCP/IP協議簇成為使用最廣泛的網絡互連協議。但由于協議設計之初主要應用于研究環境,針對少量、可信的用戶群體,網絡安全問題不是主要的考慮因素,對安全考慮得不夠,導致協議存在著一些安全風險問題。從本篇開始,帶領大家一同了解下常見的網絡攻擊方式和防御手段。
2、MAC地址泛洪
2.1 攻擊原理
交換機收到數據幀后會基于源MAC地址進行學習,形成MAC地址表后便可基于目的MAC查表轉發;如果可以查到則單播轉發,如果查不到則在VLAN內泛洪轉發。基于此,攻擊者向局域網內發生大量偽造MAC地址的數據幀,試圖占滿交換機的MAC地址轉發表。由于表項都具有一定的空間限制,當MAC地址表被占滿后,就無法學習到新的MAC地址。
2.2 防御原理
基于端口或者基于VLAN來限制MAC地址學習數量,可有效防止MAC地址表項被占滿。當MAC地址數量達到上限時可根據需要采取不學習且丟棄、不學習但轉發等不同策略。
3、MAC地址欺騙
3.1 攻擊原理
相比MAC地址泛洪攻擊,MAC地址欺騙攻擊則顯得更加隱蔽。MAC地址欺騙攻擊不會發送大量數據幀,而是發送含有幾個特定源MAC地址(正常用戶的MAC地址)的數據幀,誤導交換機認為自己是網絡中的另一臺主機,從而將本該發送給正常用戶的數據幀發給了攻擊者。
3.2 防御原理
基于源MAC地址學習時增加優先級選項,對于不同接口學習到相同MAC地址時,高優先級接口的MAC地址表項可以覆蓋低優先級接口的MAC地址表項。基于此,可將連接正常用戶接口的優先級配置為最高優先級,以此防范MAC地址欺騙攻擊。
4、IP地址冒用
4.1 攻擊原理
IP地址冒用是指攻擊者使用自己的MAC地址,但是冒用他人的IP地址進行通信,以獲取被攻擊者的權限或者本應發送給被攻擊者的報文。
4.2 攻擊示例
如圖1所示,展示了一個IP地址冒用攻擊示例。
圖1 IP地址冒用攻擊示例
4.3 防御原理
建立一個地址綁定表用于記錄IP地址和MAC地址的對應關系;
收到IP報文后,提取報文頭中的源IP地址查找綁定表中對應的MAC地址,并且與幀頭部包含的實際源MAC地址進行比較;
如果兩者不一致,則認為該報文是非法報文,并將其丟棄;
對于源IP地址不在地址綁定表中的報文,會直接通過IP-MAC綁定檢查。
5、ARP欺騙
5.1 攻擊原理
ARP欺騙是指攻擊者冒用他人的MAC地址發送ARP報文,同樣可以獲取到本應發送給被攻擊者的報文;或者冒用網關的MAC地址,使網絡內所有主機都將報文發給自己。
5.2 攻擊示例
如圖2所示,展示了一個ARP欺騙攻擊示例。
5.3 防御原理
同“3.3 防御原理”。
6、URPF
6.1 攻擊原理
基于源IP地址欺騙發起網絡攻擊。
6.2 攻擊示例
如圖3所示,展示了一個基于源IP地址欺騙攻擊示例,非法用戶發起的這種偽造報文對服務器以及合法用戶都造成了攻擊。
6.3 防御原理
URPF(Unicast Reverse Path Forwarding)即單播逆向路徑轉發,其主要功能是防止基于源地址欺騙的網絡攻擊行為。
一般情況下,路由設備接收到報文,獲取報文的目的IP地址,針對目的IP地址查找路由表,如果找到了就轉發報文,否則丟棄該報文。而URPF對此流程進行了完善,對于嚴格模式:
獲取報文的源IP地址和入接口信息,在路由表中查找源IP地址對應的接口是否與入接口匹配;
如果匹配,則認為源IP地址是真實的,繼續轉發該報文;
如果不匹配,則認為源IP地址是虛假的,直接丟棄該報文。
對于松散模式:
獲取報文的源IP地址和入接口信息,在路由表中查找源IP地址是否存在路由表項;
如果存在,則認為源IP地址是真實的,繼續轉發該報文;
如果不存在,則認為源IP地址是虛假的,直接丟棄該報文。
通過這種方式,URPF能夠有效地防范網絡中通過修改報文源IP地址而進行惡意攻擊行為。
7、結語
網絡安全是一片沒有硝煙的戰場,攻防博弈,此消彼長。知己知彼者,百戰不怠,要想成功防御攻擊必須先清楚攻擊原理。本期內容就到這里,更多攻防技術下期見!