安全掃盲貼 到底什么樣的殺毒軟件好
在計算機的世界里,病毒就是一種執(zhí)著的力量,那么殺毒軟件,就是死亡的力量;也或者病毒才是死亡的力量,不管怎樣,殺毒軟件是一種不可或缺的東西。我用過的一些殺毒軟件,和我體驗試用,或者給求助的朋友安裝或者卸載的,都有我的一點感受,寫出來,給大家一點思路,選擇一個更適合自己用的殺毒軟件。
(1)殺軟篇
在介紹之前,先簡單結(jié)合自己的理解和引用一些文章,來說點技術(shù)性的知識:
一、殺毒軟件引擎與病毒庫的關(guān)系
其實病毒庫與殺毒引擎沒有直接的關(guān)系,殺毒引擎的任務(wù)和功能非常簡單,就是對指定的文件或者程序進行判斷其是否合法。而病毒庫,只不過是對殺毒引擎的一種補充,也就是說:“我們沒有足夠聰明的殺毒引擎來完成這個過程”,那個過程,就是殺毒引擎對文件或者程序判斷。明白這一點,就應(yīng)該知道,好的殺毒軟件,重要在引擎的優(yōu)秀,病毒庫只不過是補充,而且病毒庫越大,殺毒速度肯定會降低。因為病毒庫殺毒的過程,是引擎把判斷能力交給病毒庫,用病毒庫與指定的文件進行對比判斷。
二、加殼、脫殼
1.什么是加殼:所謂加殼,是一種通過一系列數(shù)學運算,將可執(zhí)行程序文件或動態(tài)鏈接庫文件的編碼進行改變(目前還有一些加殼軟件可以壓縮、加密驅(qū)動程序),以達到縮小文件體積或加密程序編碼的目的。
當被加殼的程序運行時,外殼程序先被執(zhí)行,然后由這個外殼程序負責將用戶原有的程序在內(nèi)存中解壓縮,并把控制權(quán)交還給脫殼后的真正程序。一切操作自動完成,用戶不知道也無需知道殼程序是如何運行的。一般情況下,加殼程序和未加殼程序的運行結(jié)果是一樣的。
如何判斷一個可執(zhí)行文件是否被加了殼呢?有一個簡單的方法(對中文軟件效果較明顯)。用記事本打開一個可執(zhí)行文件,如果能看到軟件的提示信息則一般是未加殼的,如果完全是亂碼,則多半是被加殼的。我們還可以使用一款叫做Fileinfo的工具來查看文件具體加的是什么殼。目前,較常見到的殼有“UPX”、“ASPack”、“PePack”、“PECompact”、“UPack”、“NsPack”、“免疫007”、“木馬彩衣”等等。
為什么黑客能夠利用加殼技術(shù)來對抗反病毒軟件呢?眾所周知,目前殺毒軟件主要依靠特征碼技術(shù)查殺病毒。由于加殼軟件會對源文件進行壓縮、變形,使加密前后的特征碼完全不同。
脫殼能力不強的殺毒軟件,對付“加殼”后病毒就需要添加兩條不同的特征記錄。如果黑客換一種加殼工具加殼,則對于這些殺毒軟件來說又是一種新的病毒,必須添加新的特征記錄才能夠查殺。如果殺毒軟件的脫殼能力較強,則可以先將病毒文件脫殼,再進行查殺,這樣只需要一條記錄就可以對這些病毒通殺,不僅減小殺毒軟件對系統(tǒng)資源的占用,同時大大提升了其查殺病毒的能力。
2. 脫殼
馬甲”能穿也能脫。相應(yīng)的,有加殼也一定會有解殼(也叫脫殼)。脫殼主要有兩種方法:硬脫殼和動態(tài)脫殼。
***種,是硬脫殼,這是指找出加殼軟件的加殼算法,寫出逆向算法,就像壓縮和解壓縮一樣。由于,目前很多“殼”均帶有加密、變形的特點,每次加殼生成的代碼都不一樣。硬脫殼對此無能為力,但由于其技術(shù)門檻較低,仍然被一些殺毒軟件所使用。 ?
第二種,是動態(tài)脫殼。由于加殼的程序運行時必須還原成原始形態(tài),即加殼程序會在運行時自行脫掉“馬甲”。目前,有一種脫殼方式是抓取(Dump)內(nèi)存中的鏡像,再重構(gòu)成標準的執(zhí)行文件。相比硬脫殼方法,這種脫殼方法對自行加密、變形的殼處理效果更好。
三、虛擬機脫殼引擎(VUE)技術(shù)
對于病毒,如果讓其運行,則用戶計算機就會被病毒感染。因此,一種新的思路被提出,即給病毒構(gòu)造一個仿真的環(huán)境,誘騙病毒自己脫掉“馬甲”。并且“虛擬環(huán)境”和用戶的計算機隔離,病毒在虛擬機的操作不會對用戶計算機有任何的影響。
“虛擬機脫殼”技術(shù)已經(jīng)成為近年來全球安全業(yè)界公認的、解決這一問題的最有效利器。但由于編寫虛擬機系統(tǒng)需要解決虛擬CPU、虛擬周邊硬件設(shè)備、虛擬驅(qū)動程序等多個方面的困難,即使有雄厚的研發(fā)實力,也未必能在短時間內(nèi)達到實用的程度。
四、啟發(fā)式殺毒(啟發(fā)式代碼掃描技術(shù))
病毒和正常程序的區(qū)別可以體現(xiàn)在許多方面,比較常見的如:通常一個應(yīng)用程序在最初的指令,是檢查命令行輸入有無參數(shù)項、清屏和保存原來屏幕顯示等,而病毒程序則沒有會這樣做的,通常它最初的指令是直接寫盤操作、解碼指令,或搜索某路徑下的可執(zhí)行程序等相關(guān)操作指令序列。這些顯著的不同之處,一個熟練的程序員在調(diào)試狀態(tài)下只需一瞥便可一目了然。啟發(fā)式代碼掃描技術(shù)實際上就是把這種經(jīng)驗和知識移植到一個查病毒軟件中的具體程序體現(xiàn)。
啟發(fā)式指的“自我發(fā)現(xiàn)的能力”或“運用某種方式或方法去判定事物的知識和技能?!币粋€運用啟發(fā)式掃描技術(shù)的病毒檢測軟件,實際上就是以特定方式實現(xiàn)的動態(tài)高度器或反編譯器,通過對有關(guān)指令序列的反編譯逐步理解和確定其蘊藏的真正動機。例如,如果一段程序以如下序列開始:MOVAH,5/INT,13h,即調(diào)用格式化盤操作的BIOS指令功能,那么這段程序就高度可疑值得引起警覺,尤其是假如這段指令之前不存在取得命令行關(guān)于執(zhí)行的參數(shù)選項,又沒有要求用戶交互性輸入繼續(xù)進行的操作指令時,就可以有把握地認為這是一個病毒或惡意破壞的程序。
啟發(fā)式殺毒代表著未來反病毒技術(shù)發(fā)展的必然趨勢,具備某種人工智能特點的反毒技術(shù),向我們展示了一種通用的、不需升級(較省需要升級或不依賴于升級)的病毒檢測技術(shù)和產(chǎn)品的可能性。由于諸多傳統(tǒng)技術(shù)無法企及的強大優(yōu)勢,必將得到普遍的應(yīng)用和迅速的發(fā)展。資料顯示,目前國際上***的排名在前五名的反病毒軟件產(chǎn)品均聲稱應(yīng)用了這項技術(shù),從來自不同機構(gòu)和出處的評測結(jié)果來看,純粹的啟發(fā)式代碼分析技術(shù)的應(yīng)用(不借助任何事先的對于被測目標病毒樣本的研究和了解),已能達到80%以上的病毒檢出率,而其誤報率極易控制在0.1%之下,這對于僅僅使用傳統(tǒng)的基于對已知病毒的研究而抽取“特征字串”的特征掃描技術(shù)的查毒軟件來說,是不可想象的,一次質(zhì)的飛躍。在新病毒,新變種層出不窮,病毒數(shù)量不斷激增的今天,這種技術(shù)的產(chǎn)生和應(yīng)用更具有特殊的重要意義。
對于殺毒軟件的選擇,許多人總是問別人該用那一個。其實大多數(shù)情況下,如果你有一個很干凈的的上網(wǎng)習慣(正常的網(wǎng)站被掛馬畢竟少數(shù)),不隨意打開未知郵件中的附件和鏈接等等,絕大多的殺軟都可以保證你的安全了!剩下的選擇條件就看你的硬件配置、與其他重要軟件沖突、使用習慣等方面考慮了。
【編輯推薦】