專利名稱:基于網(wǎng)絡行為的病毒檢測系統(tǒng)和方法
技術(shù)領域:
本發(fā)明涉及信息安全領域,尤其涉及一種病毒檢測系統(tǒng)和病毒檢測方法。
背景技術(shù):
移動病毒(mobile virus)是指攻擊目標為例如移動電話或具有無線網(wǎng)絡功能的PDA等無線移動設備的病毒。由于無線移動設備和支持這些設備的無線網(wǎng)絡越來越多,而且越來越復雜,因而保護它們從而使它們不受到各種病毒和其它惡意軟件的電子攻擊的難度也越來越大。
下面,首先介紹幾種現(xiàn)有技術(shù)中用于進行病毒檢測的常用方法。
基于特征碼的病毒檢測方法
在現(xiàn)有技術(shù)中,病毒和惡意軟件對于計算機研究人員造成了極大挑戰(zhàn)。傳統(tǒng)的一種病毒檢測方法是基于特征碼(signatures-based)的,其利用從特定實例的已有病毒中所抽取出的特征碼來檢測今后實例中出現(xiàn)的相同病毒。這種主流的病毒檢測方法基于特征碼匹配,相應的防毒軟件提供病毒特征庫,隨著病毒特征庫的不斷更新,防毒軟件得以檢測新的病毒。
這種方式在以前還是有效的,但是現(xiàn)代病毒采用例如多形性或變態(tài)機制等先進策略,使得部分病毒或其結(jié)構(gòu)在每次復制時會產(chǎn)生隨機的、不可預測的變化,因而在很多新情況下,例如面對病毒出現(xiàn)的多形性或變態(tài)機制時,基于特征碼的病毒檢測方法變得不再有效。這是因為,雖然這種基于特征碼的病毒檢測方法在檢測現(xiàn)有的或先前遇到過的病毒方面具有較高的檢出比率,但是在有效檢測新的、未知的病毒變種方面卻存在缺陷。而且,互聯(lián)網(wǎng)時代的高速發(fā)展使得病毒的繁殖速度越來越快,這導致病毒特征庫的更新速度無法跟上病毒的更新速度。
一些移動電話病毒安全系統(tǒng)或惡意信息過濾器檢測惡意病毒的URL,然后阻止對這些網(wǎng)址的訪問。但是和基于特征碼的病毒檢測方法類似,這種方法只能阻止已知的移動病毒服務器,而不能阻止對新的移動病毒服務器的訪問。此外,移動病毒可以通過改變病毒服務器的地址來躲避這種檢測機制。
由此可見,使用上述這種基于特征碼的病毒檢測方法只能用來檢測先前發(fā)現(xiàn)的病毒,而不能檢測新出現(xiàn)的未知病毒。_9] 基于代碼特征的病毒檢測方法
現(xiàn)在也提出了一些使用N-Gram的病毒檢測方法。此處的N-Gram是指二進制代碼中固定大小的連續(xù)二進制序列。這種方法從同時包含在良性軟件和惡意軟件中的訓練數(shù)據(jù)集中抽取最頻繁出現(xiàn)的N-Gram,并使用最多出現(xiàn)的N-Gram的并發(fā)率作為特征。
基于系統(tǒng)行為的病毒檢測方法
基于系統(tǒng)行為的病毒檢測方法主要可以分為以下三類:啟發(fā)式特征方法、靜態(tài)特征方法和動態(tài)特征方法。
簡單的啟發(fā)式特征可以指從Win32 PE(可移植可執(zhí)行文件格式)頭中或可執(zhí)行代碼的字串中提取出的特征集。例如,入口位于最后一節(jié)、可疑的節(jié)名、可疑的節(jié)特征以及不一致的長度計算等。
靜態(tài)指令序列方法基于由靜態(tài)分析所得到的特征檢測是否含有病毒特有的指令序列,其中一些方法基于對可執(zhí)行二進制代碼做反匯編而得到的匯編代碼,其它方法則基于匯編代碼的更高層結(jié)構(gòu)如如控制流圖(control flow graph,CFG)。但是,對二進制代碼進行反匯編本身就是一項難題,至今也沒有通用的解決方案。
2008 年佛羅里達國際大學(Florida International University)的 Jose AndreMorales在論文“基于行為的病毒檢測方法”中提出了一種動態(tài)特征方法,基于病毒程序的復制企圖來檢測已知和未知的病毒,通過監(jiān)測當前正在執(zhí)行的進程是否有復制企圖來完成病毒檢測。
還有一種基于行為分析的特洛伊木馬檢測技術(shù),其基于“鉤子(hook)”技術(shù)。為了成功地自我隱藏,木馬程序必須更改操作系統(tǒng)執(zhí)行路徑或直接更改用于存儲有關處理、驅(qū)動、網(wǎng)絡連接的操作系統(tǒng)信息。通過使用叫做鉤子技術(shù)的系統(tǒng),目的是得到木馬程序的規(guī)則可執(zhí)行路徑,然后系統(tǒng)執(zhí)行預定的功能,這樣就可以將木馬程序“鉤”住??梢姡谛袨榈哪抉R程序檢測技術(shù)調(diào)查木馬程序的行為特征,例如改變注冊、注冊系統(tǒng)服務、更改系統(tǒng)文件等,從而判斷該程序是否可疑。但是,這種方法很難檢測那些直接更改系統(tǒng)內(nèi)核的木馬程序。
雖然存在上述各種基于系統(tǒng)行為的病毒檢測方法,但是針對移動病毒而言,由于用于無線移動設備的操作系統(tǒng)和應用程序具有多樣性,所以針對它們對應的各類系統(tǒng)行為進行全面研究代價很高。發(fā)明內(nèi)容
針對上述技術(shù)問題,本發(fā)明的目的是提供一種移動病毒的檢測系統(tǒng)和方法,能夠基于更為普遍的網(wǎng)絡行為特征來對已知和未知的移動網(wǎng)絡病毒進行檢測,同時無需分別考慮多樣的操作系統(tǒng)和應用程序。
根據(jù)本發(fā)明的一個方面,提供一種基于網(wǎng)絡行為的病毒檢測系統(tǒng),所述系統(tǒng)包括:捕獲引擎,用于根據(jù)捕獲規(guī)則,從終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲與網(wǎng)絡行為相關的數(shù)據(jù);數(shù)據(jù)挖掘引擎,用于在系統(tǒng)處于訓練模式的情況下,根據(jù)所述與網(wǎng)絡行為相關的數(shù)據(jù)來確定網(wǎng)絡行為特征;以及在系統(tǒng)處于檢測模式的情況下,根據(jù)所確定的所述網(wǎng)絡行為特征針對所述與網(wǎng)絡行為相關的數(shù)據(jù)進行病毒的檢測。
根據(jù)本發(fā)明的上述系統(tǒng),由于直接從移動終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲數(shù)據(jù),與無線通信設備所使用的多樣性的移動操作系統(tǒng)或應用程序無關,因而適用范圍廣泛;同時,由于采用數(shù)據(jù)挖掘技術(shù)來確定更為普遍的病毒網(wǎng)絡行為特征,并基于這些網(wǎng)絡行為特征進行病毒的檢測,因而不僅可以檢測已知的移動病毒,還可以實現(xiàn)對未知移動病毒的檢測。
優(yōu)選地,所述網(wǎng)絡行為包括:通過網(wǎng)絡進行的病毒傳播行為、被病毒感染后移動設備的網(wǎng)絡行為和被病毒感染后網(wǎng)絡側(cè)系統(tǒng)的網(wǎng)絡行為。
優(yōu)選地,所述網(wǎng)絡行為特征包括:連接特征、地址特征、URL特征、行為相關的內(nèi)容特征和流量相關特征,其中,所述連接特征包括:連接頻率、連接時間、連接端口、上下行連接數(shù)及其比重、短信發(fā)送、彩信發(fā)送;所述地址特征包括:如源IP、目的IP、終端標識;所述URL特征包括:URL是否變化、URL變化頻率;所述行為相關的內(nèi)容特征包括:是否包含MS1、電話號碼、通訊錄或SMS ;流量相關特征包括:上下行包長度。
優(yōu)選地,所述系統(tǒng)還包括專家知識庫,所述專家知識庫包括所述數(shù)據(jù)挖掘引擎在訓練模式下所確定的所述網(wǎng)絡行為特征,且所述數(shù)據(jù)挖掘引擎在系統(tǒng)處于檢測模式的情況下,根據(jù)所述專家知識庫來進行病毒的檢測。
優(yōu)選地,所述數(shù)據(jù)挖掘引擎包括預處理模塊和數(shù)據(jù)挖掘模塊,其中,所述預處理模塊用于將所述捕獲引擎所捕獲的與網(wǎng)絡行為相關的數(shù)據(jù)預處理成為可供所述數(shù)據(jù)挖掘模塊處理的數(shù)據(jù);所述數(shù)據(jù)挖掘模塊用于在系統(tǒng)處于訓練模式的情況下,根據(jù)預處理后的數(shù)據(jù)來確定網(wǎng)絡行為特征并更新所述捕獲規(guī)則;以及在系統(tǒng)處于檢測模式的情況下,根據(jù)所確定的所述網(wǎng)絡行為特征對預處理后的數(shù)據(jù)進行病毒的檢測。
優(yōu)選地,所述數(shù)據(jù)挖掘引擎還包括增量處理模塊,所述增量處理模塊用于基于所述數(shù)據(jù)挖掘模塊的處理結(jié)果,對增加的新數(shù)據(jù)進行處理。
優(yōu)選地,所述捕獲引擎還包括協(xié)議解析模塊,所述協(xié)議解析模塊用于根據(jù)協(xié)議解析所捕獲的數(shù)據(jù)。
根據(jù)本發(fā)明的另一個方面,還提供一種基于網(wǎng)絡行為的病毒檢測訓練方法,所述方法包括:根據(jù)初始捕獲規(guī)則,捕獲引擎從終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲與網(wǎng)絡行為相關的訓練數(shù)據(jù);數(shù)據(jù)挖掘引擎使用數(shù)據(jù)挖掘技術(shù)處理所捕獲的所述與網(wǎng)絡行為相關的數(shù)據(jù),從而確定出網(wǎng)絡行為特征,并將數(shù)據(jù)挖掘處理的結(jié)果反饋到所述捕獲引擎,來更新捕獲規(guī)則。
根據(jù)本發(fā)明的上述方法,由于在訓練模式下直接從移動用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲數(shù)據(jù),與無線通信設備所使用的多樣性的移動操作系統(tǒng)或應用程序無關,因而適用范圍廣泛;同時,由于在訓練模式中采用數(shù)據(jù)挖掘技術(shù)來確定更為普遍的病毒網(wǎng)絡行為特征,并會在今后基于這些網(wǎng)絡行為特征進行病毒的檢測,因而不僅可以檢測已知的移動病毒,還可以實現(xiàn)對未知移動病毒的檢測。
優(yōu)選地,所述方法還包括:當捕獲到新的訓練數(shù)據(jù)時,增量處理器基于所述數(shù)據(jù)挖掘引擎的已有處理結(jié)果,對新的訓練數(shù)據(jù)進行處理,以更新捕獲規(guī)則和所確定出的網(wǎng)絡行為特征。
根據(jù)本發(fā)明的另一個方面,還提供一種基于網(wǎng)絡行為的病毒檢測方法,所述方法包括:根據(jù)捕獲規(guī)則,捕獲引擎從用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲與網(wǎng)絡行為相關的數(shù)據(jù);根據(jù)所確定的網(wǎng)絡行為特征,數(shù)據(jù)挖掘引擎針對所述與網(wǎng)絡行為相關的數(shù)據(jù)進行病毒的檢測。
根據(jù)本發(fā)明的上述方法,由于在檢測模式中直接從移動終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲數(shù)據(jù),與無線通信設備所使用的多樣性的移動操作系統(tǒng)或應用程序無關,因而適用范圍廣泛;同時,由于在檢測模式中基于采用數(shù)據(jù)挖掘技術(shù)所確定的更為普遍的病毒網(wǎng)絡行為特征來進行病毒的檢測,因而不僅可以檢測已知的移動病毒,還可以實現(xiàn)對未知移動病毒的檢測。
優(yōu)選地,所述方法還包括:當捕獲到新的數(shù)據(jù)時,增量處理器基于所述數(shù)據(jù)挖掘引擎的已有檢測結(jié)果,對新的數(shù)據(jù)進行處理,以更新所述檢測結(jié)果。
優(yōu)選地,所述方法還使用專家知識庫,所述專家知識庫包括所確定的所述網(wǎng)絡行為特征,其中,所述數(shù)據(jù)挖掘引擎根據(jù)所述專家知識庫來進行病毒的檢測。
下文將以明確易懂的方式通過對優(yōu)選實施方式的說明并結(jié)合附圖來對本發(fā)明上述特性、技術(shù)特征、優(yōu)點及其實施方式予以進一步說明,其中:圖1是本發(fā)明具體實施方式
中基于網(wǎng)絡行為的病毒檢測系統(tǒng)的系統(tǒng)結(jié)構(gòu)示意圖;圖2是本發(fā)明具體實施方式
中系統(tǒng)在訓練模式下的功能框架圖;圖3是本發(fā)明具體實施方式
中系統(tǒng)在檢測模式下的功能框架圖;圖4是本發(fā)明具體實施方式
中的移動病毒檢測系統(tǒng)的應用場景示意圖。附圖標記列表10捕獲引擎11協(xié)議解析模塊 12捕獲規(guī)則20數(shù)據(jù)挖掘引擎 21數(shù)據(jù)挖掘模塊 22預處理模塊23增量處理模塊 24專家知識庫
具體實施例方式在本發(fā)明具體實施方式
中,提出了一種基于網(wǎng)絡行為的移動病毒的檢測系統(tǒng)和方法。由于該系統(tǒng)和方法直接從移動終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲數(shù)據(jù),與無線通信設備所使用的多樣性的操作系統(tǒng)或應用程序無關,因而在使用中無需分別考慮多樣的操作系統(tǒng)和應用程序,適用范圍廣泛;同時,由于采用數(shù)據(jù)挖掘技術(shù)確定更為普遍的病毒網(wǎng)絡行為特征,并基于這些網(wǎng)絡行為特征進行病毒的檢測,因而不僅可以檢測已知的移動病毒,還可以實現(xiàn)對未知移動病毒的檢測?;诰W(wǎng)絡行為的移動病毒檢測系統(tǒng)的基本架構(gòu)圖1是本發(fā)明具體實施方式
中基于網(wǎng)絡行為的病毒檢測系統(tǒng)的系統(tǒng)結(jié)構(gòu)示意圖,該系統(tǒng)主要包括捕獲引擎(Capture Engine) 10和數(shù)據(jù)挖掘引擎(Data Mining Engine) 20。捕獲引擎10監(jiān)視移動終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流,并根據(jù)捕獲規(guī)則12來捕獲與網(wǎng)絡行為相關的數(shù)據(jù)。在后面將會詳細介紹的系統(tǒng)訓練模式和系統(tǒng)檢測模式中,捕獲引擎10的工作原理和方式是類似的,但是在所針對的網(wǎng)絡數(shù)據(jù)流,即捕獲數(shù)據(jù)源方面是不同的。在訓練模式中,用于捕獲的網(wǎng)絡數(shù)據(jù)流均被標上病毒標簽,該病毒標簽表明該數(shù)據(jù)是否包含病毒以及所包含病毒的類型,這樣的數(shù)據(jù)稱為“訓練數(shù)據(jù)”,該訓練數(shù)據(jù)供挖掘引擎20在訓練模式下使用。而在檢測模式中,捕獲引擎10監(jiān)視并捕獲移動用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流,這些數(shù)據(jù)是不帶病毒標簽的,這些數(shù)據(jù)供數(shù)據(jù)挖掘引擎20在檢測模式下使用。
捕獲規(guī)則12可在系統(tǒng)初始化階段被預置,而在訓練模式中被更新并確定,并在檢測模式中用來作為捕獲引擎10捕獲網(wǎng)絡數(shù)據(jù)的依據(jù)。由于移動終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)在網(wǎng)絡協(xié)議,例如GTP(GPRSTunnel protocol)等,中是被封裝的,因而可能需要對GTP等網(wǎng)絡協(xié)議進行解析后得到可識別的數(shù)據(jù)。因此,為了能夠識別和理解網(wǎng)絡數(shù)據(jù)流,在捕獲引擎10中還優(yōu)選包括一協(xié)議解析模塊(Protocol Parser) 11,該協(xié)議解析模塊11根據(jù)協(xié)議來解析所捕獲的數(shù)據(jù)。
數(shù)據(jù)挖掘引擎20處理捕獲引擎10所捕獲的數(shù)據(jù)。具體地,數(shù)據(jù)挖掘引擎20主要包括數(shù)據(jù)挖掘模塊21,該數(shù)據(jù)挖掘模塊21在系統(tǒng)處于訓練模式的情況下,根據(jù)捕獲引擎10所捕獲的與網(wǎng)絡行為相關的數(shù)據(jù)進行數(shù)據(jù)挖掘處理,從而確定出網(wǎng)絡行為特征,該網(wǎng)絡行為特征可寫入數(shù)據(jù)挖掘引擎20中的專家知識庫24中;在系統(tǒng)處于檢測模式的情況下,數(shù)據(jù)挖掘模塊21可以使用該專家知識庫24,根據(jù)其中包括的網(wǎng)絡行為特征對與網(wǎng)絡行為相關的數(shù)據(jù)進行數(shù)據(jù)挖掘處理,從而實現(xiàn)對移動病毒的檢測。其中,該數(shù)據(jù)挖掘模塊21執(zhí)行的數(shù)據(jù)挖掘處理可以包括各種數(shù)據(jù)挖掘算法,例如關聯(lián)(association)分析、分類、預測、聚類(cluster)等等。此外,在訓練模式中,數(shù)據(jù)挖掘引模塊21的輸出不僅可以生成包括有關移動病毒網(wǎng)絡行為特征的專家知識庫24,還可以反饋至捕獲引擎10,用來更新和完善捕獲規(guī)則12。在有些情況下,捕獲引擎10所捕獲的與網(wǎng)絡行為相關的數(shù)據(jù)可能不適合進行數(shù)據(jù)挖掘處理,此時,該數(shù)據(jù)挖掘引擎20優(yōu)選還包括一預處理模塊22。該預處理模塊22可執(zhí)行抽取、轉(zhuǎn)換和裝載(Extracting, Transforming and Loading, ETL)等功能,例如:-從外部源(此處是捕獲引擎10)接收數(shù)據(jù);-將所接收數(shù)據(jù)轉(zhuǎn)換為適于操作需要(此處是適于進行數(shù)據(jù)挖掘)的數(shù)據(jù);-將轉(zhuǎn)換后的數(shù)據(jù)裝載到終端目標(此處可以是數(shù)據(jù)挖掘模塊21等)中。這樣,通過預處理模塊22的處理,捕獲引擎10所捕獲的數(shù)據(jù)被整理并轉(zhuǎn)換為可以被數(shù)據(jù)挖掘模塊21處理的數(shù)據(jù)。在數(shù)據(jù)挖掘處理過程中,需要對大量網(wǎng)絡數(shù)據(jù)進行處理,尤其當不斷補充新捕獲的數(shù)據(jù)時,需 要將新捕獲的數(shù)據(jù)與原有數(shù)據(jù)一起進行新的挖掘處理。如果只是不斷針對累積的所有數(shù)據(jù)進行重復的數(shù)據(jù)挖掘處理,可能會耗費大量的系統(tǒng)資源,降低系統(tǒng)的工作效率。為了解決上述問題,數(shù)據(jù)挖掘引擎20中除了數(shù)據(jù)挖掘模塊21之外,還可以進一步包括一增量處理模塊(Incremental Processor) 24 該增量處理模塊24基于所述數(shù)據(jù)挖掘模塊對之前已有數(shù)據(jù)的處理結(jié)果,處理所增加的捕獲數(shù)據(jù),從而提高整個數(shù)據(jù)挖掘處理的效率。當數(shù)據(jù)挖掘引擎20包括該增量處理模塊24時,在系統(tǒng)處于訓練模式的情況下,數(shù)據(jù)挖掘模塊21和增量處理模塊24根據(jù)捕獲引擎10所捕獲的與網(wǎng)絡行為相關的數(shù)據(jù)進行處理,從而共同確定出網(wǎng)絡行為特征,該網(wǎng)絡行為特征可寫入專家知識庫24中;在系統(tǒng)處于檢測模式的情況下,數(shù)據(jù)挖掘模塊21和增量處理模塊24可以使用該專家知識庫24,根據(jù)其中的網(wǎng)絡行為特征共同對與網(wǎng)絡行為相關的數(shù)據(jù)進行處理,從而實現(xiàn)對病毒的檢測。同樣,在訓練模式中,數(shù)據(jù)挖掘引擎20和增量處理模塊24的輸出不僅可以生成包括有關移動病毒網(wǎng)絡行為特征的專家知識庫24,還可以反饋至捕獲引擎10,用來更新和完善捕獲規(guī)則12。網(wǎng)絡行為特征本發(fā)明在病毒檢測中所使用的網(wǎng)絡行為特征是實現(xiàn)病毒檢測的重要基礎。移動病毒的網(wǎng)絡行為包括但是不限于如下行為:-通過網(wǎng)絡進行的病毒傳播行為;-被感染后移動設備系統(tǒng)的網(wǎng)絡行為;-被感染后網(wǎng)絡端系統(tǒng)的網(wǎng)絡行為。網(wǎng)絡行為特征可以包括但不限于如下特征:
-普通連接特征,例如連接頻率和時間,連接端口等連接特征;-特殊連接特征,例如多媒體消息服務(MultimediaMessage Service,MMS)發(fā)送特征,源IP、目的IP、終端標識等地址特征,目標URL、URL是否變化、URL變化頻率等URL特征等;-行為相關內(nèi)容特征,例如是否包含敏感信息(MSI,電話號碼),通訊錄,短信服務(Short Message Service, SMS)等;-流量相關信息,例如上下行包長度等。訓練樽式圖2是本發(fā)明具體實施方式
中系統(tǒng)在訓練模式下的功能框架圖。訓練模式的主要目的是挖據(jù)出移動病毒的網(wǎng)絡行為特征來形成專家知識庫,以及確定捕獲規(guī)則。下面我們結(jié)合圖2來說明基于網(wǎng)絡行為的病毒檢測系統(tǒng)在訓練模式下的運行方式。(I)首先,根據(jù)部分先驗知識進行預分析,從而為系統(tǒng)設置初始捕獲規(guī)則。(2)捕獲引擎10根據(jù)該初始捕獲規(guī)則監(jiān)視移動終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流并捕獲網(wǎng)絡數(shù)據(jù)。在訓練模式下,捕獲引擎10捕獲的是預先設置的訓練數(shù)據(jù),這些數(shù)據(jù)均被標上病毒標簽,該病毒標簽表明該數(shù)據(jù)是否包含病毒以及所包含病毒的類型。由于網(wǎng)絡數(shù)據(jù)封裝在網(wǎng)絡協(xié)議中,因而在捕獲網(wǎng)絡數(shù)據(jù)時,捕獲引擎10中的協(xié)議解析模塊11用來根據(jù)協(xié)議解析所捕獲的數(shù)據(jù)。(3)將所捕獲的數(shù)據(jù)傳送到數(shù)據(jù)挖掘引擎20中的預處理模塊22,該預處理模塊22執(zhí)行ETL功能來整理這些數(shù)據(jù),以將它們轉(zhuǎn)換為能夠由數(shù)據(jù)挖掘模塊21和/或增量處理模塊23處理的數(shù)據(jù)。(4)對預處理模塊22預處理過的數(shù)據(jù)進行數(shù)據(jù)挖掘處理,以確定網(wǎng)絡行為特征。數(shù)據(jù)挖掘模塊21在系統(tǒng)處于訓練模式的情況下,對預處理后的數(shù)據(jù)進行數(shù)據(jù)挖掘處理,從而確定出網(wǎng)絡行為特征,該網(wǎng)絡行為特征可被寫入數(shù)據(jù)挖掘引擎20的專家知識庫24中。該數(shù)據(jù)挖掘模塊21執(zhí)行的數(shù)據(jù)挖掘處理可以包括各種典型的數(shù)據(jù)挖掘算法,例如關聯(lián)分析、分類、預測、聚類等等。增量處理模塊23基于所述數(shù)據(jù)挖掘模塊21對之前已有數(shù)據(jù)的處理結(jié)果,處理所增加的捕獲數(shù)據(jù),從而提高整個數(shù)據(jù)挖掘處理的效率。具體地,當系統(tǒng)在訓練模式下處理新數(shù)據(jù)時,數(shù)據(jù)挖掘模塊21和增量處理模塊23共同確定出網(wǎng)絡行為特征并寫入專家知識庫24中。(5)數(shù)據(jù)挖掘模塊21的處理結(jié)果或者數(shù)據(jù)挖掘模塊21與增量處理模塊24共同處理的結(jié)果不僅生成包括移動病毒網(wǎng)絡行為特征的專家知識庫,同時還反饋至捕獲引擎10,用來更新和完善捕獲規(guī)則12。以上我們結(jié)合圖2介紹了病毒檢測系統(tǒng)在訓練模式下的工作流程。本領域技術(shù)人員應當理解,上述完整流程僅僅是一種優(yōu)選實施方式。為了達到本發(fā)明目的,在上述流程中,僅步驟(2)中捕獲引擎根據(jù)捕獲規(guī)則捕獲與網(wǎng)絡行為相關的訓練數(shù)據(jù)的操作、步驟(4)中數(shù)據(jù)挖掘模塊進行數(shù)據(jù)挖掘處理以確定網(wǎng)絡行為特征的操作以及步驟(5)中將數(shù)據(jù)挖掘處理結(jié)果反饋到所述捕獲引擎以更新捕獲規(guī)則的操作是必須的,其它步驟和部件操作則僅僅是為了達到更優(yōu)效果的可選步驟。
檢測模式圖3是本發(fā)明具體實施方式
中系統(tǒng)在檢測模式下的功能框架圖。當為檢測目的運行系統(tǒng)時,主要目的是確定網(wǎng)絡數(shù)據(jù)流中是否存在病毒以及進一步確定所發(fā)現(xiàn)的病毒類型。當系統(tǒng)運行在病毒檢測模式時,將會主要基于捕獲規(guī)則來捕獲網(wǎng)絡數(shù)據(jù),并基于專家知識庫得到檢測結(jié)論。下面我們就結(jié)合圖3來說明基于網(wǎng)絡行為的病毒檢測系統(tǒng)在檢測模式下的運行方式。(I)首先,捕獲引擎10根據(jù)在先前訓練模式中所確定的捕獲規(guī)則來監(jiān)視移動終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流,并捕獲與網(wǎng)絡行為相關的網(wǎng)絡數(shù)據(jù)。與訓練模式中不同,此時捕獲引擎10監(jiān)視并捕獲的是移動用戶與網(wǎng)絡服務器之間的實際網(wǎng)絡數(shù)據(jù)流,是不帶病毒標簽的。同時與訓練模式類似,由于網(wǎng)絡數(shù)據(jù)是封裝在網(wǎng)絡協(xié)議中的,因而在捕獲網(wǎng)絡數(shù)據(jù)時,捕獲引擎10中的協(xié)議解析模塊11用來根據(jù)協(xié)議解析所捕獲的數(shù)據(jù)。(2)將所捕獲的數(shù)據(jù)傳送到數(shù)據(jù)挖掘引擎20中的預處理模塊22,該預處理模塊22執(zhí)行ETL功能來整理這些數(shù)據(jù),以將它們轉(zhuǎn)換為能夠由數(shù)據(jù)挖掘模塊21和/或增量處理模塊23處理的數(shù)據(jù)。(3)對預處理模塊22預處理過的數(shù)據(jù)進行數(shù)據(jù)挖掘處理,并根據(jù)專家知識庫來進行移動病毒的檢測。數(shù)據(jù)挖掘模塊21在系統(tǒng)處于檢測模式的情況下,對預處理后的數(shù)據(jù)進行與訓練模式下類似的數(shù)據(jù)挖掘處理,其中可以包括各種典型的數(shù)據(jù)挖掘算法,例如關聯(lián)分析、分類、預測、聚類等等。在進行數(shù)據(jù)挖掘處理的同時,數(shù)據(jù)挖掘模塊21根據(jù)已有的專家知識庫來判斷該數(shù)據(jù)是否包含移動病毒,當判斷包含移動病毒的時候還進一步判斷出所包含的是哪一種移動病毒。增量處理模塊23基于所述數(shù)據(jù)挖掘模塊21對之前已有數(shù)據(jù)的處理結(jié)果,處理所增加的捕獲數(shù)據(jù),從而提高整個數(shù)據(jù)挖掘處理的效率。具體地,當系統(tǒng)在檢測模式下處理新數(shù)據(jù)時,數(shù)據(jù)挖掘模塊21和增量處理模塊23共同進行數(shù)據(jù)挖掘處理,并根據(jù)已有的專家知識庫24來判斷該數(shù)據(jù)是否包含移動病毒,當判斷包含移動病毒的時候還進一步判斷出所包含的是哪一種移動病毒。以上我們結(jié)合圖3介紹了病毒檢測系統(tǒng)在檢測模式下的工作流程。本領域技術(shù)人員應當理解,上述完整流程僅僅是一種優(yōu)選實施方式。為了達到本發(fā)明目的,在上述流程中,僅步驟(I)中捕獲引擎根據(jù)捕獲規(guī)則捕獲與網(wǎng)絡行為相關的數(shù)據(jù)的操作以及步驟(3)中數(shù)據(jù)挖掘模塊進行數(shù)據(jù)挖掘處理以進行病毒檢測的操作是必須的,其它步驟和部件操作則僅僅是為了達到更優(yōu)效果的可選步驟。移動網(wǎng)絡中的系統(tǒng)構(gòu)架圖4中示出了本發(fā)明具體實施方式
中的移動病毒檢測系統(tǒng)的一種具體應用場景,即將其集成在GPRS移動網(wǎng)絡中。在該場景中,基于網(wǎng)絡行為的移動病毒檢測系統(tǒng)配置在GPRS的Gn接口中,如圖4所示。捕獲引擎10根據(jù)其中的捕獲規(guī)則監(jiān)視移動終端用戶與網(wǎng)絡服務器之間的Gn網(wǎng)絡數(shù)據(jù)流,并捕獲與網(wǎng)絡行為相關的網(wǎng)絡數(shù)據(jù),然后數(shù)據(jù)被送到數(shù)據(jù)挖掘引擎20。在訓練模式下,數(shù)據(jù)挖掘引擎20根據(jù)所捕獲的與網(wǎng)絡行為相關的數(shù)據(jù)來確定出網(wǎng)絡行為特征,同時以反饋數(shù)據(jù)更新捕獲規(guī)則;而在檢測模式下,數(shù)據(jù)挖掘引擎20根據(jù)所確定的網(wǎng)絡行為特征,針對所述與網(wǎng)絡行為相關的數(shù)據(jù)進行病毒檢測。由此,該移動病毒檢測系統(tǒng)從網(wǎng)絡側(cè)集中地攔截依賴于網(wǎng)絡進行傳播的病毒,而無需為每一個移動用戶安裝或設置病毒檢測系統(tǒng),進而無需為多種移動操作系統(tǒng)或應用程序花費研究成本。此外,該移動病毒檢測系統(tǒng)利用普遍的網(wǎng)絡行為特征作為檢測依據(jù),從而有可能實現(xiàn)對未知移動病毒的檢測。綜上所述,本發(fā)明技術(shù)方案中基于網(wǎng)絡行為的移動病毒檢測系統(tǒng)和方法借助對網(wǎng)絡行為特征的分析,能夠從網(wǎng)絡側(cè)攔截依賴于網(wǎng)絡進行傳播的病毒,其相比基于特征碼的病毒檢測方法而言,能夠檢測未知的病毒,并且對檢測現(xiàn)代病毒更有把握;同時相比基于系統(tǒng)行為的病毒檢測方法而言,其不依賴于移動設備的操作系統(tǒng)和應用程序,無需對不同的操作系統(tǒng)和應用程序進行分析,因而能夠應用于不同系統(tǒng)中,適用范圍更廣。上文通過附圖和優(yōu)選實施方式對本發(fā)明進行了詳細展示和說明,然而本發(fā)明不限于這些已揭示的實施方式,本領域技術(shù)人員從中推導出來的其它方案也在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于網(wǎng)絡行為的病毒檢測系統(tǒng),其特征在于,所述系統(tǒng)包括: 捕獲引擎(10),用于根據(jù)捕獲規(guī)則(12),從終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲與網(wǎng)絡行為相關的數(shù)據(jù); 數(shù)據(jù)挖掘引擎(20),用于在系統(tǒng)處于訓練模式的情況下,根據(jù)所述與網(wǎng)絡行為相關的數(shù)據(jù)來確定網(wǎng)絡行為特征;以及在系統(tǒng)處于檢測模式的情況下,根據(jù)所確定的所述網(wǎng)絡行為特征針對所述與網(wǎng)絡行為相關的數(shù)據(jù)進行病毒的檢測。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于, 所述網(wǎng)絡行為包括:通過網(wǎng)絡進行的病毒傳播行為、被病毒感染后移動設備的網(wǎng)絡行為和被病毒感染后網(wǎng)絡側(cè)系統(tǒng)的網(wǎng)絡行為。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于, 所述網(wǎng)絡行為特征包括:連接特征、地址特征、URL特征、行為相關的內(nèi)容特征和流量相關特征, 其中,所述連接特征包括:連接頻率、連接時間、連接端口、上下行連接數(shù)及其比重、短信發(fā)送、彩信發(fā)送; 所述地址特征包括:如源IP、目的IP、終端標識; 所述URL特征包括:URL是否變化、URL變化頻率; 所述行為相關的內(nèi)容特征包括:是否包含IMS1、電話號碼、通訊錄或SMS ; 所述流量相關特征包括:上下行包長度。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于, 所述系統(tǒng)還包括專家知識庫(24),所述專家知識庫(24)包括所述數(shù)據(jù)挖掘引擎(20)在訓練模式下所確定的所述網(wǎng)絡行為特征,且所述數(shù)據(jù)挖掘引擎(20)在系統(tǒng)處于檢測模式的情況下,根據(jù)所述專家知識庫(24)來進行病毒的檢測。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于, 所述數(shù)據(jù)挖掘引擎(20)包括預處理模塊(22)和數(shù)據(jù)挖掘模塊(21),其中, 所述預處理模塊(22)用于將所述捕獲引擎(10)所捕獲的與網(wǎng)絡行為相關的數(shù)據(jù)預處理成為可供所述數(shù)據(jù)挖掘模塊(21)處理的數(shù)據(jù); 所述數(shù)據(jù)挖掘模塊(21)用于在系統(tǒng)處于訓練模式的情況下,根據(jù)預處理后的數(shù)據(jù)來確定網(wǎng)絡行為特征并更新所述捕`獲規(guī)則(12);以及在系統(tǒng)處于檢測模式的情況下,根據(jù)所確定的所述網(wǎng)絡行為特征對預處理后的數(shù)據(jù)進行病毒的檢測。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于, 所述數(shù)據(jù)挖掘引擎(20)還包括增量處理模塊(23),所述增量處理模塊(23)用于基于所述數(shù)據(jù)挖掘模塊(21)的處理結(jié)果,對增加的新數(shù)據(jù)進行處理。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于, 所述捕獲引擎(10)還包括協(xié)議解析模塊(11),所述協(xié)議解析模塊(11)用于根據(jù)協(xié)議解析所捕獲的數(shù)據(jù)。
8.一種基于網(wǎng)絡行為的病毒檢測訓練方法,其特征在于,所述方法包括: 根據(jù)初始捕獲規(guī)則,捕獲引擎從終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲與網(wǎng)絡行為相關的訓練數(shù)據(jù); 數(shù)據(jù)挖掘引擎使用數(shù)據(jù)挖掘技術(shù)處理所捕獲的所述與網(wǎng)絡行為相關的數(shù)據(jù),從而確定出網(wǎng)絡行為特征,并將數(shù)據(jù)挖掘處理的結(jié)果反饋到所述捕獲引擎,來更新捕獲規(guī)則。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述方法還包括: 當捕獲到新的訓練數(shù)據(jù)時,增量處理器基于所述數(shù)據(jù)挖掘引擎的已有處理結(jié)果,對新的訓練數(shù)據(jù)進行處理,以更新捕獲規(guī)則和所確定出的網(wǎng)絡行為特征。
10.一種基于網(wǎng)絡行為的病毒檢測方法,其特征在于,所述方法包括: 根據(jù)捕獲規(guī)則,捕獲引擎從用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲與網(wǎng)絡行為相關的數(shù)據(jù); 根據(jù)所確定的網(wǎng)絡行為特征,數(shù)據(jù)挖掘引擎針對所述與網(wǎng)絡行為相關的數(shù)據(jù)進行病毒的檢測。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述方法還包括: 當捕獲到新的數(shù)據(jù)時,增量處理器基于所述數(shù)據(jù)挖掘引擎的已有檢測結(jié)果,對新的數(shù)據(jù)進行處理,以更新所述檢測結(jié)果。
12.根據(jù)權(quán)利要求10或11所述的方法,其特征在于, 所述方法還使用專家知識庫,所述專家知識庫包括所確定的所述網(wǎng)絡行為特征,其中,所述數(shù)據(jù)挖掘引擎根 據(jù)所述專家知識庫來進行病毒的檢測。
全文摘要
本發(fā)明公開一種基于網(wǎng)絡行為的病毒檢測系統(tǒng)和病毒檢測方法。所述系統(tǒng)包括捕獲引擎,用于根據(jù)捕獲規(guī)則,從終端用戶與網(wǎng)絡服務器之間的網(wǎng)絡數(shù)據(jù)流中捕獲與網(wǎng)絡行為相關的數(shù)據(jù);數(shù)據(jù)挖掘引擎,用于在系統(tǒng)處于訓練模式的情況下,根據(jù)所述與網(wǎng)絡行為相關的數(shù)據(jù)來確定網(wǎng)絡行為特征;以及在系統(tǒng)處于檢測模式的情況下,根據(jù)所確定的所述網(wǎng)絡行為特征針對所述與網(wǎng)絡行為相關的數(shù)據(jù)進行病毒的檢測。通過本發(fā)明技術(shù)方案,無需分別考慮多樣的操作系統(tǒng)和應用程序,可被廣泛應用;同時不僅可以檢測已知的移動病毒,還可以實現(xiàn)對未知移動病毒的檢測。
文檔編號H04L29/06GK103139169SQ20111039060
公開日2013年6月5日 申請日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者隋愛芬, 郭代飛, 張莉, 汪濤 申請人:西門子公司