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