專利名稱:移動僵尸網絡特征碼生成方法和移動僵尸網絡檢測方法
技術領域:
本發明涉及移動互聯網安全技術領域,特別涉及一種移動僵尸網絡特征碼生成方法和移動僵尸網絡檢測方法。
背景技術:
隨著移動互聯網的發展,智能手機的逐漸普及;由于智能手機逐漸具有的更強大的計算能力和更方便的網絡接入途徑,為移動僵尸網絡的產生和發展提供了基礎。移動僵尸網絡是僵尸網絡在移動終端上的發展,指的是攻擊者通過手機僵尸程序建立的可控移動終端群體。與計算機平臺上的僵尸網絡類似,移動僵尸網絡攻擊者可以通過移動終端如智能手機進行短信洪流攻擊、發送垃圾郵件、訂購高額SP服務等有害行為。 這些行為極大的威脅著手機用戶的隱私和財產安全。目前的移動僵尸網絡大多主要基于 HTTP協議實現命令控制,圖1為移動互聯網下僵尸網絡結構示意圖。目前已經發現若干個手機平臺上的僵尸網絡。首個針對Symbian平臺的手機僵尸網絡SYMB0S_YXES. B于2009年7月被發現,感染僵尸程序的手機會搜集用戶的個人資料、 手機信息、網絡信息等并將這些信息上傳到指定的服務器。此外還會發送大量的垃圾短信給被感染用戶的聯系人,短信內容由控制者服務器提供。在2009年11月,出現了首個針對越獄iPhone的Ikee. B手機僵尸網絡。僵尸程序感染用戶后會搜集手機中經濟有關的敏感信息并上傳到指定服務器,并且能夠通過該服務器獲取并執行命令。隨著Android系統的推出及發展,使用Android系統手機的用戶日益增多。由于Android系統的開放性,其安全問題一直是人們比較關心的重點。目前Android平臺上已經出現了大量的手機惡意軟件, 其中一些惡意軟件已經帶有手機僵尸網絡的特征。在2010年,首個針對Android系統的手機僵尸網絡Geinimi出現。針對以上移動僵尸網絡的出現給移動互聯網帶來安全問題,需要作一些相應防御措施來進行對抗,但目前對移動僵尸網絡的防御研究甚少,而對移動僵尸網絡檢測這方面的研究幾乎還沒有。所以,業內需要一種移動僵尸網絡檢測方法。
發明內容
本發明要解決的技術問題是提供一種移動僵尸網絡特征碼生成方法和移動僵尸網絡檢測方法。根據本發明的一個方面,提供一種生成移動僵尸網絡的特征碼方法,包括步驟 1、捕獲可疑主機群的網絡流量;步驟2、對所述網絡流量數據包作基于內容的分割,獲取相同字符串;步驟3、對所述相同字符串進行統計分析,計算其流行度,提取流行度超出一定閾值的字符串;和步驟4、過濾所述流行度超出一定閾值的字符串,將常用的字符串排除, 剩下的字符串作為特征碼。可選的,步驟1包括步驟0-1、在網絡接入點上,捕獲網絡流量并對流量信息作記錄;步驟0-2、對記錄的流量信息進行聚類分析,以劃分主機群;和步驟0-3、根據時空相似性,確定所述主機群中的可疑主機群。可選的,步驟0-1中所述網絡接入點包括GPRS接入點。可選的,步驟0-1中所述記錄的格式為〈源IP地址,目標IP地址,源端口,目標端口,協議,時間,連接時間〉。可選的,步驟0-2中所述聚類分析包括X-MEANS方法。可選的,所述的生成移動僵尸網絡的特征碼方法在步驟0-2前還包括基本過濾, 以排除部分數據;所述基本過濾包括過濾掉所有內網向外網的通信以及不完全建立鏈接的包。可選的,所述的生成移動僵尸網絡的特征碼方法在步驟0-2前還包括白名單過濾,以排除部分數據;所述白名單中包括知名web服務器的IP和域名。可選的,步驟0-2包括對所得的相關流進行分類,以將具有相同屬性值的網絡流聚合成一個集合流;和從集合流提取特征映射到多維向量空間的多維向量;所述多維向量空間的維度與特征數相同。可選的,步驟0-2還包括對多個多維向量進行二次聚類;所述二次聚類包括第一次聚類和第二次聚類;所述第一次聚類使用X-MEANS聚類算法,減少特征變量數,即將多個多維向量的集合分割成多個第一集合;所述第二次聚類使用X-MED0IDS聚類算法對第一次聚類產生的結果再次劃分,得到多個第二集合。根據本發明另一個方面,還提供一種利用上述方法生成的特征碼來檢測移動僵尸網的方法,包括捕獲待檢測主機群的網絡流量;所述網絡流量為數據包,所述數據包具有包頭和有效負載,所述包頭和有效負載為一系列字符串;利用特征碼進行字符串匹配;對匹配成功的流量,確定為手機僵尸程序,記錄信息;和對匹配不成功的流量,放行此流量。與現有技術中相比,本發明的優點在于(1)本發明提供的方法利用時空相似性,不依賴移動僵尸網絡命令與控制的協議和結構;(2)該檢測方法能實時、有效地發現手機僵尸程序,而且誤報率低;(3)該檢測方法運行的網絡接入點上(如GPRS接入點上),不會受手機電池耗電的影響。
圖1是現有技術中移動互聯網下的僵尸網絡結構示意圖;圖2是一個示例中僵尸程序發出以及響應消息的時空相似性示意圖;圖3是本發明一個實施例中提供的移動僵尸網絡特征碼生成方法流程圖;圖4是本發明一個實施例中分割網絡流量數據包的方法示意圖;圖5是本發明一個實施例中對多個D維向量進行二次聚類的示意圖;圖6是本發明一個實施例中提供的移動僵尸網絡檢測方法流程圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖,對根據本發明的實施例中提供的移動僵尸網絡檢測方法進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。為了檢測僵尸網絡,首先需要了解僵尸網絡的特點。發明人經過長期研究發現,僵尸網絡具有下述特征由于僵尸程序對命令控制的響應行為是在編程時已經被確定,相同僵尸網絡中的僵尸程序行為具有時空相似性。其中,時空相似性指的是大量僵尸程序在維持連接、收發控制命令和執行攻擊任務時經常表現出協同性,使得多個僵尸程序會在同一時間窗內進行內容相似的通信。在移動互聯網已經出現的利用HTTP命令與控制協議的移動僵尸網絡也符合這一個特性。例如,參考圖2,其中僵尸(bot)210、220、230在相同的時間段201、202、203內發出以及響應消息具有相似性。所以,如果將上述時空相似性固化下來,用某種特征碼進行表示,那么利用這種特征碼匹配來對流量進行監測就可以實現僵尸網絡檢測。其中,特征碼可以是一組字符串,所述字符串是從流量數據包中提取的共同字符串,表示bot通信過程中相同的行為(連接相同的目的IP、目的端口,包含控制命令)。在本發明的一個實施例中,提供一種生成移動僵尸網絡的特征碼方法。該方法包括確定可疑主機群和生成其特征碼的過程,如圖3所示,包括S110、通信捕獲,獲取流量信息。在網絡接入點上如GPRS接入點上進行IP掃描, 獲取網絡流量,對流量信息(即網絡數據包)作記錄。信息內容和格式如下<源IP地址, 目標IP地址,源端口,目標端口,協議,時間,連接時間>。S120、通信聚類,生成主機群。從通信捕獲中得到的流量信息進行聚類并得到相似通信模式,使用的算法包括X-MEANS等聚類算法;由于聚類方法對主機群有了劃分,對新來的主機進行通信模式匹配后,該主機可以被歸類到相應的主機群中。新來的主機產生的數據包與已有主機群數據包特性匹配,如該類的數據包大小一樣,該數據包里的目的IP和端口一樣。主機群的數據包大小一樣,目的IP地址、源目的端口一樣。S130、確定可疑主機群。在一段時間內,根據時空相似性可得出主機群中的可疑主機群,最終獲得相似行為的可疑主機群。至此,確定了可疑主機群。S140 對可疑主機群監測,捕獲流量。各個集合Ai中分別是相似行為的主機群,對這些主機群進行流量監測,并捕獲其流量。S150 分割網絡流量數據包,獲取相同字符串。根據時空相似性,這些主機群之間或者主機群與控制服務器之間的通信都會有相同的行為,所以對這些主機對應的網絡流量數據包做基于負載內容的分割分析,從而獲取相同字符串。這些相同的字符串可能包含命令與控制的信息。本發明的另一個實施例中,還可以對流量數據包做基于已知常見字符串的分割, 例如,參考圖4,對流量數據包用‘0008’進行分割,分割得到的el和e2是兩個流中相同的字符串。其中,‘0008’是一種已知常見字符串。S160:統計分析獲取到的字符串,即對這些相同字符串進行統計分析、計算流行度,提取流行度超出一定閾值的字符串。S170 黑名單過濾。將獲得的字符串經過黑名單過濾,常用的字符串被放入黑名單,剩下的字符串作為特征碼放入特征庫。至此,生成了特征碼。優選的,在步驟SllO中,因為在中國手機上網一般采用GPRS的方法,所以在GPRS接入點上進行檢測,不僅能防止手機僵尸程序對整個手機網絡造成影響使手機服務不能正常工作或者影響用戶隱私等有害行為,而且能快速遏制手機僵尸程序的傳播。另外,針對GPRS上網的手機,沒有公網IP,所以不能對手機定位,但可以對可疑手機群模糊指定手機的IP只是某基站的IP,并不是公網IP,所以相同地理位置的手機享有相同的IP,此IP為基站IP ;這樣,相同手機IP為一個集合,就能定位該集合。上述步驟SllO中捕獲的流量是很大的。為了減少后續步驟中需要處理的數據、提高處理效率,如圖3所示,本發明的另一個實施例中,步驟S120進一步包括S201 基本過濾,排除部分數據。對流記錄作基本過濾,就是過濾掉所有內網向外網的通信以及不完全建立鏈接的包,留下可疑的數據,比如一個主機在沒有完成TCP握手發送確認包的情況,這種情況一般會發生在掃描活動中。S202 白名單過濾,排除部分數據。采集各大知名web服務器的IP和域名,將其列入白名單。S203 分類聚類。經過基本過濾和白名單之后,我們要對所得的相關流進行分類。 將具有相同屬性值的網絡流分為一類。假定一個時間段,比如一天,將擁有相同的協議、源 IP地址、目標IP地址和端口的網絡流聚合成一個集合流C (一個集合,集合里面的元素是網絡流)。然后從集合流C提取特征映射到一個D維的向量空間,所述D維向量空間的維度與特征數相同。這樣處理后再聚類能減少漏報率。比如兩個網絡流的目的IP不同,但可能是同一個僵尸網絡使用了不同的DNS,如果不進行映射,將會因為C流中的目的IP不同而不會被聚類到一組。流分類使集合變小,提高聚類效率。分類聚類的結果就是得到多個D維向量。上述步驟S201、S202、S203都可以減少數據量,提高聚類效率,但是減少的數據類型是不一樣的,結合使用可以去除多種類型的不相關數據。在本發明一些實施例中,上述步驟也可以不結合使用。但是,即使對于中等大的網絡中,上述特征維度空間也是很大的,而被感染的機器在網絡中比例又相對來說非常小,所以需要從C流中分離出良性和惡性(良性表示正常流
量)O為解決上述問題,提高處理效率,根據本發明的另一個實施例,在上述步驟S203 中對多個D維向量進行二次聚類S2031 第一次聚類將使用X-MEANS聚類算法,將眾多特征變量減少到相對比較少的個數即要將大集合X分割成多個小集合Ai (C流映射到D維向量空間,以便應用算法,這里X表示D維向量空間集合)。S2032 第二次聚類將使用X-MED0IDS聚類算法對第一次聚類產生的結果Ai再次劃分,得到更小集合。如圖5所示,第一步驟先在大集合D中,進行分類,得到集合Ai和Aj,在各個小集合Ai、Aj中再次進行小劃分,得到更小的集合Ai 1、Ai2和Aj 1、Aj2。按照本發明所提供的僵尸網絡的特征碼,通信監測系統對流量進行監測。本發明一個實施例中,提供移動僵尸網絡檢測方法,參見圖6,包括S401 利用特征碼進行字符串匹配。若匹配成功,轉入S402 ;若匹配不成功,轉入S403 ;所抓取的數據包具有包頭和有效負載,不管是包頭還是有效負載都是一系列字符串;S402 匹配成功的是手機僵尸程序,記錄信息,轉入S401 ;S403 匹配不成功,放行此流量,轉入S401。應該注意到并理解,在不脫離后附的權利要求所要求的本發明的精神和范圍的情況下,能夠對上述詳細描述的本發明做出各種修改和改進。因此,要求保護的技術方案的范圍不受所給出的任何特定示范教導的限制。
權利要求
1.一種生成移動僵尸網絡的特征碼方法,包括 步驟1、捕獲可疑主機群的網絡流量;步驟2、對所述網絡流量數據包作基于內容的分割,獲取相同字符串; 步驟3、對所述相同字符串進行統計分析,計算其流行度,提取流行度超出一定閾值的字符串;和步驟4、過濾所述流行度超出一定閾值的字符串,將常用的字符串排除,剩下的字符串作為特征碼。
2.根據權利要求1所述的生成移動僵尸網絡的特征碼方法,步驟1包括 步驟0-1、在網絡接入點上,捕獲網絡流量并對流量信息作記錄;步驟0-2、對記錄的流量信息進行聚類分析,以劃分主機群; 步驟0-3、根據時空相似性,確定所述主機群中的可疑主機群;和步驟0-4、捕獲該可疑主機群的網絡流量。
3.根據權利要求2所述的生成移動僵尸網絡的特征碼方法,步驟0-1中所述網絡接入點包括GPRS接入點。
4.根據權利要求2所述的生成移動僵尸網絡的特征碼方法,步驟0-1中所述記錄的格式為<源IP地址,目標IP地址,源端口,目標端口,協議,時間,連接時間>。
5.根據權利要求2所述的生成移動僵尸網絡的特征碼方法,步驟0-2中所述聚類分析包括X-MEANS方法。
6.根據權利要求2所述的生成移動僵尸網絡的特征碼方法,在步驟0-2前還包括 過濾掉所有內網向外網的通信以及不完全建立鏈接的包,以排除部分數據。
7.根據權利要求2所述的生成移動僵尸網絡的特征碼方法,在步驟0-2前還包括 白名單過濾,以排除部分數據;所述白名單中包括知名web服務器的IP和域名。
8.根據權利要求2所述的生成移動僵尸網絡的特征碼方法,步驟0-2包括 對所得的相關流進行分類,以將具有相同屬性值的網絡流聚合成一個集合流;和從集合流提取特征映射到多維向量空間的多維向量;所述多維向量空間的維度與特征數相同。
9.根據權利要求8所述的生成移動僵尸網絡的特征碼方法,步驟0-2還包括使用X-MEANS聚類算法,減少特征變量數,即將多個多維向量的集合分割成多個第一集合;使用X-MED0IDS聚類算法對第一集合再次劃分,得到多個第二集合。
10.一種利用如權利要求1 9中任意一項所生成的特征碼來檢測移動僵尸網絡的方法,包括捕獲待檢測主機群的網絡流量;所述網絡流量為數據包,所述數據包具有包頭和有效負載,所述包頭和有效負載為一系列字符串; 利用特征碼進行字符串匹配; 根據匹配結果,確定待檢測主機群是否為僵尸網絡。
全文摘要
本發明提供一種生成移動僵尸網絡的特征碼方法,包括捕獲可疑主機群的網絡流量;對所述網絡流量數據包作基于內容的分割,獲取相同字符串;對所述相同字符串進行統計分析,計算其流行度,提取流行度超出一定閾值的字符串;和過濾所述流行度超出一定閾值的字符串,將常用的字符串排除,剩下的字符串作為特征碼。還提供一種利用上述方法生成的特征碼來檢測移動僵尸網的方法,包括捕獲待檢測主機群的網絡流量;所述網絡流量為數據包,所述數據包具有包頭和有效負載,所述包頭和有效負載為一系列字符串;利用特征碼進行字符串匹配;對匹配成功的流量,確定為手機僵尸程序,記錄信息;和對匹配不成功的流量,放行此流量。
文檔編號H04L29/06GK102333313SQ201110315580
公開日2012年1月25日 申請日期2011年10月18日 優先權日2011年10月18日
發明者盧維清, 崔翔, 郭莉 申請人:中國科學院計算技術研究所