反病毒技術(shù)及其發(fā)展趨勢(shì)

2010-08-28 10:45:15來(lái)源:西部e網(wǎng)作者:

    關(guān)于第一個(gè)計(jì)算機(jī)病毒的產(chǎn)生時(shí)間有著許多許多的說(shuō)法,我確信在Babbidge機(jī)器時(shí)代是肯定沒(méi)有病毒的,但是到Univac 1108和IBM 360/370的時(shí)候就已經(jīng)有了("Pervading Animal" 和 "Christmas Tree"),所以第一個(gè)計(jì)算機(jī)病毒的誕生是在二十世紀(jì)70年代初或者二十世紀(jì)60年代末,雖然在那時(shí)候沒(méi)有人叫它們病毒。但是,病毒成為一個(gè)問(wèn)題的時(shí)候,就出現(xiàn)了解決問(wèn)題的人——安全專(zhuān)家——和他們的成果:殺毒技術(shù)和防病毒產(chǎn)品。

    作者簡(jiǎn)介:劉杰,中國(guó)最早系統(tǒng)地從事計(jì)算機(jī)病毒與網(wǎng)絡(luò)安全技術(shù)研究的專(zhuān)家,曾起草中國(guó)安全法規(guī):計(jì)算機(jī)病毒防治產(chǎn)品評(píng)級(jí)標(biāo)準(zhǔn),獲公安部科技成果二等獎(jiǎng),現(xiàn)任國(guó)家有關(guān)部委網(wǎng)絡(luò)安全顧問(wèn)、商丘師范大學(xué)客座教授,是光華反病毒軟件的開(kāi)發(fā)者。

  殺毒軟件是對(duì)付計(jì)算機(jī)病毒的最有效方法,但是沒(méi)有殺毒軟件能100%的保證系統(tǒng)不被病毒感染。任何宣稱(chēng)存在這種殺毒軟件的廣告都是虛假的、在法律上說(shuō)都是無(wú)效的。那樣的系統(tǒng)是不存在的,因?yàn)槊糠N殺毒算法都可能促使產(chǎn)生與之相對(duì)立的病毒的算法,隨之制造的病毒對(duì)于這種特定的殺毒軟件可能檢測(cè)不到(當(dāng)然:任何殺毒算法都可以開(kāi)發(fā)成一個(gè)殺毒軟件)。而且,已經(jīng)證實(shí)“在有限理論的基礎(chǔ)上不可能存在絕對(duì)的防毒”——試驗(yàn)者是Fred Cohen。

  從殺毒技術(shù)上來(lái)講,當(dāng)前,最流行的殺毒軟件都是一個(gè)掃描器,掃描的算法有多種,通常為了使殺毒軟件功能更強(qiáng)大,會(huì)結(jié)合使用好幾種掃描方法。

  1)病毒掃描

  病毒掃描是當(dāng)前最主要的查殺病毒方式,它主要通過(guò)檢查文件、扇區(qū)和系統(tǒng)內(nèi)存、搜索新病毒,用“標(biāo)記”查找已知病毒,病毒標(biāo)記就是病毒常用代碼的特征,病毒除了用這些標(biāo)記,也用別的方法。有的根據(jù)算法來(lái)判斷文件是否被某種病毒感染,一些殺毒軟件也用它來(lái)檢測(cè)變形病毒。

  病毒掃描從殺毒方式上可以分成兩種——“通用”和“專(zhuān)用”!巴ㄓ谩睊呙璞辉O(shè)計(jì)成不依賴(lài)操作系統(tǒng),可以查各種病毒;而“專(zhuān)用”掃描則被設(shè)計(jì)用來(lái)專(zhuān)查某種病毒,如宏病毒,可以使某些應(yīng)用軟件的病毒防護(hù)更加可靠。

  病毒掃描也可按照用戶(hù)操作方式分成實(shí)時(shí)掃描和請(qǐng)求式掃描,實(shí)時(shí)掃描能提供更好的系統(tǒng)病毒防護(hù),因?yàn)槿绻胁《境霈F(xiàn),能夠立即發(fā)現(xiàn),請(qǐng)求式掃描只在運(yùn)行時(shí)才能檢測(cè)到病毒。

  2)啟發(fā)式掃描

  啟發(fā)式掃描是通過(guò)分析指令出現(xiàn)的順序,或組合情況來(lái)決定文件是否感染,每個(gè)對(duì)象都要檢查,這種方式查毒效果是最高的,但也最可能出現(xiàn)誤報(bào)。

  3)CRC 掃描

  CRC掃描的原理是計(jì)算磁盤(pán)中的實(shí)際文件或系統(tǒng)扇區(qū)的CRC值(檢驗(yàn)和),這些CRC值被殺毒軟件保存到它自己的數(shù)據(jù)庫(kù)中,在運(yùn)行殺毒軟件時(shí),用備份的CRC值與當(dāng)前計(jì)算的值比較,可以知道文件是否已經(jīng)修改或被病毒感染。

  使用這種算法的CRC掃描是強(qiáng)有力的反病毒工具:100%的病毒都能在進(jìn)入計(jì)算機(jī)時(shí)被檢查出來(lái)。但這種殺毒方式天生就有一個(gè)缺點(diǎn)——效率很低。CRC掃描在病毒已經(jīng)滲透到計(jì)算機(jī)之后,并不能很快的檢測(cè)到,只有過(guò)一段時(shí)間病毒開(kāi)始傳播時(shí)才會(huì)發(fā)現(xiàn),而且不能檢測(cè)新文件中的病毒(例如郵件、軟件文件、備份恢復(fù)的文件或解壓文件),因?yàn)樵谒臄?shù)據(jù)庫(kù)中沒(méi)有這些文件的CRC值。此外,有的病毒也會(huì)利用CRC掃描的這種“弱點(diǎn)”,只在掃描之前感染新創(chuàng)建的文件。

    各種掃描都有自己的優(yōu)缺點(diǎn),擁有一個(gè)病毒庫(kù)是他們的基本特征,但是如果病毒庫(kù)過(guò)大的話,查毒速度會(huì)變得很慢。除了以上的殺毒方法外,還有一些常用技術(shù)。

  1)行為判斷

  行為判斷就是通過(guò)駐留的殺毒軟件截獲那些對(duì)用戶(hù)有病毒危險(xiǎn)的行為,這些病毒可能會(huì)在修改可執(zhí)行文件、引導(dǎo)扇區(qū)或MBR時(shí)被發(fā)現(xiàn),這種方法的優(yōu)點(diǎn)在于可以在病毒感染的早期發(fā)現(xiàn)并阻止,但有的病毒可以越過(guò)這種保護(hù),使得殺毒軟件完全失效。

  2)病毒免疫

  免疫有兩種:一種是感染警告,另一種是阻止病毒感染。第一種免疫方式主要是預(yù)防那些把自己添加到文件末尾的病毒(通常是文件型病毒),每個(gè)文件都會(huì)檢查。但有一個(gè)致命的弱點(diǎn):無(wú)法檢測(cè)到詭密病毒,所以實(shí)際上很少用這種免疫方式。

  第二種免疫方式主要是預(yù)防系統(tǒng)被某種特定病毒感染,如果文件被病毒修改就可以檢測(cè)到(例如文件中存在字符串“MsDos”,說(shuō)明文件可能被“Jerusalem”病毒感染),如果病毒把一個(gè)小的TSR程序拷貝到計(jì)算機(jī)內(nèi)存中,系統(tǒng)肯定被感染。
由于不可能對(duì)所有的病毒采用免疫,所以這種病毒免疫方式并不通用。

  哪種殺毒技術(shù)更好?

  哪種殺毒技術(shù)更好?答案是——都好,只要計(jì)算機(jī)里沒(méi)有病毒。但是如果要安裝新軟件、收郵件、使用Word或Excel電子表,需要根據(jù)自身的情況選擇幾種比較合適的殺毒軟件。
各種殺毒軟件的特點(diǎn)都會(huì)有一些不同,它們的質(zhì)量我想可以肯定,下面說(shuō)幾點(diǎn)相對(duì)重要的:可靠性和方便性——?dú)⒍拒浖䲡?huì)不會(huì)經(jīng)!皰炱稹保胀ㄓ脩(hù)使用時(shí)是否需要特定的技術(shù)知識(shí)。

  1) 掃描文檔、檢測(cè)各種病毒的性能,能不能修復(fù)被感染的文件,掃描引擎能不能及時(shí)地更新,處理新病毒的速度。

  2) 殺毒軟件是否適應(yīng)各種平臺(tái)(DOS、Windows、Alpha、Linux等),不僅可以根據(jù)用戶(hù)需要掃描,還要有能實(shí)時(shí)監(jiān)控、網(wǎng)絡(luò)查毒的能力。

  3) 查毒速度等其他有用功能。
殺毒軟件最重要的是可靠性,雖然沒(méi)有“絕對(duì)的殺毒軟件”,但也不能掃描一半文件就掛了,磁盤(pán)中剩下的文件還沒(méi)有掃描完,也沒(méi)有檢測(cè)出系統(tǒng)中的病毒;殺毒軟件不能要求用戶(hù)具備特定的知識(shí)——許多用戶(hù)只愿選擇殺毒軟件彈出簡(jiǎn)單的[OK]或[Cancel]按鈕的消息框,如果殺毒軟件經(jīng)常會(huì)詢(xún)問(wèn)用戶(hù)一些復(fù)雜的問(wèn)題,用戶(hù)肯定不會(huì)喜歡這種殺毒軟件。

    顯然,病毒檢測(cè)能力是第二個(gè)重要因素,之所以叫殺毒軟件,目的就是檢測(cè)并清除病毒。 
 
    任何不能檢測(cè)到病毒的殺毒軟件都是無(wú)效的。如果一個(gè)殺毒軟件不能100%防疫一種變形病毒,那整個(gè)系統(tǒng)將會(huì)被這種類(lèi)型的病毒感染,此種殺毒軟件只能檢測(cè)出系統(tǒng)中被感染的部分(99%)文件,剩下的1%被感染文件還是沒(méi)有查到,這時(shí)病毒已經(jīng)感染計(jì)算機(jī)了,第二次掃描時(shí),殺毒軟件又會(huì)留下1%的文件沒(méi)有掃描,但這次是上次99%中的1%,實(shí)際上是1.99%,可以想象最后將是什么樣子。

  因此病毒檢測(cè)能力是衡量殺毒軟件質(zhì)量的第二個(gè)最重要標(biāo)準(zhǔn);比支持多平臺(tái)等其他特點(diǎn)都重要。
當(dāng)然殺毒軟件也不能太敏感,如果經(jīng)常誤報(bào),以致刪除了沒(méi)有感染的文件,用戶(hù)也會(huì)錯(cuò)過(guò)真正的病毒警告。
多平臺(tái)支持也是一個(gè)重要的因素,例如"OneHalf"病毒感染W(wǎng)indows95或WindowsNT系統(tǒng),如果你使用DOS殺毒軟件來(lái)解密磁盤(pán)(這個(gè)病毒會(huì)加密磁盤(pán)扇區(qū)),結(jié)果會(huì)令你很失望:磁盤(pán)上的數(shù)據(jù)可能被毀壞,因?yàn)閃indows95/NT在扇區(qū)加密后不允許殺毒軟件直接讀/寫(xiě)它的扇區(qū),而用Windows95/NT殺毒軟件就能把病毒清除。
 
  對(duì)于殺毒軟件來(lái)說(shuō),實(shí)時(shí)監(jiān)控能力也是一個(gè)相當(dāng)重要的標(biāo)準(zhǔn),如果進(jìn)來(lái)的文件和磁盤(pán)中有病毒應(yīng)該能100%的檢查到,保證文件服務(wù)器的安全(如避免Windows NT遭受宏病毒的攻擊,對(duì)所有進(jìn)來(lái)的郵件進(jìn)行掃描)都是必需的。如果殺毒軟件在網(wǎng)絡(luò)管理方面的功能很強(qiáng),那它的價(jià)值也很大。
另一個(gè)重要的標(biāo)準(zhǔn)是工作速度。如果全面掃描整個(gè)系統(tǒng)需要好幾小時(shí)才能完成,大多數(shù)用戶(hù)可能不會(huì)經(jīng)常掃描。不同的殺毒軟件用不同掃描算法,有的速度快質(zhì)量好,而有的可能速度慢而且質(zhì)量也沒(méi)有那么高,這些要依靠軟件開(kāi)發(fā)者的能力。

  附加功能作為評(píng)價(jià)殺毒軟件的最后一個(gè)標(biāo)準(zhǔn),因?yàn)闆](méi)有這些功能不會(huì)影響整個(gè)軟件的使用。然而,有的功能對(duì)用戶(hù)來(lái)說(shuō)很方便,做事情會(huì)更容易,這樣會(huì)促使用戶(hù)經(jīng)常使用殺毒軟件。

  殺毒技術(shù)發(fā)展的趨勢(shì)

  由于Internet的普及,互聯(lián)網(wǎng)已經(jīng)成為病毒制作技術(shù)擴(kuò)散、病毒傳播的重要途徑,病毒開(kāi)發(fā)者之間已經(jīng)出現(xiàn)了團(tuán)隊(duì)合作的趨勢(shì),病毒制作技術(shù)也在與黑客技術(shù)進(jìn)行融合。他們對(duì)現(xiàn)在的病毒對(duì)抗技術(shù)提出了挑戰(zhàn),因此,病毒防護(hù)技術(shù)正在發(fā)生重大的變化,概括起來(lái)說(shuō),就是病毒對(duì)抗的理論在做從作品對(duì)抗到思想對(duì)抗的轉(zhuǎn)變,產(chǎn)品形態(tài)在從獨(dú)立軟件產(chǎn)品向操作系統(tǒng)的補(bǔ)丁轉(zhuǎn)變。

    1)從作品對(duì)抗到思想對(duì)抗

  以前,殺毒軟件的理論基礎(chǔ)是,首先要發(fā)現(xiàn)并確認(rèn)一個(gè)病毒,然后,再進(jìn)行防范,它的缺點(diǎn)是,對(duì)未知病毒的防范能力弱,我們沒(méi)有有效的辦法對(duì)付各種病毒的變形,對(duì)融合了黑客技術(shù)的病毒,不能有效防范。一般是一種新病毒發(fā)作后,大家才能開(kāi)發(fā)出查殺該病毒的軟件,用戶(hù)還需要盡快升級(jí)自己的防毒軟件,因此,可以說(shuō)以前的方法就好象警察找罪犯,在警察沒(méi)有看到罪犯犯罪,或得到舉報(bào)前,即使罪犯犯了罪,警察也沒(méi)有辦法,這是一種病毒制造者與安全專(zhuān)家之間在作品層面的競(jìng)賽。而新的理論是基于對(duì)大量的病毒的特征、發(fā)作過(guò)程、傳播變化統(tǒng)計(jì)的基礎(chǔ)上,建立控制策略數(shù)學(xué)模型,采取分門(mén)別類(lèi)的方法,有效解決應(yīng)用同種思想開(kāi)發(fā)出的各種病毒,可以極大提高對(duì)新病毒的反應(yīng)時(shí)間。由于這種方法是通過(guò)抑制病毒設(shè)計(jì)思想而實(shí)現(xiàn)的,因此,這是一種病毒制造者與安全專(zhuān)家之間在整體思想層面的競(jìng)賽。

  因此,新的殺毒軟件不僅僅是依據(jù)病毒數(shù)據(jù)庫(kù)中的病毒代碼對(duì)計(jì)算機(jī)進(jìn)行掃描,而是對(duì)計(jì)算機(jī)所運(yùn)行的各種進(jìn)程、各種操作進(jìn)行監(jiān)控,如果發(fā)現(xiàn)某個(gè)事件或某項(xiàng)操作存在典型的病毒特征,或是對(duì)計(jì)算機(jī)存在危害,那么這些事件或操作就會(huì)被阻止,得以更有效地保護(hù)計(jì)算機(jī)不受新型病毒的入侵。

  2)從獨(dú)立產(chǎn)品到操作系統(tǒng)的補(bǔ)丁

  殺毒軟件作為一個(gè)獨(dú)立的軟件產(chǎn)品,已經(jīng)存在了很久,但是,由于病毒制造者越來(lái)越多地利用操作系統(tǒng)的漏洞和黑客技術(shù),因此,與操作系統(tǒng)的緊密結(jié)合成為一種必然:一方面,可以幫助操作系統(tǒng)減少漏洞,另一方面,也可以進(jìn)一步提高運(yùn)行效率和軟件兼容度。從商業(yè)角度上來(lái)說(shuō),安全技術(shù)可以融入各種應(yīng)用系統(tǒng),減少應(yīng)用系統(tǒng)自身的安全漏洞,同時(shí),也可以為用戶(hù)提供更加個(gè)性化的安全服務(wù)。

  科技帶來(lái)了進(jìn)步,也帶來(lái)了計(jì)算機(jī)病毒,我們與計(jì)算機(jī)病毒所作的斗爭(zhēng),是一個(gè)人、一群人與另一個(gè)人、一群人智慧的斗爭(zhēng),因?yàn)椴《韭斆鞫兄腔,就像制造病毒的那些人一樣,他們發(fā)明了新的病毒——我們就不得不小心的對(duì)付它;他們發(fā)明了一個(gè)很高明的病毒——我們還是得更小心的對(duì)付它。我們每天坐在計(jì)算機(jī)前,象個(gè)啞巴一樣不說(shuō)話,面對(duì)著一個(gè)個(gè)的病毒妖怪,這樣的一個(gè)病毒,我們分析需要一天,而編寫(xiě)防病毒算法又得一天,很像活的生物進(jìn)化歷程呢,不是嗎?

關(guān)鍵詞:病毒