專利名稱:防止多個(gè)主機(jī)的異步arp高速緩存中毒的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及局域網(wǎng)(LAN),具體地說,涉及局域網(wǎng)上的安全。更具體地說,本發(fā)明涉及用于防止局域網(wǎng)上的地址解析協(xié)議(ARP)高速緩存中毒的方法和系統(tǒng)。
背景技術(shù):
隨著日益廣泛地利用電子網(wǎng)絡(luò)來支持個(gè)人/安全數(shù)據(jù)事務(wù)和數(shù)據(jù)通信,增強(qiáng)的網(wǎng)絡(luò)安全是那些設(shè)計(jì)/配置、設(shè)置、管理以及使用電子網(wǎng)絡(luò)的人所需的必需品。常規(guī)的局域網(wǎng)(LAN)例如現(xiàn)在包括服務(wù)器和客戶機(jī)系統(tǒng),其只有在用戶已被訪問設(shè)備(例如,客戶機(jī)系統(tǒng))認(rèn)證之后才允許客戶機(jī)系統(tǒng)的用戶訪問存儲(chǔ)在網(wǎng)絡(luò)上的信息并與之交互。
常規(guī)局域網(wǎng)內(nèi)利用的一種更普遍的尋址協(xié)議是地址解析協(xié)議(ARP)。ARP以及與之相關(guān)的以上和其他功能是本領(lǐng)域公知的。ARP協(xié)議被用來將IP地址“映射”到MAC地址。當(dāng)主機(jī)系統(tǒng)接收到ARP請(qǐng)求時(shí),路由器將一個(gè)表項(xiàng)添加到其ARP高速緩存,所述ARP高速緩存將IP地址映射到設(shè)備的MAC地址。這在以后被用來將路由器接收的定址到所述IP地址的數(shù)據(jù)分組路由/轉(zhuǎn)發(fā)到正確的設(shè)備(由MAC地址來標(biāo)識(shí))。ARP請(qǐng)求被廣播到局域網(wǎng)上的所有節(jié)點(diǎn)并指示其ARP高速緩存包含此IP地址的節(jié)點(diǎn)將高速緩存中與此IP地址關(guān)聯(lián)的MAC地址更改為所述設(shè)備的MAC地址。
接收到的ARP請(qǐng)求包括發(fā)起該ARP請(qǐng)求的設(shè)備的MAC和IP地址以及堆棧的IP地址。由接收系統(tǒng)生成ARP響應(yīng),其包括堆棧的MAC地址。
ARP利用廣播并且不具有任何形式的認(rèn)證過程。由于這些特性,ARP尤其容易受到未授權(quán)用戶的攻擊。通常利用ARP進(jìn)行的一種類型的攻擊包括使用偽造的ARP響應(yīng)。借助偽造的ARP響應(yīng),攻擊者能夠取代局域網(wǎng)中的其他設(shè)備來發(fā)送和接收分組。此外,攻擊者可以實(shí)施本領(lǐng)域中稱為“中間人”攻擊的攻擊,其允許攻擊者攔截來自源的所有分組并重放分組。
對(duì)于局域網(wǎng)內(nèi)的安全,基于協(xié)議中的固有局限的上述攻擊成為一個(gè)問題,其甚至使得安全局域網(wǎng)易受到來自內(nèi)部的安全攻擊。例如,ARP高速緩存中毒操作是一種公知的破壞網(wǎng)絡(luò)安全的嘗試。攻擊者通過發(fā)送被自動(dòng)地放入受害設(shè)備(或主機(jī))的ARP高速緩存中的偽造的ARP響應(yīng)來“毒害”未受保護(hù)的系統(tǒng)的ARP高速緩存。一旦攻擊者成功地侵蝕了受害主機(jī)的ARP高速緩存,則攻擊者然后能夠執(zhí)行“中間人”攻擊來讀取/檢測(cè)專用網(wǎng)絡(luò)業(yè)務(wù)(例如,密碼等)。雖然此特定攻擊必須由局域網(wǎng)上的人來執(zhí)行,但其仍然被認(rèn)為是一個(gè)安全缺口。
目前已存在多種不同的解決方案來阻止此中間人攻擊。在這些解決方案中,第一個(gè)解決方案涉及硬編碼ARP查找表中的永久性ARP表項(xiàng)。這些表項(xiàng)不能被傳入ARP響應(yīng)所改寫。此解決方案的主要缺點(diǎn)是,由于ARP表項(xiàng)被管理員硬編碼,所以只要局域網(wǎng)內(nèi)的任何信息發(fā)生改變(例如,添加新的主機(jī)、主機(jī)名稱變更、其他以太網(wǎng)卡等),就必須維護(hù)這些表項(xiàng)。此管理維護(hù)要求監(jiān)視并且,出于這樣和那樣的原因,是低效率的。
第二個(gè)解決方案涉及編寫一個(gè)程序,該程序記錄所有傳出ARP請(qǐng)求和所有傳入ARP響應(yīng),然后驗(yàn)證每個(gè)響應(yīng)都具有相應(yīng)的請(qǐng)求。此解決方案在萬維網(wǎng)(www)站點(diǎn)cs.sjsu.edu/faculty/stamp/students/Silky_report.pdf.進(jìn)行了描述。根據(jù)此解決方案,每當(dāng)新的響應(yīng)進(jìn)入時(shí)(例如來自攻擊者),如果判定該響應(yīng)沒有被授權(quán),則忽略該響應(yīng)。此外,可以出于安全目的記錄(檢測(cè))發(fā)送主機(jī)的IP地址。對(duì)于所有的ARP業(yè)務(wù),此解決方案要求額外的開銷。網(wǎng)絡(luò)上的每個(gè)主機(jī)都必須運(yùn)行此程序以便保護(hù)其自己的高速緩存。因此,需要大量重復(fù)的努力。
本發(fā)明認(rèn)識(shí)到,需要實(shí)現(xiàn)一種能夠在沒有上述兩種解決方案的局限性的情況下充分地消除通過ARP高速緩存中毒進(jìn)行的上述網(wǎng)絡(luò)攻擊的解決方案。
發(fā)明內(nèi)容
本發(fā)明公開了一種用于在具有多個(gè)主機(jī)的網(wǎng)絡(luò)系統(tǒng)中防止地址解析協(xié)議(ARP)高速緩存中毒的方法和系統(tǒng)。代表和/或位于單獨(dú)的局域網(wǎng)(LAN)中的多個(gè)主機(jī)被配置成(通過每個(gè)主機(jī)中編碼的共享協(xié)議)為每個(gè)所代表的局域網(wǎng)使用可信賴ARP高速緩存。只要在第一局域網(wǎng)中檢測(cè)到新的ARP響應(yīng),驗(yàn)證請(qǐng)求就被發(fā)送給第二局域網(wǎng)中的第二主機(jī)。所述第二主機(jī)為所述ARP響應(yīng)內(nèi)的IP和MAC地址啟動(dòng)驗(yàn)證過程。如果所述ARP響應(yīng)內(nèi)的所述地址被驗(yàn)證(是新的),則更新所述可信賴ARP高速緩存以反映從所述ARP響應(yīng)獲取的新地址信息。
但是,如果與所述ARP響應(yīng)內(nèi)的地址信息/數(shù)據(jù)有關(guān)的多個(gè)預(yù)定沖突中的任何一個(gè)沖突發(fā)生(例如,所述響應(yīng)中只有一個(gè)MAC地址和IP地址重復(fù)),則不使用來自所述ARP響應(yīng)的所述信息來更新所述可信賴ARP高速緩存。在一個(gè)實(shí)施例中,將沖突通知發(fā)送給網(wǎng)絡(luò)管理員。因此,只有當(dāng)需要時(shí)才會(huì)發(fā)生所述ARP響應(yīng)的驗(yàn)證,并且單個(gè)主機(jī)就能夠保護(hù)整個(gè)局域網(wǎng),這極大地減小了維護(hù)和保護(hù)網(wǎng)絡(luò)的重復(fù)努力。
在以下的詳細(xì)書面說明中,本發(fā)明的上述以及其他目標(biāo)、特征和優(yōu)點(diǎn)將變得顯而易見。
當(dāng)結(jié)合附圖閱讀時(shí),通過參考以下對(duì)示例性實(shí)施例的詳細(xì)說明,可以最佳地理解發(fā)明本身及其優(yōu)選使用方式、進(jìn)一步的目的和優(yōu)點(diǎn),這些附圖是圖1是示出了其中可以根據(jù)本發(fā)明的一個(gè)實(shí)施例實(shí)現(xiàn)本發(fā)明的各種特性的具有本地化主機(jī)和可信賴ARP表的兩個(gè)連接的局域網(wǎng)(LAN)的網(wǎng)絡(luò)的方塊圖;圖2是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的作為圖1的局域網(wǎng)內(nèi)的主機(jī)使用的數(shù)據(jù)處理系統(tǒng)的基本組件的方塊圖;
圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性可信賴ARP高速緩存的方塊圖;圖4A是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的局域網(wǎng)注冊(cè)和管理設(shè)置主機(jī)和可信賴ARP高速緩存以實(shí)現(xiàn)阻止毒害ARP高速緩存的嘗試的流程圖;以及圖4B是根據(jù)本發(fā)明的一個(gè)實(shí)施例的在標(biāo)準(zhǔn)的ARP響應(yīng)處理期間監(jiān)視毒害ARP高速緩存的嘗試的過程的流程圖。
具體實(shí)施例方式
本發(fā)明提供了一種用于在具有多個(gè)主機(jī)的網(wǎng)絡(luò)系統(tǒng)中防止地址解析協(xié)議(ARP)高速緩存中毒的方法和系統(tǒng)??尚刨嘇RP高速緩存由代表多個(gè)局域網(wǎng)(LAN)中的一個(gè)局域網(wǎng)的相應(yīng)主機(jī)來提供和使用,所述多個(gè)局域網(wǎng)通過網(wǎng)關(guān)連接以便形成電子網(wǎng)絡(luò)系統(tǒng)。只要在所述局域網(wǎng)中的第一局域網(wǎng)中檢測(cè)到新的ARP響應(yīng),驗(yàn)證其中的IP和MAC地址的請(qǐng)求就被發(fā)送給第二局域網(wǎng)中的至少第二主機(jī)。接收所述請(qǐng)求的所述第二主機(jī)啟動(dòng)用于所述ARP響應(yīng)(地址)的認(rèn)證過程。如果所述ARP響應(yīng)被認(rèn)證,則所述多個(gè)局域網(wǎng)的(多個(gè))可信賴ARP高速緩存被更新以反映從所述ARP響應(yīng)獲取的新地址信息。但是,如果與ARP響應(yīng)內(nèi)的地址有關(guān)的多個(gè)預(yù)定沖突中的任何一個(gè)沖突發(fā)生(例如,MAC地址和IP地址的不一致配對(duì),其中在ARP高速緩存內(nèi)的不同配對(duì)中發(fā)現(xiàn)單個(gè)地址),則不使用所述信息來更新ARP高速緩存并且將沖突通知發(fā)送給網(wǎng)絡(luò)管理員。
現(xiàn)在參考附圖,具體地說參考圖1,其中示出了包括兩個(gè)互聯(lián)的局域網(wǎng)的示例性網(wǎng)絡(luò)系統(tǒng)。值得注意地,雖然使用了兩個(gè)局域網(wǎng)來描述示例性實(shí)施例,但是本發(fā)明可等同地應(yīng)用于具有多個(gè)互聯(lián)的局域網(wǎng)的更大的網(wǎng)絡(luò)系統(tǒng)。此系統(tǒng)的關(guān)鍵組件是各個(gè)局域網(wǎng)都維護(hù)單獨(dú)的主計(jì)算機(jī)(或網(wǎng)關(guān)),并且它們都被預(yù)先配置成參考它們各自的局域網(wǎng)內(nèi)的單個(gè)安全/可信賴ARP高速緩存。
如圖所示,每個(gè)示例性局域網(wǎng)105、115都包括多個(gè)通過網(wǎng)絡(luò)結(jié)構(gòu)/主干106、116(由相應(yīng)的云表示)相互連接以進(jìn)行通信的計(jì)算機(jī)110、111??梢允褂冒ɡ缫蕴W(wǎng)、1394或802.11b的多種已知結(jié)構(gòu)中的一種結(jié)構(gòu)來設(shè)計(jì)網(wǎng)絡(luò)主干106、116。此外,網(wǎng)絡(luò)主干106、116可以包括許多公知的組件(如路由器、網(wǎng)關(guān)、集線器等),并且可以允許計(jì)算機(jī)110、111通過有線和/或無線介質(zhì)進(jìn)行通信。
計(jì)算機(jī)110、111可以被實(shí)現(xiàn)為任何適合的計(jì)算設(shè)備,例如個(gè)人計(jì)算機(jī)、服務(wù)器、手持設(shè)備、打印機(jī)、交換機(jī)、路由器、網(wǎng)橋、中繼器等。計(jì)算機(jī)110、111被示出為具有IP地址和關(guān)聯(lián)的MAC地址(對(duì)于每個(gè)設(shè)備來說都是唯一的)。因此,局域網(wǎng)105的計(jì)算機(jī)110被示出為具有IP地址IP1…IPn和MAC地址MAC1…MACn,而局域網(wǎng)115的計(jì)算機(jī)111被示出為具有IP地址IPa…IPz和MAC地址MACa…MACz。對(duì)于每個(gè)局域網(wǎng)105、115,選擇一個(gè)計(jì)算機(jī)作為主機(jī)(或主計(jì)算機(jī)或服務(wù)器)107、117來運(yùn)行。主機(jī)107、117可以是執(zhí)行管理網(wǎng)絡(luò)任務(wù)和管理局域網(wǎng)上其他組件以及網(wǎng)絡(luò)本身的網(wǎng)絡(luò)服務(wù)器。在示例性實(shí)施例中,主機(jī)107、117還是局域網(wǎng)105、115之間的連接點(diǎn)/設(shè)備。
主機(jī)107、117是計(jì)算機(jī)系統(tǒng),其可以被配置成與其他計(jì)算機(jī)110、111相類似,但是其配備有額外的硬件和功能軟件以便實(shí)現(xiàn)用于管理網(wǎng)絡(luò)的各種功能,包括由本發(fā)明所提供的那些功能。根據(jù)一個(gè)實(shí)施例,主機(jī)107、117用作它們各自的局域網(wǎng)105、115的網(wǎng)關(guān)。與每個(gè)主機(jī)107、117關(guān)聯(lián)的是可信賴ARP高速緩存(以下稱為首字母縮寫詞TARPC)131、132,其實(shí)現(xiàn)將被實(shí)施的本發(fā)明的ARP響應(yīng)認(rèn)證功能。下面將詳細(xì)描述TARPC131、132的功能和使用。
在一個(gè)替代實(shí)施例中,在局域網(wǎng)105、115之間的互連120上提供了單獨(dú)的網(wǎng)關(guān)125。在此替代配置中,單個(gè)可信賴高速緩存130被連接到網(wǎng)關(guān)125并用于互連的局域網(wǎng)106、116的整個(gè)網(wǎng)絡(luò)。網(wǎng)關(guān)之間存在通信,其在新的ARP響應(yīng)發(fā)生時(shí)維護(hù)可信賴ARP高速緩存。這些網(wǎng)關(guān)(而不是所述主機(jī)系統(tǒng),在此實(shí)現(xiàn)中)通過將ARP響應(yīng)與局域網(wǎng)107、117的可信賴ARP高速緩存進(jìn)行比較來判定ARP響應(yīng)的有效性。
圖2提供了示例性主機(jī)(也是示例性計(jì)算機(jī)系統(tǒng))的方塊圖,所述主機(jī)在此被可互換地稱為主系統(tǒng)或主設(shè)備。在其最基本的配置中,主系統(tǒng)107、117是包括至少一個(gè)處理器205和存儲(chǔ)器210以及輸入/輸出(I/O)設(shè)備控制器215的計(jì)算機(jī)系統(tǒng)。與I/O設(shè)備控制器215相連的是各種I/O設(shè)備,其中鍵盤216和鼠標(biāo)217被示作輸入設(shè)備,而顯示裝置218被示作輸出設(shè)備。
主系統(tǒng)107、117還包括網(wǎng)絡(luò)接口設(shè)備(NID)220,通過它將主系統(tǒng)107、117連接到網(wǎng)絡(luò)100(如所配置的,具有內(nèi)部局域網(wǎng)連接以及外部局域網(wǎng)連接)。因此,網(wǎng)絡(luò)接口設(shè)備220使得主系統(tǒng)107、117能夠與通用網(wǎng)絡(luò)100上的其他系統(tǒng)進(jìn)行通信。主系統(tǒng)107、117上的通信介質(zhì)能夠完成到網(wǎng)絡(luò)的通信連接并因此完成到網(wǎng)絡(luò)的其他系統(tǒng)的通信連接。通信介質(zhì)包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或調(diào)制后的數(shù)據(jù)信號(hào)(如載波或其他傳輸機(jī)制)中的其他數(shù)據(jù)并包括任何信息傳送介質(zhì)。通過實(shí)例的方式,并且并非進(jìn)行限制,通信介質(zhì)包括有線介質(zhì)(如有線網(wǎng)絡(luò)或直接導(dǎo)線連接)和無線介質(zhì)(如聲音、RF、紅外和其他無線介質(zhì))。此處所用的術(shù)語計(jì)算機(jī)可讀介質(zhì)包括存儲(chǔ)介質(zhì)和通信介質(zhì)兩者。網(wǎng)絡(luò)接口設(shè)備220提供了一個(gè)或多個(gè)網(wǎng)絡(luò)接口,并可以由網(wǎng)絡(luò)接口卡(NIC)來表示。
取決于主系統(tǒng)107、117的確切配置和類型,存儲(chǔ)器210可以是易失性(如RAM)、非易失性(如ROM或閃存)或這兩種存儲(chǔ)器的某種組合。在示例性實(shí)施例中,主系統(tǒng)107、117維護(hù)此處被稱為TARPC 131的數(shù)據(jù)庫(kù)或存儲(chǔ)設(shè)備。TARPC 131可以位于存儲(chǔ)器內(nèi)部或者是處理器205的其他高速緩存,或者可以是與主系統(tǒng)107、117相連的獨(dú)立數(shù)據(jù)庫(kù)。TARPC 131被設(shè)計(jì)成完全避免網(wǎng)絡(luò)侵蝕并可以由局域網(wǎng)管理員來維護(hù)/監(jiān)視。
雖然沒有具體地示出,但是主系統(tǒng)107、117還可以包括其他硬件設(shè)備。例如,主計(jì)算機(jī)107、117還可以包括附加的存儲(chǔ)介質(zhì)(可移動(dòng)的和/或不可移動(dòng)的),所述存儲(chǔ)介質(zhì)包括但不限于磁盤或光盤或磁帶。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是在任何用于存儲(chǔ)信息(如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù))的方法或技術(shù)中實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于RAM、ROM、EEPROM、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字通用盤(DVD)或其他光學(xué)存儲(chǔ)裝置、磁帶盒、磁帶、磁盤存儲(chǔ)裝置或其他磁存儲(chǔ)設(shè)備,或者是任何其他可以用來存儲(chǔ)所需信息并可以被主計(jì)算機(jī)107、117存取的介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都可以是主系統(tǒng)107、117的一部分。
在主系統(tǒng)107、117內(nèi)的是軟件組件,其中示出了操作系統(tǒng)(OS)212和網(wǎng)絡(luò)應(yīng)用213。還示出了IP堆棧和NID 220(實(shí)現(xiàn)通過IP和ARP的網(wǎng)絡(luò)通信)內(nèi)的代碼。與主系統(tǒng)107、117的硬件(和固件)組件結(jié)合執(zhí)行的這些和其他軟件組件的組合允許通過TARPC 131實(shí)現(xiàn)認(rèn)證過程,所述認(rèn)證過程用于由主系統(tǒng)107、117從通用網(wǎng)絡(luò)100上的其他設(shè)備接收的ARP響應(yīng)。
網(wǎng)絡(luò)100通過ARP完成其設(shè)備尋址功能,當(dāng)目的地設(shè)備的因特網(wǎng)協(xié)議(IP)地址已知時(shí),這使得網(wǎng)絡(luò)上的設(shè)備能夠找到用于數(shù)據(jù)通信的媒體訪問控制(MAC)地址。在每個(gè)主機(jī)107、117處,ARP通過廣播目的地的IP地址來確定目的地主機(jī)(或網(wǎng)關(guān))的MAC地址。收集的IP地址及其相應(yīng)的MAC地址被以表的形式存儲(chǔ)在每個(gè)主系統(tǒng)107、117的存儲(chǔ)器(即,ARP高速緩存)中,并在分組傳輸過程中使用。根據(jù)本發(fā)明,當(dāng)評(píng)估ARP響應(yīng)時(shí),傳統(tǒng)ARP高速緩存的使用被網(wǎng)絡(luò)層TARPC 131的使用所取代。
圖3中示出了示例性的TARPC 131。如圖所示,TARPC 131包括排成表格格式的IP地址305和相應(yīng)的MAC地址310以及用于IP地址的關(guān)聯(lián)輸出端口315。此外,TARPC 131包括高層安全功能320,其通過主系統(tǒng)107、117和管理員325僅允許已認(rèn)證的訪問。在ARP響應(yīng)處理期間,在主機(jī)上的TARPC 131的使用將參考圖4B在以下進(jìn)行詳細(xì)描述。
利用以上網(wǎng)絡(luò)配置,本發(fā)明通過引入網(wǎng)絡(luò)層TARPC和關(guān)聯(lián)的擴(kuò)展ARP響應(yīng)過程來擴(kuò)展了易遭到(中間人和其他類似類型的)攻擊的各個(gè)ARP高速緩存的功能,所述網(wǎng)絡(luò)層TARPC和關(guān)聯(lián)的擴(kuò)展ARP響應(yīng)過程充分地消除了對(duì)此類攻擊的敏感度并因此作為一個(gè)整體為網(wǎng)絡(luò)提供了更大的安全保護(hù)。本發(fā)明將TARPC置于網(wǎng)絡(luò)層,其中每個(gè)主機(jī)都可以訪問不同局域網(wǎng)上的其他主機(jī)的TARPC。如圖4A所述,在網(wǎng)絡(luò)設(shè)計(jì)/配置/設(shè)置期間,一組觸發(fā)本發(fā)明的功能的協(xié)議被編碼到相應(yīng)的主機(jī)中。
圖4A是在網(wǎng)絡(luò)內(nèi)設(shè)置ARP響應(yīng)認(rèn)證處理的過程的流程圖。首先,在方塊401,創(chuàng)建用于整個(gè)局域網(wǎng)的TARPC,然后在方塊403,將使用了TARPC功能的所需ARP響應(yīng)認(rèn)證代碼添加到局域網(wǎng)的主系統(tǒng)內(nèi)的地址解析協(xié)議。所述局域網(wǎng)被通信地互連(通過主系統(tǒng)和/或網(wǎng)關(guān))。如方塊405所示,一旦主系統(tǒng)被配置成互連,將根據(jù)以下在圖4B中描述的過程來處理所有ARP響應(yīng)。
將新的局域網(wǎng)添加到網(wǎng)絡(luò)受到監(jiān)視(通過管理員或某些內(nèi)置的監(jiān)視組件),并且在方塊405判定此類事件是否發(fā)生。只要新的局域網(wǎng)(具有關(guān)聯(lián)的主系統(tǒng))被添加到網(wǎng)絡(luò),該網(wǎng)絡(luò)的管理員就設(shè)置所述主系統(tǒng)使用所述ARP響應(yīng)認(rèn)證過程,如方塊409所示。以這種方式,就處理ARP響應(yīng)而言,所有局域網(wǎng)(或主系統(tǒng))都被類似地配置并且沒有主系統(tǒng)易于受到侵蝕,因?yàn)檫@將依次侵蝕網(wǎng)絡(luò)中的其他主系統(tǒng)。
現(xiàn)在轉(zhuǎn)到圖4B,其中示出了通過網(wǎng)絡(luò)中的主系統(tǒng)來處理(即,認(rèn)證/驗(yàn)證)接收到的ARP響應(yīng)的過程。所述過程開始于方塊421,其中在主系統(tǒng)處接收到ARP響應(yīng)。如方塊423所示,所述主系統(tǒng)訪問安全TARPC并將該ARP響應(yīng)中的IP和MAC地址與TARPC中的IP和MAC地址進(jìn)行比較。此比較可以作為兩個(gè)單獨(dú)的比較來完成,借助此比較,IP地址首先被與TARPC中的所有IP地址進(jìn)行比較,然后MAC地址被與TARPC中的所有MAC地址進(jìn)行比較。當(dāng)在此實(shí)施中出現(xiàn)某一地址匹配時(shí),關(guān)聯(lián)的地址然后被自動(dòng)地比較以判定配對(duì)是否已經(jīng)在TARPC中存在。
返回到過程流,在方塊425,判定所述IP地址和MAC地址是否是新地址(即,當(dāng)前不存在于TARPC內(nèi)的地址)。如方塊427所示,當(dāng)兩個(gè)地址都是新地址時(shí),主機(jī)繼續(xù)ARP處理并使用新的IP地址和MAC地址配對(duì)/組合來更新TARPC。由于沒有沖突,使用該新的ARP表項(xiàng)來更新用于參與網(wǎng)絡(luò)的可信賴ARP高速緩存。
當(dāng)IP地址或MAC地址中的任意一個(gè)地址存在于可信賴ARP高速緩存中的不同配對(duì)內(nèi)時(shí)(即,ARP響應(yīng)包含現(xiàn)有IP地址或現(xiàn)有MAC地址的重復(fù)表項(xiàng)),則判定所述地址配對(duì)中的一個(gè)地址是否是重復(fù)表項(xiàng)(即,該地址已存在于TARPC內(nèi)的不同配對(duì)中)。如果只有一個(gè)地址是重復(fù)表項(xiàng),則在方塊431,主機(jī)立即阻止對(duì)TARPC的更新,并且如方塊433所示,將發(fā)送通知以警告局域網(wǎng)管理員可能毒害ARP高速緩存的嘗試。
因此,通過將新的ARP響應(yīng)與TARPC的內(nèi)容進(jìn)行比較,任何現(xiàn)有沖突都被標(biāo)識(shí)并且標(biāo)識(shí)所述沖突會(huì)觸發(fā)將通知傳輸給系統(tǒng)管理員。通過實(shí)現(xiàn)本發(fā)明的方法,可以為每個(gè)參與網(wǎng)絡(luò)(跨多個(gè)互連的局域網(wǎng)、廣域網(wǎng)等)維護(hù)未中毒的ARP高速緩存并檢測(cè)到來自網(wǎng)絡(luò)內(nèi)部的ARP高速緩存中毒嘗試。
圖1示出了特定的示例性網(wǎng)絡(luò),該網(wǎng)絡(luò)具有處理來自攻擊客戶機(jī)的ARP響應(yīng)的網(wǎng)關(guān)。示出了三個(gè)網(wǎng)關(guān)125,為了簡(jiǎn)單起見被標(biāo)為網(wǎng)關(guān)1、網(wǎng)關(guān)2和網(wǎng)關(guān)3。每個(gè)網(wǎng)關(guān)125具有/維護(hù)關(guān)聯(lián)的TARPC(或TARPC表)130。網(wǎng)關(guān)125通過網(wǎng)絡(luò)互連150(為了簡(jiǎn)單起見,示為直線連接)來互連。多個(gè)客戶機(jī)110被連接到每個(gè)網(wǎng)關(guān)(直接或經(jīng)由路由器/主機(jī)(未示出))。這些客戶機(jī)107中的一個(gè)客戶機(jī)被示為攻擊客戶機(jī)107’(即,被想要侵蝕網(wǎng)絡(luò)上的ARP高速緩存的用戶所使用的客戶機(jī))。攻擊客戶機(jī)107’具有盜用另一個(gè)合法客戶機(jī)107”的IP地址。
應(yīng)用以上圖4B的過程,網(wǎng)關(guān)1從攻擊客戶機(jī)107’接收ARP表項(xiàng),并且當(dāng)將其與本地TARPC中的配對(duì)進(jìn)行比較時(shí),注意到對(duì)于該ARP表項(xiàng)內(nèi)的IP地址存在第二個(gè)不同的MAC表項(xiàng)或反之亦然(即,對(duì)于MAC地址,存在第二個(gè)不同的IP表項(xiàng))。因此,網(wǎng)關(guān)1向網(wǎng)關(guān)2和/或網(wǎng)關(guān)3的TARPC發(fā)出查詢。在一個(gè)實(shí)施例中,只查詢一個(gè)其他TARPC,而替代實(shí)施例可以提供對(duì)跨網(wǎng)絡(luò)的多個(gè)其他TARPC的查詢。被查詢的(多個(gè))TARPC的(多個(gè))網(wǎng)關(guān)使用來自所述TARPC的正確表項(xiàng)來響應(yīng),這暴露了在網(wǎng)關(guān)1處的沖突。然后,網(wǎng)關(guān)1通過標(biāo)記所述ARP表項(xiàng)和/或警告其他網(wǎng)關(guān)和管理員網(wǎng)絡(luò)上嘗試的攻擊來做出響應(yīng)。
引入較新版本的因特網(wǎng)協(xié)議(IP)的發(fā)現(xiàn)功能(即,IPv6鄰居發(fā)現(xiàn))要求支持該協(xié)議(IPv6)。在所有現(xiàn)有網(wǎng)絡(luò)中,這可能是不可用的,或者向其進(jìn)行遷移可能并不是一個(gè)容易的任務(wù)。但是,本發(fā)明提供了一種新的方法來將安全度量添加到當(dāng)前的ARP協(xié)議,該方法更容易地適合目前的IPv4網(wǎng)絡(luò)并且不要求遷移到IPv6。本發(fā)明的新穎之處在于在不危害可信賴網(wǎng)絡(luò)的情況下提供了自動(dòng)地更新安全ARP高速緩存的方法/算法。已公布的ARP表項(xiàng)需要由管理員來手動(dòng)更新。
與其他解決方案相比,本發(fā)明的實(shí)現(xiàn)導(dǎo)致了極高的效率,因?yàn)橹挥挟?dāng)需要時(shí)才發(fā)生ARP響應(yīng)的驗(yàn)證,并且單個(gè)主機(jī)就可以保護(hù)整個(gè)局域網(wǎng)。同時(shí),單個(gè)主機(jī)的使用極大地減小了維護(hù)和保護(hù)網(wǎng)絡(luò)的重復(fù)努力。
最后,重要的是,盡管已經(jīng)(并將繼續(xù))在具有已安裝的管理軟件的完整功能計(jì)算機(jī)系統(tǒng)的環(huán)境中描述本發(fā)明的示例性實(shí)施例,但是本領(lǐng)域的技術(shù)人員將理解,本發(fā)明的示例性實(shí)施例的軟件方面能夠被以各種形式作為程序產(chǎn)品來發(fā)布,并且本發(fā)明的示例性實(shí)施例均可等同地應(yīng)用,而與實(shí)際用于執(zhí)行所述發(fā)布的信號(hào)承載介質(zhì)的特定類型無關(guān)。信號(hào)承載介質(zhì)的實(shí)例包括諸如軟盤、硬盤驅(qū)動(dòng)器、CD ROM之類的可記錄型介質(zhì)和諸如數(shù)字和模擬通信鏈路之類的傳輸型介質(zhì)。
雖然參考優(yōu)選實(shí)施例具體示出和描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員將理解,在不偏離本發(fā)明的精神和范圍的情況下,可以對(duì)本發(fā)明的形式和細(xì)節(jié)做出各種更改。
權(quán)利要求
1.一種實(shí)現(xiàn)地址解析協(xié)議(ARP)的網(wǎng)絡(luò),所述網(wǎng)絡(luò)包括第一設(shè)備,所述第一設(shè)備作為具有至少一個(gè)第一網(wǎng)絡(luò)客戶機(jī)設(shè)備的第一子網(wǎng)的第一網(wǎng)關(guān)來運(yùn)行,所述第一設(shè)備具有關(guān)聯(lián)的第一可信賴ARP高速緩存(TARPC),該可信賴ARP高速緩存維護(hù)IP地址到所述至少一個(gè)第一網(wǎng)絡(luò)客戶機(jī)設(shè)備中的每個(gè)客戶機(jī)設(shè)備的相應(yīng)MAC地址的正確映射;第二設(shè)備,所述第二設(shè)備作為連接到所述第一子網(wǎng)的第二子網(wǎng)的第二網(wǎng)關(guān)來運(yùn)行,所述第二子網(wǎng)同樣具有至少一個(gè)第二網(wǎng)絡(luò)客戶機(jī)設(shè)備,所述第一設(shè)備具有關(guān)聯(lián)的第二TARPC,該TARPC同樣維護(hù)IP地址到所述至少一個(gè)第二網(wǎng)絡(luò)客戶機(jī)設(shè)備中的每個(gè)客戶機(jī)設(shè)備的相應(yīng)MAC地址的正確映射;邏輯,所述邏輯與所述第一設(shè)備的ARP功能關(guān)聯(lián)并用于認(rèn)證由所述第一設(shè)備接收的ARP響應(yīng),其中當(dāng)所述ARP響應(yīng)包含與包含在所述TARPC內(nèi)的所述MAC地址或所述IP地址的配對(duì)不同的MAC地址到IP地址配對(duì)時(shí),所述TARPC不會(huì)被更新以反映所述ARP響應(yīng)中的所述地址映射。
2.根據(jù)權(quán)利要求1的網(wǎng)絡(luò),還包括在所述第一設(shè)備內(nèi)的邏輯,所述邏輯用于將特定地址的重復(fù)發(fā)消息通知管理員的預(yù)先標(biāo)識(shí)的輸出設(shè)備。
3.根據(jù)權(quán)利要求1的網(wǎng)絡(luò),其中所述用于認(rèn)證接收的ARP響應(yīng)的邏輯包括第一邏輯,所述第一邏輯用于將所述MAC地址與所述第一設(shè)備的所述第一TARPC內(nèi)的所有MAC地址進(jìn)行比較;第二邏輯,所述第二邏輯用于將所述IP地址與所述第一設(shè)備的所述第一TARPC內(nèi)的所有IP地址進(jìn)行比較;以及第三邏輯,所述第三邏輯用于當(dāng)在所述第一TARPC處的所述比較沒有產(chǎn)生所述MAC地址或所述IP地址的匹配時(shí),使用所述ARP響應(yīng)的所述MAC地址和IP地址配對(duì)來更新所述第一TARPC。
4.根據(jù)權(quán)利要求3的網(wǎng)絡(luò),還包括第三邏輯,當(dāng)在所述第一TARPC處的所述比較提供了所述MAC地址或所述IP地址的匹配時(shí),所述第三邏輯將所述ARP響應(yīng)的所述地址轉(zhuǎn)發(fā)到所述第二設(shè)備以便在所述第二TARPC內(nèi)完成比較。
5.根據(jù)權(quán)利要求1的網(wǎng)絡(luò),其中所述第一設(shè)備和所述第二設(shè)備是網(wǎng)關(guān)。
6.根據(jù)權(quán)利要求1的網(wǎng)絡(luò),其中所述第一和所述第二子網(wǎng)是局域網(wǎng)(LAN),并且所述第一和第二設(shè)備是所述局域網(wǎng)中的相應(yīng)局域網(wǎng)的服務(wù)器。
7.在具有兩個(gè)子網(wǎng)的配置有ARP的網(wǎng)絡(luò)中,所述子網(wǎng)帶有相應(yīng)的第一可信賴ARP高速緩存(TARPC)和第二TARPC,每個(gè)子網(wǎng)通過第一子網(wǎng)的第一網(wǎng)關(guān)和第二子網(wǎng)的第二網(wǎng)關(guān)連接到一起,一種用于認(rèn)證ARP響應(yīng)內(nèi)的地址的方法,所述方法包括在所述第一網(wǎng)關(guān)處接收所述ARP響應(yīng);將所述ARP響應(yīng)內(nèi)的IP地址和關(guān)聯(lián)的MAC地址與所述第一TARPC內(nèi)的相應(yīng)IP地址和MAC地址進(jìn)行比較;當(dāng)所述IP地址和所述MAC地址中只有一個(gè)地址在所述第一TARPC的地址配對(duì)中重復(fù)時(shí),將所述IP地址和所述MAC地址轉(zhuǎn)發(fā)到所述第二網(wǎng)關(guān)以便在所述第二TARPC中進(jìn)行認(rèn)證;以及當(dāng)所述第二TARPC同樣在所述第二TARPC的所述地址配對(duì)中發(fā)現(xiàn)所述IP地址和所述MAC地址中只有一個(gè)地址重復(fù)時(shí),阻止認(rèn)證所述ARP響應(yīng)。
8.根據(jù)權(quán)利要求7的方法,還包括分析用于所述IP地址和所述關(guān)聯(lián)的MAC地址的所述ARP響應(yīng)。
9.根據(jù)權(quán)利要求7的方法,還包括當(dāng)所述IP地址或所述MAC地址都與所述第一TARPC內(nèi)的地址不匹配時(shí),使用所述ARP響應(yīng)的所述IP地址和MAC地址配對(duì)來更新所述第一TARPC。
10.在具有兩個(gè)子網(wǎng)的配置有ARP的網(wǎng)絡(luò)中,所述子網(wǎng)通過第一子網(wǎng)的第一網(wǎng)關(guān)和第二子網(wǎng)的第二網(wǎng)關(guān)連接到一起,所述第一子網(wǎng)具有第一可信賴ARP高速緩存(TARPC)并且所述第二子網(wǎng)具有第二TARPC,一種用于認(rèn)證ARP響應(yīng)內(nèi)的地址的系統(tǒng),所述系統(tǒng)包括用于將所述ARP響應(yīng)內(nèi)的IP地址和關(guān)聯(lián)的MAC地址與所述第一TARPC內(nèi)的相應(yīng)IP地址和MAC地址進(jìn)行比較的邏輯;用于當(dāng)所述IP地址和所述MAC地址中只有一個(gè)地址在所述第一TARPC的地址配對(duì)中重復(fù)時(shí),將所述IP地址和所述MAC地址轉(zhuǎn)發(fā)到所述第二網(wǎng)關(guān)以便在所述第二TARPC中進(jìn)行認(rèn)證的邏輯;以及用于當(dāng)所述第二TARPC同樣在所述第二TARPC的所述地址配對(duì)中發(fā)現(xiàn)所述IP地址和MAC地址中只有一個(gè)地址重復(fù)時(shí),阻止認(rèn)證所述ARP響應(yīng)的邏輯。
11.根據(jù)權(quán)利要求10的系統(tǒng),還包括分析用于所述IP地址和關(guān)聯(lián)的MAC地址的所述ARP響應(yīng)的邏輯。
12.根據(jù)權(quán)利要求10的系統(tǒng),還包括用于當(dāng)所述IP地址或所述MAC地址都與所述第一TARPC內(nèi)的地址不匹配時(shí),使用所述IP地址和MAC地址對(duì)來更新所述第一TARPC的邏輯。
13.一種系統(tǒng),所述系統(tǒng)包括用于為具有至少兩個(gè)子網(wǎng)的網(wǎng)絡(luò)的每個(gè)網(wǎng)關(guān)建立可信賴地址解析協(xié)議(ARP)高速緩存(TARPC)的裝置;用于在每個(gè)網(wǎng)關(guān)的ARP內(nèi)編碼用于接收的ARP響應(yīng)的認(rèn)證過程的裝置,所述認(rèn)證過程使得每個(gè)網(wǎng)關(guān)能夠通過參考所述TARPC來驗(yàn)證接收到的ARP響應(yīng)是所述網(wǎng)絡(luò)上的合法響應(yīng),并且不是對(duì)所述網(wǎng)絡(luò)的可能攻擊。
14.根據(jù)權(quán)利要求13的系統(tǒng),還包括用于以下步驟的邏輯在所述第一網(wǎng)關(guān)處接收所述ARP響應(yīng);將所述ARP響應(yīng)內(nèi)的IP地址和關(guān)聯(lián)的MAC地址與所述第一TARPC內(nèi)的相應(yīng)IP地址和MAC地址進(jìn)行比較;當(dāng)所述IP地址和所述MAC地址中只有一個(gè)地址與所述第一TARPC內(nèi)的地址配對(duì)的地址相匹配時(shí),將所述IP地址和所述MAC地址轉(zhuǎn)發(fā)到第二網(wǎng)關(guān)以便在第二TARPC中進(jìn)行認(rèn)證;以及當(dāng)所述IP地址和所述MAC地址都不與所述第一TARPC內(nèi)的地址相匹配時(shí),使用所述IP地址和MAC地址配對(duì)來更新所述第一TARPC。
15.一種方法,所述方法包括為包括至少兩個(gè)子網(wǎng)的網(wǎng)絡(luò)的每個(gè)網(wǎng)關(guān)建立可信賴地址解析協(xié)議(ARP)高速緩存(TARPC);在每個(gè)網(wǎng)關(guān)的ARP內(nèi)編碼用于接收的ARP響應(yīng)的認(rèn)證過程,其中所述認(rèn)證過程使得每個(gè)網(wǎng)關(guān)能夠通過參考所述TARPC來驗(yàn)證接收到的ARP響應(yīng)是所述網(wǎng)絡(luò)上的合法響應(yīng),并且不是對(duì)所述網(wǎng)絡(luò)的可能攻擊。
16.根據(jù)權(quán)利要求15的方法,其中所述認(rèn)證過程包括在所述第一網(wǎng)關(guān)處接收所述ARP響應(yīng);分析用于所述IP地址和關(guān)聯(lián)的MAC地址的所述ARP響應(yīng);將所述ARP響應(yīng)內(nèi)的IP地址和關(guān)聯(lián)的MAC地址與所述第一TARPC內(nèi)的相應(yīng)地址進(jìn)行比較;當(dāng)所述IP地址和所述MAC地址中只有一個(gè)地址與所述第一TARPC內(nèi)的地址配對(duì)相匹配時(shí),將所述IP地址和所述MAC地址轉(zhuǎn)發(fā)到第二網(wǎng)關(guān)以便在第二TARPC內(nèi)進(jìn)行認(rèn)證;以及當(dāng)所述第二TARPC同樣在所述第二TARPC內(nèi)的所述地址配對(duì)中發(fā)現(xiàn)所述IP地址和MAC地址中只有一個(gè)地址重復(fù)時(shí),阻止認(rèn)證所述ARP響應(yīng)。
17.根據(jù)權(quán)利要求15的方法,還包括當(dāng)所述IP地址或所述MAC地址都與所述第一TARPC內(nèi)的地址不匹配時(shí),使用所述IP地址和MAC地址對(duì)來更新所述第一TARPC。
18.一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀介質(zhì);在所述計(jì)算機(jī)可讀介質(zhì)上的程序代碼,所述程序代碼用于使得配置有地址解析協(xié)議(ARP)的網(wǎng)絡(luò)的網(wǎng)關(guān)能夠通過參考可信賴ARP高速緩存(TARPC)來認(rèn)證ARP響應(yīng)的IP地址和關(guān)聯(lián)的MAC地址。
19.根據(jù)權(quán)利要求18的計(jì)算機(jī)程序產(chǎn)品,所述程序代碼包括用于以下步驟的代碼在所述第一網(wǎng)關(guān)處接收所述ARP響應(yīng);將所述ARP響應(yīng)內(nèi)的IP地址和關(guān)聯(lián)的MAC地址與所述TARPC內(nèi)的相應(yīng)IP地址和MAC地址進(jìn)行比較;當(dāng)所述IP地址和所述MAC地址中只有一個(gè)地址與所述TARPC的地址配對(duì)相匹配時(shí),將所述IP地址和所述MAC地址轉(zhuǎn)發(fā)到第二網(wǎng)關(guān)以便在第二TARPC內(nèi)進(jìn)行認(rèn)證;以及當(dāng)所述第二TARPC同樣在所述第二TARPC內(nèi)的所述地址配對(duì)中發(fā)現(xiàn)所述IP地址和MAC地址中只有一個(gè)地址重復(fù)時(shí),阻止認(rèn)證所述ARP響應(yīng)。
20.根據(jù)權(quán)利要求18的計(jì)算機(jī)程序產(chǎn)品,還包括分析用于所述IP地址和關(guān)聯(lián)的MAC地址的所述ARP響應(yīng)的程序代碼。
21.根據(jù)權(quán)利要求18的計(jì)算機(jī)程序產(chǎn)品,還包括用于當(dāng)所述IP地址或所述MAC地址都與所述TARPC內(nèi)的地址不匹配時(shí),使用所述IP地址和MAC地址對(duì)來更新所述第一TARPC的程序代碼。
全文摘要
一種用于在具有多個(gè)主機(jī)的網(wǎng)絡(luò)系統(tǒng)中防止地址解析協(xié)議(ARP)高速緩存中毒的方法和系統(tǒng)。代表和/或位于單獨(dú)的局域網(wǎng)(LAN)中的多個(gè)主機(jī)被指定成(通過共享的協(xié)議)為每個(gè)所代表的局域網(wǎng)使用可信賴ARP高速緩存。只要在一個(gè)網(wǎng)絡(luò)中檢測(cè)到新的ARP響應(yīng),驗(yàn)證請(qǐng)求就被發(fā)送給在不同網(wǎng)絡(luò)中的單獨(dú)的主機(jī)。所述單獨(dú)的主機(jī)為所述ARP啟動(dòng)驗(yàn)證過程,其包括在所述ARP高速緩存的地址配對(duì)中,檢查所述ARP響應(yīng)的IP地址或MAC地址中的一個(gè)地址是否存在重復(fù)。如果所述ARP響應(yīng)沒有被驗(yàn)證,則不更新所述可信賴ARP高速緩存并且將所述失敗的嘗試通知系統(tǒng)管理員。
文檔編號(hào)H04L12/56GK1764129SQ20051011431
公開日2006年4月26日 申請(qǐng)日期2005年10月20日 優(yōu)先權(quán)日2004年10月21日
發(fā)明者P·B·小芬利, T·L·麥克萊恩, E·L·雷耶斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司