專利名稱:高效計算機(jī)病毒檢測系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及用于檢測計算機(jī)病毒的改進(jìn)的系統(tǒng)和方法,更特別地,涉及用于提供自動的和用戶可選的機(jī)制的有利技術(shù),該機(jī)制用于按照軟件應(yīng)用來組織包含病毒標(biāo)記(virus signature)的反病毒集合,以最小化由于掃描計算機(jī)病毒而產(chǎn)生的對處理器使用的影響。
背景技術(shù):
通常,目前的計算機(jī)反病毒軟件程序花費(fèi)大量的時間對照已過時的病毒標(biāo)記檢查計算機(jī)文件。計算機(jī)病毒通常利用諸如AIX、LINUX、Windows或類似的操作系統(tǒng)以及諸如JavaTM虛擬機(jī)、Visual Basic或類似的解釋程序中的漏洞。病毒還利用在諸如MicrosoftOutlook、MicrosoftExcel或類似的現(xiàn)成的軟件應(yīng)用中發(fā)現(xiàn)的漏洞。然而,隨著時間的流逝,新版本的操作系統(tǒng)、解釋程序、以及軟件應(yīng)用解決了那些以前的漏洞,使得很多病毒標(biāo)記變得不相關(guān)了。
此外,現(xiàn)有的50,000種病毒中的多數(shù)病毒是針對于在Windows操作系統(tǒng)或被定制在Windows上運(yùn)行的流行軟件應(yīng)用版本中的漏洞。雖然Windows操作系統(tǒng)可能是相當(dāng)普遍的,但是許多企業(yè)也在運(yùn)行其他操作系統(tǒng)的計算機(jī)上運(yùn)行流行軟件應(yīng)用版本。這些企業(yè)通常為了安全目的需要在他們的計算機(jī)上運(yùn)行反病毒軟件程序。很多這些運(yùn)行在非Windows操作系統(tǒng)上的典型反病毒程序仍然對照針對在Windows上運(yùn)行的軟件應(yīng)用版本定制的病毒標(biāo)記掃描文件。當(dāng)對文件應(yīng)用不相關(guān)的標(biāo)記時,諸如處理器使用、存儲器、存儲設(shè)備及類似的計算機(jī)資源就被不必要地被消耗了。應(yīng)當(dāng)注意這里使用的術(shù)語Windows指由Microsoft公司開發(fā)的包括XP、XP專業(yè)版、NT等的Windows操作系統(tǒng)系列。
顯然地,當(dāng)大部分標(biāo)記是無關(guān)的并依賴于應(yīng)用反病毒程序的環(huán)境時,針對每個新文件檢查50,000種病毒標(biāo)記會導(dǎo)致計算機(jī)資源的低效使用。因此需要對計算機(jī)病毒提供更有效檢測的系統(tǒng)和方法。
發(fā)明內(nèi)容
在本發(fā)明的幾個方面之中,本發(fā)明提供了一種用于將病毒標(biāo)記組織為反病毒集合的機(jī)制,其中每一集合包含由該集合中所有病毒標(biāo)記共享的特征。當(dāng)一個執(zhí)行媒介進(jìn)行程序啟動時,與包含用于該可執(zhí)行程序的病毒標(biāo)記的相關(guān)反病毒集合有關(guān)的反病毒程序驗證該可執(zhí)行程序的完整性。通過利用特定執(zhí)行媒介與反病毒集合的相關(guān)性,實時反病毒程序通過將病毒檢測器聚焦于對該操作環(huán)境所定制的病毒,來有利地利用計算機(jī)資源。
本發(fā)明的另一方面包括提供可由用戶修改以進(jìn)一步指定利用病毒標(biāo)記掃描病毒載體的范圍和層次的表。
本發(fā)明的另一方面包括提供將一些規(guī)則指派給一可執(zhí)行程序以控制反病毒集合應(yīng)用到該可執(zhí)行程序的目標(biāo)文件的方式。
根據(jù)下面詳細(xì)的說明和附圖,對本發(fā)明更加完全的理解,以及本發(fā)明的進(jìn)一步特征和優(yōu)點(diǎn)將是顯然的。
圖1顯示在其中本發(fā)明可被適當(dāng)?shù)貙崿F(xiàn)的示例性計算機(jī)系統(tǒng)的方框圖;圖2是說明根據(jù)本發(fā)明的優(yōu)選實施例的計算機(jī)系統(tǒng)的特定示例的功能性軟件部件的方框圖;圖3顯示用于根據(jù)本發(fā)明的劃分病毒標(biāo)記的示例性數(shù)據(jù)庫關(guān)系圖;以及圖4是說明根據(jù)本發(fā)明的檢測計算機(jī)病毒的方法的流程圖。
具體實施例方式
圖1顯示說明在其中本發(fā)明可被適當(dāng)?shù)貙崿F(xiàn)的計算機(jī)的方框圖。計算機(jī)100可以適宜地是手持計算機(jī)、筆記本、服務(wù)器或任何其他需要保護(hù)免受計算機(jī)病毒之害的基于處理器的機(jī)器。如圖所示的計算機(jī)使用外圍部件互連(PCI)局部總線體系結(jié)構(gòu)。雖然顯示了PCI總線,但諸如加速圖形端口(AGP)和工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)的其他總線體系結(jié)構(gòu)也可被使用。處理器110和主存儲器130通過PCI橋120連接到PCI局部總線140。PCI橋120也可以包括集成的存儲器控制器和用于處理器110的高速緩沖存儲器。在所示的例子中,小型計算機(jī)系統(tǒng)接口(SCSI)主機(jī)總線適配器150、局域網(wǎng)(LAN)適配器160、以及擴(kuò)展總線接口170通過直接部件連接被連接到PCI局部總線140。擴(kuò)展總線接口170提供到用于其他未顯示的外圍設(shè)備的擴(kuò)展總線190的連接。SCSI主機(jī)總線適配器150提供對于硬盤驅(qū)動器180、磁帶驅(qū)動器115和CD-ROM驅(qū)動器125的連接。一操作系統(tǒng)運(yùn)行于處理器110上并被用于對計算機(jī)100中的各種部件進(jìn)行協(xié)調(diào)和提供控制。該操作系統(tǒng)可以是可購買到的操作系統(tǒng),諸如AIX、LINUX、Windows、WindowsCE3.0等。諸如JavaTM、Object Oriented Perl、或Visual Basic的面向?qū)ο蟮木幊滔到y(tǒng)可與操作系統(tǒng)一起運(yùn)行并提供自計算機(jī)100中的處理器110執(zhí)行的JavaTM程序或應(yīng)用對操作系統(tǒng)的調(diào)用。用于操作系統(tǒng)、面向?qū)ο蟮牟僮飨到y(tǒng)、以及諸如本發(fā)明的應(yīng)用或程序的指令位于諸如盤180或網(wǎng)絡(luò)服務(wù)器的存儲設(shè)備上,并可以被加載到主存儲器130中以供處理器110執(zhí)行。反病毒應(yīng)用135包含根據(jù)如圖1的實施例中所說明的本發(fā)明要執(zhí)行的指令。這些指令實現(xiàn)的步驟有諸如將病毒標(biāo)記組織為多個反病毒集合,其中每一集合包含由該集合中所有病毒標(biāo)記所共享的特征,將該多個反病毒集合的一部分與執(zhí)行媒介相關(guān)聯(lián),以及響應(yīng)由該執(zhí)行媒介所引發(fā)的觸發(fā)機(jī)制,掃描目標(biāo)文件的內(nèi)容以尋找與存儲在所述相關(guān)的一個或多個反病毒集合中的病毒標(biāo)記相匹配的病毒標(biāo)記。處理器110一般可以運(yùn)行于200Mhz或更高頻率。
本領(lǐng)域的普通技術(shù)人員將理解圖1中的硬件可根據(jù)具體實施而變化。其他的內(nèi)部硬件或外圍設(shè)備,諸如閃速ROM或等效的非易失性存儲器等,可被用于附加于或替代圖1中所示的硬件。并且,本發(fā)明的過程也可被應(yīng)用于多處理器數(shù)據(jù)處理系統(tǒng)。
圖1中所示的例子和以下所述的示例并不意味著對本發(fā)明體系結(jié)構(gòu)的限制。
圖2示出了一個說明示例性軟件功能部件的方框圖,該些軟件功能部件可被適宜地應(yīng)用于根據(jù)本發(fā)明的圖1中所示的計算機(jī)系統(tǒng)。本領(lǐng)域的普通技術(shù)人員將理解在軟件應(yīng)用220、操作系統(tǒng)210,及反病毒檢測應(yīng)用240中采用的指令操作由例如圖1的處理器110的處理器來執(zhí)行。本領(lǐng)域的普通技術(shù)人員將認(rèn)識到,本發(fā)明的許多實施例也是可行的,且顯示在圖2中的例子是為了說明的目的被顯示的,并不限制本發(fā)明的范圍。
計算機(jī)系統(tǒng)200包括一個或多個軟件應(yīng)用220,具有文件操作工具230的操作系統(tǒng)210,和具有關(guān)聯(lián)表250的反病毒檢測應(yīng)用240。軟件應(yīng)用220代表定制軟件應(yīng)用和諸如Lotus1-2-3、Freelance Graphics、MicrosoftWord等的現(xiàn)成軟件。文件225由運(yùn)行著的軟件應(yīng)用220創(chuàng)建或可由其讀取。文件225可能已由計算機(jī)系統(tǒng)200,或由隨后通過局域網(wǎng)或因特網(wǎng)等將它們傳送給計算機(jī)系統(tǒng)200的另一個計算機(jī)系統(tǒng)所創(chuàng)建。計算機(jī)病毒可能被也稱作執(zhí)行媒介的軟件應(yīng)用220、或者被也稱作目標(biāo)文件的文件225所攜帶。如有關(guān)圖1的說明中所描述的,操作系統(tǒng)210可以是可購買到的??蛇x地,操作系統(tǒng)210可包括JavaTM虛擬機(jī)、或其他類似的解釋軟件部件。文件操作工具230通過接收文件操作請求然后在諸如盤、磁帶、CD ROM、LAN適配器等硬件設(shè)備上滿足這些請求,來控制計算機(jī)系統(tǒng)200中的文件的文件管理。例如,每當(dāng)軟件應(yīng)用220需要打開、創(chuàng)建、刪除、讀或?qū)懳募r,軟件應(yīng)用220就向文件操作工具230發(fā)出其請求。當(dāng)接收到請求時,文件操作工具230就在相關(guān)的硬件設(shè)備上打開該文件。
反病毒檢測應(yīng)用240含有規(guī)則引擎245和用于存儲并向執(zhí)行媒介指派規(guī)則和反病毒集合的關(guān)聯(lián)表250。在圖2所示的例子中,關(guān)聯(lián)表250含有至少3列260A-C和表示表250中的記錄的行265A-D。列260A包括已知的可被安裝在計算機(jī)系統(tǒng)200中的執(zhí)行媒介。例如,用于Windows XP的1-2-3版本4已被輸入在行265A、列260A的字段內(nèi),用于Linux的1-2-3版本4已被輸入在行265B、列260B的字段內(nèi),電子數(shù)據(jù)表格應(yīng)用A已被輸入在行265C、列260C的字段內(nèi),及通配符“*”已被輸入在行265D、列260A的字段內(nèi)。
如圖2所示,表250對于在不同操作系統(tǒng)上的相同應(yīng)用的不同版本例如用于XP的1-2-3和用于Linux的1-2-3可具有不同項,這允許反病毒應(yīng)用基于執(zhí)行媒介所運(yùn)行的操作環(huán)境來掃描應(yīng)用。盡管沒有示出,表250允許用于相同應(yīng)用的不同版本的不同項被分配給不同的病毒標(biāo)記集合。此指派機(jī)制允許當(dāng)目標(biāo)文件由已修復(fù)了在以前版本中發(fā)現(xiàn)的漏洞的較近版本的執(zhí)行媒介打開時,根據(jù)本發(fā)明的反病毒應(yīng)用免除由利用以前的漏洞的病毒標(biāo)記掃描目標(biāo)文件。
列260A內(nèi)的字段項可由反病毒檢測應(yīng)用240利用已知的技術(shù)例如搜索盤驅(qū)動器以確定哪些應(yīng)用已被安裝在計算機(jī)系統(tǒng)200上,來自動填充。例如,在Windows操作環(huán)境下,可掃描Windows注冊表來發(fā)現(xiàn)已安裝應(yīng)用的存在。特別地,著名的應(yīng)用已公布了表示該應(yīng)用名稱、版本等的標(biāo)記以允許通過掃描盤驅(qū)動器、注冊表等以發(fā)現(xiàn)這些所公布的標(biāo)記,來填充表250,而無需用戶交互。另外,當(dāng)應(yīng)用被安裝或當(dāng)應(yīng)用執(zhí)行時,應(yīng)用項可自動在列260A中填充字段項。類似地,反病毒應(yīng)用240允許用戶擁有適當(dāng)?shù)臋?quán)利以修改各項及向表250添加其他記錄。
列260B包括含有一個或多個要以由在列260C中指定的一個或多個規(guī)則所定義的方式被應(yīng)用的病毒標(biāo)記的反病毒集合的名稱。列260C可選地包括一個或多個驅(qū)動規(guī)則引擎245以指示相關(guān)的反病毒集合應(yīng)當(dāng)怎樣和什么時候被應(yīng)用的規(guī)則。例如,一規(guī)則可以包括一個指示,即每當(dāng)被列于列260A中的執(zhí)行媒介打開一個目標(biāo)文件時,通過應(yīng)用在用于該執(zhí)行媒介的反病毒集合中發(fā)現(xiàn)的病毒標(biāo)記來掃描該目標(biāo)文件。其他規(guī)則可描述掃描發(fā)生的方式。例如,可指定將引起掃描計算機(jī)系統(tǒng)200的文件系統(tǒng)中與一指定執(zhí)行媒介相關(guān)聯(lián)的所有目標(biāo)文件的定期方式,而不是當(dāng)文件打開時觸發(fā)掃描。
其他規(guī)則可指定相關(guān)病毒標(biāo)記的覆蓋范圍??紤]到文件一般包括在創(chuàng)建時由操作系統(tǒng)分配的唯一文件標(biāo)識符,規(guī)則可以指定當(dāng)應(yīng)用所指派的反病毒集合時排除在外或包含在內(nèi)的目標(biāo)文件的文件標(biāo)識符。作為另一個例子,規(guī)則可被指定以跟蹤先前已被掃描過的目標(biāo)文件以免除冗余的掃描。
回過來參照在行265D、列260A的通配符項,支持通配符項允許本發(fā)明對于未列出或不知道的應(yīng)用來定制病毒掃描。正如對于已知的通配符匹配,字符的組合被匹配于通配符以確定一個匹配。例如,項“*”將匹配未列于列260A中的任何執(zhí)行媒介,而項“Word*”將匹配所有的與版本或操作環(huán)境無關(guān)的Word應(yīng)用。這樣一種方案提供了定制對由執(zhí)行媒介所攜帶的病毒進(jìn)行病毒掃描的手段。
存在許多已知的描述一個典型的反病毒應(yīng)用怎樣連接到操作系統(tǒng)的技術(shù)。例如,一個已知技術(shù)包括每當(dāng)文件操作工具230對一個目標(biāo)文件發(fā)出文件打開指令時觸發(fā)反病毒檢測應(yīng)用240的操作。例如,每當(dāng)操作系統(tǒng)被調(diào)用以發(fā)出一個用以打開文件的函數(shù),例如fopen()函數(shù)調(diào)用時,在軟件應(yīng)用220發(fā)出任何讀或?qū)懻埱笾?,操作系統(tǒng)調(diào)用反病毒檢測應(yīng)用240。一旦被觸發(fā),在將環(huán)境返回給該fopen()函數(shù)之前,反病毒檢測應(yīng)用240可應(yīng)用列于列260B中的不同的反病毒集合。
每當(dāng)執(zhí)行媒介的指令開始執(zhí)行時,操作系統(tǒng)實例化運(yùn)行該執(zhí)行媒介的運(yùn)行進(jìn)程。該運(yùn)行進(jìn)程包括如列260A中所描述的與該執(zhí)行媒介相關(guān)的應(yīng)用標(biāo)記。操作中,本發(fā)明將在該運(yùn)行進(jìn)程中發(fā)現(xiàn)的應(yīng)用標(biāo)記與列260A中的項相比較,以確定是否存在與表250中特定行的匹配。如果存在匹配,與該匹配的執(zhí)行媒介相關(guān)的隨后的目標(biāo)文件將依照在被輸入到列260B中的反病毒集合中發(fā)現(xiàn)的所有病毒標(biāo)記被掃描。如以下有關(guān)圖3的討論所述的掃描的層次和范圍可按列260C中的規(guī)則來指定。
如果列260C為空,反病毒檢測應(yīng)用240利用存儲在顯示于列260B中的反病毒集合中的所有病毒標(biāo)記掃描目標(biāo)文件。如果260C中存在一個或多個規(guī)則,列于列260C中的該一個或多個規(guī)則被規(guī)則引擎245評估并應(yīng)用。
存在關(guān)聯(lián)表250的不同的實施例。關(guān)聯(lián)表250可以實現(xiàn)為文件、數(shù)據(jù)庫等。此外,列260B中的項示出了反病毒集合例如AV1、AV2和AV3的分配。這些反病毒集合可實現(xiàn)為計算機(jī)文件,或在優(yōu)選實施例中被組織到數(shù)據(jù)庫中。本發(fā)明將通常提供關(guān)聯(lián)表250的項的默認(rèn)值。然而,用戶可通過使用圖形用戶界面或在表250的實現(xiàn)為計算機(jī)文件的情況下使用文件編輯工具來修改該關(guān)聯(lián)表250。
圖3顯示根據(jù)本發(fā)明劃分病毒標(biāo)記的示例性數(shù)據(jù)庫關(guān)系圖300。在圖3中,數(shù)據(jù)庫關(guān)系圖300示出了排列的三個層次。第一層包含病毒標(biāo)記集合310。第二層包含病毒標(biāo)記集合320、330、340。第三層包含病毒標(biāo)記集合350、360和370。在一集合中發(fā)現(xiàn)的每一個病毒標(biāo)記與在該集合中發(fā)現(xiàn)的所有其他病毒標(biāo)記共享一共同特征。此特征在下文中被進(jìn)一步描述。注意,排列的其它層以及每一層的其它集合都是可能的。圖3旨在作為一個說明性例子,并無意限制本發(fā)明的范圍。
集合310包含利用在所有執(zhí)行媒介中發(fā)現(xiàn)的共同漏洞的所有共同病毒標(biāo)記的集合。集合320包含僅利用在應(yīng)用1中發(fā)現(xiàn)的漏洞的所有病毒的病毒標(biāo)記的集合。例如,如果集合320在關(guān)聯(lián)表250中被指派給應(yīng)用1,則掃描被應(yīng)用1訪問的目標(biāo)文件所需的相關(guān)病毒標(biāo)記,除了那些在集合310中發(fā)現(xiàn)的標(biāo)記,即對所有應(yīng)用共同的病毒標(biāo)記之外,將包括那些在集合320中發(fā)現(xiàn)的病毒標(biāo)記。集合320和集合310之間的這種關(guān)系由鏈接315所建立。集合330包含僅利用在一特定商業(yè)應(yīng)用套件中發(fā)現(xiàn)的漏洞的共同病毒標(biāo)記的集合。例如,如果集合330在關(guān)聯(lián)表250中被指派給一個應(yīng)用,則集合330通過鏈接325引用集合310以允許應(yīng)用除了對于該商業(yè)應(yīng)用套件共同的病毒標(biāo)記之外對于所有應(yīng)用共同的病毒標(biāo)記。集合340包含僅利用在應(yīng)用2中發(fā)現(xiàn)的漏洞的所有病毒標(biāo)記的集合,并通過鏈接335引用集合310。集合350包含僅利用在一般被打包到商業(yè)應(yīng)用套件中的電子數(shù)據(jù)表格應(yīng)用中發(fā)現(xiàn)的漏洞的所有病毒標(biāo)記的集合,并通過鏈接355引用集合330。集合360包含僅利用在一般被打包到商業(yè)應(yīng)用套件中的字處理應(yīng)用中發(fā)現(xiàn)的漏洞的所有病毒標(biāo)記的集合,并通過鏈接365引用集合330。集合370包含僅利用在一般被打包到商業(yè)應(yīng)用套件中的畫圖應(yīng)用中發(fā)現(xiàn)的漏洞的所有病毒標(biāo)記的集合,并通過鏈接375引用集合330。
通常,集合的大小隨著沿該層次結(jié)構(gòu)下降而減小,以致于集合310中的病毒標(biāo)記的數(shù)量將少于集合330中病毒標(biāo)記的數(shù)量且集合330中病毒標(biāo)記的數(shù)量將少于集合360中病毒標(biāo)記的數(shù)量。
作為例子,在例如表250的關(guān)聯(lián)表中用于電子數(shù)據(jù)表格應(yīng)用A的項將包括引用集合350的指示。在本發(fā)明的運(yùn)行期間,每當(dāng)電子數(shù)據(jù)表格被打開或被寫入文件系統(tǒng)時,將對照存儲在集合350中病毒標(biāo)記、存儲在集合330中的病毒標(biāo)記和存儲在集合310中的病毒標(biāo)記掃描該電子數(shù)據(jù)表格。例如,如果集合330被指派給畫圖應(yīng)用,則僅將使用集合330和310中的病毒標(biāo)記。將病毒標(biāo)記的集合排列為層次結(jié)構(gòu)通過免除了多余的反病毒集合的規(guī)定而提供了高效的存儲器利用。這種排列也允許通過指派來自特定的層的所希望的一組來改變覆蓋范圍。例如,用戶可能只想對一般被打包到一商業(yè)應(yīng)用套件中的應(yīng)用來應(yīng)用對于該整個商業(yè)應(yīng)用套件共同的病毒標(biāo)記。在這種情況下,用戶將把集合330指派到包含例如畫圖應(yīng)用標(biāo)記和字處理標(biāo)記的記錄的列260B。可提供未示出的第4層,以包括例如一字處理應(yīng)用的不同版本。添加第4層將允許用戶指定對于字處理應(yīng)用的所有版本共同的病毒標(biāo)記,或者對于字處理應(yīng)用的所有版本共同的病毒標(biāo)記,以及特定于特殊版本的病毒標(biāo)記。注意,如此處所使用的術(shù)語“用戶”包括但不限于執(zhí)行媒介的最終用戶、信息技術(shù)專家和網(wǎng)絡(luò)管理員等。
注意,鏈接315、325、335、355、365和375可以是雙向的以允許用戶為執(zhí)行媒介指定特定的集合例如集合330,并使來源于集合330的集合中的病毒標(biāo)記被應(yīng)用到該執(zhí)行媒介的目標(biāo)文件。該操作是另一個被在列260C中指定的規(guī)則可實現(xiàn)什么操作的示例。本領(lǐng)域的普通技術(shù)人員也應(yīng)當(dāng)認(rèn)識到存在許多將病毒標(biāo)記集合組織為層次結(jié)構(gòu)的實施方式,并且圖3中所示的示例性組織不意味著限制本發(fā)明的范圍。
圖4示出說明根據(jù)本發(fā)明檢測計算機(jī)病毒的方法的流程圖400。在步驟410,在不同的執(zhí)行媒介與一反病毒集合之間作出關(guān)聯(lián)。該關(guān)聯(lián)可由用戶預(yù)先指定或進(jìn)行更改。在步驟420,本發(fā)明被設(shè)定為基于執(zhí)行于操作系統(tǒng)或解釋程序的環(huán)境下的文件操作來觸發(fā)掃描操作。其他已知的觸發(fā)技術(shù)也是可獲得且可應(yīng)用的。在步驟430,當(dāng)操作系統(tǒng)試圖代表相關(guān)執(zhí)行媒介對目標(biāo)文件執(zhí)行文件操作時,本發(fā)明截取該文件操作以便執(zhí)行根據(jù)本發(fā)明的指令。雖然該實時掃描技術(shù)每當(dāng)新文件已被打開時試圖立即檢測病毒,但根據(jù)本發(fā)明可使用其他技術(shù),例如定期成批掃描。通過對于所需的執(zhí)行媒介將定期成批掃描規(guī)則輸入到列260C中,可實現(xiàn)基于每一執(zhí)行媒介的成批掃描。
在可選步驟450,本發(fā)明檢驗是否已定義免除掃描該目標(biāo)文件的規(guī)則。例如,一規(guī)則的作用可以是不重新掃描那些已被掃描過的目標(biāo)文件。如果存在被定義為免除掃描該目標(biāo)文件的規(guī)則,則進(jìn)入步驟496,在其中本發(fā)明允許文件操作繼續(xù)且本發(fā)明休眠。如果沒有被定義為免除掃描的規(guī)則,則本發(fā)明前進(jìn)到步驟460。在步驟460,本發(fā)明判定該執(zhí)行媒介是否具有任何相關(guān)的反病毒集合。如果不存在相關(guān)的反病毒集合,則進(jìn)入步驟470,在其中提供一可選默認(rèn)行為。例如,對照所有存儲的反病毒集合,掃描目標(biāo)文件和執(zhí)行媒介。如果存在相關(guān)的集合,則本發(fā)明前進(jìn)到步驟480,在其中對照存儲在該反病毒集合中的病毒標(biāo)記掃描目標(biāo)文件。注意,對照特定的病毒標(biāo)記掃描目標(biāo)文件的方式對本領(lǐng)域的普通技術(shù)人員來說是公知的。掃描步驟470和480的結(jié)果在步驟490中被分析。步驟490判定前一掃描是否發(fā)現(xiàn)了嵌入的病毒。如果沒有嵌入的病毒,則本發(fā)明前進(jìn)到可選步驟494。在步驟494,目標(biāo)文件被標(biāo)記以指示該文件已被成功掃描,然后前進(jìn)到步驟496。如果在步驟490在目標(biāo)文件中發(fā)現(xiàn)了嵌入病毒,則本發(fā)明前進(jìn)到步驟492。在步驟492,可對目標(biāo)文件執(zhí)行各種恢復(fù)操作??赏ㄖ脩舨⑾蛴脩籼峁┻x項。此類恢復(fù)選項包括隔離或刪除感染的文件。
應(yīng)該理解,雖然在本發(fā)明優(yōu)選實施例中反病毒應(yīng)用被以軟件來實現(xiàn),但在本發(fā)明的其他實施例中,被軟件部分執(zhí)行的全部或部分指令步驟可存在于與一個或多個計算機(jī)相連的固件或其他程序介質(zhì)中,其中這些計算機(jī)可運(yùn)行以與對目標(biāo)文件進(jìn)行操作的計算機(jī)系統(tǒng)進(jìn)行通信。
本發(fā)明的說明已基于說明和解釋的目的被呈現(xiàn),且并不意味著是窮舉的和以所公開的形式限制本發(fā)明。許多修改和變換對本領(lǐng)域技術(shù)人員來說是明顯的。被選出和描述的實施例是為了更好地解釋本發(fā)明的原理、其實際應(yīng)用,并使本領(lǐng)域的其他普通技術(shù)人員理解本發(fā)明。在權(quán)利要求的限制下,使本發(fā)明適應(yīng)特定環(huán)境或用戶所需的具有各種修改的各種實施例都是預(yù)期中的,包括但不限于依據(jù)迅速發(fā)展的硬件和軟件部件和技術(shù)對此處各種教導(dǎo)的改造。
權(quán)利要求
1.一種計算機(jī)可讀介質(zhì),其中的內(nèi)容引起計算機(jī)系統(tǒng)對與一執(zhí)行媒介相關(guān)的目標(biāo)文件執(zhí)行選擇性的病毒標(biāo)記掃描,所述計算機(jī)系統(tǒng)具有反病毒程序,該反病毒程序具有指令以執(zhí)行以下步驟將病毒標(biāo)記組織為多個反病毒集合,其中每一集合包含由該集合中所有病毒標(biāo)記共享的特征;將所述多個反病毒集合的一部分與所述執(zhí)行媒介相關(guān)聯(lián);以及掃描所述目標(biāo)文件的內(nèi)容以尋找與存儲在相關(guān)的一個或多個反病毒集合中的病毒標(biāo)記相匹配的病毒標(biāo)記。
2.權(quán)利要求1的計算機(jī)可讀介質(zhì),進(jìn)一步包括在所述掃描步驟之前的一步驟,該步驟包括將一規(guī)則與所述執(zhí)行媒介相關(guān)聯(lián)以指出所述多個反病毒集合的所述相關(guān)部分被應(yīng)用的方式。
3.權(quán)利要求1的計算機(jī)可讀介質(zhì),其中所述相關(guān)聯(lián)步驟包括提供用戶可選擇的選項。
4.權(quán)利要求2的計算機(jī)可讀介質(zhì),其中所述應(yīng)用的規(guī)則包括一個或多個目標(biāo)文件的定期成批掃描。
5.權(quán)利要求2的計算機(jī)可讀介質(zhì),其中所述多個反病毒集合的所述相關(guān)部分被應(yīng)用于執(zhí)行媒介的目標(biāo)文件的方式包括調(diào)用隨后對所述執(zhí)行媒介的目標(biāo)文件進(jìn)行掃描的觸發(fā)機(jī)制。
6.權(quán)利要求5的計算機(jī)可讀介質(zhì),其中所述觸發(fā)機(jī)制包括當(dāng)請求對于所述目標(biāo)文件的文件操作時應(yīng)用所述掃描步驟。
7.權(quán)利要求5的計算機(jī)可讀介質(zhì),其中所述觸發(fā)機(jī)制包括對與所述執(zhí)行媒介相關(guān)的一個或多個目標(biāo)文件定期地應(yīng)用所述掃描步驟。
8.權(quán)利要求1的計算機(jī)可讀介質(zhì),進(jìn)一步包括在所述組織步驟之前的一步驟,該步驟包括確定被安裝在所述計算機(jī)系統(tǒng)上的多個執(zhí)行媒介。
9.權(quán)利要求1的計算機(jī)可讀介質(zhì),其中所述多個反病毒集合具有第一反病毒集合和第二反病毒集合,所述組織步驟進(jìn)一步包括將所述多個反病毒集合排列為具有第一和第二層的層次結(jié)構(gòu),所述第一層具有包含可共同地應(yīng)用于多個執(zhí)行媒介的病毒標(biāo)記的所述第一反病毒集合,所述第二層具有包含可排他地應(yīng)用于所述多個執(zhí)行媒介的第一部分的病毒標(biāo)記的所述第二反病毒集合。
10.權(quán)利要求1的計算機(jī)可讀介質(zhì),其中所述多個反病毒集合具有第一反病毒集合、第二反病毒集合、及第三反病毒集合,其中所述多個執(zhí)行媒介具有第一部分,其中所述組織步驟進(jìn)一步包括將所述多個反病毒集合排列為具有第一層、第二層、和第三層的層次結(jié)構(gòu),所述第一層具有包含可共同地應(yīng)用于所述多個執(zhí)行媒介的病毒標(biāo)記的所述第一反病毒集合,所述第二層具有包含可共同地應(yīng)用于所述多個執(zhí)行媒介的所述第一部分的病毒標(biāo)記的所述第二反病毒集合,所述第三層具有包含可排他地應(yīng)用于所述多個執(zhí)行媒介的所述第一部分中的一個的病毒標(biāo)記的所述第三反病毒集合。
11.一種用于對與一執(zhí)行媒介相關(guān)的目標(biāo)文件執(zhí)行選擇性的病毒標(biāo)記掃描的計算機(jī)系統(tǒng),具有一反病毒程序的該計算機(jī)系統(tǒng)包括用于將病毒標(biāo)記組織為多個反病毒集合的裝置,其中每一集合包含由該集合中所有病毒標(biāo)記共享的特征;用于將所述多個反病毒集合的一部分與所述執(zhí)行媒介相關(guān)聯(lián)的裝置;以及用于掃描所述目標(biāo)文件的內(nèi)容以尋找與存儲在相關(guān)的一個或多個反病毒集合中的病毒標(biāo)記相匹配的病毒標(biāo)記的裝置。
12.權(quán)利要求11的計算機(jī)系統(tǒng),進(jìn)一步包括用于將一規(guī)則與所述執(zhí)行媒介相關(guān)聯(lián)以指出所述多個反病毒集合的所述相關(guān)部分被應(yīng)用的方式的裝置。
13.權(quán)利要求12的計算機(jī)系統(tǒng),其中所述規(guī)則包括一個或多個目標(biāo)文件的定期成批掃描。
14.權(quán)利要求12的計算機(jī)系統(tǒng),其中所述多個反病毒集合的所述相關(guān)部分被應(yīng)用于執(zhí)行媒介的目標(biāo)文件的方式包括用于激活所述用于掃描的裝置的觸發(fā)機(jī)制。
15.權(quán)利要求14的計算機(jī)系統(tǒng),其中所述觸發(fā)機(jī)制包括當(dāng)請求對于所述目標(biāo)文件的文件操作時激活所述用于掃描步驟的裝置。
16.權(quán)利要求14的計算機(jī)系統(tǒng),其中所述觸發(fā)機(jī)制包括對與所述執(zhí)行媒介相關(guān)的一個或多個目標(biāo)文件定期地應(yīng)用所述掃描步驟。
17.權(quán)利要求11的計算機(jī)系統(tǒng),進(jìn)一步包括用于確定被安裝在所述計算機(jī)系統(tǒng)上的多個執(zhí)行媒介的裝置。
18.權(quán)利要求11的計算機(jī)系統(tǒng),其中所述多個反病毒集合具有第一反病毒集合和第二反病毒集合,所述用于組織的裝置進(jìn)一步包括用于將所述多個反病毒集合排列為具有第一和第二層的層次結(jié)構(gòu)的裝置,所述第一層具有包含可共同地應(yīng)用于多個執(zhí)行媒介的病毒標(biāo)記的所述第一反病毒集合,所述第二層具有包含可排他地應(yīng)用于所述多個執(zhí)行媒介的第一部分的病毒標(biāo)記的所述第二反病毒集合。
19.權(quán)利要求11的計算機(jī)系統(tǒng),其中所述多個反病毒集合具有第一反病毒集合、第二反病毒集合、及第三反病毒集合,其中所述多個執(zhí)行媒介具有第一部分,其中所述用于組織的裝置進(jìn)一步包括用于將所述多個反病毒集合排列為具有第一層、第二層、和第三層的層次結(jié)構(gòu)的裝置,所述第一層具有包含可共同地應(yīng)用于所述多個執(zhí)行媒介的病毒標(biāo)記的所述第一反病毒集合,所述第二層具有包含可共同地應(yīng)用于所述多個執(zhí)行媒介的所述第一部分的病毒標(biāo)記的所述第二反病毒集合,所述第三層具有包含可排他地應(yīng)用于所述多個執(zhí)行媒介的所述第一部分中的一個的病毒標(biāo)記的所述第三反病毒集合。
20.一種用于對與一執(zhí)行媒介相關(guān)的目標(biāo)文件執(zhí)行選擇性的病毒標(biāo)記掃描的方法,包括將病毒標(biāo)記組織為多個反病毒集合,其中每一集合包含由該集合中所有病毒標(biāo)記共享的特征;將所述多個反病毒集合的一部分與所述執(zhí)行媒介相關(guān)聯(lián);以及掃描所述目標(biāo)文件的內(nèi)容以尋找與存儲在相關(guān)的一個或多個反病毒集合中的病毒標(biāo)記相匹配的病毒標(biāo)記。
21.權(quán)利要求20的方法,進(jìn)一步包括在所述掃描步驟之前的一步驟,該步驟包括將一規(guī)則與所述執(zhí)行媒介相關(guān)聯(lián)以指出所述多個反病毒集合的所述相關(guān)部分被應(yīng)用的方式。
22.權(quán)利要求21的方法,其中所述規(guī)則包括一個或多個目標(biāo)文件的定期成批掃描。
23.權(quán)利要求20的方法,其中所述相關(guān)聯(lián)步驟包括提供用戶可選擇的選項。
24.權(quán)利要求21的方法,其中所述多個反病毒集合的所述相關(guān)部分被應(yīng)用于執(zhí)行媒介的目標(biāo)文件的方式包括用于隨后對所述執(zhí)行媒介的目標(biāo)文件進(jìn)行掃描的觸發(fā)機(jī)制。
25.權(quán)利要求24的方法,其中所述觸發(fā)機(jī)制包括當(dāng)請求對于所述目標(biāo)文件的文件操作時應(yīng)用所述掃描步驟。
26.權(quán)利要求24的方法,其中所述觸發(fā)機(jī)制包括對與所述執(zhí)行媒介相關(guān)的一個或多個目標(biāo)文件定期地應(yīng)用所述掃描步驟。
27.權(quán)利要求20的方法,進(jìn)一步包括在所述組織步驟之前的一步驟,該步驟包括確定被安裝在所述計算機(jī)系統(tǒng)上的多個執(zhí)行媒介。
28.權(quán)利要求20的方法,其中所述多個反病毒集合具有第一反病毒集合和第二反病毒集合,所述組織步驟進(jìn)一步包括將所述多個反病毒集合排列為具有第一和第二層的層次結(jié)構(gòu),所述第一層具有包含可共同地應(yīng)用于多個執(zhí)行媒介的病毒標(biāo)記的所述第一反病毒集合,所述第二層具有包含可排他地應(yīng)用于所述多個執(zhí)行媒介的第一部分的病毒標(biāo)記的所述第二反病毒集合。
29.權(quán)利要求20的方法,其中所述多個反病毒集合具有第一反病毒集合、第二反病毒集合、及第三反病毒集合,其中所述多個執(zhí)行媒介具有第一部分,其中所述組織步驟進(jìn)一步包括將所述多個反病毒集合排列為具有第一層、第二層、和第三層的層次結(jié)構(gòu),所述第一層具有包含可共同地應(yīng)用于所述多個執(zhí)行媒介的病毒標(biāo)記的所述第一反病毒集合,所述第二層具有包含可共同地應(yīng)用于所述多個執(zhí)行媒介的所述第一部分的病毒標(biāo)記的所述第二反病毒集合,所述第三層具有包含可排他地應(yīng)用于所述多個執(zhí)行媒介的所述第一部分中的一個的病毒標(biāo)記的所述第三反病毒集合。
全文摘要
本發(fā)明提供了一種將不同的病毒標(biāo)記組織為反病毒集合以最小化由于對計算機(jī)病毒的掃描而對處理器使用的影響的技術(shù)。所有被分配給一個反病毒集合的病毒標(biāo)記共享一個共同特征。隨后,所定義的反病毒集合被與一執(zhí)行媒介相關(guān)聯(lián),以便每當(dāng)該執(zhí)行媒介的目標(biāo)文件被訪問時,對照存儲在預(yù)先分配的該反病毒集合中的病毒標(biāo)記掃描該目標(biāo)文件,以判定該目標(biāo)文件是否感染了病毒。
文檔編號G06F21/00GK1605967SQ20041006247
公開日2005年4月13日 申請日期2004年7月8日 優(yōu)先權(quán)日2003年10月10日
發(fā)明者J·E·阿斯頓, J·M·萊克, D·D·曼納魯 申請人:國際商業(yè)機(jī)器公司