引言:ARP協(xié)議是建立在各主機之間相互信任的基礎(chǔ)上的,存在嚴重的安全缺陷,攻擊者只需發(fā)送偽造IP地址和MAC地址的ARP報文,就能產(chǎn)生大量ARP報文阻塞網(wǎng)絡(luò)、實施ARP重定向和欺騙等攻擊。因此,掌握檢測識別ARP攻擊的正確方法,采取防范應(yīng)對ARP攻擊的有效措施,對于保證網(wǎng)絡(luò)穩(wěn)定運行和用戶信息安全具有重要作用。
ARP(Address Resolution Protocol)是 地址解析協(xié)議的簡稱,為IP地址到對應(yīng)的硬件地址之間提供動態(tài)映射。ARP協(xié)議是建立在各主機之間相互信任的基礎(chǔ)上的,存在嚴重的安全缺陷,攻擊者只需發(fā)送偽造IP地址和MAC地址的ARP報文,就能產(chǎn)生大量ARP報文阻塞網(wǎng)絡(luò)、實施ARP重定向和欺騙等攻擊。因此,掌握檢測識別ARP攻擊的正確方法,采取防范應(yīng)對ARP攻擊的有效措施,對于保證網(wǎng)絡(luò)穩(wěn)定運行和用戶信息安全具有重要作用。
ARP攻擊方式分為ARP泛洪攻擊和欺騙攻擊,其中欺騙攻擊包含中間人攻擊、仿冒網(wǎng)關(guān)攻擊和欺騙網(wǎng)關(guān)攻擊等。ARP攻擊存在時會出現(xiàn)各種現(xiàn)象:網(wǎng)絡(luò)掉線但網(wǎng)絡(luò)連接正常,內(nèi)網(wǎng)的部分或者所有計算機不能上網(wǎng),無法打開網(wǎng)頁或打開網(wǎng)頁慢,局域網(wǎng)時斷時續(xù)且網(wǎng)速較慢,有時不斷彈出“本機的0~255段硬件地址與網(wǎng)絡(luò)中的0~255段地址沖突”對話框等等。一旦計算機出現(xiàn)上述現(xiàn)象,可通過下列方法予以檢測識別。
持續(xù)Ping不能訪問的IP地址,如果屏幕提示“Request time out”,表明可能正在遭受攻擊??稍诒还魧ο笊现匦麻_啟另一個DOS窗口,輸入“arp -d”,清除本機上所有的IP和MAC地址的對應(yīng)關(guān)系。此時如果在Ping窗口上持續(xù)出現(xiàn)“Reply from”,表明曾受到ARP攻擊,現(xiàn)已正常;如果僅出現(xiàn)一次“Reply from”后變成“Request time out”,則表明正受到持續(xù)不斷的ARP攻擊。
當主機不能與網(wǎng)關(guān)正常通信時,在DOS界面下輸入“arp–a”命令,查看主機的ARP緩存表。核對ARP緩存表中網(wǎng)關(guān)的MAC地址是否與實際網(wǎng)關(guān)MAC地址一致,不一致表明受到ARP欺騙攻擊。有時在查看ARP表時會發(fā)現(xiàn)有相同MAC對應(yīng)多個IP的情況,此現(xiàn)象一般也是ARP攻擊所致。
查看設(shè)備日志,“display logbuffer”顯示日志緩沖區(qū)的信息,如果發(fā)現(xiàn)有大量密集的IP地址沖突告警,發(fā)生沖突的IP可能在變化,但是發(fā)生沖突的某個MAC地址始終不變,則可判定存在ARP攻擊。查看設(shè)備的ARP表,“display arp”顯示緩存表,如果發(fā)現(xiàn)存在多個IP(一般同屬一個網(wǎng)段)對應(yīng)一個MAC,且對應(yīng)的交換機端口為下行端口,則可判定網(wǎng)絡(luò)中存在ARP攻擊。
當一臺主機實施ARP欺騙攻擊時,以太網(wǎng)卡會將所有不屬于它的數(shù)據(jù)照單全收。按照上述思路,假設(shè)網(wǎng)絡(luò)中被懷疑攻擊源主機的IP為10.11.12.1,那么現(xiàn)在偽造出這樣的一種ICMP數(shù)據(jù)包:MAC地址與局域網(wǎng)內(nèi)任何一臺主機不相同,目的IP是10.11.12.1不變。發(fā)送這個數(shù)據(jù)包,正常的主機會忽略這個數(shù)據(jù)包;而處于網(wǎng)絡(luò)監(jiān)聽模式的主機,由于它的網(wǎng)卡是混雜模式,所以它不對比這個數(shù)據(jù)包的硬件地址,而是將這個數(shù)據(jù)包直接傳到上層并檢查數(shù)據(jù)包的IP,則會對這個Ping數(shù)據(jù)包做出回應(yīng),以此方式實施檢測。
這種模式是Ping方法的一種變體,它使用ARP數(shù)據(jù)包替代了上述ICMP數(shù)據(jù)包。向局域網(wǎng)內(nèi)的主機發(fā)送非廣播方式的ARP包,如果局域網(wǎng)內(nèi)的某個主機響應(yīng)這個ARP請求,那么就可以判斷它很可能就是處于網(wǎng)絡(luò)監(jiān)聽模式,這是目前相對而言比較好的檢測方法。
通過上面的五種方法不難看出,前三種方法對于我們來講是比較容易實施的,在專業(yè)知識上要求不是那么高,后兩種方法要求對網(wǎng)絡(luò)數(shù)據(jù)包和數(shù)據(jù)幀有這較高的知識要求,并不適合于日常管理使用。
ARP攻擊針對ARP協(xié)議的漏洞進行,防范的關(guān)鍵是建立IP地址與MAC地址的對應(yīng)關(guān)系。當前,可管理三層交換機使用較為普遍,充分利用其相關(guān)功能,可實現(xiàn)對ARP攻擊的有效防范和科學(xué)應(yīng)對。
1.設(shè)置靜態(tài)ARP緩存表
計算機通信時,只在本機靜態(tài)緩存中根據(jù)對方IP地址找到相應(yīng)的MAC地址,然后直接發(fā)送給對方,避免緩存表被錯誤刷新。新建一個文本文檔,輸入以下命令:
配置完成后,保存類型為*.bat文件,依次打開“Windows”、“開始”、“程序”、“啟動”并將這個批處理文件復(fù)制到其中,系統(tǒng)啟動時自動加載靜態(tài)ARP表。該方法必須手工設(shè)置靜態(tài)IP-MAC地址映射,適合于小型局域網(wǎng)。
2.計算機系統(tǒng)安全加固
目前很多常見的ARP攻擊常常以病毒程序的形式存在,要經(jīng)常升級系統(tǒng)補丁程序,更新殺毒軟件和病毒庫,給系統(tǒng)管理員賬戶設(shè)置健壯的密碼,關(guān)閉一些不需要的服務(wù)。同時,還可以在系統(tǒng)上安裝ARP專殺軟件和病毒防火墻產(chǎn)品,保障主機與網(wǎng)關(guān)之間的數(shù)據(jù)流向不經(jīng)過第三者。
1.運用VLAN技術(shù)劃分子網(wǎng)
一般情況下,ARP廣播包不能跨子網(wǎng)或網(wǎng)段傳播。一個VLAN就是一個邏輯廣播域,運用VLAN技術(shù)劃分多個子網(wǎng),使局域網(wǎng)縮小了廣播范圍,也就降低了ARP攻擊產(chǎn)生的幾率。將相互信任的主機所在的安全子網(wǎng)與可能發(fā)生攻擊的不安全子網(wǎng)隔離開來,子網(wǎng)間的通信由三層交換機做“代理”,即使一個VLAN受到ARP攻擊,也不影響其他VLAN主機。
2.ARP泛洪攻擊防范
ARP報文限速。在全局、VLAN和接口下配置ARP報文和ARP Miss消息的限速值與限速時間,也可針對源MAC地址或源IP地址、目的IP地址進行ARP報文限速。
ARP表項限制。設(shè)定網(wǎng)關(guān)能學(xué)習(xí)到的最大動態(tài)ARP表項數(shù)目,防止ARP緩存表溢出。設(shè)置網(wǎng)關(guān)免費ARP報文主動丟棄,防止設(shè)備處理大量免費ARP報文導(dǎo)致CPU負荷過重而無法處理其他業(yè)務(wù)。
ARP表項嚴格學(xué)習(xí)。只有網(wǎng)關(guān)主動發(fā)送的ARP請求報文的應(yīng)答報文才能觸發(fā)ARP學(xué)習(xí),其他設(shè)備主動向網(wǎng)關(guān)發(fā)送的ARP報文不能觸發(fā)ARP學(xué)習(xí)。防止設(shè)備收到大量ARP攻擊報文時,ARP表被無效的條目占滿或錯誤地更新表項,可在一定程度上防御泛洪攻擊和欺騙攻擊。
3.ARP欺騙攻擊防范
ARP表項固化。網(wǎng)關(guān)設(shè)備第一次學(xué)習(xí)到ARP后,不再允許用戶更新此ARP表項,或者通過網(wǎng)關(guān)發(fā)送單播ARP請求報文的方式對更新ARP條目的報文進行合法性確認,可防御欺騙網(wǎng)關(guān)攻擊。
動態(tài)ARP檢測。利用綁定表來防御中間人攻擊,當接入設(shè)備收到ARP報文時,將此ARP報文對應(yīng)的源IP、源MAC、VLAN以及接口信息與綁定表的信息進行對比,如果信息匹配,允許此用戶的ARP報文通過,否則就認為是攻擊,丟棄該ARP報文。當DHCP用戶上線時,接入設(shè)備會自動生成DHCP Snooping綁定表;對于靜態(tài)配置IP地址的用戶,需手動添加靜態(tài)綁定表。
ARP防網(wǎng)關(guān)沖突。為了防范欺騙網(wǎng)關(guān)攻擊,當設(shè)備收到的ARP報文的源IP地址與對應(yīng)的網(wǎng)關(guān)IP地址相同時,在后續(xù)一段時間內(nèi)丟棄該接口收到的同源MAC地址的ARP報文,可以防止與網(wǎng)關(guān)地址沖突的ARP報文在VLAN內(nèi)廣播。啟用發(fā)送免費ARP報文功能,通過廣播發(fā)送正確的免費ARP報文到所有用戶,迅速將已經(jīng)被攻擊的用戶記錄的錯誤網(wǎng)關(guān)地址映射關(guān)系修改正確。
ARP報文合法性檢查。檢查ARP報文中源MAC地址與以太網(wǎng)數(shù)據(jù)幀首部中的源MAC地址是否一致,檢查ARP應(yīng)答報文中的目的MAC地址與以太網(wǎng)數(shù)據(jù)幀首部中的目的MAC地址是否一致,一致則認為合法,否則丟棄報文。ARP報文中的源IP和目的IP地址全0、全1,或者組播IP地址都是不合法的,應(yīng)予丟棄。
對于在日常生活中遇到的ARP攻擊,絕大多數(shù)都是網(wǎng)絡(luò)中部分終端感染了ARP病毒,對基礎(chǔ)的網(wǎng)絡(luò)設(shè)備和安全設(shè)備進行一定的配置,并且加上終端上使用的軟件網(wǎng)絡(luò)防火墻,比如360木馬防火墻等,都可以開啟局域網(wǎng)防ARP攻擊等功能,這樣整個網(wǎng)絡(luò)基本上可以避免ARP攻擊。