重慶市奉節(jié)縣廣播電視臺 張亞凌
參照《中華人民共和國計算機信息系統(tǒng)安全保護條例》定義,計算機病毒[1](Computer Virus)指“編制者在計算機程序中插入的破壞計算機功能或者破壞數據,影響計算機使用并且能夠自我復制的一組計算機指令或者程序代碼”。隨著信息技術地不斷發(fā)展,人們在享受其對生活帶來便利的同時,一種反面角色——計算機病毒,也在隨著信息技術應用范圍的擴大不斷滲透,嚴重威脅著人們的個人隱私和財產安全。維護網絡空間的安全人人有責,提高網民對計算機病毒行為特征的識別能力,有助于做到“早發(fā)現(xiàn)、早預防、早處理”,勢必能在很大程度上防止計算機病毒擴散,減少其破壞力。
計算機病毒通常具有很強的隱蔽性,不易被人們發(fā)現(xiàn)。專業(yè)的分析人員可能會通過提取病毒樣本,采用逆向工程的技術對病毒可執(zhí)行代碼進行動態(tài)或靜態(tài)反匯編分析,識別其調用的系統(tǒng)API函數,通過分析這些API的邏輯關系[2,3],發(fā)現(xiàn)代碼段具有的潛在威脅以識別是否為病毒代碼。這種分析技術難度大、門檻高,即使普通程序員也無法領會其中的精髓。本文從病毒代碼的行為特征出發(fā),在搭建的虛擬機環(huán)境下分析病毒代碼執(zhí)行后對系統(tǒng)造成的影響來識別病毒,具有很強的通用性。
從計算機病毒的定義可知,其運行結果通常會給我們的計算機帶來不可預見的破壞結果。那么通常情況下都會借助VMWare軟件搭建一個虛擬機平臺,讓待分析病毒運行在這個虛擬操作系統(tǒng)中。除非特殊情況下,一般不采用真實主機進行分析測試。另外虛擬機平臺分析有個好處是可以在預裝完操作系統(tǒng),配置好初始環(huán)境后做系統(tǒng)快照,完成一次樣本分析后恢復快照即可很方便地還原原始系統(tǒng)環(huán)境。
圖1 VMWare+XP SP2系統(tǒng)+ProcessMonitor軟件分析平臺
在搭建完虛擬機環(huán)境后,本文推薦使用ProcessMonitor軟件觀察記錄病毒行為特征,如上圖1所示。該軟件通過配置,可以選擇對系統(tǒng)中注冊表操作、文件讀寫、網絡連接活動和進程、線程活動的任意組合進行監(jiān)控,使用靈活,功能齊全,足以滿足本文所涉及病毒行為分析方法的操作需求。
行為特征[4]是最能識別計算機病毒的標志,也是病毒分析工程師通常進行的第一步工作。了解相關病毒的行為特征,可以縮小后續(xù)逆向工程中動態(tài)分析和靜態(tài)分析的目標范圍,起到事半功倍的促進作用。操作系統(tǒng)一般都具有高可配置性,用戶通過對一些配置文件的修改即可改變計算機系統(tǒng)的操作行為。病毒也正是利用系統(tǒng)的這一特性,通常更改操作系統(tǒng)的正常配置屬性,設置一個適合病毒運行和傳播的系統(tǒng)環(huán)境。在病毒行為特征的分析中,也可從病毒通常關注的主機HOSTS文件、注冊表文件、啟動項配置、PE文件入手,檢測是否有病毒操作后的異常特征以識別被監(jiān)控對象是否為病毒源。
針對Windows2000/XP系統(tǒng),HOSTS文件通常位于“C:WINDOWSsystem32driversetc”目錄下,該文件是一個純文本,記錄著域名與IP地址的映射關系。用戶通過域名訪問網絡資源時,主機首先查看該文件,如果域名在文件中有記錄,就使用期映射的IP地址進行訪問;否則,主機將通過DNS服務獲取域名對應的網絡地址,然后通過返回的地址訪問網絡資源。但是,病毒軟件通常利用該文件的功能,誘導用戶訪問含有病毒、木馬的惡意網址或釣魚網址,甚至限制用戶訪問信息安全相關的論壇網站,避免用戶通過查閱資料進行殺毒。下圖2為主機在遭受病毒感染后不能打開百度主頁,引導至另一網站的HOSTS文件截圖。
圖2 HOSTS文件感染截圖
在Windows環(huán)境下的“開始-〉所有程序-〉啟動”中可以放置開機自啟動程序或者程序的快捷方式。病毒感染主機后通常將自己或自己的快捷方式放入該文件夾,通常有兩個路徑“C:Documents and SettingsAdministrator「開始」菜單程序啟動;C:Documents and SettingsAll Users「開始」菜單程序啟動”,檢查的時候需要全面查看。但是這種方式啟動程序本身容易被發(fā)覺,很多病毒、木馬更傾向于直接修改主機注冊表文件以隱藏自身不被用戶容易地清除。
注冊表是Windows用于存儲系統(tǒng)和應用程序配置信息的數據庫,管理著系統(tǒng)的日常運行。先于Windows3.0推出OLE技術之前出現(xiàn),到Windows NT將其廣泛應用于系統(tǒng)級,一直沿用至今。通過管理注冊表文件,系統(tǒng)可以初始化應用程序啟動參數、決定應用程序啟動方式等。它就好比Windows系統(tǒng)的一個大管家,保障系統(tǒng)正常運行。
由于注冊表在操作系統(tǒng)管理上具有很強的功能和靈活性,通常被惡意軟件利用,修改系統(tǒng)的正常行為,讓病毒、木馬的泛濫有機可乘。
病毒程序通常需要修改操作系統(tǒng)注冊表,將自身或者副本設置為自啟動方式。一旦被感染主機運行病毒程序,病毒的下次發(fā)作就無需人為觸發(fā)。用戶一旦發(fā)覺主機運行出現(xiàn)異常,應該及時殺毒,檢查注冊表啟動項中是否有可疑字段插入,一旦發(fā)現(xiàn),應該立即清除[5]。常見的注冊表啟動項如表1所示。
表1 常見注冊表啟動項
PE格式文件[6]在Windows平臺下廣泛存在,感染型病毒通常將自身的病毒代碼段附加進被感染對象,然后進行函數調用重定位,讓病毒代碼段先于正常程序代碼段運行。這樣當用戶每次執(zhí)行常用程序時,病毒代碼段則悄悄運行,具有很強的隱蔽性。這種PE文件感染型病毒通常伴隨著對文件的讀寫操作,如果發(fā)現(xiàn)陌生進程對我們的已知可執(zhí)行程序進行讀寫操作的時候,往往有可能正在感染病毒代碼。一旦發(fā)現(xiàn),可以在安全模式下刪除被感染對象,保障計算機系統(tǒng)安全。
隨著信息化的高速發(fā)展,某些個人、組織在特殊利益驅動的誘導下不斷研發(fā)新的病毒代碼以牟利。面對各種類型的計算機病毒,其行為特征基本固定。只要會識別操作系統(tǒng)中的異常行為,用戶即可快速定位相關可疑程序,及時阻止其運行,刪除可疑文件,在一定程度上保障計算機系統(tǒng)的安全,防止病毒代碼進一步傳播、擴散,避免個人用戶隱私泄露。本文的方法在識別病毒行為特征上具有很強的通用性,可以在日漸積累的過程中提高用戶對可疑程序的識別能力。
[1]張忠利.淺談計算機病毒[J].科技咨詢,2009(29).
[2]姚曉杭.基于代碼行為病毒監(jiān)控技術[J].實驗室研究與探索,2009(28).
[3]鄭重,王志英,等.基于病毒行為序列的未知病毒分析技術研究[J].計算機安全,2010.
[4]謝塵.計算機病毒行為的檢測分析方法[J].信息安全技術與應用,2012.
[5]張震.使用注冊表清除木馬與病毒[J].金融科技時代,2011(19).
[6]戚利.Windows PE權威指南[M].北京:機械工業(yè)出版社,2011,9.