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