前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機病毒防范研究范文,希望能給你帶來靈感和參考,敬請閱讀。
一、重寫病毒是不能從系統中徹底刪掉的
只能刪掉被感染的文件,然后再從備份介質恢復。一般來說,重寫病毒不是非常成功的威脅,因為病毒造成的威脅明顯太容易被發現了。然而,這種病毒效果如果基于網絡的傳播技術結合起來,可能產生很大的威脅,比如:VBS/LoveLetter.A@mm通過群發郵件把病毒發送到其他系統中,當該病毒執行時,它會用自己的拷貝重寫本地所有下面擴展名的文件:.vbs,.vbe,.js,.css,.wsh,.sct,.gta,.jpg,.jpeg,.wav,.txt,.gif,.doc,.htm,.html,.xls,.ini,.bat,.com,.avi,.mpg,.mpeg,.cpp,.c,.h,.swd,.psd,.wri,.mp3,.and,.mp2等。重寫技術的另一種罕見形式是不改變文件頂部的代碼,而是在宿主文件中隨機找一個位置把自己寫進去。顯然,這種病毒不太可能獲得控制權,它通常會導致宿主在執行到病毒代碼之前就崩潰了。這種病毒的例子是俄羅斯的Omud。現在的反病毒掃描程序會為了提高性能而減少磁盤I/O,因此如果可能的話,只查找已知的位置。掃描器在查找隨機重寫病毒時有一定的問題,因為掃描器必須搜索宿主程序的全部內容,這種操作的I/O開銷太大了。有些比較簡單的而病毒并不主動駐留在內存中,最先感染IBMPC的文件感染類型病毒Virdem和Vienna就是這樣,通常,直接感染型病毒的傳播速度比較慢,傳播范圍也比較窄。直接感染型病毒隨著宿主程序一起裝入內存中。在取得系統控制權后,他們以搜索新文件的方式搜索可能感染的對象。很多常見的計算機病毒都使用直接感染方式的傳播引擎,這種病毒在各個平臺都很容易構造,無論是二進制還是腳本形式。歷史上曾經有過這樣的例子。Borland公司在DOS環境下開發的Quattrospreadsheet系統的第一個版本是全部使用Hungary匯編語言開發的。在系統的開發過程中發生了意見非常有趣的事情。有時候,系統命名在執行一個循環,可是系統的實際流程和控制流程的期望值剛好相反。代碼本身并沒有什么錯誤,因此通過閱讀代碼的方式根本不可能解釋發生這種現象的原因。最后發現產生這個錯誤的原因是因為一個時鐘程序偶爾會改變系統的執行流程,原因是時鐘程序改變了方向標記,而有時又忘記恢復這個標記,結果,時鐘程序五一地破壞了spreadsheets系統的內容,當然它也會對其他程序造成破壞。這個具有破壞性的時鐘程序就是一個TSR程序。病毒采用各種方式入侵電腦程序和服務器程序,大部分電腦書籍對病毒檢測的討論都停留在相當淺的層次上,就連一些比較新的書都把防毒掃描器描述為“在文件和內存中檢索病毒特征字節序列的普通程序”。這種說法所描述的當然是最流行的計算機病毒檢測方法之一———這種方法也很有效,但當今最先進的防毒軟件使用了更多出色的方法檢測僅用第一代掃描器無法對付的復雜病毒。例如:字符串掃描、通配符掃描、不匹配字節數、通用檢測法、書簽、首位掃描、入口點固定點掃描等等。隨著時代的進步第二代掃描器也隨之來臨,第二代掃描器采用近似精確識別法(nearlyexactidentification)和精確識別法(exactidentifica-tion),有助于提高對計算機病毒和惡意程序的檢測精度。第二代掃描器同樣包括很多種方式,例如:智能掃描、骨架掃描法、近似精確識別法和精確識別法等。掃描技術的多樣性清楚地表明:給予對一只病毒的識別能力來檢測病毒是多么困難。因此,看來采取更為通用的方法———如給予文件和可執行對象的完整性來檢測和預防病毒對其內容的篡改———可以更好的解決病毒檢測這個問題。手工啟動型完整性掃描工具需要使用一個校驗和數據庫,該數據庫要么在受保護的系統中生成的,要么是一個遠程在線數據庫。完整性檢查工具每次檢查系統中是否有新生成對象,或者是否有任何對象的校驗值發生變化,都用到該數據庫。通過檢驗出新的或發生了變化的對象,顯然最容易發現病毒感染及系統受到的其他侵害。然而,這種方法也有很多缺點,例如:
(1)虛警;
(2)要有干凈的初始化狀態,而實際上不一定會有這么一個狀態;
(3)速度。完整性檢查通常很慢;
(4)特殊對象。工作需要懂得一些特殊對象;
(5)必須有對象發生改變等等。還有一些方案試圖基于應用程序的行為來阻斷病毒傳染。最早的反病毒軟件之一FluShot就是屬于這一類病毒防護方案。如果一個應用程序以寫入模式打開了可執行文件,則阻斷工具就會顯示一條警告,要求用戶授權寫操作。不幸的是這種低級別時間可能會引起太多的警告,因而阻斷工具受用戶歡迎的程度常常還不如完整性檢測工具。而且,不同類型的計算機病毒的行為可能差異很大,因而可能導致感染的行為模式數量有無窮多種。
二、結語
由于WindowsNT的內存管理器會回收未使用分界面,而內存中頁面只有當被訪問的時候才會被讀取,因此內存掃描的速度大體上取決于內存的大小,一臺計算機的內存越大則內存掃描器的速度就會越快———如果計算機擁有的物理內存非常有限,則頁面錯誤數量將會大很多。每當SCANPROC.EXE對所有運行中的進程掃描時,這些進程的內存會明顯提高。對于病毒的防范也更加規范。
作者:林清風 單位:齊齊哈爾工程學院