新四季網

基於Win32平臺下病毒行為的自動化分析系統的製作方法

2023-10-09 23:29:59 1

專利名稱:基於Win32平臺下病毒行為的自動化分析系統的製作方法
技術領域:
本發明涉及計算機病毒防治技術領域,特別涉及一種基於病毒行為的自動 化分析系統。
背景技術:
隨著計算機軟硬體水平的不斷發展,近年來,計算機病毒技術也是突飛猛 進,黑客和間諜技術也在不斷更新改進。計算機病毒對人類造成的影響也越來 越大。當前,計算機病毒正呈現出傳播方式、傳播途徑以及破壞方式更加多樣 化的趨勢。
據國家計算機病毒應急處理中心綜合觀察分析認為:"目前計算機病毒的網 絡化趨勢更加明顯,病毒的入侵主要來自蠕蟲病毒,同時集病毒、黑客、木馬
等功能於一身綜合型病毒不斷湧現"。計算機病毒表現出以下特點傳播方式和 途徑多樣化;病毒的欺騙性日益增強;病毒的傳播速度極快;病毒的製作成本 降低;病毒變種增多;病毒難以控制和根治;病毒傳播更具有不確定性和跳躍 性;病毒版本自動在線升級和自我保護能力;病毒編制採用了集成方式等。
綜合上述分析,今後計算機病毒的發展趨勢是群發郵件病毒將大量出現; 針對系統漏洞的具有遠程控制功能的病毒將越發突出;病毒和垃圾郵件編寫者 將不斷加強合作;病毒編寫者更加年輕化、更有組織性。計算機病毒具有極強 的繁殖感染能力,而因計算機病毒所造成的危害正在加劇,病毒危害主要包括 系統崩潰、網絡癱疾、系統設置被修改、電腦使用受限、數據丟失等。
目前,比較常見的病毒檢測技術有以下幾種
(-)特徵碼技術;
特徵碼技術是一種基於對已知病毒分析、査解的反病毒技術。它作為反病 毒技術中最基本的技術被沿用至今,也是到目前為止各類反病毒軟體仍普遍採 用的技術。特徵碼是一串二進位位信息,它能唯一標識某一非法程序,研究人 員通過對非法程序樣本的分析,提取出"特徵碼"寫入反病毒軟體的特徵碼庫。 該技術對用戶指定的某個或某幾個文件進行掃描,以確定是否包含非法程 序的特徵碼。在具體實現時,它最初是採用對待測文件全部掃描的方式,在病 毒等非法程序出現的早期,非法程序的種類不過數百種,採用這種掃描方式還
是比較快捷的。但在目前病毒、木馬、蠕蟲及其變種的總數超過60000的情況下, 這種方式顯然是效率低下的。為此,出現了一些用來提高特徵碼掃描效率的技 術。例如,"所羅門"公司用非法程序內部的某段機器代碼和該代碼距離程序入口 的偏移量來唯一確定一種非法程序,檢測時,只需要確定非法程序的程序入口 並從指定的偏移處開始查找指定的機器碼即可。
特徵代碼法的優點是:檢測準確快速、可識別病毒的名稱、誤報警率低。被 公認為檢測已知病毒的最簡單、開銷較小的方法。其缺點是不能檢測新病毒、 捕獲已知病毒的特徵代碼,費用開銷大、在網絡上效率低,因長時間檢索會使 整個網絡性能降低。
(二)虛擬機技術;
虛擬機技術是一種啟發式探測未知病毒的反病毒技術。虛擬機技術的主要 作用是能夠運行一定規則的描述語言。由於病毒的最終判定準則是其複製傳染 性,而這個標準是不易被使用和實現的,如果病毒已經傳染了才判定它是病毒, 定會給病毒的清除帶來麻煩。
虛擬機實質是在反病毒系統中設置的一種程序機制,它能在內存中模擬一 個作業系統環境,待查文件在虛擬機上執行,其效果如同物理機。虛擬機實際 是用軟體的方法模擬地執行所有的或者設計者關心的CPU指令,營造一個虛擬 的、可觀察的、可控制的目標程序運行環境。它相當於一個軟體CPU盒,使得 被調試程序的運行局限在一個透明的箱子裡。
採用虛擬機技術的殺毒軟體在殺毒時,首先使用的還是特徵碼查毒法,當 發現目標具有加密病毒的特徵時,其才會啟動虛擬機模塊讓病毒的加密代碼自 行解碼,解碼之後,就可以採用傳統的特徵碼査毒法進行查殺了。可見,對於 已知加密病毒,提取其特徵值也是非常重要的。
目前虛擬機的處理對象主要是文件型病毒。對於引導型病毒、word、 excel 宏病毒、木馬程序在理論上都是可以通過虛擬機來處理的,但目前的實現水平
仍相距甚遠。就像病毒編碼變形使得傳統特徵值方法失效一樣,針對虛擬機的 新病毒可以輕易使得虛擬機失效。雖然虛擬機也會在實踐中不斷得到發展。但 是,PC的計算能力有限,反病毒軟體的製造成本也有限,而病毒的發展可以說 是無限的。
目前,虛擬機的實際應用情況是
(1) 在處理加殼或變形的木馬和蠕蟲方面,虛擬機被作為一個比較理想的選擇。
(2) 在目前各類安全軟體中引入的虛擬機一般都不是完整的仿真環境,而是 相對比較簡單、易於實現的版本,即便如此,相對採用其他檢測技術的安全軟 件,採用虛擬機技術的安全軟體還是佔用了更多的系統資源。
(3) 虛擬機技術仍與傳統技術相結合,其本質上的檢測判斷方法依然是特徵 碼檢查,對於那些經過修改而不是簡單的加殼後的惡意軟體效果比較有限。
曰啟發式掃描技術;
啟發式掃描技術是一種基於人工智慧領域啟發式分析手段的檢測技術,啟 髮式掃描能夠發現一些應用了已有機制或行為方式的未知病毒。啟發式掃描一 般包括靜態掃描方式和動態掃描方式兩種。啟發式掃描是通過分析指令出現的 順序,或特定組合情況等常見病毒的標準特徵來決定是否為病毒。因為病毒要 達到隱蔽和破壞的目的,通常的行為都會有一定的特徵,例如非常規讀寫文件、 程序自刪除、非常規切入ringO等等。所以可以根據掃描特定的行為或多種行為 的組合來判斷一個程序是否是病毒。這種啟發式掃描比起靜態的特徵碼掃描要 先進,可以達到一定的未知病毒檢測處理能力,相對於特徵碼識別技術,啟發 式掃描技術主要有以下優勢-
(1) 逃避啟發式掃描比特徵碼掃描更困難;
(2) 對未知病毒代碼的檢測能力優於特徵碼掃描技術;
卿靜態啟發式掃描技術
靜態啟發式掃描技術和基於特徵碼的靜態掃描類似,也是靜態掃描待測程 序的代碼,但不同的是前者查找非法程序的特徵碼,而後者則査找非法程序的
行為。而這些行為是通過某些相應的代碼序列來確定的。
靜態啟發式掃描的工作流程一般是這樣的掃描某個待測文件當中的可執 行代碼,查找與非法程序行為相對應的代碼序列,掃描結束後,關聯所有査找 到的序列,並與非法程序的典型行為模式相對照,最終做出判斷。
靜態掃描的優點是這種技術在掃描代碼時通過查找某些代碼序列,確定 程序是否具有某種類別的病毒的行為,因此,它也具有了檢測未知病毒的能力。 它的掃描速度比較快,未知病毒的檢出率也比較高。另外它能在代碼未運行的 情況下,就確定代碼的行為並檢測非法程序。
不過它的缺點是目前病毒、木馬等非法程序的編寫者為了讓這些程序盡 可能地傳播和運行,大都對其作了加密、變形、加殼等處理,那麼至少在其未 運行的情況下,通常很難在它的代碼當中找到對應於非法程序行為的代碼序列。
(5)主動防禦-,
主動防禦技術已被殺毒軟體、軟體防火牆、fflPS等安全軟體廣泛採用,現 有的後門木馬、Rootkit等惡意軟體面臨嚴峻考驗。無論傳統的惡意軟體功能有 多強大隱蔽性有多高,初次安裝以及工作時都會被主動防禦功能攔截並提示用 戶,使其無法正常安裝和工作。
如圖l所示,主動防禦的主要內容包括
(1) 進程行為監控(代碼注入、安裝全局鉤子、創建新進程、終止進程等);
(2) 註冊表監控;
(3) 進程核心態(驅動安裝、訪問物理內存);
(4) 文件監控;
(5) 各模塊交融後的邏輯判斷關係;
通常來說主動防禦功能指以上這些,後來有些安全軟體廠商將傳統的監控 融合主動防禦功能,形成更大層面的防禦體系。傳統木馬後門等惡意軟體,比 如,灰鴿子、PcShare,黑洞、PoisonIvy,網絡神偷、黑客守衛者、Byshel10.67、 冰河等面臨嚴峻的考驗,因為即使功能再實用,隱蔽性再好,安裝時被主動防 御報警也是功虧一簣,安裝成功後外連時無法穿越基於主機的防火牆。
主動防禦的原理主要採用了hook思想,截獲系統相關API調用,對相應的可
疑行為進行報警,提示用戶做出選擇。具體來說,主動防禦常用SSDTHook、Inline Hook、 Hook Driver Dispatch、 Filter Driver等內核技術,對惡意程序所需要的各 類函數進行掛接,實行函數行為掛接,監控其行為。另外,有些安全軟體內置 小型專家系統(簡單的可以理解為白名單和黑名單),實現智能判斷,使操作更 加智能化,較少的需要用戶幹預。SSDT hook工作原理如圖2所示。
幾乎所有的安全軟體在安裝API鉤子時都會選擇hook SSDT表,例如KIS6, ZoneAlarm Pro。我們如果能夠進入內核模式,就可以使用一個驅動程序,讀取 系統文件ntoskrnl.exe/ntkrnlpa.exe/ntkrpamp.exe,從中提出我們所希望的SSDT表 的原始函數地址,替換被安全軟體hook的地址,用此方法可以通用性很好的解 決絕大多數的API鉤子實現的進程行為監控。不過此方法有一個前提,就是事先 必須繞過監控進入內核空間。
常被掛鈎的系統服務包括NtAllocateVirtualMemoiy 、 NtCreateProcess 、 NtCreateProcessEx 、 NtCreateThread 、 NtDebugActiveProcess 、 NtLoadDriver 、 NtMapViewOfSection 、 NtSetSystemlnformation 、 NtShutdownSystem 、 NtTerminateProcess 、 NtWriteVirtualMemory 、 1SftSetSystemlnfomation 、 NtCreateKey 、 NtReplaceKey 、 NtQueryValueKey 、 NtCreateFile 、 win32k!NtUserSetWindowsHookEx等,如圖3所示。
除了上述技術方案以外,目前還有有一種行為分析技術。所謂行為分析就 是採用一系列的規則定義非法程序,相應地採用另一套規則定義合法程序,如 果某個程序違背了合法程序的某項規則或者符合非法程序的某項規則,便可判 定其非法。
與傳統的基於特徵碼的靜態掃描技術不同的是,行為分析技術監控並限制 應用程式運行過程中的動態行為,和靜態啟發式掃描技術相對,它也被稱為動 態啟發式掃描。某些行為是木馬、後門和蠕蟲等非法程序的共同行為,但在合 法程序中卻比較罕見,也就是說,它們成了非法程序的行為特徵,可作為判別 應用程式是否非法的依據或者規則。
早期採用行為分析技術的反惡意軟體, 一般通過對單個(類)具體行為的 識別,來判斷應用程式是否會造成潛在的風險,也被稱為行為識別。從廣義上
來說,主機防火牆採用的就是行為識別技術。由於監控的是網絡操作行為(如 主機防火牆可監控主機上對外網絡連接及服務埠 ),因此在防治木馬方面取得 了不錯的效果。但是,行為分析技術同樣存在著不足-
(1) 需要儘可能全面的監控。如果有害行為沒有被列入監控範圍,可能會遺 漏掉惡意軟體。例如,如果像主機防火牆那樣僅對網絡行為進行識別,對於那 些通過動態連結庫注射方式把自己隱藏到合法網絡通信程序中的間諜軟體,則 無法檢測。
(2) 考慮到軟體的實用性,行為分析軟體一般不會採用過於複雜的分析算法, 一般多採用簡單加權算法來進行分析。它通常為那些值得懷疑的行為設一個權 值,如果一個程序的總權值超過了臨界值,就將其判斷為惡意軟體。如果設計 時將臨界值設的太低,用戶會被頻繁的誤報弄得不知所措,而如果臨界值設得 太高,則會遺漏掉惡意軟體。因此,行為分析技術在進行全面監控的基礎上, 需要結合優化過的決策樹或其它人工智慧的算法對行為進行分析,在不增加計 算複雜度的情況下儘可能地提高發現準確度。
(3) 無法應對那些能造成直接破壞的惡意代碼。對于格式化硬碟等直接破壞 行為,等到檢測再到經過分析,就來不及阻止了,考慮到惡意軟體中極少出現 類似情況,行為分析技術對惡意軟體還是比較適用的,但不一定適合用於反病 毒場合。因此, 一個完整的反惡意軟體,不能僅僅依賴行為分析技術去發現未 知惡意代碼,仍然需要傳統特徵碼匹配技術的配合。
由於行為分析技術具有可檢測未知非法程序的特點,所以成為目前反病毒 領域研究的熱點。根據部分安全軟體廠商對新增木馬行為分析組件的介紹和說
明,並通過對具體產品的實際使用和觀察,不難發現現有的添加了行為分析 這一功能模塊的軟體一般只檢測某些單獨的行為項(如修改註冊表自啟動項、
文件關聯、IE瀏覽器的起始頁等)。它們所表現出來的工作流程也較為相似,都
是通過用戶判斷來學習對某一軟體的識別,簡單自反饋(自學)模型,非常類 似於防火牆等早期行為識別軟體。
如圖4示,"自反饋"模型首次檢測到行為即將發生時,會立即通知用戶,通
知中包含較詳細的文字描述。該模塊根據用戶的反饋進行下一步操作或者阻 止該行為,或者允許該行為,或者終止與該行為相關聯的進程。另外,用戶還
可進行如下的設置
(1) 一直允許該進程的該行為;
(2) —直禁止該進程的該行為;
一旦進行了上述任何一項設置,模塊再次檢測到相同進程的相同行為時, 通常不再詢問用戶,而根據設置自行處理,否則,處理方式仍與首次檢測到該 行為時相同。這種行為分析實現,只是對單個敏感行為進行了監控,缺少對多 個行為的連貫綜合分析,也缺少對行為的上下文環境分析,嚴重依賴用戶的判 斷,容易導致較高的誤報率。

發明內容
本發明針對上述現有技術所存在的不足,而提供一種能夠對病毒行為進行 自動分析且速度快、準確率高的自動化分析系統。
為了達到所述目的,本發明所提供的基於Win32平臺下病毒行為的自動化分 析系統,該系統主要由數據模塊、控制模塊以及運行模塊組成,所述控制模塊 工作於物理機環境中,所述運行模塊工作於由虛擬機形成的虛擬環境中;所述 數據模塊中樣本數據模塊通過自動入庫模塊連接行為數據模塊;所述運行模塊 中捕獲引擎模塊與HOOKDELL模塊進行數據交換;所述控制模塊連接樣本數據 模塊以及行為數據模塊,並且控制運行模塊中的捕獲引擎模塊。
所述樣本數據模塊包括有病毒樣本數據模塊以及合法程序樣本數據模塊。
所述行為數據模塊包括有用來將捕獲的病毒樣本行為數據記入數據模塊中 並進行統計,並轉化成易於建模的二維表的病毒樣本行為數據模塊和用來將捕 獲的合法程序樣本行為數據記入數據模塊中並進行統計,並轉化成易於建模的 二維表的合法程序樣本行為模塊。
所述捕獲引擎模塊包括捕獲引擎和插件。
所述捕獲引擎在捕獲樣本動態行為通過以下步驟實現
(1) 對指定樣本進程進行分析,檢查被分析樣本進程加載了哪些系統DLL;
(2) 再根據工作目錄下的HOOKDLL的導出函數表,來確定需要在被分析 樣本進程中哪些函數調用處設置調試斷點;
(3) 當樣本進程執行到調試斷點處會產生中斷事件,通過調試子系統獲得
斷點發生時被分析樣本進程的執行環境(指令寄存器、堆棧寄存器等多個寄存
器的值),並將中斷時的堆棧參數送至HOOKDLL中相應的處理函數進行具體分 析。
所述HOOKDLL負責接收捕獲引擎捕獲的函數及其實際參數,並對實際參數 進行具體分析,將分析的結果進行格式化輸出到資料庫或文件中。
所述格式化輸出的分析內容有兩種,Trace型即記錄函數調用的記錄而不關 注其參數,Analysis型即把函數和參數進行結合判斷後再記錄其行為特徵。
所述自動入庫模塊是用於將大量樣本的相關信息準確入庫,通過訪問這些 資料庫記錄,可以使得整個聯機系統中的每臺捕獲引擎都能夠準確獲取每個樣 本的路徑信息並能訪問樣本庫所在的物理機。
所述自動入庫模塊由文件檢測和資料庫操作兩個子模塊組成。
所述文件檢測子模塊通過以下步驟實現功能首先對用戶輸入的信息進行 校驗,判斷輸入數據是否正確,然後根據輸入的參數信息,判斷是否進行數字 籤名和文件格式檢測,以及相關的DLL檢測。
所述資料庫操作子模塊能夠對資料庫執行讀數據操作、寫數據操作、自定 義的其他操作。
所述控制模塊的處理流程
(1) 連接資料庫,從對象程序表中取得未分析的數據;
(2) 啟動虛擬機,並登陸虛擬機中的作業系統;
(3) 傳送樣本文件至虛擬機中的作業系統,存放在虛擬機C盤根目錄下;
(4) 啟動捕獲引擎並對樣本的行為實施跟蹤,並將行為記錄下如XML文件
中;
(5) 跟蹤完畢後,關閉虛擬機,並將回傳的XML文件解析,其行為記錄存 入資料庫的跟蹤事件數據表。
控制模塊對數據模塊具有如下互斥操作流程 (1)當虛擬機啟動,首先控制模塊會向數據模塊請求一個未被分析樣本的 路徑信息,對資料庫中對象程序表和跟蹤數據表中加X鎖,查詢對象程序表中的 istraced和Prog—id兩個欄位的值,若istraced為false且Prog—id的值未在跟蹤數據表 中出現,則判斷該樣本未被分析過,並向主程序提交路徑信息;(2) 若主程序成功下載病毒樣本,在跟蹤數據表插入一條新記錄,並進行 初始化操作,系統自動填入trace一id和prog一id兩個欄位的值,欄位"程序跟蹤狀態" 設置為"正在處理";同時釋放對象程序表和跟蹤狀態表的X鎖;
(3) 解析虛擬機傳回來的含有病毒行為的XML文件,並記錄至資料庫中的 跟蹤事件數據表。
根據上述技術方案得到的本發明,具有以下優點具有可檢測未知非法程 序,對於工具黑客對抗性較好,病毒難以通過簡單改造甚至程序自動化改造逃 避檢測;對抗一族惡意代碼而不是一個;本發明的監控範圍非常的廣、實用性 強、可以應對能造成直接破壞的惡意代碼,同時還能夠實現自動對樣本進行快 速、準確的分析使得我們的電腦能夠得到全面的保護。
以下結合附圖和具體實施方式
來進一步說明本發明。
圖l為主動防禦的層次結構示意圖。
圖2為SSDT HOOK工作原理示意圖。
圖3為常被掛鈎的系統服務示意圖
圖4為簡單自反饋模型的示意圖。
圖5為系統模塊的結構示意圖。
圖6為捕獲引擎設計原理圖。
圖7為本系統框架。
圖8為本系統網絡拓撲圖。
圖9為行為數據表E-R圖
圖IO為本系統組件關係圖。


圖11為文件檢測流程圖。
圖12為控制程序處理流程圖。
圖13為捕獲引擎的處理流程圖。
圖14為HOOKDLL示意圖。
圖15為HOOKDLL處理流程圖。
圖16為HOOKDLL列表。
具體實施例方式
為了使本發明實現的技術手段、創作特徵、達成目的與功效易於明白了解, 下面結合具體圖示,進一步闡述本發明。
常見病毒行為的分析的為現有技術,這裡將不加以贅述。
病毒動態行為自動化分析系統的主要功能是為了自動化獲取並分析樣本程 序的動態行為數據。該系統由以下幾個模塊組成(如圖5所示)
樣本庫樣本庫包括兩類樣本,分別為黑樣本庫(病毒樣本)、白樣本庫(合 法程序)。
入庫篩選模塊負責將指定網絡上能夠直接訪問的某文件或某文件夾裡的 文件的信息保存到指定資料庫,同時將檢驗樣本是否符合自動化行為分析系統 的運行條件,只有符合條件的樣本才能存在於相應的樣本庫中。
捕獲引擎模塊包括捕獲引擎和插件,用來捕獲病毒和合法程序的行為, 並將行為數據入庫。
黑樣本行為庫用來將捕獲的黑樣本行為數據記入資料庫中並進行統計, 並轉化成易於建模的二維表。
白樣本行為庫用來將捕獲的白樣本行為數據記入資料庫中並進行統計, 並轉化成易於建模的二維表。
捕獲引擎對程序性質已確定的黑白樣本庫中的程序通過自動入庫模塊倒入 到系統後進行行為捕獲;再將捕獲的數據交由黑/白樣本行為庫,並形成格式化 的數據。
為實現本系統的自動捕獲功能使用以下兩種關鍵技術 一、動態行為捕獲技術
在自動化分析系統中,需要在API函數的入口處設置斷點中斷。中斷是一種 使CPU中止正在執行的程序而轉去處理特殊事件的操作,而程序中安排的中斷 指令INT產生的中斷被稱為軟體中斷,在Intd體系上用於中斷調試的指令有二
INT1:單步中斷
使用單步中斷可以一條一條指令地跟蹤程序的流程,觀察CPU每執行一條 指令後,各個寄存器及有關存儲單元的變化,從而指出和確定產生錯誤的原因。
INT3:斷點中斷
斷點中斷也是供DEBUG調試程序使用的,它的中斷類型號為3。通常調試 程序時,把程序按功能分為幾段,然後每段設置一個斷點。當CPU執行到斷點 時便產生中斷,這時可以檢查各寄存器及有關存儲單元的內容。
斷點可以設置在程序的任何地方,設置斷點實際上是把一條斷點指令INT3 插入樣本程序進程中,CPU每執行到斷點處的INT3指令便產生一個中斷。
使用中斷指令來實時劫持OS執行,需要注意兩點
定義我們的斷點處理程序和與斷點時間關聯。即設置探測點,就是在我們 指定的OS調用函數的內存位置上設置斷點。 被調試程序須在用戶空間中執行。
當樣本進程遇到斷點(OxCC),該進程會發生異常J^BP(INT3), Win32調試子 系統會截獲中斷。調試器通過此埠完成對調試子系統的掛接,進而接收和處 理調試事件。
調試器實際上是一個很寬泛的概念,凡是能夠以某種形式監控其他程序執 行過程的程序,都可以泛稱為調試器。在Windows平臺上,根據調試器的實現原 理大概可以將之分為三類內核態調試器、用戶態調試器和偽代碼調試器。用 戶態調試器直接使用Win32API提供的調試接口,遵循Win32的事件驅動的設計 思想,其調試接口的伺服器端的實現思路是調試服務的伺服器端接口實際上 是存在於被調試進程的調試埠(DebugPort),此核心對象實現上跟Win32的完 成埠類似,都是通過一個核心隊列實現的LPC埠。啟動調試伺服器實際上就 是掛接Win32的調試子系統到被調試進程,並在被調試進程內構造調試埠。調 試器通過調試埠與Win32的調試子系統通訊;調試子系統響應系統操作所引發 的調試事件,並通過調試埠將調試事件分發給用戶態調試器。
本發明設計的捕獲引擎正是採用這樣的調試器技術。如圖6所示,我們需要 捕獲某個樣本調用C叩yFileExA函數的情況,則在這個函數的入口處設置斷點中 斷。一旦樣本程序執行到此斷點處(即樣本調用CopyFileExA函數),會告知Win32 調試子系統,調試子系統會檢索是否有用戶調試器在等待中斷,如果發生的中 斷屬於某個調試器需要監視的內容範圍,則交由這個調試器處理。捕獲引擎在 啟動時,創建新的進程空間用以執行樣本,並告知調試子系統,該進程內發生
的斷點中斷事件由捕獲引擎來處理。 二、虛擬機控制技術
本發明採用虛擬機技術實現對病毒行為的跟蹤調試,以防止病毒的擴散和
破壞。VMWare是一個"虛擬PC"軟體,可以在一臺機器上同時運行兩個或更多 Windows、 DOS、 LINUX等系統。與"多啟動"系統相比,VMWare採用了完全不 同的概念。"多啟動"系統在一個時刻只能運行一個系統,在系統切換時需要重新 啟動機器。而VMWare是真正"同時"在主系統的平臺上運行多個作業系統,就象 標準Windows應用程式那樣切換。而且每個作業系統你都可以進行虛擬的分區、 配置而不影響真實硬碟的數據,甚至可以通過網卡將幾臺虛擬機連接為一個局 域網,極其方便。
VIX API是一種通過腳本或編程方式來操作虛擬機的應用函數接口 ,由於在 應用層就可以使用,且接口函數類似於C,所以非常適用於編程。由於VIXAPI 是基於對象操作的,所以在使用它對虛擬機操作就需要用到如下對象
VM--虛擬機,只能對它進行開啟或關閉的操作;
host-宿主計算機,既可以是本地計算機,也可以是遠程計算機;
job—相當於一個會話,包含有異步操作信息;
snapshot-虛擬機快照;
自動化分析系統主要對虛擬機進行以下幾種控制操作
(1) 虛擬機的開啟
首先,定義一個虛擬機控制句柄,然後嘗試去連接虛擬機。 其次,將定義的主機句柄的控制權交與虛擬機控制句柄。 最後,開啟虛擬機中的作業系統。
(2) 傳送文件至虛擬機中的作業系統
首先,同樣需要定義虛擬機控制句柄,並將其交與主機句柄。 其次,登陸虛擬機中的作業系統。 最後,所需文件從物理機傳至虛擬機中。
(3) 控制虛擬機中可執行文件執行。
採用的方法前三步與傳送文件至作業系統的前三步相同,
通過以上操作實現對虛擬機的開啟、關閉、重啟和加載程序等一系列操作,
從而實現對病毒行為的跟蹤調試。
本病毒動態行為自動化分析系統是由以下三層構成,如圖7:
數據層。該層有兩個組成部分,樣本庫和病毒行為庫。樣本庫是用來放置
樣本的文件伺服器,而病毒行為庫是用來存放自動化行為分析系統的捕獲的行
為數據的資料庫。
控制層。該層是一個物理聯機系統,每個集權單元都有一個封閉的虛擬運 行環境用來運行病毒樣本。集權單元的核心是控制程序,它的作用是-
(1) 從樣本庫中提取病毒樣本;
(2) 向虛擬機發送控制指令,如開啟虛擬機、加載樣本程序、運行行為捕 獲引擎;
(3) 接受虛擬機發送的有病毒行為的XML文件,並解析這個文件,將相關 的病毒行為通過普通socket連接記錄至病毒行為庫中;
運行層。運行層可以看作是一個"沙框"(sandbox)。"沙框"可以看作為一 個安全的軟體系統,用來將一些未知的或不可信任的程序放置在一個孤立的且 同外界隔離的環境中運行,因為這些程序是不能冒險放在個人系統或網絡環境 下運行的。而虛擬機系統為實現這個"沙框"創造了技術條件,因為虛擬機是同操 作系統物理隔離,並且運行在我們常用的桌面系統,易用且易於控制。如設計 得當,將病毒樣本放置虛擬機運行不會對物理作業系統造成任何危害。在運行 層中除了 VMware虛擬機外還有行為捕獲引擎和擴展插件。
本系統的運行環境 一、物理機運行環境
硬體環境配置4臺高性能PC (Intel E6320, 4G內存)作為行為捕獲引擎, 每臺捕獲引擎都採用支持Intd VT技術的硬體,使得VMWare在此平臺上的運行 效率將優於其它平臺。l臺資料庫伺服器(DELL POWEREDGE 860)。 l臺百
兆交換機。
軟體環境配置Windows XP Professional SP2,資料庫為MySql 5.0, VMWare Workstation6.0.2。系統網絡配置如圖8。
二、 虛擬機運行環境
本系統採用VMware Workstation 6.0以上的版本,使用的開發包為VMWare VIX SDK 1.1。
本系統採用的是擁有幾種不同的作業系統的虛擬主機,每一個作業系統代 表惡意軟體可能攻擊的目標。這樣便於在本地環境中觀察惡意程序。為了對付 惡意軟體,採取一些預防措施不讓生產系統網絡受到感染。具體方法如下
跟上VMware安全補丁的步伐,經常瀏覽其網站,下載其最新的補丁。
將某物理主機用於基於VMware的試驗環境,不用於其它用途。
不將物理試驗系統連接到生產性網絡。
用基於主機的入侵檢測軟體監視物理主機,如一個文件集成檢査器。 用克隆軟體定期重鏡象物理主機,如NortonGhots。
搭載病毒樣本的虛擬機系統與之對應的物理機進行邏輯隔離,本文實驗採 用的具體方法是將這兩種不同的系統分置在不同的網段,以防止如Viking等病 毒,這些病毒具有很強的嗅探能力,能夠突破同區域網下所以機器的漏洞,並 將其注入。
三、 資料庫設計-
系統的資料庫是基於MySql5.0開發設計,數據結構及表應用資料庫腳本生 成。這些數據表之間的E-R圖如圖9。
表tbLprog用來存放樣本的一些基本信息,比如存放文件路徑,這裡要注意 的是文件路徑為共享路徑,這個路徑應當被分析引擎順利訪問。
表tbljrace用來記錄被分析樣本的狀態,因為在分析的過程中,被分析的樣 本會出現超時、崩潰等情況。
、、
表tbl一traceevent用來記錄被分析樣本的API調用及使用的參數,這裡的數據 將是建模中的關鍵性數據。
整個自動化分析系統是由如下幾個組件協同工作完成
(1) 入庫程序。入庫程序是將樣本庫中的樣本路徑等信息存入資料庫中, 使得控制程序能夠獲取到樣本的路徑信息。
(2) Control (控制程序)。運行在物理機上,用於控制虛擬機的運行,並
負責提取病毒樣本和超時管理。
(3) VMTracer (捕獲引擎)。VMTracer是捕獲系統中的核心,負責檢査被 分析樣本進程加載了哪些系統DLL,然後根據HOOKDLL的導出函數表,來確定 需要在被分析樣本進程中哪些API調用處設置調試斷點。當樣本進程執行到調試 斷點處會產生中斷事件,通過調試子系統獲得斷點發生時被分析樣本進程的執 行環境(指令寄存器、堆棧寄存器等多個寄存器的值),並將中斷時的堆桟參數 送至HOOKDLL中相應的處理函數進行具體分析。
(4) HOOKDLL。負責接收捕獲引擎捕獲的API函數及其實際參數,並對 實際參數進行具體分析,將分析的結果進行格式化輸出到資料庫或文件中。
從圖10得出在系統的三層框架下,入庫程序作為組件位於數據層中的樣本 庫文件伺服器中。它作為一個前端工具,用於將樣本信息存入資料庫中,在自 動化系統所有組件中只有入庫程序是人機互動的。而控制程序是無人值守的, 是無須人機互動的。控制程序是所有組件的核心,它負責從樣本庫中提取樣本、 運行虛擬機、並向行為庫傳送病毒行為數據。捕獲引擎及其插件(HookDll)是 協同工作在虛擬環境下捕獲病毒的行為,並寫入XML文件回傳至控制機。
下面對上述各組件的具體運行進行詳細介紹-
一、自動入庫自動入庫組件是用於將大量樣本的相關信息準確入庫。通 過訪問這些資料庫記錄,可以使得整個聯機系統中的每臺捕獲引擎都能夠準確 獲取每個樣本的路徑信息並能訪問樣本庫所在的物理機。同時,由於本捕獲引 擎聯機系統是在一個同網際網路隔絕的封閉網段下運行,所以存放病毒樣本的物 理機無須採用防火牆,以免自動入庫程序在傳送樣本中受到堵塞。
自動入庫組件由文件檢測和資料庫操作兩個子模塊組成。
文件檢測子模塊的功能
(1) 檢測樣本文件的數字籤名是否有效;
(2) 檢測樣本文件是否是一個PE32格式的文件;
(3) 如果樣本是可執行文件,檢測樣本是否缺少運行必須的DLL文件; 文件檢測子模塊的輸入項
(1) 輸入樣本文件名;
(2) 輸入檢測標記,比如僅檢測文件的數字籤名是否有效;
文件檢測子模塊的輸出項
輸出檢測結果,比如文件是一個PE32格式的可執行文件,並且文件的數字
籤名有效。
文件檢測子模塊的接口
提供函數BOOL CheckPeFile(CHAR *pszFile, DWORD dwCheck)給其他
模塊調用。
文件檢測子模塊的處理流程(如圖ll):文件檢測子模塊首先對用戶輸入的 信息進行校驗,判斷輸入數據是否正確,然後根據輸入的參數信息,判斷是否
進行數字籤名和文件格式檢測,以及相關的DLL檢測。
資料庫操作子模塊的功能
(1) 對Mysql資料庫執行讀數據操作;
(2) 對Mysql資料庫執行寫數據操作;
(3) 對Mysql資料庫執行自定義的其他操作,比如更新數據。 資料庫操作子模塊的輸入項-
(1) 連接資料庫所需的配置信息,包含資料庫名,登陸用戶名,登錄密碼;
(2) 需要寫到資料庫的數據; 資料庫操作子模塊的輸出項
(1) 連接資料庫出錯的出錯信息;
(2) 讀寫資料庫完成的提示信息;
自動入庫實現過程中使用的主要類庫有CDataBase和CListFile。 CDataBase 負責控制程序全部的資料庫操作,包括查詢、修改、增加和刪除記錄的工作。 CListFile負責顯示指定目錄下面的指定文件名.(包含子目錄)。
二、控制程序控制程序功能是病毒動態行為自動化分析系統的核心組件, 用於控制虛擬機的運行,並負責提取病毒樣本。控制程序運行在物理機的 Windows系統中。
控制程序輸入項-
(1) 存放數據的資料庫相關信息,包括資料庫主機名,資料庫名,登錄數 據庫需要的帳號密碼;
(2) 存放樣本數據的計算機相關信息,包括存放樣本的網絡地址,樣本數
據文件;
(3) VMWare虛擬機相關信息,包括VMWARE虛擬機鏡像文件位置,虛擬 機內部系統的帳號和密碼;
(4) 每個樣本的分析時間,超時分析自動結束,比如120秒; 輸入項均為控制程序命令行參數,參數格式為Control.exe host root pwd db
vmx user pwd StopTime。其中host參數為資料庫主機名;root參數為資料庫登
陸帳號;pwd參數為資料庫登陸密碼;db參數為資料庫名稱;vmx參數為虛擬
機文件;user參數為登陸虛擬機內部系統的帳號;pwd參數為登陸虛擬機內部系 統的密碼;StopTime參數為指定超時時間,單位秒;例如Control.exe 127.0.0.1 root 123 mydb c:xp.vmx user 1234 120。
控制程序輸出項
(1) 從虛擬機內部取得的樣本文件特徵數據放到指定資料庫的tb1—event表
中;
(2) 從虛擬機內部取得的樣本文件特徵數據文件,樣本所在文件夾下,文 件名和樣本文件同名,擴展名為.XML;
(3) 生成控制程序運行中產生的出錯信息文件,並保存到cA—log.bg;
控制程序處理流程,如圖12:
(1) 連接資料庫,從對象程序表中取得未分析的數據;
(2) 啟動虛擬機,並登陸虛擬機中的作業系統;
(3) 傳送樣本文件至虛擬機中的作業系統,存放在虛擬機C盤根目錄下;
(4) 啟動捕獲引擎並對樣本的行為實施跟蹤,並將行為記錄下如XML文件
中;
(5) 跟蹤完畢後,關閉虛擬機。並將回傳的XML文件解析,其行為記錄存 入資料庫的跟蹤事件數據表;
控制程序對資料庫的互斥操作流程
自動化分析系統是一個聯機系統,該系統由多個主機組成,每個主機都擁 有一個控制程序,且控制程序運行在物理機內。在取得未分析數據的過程中, 為了實現合理調度,避免一個樣本被多個主機重複分析而造成的數據冗餘,在 設計控制程序過程中需要實現如下的互斥操作流程
(1) 一旦啟動虛擬機,首先控制程序會向資料庫請求一個未被分析樣本的
路徑信息,對資料庫中對象程序表和跟蹤數據表中加x鎖,査詢對象程序表中的
istmced和Prog—id兩個欄位的值,如果istraced為false且Prog—id的值未在跟蹤數據 表中出現,則判斷該樣本未被分析過,並向主程序提交路徑信息;
(2) —旦主程序成功下載病毒樣本,在跟蹤數據表插入一條新記錄,並進 行初始化操作,系統自動填入tmce一id和progjd兩個欄位的值,欄位"程序跟蹤狀 態"設置為"正在處理";同時釋放對象程序表和跟蹤狀態表的X鎖;
(3) 解析虛擬機傳回來的含有病毒行為的XML文件,並記錄至資料庫中的 跟蹤事件數據表。
控制程序實現過程中使用的主要類庫和方法
控制程序中主要有兩個類CDataBase和CVixVM。 CDataBase類負責控制程序 全部的資料庫操作,包括查詢、修改、增加和刪除記錄的工作。CWxVM類在控 製程序中負責虛擬機操作的子模塊,包括開啟、加載樣本程序、啟動捕獲引擎、 出錯處理和關閉虛擬機。CVixVM用以編程實現對VMware虛擬機的控制。因為 自動化分析系統中樣本是運行在封閉的虛擬環境中的,所以,我們使用VMware 的開發包為VMWareVIXSDKl.l,通過編程,實現外部對虛擬機內部運行進行 控制。
三、捕獲引擎捕獲引擎(APITracer)是本系統中的核心,在確定對指定 樣本進程進行分析之後,檢査被分析樣本進程加載了哪些系統DLL,然後根據 工作目錄下的HOOKDLL的導出函數表,來確定需要在被分析樣本進程中哪些 API調用處設置調試斷點。當樣本進程執行到調試斷點處會產生中斷事件,通過 調試子系統獲得斷點發生時被分析樣本進程的執行環境(指令寄存器、堆棧寄 存器等多個寄存器的值),並將中斷時的堆棧參數送至HOOKDLL中相應的處理 函數進行具體分析。
捕獲引擎的功能
(1) 根據工作目錄下的HOOKDLL對指定API調用入口處設置調試斷點;
(2) 通過作業系統調試子系統中獲取需要捕獲的API調用事件及其參數;
(3) 向HOOKDLL中相應的處理函數傳遞斷點發生處的堆棧信息; 捕獲引擎的輸入項
(1) 樣本進程;
(2) 捕獲引擎的所在目錄;
(3) 目錄下所有HOOKDLL名及HOOKDLL導出函數表;
捕獲引擎的輸出項
捕獲引擎在捕獲到調試中斷之後,會調用HOOKDLL中相應的函數進行處 理,這些函數採用相同的參數表,這個參數表就是行為捕獲引擎的輸出,定義 為TracerFunc函數指針。
以對SendMessageW函數的捕獲處理為例,當發生調試斷點事件之後,捕獲 引擎調用HOOKDLL中的MySendMessageW函數進行處理。
其中TmceMode若為CALLJTRACE一MODE,表明是在捕獲的API調用前 進行處理。TraceMode若為RETURN一TRACE一MODE,表明是在捕獲的API調用 後進行處理;plnfo為CTracelnfo *類型的句柄,用於結構化列印數據,相當於 stdout; pdwRet
用來通知捕獲引擎修改被捕獲函數的返回值;pAdvCtrl是系統保留,為了將 來擴充功能保留。Apilnfo為API—TRACE—INFO結構體的指針變量,存儲了斷點 發生時,被分析樣本進程的執行環境,包括API名,堆棧指針等。
捕獲引擎的處理流程,如圖13:
捕獲引擎的主要部分是一個循環,處理來自內核的調試事件,循環體內先 等待一個調試事件,然後處理之,最後將控制權交還給調試伺服器,就好像一 個窗口消息循環一樣。
捕獲引擎關注EXCEPTION—DEBUG—EVENT調試事件的發生,每次 Win32API—旦被調用,就觸發一次EXCEPTION一DEBUG—EVENT事件。每調用 一次Win32API, APITracer査找這些動態連結庫是否存在有同名函數, 一旦發現 即轉入HOOLDLL動態連結庫。
其實現的方法是在調試器開始的時候,啟動要調試程序的新進程或者掛 接(attach)到一個已運行進程上,此時啟動調試接口的伺服器端;使用 WaitForDebugEvent函數等待調試伺服器端的調試事件的發生;根據事件進行相 應的處理;最後使用ContinueDebugEvent函數請求調試伺服器繼續執行被調試進 程,以等待並處理下一個調試事件。
四、HOOKDLL組件HOOKDLL組件主要是接收捕獲引擎捕獲的API函數 及其實際參數,並對實際參數進行具體分析,將分析的結果進行格式化輸出到 資料庫或文件中。格式化輸出的分析內容有兩種,Tmce型即記錄API調用的記錄 而不關注其參數,Analysis型即把API和參數進行結合判斷後再記錄其行為特徵。
HOOKDLL的功能
(1) 解析捕獲引擎傳遞的函數參數內容;
(2) 檢查參數內容與對應的API可能產生的惡意行為做規則匹配;
(3) 輸出Trace類型記錄;
(4) 輸出Analysis類型記錄; HOOKDLL的輸入項
以對WSAConnect函數的捕獲處理為例,病毒調用此API函數,必定引用了 系統DLL,即Ws2—32.dll,與之對應的HOOKDLL是H一Ws2—32.dll,則對 WS ACo皿ect函數參數的具體分析轉入H一Ws2一32.d11中的My WSAConnect函數進 行處理,MyWSAConnect首先判斷TraceMode的類型,然後從API—TRACE—INFO 中的堆棧指針獲得參數內容在內存的地址,進而讀取這些內容並將其解析。Tmce 類型的記錄就是API調用事件和參數內容的輸出,Analysis類型的記錄是分析函 數參數的內容是否同與該函數相關的惡意代碼行為規則所匹配,如果匹配則該 行為作為Analysis類型的記錄被輸出。
HOOKDLL的輸出項
HOOKDLL的輸出項是使用類CTracelnfo派生的對象進行控制和輸出。 HOOKDLL的處理流程
一旦調試事件EXCEPTION一DEBUG一EVENT發生,捕獲引擎即阻塞被跟蹤 程序的執行,示意圖見圖14。
如上圖14, APITracer在跟蹤至某一系統API函數TestFunc,此時中斷 TestFunc,記錄當前函數地址0xl7fa,並指針轉至能夠處理該函數的擴展插件, 這個插件我們命名為HOOKDLL。然後,HOOKDLL記錄下此API調用,此外還 有調用的時間戳及其相關參數,比如關聯的文件名、訪問的磁碟分區或修改注 冊表的鍵值。完畢後,將指針重定向至0xl7fa處,釋放中斷。
HOOKDLL的內部處理流程如圖15所示
TraceMode為C ALLJTRACE—MOED表明當前API函數的參數內容可以在調 用前得到,而TraceMode為RETURN一TRACE一MOED則表明當前API函數的參數 必須在函數調用後得到,同時還需要指明是否修改函數返回值。
HOOKDLL實現過程中使用的主要類庫和變量是CTracelnfo類和 API—TRACE—INFO結構。CTracelnfo類在CommUtils.h頭文件中聲明,該類主要 用於分析處理和記錄調試的相關信息。API—TRACE—INFO結構在CommUtils.h 中聲明。這個結構包含了被攔截dll函數所在的進程句柄(hProcess),調用本函 數的模塊名(Caller),調用本函數的D11名(DllName),以及本函數的函數名 (ApiName),函數參數堆棧指針(dwStackAddr)等。dwRet用來設置被攔截函 數的返回值,而pAdvCtrl是為了將來擴充功能保留。本系統中設計和實現了八個 HOOKDLL,如圖16。
以上顯示和描述了本發明的基本原理和主要特徵和本發明的優點。本行業 的技術人員應該了解,本發明不受上述實施例的限制,上述實施例和說明書中 描述的只是說明本發明的原理,在不脫離本發明精神和範圍的前提下,本發明 還會有各種變化和改進,這些變化和改進都落入要求保護的本發明範圍內。本 發明要求保護範圍由所附的權利要求書及其等效物界定。
權利要求
1.基於Win32平臺下病毒行為的自動化分析系統,該系統主要由數據模塊、控制模塊以及運行模塊組成,所述控制模塊工作於物理機環境中,所述運行模塊工作於由虛擬機形成的虛擬環境中;其特徵在於,所述數據模塊中樣本數據模塊通過自動入庫模塊連接行為數據模塊;所述運行模塊中捕獲引擎模塊與HOOKDELL模塊進行數據交換;所述控制模塊連接樣本數據模塊以及行為數據模塊,並且控制運行模塊中的捕獲引擎模塊。
2、 根據權利要求l所述的基於Win32平臺下病毒行為的自動化分析系統,其特徵在於,所述樣本數據模塊包括有病毒樣本數據模塊以及合法程序樣本數據 模塊。
3、 根據權利要求l所述的基於Win32平臺下病毒行為的自動化分析系統,其 特徵在於,所述行為數據模塊包括有用來將捕獲的病毒樣本行為數據記入數據 模塊中並進行統計,並轉化成易於建模的二維表的病毒樣本行為數據模塊和用 來將捕獲的合法程序樣本行為數據記入數據模塊中並進行統計,並轉化成易於 建模的二維表的合法程序樣本行為模塊。
4、 根據權利要求l所述的基於Win32平臺下病毒行為的自動化分析系統,其 特徵在於,所述捕獲引擎模塊包括捕獲引擎和插件。
5、 根據權利要求4所述的基於Win32平臺下病毒行為的自動化分析系統,其 特徵在於,所述捕獲引擎在捕獲樣本動態行為通過以下步驟實現-(1) 對指定樣本進程進行分析,檢査被分析樣本進程加載了哪些系統DLL;(2) 再根據工作目錄下的HOOKDLL的導出函數表,來確定需要在被分析 樣本進程中哪些函數調用處設置調試斷點;(3) 當樣本進程執行到調試斷點處會產生中斷事件,通過調試子系統獲得 斷點發生時被分析樣本進程的執行環境(指令寄存器、堆棧寄存器等多個寄存 器的值),並將中斷時的堆棧參數送至HOOKDLL中相應的處理函數進行具體分 析。
6、 根據權利要求l所述的基於Win32平臺下病毒行為的自動化分析系統,其 特徵在於,所述HOOKDLL模塊負責接收捕獲引擎捕獲的函數及其實際參數,並 對實際參數進行具體分析,將分析的結果進行格式化輸出到資料庫或文件中。
7、 根據權利要求6所述的基於Win32平臺下病毒行為的自動化分析系統,其 特徵在於,所述格式化輸出的分析內容有兩種,Trace型即記錄函數調用的記錄 而不關注其參數,Analysis型即把函數和參數進行結合判斷後再記錄其行為特徵。
8、 根據權利要求l所述的基於Win32平臺下病毒行為的自動化分析系統,其 特徵在於,所述自動入庫模塊是用於將大量樣本的相關信息準確入庫,通過訪 問這些資料庫記錄,可以使得整個聯機系統中的每臺捕獲引擎都能夠準確獲取 每個樣本的路徑信息並能訪問樣本庫所在的物理機。
9、 根據權利要求8所述的基於Win32平臺下病毒行為的自動化分析系統,其 特徵在於,所述自動入庫模塊由文件檢測和資料庫操作兩個子模塊組成。
10、 根據權利要求9所述的基於Win32平臺下病毒行為的自動化分析系統, 其特徵在於,所述文件檢測子模塊通過以下步驟實現功能首先對用戶輸入的 信息進行校驗,判斷輸入數據是否正確,然後根據輸入的參數信息,判斷是否 進行數字籤名和文件格式檢測,以及相關的DLL檢測。
11、 根據權利要求9所述的基於Win32平臺下病毒行為的自動化分析系統, 其特徵在於,所述資料庫操作子模塊能夠對資料庫執行讀數據操作、寫數據操 作、自定義的其他操作。
12、 根據權利要求l所述的基於Win32平臺下病毒行為的自動化分析系統, 其特徵在於,所述控制模塊的處理流程(1) 連接資料庫,從對象程序表中取得未分析的數據;(2) 啟動虛擬機,並登陸虛擬機中的作業系統;(3) 傳送樣本文件至虛擬機中的作業系統,存放在虛擬機C盤根目錄下;(4) 啟動捕獲引擎並對樣本的行為實施跟蹤,並將行為記錄下如XML文件中;(5) 跟蹤完畢後,關閉虛擬機,並將回傳的XML文件解析,其行為記錄存 入資料庫的跟蹤事件數據表。
13、 根據權利要求l或12所述的基於Win32平臺下病毒行為的自動化分析系 統,其特徵在於,控制模塊對數據模塊具有如下互斥操作流程(1)當虛擬機啟動,首先控制模塊會向數據模塊請求一個未被分析樣本的 路徑信息,對資料庫中對象程序表和跟蹤數據表中加x鎖,査詢對象程序表中的istmced和Prog—id兩個欄位的值,若istraced為false且Prog—id的值未在跟蹤數據表 中出現,則判斷該樣本未被分析過,並向主程序提交路徑信息;(2) 若主程序成功下載病毒樣本,在跟蹤數據表插入一條新記錄,並進行 初始化操作,系統自動填入trace一id和prog—id兩個欄位的值,欄位"程序跟蹤狀態" 設置為"正在處理";同時釋放對象程序表和跟蹤狀態表的X鎖;(3) 解析虛擬機傳回來的含有病毒行為的XML文件,並記錄至資料庫中的 跟蹤事件數據表。
全文摘要
本發明公開了基於Win32平臺下病毒行為的自動化分析系統,該系統主要由數據模塊、控制模塊以及運行模塊組成,所述控制模塊工作於物理機環境中,所述運行模塊工作於由虛擬機形成的虛擬環境中;所述數據模塊中樣本數據模塊通過自動入庫模塊連接行為數據模塊;所述運行模塊中捕獲引擎模塊與HOOKDELL模塊進行數據交換;所述控制模塊連接樣本數據模塊以及行為數據模塊,並且控制運行模塊中的捕獲引擎模塊。本發明的監控範圍非常的廣、實用性強、可以應對能造成直接破壞的惡意代碼,同時還能夠實現自動對樣本進行快速、準確的分析使得我們的電腦能夠得到全面的保護。
文檔編號G06F9/44GK101373502SQ20081003727
公開日2009年2月25日 申請日期2008年5月12日 優先權日2008年5月12日
發明者勇 張, 沈寒輝, 巍 王, 王國豐, 胡永濤, 峰 高 申請人:公安部第三研究所

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀