導航:首頁 > 研究方法 > 殺毒軟體研究方法

殺毒軟體研究方法

發布時間:2022-12-07 19:13:51

1. 殺毒軟體的基本殺毒原理是怎麼樣的

怎麼說呢。。。我也玩過幾天黑,對免殺有點接觸。。。。大概給您數下吧。。。。殺毒軟體大概分倆類:一是主動防禦另一種是被動防禦,其原理都是一樣就是各自有各自的特徵碼,當發現與病毒庫內病毒特徵碼相符就判斷為病毒,如下參考下文獻:
殺毒軟體是根據什麼來進行病毒判斷並查殺得呢?

病毒檢測的方法

在與病毒的對抗中,及早發現病毒很重要。早發現,早處置,可以減少損失。檢測病毒方法有:特徵代碼法、校驗和法、行為監測法、軟體模擬法

這些方法依據的原理不同,實現時所需開銷不同,檢測范圍不同,各有所長。

特徵代碼法

特徵代碼法被早期應用於SCAN、CPAV等著名病毒檢測工具中。國外專家認為特徵代碼法是檢測已知病毒的最簡單、開銷最小的方法。

特徵代碼法的實現步驟如下:

採集已知病毒樣本,病毒如果既感染COM文件,又感染EXE文件,對這種病毒要同時採集COM型病毒樣本和EXE型病毒樣本。

在病毒樣本中,抽取特徵代碼。依據如下原則:

抽取的代碼比較特殊,不大可能與普通正常程序代碼吻合。抽取的代碼要有適當長度,一方面維持特徵代碼的唯一性,另一方面又不要有太大的空間與時間的開銷。如果一種病毒的特徵代碼增長一位元組,要檢測3000種病毒,增加的空間就是3000位元組。在保持唯一性的前提下,盡量使特徵代碼長度短些,以減少空間與時間開銷。

在既感染COM文件又感染EXE文件的病毒樣本中,要抽取兩種樣本共有的代碼。將特徵代碼納入病毒資料庫。

打開被檢測文件,在文件中搜索,檢查文件中是否含有病毒資料庫中的病毒特徵代碼。如果發現病毒特徵代碼,由於特徵代碼與病毒一一對應,便可以斷定,被查文件中患有何種病毒。

採用病毒特徵代碼法的檢測工具,面對不斷出現的新病毒,必須不斷更新版本,否則檢測工具便會老化,逐漸失去實用價值。病毒特徵代碼法對從未見過的新病毒,自然無法知道其特徵代碼,因而無法去檢測這些新病毒。

特徵代碼法的優點是:檢測准確快速、可識別病毒的名稱、誤報警率低、依據檢測結果,可做解毒處理。其缺點是:不能檢測未知病毒、搜集已知病毒的特徵代碼,費用開銷大、在網路上效率低(在網路伺服器上,因長時間檢索會使整個網路性能變壞)。

其特點:

A.速度慢。隨著病毒種類的增多,檢索時間變長。如果檢索5000種病毒,必須對5000個病毒特徵代碼逐一檢查。如果病毒種數再增加,檢病毒的時間開銷就變得十分可觀。此類工具檢測的高速性,將變得日益困難。

B.誤報警率低。

非C.不能檢查多形性病毒。特徵代碼法是不可能檢測多態性病毒的。國外專家認為多態性病毒是病毒特徵代碼法的索命者。

D.不能對付隱蔽性病毒。隱蔽性病毒如果先進駐內存,後運行病毒檢測工具,隱蔽性病毒能先於檢測工具,將被查文件中的病毒代碼剝去,檢測工具的確是在檢查一個虛假的「好文件」,而不能報警,被隱蔽性病毒所蒙騙。

校驗和法

將正常文件的內容,計算其校驗和,將該校驗和寫入文件中或寫入別的文件中保存。在文件使用過程中,定期地或每次使用文件前,檢查文件現在內容算出的校驗和與原來保存的校驗和是否一致,因而可以發現文件是否感染,這種方法叫校驗和法,它既可發現已知病毒又可發現未知病毒。在SCAN和CPAV工具的後期版本中除了病毒特徵代碼法之外,還納入校驗和法,以提高其檢測能力。

這種方法既能發現已知病毒,也能發現未知病毒,但是,它不能識別病毒類,不能報出病毒名稱。由於病毒感染並非文件內容改變的唯一的非他性原因,文件內容的改變有可能是正常程序引起的,所以校驗和法常常誤報警。而且此種方法也會影響文件的運行速度。

病毒感染的確會引起文件內容變化,但是校驗和法對文件內容的變化太敏感,又不能區分正常程序引起的變動,而頻繁報警。用監視文件的校驗和來檢測病毒,不是最好的方法。

這種方法遇到下述情況:已有軟體版更新、變更口令、修改運行參數、校驗和法都會誤報警。

校驗和法對隱蔽性病毒無效。隱蔽性病毒進駐內存後,會自動剝去染毒程序中的病毒代碼,使校驗和法受騙,對一個有毒文件算出正常校驗和。

運用校驗和法查病毒採用三種方式:

①在檢測病毒工具中納入校驗和法,對被查的對象文件計算其正常狀態的校驗和,將校驗和值寫入被查文件中或檢測工具中,而後進行比較。

②在應用程序中,放入校驗和法自我檢查功能,將文件正常狀態的校驗和寫入文件本身中,每當應用程序啟動時,比較現行校驗和與原校驗和值。實現應用程序的自檢測。

③將校驗和檢查程序常駐內存,每當應用程序開始運行時,自動比較檢查應用程序內部或別的文件中預先保存的校驗和。

校驗和法的優點是:方法簡單能發現未知病毒、被查文件的細微變化也能發現。其缺點是:發布通行記錄正常態的校驗和、會誤報警、不能識別病毒名稱、不能對付隱蔽型病毒。

行為監測法

利用病毒的特有行為特徵性來監測病毒的方法,稱為行為監測法。通過對病毒多年的觀察、研究,有一些行為是病毒的共同行為,而且比較特殊。在正常程序中,這些行為比較罕見。當程序運行時,監視其行為,如果發現了病毒行為,立即報警。

這些做為監測病毒的行為特徵如下:

A.佔有INT 13H

所有的引導型病毒,都攻擊Boot扇區或主引導扇區。系統啟動時,當Boot扇區或主引導扇區獲得執行權時,系統剛剛開工。一般引導型病毒都會佔用INT 13H功能,因為其他系統功能未設置好,無法利用。引導型病毒占據INT 13H功能,在其中放置病毒所需的代碼。

B.改DOS系統為數據區的內存總量

病毒常駐內存後,為了防止DOS系統將其覆蓋,必須修改系統內存總量。

C.對COM、EXE文件做寫入動作

病毒要感染,必須寫COM、EXE文件。

D.病毒程序與宿主程序的切換

染毒程序運行中,先運行病毒,而後執行宿主程序。在兩者切換時,有許多特徵行為。

行為監測法的長處:可發現未知病毒、可相當准確地預報未知的多數病毒。行為監測法的短處:可能誤報警、不能識別病毒名稱、實現時有一定難度。

軟體模擬法

多態性病毒每次感染都變化其病毒密碼,對付這種病毒,特徵代碼法失效。因為多態性病毒代碼實施密碼化,而且每次所用密鑰不同,把染毒的病毒代碼相互比較,也無法找出相同的可能做為特徵的穩定代碼。雖然行為檢測法可以檢測多態性病毒,但是在檢測出病毒後,因為不知病毒的種類,難於做消毒處理。

計算機病毒的防治策略

計算機病毒的防治要從防毒、查毒、解毒三方面來進行;系統對於計算機病毒的實際防治能力和效果也要從防毒能力、查毒能力和解毒能力三方面來評判。

「防毒」是指根據系統特性,採取相應的系統安全措施預防病毒侵入計算機。「查毒」是指對於確定的環境,能夠准確地報出病毒名稱,該環境包括,內存、文件、引導區(含主導區)、網路等。「解毒」是指根據不同類型病毒對感染對象的修改,並按照病毒的感染特性所進行的恢復。該恢復過程不能破壞未被病毒修改的內容。感染對象包括:內存、引導區(含主引導區)、可執行文件、文檔文件、網路等。

防毒能力是指預防病毒侵入計算機系統的能力。通過採取防毒措施,應可以准確地、實時地監測預警經由光碟、軟盤、硬碟不同目錄之間、區域網、網際網路(包括FTP方式、E-MAIL、HTTP方式)或其它形式的文件下載等多種方式進行的傳輸;能夠在病毒侵入系統是發出警報,記錄攜帶病毒的文件,即時清除其中的病毒;對網路而言,能夠向網路管理員發送關於病毒入侵的信息,記錄病毒入侵的工作站,必要時還要能夠注銷工作站,隔離病毒源。

查毒能力是指發現和追蹤病毒來源的能力。通過查毒應該能准確地發現計算機系統是否感染有病毒,並准確查找出病毒的來源,並能給出統計報告;查解病毒的能力應由查毒率和誤報率來評判。

解毒能力是指從感染對象中清除病毒,恢復被病毒感染前的原始信息的能力;解毒能力應用解毒率來評判。

2. 殺毒軟體的殺毒原理是什麼

現在有很多各種類型的殺毒軟體,從以前收費的,到現在大部分免費的,但是大部分人不了解其內部殺毒原理。下面對殺毒軟體的工作原理作詳細介紹。

一、殺毒軟體原理基礎

一個殺毒軟體的構造的復雜程度要遠遠高於木馬或病毒,所以其原理也比較復雜。而且鑒於現在木馬病毒越來越向系統底層發展,殺毒軟體的編譯技術也在不斷向系統底層靠近。

例如現在的「主動防禦」技術,就是應用RING0層的編譯技巧。這里簡單介紹一下基本構成。

一個殺毒軟體一般由掃描器、病毒庫與虛擬機組成,並由主程序將其結為一體,如圖1

掃描器是殺毒軟體的核心,用於發現病毒,一個殺毒軟體的殺毒效果好壞就直接取決於它的掃描器編譯技術與演算法是否先進,而且殺毒軟體不同的功能往往對應著不同的掃描器,也就是說,大多數殺毒軟體都是由多個掃描器組成的。

而病毒庫存儲的特徵碼形式則取決於掃描器採用哪種掃描技術。它裡面存儲著很多病毒所具有的獨一無二的特徵字元,稱之為「特徵碼」。特徵碼總的分來只有兩個,文件特徵碼與內存特徵碼。文件特徵碼存在於一些未執行的文件里,例如EXE文件、RMVB文件、jpg文件甚至是txt文件中都有可能存在文件特徵碼,也都有可能被查殺。而內存特徵碼僅僅存在於內存中已運行的應用程序。而虛擬機則是最近引進的概念,它可以使病毒在一個由殺毒軟體構建的虛擬環境中執行,與現實的CPU、硬碟等完全隔離,從而可以更加深入的檢測文件的安全性。

簡單的說,殺毒軟體的原理就是匹配特徵碼。

當掃描得到一個文件時,殺毒軟體會檢測這個文件里是否包含病毒庫里所包含的特徵碼,如果有,則報毒病查殺,如果沒有,縱然這個文件確實是一個病毒,它也會把它當作正常文件來看待。

二、基於文件掃描的殺毒技術

基於文件的殺毒技術可以分為「第一代掃描技術」、「第二代掃描技術」與「演算法掃描」這三種方法,對於免殺愛好者來說,要對每一種方法爛熟於心,才能成為高手!但做為一個初學者來說了解一下即可。

這里介紹一下其中兩種種方法,詳細的技術原理如果各位得這有興趣的話可以自行研究。

1、通配符掃描技術

通配符掃描技術屬於是第一代掃描技術的一個分支,對於「通配符」,可以理解為具有一定意義的符號,例如DOS命令里的*號就是任意長度的任意字元的意思,而且通配符在不同的領域也里可以代表不同的意思。

現在殺毒軟體中簡單的掃描器常常支持通配符,因為鑒於字元串掃描技術的執行速度與特徵碼長度限制等問題,使得其逐漸退出歷史舞台,取而代之的是通配符掃描技術,通配符掃描技術以同樣簡單的原理與技術卻實現了更為強大的功能。

掃描器中的通配符一般用於跳過某些位元組或位元組范圍,以至於現在有些掃描器還支持正則表達式!

下面通過一個例子來講解通配符掃描技術的原理。

例如病毒庫中有這樣一段特徵碼:0400
B801 020E 07BB ??02 %3 33C9 8BD1
419C上面的特徵碼可以解釋為:

1、嘗試匹配04,如果找到則繼續,否則跳出。

2、嘗試上一匹配目標後匹配00,如果找到則繼續,否則跳出。

3、嘗試上一匹配目標後匹配B8,如果找到則繼續,否則跳出。

4、嘗試上一匹配目標後匹配01,如果找到則繼續,否則跳出。

5、嘗試上一匹配目標後匹配02,如果找到則繼續,否則跳出。

6、嘗試上一匹配目標後匹配0E,如果找到則繼續,否則跳出。

7、嘗試上一匹配目標後匹配07,如果找到則繼續,否則跳出。

8、嘗試上一匹配目標後匹配BB,如果找到則繼續,否則跳出。

9、忽略此位元組。

10、嘗試上一匹配目標後匹配02,如果找到則繼續,否則跳出。

11、在接下來的3個位置(位元組)中嘗試匹配33,如果找到則繼續,否則跳出。

12、嘗試上一匹配目標後匹配C9,如果找到則繼續,否則跳出。

13、嘗試上一匹配目標後匹配8B,如果找到則繼續,否則跳出。

14、嘗試上一匹配目標後匹配D1,如果找到則繼續,否則跳出。

15、嘗試上一匹配目標後匹配41,如果找到則繼續,否則跳出。

16、嘗試上一匹配目標後匹配9C,如果找到則繼續,否則跳出。

這種掃描技術通常支持半位元組匹配,這樣可以更精確地匹配特徵碼,一些早期的加密病毒用這種方法都比較容易檢測出來。

其實現在的一些特徵碼仍然在使用類似此種方法的特徵碼表達技術,因此掌握這些知識會對以後的免殺有所幫助,同樣可以使在定位特徵碼時更加了解自己正在做什麼,以及做的是否正確等等,這非常重要。

2、智能掃描

智能掃描屬於第二代掃描技術的一個分支,這種方法是在一種病毒變異工具包出現之後提出的。智能掃描法會忽略檢測文件中象NOP這樣的無意義指令。而對於文本格式的腳本病毒或宏病毒,則可以替換掉多餘的例如空格、換行符或製表符等空白字元,這一切替換動作在掃描緩沖區就會執行,從而大大提高了掃描器的檢測能力。

3、近似精確識別法

近似精確識別法同樣是屬於第二代掃描技術的一個分支,但是相比起來應用的更為廣泛,這種掃描技術包含了兩種方式與若干種方法,在這里不可能一一介紹,下面將主要介紹兩種方法的代表。

方法一:多套特徵碼

該方法採用兩個或更多個字元串集來檢測每個病毒,如果掃描器檢測到其中一個特徵符合,那麼就會警告發現變種,但並不會執行下一步操作(例如清除病毒體或刪除文件)。如果多個特徵碼全部符合,則報警發現病毒,並執行下一步操作。

方法二:效驗和

對於校驗和,也許有些朋友會想到文件校驗和比對的方法,這個方法的思路是將每一個無毒的文件生成一個校驗和,等待下次掃描時在進行簡單的校驗和比對即可,如果校驗和有所變化,在進行進一步的掃描,這樣有利於提升掃描器的效率,但是嚴格地說,這並不算是掃描技術。

效驗和掃描技術利用的最為到位的就是比較出名的KAV(卡巴斯基)了,它的第二代掃描器就採用了密碼效驗和技術,並且沒有使用任何搜索字元串技術。關於效驗和是一個復雜的概念,簡單的說就是通過對病毒中的某一段代碼的計算,從而得出一個值(例如123XY4),與MD5加密有些相似,當然這樣說不完全正確。

但KAV採用的是一種由卡巴斯基發明的一種叫做密碼效驗和的特殊演算法,這種演算法通常會產生兩個值。而且病毒庫的查詢採用了特徵碼分類思想,例如掃描EXE文件時只調用與EXE文件有關的病毒庫,而根據EXE文件的位置不同(例如文件頭、入口點)又分為不同的子庫,這樣有利於提高掃描速度。

三、由此得出的一些經驗

首先應該明白第一個例子介紹的通配符「0400 B801 020E 07BB ??02 %3 33C9 8BD1
419C」代表的肯定不是一個位元組。

也就是說,殺毒軟體廠商定位的特徵一般都是數十位元組,所以定位特徵碼時就要避免定位過於精確,一般保證在10位元組以內就足夠了!因為如果特徵碼定位的過於精確,會為以後的修改操作帶來很大不必要的麻煩。可以簡單的想一下,是修改一個位元組的方法多,還是修改10位元組的方法多?

而由智能掃描也可以得出一個結論,就是不要將殺毒軟體想的太傻,例如屬於智能掃描的一個分支——啟發式掃描,它會將一些異常改動計算到可能性的「權值」里,如果一個文件的可疑改動過多,就會導致報毒,這樣之前所做的一些工作就起到了相反的作用,是典型的畫蛇添足。

所以,修改木馬文件時也要掌握一個度的問題,不要修改的過多,但還要保證自己的木馬免殺時間夠長,這就要明白那些更改會被歸為可疑修改,而那些則不會。

3. 殺毒軟體的工作原理是什麼

殺毒軟體的工作原理
一、殺毒軟體原理基礎
一個殺毒軟體的構造的復雜程度要遠遠高於木馬或病毒,所以其原理也比較復雜。而且鑒於現在木馬病毒越來越向系統底層發展,殺毒軟體的編譯技術也在不斷向系統底層靠近。例如現在的「主動防禦」技術,就是應用RING0層的編譯技巧。這里我簡單為大家介紹一下基本構成。
一個殺毒軟體一般由掃描器、病毒庫與虛擬機組成,並由主程序將他們結為一體,如圖1。

掃描器是殺毒軟體的核心,用於發現病毒,一個殺毒軟體的殺毒效果好壞就直接取決於它的掃描器編譯技術與演算法是否先進,而且殺毒軟體不同的功能往往對應著不同的掃描器,也就是說,大多數殺毒軟體都是由多個掃描器組成的。而病毒庫存儲的特徵碼形式則取決於掃描器採用哪種掃描技術。它裡面存儲著很多病毒所具有的獨一無二的特徵字元,我們稱之為「特徵碼」。特徵碼總的分來只有兩個,文件特徵碼與內存特徵碼。文件特徵碼存在於一些未執行的文件里,例如EXE文件、RMVB文件、jpg文件甚至是txt文件中都有可能存在文件特徵碼,也都有可能被查殺。而內存特徵碼僅僅存在於內存中已運行的應用程序。而虛擬機則是最近引進的概念,它可以使病毒在一個由殺毒軟體構建的虛擬環境中執行,與現實的CPU、硬碟等完全隔離,從而可以更加深入的檢測文件的安全性。
簡單的說,殺毒軟體的原理就是匹配特徵碼。當掃描得到一個文件時,殺毒軟體會檢測這個文件里是否包含病毒庫里所包含的特徵碼,如果有,則報毒病查殺,如果沒有,縱然這個文件確實是一個病毒,它也會把它當作正常文件來看待。

二、基於文件掃描的殺毒技術
基於文件的殺毒技術可以分為「第一代掃描技術」、「第二代掃描技術」與「演算法掃描」這三種方法,對於免殺愛好者來說,要對每一種方法爛熟於心,才能成為高手!但做為一個初學者來說了解一下即可。這里我們就簡單介紹一下其中兩種種方法,詳細的技術原理如果各位得這有興趣的話可以自己研究。
1、通配符掃描技術
通配符掃描技術屬於是第一代掃描技術的一個分支,對於「通配符」,可以理解為具有一定意義的符號,例如DOS命令里的*號就是任意長度的任意字元的意思,而且通配符在不同的領域也里可以代表不同的意思。
現在殺毒軟體中簡單的掃描器常常支持通配符,因為鑒於字元串掃描技術的執行速度與特徵碼長度限制等問題,使得其逐漸退出歷史舞台,取而代之的是通配符掃描技術,通配符掃描技術以同樣簡單的原理與技術卻實現了更為強大的功能。
掃描器中的通配符一般用於跳過某些位元組或位元組范圍,以至於現在有些掃描器還支持正則表達式!
下面我們通過一個例子來講解通配符掃描技術的原理。
例如我們的病毒庫中有這樣一段特徵碼:
0400 B801 020E 07BB ??02 %3 33C9 8BD1 419C
上面的特徵碼可以解釋為:
1、嘗試匹配04,如果找到則繼續,否則跳出。
2、嘗試上一匹配目標後匹配00,如果找到則繼續,否則跳出。
3、嘗試上一匹配目標後匹配B8,如果找到則繼續,否則跳出。
4、嘗試上一匹配目標後匹配01,如果找到則繼續,否則跳出。
5、嘗試上一匹配目標後匹配02,如果找到則繼續,否則跳出。
6、嘗試上一匹配目標後匹配0E,如果找到則繼續,否則跳出。
7、嘗試上一匹配目標後匹配07,如果找到則繼續,否則跳出。
8、嘗試上一匹配目標後匹配BB,如果找到則繼續,否則跳出。
9、忽略此位元組。
10、嘗試上一匹配目標後匹配02,如果找到則繼續,否則跳出。
11、在接下來的3個位置(位元組)中嘗試匹配33,如果找到則繼續,否則跳出。
12、嘗試上一匹配目標後匹配C9,如果找到則繼續,否則跳出。
13、嘗試上一匹配目標後匹配8B,如果找到則繼續,否則跳出。
14、嘗試上一匹配目標後匹配D1,如果找到則繼續,否則跳出。
15、嘗試上一匹配目標後匹配41,如果找到則繼續,否則跳出。
16、嘗試上一匹配目標後匹配9C,如果找到則繼續,否則跳出。
這種掃描技術通常支持半位元組匹配,這樣可以更精確地匹配特徵碼,一些早期的加密病毒用這種方法都比較容易檢測出來。
其實現在的一些特徵碼仍然在使用類似此種方法的特徵碼表達技術,因此掌握這些知識會對我們以後的免殺有所幫助,同樣可以使我們在定位特徵碼時更加了解自己正在做什麼,以及做的是否正確等等,這對於我們來說非常重要。
2、智能掃描
智能掃描屬於第二代掃描技術的一個分支,這種方法是在一種病毒變異工具包出現之後提出的。智能掃描法會忽略檢測文件中象NOP這樣的無意義指令。而對於文本格式的腳本病毒或宏病毒,則可以替換掉多餘的例如空格、換行符或製表符等空白字元,這一切替換動作在掃描緩沖區就會執行,從而大大提高了掃描器的檢測能力。
3、近似精確識別法
近似精確識別法同樣是屬於第二代掃描技術的一個分支,但是相比起來應用的更為廣泛,這種掃描技術包含了兩種方式與若干種方法,在這里不可能一一介紹,下面將主要介紹兩種方法的代表。
方法一:多套特徵碼
該方法採用兩個或更多個字元串集來檢測每個病毒,如果掃描器檢測到其中一個特徵符合,那麼就會警告發現變種,但並不會執行下一步操作(例如清除病毒體或刪除文件)。如果多個特徵碼全部符合,則報警發現病毒,並執行下一步操作。
方法二:效驗和
對於校驗和,也許有些朋友會想到文件校驗和比對的方法,這個方法的思路是將每一個無毒的文件生成一個校驗和,等待下次掃描時在進行簡單的校驗和比對即可,如果校驗和有所變化,在進行進一步的掃描,這樣有利於提升掃描器的效率,但是嚴格地說,這並不算是掃描技術。
效驗和掃描技術利用的最為到位的就是比較出名的KAV(卡巴斯基)了,它的第二代掃描器就採用了密碼效驗和技術,並且沒有使用任何搜索字元串技術。關於效驗和是一個復雜的概念,簡單的說就是通過對病毒中的某一段代碼的計算,從而得出一個值(例如123XY4),與MD5加密有些相似,當然這樣說不完全正確。
但KAV採用的是一種由卡巴斯基發明的一種叫做密碼效驗和的特殊演算法,這種演算法通常會產生兩個值。而且病毒庫的查詢採用了特徵碼分類思想,例如掃描EXE文件時只調用與EXE文件有關的病毒庫,而根據EXE文件的位置不同(例如文件頭、入口點)又分為不同的子庫,這樣有利於提高掃描速度。

三、由此得出的一些經驗
首先我們應該明白第一個例子介紹的通配符「0400 B801 020E 07BB ??02 %3 33C9 8BD1 419C」代表的肯定不是一個位元組。也就是說,殺毒軟體廠商定位的特徵一般都是數十位元組,所以我們定位特徵碼時就要避免定位過於精確,一般保證在10位元組以內就足夠了!因為如果特徵碼定位的過於精確,會為我們以後的修改操作帶來很大不必要的麻煩。我們可以簡單的想一下,是修改一個位元組的方法多,還是修改10位元組的方法多?
而由智能掃描我們也可以得出一個結論,就是不要將殺毒軟體想的太傻,例如屬於智能掃描的一個分支——啟發式掃描,它會將一些異常改動計算到可能性的「權值」里,如果一個文件的可疑改動過多,就會導致報毒,這樣我們所做的一些工作就起到了相反的作用,是典型的畫蛇添足。所以,修改木馬文件時也要掌握一個度的問題,不要修改的過多,但還要保證自己的木馬免殺時間夠長,這就要明白那些更改會被歸為可疑修改,而那些則不會。但是掌握這些是需要一定的PE文件結構基礎知識的,對於PE文件,我會在下篇文章詳細介紹。
而最後的就是卡巴斯基的密碼校驗和掃描技術了,恐怕這在業內也是第一次提出來,各位看官有福了!
對於密碼校驗和的更深層次的知識,這里我們不再細談,我們只談他對免殺帶來什麼樣的影響。首先,特殊的掃描方法必然會導致特殊的特徵碼,所以密碼校驗和的真正特徵碼通常體積都比較大,通過腳本木馬的一些實驗,卡巴斯基7.0對字母的大小寫不是很敏感,此外對文件代碼的變動也不是很敏感。也就是說,只要包含特徵碼的這行代碼在卡巴斯基的校驗和取樣范圍之內,那麼它就會報毒,而如果你將其移出這個范圍,那麼肯定會導致文件不能正常運行,唯一的辦法就是更改代碼結構。
如果大家注意總結與思考,會發現一些免殺方面的模糊概念完全可以用本文介紹的知識解釋通,例如什麼「隱含特徵碼」等等。

殺毒軟體是根據什麼來進行病毒判斷並查殺得呢?

病毒檢測的方法

在與病毒的對抗中,及早發現病毒很重要。早發現,早處置,可以減少損失。檢測病毒方法有:特徵代碼法、校驗和法、行為監測法、軟體模擬法

這些方法依據的原理不同,實現時所需開銷不同,檢測范圍不同,各有所長。

特徵代碼法

特徵代碼法被早期應用於SCAN、CPAV等著名病毒檢測工具中。國外專家認為特徵代碼法是檢測已知病毒的最簡單、開銷最小的方法。

特徵代碼法的實現步驟如下:

採集已知病毒樣本,病毒如果既感染COM文件,又感染EXE文件,對這種病毒要同時採集COM型病毒樣本和EXE型病毒樣本。

在病毒樣本中,抽取特徵代碼。依據如下原則:

抽取的代碼比較特殊,不大可能與普通正常程序代碼吻合。抽取的代碼要有適當長度,一方面維持特徵代碼的唯一性,另一方面又不要有太大的空間與時間的開銷。如果一種病毒的特徵代碼增長一位元組,要檢測3000種病毒,增加的空間就是3000位元組。在保持唯一性的前提下,盡量使特徵代碼長度短些,以減少空間與時間開銷。

在既感染COM文件又感染EXE文件的病毒樣本中,要抽取兩種樣本共有的代碼。將特徵代碼納入病毒資料庫。

打開被檢測文件,在文件中搜索,檢查文件中是否含有病毒資料庫中的病毒特徵代碼。如果發現病毒特徵代碼,由於特徵代碼與病毒一一對應,便可以斷定,被查文件中患有何種病毒。

採用病毒特徵代碼法的檢測工具,面對不斷出現的新病毒,必須不斷更新版本,否則檢測工具便會老化,逐漸失去實用價值。病毒特徵代碼法對從未見過的新病毒,自然無法知道其特徵代碼,因而無法去檢測這些新病毒。

特徵代碼法的優點是:檢測准確快速、可識別病毒的名稱、誤報警率低、依據檢測結果,可做解毒處理。其缺點是:不能檢測未知病毒、搜集已知病毒的特徵代碼,費用開銷大、在網路上效率低(在網路伺服器上,因長時間檢索會使整個網路性能變壞)。

其特點:

A.速度慢。隨著病毒種類的增多,檢索時間變長。如果檢索5000種病毒,必須對5000個病毒特徵代碼逐一檢查。如果病毒種數再增加,檢病毒的時間開銷就變得十分可觀。此類工具檢測的高速性,將變得日益困難。

B.誤報警率低。

非C.不能檢查多形性病毒。特徵代碼法是不可能檢測多態性病毒的。國外專家認為多態性病毒是病毒特徵代碼法的索命者。

D.不能對付隱蔽性病毒。隱蔽性病毒如果先進駐內存,後運行病毒檢測工具,隱蔽性病毒能先於檢測工具,將被查文件中的病毒代碼剝去,檢測工具的確是在檢查一個虛假的「好文件」,而不能報警,被隱蔽性病毒所蒙騙。

校驗和法

將正常文件的內容,計算其校驗和,將該校驗和寫入文件中或寫入別的文件中保存。在文件使用過程中,定期地或每次使用文件前,檢查文件現在內容算出的校驗和與原來保存的校驗和是否一致,因而可以發現文件是否感染,這種方法叫校驗和法,它既可發現已知病毒又可發現未知病毒。在SCAN和CPAV工具的後期版本中除了病毒特徵代碼法之外,還納入校驗和法,以提高其檢測能力。

這種方法既能發現已知病毒,也能發現未知病毒,但是,它不能識別病毒類,不能報出病毒名稱。由於病毒感染並非文件內容改變的唯一的非他性原因,文件內容的改變有可能是正常程序引起的,所以校驗和法常常誤報警。而且此種方法也會影響文件的運行速度。

病毒感染的確會引起文件內容變化,但是校驗和法對文件內容的變化太敏感,又不能區分正常程序引起的變動,而頻繁報警。用監視文件的校驗和來檢測病毒,不是最好的方法。

這種方法遇到下述情況:已有軟體版更新、變更口令、修改運行參數、校驗和法都會誤報警。

校驗和法對隱蔽性病毒無效。隱蔽性病毒進駐內存後,會自動剝去染毒程序中的病毒代碼,使校驗和法受騙,對一個有毒文件算出正常校驗和。

運用校驗和法查病毒採用三種方式:

①在檢測病毒工具中納入校驗和法,對被查的對象文件計算其正常狀態的校驗和,將校驗和值寫入被查文件中或檢測工具中,而後進行比較。

②在應用程序中,放入校驗和法自我檢查功能,將文件正常狀態的校驗和寫入文件本身中,每當應用程序啟動時,比較現行校驗和與原校驗和值。實現應用程序的自檢測。

③將校驗和檢查程序常駐內存,每當應用程序開始運行時,自動比較檢查應用程序內部或別的文件中預先保存的校驗和。

校驗和法的優點是:方法簡單能發現未知病毒、被查文件的細微變化也能發現。其缺點是:發布通行記錄正常態的校驗和、會誤報警、不能識別病毒名稱、不能對付隱蔽型病毒。

行為監測法

利用病毒的特有行為特徵性來監測病毒的方法,稱為行為監測法。通過對病毒多年的觀察、研究,有一些行為是病毒的共同行為,而且比較特殊。在正常程序中,這些行為比較罕見。當程序運行時,監視其行為,如果發現了病毒行為,立即報警。

這些做為監測病毒的行為特徵如下:

A.佔有INT 13H

所有的引導型病毒,都攻擊Boot扇區或主引導扇區。系統啟動時,當Boot扇區或主引導扇區獲得執行權時,系統剛剛開工。一般引導型病毒都會佔用INT 13H功能,因為其他系統功能未設置好,無法利用。引導型病毒占據INT 13H功能,在其中放置病毒所需的代碼。

B.改DOS系統為數據區的內存總量

病毒常駐內存後,為了防止DOS系統將其覆蓋,必須修改系統內存總量。

C.對COM、EXE文件做寫入動作

病毒要感染,必須寫COM、EXE文件。

D.病毒程序與宿主程序的切換

染毒程序運行中,先運行病毒,而後執行宿主程序。在兩者切換時,有許多特徵行為。

行為監測法的長處:可發現未知病毒、可相當准確地預報未知的多數病毒。行為監測法的短處:可能誤報警、不能識別病毒名稱、實現時有一定難度。

軟體模擬法

多態性病毒每次感染都變化其病毒密碼,對付這種病毒,特徵代碼法失效。因為多態性病毒代碼實施密碼化,而且每次所用密鑰不同,把染毒的病毒代碼相互比較,也無法找出相同的可能做為特徵的穩定代碼。雖然行為檢測法可以檢測多態性病毒,但是在檢測出病毒後,因為不知病毒的種類,難於做消毒處理。

計算機病毒的防治策略

計算機病毒的防治要從防毒、查毒、解毒三方面來進行;系統對於計算機病毒的實際防治能力和效果也要從防毒能力、查毒能力和解毒能力三方面來評判。

「防毒」是指根據系統特性,採取相應的系統安全措施預防病毒侵入計算機。「查毒」是指對於確定的環境,能夠准確地報出病毒名稱,該環境包括,內存、文件、引導區(含主導區)、網路等。「解毒」是指根據不同類型病毒對感染對象的修改,並按照病毒的感染特性所進行的恢復。該恢復過程不能破壞未被病毒修改的內容。感染對象包括:內存、引導區(含主引導區)、可執行文件、文檔文件、網路等。

防毒能力是指預防病毒侵入計算機系統的能力。通過採取防毒措施,應可以准確地、實時地監測預警經由光碟、軟盤、硬碟不同目錄之間、區域網、網際網路(包括FTP方式、E-MAIL、HTTP方式)或其它形式的文件下載等多種方式進行的傳輸;能夠在病毒侵入系統是發出警報,記錄攜帶病毒的文件,即時清除其中的病毒;對網路而言,能夠向網路管理員發送關於病毒入侵的信息,記錄病毒入侵的工作站,必要時還要能夠注銷工作站,隔離病毒源。

查毒能力是指發現和追蹤病毒來源的能力。通過查毒應該能准確地發現計算機系統是否感染有病毒,並准確查找出病毒的來源,並能給出統計報告;查解病毒的能力應由查毒率和誤報率來評判。

解毒能力是指從感染對象中清除病毒,恢復被病毒感染前的原始信息的能力;解毒能力應用解毒率來評判。

4. 殺毒軟體,是通過什麼原理查殺病毒的

病毒是一段程序,不同種類的病毒,它們的代碼千差萬別,任何人都不可能預測明天將會出現什麼新病毒。但有一點可以肯定,只要出現了一項新的計算機技術,充分利用這項新技術編制的新病毒就一定離我們不遠了。而由於軟體種類極其豐富,且某些正常程序也使用了類似病毒的操作甚至借鑒了某些病毒的技術。所以,雖然有些人利用病毒某些共有的操作(如駐內存,改中斷)這種共性,製作了聲稱可查所有病毒的程序,但這種方法對病毒進行檢測勢必會造成較多的誤報情況,不夠可靠,目前都只能作為輔助的手段配合使用,無法獨立推廣。

實際上,計算機病毒學鼻祖早在80年代初期就已經提出了計算機病毒的模型,證明只要延用現行的計算機體系,計算機病毒就存在「不可判定性」。殺病毒必須先搜集到病毒樣本,使其成為已知病毒,然後剖析病毒,再將病毒傳染的過程准確地顛倒過來,使被感染的計算機恢復原狀。因此可以看出,一方面計算機病毒是不可滅絕的,另一方面病毒也並不可怕,世界上沒有殺不掉的病毒。

常用的反病毒軟體技術

特徵碼技術:基於對已知病毒分析、查解的反病毒技術

目前的大多數殺病毒軟體採用的方法主要是特徵碼查毒方案與人工解毒並行,亦即在查病毒時採用特徵碼查毒,在殺病毒時採用人工編制解毒代碼。

特徵碼查毒方案實際上是人工查毒經驗的簡單表述,它再現了人工辨識病毒的一般方法,採用了「同一病毒或同類病毒的某一部分代碼相同」的原理,也就是說,如果病毒及其變種、變形病毒具有同一性,則可以對這種同一性進行描述,並通過對程序體與描述結果(亦即「特徵碼」)進行比較來查找病毒。而並非所有病毒都可以描述其特徵碼,很多病毒都是難以描述甚至無法用特徵碼進行描述。使用特徵碼技術需要實現一些補充功能,例如近來的壓縮包、壓縮可執行文件自動查殺技術。

但是,特徵碼查毒方案也具有極大的局限性。特徵碼的描述取決於人的主觀因素,從長達數千位元組的病毒體中擷取十餘位元組的病毒特徵碼,需要對病毒進行跟蹤、反匯編以及其它分析,如果病毒本身具有反跟蹤技術和變形、解碼技術,那麼跟蹤和反匯編以獲取特徵碼的情況將變得極其復雜。此外,要擷取一個病毒的特徵碼,必然要獲取該病毒的樣本,再由於對特徵碼的描述各個不同,特徵碼方法在國際上很難得到廣域性支持。特徵碼查病毒主要的技術缺陷表現在較大的誤查和誤報上,而殺病毒技術又導致了反病毒軟體的技術遲滯。

虛擬機技術:啟發式探測未知病毒的反病毒技術

虛擬機技術的主要作用是能夠運行一定規則的描述語言。由於病毒的最終判定準則是其復制傳染性,而這個標準是不易被使用和實現的,如果病毒已經傳染了才判定是它是病毒,定會給病毒的清除帶來麻煩。

那麼檢查病毒用什麼方法呢?客觀地說,在各類病毒檢查方法中,特徵值方法是適用范圍最寬、速度最快、最簡單、最有效的方法。但由於其本身的缺陷問題,它只適用於已知病毒,對於未知病毒,如果能夠讓病毒在控制下先運行一段時間,讓其自己還原,那麼,問題就會相對明了。可以說,虛擬機是這種情況下的最佳選擇。

虛擬機在反病毒軟體中應用范圍廣,並成為目前反病毒軟體的一個趨勢。一個比較完整的虛擬機,不僅能夠識別新的未知病毒,而且能夠清除未知病毒,我們會發現這個反病毒工具不再是一個程序,而成為可以和卡斯帕羅夫抗衡的ibm深藍超級計算機。首先,虛擬機必須提供足夠的虛擬,以完成或將近完成病毒的「虛擬傳染」;其次,盡管根據病毒定義而確立的「傳染」標準是明確的,但是,這個標准假如能夠實施,它在判定病毒的標准上仍然會有問題;第三,假如上一步能夠通過,那麼,我們必須檢測並確認所謂「感染」的文件確實感染的就是這個病毒或其變形。

目前虛擬機的處理對象主要是文件型病毒。對於引導型病毒、word/excel宏病毒、木馬程序在理論上都是可以通過虛擬機來處理的,但目前的實現水平仍相距甚遠。就像病毒編碼變形使得傳統特徵值方法失效一樣,針對虛擬機的新病毒可以輕易使得虛擬機失效。雖然虛擬機也會在實踐中不斷得到發展。但是,pc的計算能力有限,反病毒軟體的製造成本也有限,而病毒的發展可以說是無限的。讓虛擬技術獲得更加實際的功效,甚至要以此為基礎來清除未知病毒,其難度相當大。

受病毒在理論上就是不可判定的這一根本前提的制約,事實上,無論是啟發式,亦或是虛擬機,都只能是一種工程學的努力,其成功的概率永遠不可達到100%。這是惟一的卻又是無可奈何的缺憾。

5. 殺毒軟體是怎麼識別病毒的,它的原理是什麼

常用的反病毒軟體技術

特徵碼技術:基於對已知病毒分析、查解的反病毒技術

目前的大多數殺病毒軟體採用的方法主要是特徵碼查毒方案與人工解毒並行,亦即在查病毒時採用特徵碼查毒,在殺病毒時採用人工編制解毒代碼。

特徵碼查毒方案實際上是人工查毒經驗的簡單表述,它再現了人工辨識病毒的一般方法,採用了「同一病毒或同類病毒的某一部分代碼相同」的原理,也就是說,如果病毒及其變種、變形病毒具有同一性,則可以對這種同一性進行描述,並通過對程序體與描述結果(亦即「特徵碼」)進行比較來查找病毒。而並非所有病毒都可以描述其特徵碼,很多病毒都是難以描述甚至無法用特徵碼進行描述。使用特徵碼技術需要實現一些補充功能,例如近來的壓縮包、壓縮可執行文件自動查殺技術。

但是,特徵碼查毒方案也具有極大的局限性。特徵碼的描述取決於人的主觀因素,從長達數千位元組的病毒體中擷取十餘位元組的病毒特徵碼,需要對病毒進行跟蹤、反匯編以及其它分析,如果病毒本身具有反跟蹤技術和變形、解碼技術,那麼跟蹤和反匯編以獲取特徵碼的情況將變得極其復雜。此外,要擷取一個病毒的特徵碼,必然要獲取該病毒的樣本,再由於對特徵碼的描述各個不同,特徵碼方法在國際上很難得到廣域性支持。特徵碼查病毒主要的技術缺陷表現在較大的誤查和誤報上,而殺病毒技術又導致了反病毒軟體的技術遲滯。

虛擬機技術:啟發式探測未知病毒的反病毒技術

虛擬機技術的主要作用是能夠運行一定規則的描述語言。由於病毒的最終判定準則是其復制傳染性,而這個標準是不易被使用和實現的,如果病毒已經傳染了才判定是它是病毒,定會給病毒的清除帶來麻煩。

那麼檢查病毒用什麼方法呢?客觀地說,在各類病毒檢查方法中,特徵值方法是適用范圍最寬、速度最快、最簡單、最有效的方法。但由於其本身的缺陷問題,它只適用於已知病毒,對於未知病毒,如果能夠讓病毒在控制下先運行一段時間,讓其自己還原,那麼,問題就會相對明了。可以說,虛擬機是這種情況下的最佳選擇。

虛擬機在反病毒軟體中應用范圍廣,並成為目前反病毒軟體的一個趨勢。一個比較完整的虛擬機,不僅能夠識別新的未知病毒,而且能夠清除未知病毒,我們會發現這個反病毒工具不再是一個程序,而成為可以和卡斯帕羅夫抗衡的ibm深藍超級計算機。首先,虛擬機必須提供足夠的虛擬,以完成或將近完成病毒的「虛擬傳染」;其次,盡管根據病毒定義而確立的「傳染」標準是明確的,但是,這個標准假如能夠實施,它在判定病毒的標准上仍然會有問題;第三,假如上一步能夠通過,那麼,我們必須檢測並確認所謂「感染」的文件確實感染的就是這個病毒或其變形。

目前虛擬機的處理對象主要是文件型病毒。對於引導型病毒、word/excel宏病毒、木馬程序在理論上都是可以通過虛擬機來處理的,但目前的實現水平仍相距甚遠。就像病毒編碼變形使得傳統特徵值方法失效一樣,針對虛擬機的新病毒可以輕易使得虛擬機失效。雖然虛擬機也會在實踐中不斷得到發展。但是,pc的計算能力有限,反病毒軟體的製造成本也有限,而病毒的發展可以說是無限的。讓虛擬技術獲得更加實際的功效,甚至要以此為基礎來清除未知病毒,其難度相當大。

受病毒在理論上就是不可判定的這一根本前提的制約,事實上,無論是啟發式,亦或是虛擬機,都只能是一種工程學的努力,其成功的概率永遠不可達到100%。這是惟一的卻又是無可奈何的缺憾。

未來的反病毒技術:

虛擬現實

對於未來技術的展望可能只是一種近乎飄渺的幻想,但是就如同計算機病毒最初的描述出現在科幻小說里,雖然還有許許多多我們目前仍在實現卻仍未實現的技術,甚至還有許多我們根本未考慮到的因素。只要技術足夠成熟,網路世界中是完全有可能出現類似人工智慧的反病毒技術。

未來反病毒的疑難之一就是:我們永遠無法寫出一個合理的程序來辨識和查殺病毒。病毒掌握了人類所掌握的一切,它同樣能辨識和分析反毒程序,並對自身重新編程;而反毒程序要可能同樣地對病毒進行探測,再進行自編程。病毒與反毒程序的角逐就變成了自編程能力的實現,而這樣的結果只能導致網路空間緊張,甚至崩潰!

我們還可以考慮用另一種方式:人工進入計算網路世界的方法來查殺病毒。人有足夠的智能和經驗積累來完成對病毒的辨識和殺除,而這就只剩下建立人與計算機之間的「橋」的問題了。

目前的虛擬現實技術重點放在了對人與人的自然界交流方式———「感官」的計算機描述的實現上,它如同人們所有的知覺都最終感測給大腦,大腦對這種感測作出一種體驗上的描述,從而形成知覺意識。如果計算機將二進制代碼流表述成腦電波的流信息,並通過神經感測給大腦,則完全可以描述並引導、控制人的一切思維。簡單地說,人的思維與計算機語言存在了這樣一個通用的介面!

這種理論如果得以實現,則虛擬現實技術將進入新的發展領域。雖然從理論上講是不可能在對病毒未知的情況下對其做出精確判斷從而預防,但是在實際應用中,經過反病毒專家多年的統計、分析、研究積累的經驗,完全有可能以概率方式對病毒危險進行一種分級制測定並對其使用反病毒程序,在相當程度上達到較精確地防禦未知病毒的侵入。

第三代反病毒產品:

防殺兼備、萬能恢復

從技術的數學模型上來說,過去、現在、將來的反病毒軟體都不可能有任何理論上的超越,即無法跨越不可判定性的鴻溝,特徵碼也好,啟發式虛擬機也好,或者兼而有之,相互配合,暫時不會有新的突破。那麼,具體到反病毒技術的產品,也基本上離不開這些模式。當然,即使是從工程學的角度上來說,在相同的技術起點上如何構築出實現方式和最終效果完全不同的實用產品,仍然是一個永無止境的追求。

從手工查殺病毒,到早期散兵游勇式的查殺病毒,到與internet的技術接軌,直至今天擔負起防殺兼備、萬能恢復的第三代反病毒軟體,反病毒技術在與病毒的斗爭中不斷進步,不斷誕生各種為計算機用戶解憂去患的反病毒產品。從早期的防病毒卡、手動查殺的dos版軟體(即第一代,代表產品有:kill、kv100、kv200、kv300、瑞星、早期vrv、早期avxx。),到在線監控實時查殺的病毒防火牆(即第二代,代表產品為vrv殺毒套裝、killxx版、kv3000預覽版),我們已經發現要免除病毒的災難,僅有殺毒是不夠的。

安全專家認為,真正的安全僅有殺毒是不夠的,因為在電腦世界中,永遠有捉摸不定的東西遊離在身邊。除去泛濫的病毒,系統的漏洞、硬體或軟體的沖突、人為的誤操作、利用bo特洛伊木馬惡意進攻、電腦本身的不穩定性、黑客襲擊等形形色色的安全威脅不勝枚舉。所以,一個好的安全軟體,僅僅能殺毒是不夠的,必須把備份與災難恢復相結合起來。

面對呼嘯而來益發凶惡的未來病毒,僅有殺毒是不夠的。用戶對於病毒的恐懼,並不是來自它的能夠自我復制,盡管這才是病毒之所以成為病毒的根本,擔心害怕的是病毒侵入並且發作,結果造成的大大小小的無可挽回的損失。這種客觀的迫切的需要,成為新形勢對反病毒技術和產品提出的最高要求。於是,第三代反病毒軟體必須要做到突破單一殺毒的局限性,針對用戶經常面臨急需數據搶修、系統恢復等難題,不僅可以殺滅入侵病毒、擊潰來犯黑客、消滅有害數據,還有智能災難恢復、全息數據救援、維護系統正常運行的全面保障信息安全的功能,其代表產品是北京北信源公司研發的一種全方位、多功能、高可靠的安全軟體「殺毒專家」。

我們期望有一種針對惡性病毒發作時可能實施的破壞行為的截獲、阻止裝置,軟體的亦或是硬體的,對所有帶有危險級別的、可能影響系統運行和信息資料安全的操作加以禁止,就像過濾文件中的病毒特徵碼一樣,對一個將要執行的操作進行安全性判斷。就像今天在多任務環境下實時殺毒的防火牆重新煥發了青春一樣,我們不難預料,這種在線式的以危險行為監控為特徵的反病毒技術和產品也一定會出現,配合以前的第一代、第二代、第三代反病毒技術,實現更高意義上的更加可靠的信息安全。

6. 殺毒軟體的殺毒原理

一個殺毒軟體無異於一個信息分析的系統,當它發現某些信息被感染後,就會清除其中的病毒。

假設信息是在「源系統」中,必須到達「目標系統」。這里所稱的源系統可以是一個軟盤,目標系統可能是計算機的硬碟,或者源系統是存儲在ISP的一條消息,而目的系統是客戶端計算機上基於Winsock協議的Windows通訊系統。

信息解釋系統依據操作系統、應用程序或者是否需要特殊的機制等因素的不同是有區別的,該解釋機制必須明確對應殺毒軟體所要作用的操作系統或組件。例如:在Windows 9X系統中,需要採用一個虛擬驅動程序VxD來不斷監控磁碟的行為。通過這種方式,每當硬碟或者軟盤中的信息被存取時,殺毒軟體就會截取對該磁碟的讀寫操作,並掃描將要讀取或保存的信息。此種操作在Windows NT/2000/XP中是通過內核模式中的一個驅動來實現的,而在Novell中,磁碟活動的解釋是通過一個NLM模塊實現的。對於那些為某些特殊應用而設計(而非為某個操作系統設計)的殺毒軟體,其解釋機制和上面所介紹的是不同的。例如,對於支持CVP防火牆的殺毒軟體,是由防火牆通過CVP協議來為殺毒軟體傳遞需要掃描的信息;而對於支持Sendmail的殺毒軟體, MilterAPI過濾器為信息的解釋提供了便利。某些時候,解釋機制既不是由殺毒軟體提供(如VxD虛擬驅動),也不是由某種應用提供(如CVP 協議)。在這種情況下,必須採用介乎於應用和殺毒軟體之間的一種特殊的解釋機制。換句話說,通過某種資源來解釋信息並將其傳送給殺毒軟體,這些資源和殺毒軟體之間是一種緊密集成的關系,這樣有助於殺毒軟體清除病毒。

無論採用何種方式,一旦在掃描信息的過程中檢測到一種威脅(病毒),將會採取兩種措施:
1. 清除干凈的信息將會返回給解釋機制,然後再由該解釋機制返回給原來的系統以便於它能夠繼續到達其最終目的地。這意味著如果接收到一封電子郵件,該郵件仍然會被允許到達其目的郵箱;如果是復制一個文件,復制過程將仍然會被允許正常進行直至結束。
2. 會向用戶界面發送一個警告,該用戶界面可能是多種多樣的。對於工作站端的殺毒軟體,將會在屏幕上顯示一條信息,但是對於針對伺服器的殺毒模塊,警告將會以電子郵件、內部網路消息、病毒報告中的一條記錄或者傳遞給殺毒軟體管理工具的某種消息的形式發送。
殺毒程序能夠提供高級的防護、阻止任何帶給用戶的特別「驚奇」。這就象往某個盒子中投入XXX元錢以獲得心靈上的平安那麼簡單。

掃描引擎

無論需要掃描的信息是如何獲得的,對於殺毒軟體而言最重要的特徵就是:病毒掃描引擎。該引擎掃描它所截取的數據以查看其中是否包含病毒,如果有病毒就會將其清除。

信息的掃描通常通過兩種方式進行:一種是將掃描信息與病毒資料庫(即所謂的「病毒特徵庫」)進行對照,如果信息與其中的任何一個病毒特徵符合,殺毒軟體就會判斷此文件被病毒感染。

但是對於某些新的病毒或危險信息,在病毒資料庫中並沒有它們的特徵,此時通過一種稱為「啟發式掃描」的方法有可能將其檢測出來。該方法是通過分析信息的行為並將其與一個危險行為樣式庫進行對照以判別信息的危險性。

例如,如果某個文件試圖格式化檢測到的硬碟,殺毒軟體就會警告該用戶。盡管該文件也許是用戶剛剛安裝在系統中的一個新的格式化程序而不是病毒,但是該行為是危險的。一旦殺毒軟體通過聲音向用戶發出警告,接下來就由用戶來判斷是否要採取這種危險的操作了。

以上兩種方法各有優缺點。如果僅採用病毒特徵庫系統,那麼至少每天更新一次病毒庫就顯得尤為重要。您必須時刻牢記每天全球至少會有超過15種新的病毒出現,如果殺毒軟體兩三天都不更新病毒庫就變得很危險了。

啟發式掃描的缺點是會向你誤報一些本不是病毒的信息,如果你每天遇到很多此類的誤報,很快就會對這種警告感到厭煩。

7. 殺毒軟體的原理是什麼

工作原理是部分殺毒軟體是在內存里劃分一部分空間,將計算機中流過內存的數據與殺毒軟體自身所帶的病毒庫(包含病毒定義)的特徵碼相比較,以判斷是否為病毒;另一部分殺毒軟體在所劃分到的內存空間里,虛擬執行系統或用戶提交的程序,根據其行為或結果作出判斷。 殺毒軟體會生成現有主機操作系統的全新虛擬鏡像,該鏡像具有真實操作系統完全一致的功能。桌面虛擬化技術具有獨立分擋操作系統壓力,通過該技術實現運行過程中垃圾文件為零的目標,同時生成的虛擬環境與主機操作系統完全隔離,保護主機不被病毒感染,減少了系統被破壞的概率。

一個殺毒軟體的構造的復雜程度要遠遠高於木馬或病毒,所以其原理也比較復雜。而且鑒於現在木馬病毒越來越向系統底層發展,殺毒軟體的編譯技術也在不斷向系統底層靠近。例如現在的「主動防禦」技術,就是應用RING0層的編譯技巧。這里我簡單為大家介紹一下基本構成。 一個殺毒軟體一般由掃描器、病毒庫與虛擬機組成,並由主程序將他們結為一體,如圖1。 掃描器是殺毒軟體的核心,用於發現病毒,一個殺毒軟體的殺毒效果好壞就直接取決於它的掃描器編譯技術與演算法是否先進,而且殺毒軟體不同的功能往往對應著不同的掃描器,也就是說,大多數殺毒軟體都是由多個掃描器組成的。而病毒庫存儲的特徵碼形式則取決於掃描器採用哪種掃描技術。它裡面存儲著很多病毒所具有的獨一無二的特徵字元,我們稱之為「特徵碼」。特徵碼總的分來只有兩個,文件特徵碼與內存特徵碼。文件特徵碼存在於一些未執行的文件里,例如EXE文件、RMVB文件、jpg文件甚至是txt文件中都有可能存在文件特徵碼,也都有可能被查殺。而內存特徵碼僅僅存在於內存中已運行的應用程序。而虛擬機則是最近引進的概念,它可以使病毒在一個由殺毒軟體構建的虛擬環境中執行,與現實的CPU、硬碟等完全隔離,從而可以更加深入的檢測文件的安全性。 簡單的說,殺毒軟體的原理就是匹配特徵碼。當掃描得到一個文件時,殺毒軟體會檢測這個文件里是否包含病毒庫里所包含的特徵碼,如果有,則報毒病查殺,如果沒有,縱然這個文件確實是一個病毒,它也會把它當作正常文件來看待。 我覺得騰訊電腦管家就是最好的殺毒軟體了二、基於文件掃描的殺毒技術 基於文件的殺毒技術可以分為「第一代掃描技術」、「第二代掃描技術」與「演算法掃描」這三種方法,對於免殺愛好者來說,要對每一種方法爛熟於心,才能成為高手!但做為一個初學者來說了解一下即可。這里我們就簡單介紹一下其中兩種種方法,詳細的技術原理如果各位得這有興趣的話可以自己研究。

閱讀全文

與殺毒軟體研究方法相關的資料

熱點內容
中式棉襖製作方法圖片 瀏覽:63
五菱p1171故障碼解決方法 瀏覽:858
男士修護膏使用方法 瀏覽:546
電腦圖標修改方法 瀏覽:607
濕氣怎麼用科學的方法解釋 瀏覽:537
910除以26的簡便計算方法 瀏覽:805
吹東契奇最簡單的方法 瀏覽:704
對腎臟有好處的食用方法 瀏覽:98
電腦四線程內存設置方法 瀏覽:512
數字電路通常用哪三種方法分析 瀏覽:13
實訓課程的教學方法是什麼 瀏覽:525
苯甲醇乙醚鑒別方法 瀏覽:82
蘋果手機微信視頻聲音小解決方法 瀏覽:700
控制箱的連接方法 瀏覽:75
用什麼簡單的方法可以去痘 瀏覽:789
快速去除甲醛的小方法你知道幾個 瀏覽:803
自行車架尺寸測量方法 瀏覽:124
石磨子的製作方法視頻 瀏覽:152
行善修心的正確方法 瀏覽:403
土豆燉雞湯的正確方法和步驟 瀏覽:276