當(dāng)生命的執(zhí)著遇到死亡的力量,一定會(huì)碰撞出激烈的火花;當(dāng)病毒的執(zhí)著遇到殺毒軟件的力量,也一定會(huì)出現(xiàn)備受爭(zhēng)議的話(huà)題。當(dāng)我們還沒(méi)有真正認(rèn)識(shí)到殺毒軟件之于網(wǎng)絡(luò)安全有多么重要的時(shí)候,它已經(jīng)悄然成為了安全領(lǐng)域的焦點(diǎn),連帶著一些殺毒的技術(shù)也成為了網(wǎng)友津津樂(lè)道的話(huà)題,例如殺毒能力和病毒庫(kù)的關(guān)系,例如啟發(fā)式殺毒到底好在哪里。
作為與用戶(hù)的計(jì)算機(jī)同命運(yùn)的安全軟件,防病毒軟件一直都受到人們的特別關(guān)注,其實(shí)在有關(guān)殺毒軟件的能力問(wèn)題的爭(zhēng)論背后更多的是對(duì)殺毒技術(shù)的關(guān)注。
焦點(diǎn)話(huà)題一、殺毒軟件引擎與病毒庫(kù)的關(guān)系
從理論上講,病毒庫(kù)與殺毒引擎沒(méi)有直接的關(guān)系,殺毒引擎的任務(wù)非常簡(jiǎn)單,就是對(duì)指定的文件或者程序進(jìn)行判斷其是否合法。而病毒庫(kù),只不過(guò)是對(duì)殺毒引擎的一種補(bǔ)充,也就是說(shuō):“我們沒(méi)有足夠聰明的殺毒引擎來(lái)完成這個(gè)過(guò)程”,這里所提到的過(guò)程,就是殺毒引擎對(duì)文件或者程序的判斷。
看到這里,我們就明白了:好的殺毒軟件,重要在引擎的優(yōu)秀,病毒庫(kù)只不過(guò)是補(bǔ)充,而且病毒庫(kù)越大,殺毒的速度會(huì)隨之降低,這是一個(gè)反比的關(guān)系。因?yàn)椴《編?kù)殺毒的過(guò)程,是引擎把判斷能力交給病毒庫(kù),用病毒庫(kù)與指定的文件進(jìn)行對(duì)比判斷。這就是為什么很多網(wǎng)友總是抱怨卡巴斯基全面掃描的速度總是那么慢,原因之一它有一個(gè)太過(guò)強(qiáng)大的病毒庫(kù),間接拉下了殺毒的速度。
焦點(diǎn)問(wèn)題二、有關(guān)加殼、脫殼技術(shù)的種種
什么是加殼?
所謂加殼,是通過(guò)一系列數(shù)學(xué)運(yùn)算,將可執(zhí)行程序文件或動(dòng)態(tài)鏈接庫(kù)文件的編碼進(jìn)行改變(目前還有一些加殼軟件可以壓縮、加密驅(qū)動(dòng)程序),以達(dá)到縮小文件體積或加密程序編碼的目的。當(dāng)被加殼的程序運(yùn)行時(shí),外殼程序先被執(zhí)行,然后由這個(gè)外殼程序負(fù)責(zé)將用戶(hù)原有的程序在內(nèi)存中解壓縮,并把控制權(quán)交還給脫殼后的真正程序。一切操作自動(dòng)完成,用戶(hù)不知道也無(wú)需知道殼程序是如何運(yùn)行的。一般情況下,加殼程序和未加殼程序的運(yùn)行結(jié)果是一樣的。
判斷一個(gè)可執(zhí)行文件是否被加殼的簡(jiǎn)單方法:用記事本打開(kāi)一個(gè)可執(zhí)行文件,如果能看到軟件的提示信息則一般是未加殼的,如果完全是亂碼,多半是已經(jīng)被加殼了。
病毒編寫(xiě)者為什么喜歡使用加殼技術(shù)?
眾所周知,目前大部分殺毒軟件主要依靠特征碼技術(shù)查殺病毒。由于加殼軟件會(huì)對(duì)源文件進(jìn)行壓縮、變形,使加密前后的特征碼完全不同。脫殼能力不強(qiáng)的殺毒軟件,對(duì)付“加殼”后病毒就需要添加兩條不同的特征記錄。如果病毒編寫(xiě)者換一種加殼工具加殼,那么對(duì)于殺毒軟件來(lái)說(shuō)又是一種新的病毒,需要添加新的特征記錄才能夠查殺。
應(yīng)對(duì)“加殼”而生的技術(shù)—脫殼
相對(duì)加殼而言,能夠?qū)⒓託の募€愿成源文件的過(guò)程就是“脫殼”。脫殼主要有兩種方法:硬脫殼和動(dòng)態(tài)脫殼。 第一種,是硬脫殼,這是指找出加殼軟件的加殼算法,寫(xiě)出逆向算法,就像壓縮和解壓縮一樣。由于,目前很多“殼”均帶有加密、變形的特點(diǎn),每次加殼生成的代碼都不一樣。硬脫殼對(duì)此無(wú)能為力,但由于它比較容易實(shí)現(xiàn),在技術(shù)名詞上也容易混淆用戶(hù)的視聽(tīng),所以多被殺毒軟件采用。
目前,有一種脫殼方式是抓?。―ump)內(nèi)存中的鏡像,再重構(gòu)成標(biāo)準(zhǔn)的執(zhí)行文件。相比硬脫殼方法,這種脫殼方法對(duì)自行加密、變形的殼處理效果更好,使得加殼程序會(huì)在運(yùn)行時(shí)自行脫掉“馬甲”,因而叫做動(dòng)態(tài)脫殼。
而最新流行的技術(shù)是“虛擬機(jī)脫殼引擎(VUE)技術(shù)”。給病毒構(gòu)建一個(gè)仿真環(huán)境,誘騙病毒自己脫掉“馬甲”,最重要的是“虛擬環(huán)境”和用戶(hù)的計(jì)算機(jī)隔離,病毒在虛擬機(jī)的操作不會(huì)對(duì)用戶(hù)計(jì)算機(jī)有任何影響。這種技術(shù)已經(jīng)成為近年來(lái)全球安全業(yè)界公認(rèn)的、解決這一問(wèn)題的利器,現(xiàn)在非常火的殺毒軟件McAfee的防毒能力為什么出色,基本上全是虛擬脫殼技術(shù)的功勞。
作為與用戶(hù)的計(jì)算機(jī)同命運(yùn)的安全軟件,防病毒軟件一直都受到人們的特別關(guān)注,其實(shí)在有關(guān)殺毒軟件的能力問(wèn)題的爭(zhēng)論背后更多的是對(duì)殺毒技術(shù)的關(guān)注。
焦點(diǎn)話(huà)題一、殺毒軟件引擎與病毒庫(kù)的關(guān)系
從理論上講,病毒庫(kù)與殺毒引擎沒(méi)有直接的關(guān)系,殺毒引擎的任務(wù)非常簡(jiǎn)單,就是對(duì)指定的文件或者程序進(jìn)行判斷其是否合法。而病毒庫(kù),只不過(guò)是對(duì)殺毒引擎的一種補(bǔ)充,也就是說(shuō):“我們沒(méi)有足夠聰明的殺毒引擎來(lái)完成這個(gè)過(guò)程”,這里所提到的過(guò)程,就是殺毒引擎對(duì)文件或者程序的判斷。
看到這里,我們就明白了:好的殺毒軟件,重要在引擎的優(yōu)秀,病毒庫(kù)只不過(guò)是補(bǔ)充,而且病毒庫(kù)越大,殺毒的速度會(huì)隨之降低,這是一個(gè)反比的關(guān)系。因?yàn)椴《編?kù)殺毒的過(guò)程,是引擎把判斷能力交給病毒庫(kù),用病毒庫(kù)與指定的文件進(jìn)行對(duì)比判斷。這就是為什么很多網(wǎng)友總是抱怨卡巴斯基全面掃描的速度總是那么慢,原因之一它有一個(gè)太過(guò)強(qiáng)大的病毒庫(kù),間接拉下了殺毒的速度。
焦點(diǎn)問(wèn)題二、有關(guān)加殼、脫殼技術(shù)的種種
什么是加殼?
所謂加殼,是通過(guò)一系列數(shù)學(xué)運(yùn)算,將可執(zhí)行程序文件或動(dòng)態(tài)鏈接庫(kù)文件的編碼進(jìn)行改變(目前還有一些加殼軟件可以壓縮、加密驅(qū)動(dòng)程序),以達(dá)到縮小文件體積或加密程序編碼的目的。當(dāng)被加殼的程序運(yùn)行時(shí),外殼程序先被執(zhí)行,然后由這個(gè)外殼程序負(fù)責(zé)將用戶(hù)原有的程序在內(nèi)存中解壓縮,并把控制權(quán)交還給脫殼后的真正程序。一切操作自動(dòng)完成,用戶(hù)不知道也無(wú)需知道殼程序是如何運(yùn)行的。一般情況下,加殼程序和未加殼程序的運(yùn)行結(jié)果是一樣的。
判斷一個(gè)可執(zhí)行文件是否被加殼的簡(jiǎn)單方法:用記事本打開(kāi)一個(gè)可執(zhí)行文件,如果能看到軟件的提示信息則一般是未加殼的,如果完全是亂碼,多半是已經(jīng)被加殼了。
病毒編寫(xiě)者為什么喜歡使用加殼技術(shù)?
眾所周知,目前大部分殺毒軟件主要依靠特征碼技術(shù)查殺病毒。由于加殼軟件會(huì)對(duì)源文件進(jìn)行壓縮、變形,使加密前后的特征碼完全不同。脫殼能力不強(qiáng)的殺毒軟件,對(duì)付“加殼”后病毒就需要添加兩條不同的特征記錄。如果病毒編寫(xiě)者換一種加殼工具加殼,那么對(duì)于殺毒軟件來(lái)說(shuō)又是一種新的病毒,需要添加新的特征記錄才能夠查殺。
應(yīng)對(duì)“加殼”而生的技術(shù)—脫殼
相對(duì)加殼而言,能夠?qū)⒓託の募€愿成源文件的過(guò)程就是“脫殼”。脫殼主要有兩種方法:硬脫殼和動(dòng)態(tài)脫殼。 第一種,是硬脫殼,這是指找出加殼軟件的加殼算法,寫(xiě)出逆向算法,就像壓縮和解壓縮一樣。由于,目前很多“殼”均帶有加密、變形的特點(diǎn),每次加殼生成的代碼都不一樣。硬脫殼對(duì)此無(wú)能為力,但由于它比較容易實(shí)現(xiàn),在技術(shù)名詞上也容易混淆用戶(hù)的視聽(tīng),所以多被殺毒軟件采用。
目前,有一種脫殼方式是抓?。―ump)內(nèi)存中的鏡像,再重構(gòu)成標(biāo)準(zhǔn)的執(zhí)行文件。相比硬脫殼方法,這種脫殼方法對(duì)自行加密、變形的殼處理效果更好,使得加殼程序會(huì)在運(yùn)行時(shí)自行脫掉“馬甲”,因而叫做動(dòng)態(tài)脫殼。
而最新流行的技術(shù)是“虛擬機(jī)脫殼引擎(VUE)技術(shù)”。給病毒構(gòu)建一個(gè)仿真環(huán)境,誘騙病毒自己脫掉“馬甲”,最重要的是“虛擬環(huán)境”和用戶(hù)的計(jì)算機(jī)隔離,病毒在虛擬機(jī)的操作不會(huì)對(duì)用戶(hù)計(jì)算機(jī)有任何影響。這種技術(shù)已經(jīng)成為近年來(lái)全球安全業(yè)界公認(rèn)的、解決這一問(wèn)題的利器,現(xiàn)在非常火的殺毒軟件McAfee的防毒能力為什么出色,基本上全是虛擬脫殼技術(shù)的功勞。

