網(wǎng)絡(luò)攻擊的處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,具體而言,涉及一種網(wǎng)絡(luò)攻擊的處理方法和裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的發(fā)展,在互聯(lián)網(wǎng)方便民眾生活的同時,網(wǎng)絡(luò)攻擊和網(wǎng)絡(luò)安全成為了互聯(lián)網(wǎng)時代的一個典型特點,其中,洪泛DOS Flood攻擊是拒絕服務(wù)攻擊中的一種,攻擊原理簡單,成本低,危害大,難于防范,可以短時間對網(wǎng)絡(luò)的安全帶來嚴重的破壞。常見的DOSFlood攻擊有握手信號洪泛攻擊(Synchronous Flood,簡稱SYN Flood),復(fù)位連接洪泛攻擊(Rest The conect1n Flood,簡稱RST Flood),關(guān)閉連接洪泛攻擊(Finish Flood,簡稱FIN Flood),確認信號洪泛攻擊ACK Flood,用戶數(shù)據(jù)包協(xié)議洪泛攻擊(User DertagramProtocolJI^lUDP Flood),控制報文協(xié)議洪泛攻擊(Internet Control MessageProtocolJI^IlCMP Flood)。
[0003]攻擊者首先攻破大量電腦,移動終端等設(shè)備作為攻擊者的“肉雞”,通過大量“肉雞”發(fā)起Flood攻擊,使攻擊流量和正常流量混雜在一起,也可以通過偽造源IP地址發(fā)起Flood攻擊,耗盡目標系統(tǒng)的資源,造成目標系統(tǒng)的癱瘓而無法正常響應(yīng)服務(wù)。由于Flood攻擊流量大特征不明顯,和正常流量混雜在一起,很難檢測到攻擊,即使能夠檢測到,也很難做到阻斷異常流的情況下對正常流量沒有影響。因此當下對于Flood攻擊的檢測及緩解主要存在以下問題:1,在不同網(wǎng)絡(luò)環(huán)境下,無法在沒有人為干預(yù)的情況下、快速準確的檢測到攻擊。2,在檢測到攻擊后,無法精確定位到異常流量,也無法準確的緩解攻擊。3,對于偽造IP地址的Flood攻擊即使檢測出來,也很難做到緩解攻擊的同時對被偽造IP的真實正常流量“誤傷”小。
[0004]相關(guān)技術(shù)在解決上述洪泛攻擊的過程中主要有以下方案:
[0005]方案一,目前大多數(shù)的網(wǎng)絡(luò)安全設(shè)備或防攻擊軟件都是通過對被保護系統(tǒng)設(shè)定資源訪問的門限值,超出門限值則認為有異常,例如SYN Flood攻擊的檢測辦法就是設(shè)置I分鐘內(nèi)訪問被保護系統(tǒng)的SYN包個數(shù)不能超過5000個。即,設(shè)置被保護系統(tǒng)單位時間內(nèi)SYN包的上限,當單位時間內(nèi)訪問被保護系統(tǒng)的SYN包個數(shù)超過門限值后,認為已經(jīng)發(fā)生SYNFlood攻擊,并通過概率的丟棄SYN包,來緩解攻擊。但是無規(guī)則的丟棄SYN包,會造成嚴重的“誤傷”,阻斷異常流量的同時正常流量同樣被阻斷,這樣所有訪問者都會發(fā)生隨機的TCP連接請求失敗的情況,方案一的緩解的方法是不可以接受的?;诖朔椒?,為了提高緩解的精度,有的安全廠商不惜犧牲巨大的內(nèi)存資源,來做基于源IP的統(tǒng)計,即統(tǒng)計單位時間內(nèi)每個源IP訪問被保護資源的SYN包個數(shù),雖然檢測到攻擊后可以基于源IP來丟棄SYN包,緩解范圍較上面的方法準確了些,但無法區(qū)分源IP的攻擊流量和正常流量,這樣對于正常流量依然會“誤傷”,同時檢測本身消耗巨大的內(nèi)存資源和系統(tǒng)性能。
[0006]方案一的缺陷在于檢測方法單一,不適應(yīng)不同網(wǎng)絡(luò)環(huán)境,也無法解決不同周期內(nèi)門限值不同的情況,更無法對檢測出來的攻擊做智能的“清洗”,而是簡單的根據(jù)源IP地址丟棄包,結(jié)果是異常流量和正常流量都被阻斷,這種緩解的方法本身也是拒絕服務(wù)。
[0007]方案二,當下針對SYN Flood攻擊最常見的防范手段是開啟SYN Cookie功能。它的原理是在TCP服務(wù)器端收到SYN包時,并不及時為其分配資源,而是根據(jù)這個SYN包計算出一個Cookie值,通過驗證ACK包的確認號來判斷ACK的合法性。如果合法,則容許此TCP連接建立,否則丟棄SYN包請求。即,SYN Cookies是根據(jù)時間戮、MSS(Maximum Segment Size)、IP地址以及端口號等信息依照一定規(guī)則編碼生成初始序號,作為服務(wù)器響應(yīng)的SYN+ACK包的序號,根據(jù)TCP規(guī)范,當客戶端發(fā)回TCP ACK包給服務(wù)器以響應(yīng)服務(wù)器的SYN+ACK包時,客戶端必須使用由服務(wù)器發(fā)送的初始序號加I作為數(shù)據(jù)包中的確認號。服務(wù)器接著從確認號中減去I,以便還原向客戶端發(fā)送的原始SYN Cookie。
[0008]方案二的缺陷在于只有3位二進制空間可用于表示MSS(Maximum Segment Size)編碼,所以服務(wù)器只能編碼八種MSS數(shù)值;為了節(jié)省空間需要犧牲TCP選項來達到保護連接的目的;此功能本身非常消耗安全設(shè)備的內(nèi)存資源、運算資源、帶寬以及造成安全設(shè)備性能下降;有的廠商在此基礎(chǔ)上有微小的創(chuàng)新,比如將SYN Cookie功能應(yīng)用在網(wǎng)絡(luò)設(shè)備透明模式中,或者對SYN Cooike加白名單等,根本上還是SYN Cookie,對于SYN Flood攻擊流量大,SYN Cookie運算和驗證的時間復(fù)雜度高,且本身也需要耗很多內(nèi)存資源,而且受到capacity的限制,在實際遭到嚴重的SYN Flood攻擊時,安全設(shè)備本身也會受到嚴重的影響和危害。
[0009]方案三,通過采集TCP包頭信息,對每個信息的hash值構(gòu)建hash散列列表,根據(jù)一定算法來識別那些信息有異常,當數(shù)據(jù)包相應(yīng)信息的hash值所在bucket已經(jīng)被標記為異常,則丟棄這個包。即,需要對所有TCP包頭信息采集,并生成相應(yīng)信息的hash表,將采集的信息散列到hash表中,根據(jù)hash表中某個bucket值變化的情況來決定是否有異常,如果有異常則標記異常。當收到的TCP包頭信息對應(yīng)的hash值所在bucket已經(jīng)被標記為異常,則丟棄包。例如TCP包頭的目的IP和目的端口,當某個端口訪問量太大,則認為是Flood攻擊,丟棄訪問該端口包。
[0010]方案三的缺陷在于沒有把攻擊的檢測和攻擊的緩解獨立分開,不能通過簡單包特征異常而認為有攻擊,這樣誤報的概率極大,沒有準確的攻擊檢測方法;只是統(tǒng)計TCP包頭信息,不能更準確的找到攻擊的特征;只是針對TCP的Flood攻擊,對于更常見的UDP Flood、ICMP Flood攻擊無能為力。
[0011]方案四,對于UDPFlood攻擊,通過構(gòu)建兩個二叉樹A和B,樹A用來存儲等待分析的UDP數(shù)據(jù)包,樹B用來存儲已被檢測出來的正在進行UDP Flood攻擊的主機IP,如果源IP在樹B中,則丟棄此源IP的UDP包。即,當收到UDP包,先通過源IP查找樹B是否有匹配的節(jié)點,如果有,則丟棄包,否則走下面對樹A的操作。通過源IP查找樹A是否有此IP的節(jié)點,如果沒有,將此源IP節(jié)點插入樹A,并記錄UDP包的內(nèi)容,如果找到此節(jié)點,與節(jié)點保存的UDP包內(nèi)容做比較,如果內(nèi)容相同,則當前節(jié)點的“匹配計數(shù)”加1,否則“不匹配計數(shù)”加1,當一定時間內(nèi)“匹配計數(shù)”大于一定值,則認為此源IP發(fā)起UDP Flood攻擊,并將此IP添加到樹B中。
[0012]方案四的缺陷在于記錄每個源IP的第一個UDP包內(nèi)容,同樣非常消耗內(nèi)存資源,當實際網(wǎng)絡(luò)中源IP比較多的情況下,樹A會非常大,對于每個UDP包都要查找樹A,無論是時間復(fù)雜度還是空間復(fù)雜度都是無法接受的;檢測方法比較單一,只是通過UDP包內(nèi)容來判斷,當內(nèi)容為隨機字符,此方法失效,而且對于偽造源IP的攻擊,有可能是攻擊流量與非攻擊流量混雜在一起,收到的第一個源IP的包不一定就是攻擊包;緩解方法只是基于源IP丟棄包,會對正常流量有較大“誤傷”;只能檢測UDP Flood攻擊,其它攻擊類型無法檢測。
[0013]針對上述由于相關(guān)技術(shù)中對正常流量的數(shù)據(jù)包在緩解洪泛攻擊的過程中誤傷大,確認攻擊的精度低以及預(yù)防洪泛攻擊而消耗的系統(tǒng)資源大的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0014]本發(fā)明實施例提供了一種網(wǎng)絡(luò)攻擊的處理方法和裝置,以至少解決由于相關(guān)技術(shù)中對正常流量的數(shù)據(jù)包在緩解洪泛攻擊的過程中誤傷大,確認攻擊的精度低以及預(yù)防洪泛攻擊而消耗的系統(tǒng)資源大的技術(shù)問題。
[0015]根據(jù)本發(fā)明實施例的一個方面,提供了一種網(wǎng)絡(luò)攻擊的處理方法,包括:采集數(shù)據(jù)流中的數(shù)據(jù)包信息;解析數(shù)據(jù)包信息,得到攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù);將攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù)與預(yù)設(shè)/學(xué)習數(shù)據(jù)進行比較,判斷攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù)是否存在異常;當判斷結(jié)果為否時,將攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù)分別輸入預(yù)先建立的分析模型,生成對應(yīng)的分析數(shù)據(jù);當判斷結(jié)果為是時,上報異常事件,并依據(jù)預(yù)設(shè)/學(xué)習數(shù)據(jù)檢測包特征維度數(shù)據(jù)是否存在異常特征,異常事件用于指示數(shù)據(jù)流中的數(shù)據(jù)包存在洪泛攻擊的威脅;當檢測結(jié)果為是時,依據(jù)包特征維度數(shù)據(jù)匹配對應(yīng)的緩解方案;執(zhí)行緩解方案。
[0016]根據(jù)本發(fā)明實施例的另一方面,還提供了一種網(wǎng)絡(luò)攻擊的處理裝置,包括:采集模塊,用于采集數(shù)據(jù)流中的數(shù)據(jù)包信息;解析模塊,用于解析數(shù)據(jù)包信息,得到攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù);判斷模塊,用于將攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù)與預(yù)設(shè)/學(xué)習數(shù)據(jù)進行比較,判斷攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù)是否存在異常;數(shù)據(jù)更新模塊,用于當判斷結(jié)果為否時,將攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù)分別輸入預(yù)先建立的分析模型,生成對應(yīng)的分析數(shù)據(jù);異常檢測模塊,用于當判斷結(jié)果為是時,上報異常事件,并依據(jù)預(yù)設(shè)/學(xué)習數(shù)據(jù)檢測包特征維度數(shù)據(jù)是否存在異常特征,異常事件用于指示數(shù)據(jù)流中的數(shù)據(jù)包存在洪泛攻擊的威脅;匹配模塊,用于當檢測結(jié)果為是時,依據(jù)包特征維度數(shù)據(jù)匹配對應(yīng)的緩解方案;執(zhí)行模塊,用于執(zhí)行緩解方案。
[0017]在本發(fā)明實施例中,通過采集數(shù)據(jù)流中的數(shù)據(jù)包信息;解析數(shù)據(jù)包信息,得到攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù);將攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù)與預(yù)設(shè)/學(xué)習數(shù)據(jù)進行比較,判斷攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù)是否存在異常;當判斷結(jié)果為否時,將攻擊檢測維度數(shù)據(jù)和包特征維度數(shù)據(jù)分別輸入預(yù)先建立的分析模型,生成對應(yīng)的分析數(shù)據(jù);當判斷結(jié)果為是時,上報異常事件,并依據(jù)預(yù)設(shè)/學(xué)習數(shù)據(jù)檢測包特征維度數(shù)據(jù)是否存在異常特征,異常事件用于指示數(shù)據(jù)流中的數(shù)據(jù)包存在洪泛攻擊的威脅;當檢測結(jié)果為是時,依據(jù)包特征維度數(shù)據(jù)匹配對應(yīng)的緩解方案;執(zhí)行緩解方案,達到了準確防御洪泛攻擊的目的,從而實現(xiàn)了提升確認洪泛攻擊的精度以及節(jié)約系統(tǒng)資源的技術(shù)效果,進而解決了由于相關(guān)技術(shù)中對正常流量的數(shù)據(jù)包在緩解洪泛攻擊的過程中誤傷大,確認攻擊的精度低以及預(yù)防洪泛攻擊而消耗的系統(tǒng)資源大的技術(shù)問題。
【附圖說明】
[0018]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施