殺毒軟件的原理

2021-02-16    分類(lèi): 網(wǎng)站建設(shè)

殺毒軟件(Anti-virus Software),也稱(chēng)反病毒軟件或防毒軟件,是可以用來(lái)掃描文件,以確定和消除計(jì)算機(jī)病毒、特洛伊木馬和其他惡意軟件的一類(lèi)軟件。殺毒軟件一般由掃描器、病毒庫(kù)與虛擬機(jī)組成。

對(duì)于一款殺毒軟件來(lái)說(shuō),一次成功的病毒查殺過(guò)程,通常都要經(jīng)歷病毒識(shí)別、病毒報(bào)警、病毒清除、文件或系統(tǒng)復(fù)原這幾個(gè)過(guò)程。最關(guān)鍵的是殺毒引擎技術(shù),從廣義上來(lái)講,是指通過(guò)文件、網(wǎng)頁(yè)監(jiān)視等實(shí)時(shí)監(jiān)控行為,運(yùn)用文件識(shí)別技術(shù)來(lái)完成病毒掃描、識(shí)別、報(bào)警以及清除,甚至防御的一整套的機(jī)制,因此引擎技術(shù)也決定了殺毒軟件的優(yōu)劣,而引擎所包含的眾多技術(shù)中,病毒識(shí)別技術(shù)又是重中之重。病毒庫(kù)是存儲(chǔ)病毒的特征碼。而虛擬機(jī)可以使病毒在一個(gè)由殺毒軟件構(gòu)建的虛擬環(huán)境中執(zhí)行,與現(xiàn)實(shí)的CPU、硬盤(pán)等完全隔離,從而可以更加深入的檢測(cè)文件的安全性。

1、檢測(cè)殺毒軟件的方法

檢測(cè)病毒方法通常有:特征代碼法、校驗(yàn)和法、行為監(jiān)測(cè)法、軟件模擬法、啟發(fā)式掃描。

特征代碼法:“同一病毒或同類(lèi)病毒的某一部分代碼相同”的原理來(lái)識(shí)別病毒文件。該技術(shù)是利用留在受感染文件中的病毒特征值進(jìn)行檢測(cè)。發(fā)現(xiàn)新病毒后,對(duì)其進(jìn)行分析,根據(jù)其特征編成病毒碼,加入到數(shù)據(jù)庫(kù)中。今后在執(zhí)行查毒程序時(shí),通過(guò)對(duì)比文件與病毒數(shù)據(jù)庫(kù)中的病毒特征碼,檢查文件是否含有病毒。

校驗(yàn)和法:此法計(jì)算文件的校驗(yàn)和并保存,可定期或調(diào)用文件時(shí)進(jìn)行對(duì)比,從而判斷文件是否被病毒感染。

行為監(jiān)測(cè)法:此法根據(jù)病毒的行為特征來(lái)識(shí)別病毒,這需要對(duì)病毒行為進(jìn)行詳細(xì)的分類(lèi)和研究,分析那些病毒共同的行為,以及正常程序的罕見(jiàn)行為,根據(jù)程序運(yùn)行時(shí)的行為進(jìn)行病毒判斷和預(yù)警。

軟件模擬法:這種方法通過(guò)模擬病毒運(yùn)行的方式來(lái)檢測(cè)病毒特征。

啟發(fā)式掃描是特征碼掃描的一個(gè)分支,病毒完成特定的功能需要有相應(yīng)的代碼,啟發(fā)式掃描的特征碼就是針對(duì)病毒的這些功能總結(jié)出來(lái)的一套可以判定文件行為的代碼。

啟發(fā)式掃描就是給各種威脅計(jì)算機(jī)安全的代碼進(jìn)行加權(quán),舉一個(gè)簡(jiǎn)單的例子,殺毒軟件設(shè)置了如下加權(quán)標(biāo)準(zhǔn):

在系統(tǒng)目錄下釋放文件得20分

格式化分區(qū)得100分

插入遠(yuǎn)程線程得50分

……………

一個(gè)新病毒,他會(huì)在系統(tǒng)目錄下釋放3個(gè)文件并且會(huì)插入到IE的進(jìn)程中,殺毒軟件使用了啟發(fā)式掃描并定義了一個(gè)判定病毒的分?jǐn)?shù)。假設(shè)這里的分?jǐn)?shù)為60分,當(dāng)殺毒軟件對(duì)某文件的加權(quán)得分達(dá)到60分之后,就將該文件判定為病毒,不到60分則放過(guò)該文件。

2、脫殼

加殼其實(shí)就是把木馬病毒文件用加密算法壓縮,讓殺毒引擎無(wú)法讀取這個(gè)文件,從而不能和特征庫(kù)匹配。

加殼和脫殼,簡(jiǎn)單說(shuō)就是軟件的加密和解密。病毒、木馬加殼已經(jīng)是非常普遍的現(xiàn)象了,目前主要有兩種脫殼技術(shù):算法脫殼和動(dòng)態(tài)脫殼,目前主流的殺毒軟件都引入了虛擬機(jī)技術(shù),雖然這會(huì)占用一定的系統(tǒng)資源,但使帶殼的病毒文件,運(yùn)行于虛擬機(jī)之上,不僅可以更好的識(shí)別各種殼,還可以有效防止病毒真正的感染文件。

算法脫殼:此法是根據(jù)加殼程序的解密算法對(duì)病毒進(jìn)行脫殼,雖然有速度快、消耗資源少的優(yōu)點(diǎn),但也有無(wú)法脫變形殼的缺點(diǎn)。不過(guò),很多殺毒軟件還是能夠向用戶發(fā)出警報(bào),以彌補(bǔ)無(wú)法脫殼的缺憾。

動(dòng)態(tài)脫殼:眾所周知,只有讓加過(guò)殼的程序運(yùn)行起來(lái),才能將其還原成本來(lái)的面目,此時(shí)為了避免程序運(yùn)行后真正感染系統(tǒng)文件,因此引入了虛擬機(jī)技術(shù),為帶殼的病毒程序虛擬一個(gè)計(jì)算機(jī)環(huán)境,使它運(yùn)行于虛擬環(huán)境。此法雖優(yōu)勢(shì)明顯,但也會(huì)消耗很多的系統(tǒng)資源。

3、特征碼掃描樣例

病毒特征碼需要滿足以下幾個(gè)要求:

1、不能從數(shù)據(jù)區(qū)提取,因?yàn)閿?shù)據(jù)區(qū)的內(nèi)容很容易改變,一旦病毒程序變更版本,改變了數(shù)據(jù)內(nèi)容,特征碼就會(huì)失效。而其它的區(qū)塊則相對(duì)來(lái)說(shuō)保險(xiǎn)一些。

2、在保持特征碼的唯一性的前提下,應(yīng)當(dāng)盡量使得特征碼短小精悍,從而減少檢測(cè)過(guò)程中的時(shí)間與空間的復(fù)雜度,提高檢測(cè)效率。

3、經(jīng)過(guò)詳細(xì)的逆向分析之后選取出來(lái)的特征碼,才足以將該病毒與其它病毒或正常程序相區(qū)別。

4、病毒程序的特征碼一定不能匹配到普通程序,比如選取病毒入口點(diǎn)的二進(jìn)制代碼,就必然出現(xiàn)誤報(bào)的情況。

5、特征碼的長(zhǎng)度應(yīng)當(dāng)控制在64個(gè)字節(jié)以?xún)?nèi)。

病毒文件中總會(huì)存在一些可供識(shí)別的字符串,很多時(shí)候,這些字符串是某個(gè)病毒所特有的,因此這種方式適用于所有病毒的特征碼的提取。采用這種方式甚至還能識(shí)別某一大類(lèi)病毒,但是缺點(diǎn)是需要耗費(fèi)比較多的掃描時(shí)間。以我們之前討論過(guò)的“熊貓燒香”病毒為例,經(jīng)過(guò)我們之前的逆向分析可以知道,病毒最開(kāi)始會(huì)使用“xboy”以及“whboy”這兩個(gè)字符串來(lái)進(jìn)行解密的操作。比如我們嘗試一下,在病毒程序的二進(jìn)制代碼中搜索“whboy”:


相信一般的程序中不會(huì)出現(xiàn)“whboy”以及“xboy”這兩段字符,因此就可以考慮將這兩個(gè)字符串或者其中的一個(gè)字符串作為“熊貓燒香”病毒的特征碼。這樣只要對(duì)目標(biāo)程序中的可打印字符串進(jìn)行檢索,如果發(fā)現(xiàn)了“whboy”就可以認(rèn)為目標(biāo)程序是“熊貓燒香”病毒程序。這樣即便是病毒出現(xiàn)了變種,只要它依舊包含有“whboy”,我們就依然能夠?qū)崿F(xiàn)查殺的工作?;蛘呶覀円部梢钥紤]使用更長(zhǎng)的字符串,比如上圖中開(kāi)始的那32個(gè)字節(jié),即“武漢男生感染下載者**”,將其十六進(jìn)制代碼提取出來(lái)作為特征碼。將這段字符串作為“熊貓燒香”的特征碼。然后可以使用PEiD查看一下該段代碼所在的區(qū)段:


可見(jiàn),文件偏移0x0c040位于CODE,即代碼區(qū)段中,那么其實(shí)在進(jìn)行匹配的時(shí)候,我們只要檢索目標(biāo)程序的這個(gè)區(qū)段就可以了。或者為了方便起見(jiàn),我們?cè)跈z測(cè)目標(biāo)程序時(shí),只檢測(cè)位于文件偏移0x0c040處的字符,如果能夠匹配病毒特征碼,就認(rèn)為目標(biāo)程序是病毒。

分享文章:殺毒軟件的原理
分享鏈接:http://www.muchs.cn/news/101218.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、動(dòng)態(tài)網(wǎng)站定制網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、Google全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作