當前位置:學問君>學習教育>畢業論文>

計算機病毒防範研究論文

學問君 人氣:2.61W

一、重寫病毒是不能從系統中徹底刪掉的

計算機病毒防範研究論文

只能刪掉被感染的檔案,然後再從備份介質恢復。一般來說,重寫病毒不是非常成功的威脅,因爲病毒造成的威脅明顯太容易被發現了。然而,這種病毒效果如果基於網絡的傳播技術結合起來,可能產生很大的威脅,比如: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對所有執行中的進程掃描時,這些進程的內存會明顯提高。對於病毒的防範也更加規範。