淺談跨網(wǎng)段ARP欺騙的原理及防治策略
出處:維庫電子市場網(wǎng) 發(fā)布于:2023-06-30 13:50:27
網(wǎng)絡安全是指網(wǎng)絡系統(tǒng)的硬件、軟件及其系統(tǒng)中的數(shù)據(jù)受到保護,不因偶然的或者惡意的原因而遭受到破壞、更改、泄露,系統(tǒng)連續(xù)可靠正常地運行,網(wǎng)絡服務不中斷。 網(wǎng)絡安全從其本質(zhì)上來講就是網(wǎng)絡上的信息安全。從廣義來說,凡是涉及到網(wǎng)絡上信息的保密性、完整性、可用性、真實性和可控性的相關技術和理論都是網(wǎng)絡安全的研究領域。網(wǎng)絡安全是一門涉及計算機科學、網(wǎng)絡技術、通信技術、密碼技術、信息安全技術、應用數(shù)學、數(shù)論、信息論等多種學科的綜合性學科。
網(wǎng)絡安全是當今網(wǎng)絡技術的一個重要研究課題,有很強的現(xiàn)實應用背景。在網(wǎng)絡安全防范中,地址解析協(xié)議ARP(Address Resolution Protocol)是一個相當重要的內(nèi)容,也是網(wǎng)絡攻擊者偏向于利用的網(wǎng)絡底層協(xié)議。ARP協(xié)議的設計是建立在局域網(wǎng)內(nèi)計算機互信的基礎上的,這種設計的初衷使得今天局域網(wǎng)內(nèi)出現(xiàn)了大量的與ARP相關的木馬和病毒,嚴重影響了局域網(wǎng)內(nèi)通信的安全和通信效率,給用戶利益帶來了巨大的風險。本文針對跨網(wǎng)段的ARP攻擊進行了研究。
1 ARP協(xié)議
ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫。在局域網(wǎng)中,網(wǎng)絡中實際傳輸?shù)氖恰皫?,幀里面是有目標主機的MAC地址的。在以太網(wǎng)中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協(xié)議獲得的。所謂“地址解析”就是主機在發(fā)送幀前將目標IP地址轉(zhuǎn)換成目標MAC地址的過程。ARP協(xié)議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。
1.1 ARP的作用
ARP工作在數(shù)據(jù)鏈路層,在本層與硬件接口聯(lián)系,同時對上層(網(wǎng)絡層)提供服務。在以太網(wǎng)中,由于以太網(wǎng)設備并不識別32 bit的IP地址,所以數(shù)據(jù)包的傳送不是通過IP地址完成的,而是通過48 bit MAC地址(網(wǎng)卡的物理地址)來完成的,一臺主機要和另一臺主機進行直接通信,必須要知道目標主機的MAC地址。而ARP協(xié)議用于將網(wǎng)絡中的IP地址解析為MAC地址,以保證通信的順利進行。主機每隔一段時間(或者當收到ARP應答)都會用新的地址映射記錄對ARP緩存進行更新,以保證自己擁有的地址解析緩存。
1.2 ARP協(xié)議的安全問題
ARP協(xié)議是建立在信任局域網(wǎng)內(nèi)所有結(jié)點的基礎上的,它高效,但卻不安全。ARP高速緩存根據(jù)所接收到的ARP協(xié)議包隨時進行動態(tài)更新,它是無狀態(tài)的協(xié)議,不會檢查自己是否發(fā)過請求包,只要收到目標MAC是自己的ARP響應數(shù)據(jù)包或ARP廣播包(包括ARP請求數(shù)據(jù)包和ARP響應數(shù)據(jù)包),都會接受并緩存。
2 跨網(wǎng)段的ARP需重新定向的原因
如果是同一網(wǎng)段,ARP欺騙攻擊就可以直接通過洪水攻擊或偽造IP-MAC地址映射表來實現(xiàn)。但是如果偽造包是經(jīng)過路由分段將無法獲得成功,因為即使使用洪水攻擊或者偽造包使得目標主機無法提供服務,失去連接,局域網(wǎng)中的主機也只是在局域網(wǎng)中找目標主機而根本不會與攻擊主機通信,因為主機路由表到目標主機的路由是直接交付而不是經(jīng)過網(wǎng)關交付,這時需要再偽造一個網(wǎng)際控制報文協(xié)議ICMP(Internet Control Message Protocol)重定向報文廣播包,通知目標主機所在的局域網(wǎng)中的所有主機:到達目標主機的短路徑不是直接交付,而是路由,需要重定向。
3 ARP與ICMP跨網(wǎng)段重定向
3.1 ICMP重定向報文格式
ICMP是為了更有效地轉(zhuǎn)發(fā)IP數(shù)據(jù)報和提高交付成功的機會。它在主機和路由器之間差錯情況和提供異常情況的,目的是為了當網(wǎng)絡出現(xiàn)問題的時候返回控制信息。
重定向報文的類型為5,代碼有效值為0~3。其中0代表網(wǎng)絡重定向,1代表主機重定向,2代表服務類型和網(wǎng)絡重定向,3代表服務類型和主機重定向。主機本身不是路由器,所以這種ICMP重定向會導致網(wǎng)絡流量的增大。
3.2 ICMP重定向報文程序
ICMP重新定向所使用的報文程序如下:
//ICMP header
typedef struct _tagX_icmphdr{
unsigned char i_type; //類型
unsigned char i_code; //代碼
unsigned short i_cksum; //檢驗和
unsigned short i_id; //標識符
unsigned short i_seq; //序列號
unsigned long i_timestamp;
//當前時間itmestump=(unsigned long):GetTickCount();
XIcmpHeader;
case ICMP-REDIRECT:
if (code>3)
goto badcode;
if(icmplen< ICMP-ADVLENMIN||icmplen
||icp->icmp-ip·ip-hl<(sizeof(struct ip)》2))
{
icmpstat.icps-badlen++;
break;
}
icmpgw·sin-addr=ip->ip-src;
icmpdst·sin-addr=icp->icmp-gwaddr,
icmpsrc·sin-addr=icp->icmp-ip·ip-dst;
rtredirect ((struct sockaddr*) &icmpsrc,
(struct sockaddr*) &icmpdst,
(struct sockaddr*) 0, RTF-GATEWAY|
RTF-HOST,(struct sockaddr*)&icmpgw,
(struct rtentry**) 0);
ptctlinput (PRC-REDIRECT-HOST,(struct sockaddr*) &icmpsrc);
Break;
3.3 ICMP重定向的工作原理
在Internet網(wǎng)的主機發(fā)送數(shù)據(jù)報時,先查找自己的路由表,判斷發(fā)送接口。出于效率的考慮,主機并不和連接在網(wǎng)絡上的路由器定期交換路由信息,一般在主機中設置一個默認路由器的IP地址,數(shù)據(jù)報先傳送給這個默認路由器,此默認路由器通過與其他路由器交換路由信息得知到達每一個網(wǎng)絡的路由,當默認路由器發(fā)現(xiàn)主機發(fā)往某個目的地址的數(shù)據(jù)報的路由不是本默認路由器而是另一個路由器時,就用改變路由報文把這種情況告訴主機,主機即更改路由表增加一個新路由項目。
3.4 跨網(wǎng)段的ARP欺騙攻擊的實現(xiàn)過程
跨網(wǎng)段的ARP欺騙比同一網(wǎng)段的ARP欺騙要復雜得多,它需要把ARP欺騙與ICMP重定向攻擊結(jié)合在一起。假設A和B在同一網(wǎng)段,C在另一網(wǎng)段。
首先攻擊方C修改IP包的生存時間,將其延長,以便做充足的廣播。然后和上面提到的一樣,尋找主機B的漏洞,攻擊此漏洞,使主機B暫時無法工作。此后,攻擊方C發(fā)送IP地址為B的IP地址192.168.0.2,MAC地址為C的MAC地址CC-CC-CC-CC的ARP應答給A。A接收到應答后,更新其ARP緩存。這樣,在主機A上,B的IP地址就對應C的MAC地址。但是,A在發(fā)數(shù)據(jù)包給B時,仍然會在局域網(wǎng)內(nèi)尋找192.168.0.2的MAC地址,不會把包發(fā)給路由器,這時就需要進行ICMP重定向,告訴主機A到192.168.0.2的短路徑不是局域網(wǎng),而是路由,請主機重定向路由路徑,把所有到192.168.0.2的包發(fā)給路由器。主機A在接收到這個合理的ICMP重定向后,修改自己的路由路徑,把對192.168.0.2的數(shù)據(jù)包都發(fā)給路由器。這樣攻擊方C就能得到來自內(nèi)部網(wǎng)段的數(shù)據(jù)包。
4 ARP病毒的檢測和防范策略
4.1 ARP的檢測方法
(1)主動定位方式。因為所有的ARP病毒攻擊源都會有其特征——網(wǎng)卡會處于混雜模式,可以通過ARPKiller工具掃描網(wǎng)內(nèi)有哪臺機器的網(wǎng)卡是處于混雜模式的,從而判斷這臺機器有可能就是攻擊機。定位好機器后,再做病毒信息收集,提交給相關單位做分析處理。
(2)在任意客戶機上進入命令提示符(或MS-DOS方式),用arp-a命令查看。如果看到有兩個機器的MAC地址相同,那么就可以判斷網(wǎng)絡內(nèi)有ARP欺騙攻擊。
(3)運行tracert–d網(wǎng)址。如果個跳顯示的不是網(wǎng)關而是其他的IP地址,則跳中顯示的IP即為中了ARP病毒計算機的IP地址。
4.2 ARP欺騙的安全防范策略
(1)編寫一個批處理文件arp.bat,實現(xiàn)開機運行,將交換機網(wǎng)關的MAC地址和網(wǎng)關的IP地址綁定,內(nèi)容如下:
@echo off
arp-d
arp-s IP MAC
其中IP和MAC為網(wǎng)關IP地址和MAC地址。
(2)網(wǎng)管交換機端綁定。在交換機上綁定用戶主機的IP地址和網(wǎng)卡的MAC地址,同時在邊緣交換機上將用戶計算機網(wǎng)卡的MAC地址和交換機端口綁定的雙重安全綁定方式。
以思科2950交換機為例,輸入命令:
Switch#config terminal #進入配置模式
Switch(config)# Interface f 0/1
#進入具體端口配置模式
Switch(config-if)switchport
port-security mac-address MAC(主機的MAC地址)
(3)算法的實現(xiàn)。首先,察看是否在發(fā)送ARP請求報文,如果正在發(fā)送,就將該IP加入到數(shù)組ReqAddBuf[i]中。C語言描述如下:
if (SendingReqPack= =1)
{ for (i=1; i<=n ; i++)
{ if (ReqAddBuf[i] = = 0)
{ReqAddBuf[i] = ReqEntryIp;
break;}
else if (i= =n)
{n = n+1;
i = n;
ReqAddBuf[i] = ReqEntryIp; }
}
}
當接收到一個ARP響應報文時,察看它的源IP地址是否記錄在案,如果有,則更新ARP高速緩存;如果沒有,丟棄該響應報文。C語言描述如下:
if (ReceivingResPack= =1)
{ for (i=1; i<=n ; i++)
{if (ReqAddBuf[i]= = ResEntryIP)
{ ReqAddBuf[i]=0;
UpdateArp( );
break;}
else if (i= =n) DelResPack();
}
}
該方案可以通過修改TCP/IP內(nèi)核源代碼(主要是修改廣播ARP請求函數(shù)arprequest和處理接收到的ARP報文的函數(shù)in_arpinput)得以實現(xiàn);也可以做一個軟件,在每次發(fā)送和接收ARP報文時進行相應處理。
(4)使用ARP服務器。ARP服務器保存有局域網(wǎng)內(nèi)各主機的IP地址和MAC地址的映射信息,并且禁用局域網(wǎng)內(nèi)除服務器之外各主機的ARP應答,僅保留服務器對接收到的ARP請求進行應答。但是必須要保證ARP服務器的正常運行,不被黑客攻擊。
(5)使用防火墻等安全產(chǎn)品?,F(xiàn)在大多網(wǎng)絡公司在防火墻等安全產(chǎn)品中加入了對ARP欺騙的防范,它們通常是從底層驅(qū)動對所有ARP欺騙數(shù)據(jù)包進行識別和屏蔽,使ARP欺騙攻擊無功而返。
依據(jù)ICMP的重新定向,ARP欺騙攻擊可以跨網(wǎng)段進行,這樣就擴大了ARP進行攻擊的范圍,這對于ARP欺騙的防御又增添了難度。由于ARP本身的設計問題,使得要徹底避免ARP欺騙攻擊幾乎不可能。因此,除了做好防范以外,經(jīng)常查看當前的網(wǎng)絡狀態(tài),對網(wǎng)絡活動進行分析、監(jiān)控,采取積極、主動的防御行動是保證網(wǎng)絡的安全和暢通的重要和有效的方法。
版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 工業(yè)5G技術在智能制造中的應用與實踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機選型與現(xiàn)場應用技術指南2025/12/18 10:48:14
- 無線傳輸電路基礎,射頻前端設計、天線匹配與鏈路預算計算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點與實現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構、特性與應用全解析2025/9/3 10:29:21









