摘要:隨著計算機及計算機網(wǎng)絡的發(fā)展,伴隨而來的計算機病毒的傳播問題越來越引起人們的關注,與止同時計算機殺毒軟件也應運而生,現(xiàn)在市場上銷售的殺毒軟件也有幾十種之多,但是計算機各銷售商家之間的競爭主要圍繞計算機性能的競爭,殺毒軟件在運行時占用系統(tǒng)資源的多少勢必影響到計算機的性能,本文對此問題做初步探索。
關鍵詞:病毒軟件;占用;系統(tǒng)資源
中圖分類號:TP307 文獻標識碼:A 文章編號:1007-9599 (2012) 10-0000-02
一、病毒檢測機制
反病毒軟件也稱殺毒軟件,一般由掃描器、病毒庫與虛擬機組成,并由主程序將他們結為一體。掃描器是殺毒軟件的核心,用于發(fā)現(xiàn)病毒,一個殺毒軟件的殺毒效果好壞就直接取決于它的掃描器編譯技術與算法是否先進,而且殺毒軟件不同的功能往往對應著不同的掃描器,也就是說,大多數(shù)殺毒軟件都是由多個掃描器組成的。而病毒庫存儲的特征碼形式則取決于掃描器采用哪種掃描技術。它里面存儲著很多病毒所具有的獨一無二的特征字符,我們稱之為“特征碼”。特征碼總的說來只有兩個,文件特征碼與內存特征碼。文件特征碼存在于一些未執(zhí)行的文件里,例如EXE文件、RMVB文件、jpg文件甚至是txt文件中都有可能存在文件特征碼,也都有可能被查殺。而內存特征碼僅僅存在于內存中已運行的應用程序。而虛擬機則是最近引進的概念,它可以使病毒在一個由殺毒軟件構建的虛擬環(huán)境中執(zhí)行,與現(xiàn)實的CPU、硬盤等完全隔離,從而可以更加深入的檢測文件的安全性。
早期的反病毒技術是采取單純的病毒特征判斷,將病毒從帶毒文件中清除掉。這種方式可以準確地清除病毒,可靠性很高。后來病毒技術發(fā)展了,特別是加密和變形技術的運用,使得這種簡單的靜態(tài)掃描方式失去了作用。隨之而來的反病毒技術也發(fā)展了一步。
隨后的技術是采用靜態(tài)廣譜特征掃描方法檢測病毒,這種方式可以更多地檢測出變形病毒,但另一方面誤報率也提高,尤其是用這種不嚴格的特征判定方式去清除病毒帶來的風險性很大,容易造成文件和數(shù)據(jù)的破壞。
之后反病毒技術的主要特點是將靜態(tài)掃描技術和動態(tài)仿真跟蹤技術結合起來,將查找病毒和清除病毒合二為一,形成一個整體解決方案,能夠全面實現(xiàn)防、查、消等反病毒所必備的各種手段,以駐留內存方式防止病毒的入侵,凡是檢測到的病毒都能清除,不會破壞文件和數(shù)據(jù)。隨著病毒數(shù)量的增加和新型病毒技術的發(fā)展,靜態(tài)掃描技術將會使查毒軟件速度降低,駐留內存防毒模塊容易產(chǎn)生誤報。
近來反病毒技術則是針對計算機病毒的發(fā)展而基于病毒家族體系的命名規(guī)則、基于多位CRC校驗和掃描機理,啟發(fā)式智能代碼分析模塊、動態(tài)數(shù)據(jù)還原模塊(能查出隱蔽性極強的壓縮加密文件中的病毒)、內存解毒模塊、自身免疫模塊等先進的解毒技術,較好的解決了以前防毒技術顧此失彼、此消彼長的狀態(tài)。
二、反病毒軟件與系統(tǒng)資源的關系
反病毒軟件在運行時,除了本身虛擬機的運行需要耗費系統(tǒng)資源外,還擔負著查毒殺毒的工作,存儲設備的監(jiān)控、外接端口設備的監(jiān)控、緩存區(qū)的監(jiān)控、病毒庫更新檢查、病毒的查殺隔離工作,這些工作無一不耗用系統(tǒng)的寶貴資源,很多反病毒軟件還帶有防火墻功能,這將耗費很大一筆系統(tǒng)開銷。
占用大量內存,耗盡電腦CPU?,F(xiàn)在電腦的硬件比以前是越來越好,網(wǎng)速也越來越快,但是系統(tǒng)為什么越來越慢?這與殺毒軟件的特征庫越來越大、升級越來越頻繁有關。以前一年才出幾千個病毒,現(xiàn)在一年要冒出幾千萬個新木馬,增長1萬倍,特征庫就像惡性腫瘤一樣膨脹。傳統(tǒng)殺毒引擎在掃描和監(jiān)控時,需要把特征庫寫入電腦內存,特征庫越大,系統(tǒng)就被拖得越慢,特征庫自身升級下載的速度也越慢。殺毒軟件帶著特征庫,就像烏龜背著殼,要跑得快幾乎很難做到,但是如果沒有特征庫,殺毒軟件又相當于手無寸鐵。
現(xiàn)在,一款殺毒軟件的大小動輒就是50兆起步,有的甚至到了七八十兆、100兆,電腦硬盤要給它騰出很大的空間來存放病毒庫。所以,殺毒軟件成了電腦里占用資源較大、對CPU運算能力提出了考驗。
三、目前流行的殺毒軟件占用系統(tǒng)資源情況
反病毒軟件的資源占用情況一直頗受用戶關注,如果占用過高,會影響到實際的運行速度和整體效果,所以,很多用戶也將資源占用的高低算作了重要的考核手法,而目前8款主流殺毒軟件中,整體的資源占用情況如何呢,我們就以在檢測過程中的實際數(shù)值情況,簡單進行一番橫向對比。
經(jīng)過測試,分別截取包括瑞星全功能安全軟件2010、卡巴斯基2010、ESET NOD32、熊貓全功能2010、諾頓2009、江民殺毒2009、金山毒霸2009、360殺毒1.0等版本軟件在啟動和掃描過程中的資源占用情況,對其進行深度對比??茨目钴浖馁Y源占用更低,更加適合用戶使用。
(一)在啟動過程中的資源占用情況
下面則是各款殺毒軟件產(chǎn)品在啟動過程中的資源占用情況:
從上圖的數(shù)據(jù)中可以看得出,熊貓全功能2010、360殺毒1.0等軟件對CPU和內存的占用率較低。
(二)在動態(tài)模式下的資源占用情況:
為詳細測試殺毒軟件在動態(tài)模式下的資源占用情況,我們特別對其進行了多次取值,并每次截取5組數(shù)值,下面則是詳細的評測數(shù)據(jù)和圖表信息。
從實際數(shù)據(jù)我們可以看出,熊貓全功能2010軟件、ESET NOD32、瑞星全功能安全軟件2010等軟件在動態(tài)模式下的資源占用相對較低,特別是來自國外的熊貓全功能安全軟件,更是相對平穩(wěn),整體數(shù)據(jù)非常理想。
四、減少占用系統(tǒng)資源的幾點設想和建議
綜合前述,減少軟件占用系統(tǒng)資源,主要從兩個方面著手,一個是用戶,另一個就是軟件生產(chǎn)廠商。(一)在用戶方面,主要是正確使用軟件,養(yǎng)成良好的安全意識習慣。首先很多反病毒軟件在掃描到病毒或可疑文件時進行清除或隔離處理,隨著時間的推移被隔離的文件就會越來越多,這無疑也占用了不少的磁盤空間,以卡巴斯基為例,本人在半年的時間內觀察到被隔離的文件多達200百兆,并定期對被隔離的文件清除以節(jié)省磁盤空間;其次在使用某一反病毒軟件時,把更新補丁或病毒庫文件存放分區(qū)與系統(tǒng)盤分開。在保存清除病毒效果的前提下,選用占用系統(tǒng)資源少的殺毒軟件。(二)在軟件生產(chǎn)廠商方面。1.縮小安裝文件的體積。一般來說,安裝文件體積越大,機器啟動后,實時監(jiān)控就必須調入更多的文件到系統(tǒng)內存中,因此占用的資源也就越多;一些動輒安裝包在30-40MB以上的殺軟就屬于此類。這類殺軟常常缺乏執(zhí)行代碼的優(yōu)化,使用多個進程達到實時監(jiān)控、自我保護、計劃任務等的目的,加大了系統(tǒng)內存的負擔,使得系統(tǒng)可分配資源減少,機器運行效率顯著下降。NOD32商業(yè)版的安裝文件僅12MB左右大小,安裝后的文件夾占用硬盤30MB,屬于殺軟中非常輕巧的類型,兩個進程占用內存8-25MB,有執(zhí)行方面的優(yōu)勢。2.改進程序設計思想。NOD32只有兩個進程:核心進程和圖形界面進程。核心進程nod32krn.exe負責文件監(jiān)控、文檔監(jiān)控、網(wǎng)絡數(shù)據(jù)流監(jiān)控和電子郵件的監(jiān)控,以及計劃任務和病毒庫升級所有工作。核心進程是IceSword無法成功終止的,終止后會立即自動生成。這種單進程多任務的監(jiān)控機理,使NOD32降低了資源占用,因此不會有卡機的感覺。3.接下來談談殺毒引擎。一些殺軟如KAV運行時,兩個進程加起來常在10-15MB左右,貌似資源占用很少。其實在這個時候,軟件使用了SetProcessWorkingSetSize這樣的API函數(shù),將內存占用值強行推至虛擬內存,造成了內存占用數(shù)值降低的假象。虛擬內存的占用雖節(jié)省了資源,但帶來的后果就是頻繁的虛擬內存交換引起頻繁的讀盤操作,系統(tǒng)速度自然就會受到很大影響。此外,KAV的引擎缺乏執(zhí)行效率的優(yōu)化,導致后臺對加載和讀取的文件進行掃描時,尤其是進入壓縮包掃描時,耗時過長、CPU占用率過高,導致機器很卡。NOD32自主開發(fā)的引擎,具有業(yè)界領先的高啟發(fā)式技術,即使在動態(tài)虛擬機環(huán)境下,也不會有卡機的感覺。4.最后再說一下病毒庫數(shù)量。殺軟在實時監(jiān)控的過程中,會完整調用自身病毒庫,以方便比對和認定惡意程序。因此病毒庫數(shù)量越多、需要調用的特征碼就越多,資源占用也就會越大。NOD32有業(yè)界稱道的基因特征碼技術,將同類病毒變種的共同特征提取出來,升級一條病毒特征往往可以查殺數(shù)種甚至數(shù)十種同類病毒,因此減少病毒庫特征碼數(shù)量的同時,卻保持同樣的查殺效果
目前在殺毒領域中解決傳統(tǒng)殺毒軟件占用系統(tǒng)資源較多的弊端的辦法,通過互聯(lián)網(wǎng)化的云安全技術來實現(xiàn)無需升級的病毒查殺。云查殺引擎能否借助互聯(lián)網(wǎng)技術手段,提高掃描速度,把傳統(tǒng)的需要耗時耗資源的模式改成了不再需要頻繁升級木馬庫。實現(xiàn)只要用戶上網(wǎng),就能實時與“云安全”數(shù)據(jù)中心無縫對接,利用服務器端的最新木馬庫對用戶電腦進行掃描和查殺。若真能實現(xiàn),那么哪怕是剛出現(xiàn)的木馬,幾分鐘之內就能捕獲并具備查殺能力,而且占用系統(tǒng)資源極小。
參考文獻:
[1]卓新建,鄭康鋒,辛陽.計算機病毒原理與防治.(第2版).北京郵電大學出版社,2007
[2]游向峰.打造安全的網(wǎng)絡環(huán)境之“云安全”.電腦編程技巧與維護,2009,8