一種DDos攻擊的檢測方法及裝置與流程
2024-01-24 06:45:15

本發明涉及雲計算領域,特別涉及一種ddos攻擊的檢測方法及裝置。
背景技術:
雲計算(cloudcomputing)是一種基於網際網路的計算方式,通過這種方式,共享的軟硬體資源和信息可以按需求提供給計算機和其他設備。
在雲計算環境中,最常見的攻擊形式之一便是分布式拒絕服務(distributeddenialofservice,ddos)攻擊。所謂ddos攻擊,即是指藉助於客戶/伺服器技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動攻擊,從而成倍地提高拒絕服務攻擊的威力。
參閱圖1所示,通常情況下,黑客會將ddos主控程序安裝在一個計算機上作為攻擊者。在一個設定的時間,攻擊者會通過主控程序與大量安裝有代理程序的計算機通訊,而代理程序已經被安裝在internet上的許多計算機,這些計算機被稱為傀儡機。傀儡機集群接收到攻擊指令時就會向被攻擊者發動攻擊。利用客戶/伺服器技術,攻擊者能在幾秒鐘內激活成百上千次傀儡機的運行。
其中,上述傀儡機即是被黑客遠程控制的機器。它們被黑客攻破或者由於用戶不小心被植入了木馬,黑客可以隨意操縱傀儡機並利用傀儡機做任何事情。傀儡機可以是各種系統,如windows、linux、unix等,更可以是一家公司、企業、學校甚至是政府軍隊的伺服器。
針對目前的ddos攻擊,目前採用的檢測方案如下:系統通過交換機埠鏡像或分光分流等方法獲取到雲計算環境的網絡鏡像流量,該網絡鏡像流量中實時匯總了雲計算環境內的每一個主機的流量,接著,系統判斷網絡鏡像流量的大小是否大於預警值,確定大於預警值時,則確定主機受到了ddos攻擊。 而對於檢測出的被ddos攻擊的主機的ip,將會被流量引到ddos清洗集群進行流量清洗。最終,再進行正常流量回注。
然而,現有技術下,獲取網絡鏡像流量的流量檢測系統一般設置在雲機房出口處或者連接運營商的出口處,因此,目前的ddos檢測方案僅僅能檢測到來自雲計算環境外部的主機對內部主機的攻擊,另外,由於對這部分流量進行鏡像的複雜度非常高,所以目前還沒有有效的解決方案。
技術實現要素:
本申請實施例提供一種ddos攻擊的檢測方法及裝置,用以在雲計算環境內部,進行準確的ddos檢測。
本申請實施例提供的具體技術方案如下:
一種ddos攻擊的檢測方法,包括:
伺服器基於本地的輸出總流量,分別提取出與所述伺服器存在連接的每一個目的ip的流量特徵描述信息,其中,一個目的ip的流量特徵描述信息,用於表徵所述一個目的ip與所述伺服器之間的輸出流量的傳輸狀態;
所述伺服器分別將所述每一個目的ip的流量特徵描述信息與預設的規則集合進行匹配,獲得匹配結果;
所述伺服器根據匹配結果,確定所述伺服器是否存在ddos攻擊行為。
可選的,伺服器基於本地的輸出總流量,分別提取出與所述伺服器存在連接的每一個目的ip的流量特徵描述信息之前,進一步包括:
伺服器計算本地的輸出總流量的大小,並確定本地的輸出總流量的大小達到設定閾值。
可選的,伺服器確定本地的輸出總流量的大小達到設定閾值,包括:
伺服器判斷以下任意一種統計參量達到相應閾值時,確定本地的輸出總流量的大小達到設定閾值:
輸出方向單位時間內發送的比特數目;
輸出方向單位時間內發送的請求數據包數目;
輸出方向單位時間內發送的http請求數目;
輸出方向單位時間內新建連接數目。
可選的,伺服器基於所述輸出總流量,提取出與所述伺服器存在連接的每一個目的ip的流量特徵描述信息,包括:
所述伺服器基於所述輸出總流量,分別針對每一個目的ip提取出以下參數中的一種或任意組合作為相應的流量特徵描述信息:
所述伺服器到目的ip的輸出流量速率;
所述伺服器到目的ip的輸出數據包類型;
所述伺服器到目的ip的輸出數據包中異常數據包的數目。
可選的,所述伺服器根據匹配結果,確定所述伺服器是否存在ddos攻擊行為,包括:
所述伺服器確定至少一個確定所述任意一個目的ip的流量特徵描述信息中包含的各個參數,在所述規則集合中命中的規則的總數目,達到預設的命中門限時,確定所述伺服器存在ddos攻擊行為匹配成功。
可選的,確定所述伺服器存在ddos攻擊行為後,進一步包括:
所述伺服器確定自身的ddos攻擊行為所針對的目的ip集合;
所述伺服器在所述目的ip集合中的每一個目的ip的輸出方向進行流量丟棄或者進行流量限速。
可選的,進一步包括:
所述伺服器檢測到本地的輸出總流量的大小低於設定閾值時,在所述目的ip集合中的每一個目的ip的輸出方向,停止流量丟棄或停止流量限速。
可選的,進一步包括:
所述伺服器確定所述目的ip集合中的任意一個目的ip的流量特徵描述信息與預設的規則集合不再匹配時,在所述任意一個目的ip的輸出方向停止流量丟棄或停止流量限速。
一種ddos攻擊的檢測裝置,包括:
提取單元,用於基於本地的輸出總流量,分別提取出與所述裝置存在連接的每一個目的ip的流量特徵描述信息,其中,一個目的ip的流量特徵描述信息,用於表徵所述一個目的ip與所述裝置之間的輸出流量的傳輸狀態;
匹配單元,用於分別將所述每一個目的ip的流量特徵描述信息與預設的規則集合進行匹配,獲得匹配結果;
處理單元,用於根據匹配結果,確定所述裝置是否存在ddos攻擊行為。
可選的,基於本地的輸出總流量,分別提取出與所述裝置存在連接的每一個目的ip的流量特徵描述信息之前,所述提取單元進一步用於:
計算本地的輸出總流量的大小,並確定本地的輸出總流量的大小達到設定閾值。
可選的,確定本地的輸出總流量的大小達到設定閾值時,所述提取單元包括:
判定以下任意一種統計參量達到相應閾值時,確定本地的輸出總流量的大小達到設定閾值:
輸出方向單位時間內發送的比特數目;
輸出方向單位時間內發送的請求數據包數目;
輸出方向單位時間內發送的http請求數目;
輸出方向單位時間內新建連接數目。
可選的,基於所述輸出總流量,提取出與所述裝置存在連接的每一個目的ip的流量特徵描述信息時,所述提取單元用於:
基於所述輸出總流量,分別針對每一個目的ip提取出以下參數中的一種或任意組合作為相應的流量特徵描述信息:
所述裝置到目的ip的輸出流量速率;
所述裝置到目的ip的輸出數據包類型;
所述裝置到目的ip的輸出數據包中異常數據包的數目。
可選的,伺服器根據匹配結果,確定所述伺服器是否存在ddos攻擊行為時,所述處理單元用於:
確定至少一個目的ip的流量特徵描述信息中包含的各個參數,在所述規則集合中命中的規則的總數目,達到預設的命中門限時,確定所述伺服器存在ddos攻擊行為。
可選的,確定所述裝置存在ddos攻擊行為後,所述處理單元進一步用於:
確定自身的ddos攻擊行為所針對的目的ip集合;
在所述目的ip集合中的每一個目的ip的輸出方向進行流量丟棄或者進行流量限速。
可選的,所述處理單元進一步用於:
檢測到本地的輸出總流量的大小低於設定閾值時,在所述目的ip集合中的每一個目的ip的輸出方向,停止流量丟棄或停止流量限速。
可選的,所述處理單元進一步用於:
確定所述目的ip集合中的任意一個目的ip的流量特徵描述信息與預設的規則集合不再匹配時,在所述任意一個目的ip的輸出方向停止流量丟棄或停止流量限速。
本申請有益效果如下:
本申請實施例中,伺服器從自身的輸出總流量中分別提取針對每一個目的ip的流量特徵描述信息,再將所述每一個目的ip的流量特徵描述信息與預設的規則集合進行匹配,獲得匹配結果,以及根據匹配結果,確定所述伺服器是否存在ddos攻擊行為。這樣,可以在雲計算環境內部,準確及時地檢測出ddos攻擊行為,便於及時阻止雲計算環境內部的伺服器,對同屬雲計算環境的其他伺服器以及對雲計算環境外部的其他主機的ddos攻擊,保障了雲計算環境的整體安全性和運行可靠性。進一步地,也大大降低了前期的開發成本和後期的運維成本。
附圖說明
圖1為現有技術下攻擊者通過傀儡機發動ddos攻擊示意圖;
圖2為本申請實施例中在雲計算環境內部對ddos攻擊進行檢測流程圖;
圖3為本申請實施例中伺服器功能結構示意圖。
具體實施方式
為了在雲計算環境內部,進行準確的ddos檢測,本申請實施例中,在雲計算環境內部的每一個伺服器上分別部署一個內核模塊,伺服器可以通過自身安裝的內核模塊來獲取本地的全部流量,這樣,伺服器可以通過監控自身的流量情況,判斷自身是否是發起ddos攻擊的主機。
下面結合附圖對本申請優選的實施例作出進一步詳細說明。
當伺服器被入侵成為傀儡機後,經常被用於ddos攻擊,然而,為了能夠便於發起攻擊,伺服器通常還具有正常的服務功能,只是在接收到攻擊者的指令後,再在雲計算環境內部發起攻擊。因此,本申請實施例中,在伺服器上安裝內核模塊,令伺服器可以自主發現自身的ddos攻擊行為,從而有效地進行防禦,避免了對同屬雲計算環境內的其他伺服器的ddos攻擊,彌補了現有基於網絡鏡像流量檢測ddos攻擊方法的不足。
參閱圖2所示,本申請實施例中,雲計算環境內部的伺服器在對ddos攻擊進行檢測的詳細流程如下:
步驟200:伺服器獲取本地的輸出總流量。
實際應用中,伺服器可以在本地通過部署的一個內核模塊,使用filter技術或hook技術獲取該伺服器的全部輸出流量。
通常情況下,伺服器一旦被入侵成為傀儡機後,會在接收到攻擊者指令時再對屬於同一雲計算環境的其他伺服器進行攻擊,因此,伺服器需要定期對自身的輸出流量進行監控,以便判斷自身是否出現ddos攻擊行為。較佳的,可以將伺服器的統計周期設置為小於等於5s。
步驟201:伺服器判斷本地的輸出總流量的大小是否達到設定閾值?若是,則執行步驟202;否則,返回步驟200。
之所以執行步驟201,是因為計算輸出總流量大小時,伺服器的運行負荷較小,而後續進行流量特徵分析時,伺服器的運行負荷較大,因此,確定輸出總流量的大小達到設定閾值後,再進行後續的流量特徵分析,可以減輕伺服器的負荷。當然,若伺服器本身具有強大的計算能力,則也可以不用判斷輸出總流量的大不是否達到設定閾值,而直接執行後續的流量特徵分析操作,本實施例中步驟201僅為一種較佳的實施方式,在此不再贅述。
進一步地,在執行步驟201時,伺服器可以在判斷以下任意一種統計參量達到相應閾值時,確定本地的輸出總流量的大小達到設定閾值,其中,可以採用的統計參量包含但不限於:
輸出方向單位時間內(如,每秒種)傳輸的比特數目(bps);輸出方向單位時間內(如,每秒鐘)傳輸的請求數據包數目(pps);輸出方向單位時間內(如,每秒鐘)傳輸的http請求數目(qps);以及輸出方向單位時間內(如,每秒鐘)的新建連接數目。
上述任意一種統計參量達到相應閾值,都說明伺服器在輸出方向出現了流量激增,這是存在ddos攻擊行為的先兆。
步驟202:伺服器分別統計本地到每一個目的ip的輸出流量速率。
具體的,伺服器可以在輸出總流量中,區分出每一個目的ip方向的輸出總量,再通過速率測量,即可以獲得每一個目的ip的流量速率。
步驟203:伺服器分別統計本地到每一個目的ip的輸出數據包類型。
伺服器可以並行執行多個任務,因此,和不同的目的ip之間傳輸的數據包的類型可以不同,例如,和目的ip1之間傳輸的是傳輸控制協議(transmissioncontrolprotocol,tcp)數據包,和目的ip2之間傳輸的是用戶數據報協議userdatagramprotocol,udp)數據包。
步驟204:伺服器分別統計本地到每一個目的ip的輸出數據包中異常數據 包的數目。
通常情況下,到每一個目的ip的輸出數據包中可能攜帶有異常數據包,所謂的異常數據包通常符合相應的協議格式,但是與普通數據包相比卻存在明顯不同,是正常流量中很少出現的數據包。
通常情況下,上述異常數據包有以四種:
1、長度超過設定長度門限(如,128比特)的網際網路控制消息協議(internetcontrolmessageprotocol,icmp)報文。
2、有效載荷內容重複的udp報文。
3、沒有option選項的tcpsyn報文,其中,syn表徵握手信號(synchronous)
4、攜帶有效載荷的tcpsyn報文。
出現異常數據包,有可能是進行ddos攻擊的先兆。
上述步驟202中統計的伺服器到目的ip的輸出流量速率、步驟203中統計的伺服器到目的ip的輸出數據包類型,以及步驟204中統計的伺服器到目的ip的輸出數據包中異常數據包的數目,均可以統稱為流量特徵描述信息,均可以描述伺服器和相應的目的ip之間的輸出流量的傳輸狀態。實際應用中,上述三類參數可以選取一個統計,也可以選取任意組合統計,還可以加入其他參數進行統計,本實施例中,僅以上述三個參數均進行統計為例進行說明,在此不再贅述。
步驟205:伺服器將獲得的上述三類參數與預設的規則集合進行匹配,判斷是否匹配成功?若是,則執行步驟206;否則,返回步驟200。
具體的,伺服器可以保存有管理人員預設配置的規則集合,也可以從服務端實時獲取最新的規則集合,該規則集合用於描述ddos攻擊行為的特徵,每一個規則中記錄有流量特徵描述信息中的任意一個參數或者任意參數組合在進行ddos攻擊時的行為特點。
那麼,以任意一個目的ip為例(以下稱為目的ipx),在具體執行匹配操作時,伺服器可以將目的ipx對應的流量特徵描述信息中記錄的各個參數,分別與預設的規則集合中的每一條規則進行匹配,並記錄命中的規則的總數目,當確定命中的規則的總數目達到設定的命中門限時,確定目的ipx匹配成功,即伺服器對目的ipx存在ddos攻擊行為。
例如,假設規則集合中的規則包括:
規則1、syn>0.5&&bps>1。
規則1的含義為:一個目的ip的輸出方向的bps大於1mbps,其中,表徵新建連接的握手信號(synchronous,syn)報文的比例大於50%。
規則2、qps>1000orpps>5000
規則2的含義為:一個目的ip的輸出方向的qps大於1000,或者,輸出方向的pps大於5000
規則3、icmphuge/pps>0.3
規則3的含義為:一個目的ip輸出方向的異常icmp報文(報文長度大於128比特)佔所有輸出報文的比例大於30%。
假設,目的ipx對應的流量特徵描述信息為:qps=2000,且全部為http請求報文,命中了上述規則2,則說明伺服器對目的ipx存在ddos行為
當然,伺服器可以同時對多個目的ip進行ddos攻擊,因此,伺服器可以通過上匹配過程,篩選出自身作為ddos攻擊對象的目的ip集合(包含至少一個被攻擊的目的ip)。
步驟206:伺服器確定自身存在ddos攻擊行為。
這樣,伺服器便能對自身進行實時自主監控,隨時發現自身的ddos攻擊行為,便於及時進行ddos攻擊攔截。
具體的,在進行ddos攔截時,伺服器會確定自身的ddos攻擊行為所針對的目的ip集合,接著,在該目的ip集合中的每一個目的ip的輸出方向進行流量丟棄或者進行流量限速。而針對不屬於上述目的ip集合的其他目的ip, 伺服器會將相應的輸出流量正常放行,不會影響為這些目的ip提供服務。
當然,當伺服器檢測到輸出總流量恢復到正常值時,可以在上述目的ip集合中的每一個目的ip的輸出方向,停止流量丟棄或停止流量限速。或者,伺服器也可以在確定上述目的ip集合中的任意一個目的ip的流量特徵描述信息與預設的規則集合不再匹配時,在該任意一個目的ip的輸出方向停止流量丟棄或停止流量限速。
基於上述實施例,參閱圖3所示,本申請實施例中,ddos攻擊的檢測裝置(即伺服器)至少包括提取單元31、匹配單元32和處理單元33,其中,
提取單元31,用於基於本地的輸出總流量,分別提取出與所述裝置存在連接的每一個目的ip的流量特徵描述信息,其中,一個目的ip的流量特徵描述信息,用於表徵所述一個目的ip與所述裝置之間的輸出流量的傳輸狀態;
匹配單元32,用於分別將所述每一個目的ip的流量特徵描述信息與預設的規則集合進行匹配,獲得匹配結果;
處理單元33,用於根據匹配結果,確定所述裝置是否存在ddos攻擊行為。
可選的,基於本地的輸出總流量,分別提取出與所述裝置存在連接的每一個目的ip的流量特徵描述信息之前,提取單元31進一步用於:
計算本地的輸出總流量的大小,並確定本地的輸出總流量的大小達到設定閾值。
可選的,確定本地的輸出總流量的大小達到設定閾值時,提取單元31包括:
判定以下任意一種統計參量達到相應閾值時,確定本地的輸出總流量的大小達到設定閾值:
輸出方向單位時間內發送的比特數目;
輸出方向單位時間內發送的請求數據包數目;
輸出方向單位時間內發送的http請求數目;
輸出方向單位時間內新建連接數目。
可選的,基於所述輸出總流量,提取出與所述裝置存在連接的每一個目的ip的流量特徵描述信息時,提取單元31用於:
基於所述輸出總流量,分別針對每一個目的ip提取出以下參數中的一種或任意組合作為相應的流量特徵描述信息:
所述裝置到目的ip的輸出流量速率;
所述裝置到目的ip的輸出數據包類型;
所述裝置到目的ip的輸出數據包中異常數據包的數目。
可選的,根據匹配結果,確定所述伺服器是否存在ddos攻擊行為時,處理單元33用於:
確定至少一個目的ip的流量特徵描述信息中包含的各個參數,在所述規則集合中命中的規則的總數目,達到預設的命中門限時,確定所述伺服器存在ddos攻擊行為。
可選的,確定所述裝置存在ddos攻擊行為後,處理單元33進一步用於:
確定自身的ddos攻擊行為所針對的目的ip集合;
在所述目的ip集合中的每一個目的ip的輸出方向進行流量丟棄或者進行流量限速。
可選的,處理單元33進一步用於:
檢測到本地的輸出總流量的大小低於設定閾值時,在所述目的ip集合中的每一個目的ip的輸出方向,停止流量丟棄或停止流量限速。
可選的處理單元33進一步用於:
確定所述目的ip集合中的任意一個目的ip的流量特徵描述信息與預設的規則集合不再匹配時,在所述任意一個目的ip的輸出方向停止流量丟棄或停止流量限速
綜上所述,本申請實施例中,伺服器從自身的輸出總流量中分別提取針對每一個目的ip的流量特徵描述信息,再將所述每一個目的ip的流量特徵描述信息與預設的規則集合進行匹配,獲得匹配結果,以及根據匹配結果,確定所 述伺服器是否存在ddos攻擊行為。這樣,可以在雲計算環境內部,準確及時地檢測出ddos攻擊行為,便於及時阻止雲計算環境內部的伺服器,對同屬雲計算環境的其他伺服器以及對雲計算環境外部的其他主機的ddos攻擊,保障了雲計算環境的整體安全性和運行可靠性。進一步地,也大大降低了前期的開發成本和後期的運維成本。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、光學存儲器等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基 本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請範圍的所有變更和修改。
顯然,本領域的技術人員可以對本申請實施例進行各種改動和變型而不脫離本申請實施例的精神和範圍。這樣,倘若本申請實施例的這些修改和變型屬於本申請權利要求及其等同技術的範圍之內,則本申請也意圖包含這些改動和變型在內。