一種arp欺騙的細粒度檢測方法及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及通信技術領域,具體涉及一種ARP欺騙的細粒度檢測方法及系統(tǒng)。
【背景技術】
[0002]中間人攻擊(Man-1n-the-middle attack)是一種對網(wǎng)絡中兩臺或多臺終端之間的數(shù)據(jù)包進行攻擊的方式。發(fā)動攻擊時,攻擊者位于合法終端的通信路徑中間,通過捕獲、修改、轉(zhuǎn)發(fā)雙方之間的數(shù)據(jù)包的手段來達到攻擊的目的。
[0003]ARP協(xié)議,全稱Address Resolut1n Protocol,工作在OSI七層網(wǎng)絡模型中的第二層一數(shù)據(jù)鏈路層,它的作用是根據(jù)目標終端的IP來獲得相應的硬件地址MAC。ARP設計時存在著一個問題,即它沒有對ARP報文的來源是否合法進行驗證,不會檢查收到的應答報文是否合法,也不會檢查本機是否發(fā)送過相應的ARP請求報文,這使得防范ARP攻擊變得尤為重要。生活中常常出現(xiàn)以下現(xiàn)象時,很可能出現(xiàn)ARP欺騙的攻擊。局域網(wǎng)內(nèi)頻繁出整體掉線,重啟計算機或路由器后恢復正常。網(wǎng)速時快時慢,極其不穩(wěn)定,但單機進行數(shù)據(jù)測試時一切正常。網(wǎng)上銀行、游戲及QQ賬號的頻繁丟失。
[0004]現(xiàn)有的檢測防御ARP欺騙的方法主要有:①終端級的被動檢測:如果系統(tǒng)收到來自局域網(wǎng)內(nèi)的ARP請求包,系統(tǒng)會檢測其目的地址是否和本機的IP地址相同,如果相同說明局域網(wǎng)內(nèi)有終端正在進行ARP欺騙。此種方法使得網(wǎng)關丟掉不合理的IP、MAC映射關系。主要的缺點是此方法不能保證建立的IP、MAC映射關系一定是正確的,不能保證數(shù)據(jù)庫中存儲的值一定是沒有收到ARP欺騙的,可擴展性較差,被動性。②終端級的主動檢測:在局域網(wǎng)內(nèi)使用一臺終端主動地不停地向整個網(wǎng)絡內(nèi)發(fā)送目的IP是本機的ARP請求包,如果整個局域網(wǎng)中有終端回應,則說明這個局域網(wǎng)內(nèi)存在ARP欺騙攻擊。這種方法的資源消耗較大,并且對于服務器的DOS攻擊沒有防御。③網(wǎng)絡級的檢測:局域網(wǎng)內(nèi)的終端定期向局域網(wǎng)內(nèi)的ARP服務器發(fā)送其ARP地址緩存表,這樣,如果是局域網(wǎng)內(nèi)哪臺終端被攻擊了,ARP服務器會通過它儲存的其他終端的ARP混存表找出攻擊源和被攻擊的終端,從而進行定位。交換機或路由器分別對每個端口對應的用戶終端MAC和IP地址進行綁定,同時對通過DHCP協(xié)議動態(tài)獲得IP地址的終端設置一個較長的租約時間,從而使各個終端的MAC和IP的映射關系趨于穩(wěn)定狀態(tài),從此來防御ARP攻擊。
[0005]另外一種手動監(jiān)測是指網(wǎng)絡管理員利用命令行或wireshark等抓包工具進行抓包來查看終端的IP和MAC之間的映射關系,以此來發(fā)現(xiàn)是否存在可疑的用戶終端,若存在則采取相應的措施。ARP欺騙攻擊的監(jiān)測系統(tǒng)能夠?qū)粽哌M行精準定位,同時斷開發(fā)現(xiàn)ARP欺騙攻擊的終端網(wǎng)絡,從而有效縮小ARP的攻擊范圍,減小ARP攻擊帶來的威脅。但是該系統(tǒng)有一個前提是只能在監(jiān)測到ARP欺騙之后才能做相應處理,如果系統(tǒng)沒有監(jiān)測到實際發(fā)生的ARP欺騙,那么該系統(tǒng)就沒有任何作用。此方法對于網(wǎng)絡管理員的要求較高,工作量大,容易產(chǎn)生誤差。
【發(fā)明內(nèi)容】
[0006]針對現(xiàn)有技術中的缺陷,本發(fā)明提供了一種ARP欺騙的細粒度檢測方法及系統(tǒng),能夠?qū)崟r的檢測發(fā)現(xiàn)ARP欺騙行為,檢測效率高。
[0007]第一方面,本發(fā)明提供一種ARP欺騙的細粒度檢測方法,包括:
[0008]在預設時間段內(nèi)監(jiān)控第一終端和第二終端之間通信的請求與應答的數(shù)據(jù)包,其中所述數(shù)據(jù)包中包括第一終端的IP地址、第一終端的IP地址對應的MAC地址、第二終端IP地址和第二終端的IP地址對應的MAC地址;
[0009]根據(jù)所述數(shù)據(jù)包,判斷所述數(shù)據(jù)包中是否存在待驗證的異常通信數(shù)據(jù)包;
[0010]當確定所述數(shù)據(jù)包中存在待驗證的異常通信數(shù)據(jù)包時,向所述第一終端發(fā)送所述待驗證的異常通信數(shù)據(jù)包,以使所述第一終端對所述待驗證的異常通信數(shù)據(jù)包進行驗證。
[0011]可選的,所述根據(jù)所述數(shù)據(jù)包,判斷所述數(shù)據(jù)包中是否存在待驗證的異常通信數(shù)據(jù)包,包括:
[0012]在所述數(shù)據(jù)包中存在第一終端的IP地址相同,且第一終端的IP地址對應的MAC地址不同時,確定所述數(shù)據(jù)包中存在待驗證的異常通信數(shù)據(jù)包。
[0013]可選的,所述當確定所述數(shù)據(jù)包中存在待驗證的異常通信數(shù)據(jù)包時,向所述第一終端發(fā)送所述待驗證的異常通信數(shù)據(jù)包,包括:
[0014]所述第一終端接收所述待驗證的異常通信數(shù)據(jù)包,并提取所述待驗證的異常通信數(shù)據(jù)包中的待驗證MAC地址。
[0015]可選的,所述第一終端對所述待驗證的異常通信數(shù)據(jù)包進行驗證,包括:
[0016]所述第一終端通過將所述第一終端的IP地址對應的MAC地址與所述待驗證MAC地址進行比較,對所述待驗證的異常通信數(shù)據(jù)包進行驗證。
[0017]可選的,所述方法還包括:
[0018]所述第一終端在所述第一終端的IP地址對應的MAC地址與所述待驗證MAC地址不同時,確定所述待驗證的異常通信數(shù)據(jù)包為異常通信數(shù)據(jù)包,并向所述異常通信數(shù)據(jù)包中的待驗證MAC地址對應的終端發(fā)送拒絕服務的信息。
[0019]第二方面,本發(fā)明還提供了一種ARP欺騙的細粒度檢測系統(tǒng),包括:
[0020]監(jiān)控模塊,用于在預設時間段內(nèi)監(jiān)控第一終端和第二終端之間通信的請求與應答的數(shù)據(jù)包,其中所述數(shù)據(jù)包中包括第一終端的IP地址、第一終端的IP地址對應的MAC地址、第二終端IP地址和第二終端的IP地址對應的MAC地址;
[0021]判斷模塊,用于根據(jù)所述數(shù)據(jù)包,判斷所述數(shù)據(jù)包中是否存在待驗證的異常通信數(shù)據(jù)包;
[0022]發(fā)送模塊,用于當確定所述數(shù)據(jù)包中存在待驗證的異常通信數(shù)據(jù)包時,向所述第一終端發(fā)送所述待驗證的異常通信數(shù)據(jù)包,以使所述第一終端對所述待驗證的異常通信數(shù)據(jù)包進行驗證。
[0023]可選的,所述判斷模塊,用于:
[0024]在所述數(shù)據(jù)包中存在第一終端的IP地址相同,且第一終端的IP地址對應的MAC地址不同時,確定所述數(shù)據(jù)包中存在待驗證的異常通信數(shù)據(jù)包。
[0025]可選的,所述發(fā)送模塊,用于:
[0026]所述第一終端接收所述待驗證的異常通信數(shù)據(jù)包,并提取所述待驗證的異常通信數(shù)據(jù)包中的待驗證MAC地址。
[0027]可選的,所述發(fā)送模塊,用于:
[0028]當確定所述數(shù)據(jù)包中存在待驗證的異常通信數(shù)據(jù)包時,向所述第一終端發(fā)送所述待驗證的異常通信數(shù)據(jù)包,以使所述第一終端通過將所述第一終端的IP地址對應的MAC地址與所述待驗證MAC地址進行比較,對所述待驗證的異常通信數(shù)據(jù)包進行驗證。
[0029]可選的,所述發(fā)送模塊,用于:
[0030]當確定所述數(shù)據(jù)包中存在待驗證的異常通信數(shù)據(jù)包時,向所述第一終端發(fā)送所述待驗證的異常通信數(shù)據(jù)包,以使所述第一終端在所述第一終端的IP地址對應的MAC地址與所述待驗證MAC地址不同時,確定所述待驗證的異常通信數(shù)據(jù)包為異常通信數(shù)據(jù)包,并向所述異常通信數(shù)據(jù)包中的待驗證MAC地址對應的終端發(fā)送拒絕服務的信息。
[0031]由上述技術方案可知,本發(fā)明提供的一種ARP欺騙的細粒度檢測方法及系統(tǒng),監(jiān)控第一終端和第二終端之間通信的請求與應答的數(shù)據(jù)包,識別是否存在待驗證的異常通信數(shù)據(jù)包,并在發(fā)現(xiàn)待驗證的異常通信數(shù)據(jù)包時,向發(fā)送該數(shù)據(jù)包對應的終端發(fā)送拒絕服務的信息,保證了驗證之后的終端的IP地址與MAC地址是一一對應的,該方法在未增加網(wǎng)絡側(cè)的信令負擔的同時,達到高效動態(tài)的檢測ARP攻擊和反制。
【附圖說明】
[0032]圖1為本發(fā)明一實施例提供的一種ARP欺騙的細粒度檢測方法的流程示意圖;
[0033]圖2為本發(fā)明一實施例提供的一種ARP欺騙的細粒度檢測系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0034]下面結(jié)合附圖,對發(fā)明的【具體實施方式】作進一步描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術方案,而不能以此來限制本發(fā)明的保護范圍。
[0035]圖1示出了本發(fā)明實施例提供的一種ARP欺騙的細粒度檢測方法的流程示意圖,如圖1所示,該方法包括:
[0036]101、在預設時間段內(nèi)監(jiān)控第一終端和第二終端之間通信的請求與應答的數(shù)據(jù)包,其中所述數(shù)據(jù)包中包括第一終端的IP地址、第一終端的IP地址對應的MAC地址、第二終端IP地址和第二終端的IP地址對應的MAC地址;
[0037]102、根據(jù)所述數(shù)據(jù)包,判斷所述數(shù)據(jù)包中是否存在待驗證的異常通信數(shù)據(jù)包;
[0038]103、當確定所述數(shù)據(jù)包中存在待驗證的異常通信數(shù)據(jù)包時,向所述第一終端發(fā)送所述待驗證的異常通信數(shù)據(jù)包,以使所述第一終端對所述待驗證的異常通信數(shù)據(jù)包進行驗證。
[0039]具體的,上述步驟102包括:
[0040]在所述數(shù)據(jù)包中存在第一終端的IP地址相同,且第一終端的IP地址對應的MAC地址不同時,確定所述數(shù)據(jù)包中存在待驗證的異常通信數(shù)據(jù)包。
[0041]上述步驟103包括:
[0042]所述第一終端接收所述待驗證的異常通信數(shù)據(jù)包,并提取所述待驗證的異常通信數(shù)據(jù)包中的待驗證MAC地址。
[0043]所述第一終端通過將所述第一終端的IP地址對應的MAC地址與所述待驗證MAC地址進行比較,對所述待驗證的異常通信數(shù)據(jù)包進行驗證。
[0044]所述第一終端在所述第一終端的IP地址對應的MAC地址與所述待驗證MAC地址不同時,確定所述待驗證的異常通信數(shù)據(jù)包為異常通信數(shù)據(jù)包,并向所述異常通信數(shù)據(jù)包中的待驗證MAC地址對應的終端發(fā)送拒絕服務的信息。
[0045]上述方法結(jié)合基于TCP報文數(shù)據(jù)中添加網(wǎng)絡異常行為中同一 IP對應的MAC地址,在TCP建立連接到終止的過程中對其進行驗證,對比此TCP報文數(shù)據(jù)中包含的MAC與目標服務器的MAC,發(fā)現(xiàn)真正的ARP欺騙。通過對于網(wǎng)絡異常行為的驗證,能夠保證驗證之后的IP、MAC映射關系一定是正確的沒有受到欺騙。檢測出ARP欺騙之后能夠?qū)ζ溥M行拒絕服務等反制措施,第一時間防止ARP欺騙帶來的危害。同時沒有增加網(wǎng)絡側(cè)的信令負擔,達到高效地動態(tài)地檢測ARP攻擊與反制。
[0046