◆孫德紅
(閩南理工學院 福建 362700)
關于計算機病毒多種檢測方法的探討
◆孫德紅
(閩南理工學院 福建 362700)
隨著計算機技術的發展,計算機病毒技術與防治病毒技術的矛盾越來越明顯。計算機病毒給我們的計算機系統資源帶來極大危害,尤其是有些病毒借助網絡爆發流行,可迅速讓整個網絡陷入崩潰,給用戶帶來巨大損失,要提高計算機的安全性,必須采取積極、有效的防范措施,其中,計算機病毒檢測技術起著至關重要的作用,本文重點研究檢測計算機病毒的方法,并指出更新檢測技術的必要性。
計算機;病毒;檢測技術
通常把利用一定的手段判定出計算機病毒的技術稱為計算機病毒檢測技術,通過相關技術盡早發現病毒可讓用戶在和計算機病毒的斗爭中處于主動地位,能夠減少甚至避免用戶的損失。病毒在感染程序后,會引起各種變化,不同病毒引起的變化都有自身的特點。計算機病毒檢測原理就是根據這些變化,來判斷病毒種類,進一步確定處理方法。也就是說,要清除病毒,首先應確定其類型、特征和癥狀,即進行病毒檢測。
要知道計算機系統有沒有感染病毒,第一步是進行檢測,接下來才是防治。下面介紹病毒的檢測方法。
計算機感染病毒后,通常出現不正常現象,如屏幕顯示奇怪信息、程序自動打開、文件和目錄丟失、系統頻繁死機、程序變慢等。這些異常極可能是病毒所致。用戶可由此來判斷計算機是否被病毒入侵,以便盡早地發現并及時有效地處理。通過外觀檢測可初步判斷計算機有沒有被病毒入侵。
很多病毒以修改系統數據、破壞系統為目的。通過檢查系統數據區域,與事先備份的正常數據比較,若發現異常,則說明計算機可能被病毒感染。
系統數據對比法容易操作,缺陷是僅通過對比很難知道病毒名稱,系統數據異常的原因要繼續使用其他方法查找,以確認感染了哪種病毒。
病毒簽名是宿主程序被入侵的標記。不同病毒入侵宿主程序時,在宿主程序的不同位置放入特別的標記。這些標記是一些數字串或字符串,如1234,1357,FLU等。不同病毒的簽名內容不同,放置簽名的位置也不同。經剖析樣本,掌握病毒簽名內容及位置,然后在該程序的特定位置查詢病毒簽名。如果找到就可以斷定程序是被何種病毒感染。
病毒簽名是特殊的識別標記,然而有些病毒不含簽名,而是包含一些特別代碼。于是人們采用類似于病毒簽名檢測法的方法檢測。即在可疑程序中搜索某些具有特殊性質的代碼,稱為特征代碼段檢測法。
如果在檢測文件中發現含有病毒數據庫中的病毒特征碼,則可斷定被查文件感染了哪種病毒。特征代碼法是檢測計算機病毒較可靠的方法,實現簡單。
特征代碼法具有檢測準確、誤報警率低等優點,且可識別出病毒名稱,依據檢測結果可做針對性的殺毒處理。其最大缺陷就是依賴已有的病毒特征碼,使其只能檢測已有病毒,而對于新出現的病毒將不能檢測出。而且,病毒特征代碼選取不當會造成誤報,使檢測工具將正常程序或文件當成病毒處理。
為防止系統將其內存空間覆蓋或收回,常駐內存病毒一般會修改系統數據區中記錄的系統內存數或內存控制塊中的數據,所以檢查內存大小和使用情況可判斷系統是否感染病毒。通常可采用一些簡單的工具軟件,如Pctools,Debug等。
有的軟件可報告包括擴展內存和基本內存在內的詳細情況,包括各個駐留內存程序在內存中的物理地址、占用內存空間大小、使用的中斷向量以及駐留文件的名稱等。利用這些軟件,首先,查閱有無可疑駐留文件,如果有則可能是文件型病毒已進入系統,通過內存信息可確定哪個文件被感染;其次,查看駐留文件有無可疑的中斷向量值,重點是病毒經常調用的中斷向量;最后,通過內存信息查看駐留文件的大小是否合適。當內存中的設備驅動程序運行存在問題,通過檢查驅動程序分配情況,以合理的中斷向量占有為依據,適當排查非法設備驅動程序。
病毒入侵程序時,會使原先程序大小增加或日期發生變化,校驗和法就是根據這種特點來進行判斷的。首先把硬盤中的某些文件進行匯總并記錄下來,在以后檢測過程中重復此項動作,并與前次記錄對比,進而判斷這些文件是否被入侵。
對一些未知病毒在電腦中可通過特殊方法查得,甚至可對一些程序進行細致的對比排查,從而判斷其中的細微變化,校驗和法就是其中一種方法,雖然此種方法可以實現排查病毒與異常,但容易混淆異常種類,甚至對一些隱蔽性較強的病毒無法排查,此種弊端會導致錯誤判斷,對于排查環境也要求苛刻。
校驗和是對程序文件實施特定運算的結果,簡單的校驗和易被偽造。許多隨機檢查方式的公開算法,可獲得目標程序或命令文件的逐位,達到完全紊亂的校驗和。檢驗和方法開銷較大。
病毒入侵文件時,往往有一些不正常的表現。利用病毒的“特別行為”檢測的方法稱為行為檢測法,也叫實時監控法。該方法引入人工智能技術,分析檢查對象的邏輯結構,將其分為若干個模塊,再引入虛擬機執行并且檢測出病毒。
行為監測法的優點是不僅能發現已知病毒,還可以發現未知的病毒。缺點是有可能發生誤報,無法識別病毒名稱,且實現相對來說不容易。
有一種名為變形病毒的計算機病毒,可在一至四維的四種狀態進行空間與結構上的變化,一旦在計算機內傳染開,由于自身的變化性,特征代碼法對此類病毒束手無策,軟件模擬法就可很好的替代特征代碼法來檢測此類病毒。針對變形病毒所做出的代碼更換與代碼加密行為,軟件模擬法可以針對性的虛擬一個環境進行解碼,再運用特征代碼法識別病毒的種類,清除病毒,從而實現對各類多態病毒的查殺。
現今針對變形病毒都是通過啟動軟件模擬模塊,監視病毒運行,待病毒自身的密碼譯碼以后,再用特征代碼法來識別其種類。
啟發式代碼掃描技術的原理是通過對各類程序進行識別分類,并判斷各類程序的動機對各類病毒進行重點監控,此類技術以人工智能為藍版實現對病毒的智能識別,可以很好的對傳統查毒方法進行補充,通過智能識別病毒的動機,對各類新病毒進行識別與界定,查出傳統查毒方法漏掉的新型病毒。
這兩種檢測方法的結合能掃描出大部分的病毒,當出現判定不一致的時候通過另外的辦法來對這種樣本做出結論。
如TbScan 6.02測試,表1是使用兩種技術以及將兩種技術結合應用的結果。

表1傳統式與啟發式技術檢測病毒測試對比
顯然,傳統式與啟發式技術相結合,大大提高了病毒的檢出率。
隨著病毒檢測技術要求的提高,智能檢測顯得尤為重要,通過智能檢測與傳統檢測的結合可更好地檢測出病毒并出現更低的誤報率,因此智能啟發式檢測方法的應用對于今后病毒檢測技術的發展起著非凡的意義。
算法掃描是指為掃描特定病毒而進行針對性的編寫代碼后的掃描,是現代防毒體系的一個重要組成部分。有些掃描器,如KAV,將目標代碼(Object Code)存儲在其嵌入式的病毒數據庫中。具體病毒的檢測例程C代碼是可移植的,編譯后得到的目標代碼存儲在數據庫中。掃描器運行時連接所有用于特定病毒檢測的目標代碼。這些代碼按照預定義的順序被依次調用和執行。其優點是性能更好,缺點是代碼在系統中實際運行時可能不穩定。因為這些代碼通常是在應急響應時匆忙發布的,因而復雜的檢測代碼中可能會有些小錯誤。
為消除該問題,現代算法掃描的實現使用虛擬機,采用類似于Java中的p-code。Norton Antivirus采用了該枝術。只要把掃描器代碼和算法掃描引擎的虛擬機代碼移植到新平臺,則各種特定病毒的檢測例程就可在新平臺上運行,缺點是與真正的運行時代碼相比,P-code執行速度較慢。檢測例程可用一種類似于帶高級宏指令的匯編語言編寫。這些例程提供了通過單次檢索搜索一組字符串或是進行可執行文件虛擬地址和物理地址轉換的功能。更重要的是,這種掃描器必須使用過濾技術進行優化。此外,檢測例程還可在一個可擴展的掃描引擎中用本地代碼實現。
除以上檢測方法外還有感染實驗法、病毒分析法、病毒分析法、主動內核技術等,為能更好的保護好我們的電腦不受病毒入侵,計算機病毒掃描技術的發展勢在必行,在一臺計算機內,選擇正確的合理的病毒掃描,對個人的信息安全起到極其重要的租用。也就是說,互聯網+時代,我們必須更加積極探索計算機病毒檢測的新技術以更好的保護計算機安全。
[1](美)斯澤.計算機病毒防范藝術[M].北京:機械工業出版社,2007.
[2]秦志光.計算機病毒原理與防范[M].北京:人民郵電出版社,2007.
[3]沈繼濤.計算機病毒檢測技術的現狀與發展[J].電子技術與軟件工程,2017.
[4]于象宏.計算機病毒檢測技術應用及發展研究[J].現代教育技術,2017.
[5]沈繼濤.計算機病毒檢測技術的現狀與發展[J].信息安全,2017.
2016年福建省中青年教師教育科研資助項目(項目編號:JAT160598)。