一種基于mac地址攻擊的防御方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及工業(yè)以太網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種基于介質(zhì)訪問控制(Medium/ Media Access Control, MAC)地址攻擊的防御方法和系統(tǒng)。
【背景技術(shù)】
[0002] 地址解析協(xié)議(Address Resolution Protocol, ARP)的功能是通過網(wǎng)際協(xié)議地 址(Internet Protocol Address,IP)查找對應(yīng)端口的MAC地址,以便在TCP / IP網(wǎng)絡(luò)中 實現(xiàn)共享信道的節(jié)點之間利用MAC地址進行通信。由于ARP協(xié)議在設(shè)計中存在主動發(fā)送 ARP報文的漏洞,使得主機可以發(fā)送虛假的ARP請求報文或響應(yīng)報文,而報文中的源IP地址 和源MC地址均可以進行偽造。在局域網(wǎng)中,既可以偽造成某一臺主機(如服務(wù)器)的IP 地址和MAC地址的組合,也可以偽造成網(wǎng)關(guān)IP地址與MAC地址的組合。這種組合可以根據(jù) 攻擊者的意圖進行任意搭配,而現(xiàn)有的局域網(wǎng)卻沒有相應(yīng)的機制和協(xié)議來防止這種偽造行 為。近幾年來,幾乎所有局域網(wǎng)都遭遇過ARP欺騙攻擊的侵害。
[0003] 圖1所示為假設(shè)主機C為局域網(wǎng)中的網(wǎng)關(guān),主機D為ARP欺騙者。當(dāng)局域網(wǎng)中的 計算機要與其他網(wǎng)絡(luò)進行通信(如訪問Internet)時,所有發(fā)往其他網(wǎng)絡(luò)的數(shù)據(jù)全部發(fā)給 了主機D,而主機D并非真正的網(wǎng)關(guān),這樣整個網(wǎng)絡(luò)將無法與其他網(wǎng)絡(luò)進行通信。這種現(xiàn)象 在ARP欺騙攻擊中非常普遍。
[0004] 針對常規(guī)的技術(shù),采用了這樣的技術(shù)方案,ARP緩存表中的記錄既可以是動態(tài)的, 也可以是靜態(tài)的。如果ARP緩存表中的記錄是動態(tài)的,則可以通過老化機制減少ARP緩存 表的長度并加快查詢速度;靜態(tài)ARP緩存表中的記錄是永久性的,用戶可以使用TCP / IP 工具來創(chuàng)建和修改,如Windows操作系統(tǒng)白帶的ARP工具。對于計算機來說,可以通過綁定 網(wǎng)關(guān)等重要設(shè)備的IP與MAC地址記錄來防止ARP欺騙攻擊。在交換機上防范ARP欺騙攻 擊的方法與在計算機上基本相同,可以將網(wǎng)絡(luò)設(shè)備的MAC地址與交換機端口進行綁定,并 通過端口安全功能對違背規(guī)則的主機(攻擊者)進行相應(yīng)的處理。
[0005] 現(xiàn)有的技術(shù)方案主要采用的將網(wǎng)絡(luò)設(shè)備的MAC地址與交換機端口進行綁定,這種 方案帶來的問題就是每次網(wǎng)絡(luò)設(shè)備只能與設(shè)定好的交換機端口進行綁定,如果連接的端口 發(fā)生變化時,就是必須重新設(shè)定MAC地址和端口,雖然可以保持MAC地址與端口的穩(wěn)定性, 降低了交換機(轉(zhuǎn)發(fā)裝置)端口與網(wǎng)絡(luò)設(shè)備進行配置的靈活性,同時,該方案并沒有解決MC 地址與IP地址的安全性和穩(wěn)定性。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明實施例提供一種基于MAC地址攻擊的防御方法和系統(tǒng),用以提高了交換機 (轉(zhuǎn)發(fā)裝置)端口與網(wǎng)絡(luò)設(shè)備進行配置的靈活性,同時,解決MAC地址與IP地址的安全性和 穩(wěn)定性。
[0007] 本發(fā)明實施例提供了一種基于MC地址攻擊的防御方法,所述方法包括: 轉(zhuǎn)發(fā)裝置根據(jù)其接收到的ARP報文中的IP地址和對應(yīng)的MAC地址建立轉(zhuǎn)發(fā)列表,保持 轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng)的MAC地址的穩(wěn)定性; 檢測要求修改轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng)的MAC地址的ARP報文的MAC地址是否 為原MAC地址,如果是原MAC地址,保持轉(zhuǎn)發(fā)列表中的IP地址與MAC地址不變;如果不是原 MAC地址,所述轉(zhuǎn)發(fā)裝置向原IP地址發(fā)送構(gòu)造的ARP請求報文; 獲取原IP地址的網(wǎng)絡(luò)設(shè)備回復(fù)相應(yīng)的ARP答復(fù)報文后,檢測所述ARP答復(fù)報文中的IP 地址和MAC地址是否是原IP地址和MAC地址,當(dāng)是原IP地址和原MAC地址時,將請求修改 所述轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng)的MAC地址的ARP報文刪除;當(dāng)不是原IP地址和原MAC 地址時,向該請求修改所述轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng)的MAC地址的ARP報文中的目的 IP地址發(fā)送該報文。
[0008] 所述方法還包括:在預(yù)設(shè)時間段內(nèi)沒有收到原IP地址的網(wǎng)絡(luò)設(shè)備回復(fù)相應(yīng)的ARP 答復(fù)報文時,轉(zhuǎn)發(fā)裝置向該請求修改所述轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng)的MAC地址的ARP 報文中的目的IP地址發(fā)送該報文。
[0009] 還包括:在原IP地址的網(wǎng)絡(luò)設(shè)備接收到所述構(gòu)造的ARP請求報文后,向轉(zhuǎn)發(fā)裝置 發(fā)送包括自身IP地址和MAC地址的ARP答復(fù)報文。
[0010] 將請求修改所述轉(zhuǎn)發(fā)列表中的IP地址和對應(yīng)的MAC地址的ARP報文刪除時,還包 括:當(dāng)轉(zhuǎn)發(fā)裝置多次從收到同一所述請求修改轉(zhuǎn)發(fā)列表中的IP地址和對應(yīng)的MAC地址的 ARP請求報文時,確定該MAC地址的網(wǎng)絡(luò)設(shè)備正在進行MAC地址攻擊。
[0011] 所述修改所述轉(zhuǎn)發(fā)列表中的IP地址和對應(yīng)的MAC地址的ARP報文為ARP請求報 文。
[0012] 本發(fā)明實施例提供了一種基于MC地址攻擊的防御系統(tǒng),所述系統(tǒng)包括: ARP報文保存裝置,根據(jù)其接收到的ARP報文中的IP地址和對應(yīng)的MAC地址建立轉(zhuǎn)發(fā) 列表,保持轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng)的MAC地址的穩(wěn)定性; ARP請求報文判斷裝置,檢測要求修改轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng)的MAC地址的 ARP報文的MAC地址是否為原MAC地址,如果是原MAC地址,保持轉(zhuǎn)發(fā)列表中的IP地址與 MAC地址不變;如果不是原MAC地址,ARP報文保存裝置向原IP地址發(fā)送構(gòu)造的ARP請求報 文; ARP答復(fù)報文判斷裝置,獲取原IP地址的網(wǎng)絡(luò)設(shè)備回復(fù)相應(yīng)的ARP答復(fù)報文后,檢測所 述ARP答復(fù)報文中的IP地址和MAC地址是否是原IP地址和原MAC地址,如果是原IP地址 和原MAC地址時,將請求修改所述轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng)的MAC地址的ARP報文刪 除;如果不是原IP地址和原MAC地址時,向該請求修改所述轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng) 的MAC地址的ARP報文中的目的IP地址發(fā)送該報文。
[0013] 所述系統(tǒng)還包括:在預(yù)設(shè)時間段內(nèi)沒有收到原IP地址的網(wǎng)絡(luò)設(shè)備回復(fù)相應(yīng)的ARP 答復(fù)報文時,ARP報文保存裝置向該請求修改所述轉(zhuǎn)發(fā)列表中的IP地址與其對應(yīng)的MAC地 址的ARP報文中的目的IP地址發(fā)送該報文。
[0014] 所述系統(tǒng)還包括:原IP地址的網(wǎng)絡(luò)設(shè)備接收到所述構(gòu)造的ARP請求報文,向ARP 答復(fù)報文判斷裝置發(fā)送包括自身IP地址和MAC地址的ARP答復(fù)報文。
[0015] 所述ARP報文保存裝置還包括:當(dāng)所述ARP報文保存裝置請求修改所述轉(zhuǎn)發(fā)列表 中的IP地址和對應(yīng)的MAC地址的ARP報文刪除,且ARP報文保存裝置多次從收到同一所述 請求修改轉(zhuǎn)發(fā)列表中的IP地址和對應(yīng)的MAC地址的ARP報文時,確定該MAC地址的網(wǎng)絡(luò)設(shè) 備正在進行MAC地址攻擊。
[0016] 所述ARP報文保存裝置還包括:所述修改所述轉(zhuǎn)發(fā)列表中的IP地址和對應(yīng)的MAC 地址的ARP報文為ARP請求報文。
[0017] 本發(fā)明的方案中,所述轉(zhuǎn)發(fā)裝置根據(jù)其接收到的ARP報文中的IP地址和對應(yīng)的 MAC地址建立轉(zhuǎn)發(fā)列表,保持轉(zhuǎn)發(fā)列表中的IP地址和其對應(yīng)的MAC地址的穩(wěn)定性,強制檢 測要求修改轉(zhuǎn)發(fā)列表中的IP地址和對應(yīng)的MAC地址的ARP報文;當(dāng)ARP報文中MAC地址不 是原MAC地址,所述轉(zhuǎn)發(fā)裝置向原IP地址發(fā)送構(gòu)造的ARP請求報文,檢測所述ARP答復(fù)報 文中的IP地址和MAC地址;當(dāng)不是原IP地址和MAC地址時,向該請求修改所述轉(zhuǎn)發(fā)列表中 的IP地址和對應(yīng)的MAC地址的ARP報文中的目的IP地址發(fā)送該報文,本方法和系統(tǒng)提高 了交換機端口與網(wǎng)絡(luò)設(shè)備進行配置的靈活性,同時解決MAC地址與IP地址的安全性和穩(wěn)定 性。
【附圖說明】
[0018] 圖1為ARP欺騙的實現(xiàn)過程圖; 圖2為基于MAC地址攻擊的防御流程示意圖; 圖3為基于MAC地址攻擊的防御過程示意圖; 圖4為基于MAC地址攻擊的防御系統(tǒng)結(jié)構(gòu)示意圖。
【具體實施方式】
[0019] 本發(fā)明提高了交換機端口與網(wǎng)絡(luò)設(shè)備進行配置的靈活性,同時解決MAC地址與IP 地址的安全性和穩(wěn)定性,提供了一種基于MC地址攻擊的防御方法和系統(tǒng)。
[0020] 下面結(jié)合說明書附圖,對本發(fā)明實施例進行詳細說明。
[0021] 圖2為本發(fā)明實施例提供的基于MAC地址攻擊的防御流程示意圖,該過程包括以 下步驟: S201 :所述轉(zhuǎn)發(fā)裝置根據(jù)其接收到的ARP報文中的IP地址和對應(yīng)的MAC地址建立轉(zhuǎn)發(fā) 列表,保持轉(zhuǎn)發(fā)列表中的IP地址和其對應(yīng)的MAC地址的穩(wěn)定性; 在本步驟中,這里的轉(zhuǎn)發(fā)列表是根據(jù)首次ARP報文在各個網(wǎng)絡(luò)設(shè)備中傳輸,從而各個 網(wǎng)路設(shè)備的IP地址和MAC地址都會在轉(zhuǎn)發(fā)裝置中形成,也就是說,本發(fā)明不是針對的首次 ARP報文建立的網(wǎng)絡(luò)進行防御的,而是針對的用戶自認為合理和合法的已經(jīng)建立的網(wǎng)絡(luò)提 出的。這里的轉(zhuǎn)發(fā)列表是保存在轉(zhuǎn)發(fā)裝置中的。
[0022] S202 :檢測要求修改轉(zhuǎn)發(fā)列表中的IP地址和對應(yīng)的MAC地址的ARP報文的MAC地 址是否為原MAC地址, 轉(zhuǎn)發(fā)裝置接收要求修改轉(zhuǎn)發(fā)列表中的IP地址和對應(yīng)的MAC地址的ARP報文,這里的 ARP報文在本發(fā)明中是ARP請求報文,現(xiàn)有的技術(shù)方案中,要求修改轉(zhuǎn)發(fā)列表的報文是ARP 回復(fù)報文,也就是由答復(fù)ARP請求報文的網(wǎng)絡(luò)設(shè)備發(fā)出包括自身IP地址和MAC地址的ARP 回復(fù)報文;本發(fā)明關(guān)鍵點之一就是轉(zhuǎn)發(fā)裝置不是通過ARP回復(fù)報文而是首先判斷ARP請求 報文中的源MAC地址是否是保存在轉(zhuǎn)發(fā)列表中的MAC地址,這里的MAC地址與IP地址是相 對應(yīng)的。
[0023] S203 :當(dāng)是原MAC地址,保持轉(zhuǎn)