專利名稱:恢復(fù)受惡性計算機程序破壞的計算機系統(tǒng)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本公開內(nèi)容涉及檢測和去掉計算機程序,更具體地說,本公開內(nèi)容涉及恢復(fù)受惡意計算機程序破壞的計算機系統(tǒng)。
背景技術(shù):
計算機病毒是現(xiàn)今計算中的主要問題。一般地說,計算機病毒是一個程序(或某一代碼單元,例如計算機響應(yīng)的指令,如代碼塊、代碼元素或代碼段),它可以附著在其他程序和/或?qū)ο笊希梢詮?fù)制它本身,和/或可以在計算機系統(tǒng)上采取未經(jīng)請求的或惡性的行動。盡管這里的描述涉及計算機病毒,但本公開內(nèi)容可以適用于能修改計算機資源的一個或多個部分的任何類型惡性代碼。從計算機病毒中恢復(fù)的一種措施可以包括去掉該計算機病毒。這可以包括禁止受感染對象中的病毒,該對象可以是例如文件、存儲區(qū)、或存儲介質(zhì)中的引導(dǎo)扇區(qū)。然而,人們還已經(jīng)看到新近出現(xiàn)的計算機病毒除了原有的受感染對象外,還通過刪除或重命名文件、管理系統(tǒng)注冊和初始化和/或創(chuàng)建不希望的服務(wù)和過程等裝置來管理對象。
已經(jīng)看到,計算機病毒可以對計算機系統(tǒng)上現(xiàn)已存在的文件重新命名和/或以一個不同的文件代替它,造成計算機以不希望的方式操作。此外,病毒可以修改現(xiàn)有的系統(tǒng)配置文件,同時把它自己嵌入計算機系統(tǒng)。能做這兩種事情的計算機病毒的一個實例是“Happy 99.Worm(快樂99.蠕蟲)”病毒。這一特定類型的病毒作為一個電子郵件消息的附件傳播,并使受感染的計算機把該病毒的副本附加在向外發(fā)出的電子郵件消息上。這類病毒還可以在計算機硬驅(qū)動器上放置一個或多個隱藏文件和/或改變Windows的注冊文件。例如,“快樂99.蠕蟲”病毒把文件“Wsock32.dll重命名為“Wsock32.ska”并將原“Wsock32.dll”文件替換為它的新版本。“快樂99.蠕蟲”病毒還在計算機系統(tǒng)上創(chuàng)建若干其他文件,包括“Ska.exe”,并在Windows注冊文件中添加一行,指示該計算機在啟動時運行“Ska.exe”文件。
只是簡單地禁止或去掉病毒代碼而不去恢復(fù)或正確地重命名文件等和/或去掉不希望的服務(wù)或過程,將不能有效地恢復(fù)該計算系統(tǒng)。就是說,恢復(fù)已被病毒附著的對象可能并不總是足夠的,特別是如果已由計算機病毒創(chuàng)建或修改了若干其他對象的話。
因為每個病毒可能影響一個計算機系統(tǒng)的不同部分,特定的處理是需要的,而且可能需要對任何數(shù)量的對象進行若干個與操作系統(tǒng)有關(guān)的操作。所以,需要一種對受感染計算機系統(tǒng)的完全補救,以恢復(fù)所有受影響的對象。
發(fā)明內(nèi)容
本公開內(nèi)容涉及一種恢復(fù)被惡性代碼修改的計算機系統(tǒng)的方法,包含掃描計算機系統(tǒng)以發(fā)現(xiàn)惡性代碼,識別該惡性代碼,從數(shù)據(jù)文件中檢索與該惡性代碼有關(guān)的信息,其中包括至少一個命令用于使計算機系統(tǒng)恢復(fù)到受該惡性代碼修改之前存在的狀態(tài),以及執(zhí)行這至少一個命令以把計算機系統(tǒng)恢復(fù)到基本上為受該惡性代碼修改之前存在的狀態(tài)。執(zhí)行這至少一個命令的步驟可以包括讀、寫和刪除數(shù)據(jù)三種之一。執(zhí)行這至少一個命令的步驟還可以包括重命名和刪除對象二者中的至少一個。
本公開內(nèi)容還涉及存儲介質(zhì),其中包括計算可執(zhí)行代碼用于恢復(fù)被惡性代碼修改的計算機系統(tǒng),該存儲介質(zhì)中包含掃描計算機系統(tǒng)以發(fā)現(xiàn)惡性代碼的代碼,識別該惡性代碼的代碼,從數(shù)據(jù)文件中檢索與該惡性代碼有關(guān)的信息的代碼,該信息中包括至少一個用于使計算機系統(tǒng)恢復(fù)為受該惡性代碼修改之前狀態(tài)的命令,以及執(zhí)行這至少一個命令以把計算機系統(tǒng)恢復(fù)到基本上是受該惡性代碼修改之前存在的狀態(tài)的代碼。
本公開內(nèi)容還涉及在傳輸介質(zhì)中實現(xiàn)的計算機數(shù)據(jù)信號,其中包括計算機可執(zhí)行指令用恢復(fù)被惡性代碼修改的計算機系統(tǒng),該計算機數(shù)據(jù)信號包含掃描計算機系統(tǒng)以發(fā)現(xiàn)惡性代碼的數(shù)據(jù)信號部分,識別該惡性代碼的數(shù)據(jù)信號部分,從數(shù)據(jù)文件中檢索與該惡性代碼有關(guān)的信息的數(shù)據(jù)信號部分,該信息中包括至少一個用于使計算機系統(tǒng)恢復(fù)為受該惡性代碼修改之前狀態(tài)的命令,以及執(zhí)行這至少一個命令以把計算機系統(tǒng)恢復(fù)到基本是受該惡性代碼修改之前存在的狀態(tài)的數(shù)據(jù)信號部分。
通過參考下文中的詳細(xì)描述并結(jié)合附圖加以考慮,本公開內(nèi)容將得到更好的理解,因此人們將更容易得到對本公開內(nèi)容以及它的許多伴隨的優(yōu)點的更完全的理解,這些附圖是圖1顯示一個示例計算機系統(tǒng),對它可以應(yīng)用根據(jù)本公開內(nèi)容的一個實施例的系統(tǒng)和方法以恢復(fù)受惡性代碼破壞的計算機系統(tǒng)。
圖2顯示一個過程流程圖,該過程用于根據(jù)本公開內(nèi)容的一個實施例恢復(fù)受惡性代碼破壞的計算機系統(tǒng)。
圖3A顯示一個數(shù)據(jù)庫,其中包括針對病毒的恢復(fù)命令數(shù)據(jù)文件;以及圖3B顯示根據(jù)本公開內(nèi)容的一個實施例來自恢復(fù)命令數(shù)據(jù)文件之一的命令。
具體實施例方式
在描述圖中所示本公開內(nèi)容優(yōu)選實施例時,為了清楚而使用特定的術(shù)語。然而,本公開內(nèi)容不限于如此選擇的特定術(shù)語。應(yīng)該理解,每個特定術(shù)語包括以類似方式操作的所有的技術(shù)等效物。
圖1是一個計算機系統(tǒng)102的實例方框圖,本公開內(nèi)容的恢復(fù)系統(tǒng)和方法可以應(yīng)用于該系統(tǒng)。計算機系統(tǒng)102可以是能運行檢測計算機病毒的軟件的標(biāo)準(zhǔn)PC、膝上計算機、主機等。計算機系統(tǒng)102還能運行根據(jù)本公開內(nèi)容的軟件以把計算機系統(tǒng)102恢復(fù)到在該系統(tǒng)中放入病毒之前存在的狀態(tài)。如圖所示,計算機系統(tǒng)102可以包括中央處理單元(CPU)2、存儲器4、時鐘電路6、打印機接口8、顯示單元10、LAN數(shù)據(jù)傳輸控制器12、LAN接口14、網(wǎng)絡(luò)控制器16、內(nèi)部總線18以及一個或多個輸入設(shè)備20,如鍵盤和鼠標(biāo)器。當(dāng)然,計算機系統(tǒng)102可以不包括所述每個部件和/或可以包括未示出的附加部件。
CPU2控制系統(tǒng)102的操作,并能運行存儲在存儲器4中的應(yīng)用。存儲器4可以包括例如RAM、ROM、可卸CDROM、DVD等。存儲器4還可以存儲為執(zhí)行應(yīng)用所必須的各類數(shù)據(jù)。以及為CPU使用而保留的工作區(qū)。時鐘電路6可以包括一個電路以產(chǎn)生指示當(dāng)前時間的信息,而且可以被編程為能遞減計數(shù)預(yù)先確定的或設(shè)置的時間量。
LAN接口14允許網(wǎng)絡(luò)(未畫出)(它可以是LAN)和LAN數(shù)據(jù)傳輸控制器12之間的通信。LAN數(shù)據(jù)傳輸控制器12使用預(yù)先確定的協(xié)議組與該網(wǎng)絡(luò)上的其他設(shè)備交換信息和數(shù)據(jù)。計算機系統(tǒng)102還可以能夠經(jīng)由路由器(未畫出)與其他網(wǎng)絡(luò)通信。計算機系統(tǒng)102還可以能夠使用網(wǎng)絡(luò)控制器16經(jīng)由公共交換電話網(wǎng)(PSTN)與其他設(shè)備通信。計算機系統(tǒng)102還可以訪問WAN(廣域網(wǎng))和例如因特網(wǎng)。內(nèi)部總線18可能實際上由多個總線構(gòu)成,它允許與其相連的每個部件之間的通信。
計算機系統(tǒng)102能利用為認(rèn)識和識別計算機病毒而設(shè)計的一種或多種掃描程序來掃描存儲器4的一個或多個部分以發(fā)現(xiàn)計算機病毒。例如,掃描程序可以檢測病毒的已知簽名,或可以使用啟發(fā)式的邏輯來檢測病毒。
本公開內(nèi)容的系統(tǒng)和方法可以作為計算機可執(zhí)行代碼來實現(xiàn),該代碼本身被存儲在存儲器4或存儲在其他地方并可由計算機系統(tǒng)102訪問。該計算機可執(zhí)行代碼可以被存儲在與計算機系統(tǒng)102通信的遠(yuǎn)程站點并在那里執(zhí)行,以遠(yuǎn)程修理/恢復(fù)計算機系統(tǒng)102。這里描述的方法和系統(tǒng)能夠恢復(fù)受計算機病毒破壞的計算機系統(tǒng)。根據(jù)一個實施例,多個針對病毒的恢復(fù)命令數(shù)據(jù)文件(見圖3A)可由計算機系統(tǒng)102訪問。如圖3B中所示,每個恢復(fù)命令數(shù)據(jù)文件包含命令或系統(tǒng)補救指令,用于恢復(fù)受特定病毒破壞的被感染計算機系統(tǒng)。因為一些病毒可能以不同的方式影響不同的操作系統(tǒng),這些命令可以根據(jù)不同操作系統(tǒng)的要求進行分類。這些命令用于恢復(fù)文件名、系統(tǒng)注冊設(shè)置和/或其他操作系統(tǒng)特性,它們已知被特定的計算機病毒改變或破壞。
可以存儲在恢復(fù)命令數(shù)據(jù)文化中并由系統(tǒng)使用的命令實例包括如下命令復(fù)制、刪除和重命名文件;讀、寫、創(chuàng)建和刪除Windows注冊關(guān)鍵字;管理INI文件;識別和終止系統(tǒng)存儲器中的有效過程;啟動外部程序;管理串類型變量,管理數(shù)值類型變量;控制補救指令流(取決于運行時間輸入?yún)?shù));以及控制補救指令流(取決于目標(biāo)操作系統(tǒng))。當(dāng)然,需要時可以提供其他命令,這取決于特定病毒對系統(tǒng)造成的改變。使用上面列出的一個或多個命令,有可能恢復(fù)受病毒破壞的計算機系統(tǒng)。
參考圖2,計算機系統(tǒng)102使用一個或多個掃描程序掃描至少是一部分存儲器4(步驟S1)以發(fā)現(xiàn)病毒。然后確定是否發(fā)現(xiàn)了病毒(步驟S2)。如果不存在病毒(否,步驟S2)則過程退出(步驟S5)。如果存在病毒且已被識別出(是,步驟S2)則確定是否已選系統(tǒng)補救選項(步驟S3)。例如,這能是圖形用戶界面(GUI)形式,它在開始掃描過程之前提示用戶選擇如果檢測到病毒的話是否要應(yīng)用本公開內(nèi)容的系統(tǒng)補救特性。如果未曾選定系統(tǒng)補救選項(否,步驟S3)則過程退出(步驟S5)。如果已選定系統(tǒng)補救選項(是,步驟S3),則檢索與識別出的病毒對應(yīng)的恢復(fù)命令數(shù)據(jù)文件?;謴?fù)命令數(shù)據(jù)文件包含系統(tǒng)補救命令,同時把系統(tǒng)恢復(fù)到受那個病毒感染之前存在的狀態(tài)。然后,在恢復(fù)命令數(shù)據(jù)文件中的命令或系統(tǒng)補救指令被檢索出來并被處理(步驟S4)?;謴?fù)命令數(shù)據(jù)文件可以包含特定病毒影響的文件的名稱以及為恢復(fù)該計算機系統(tǒng)所必須的指令。在命令或系統(tǒng)補救指令已完成之后,完成了的過程退出(步驟S5)。
作為舉例,如果“快樂99.蠕蟲”病毒存在并已被識別出來(是,步驟S2),而且系統(tǒng)補救選項已被選定(是,步驟S3),則檢索出恢復(fù)命令數(shù)據(jù)文件,它對應(yīng)于“快樂99.蠕蟲”病毒并含有從“快樂99.蠕蟲”病毒中恢復(fù)所使用的系統(tǒng)補救指令。然后這些指令被執(zhí)行(步驟S4),以使該計算機恢復(fù)到正常操作狀態(tài)。例如,本方法和系統(tǒng)可以執(zhí)行“刪除文件”命令以刪除新創(chuàng)建的“Wsock32.dll”和“Ska.exe”文件以及由病毒創(chuàng)建的任何其他文件。它還可以執(zhí)行“重命名文件”命令以把“Wsock32.ska”文件重命名回到它的原來名稱“Wsock32.dll”。最后,該方法和系統(tǒng)可以使用“ReadRegKey”和“DeleteRegKey”命令去讀和刪除由該病毒添加到Windows注冊文件中的任何關(guān)鍵字和值。這些命令或補救指令可以列入恢復(fù)命令文件中,例如以編程代碼的形式列入。
為了恢復(fù)可能已由計算機病毒管理或破壞的文件,恢復(fù)命令數(shù)據(jù)文件可以還包括“刪除文件”、“重命名文件”和/或“復(fù)制文件”文件系統(tǒng)命令,用于管理位于該計算機系統(tǒng)上的文件。此外,可以提供“外殼”命令,系統(tǒng)外殼命令可以通過該外殼執(zhí)行。取決于使用情況,這些命令可以使用一個或多個文件名作為輸入?yún)?shù),并在失敗時返回一個錯誤狀態(tài)。在要被管理的文件當(dāng)前被系統(tǒng)使用因而不能被訪問時,該文件系統(tǒng)命令將不返回錯誤狀態(tài);相反,該命令將告知該計算機系統(tǒng)必須進行計算機重新啟動以釋放該文件。一旦該文件被釋放,則本方法和系統(tǒng)將執(zhí)行先前嘗試過的文件系統(tǒng)命令。
計算機病毒可以啟動在計算機系統(tǒng)上運行的不希望的過程和/或服務(wù)。因此,恢復(fù)命令數(shù)據(jù)文件也可以包含過程管理命令,用于停止當(dāng)前在計算機系統(tǒng)上運行的過程或服務(wù)。例如,“殺死過程”命令可用于停止當(dāng)前在計算機系統(tǒng)上運行一個過程,而“殺死服務(wù)”命令可用于停止一個服務(wù)并把它從Windows注冊文件中去掉。
計算機病毒還可以竄改操作系統(tǒng)文件,包括Windows注冊文件和/或初始化文件。Windows注冊是由兩個文件構(gòu)成的數(shù)據(jù)庫,用于存儲Windows的設(shè)置和選項,包含對該計算機所有硬件、軟件、用戶以及偏好的信息和設(shè)置。Windows注冊文件有層次結(jié)構(gòu),主分支包含子分支,稱作“關(guān)鍵字”,它存儲的“值”含有該注冊文件中存儲的實際信息。某些計算機病毒可以竄改Windows注冊和初始化文件。例如,在安裝過程中,“快樂99.蠕蟲”病毒可以向Windows注冊文件添加一個帶有相應(yīng)值的關(guān)鍵字,這里該值是在系統(tǒng)啟動時要被執(zhí)行的文件的文件名,從而在每次啟動計算機時便啟動一個不為用戶所知的病毒。因此,為了恢復(fù)被這樣的計算機病毒破壞的計算機系統(tǒng),恢復(fù)命令數(shù)據(jù)文件也可以包括讀、寫和刪除位于Windows文件(如Windows注冊和/或初始化(INI)文件,如“System.ini”)內(nèi)的值。使用的Windows注冊管理命令可以包括“ReadRegKey”、“WriteRegKey”和“DelRegKey”,而INI文件管理命令可以包括“ReadINIKey”和“WriteINIKey”。這些命令的命令名、輸入?yún)?shù)及功能如下ReadRegKey(變量,關(guān)鍵字,值)把位于關(guān)鍵字的值字段中的數(shù)據(jù)讀到一個變量中;WriteRegKey(關(guān)鍵字,值,變量)把來自一個變量的數(shù)據(jù)寫入一個關(guān)鍵字的值字段中。如果不存在該關(guān)鍵字或值,則創(chuàng)建它們;DleteRegKey(關(guān)鍵字,值)刪除指定關(guān)鍵字的值,或者如果該值參數(shù)是空的,則刪除整個關(guān)鍵字;ReadINIKey(變量,INI文件名,段,關(guān)鍵字)讀位于特定INI文件內(nèi)的一個關(guān)鍵字的段字段中的數(shù)據(jù);以及WriteINIKey(INI文件名,段,關(guān)鍵字,變量)把來自一個變量的數(shù)據(jù)寫入位于特定INI文件內(nèi)的一個關(guān)鍵字的段字段中。如果該變量被置為“NULL(空)”,則該關(guān)鍵字被去掉。
在上述命令中,如果在“讀”和“刪除”過程中在該計算機系統(tǒng)上不存在關(guān)鍵字或值的輸入,以及如果在“寫”和“刪除”命令中發(fā)生寫失敗事件,則可能產(chǎn)生錯誤狀態(tài)。如果一個命令在執(zhí)行后返回一個錯誤,如一個錯誤指出復(fù)制一個不存在的文件失敗或讀一個不存在的Wndows注冊關(guān)鍵字,則本方法和系統(tǒng)可以或者忽略該錯誤或者停止這一補救過程。例如,如果包括一個OnErrorAbort命令,則在發(fā)生這第一個錯誤時將造成該補救過程被放棄,而包括一個OnErrorContinue命令則將在發(fā)生一個或多個錯誤時使補救過程繼續(xù)下去。本方法和系統(tǒng)默認(rèn)設(shè)置到OnErrorCotinue,從而在發(fā)生一個或多個錯誤時也能繼續(xù)補救過程。
恢復(fù)命令數(shù)據(jù)文件還可以包括串管理命令用于當(dāng)串被病毒改變時管理這些串變量。這類命令的實例可以包括StrCpy命令,它把一個源串、宏或常數(shù)值復(fù)制到一個目的串中。StrCat命令可以把源串、宏或常數(shù)值連接到一個目的串上。
恢復(fù)命令數(shù)據(jù)文件可以存儲在存儲器4中的數(shù)據(jù)存儲區(qū)中和/或可由計算機系統(tǒng)102訪問的其他存儲介質(zhì)中。例如,恢復(fù)命令數(shù)據(jù)文件可以存儲在通過局域網(wǎng)或因特網(wǎng)連接的單獨存儲系統(tǒng)上,在那里它們可被直接訪問和周期性更新。圖3B中示出一個恢復(fù)命令數(shù)據(jù)文件的內(nèi)容舉例,該數(shù)據(jù)文件可用于使計算機系統(tǒng)從“快樂99.蠕蟲”病毒中恢復(fù)過來。在“VirusStart”和“RemoveEnd”之間的代碼部分是用于檢測病毒和恢復(fù)受感染的文件。在恢復(fù)命令數(shù)據(jù)文件中可以提供也可以不提供這部分代碼。在“SysCureStart”和“SysCureEnd”之間的代碼部分是用于采用這里描述的技術(shù)恢復(fù)計算機系統(tǒng)。
在計算機系統(tǒng)識別出病毒并訪問適當(dāng)?shù)幕謴?fù)命令數(shù)據(jù)文件之后,計算機系統(tǒng)從該數(shù)據(jù)文件中讀出恢復(fù)該計算機系統(tǒng)所用命令列表。如圖3B中所示,SysCureStart和SysCureEnd標(biāo)記開始和終止數(shù)據(jù)文件中找到的命令塊。根據(jù)這一實例,計算機系統(tǒng)首先利用從該數(shù)據(jù)文件中檢索出的關(guān)鍵字和值參數(shù)執(zhí)行DdlRegKey命令。該關(guān)鍵字和值參數(shù)是針對病毒的,在這一案例中分別是“HK-LOCAL-MACHINE\Software\Microsoft\Windows\Run”和“Virus”。當(dāng)這個關(guān)鍵字和值被病毒插入到Windows注冊文件中時,這一關(guān)鍵字和值的組合使該計算機系統(tǒng)在啟動時執(zhí)行文件“Virus(病毒)”。因此,一旦由計算機系統(tǒng)利用本系統(tǒng)的方法從Windows注冊文件中刪除這個值,則計算機系統(tǒng)在啟動時將不再試圖執(zhí)行那個文件。
盡管該計算機系統(tǒng)在啟動時將不再試圖執(zhí)行該病毒文件,但可執(zhí)行的病毒文件仍駐留在該系統(tǒng)上,應(yīng)予以刪除。因此,該恢復(fù)命令數(shù)據(jù)文件還包括ReadRegKey命令以及目標(biāo)變量、關(guān)鍵字和值參數(shù),用于把位于特定值字段中的值加載到它被存儲的第一個變量中。這個值是“快樂99.蠕蟲”安排成要在系統(tǒng)啟動時執(zhí)行的那個可執(zhí)行文件的名稱,如“Ska.exe”。然后,計算機系統(tǒng)執(zhí)行StrCat命令把這一變量與系統(tǒng)目錄的路徑名連在一起構(gòu)成第二個變量,這里的系統(tǒng)目錄隨系統(tǒng)而變,因此用系統(tǒng)宏“%SysDir%”來符號化,現(xiàn)在這第二個變量含有系統(tǒng)路徑后跟可執(zhí)行病毒文件名。然后計算機系統(tǒng)執(zhí)行DelFile,以這第二個變量作為一個參數(shù),從而刪除該可執(zhí)行文件。這一技術(shù)允許計算機系統(tǒng)刪除該病毒。不依賴于該可執(zhí)行文件的實際名稱。
一個操作系統(tǒng)(OS)變量可用于標(biāo)識一個操作系統(tǒng),所列出的命令在其后可能在該系統(tǒng)內(nèi)執(zhí)行,該變量可以設(shè)置為Windows95、Windows98、Windows NT、Windows2000或All(全部)。如果有一個命令是針對某一操作系統(tǒng)的,則該命令可以被列在由那個操作系統(tǒng)標(biāo)識的恢復(fù)命令數(shù)據(jù)文件子部分之下。如果一個命令可在全部操作系統(tǒng)上使用,則那個命令可以被列在一個通用部分或一個子部分之下并為所有操作系統(tǒng)執(zhí)行。在圖3B中,操作系統(tǒng)變量“Win9x”表明在該代碼部分內(nèi)列出的命令要在運行Windows95、98、ME操作系統(tǒng)的計算機系統(tǒng)上執(zhí)行。本系統(tǒng)和方法可以使用標(biāo)準(zhǔn)系統(tǒng)應(yīng)用程序接口(API)確定該操作系統(tǒng)。一旦操作系統(tǒng)被確定,這一信息可被存儲起來,并在執(zhí)行恢復(fù)命令數(shù)據(jù)文件中的命令時用于條件分支操作。
恢復(fù)命令數(shù)據(jù)文件還可包括其他類型的命令。例如,如果必須修復(fù)或替換不容易得到的文件或數(shù)據(jù),則在恢復(fù)命令數(shù)據(jù)文件中可以提供代碼用于提示用戶插入含有適當(dāng)文件或數(shù)據(jù)的系統(tǒng)盤??梢栽诨謴?fù)命令數(shù)據(jù)文件中包括代碼用于從系統(tǒng)盤中檢索這些文件或數(shù)據(jù)并用于替換計算機系統(tǒng)上的受破壞的或丟失的文件?;謴?fù)命令數(shù)據(jù)文件還可包括代碼用于從計算機系統(tǒng)啟動因特網(wǎng)瀏覽器和訪問具有恢復(fù)該計算機系統(tǒng)所用適當(dāng)文件或數(shù)據(jù)的已知網(wǎng)站。在恢復(fù)命令數(shù)據(jù)文件中可包括代碼用于提示用戶從該網(wǎng)站下載適當(dāng)?shù)奈募蛿?shù)據(jù),或者用于從該網(wǎng)站自動下載文件或數(shù)據(jù),以及用于恢復(fù)計算機系統(tǒng)上丟失的或受破壞的文件或數(shù)據(jù)。
使用根據(jù)本說明教導(dǎo)編程的一個或多個傳統(tǒng)的通用數(shù)字計算機和/或服務(wù)器,能方便地實現(xiàn)本公開內(nèi)容。根據(jù)本公開內(nèi)容的教導(dǎo),有技術(shù)的程序員能容易地準(zhǔn)備適當(dāng)?shù)能浖a。本公開內(nèi)容還可以通過準(zhǔn)備特定于應(yīng)用的集成電路或通過對傳統(tǒng)部件電路進行適當(dāng)?shù)倪B網(wǎng)來實現(xiàn)。
考慮上述教導(dǎo),對本公開內(nèi)容的大量附加修改和變化是可能的。所以,應(yīng)該理解,在所附權(quán)利要求的范圍內(nèi),本公開內(nèi)容可以其他方式實現(xiàn),而不僅是這里具體描述的那樣。
權(quán)利要求
1.恢復(fù)由惡性代碼修改的計算機系統(tǒng)的方法,包含掃描計算機系統(tǒng)以發(fā)現(xiàn)惡性代碼;識別該惡性代碼;從數(shù)據(jù)文件中檢索與該惡性代碼有關(guān)的信息,包括至少一個命令用于把該計算機系統(tǒng)恢復(fù)為被惡性代碼修改之前存在的狀態(tài);以及執(zhí)行這至少一個命令把該計算機系統(tǒng)恢復(fù)到基本上為被惡性代碼修改之前存在的狀態(tài)。
2.根據(jù)權(quán)利要求1的方法,其中執(zhí)行至少一個命令的步驟包括讀、寫和刪除數(shù)據(jù)三個命令之一。
3.根據(jù)權(quán)利要求1的方法,其中執(zhí)行至少一個命令的步驟包括重命名和刪除文件二個命令中的至少一個。
4.根據(jù)權(quán)利要求1的方法,其中該惡性代碼修改至少一個文件,所述方法包含從修改過的文件中讀出第二個文件的文件名;以及修改該第二個文件。
5.根據(jù)權(quán)利要求1的方法,其中該數(shù)據(jù)文件包含多個數(shù)據(jù)文件,所提供的每個數(shù)據(jù)文件用于特定類型的惡性代碼,每個數(shù)據(jù)文件包括至少一個命令,它能用于把計算機系統(tǒng)恢復(fù)為受此特定類型惡性代碼修改之前存在的狀態(tài)。
6.一種存儲介質(zhì),其中包括計算機可執(zhí)行代碼用于恢復(fù)由惡性代碼修改的計算機系統(tǒng),該存儲介質(zhì)包含用于掃描計算機系統(tǒng)以發(fā)現(xiàn)惡性代碼的代碼;用于識別該惡性代碼的代碼;用于從數(shù)據(jù)文件中檢索與該惡性代碼有關(guān)的信息的代碼,該信息包括至少一個命令用于把計算機系統(tǒng)恢復(fù)到被該惡性代碼修改之前存在的狀態(tài);以及用于執(zhí)行該至少一個命令的代碼,以將該計算機系統(tǒng)恢復(fù)到基本上為被惡性代碼修改之前存在的狀態(tài)。
7.根據(jù)權(quán)利要求6的存儲介質(zhì),其中用于執(zhí)行至少一個命令的代碼包括能實現(xiàn)讀、寫和刪除數(shù)據(jù)中至少一個的代碼。
8.根據(jù)權(quán)利要求6的存儲介質(zhì),其中用于執(zhí)行至少一個命令的代碼包括能實現(xiàn)重命名和刪除文件中至少一個的代碼。
9.根據(jù)權(quán)利要求6的存儲介質(zhì),其中該惡性代碼修改至少一個文件,所述存儲介質(zhì)進一步包含用于從修改過的文件中讀出第二個文件的文件名的代碼;以及用于修改這第二個文件的代碼。
10.根據(jù)權(quán)利要求6的存儲介質(zhì),其中該數(shù)據(jù)文件包含多個數(shù)據(jù)文件,提供每個數(shù)據(jù)文件用于特定類型的惡性代碼,每個數(shù)據(jù)文件包括至少一個命令,它能用于把計算機系統(tǒng)恢復(fù)為受此特定類型惡性代碼修改之前存在的狀態(tài)。
11.在傳輸介質(zhì)中實現(xiàn)的計算機數(shù)據(jù)信號,其中包括計算機可執(zhí)行指令用于恢復(fù)被惡性代碼修改的計算機系統(tǒng),該計算機數(shù)據(jù)信號包含用于掃描計算機系統(tǒng)以發(fā)現(xiàn)惡性代碼的數(shù)據(jù)信號部分;用于識別該惡性代碼的數(shù)據(jù)信號部分;用于從數(shù)據(jù)文件中檢索與該惡性代碼有關(guān)的信息的數(shù)據(jù)信號部分,該信息中包括至少一個命令用于使計算機系統(tǒng)恢復(fù)為被該惡性代碼修改之前存在的狀態(tài);以及用于執(zhí)行該至少一個命令的數(shù)據(jù)信號部分,以將計算機系統(tǒng)恢復(fù)到基本上為被惡性代碼修改之前存在的狀態(tài)。
12.根據(jù)權(quán)利要求11的計算機數(shù)據(jù)信號,其中用于執(zhí)行至少一個命令的數(shù)據(jù)信號部分執(zhí)行讀、寫和刪除數(shù)據(jù)中的至少一個。
13.根據(jù)權(quán)利要求11的計算機數(shù)據(jù)信號,其中用于執(zhí)行至少一個命令的數(shù)據(jù)信號部分實現(xiàn)重命名和刪除文件中的至少一個。
14.根據(jù)權(quán)利要求11的計算機數(shù)據(jù)信號,其中該惡性代碼修改至少一個文件,所述計算機數(shù)據(jù)信號進一步包含用于從修改過的文件中讀出第二個文件的文件名的數(shù)據(jù)信號部分;以及用于修改這第二個文件的數(shù)據(jù)信號部分。
15.根據(jù)權(quán)利要求11的計算機數(shù)據(jù)信號,其中該數(shù)據(jù)文件包含多個數(shù)據(jù)文件,提供每個數(shù)據(jù)文件用于特定類型的惡性代碼,每個數(shù)據(jù)文件包括至少一個命令,它能用于把計算機系統(tǒng)恢復(fù)為被此特定類型惡性代碼修改之前存在的狀態(tài)。
16.一個被編程的計算機系統(tǒng),其中包括用于恢復(fù)被惡性代碼修改的計算機系統(tǒng)的程序,所述被編程的計算機系統(tǒng)包含用于掃描計算機系統(tǒng)以發(fā)現(xiàn)惡性代碼的裝置;用于識別該惡性代碼的裝置;用于從數(shù)據(jù)文件中檢索與該惡性代碼有關(guān)的信息的裝置,該信息包括至少一個命令用于把計算機系統(tǒng)恢復(fù)到被該惡性代碼修改之前存在的狀態(tài);以及用于執(zhí)行這至少一個命令的裝置,以將計算機系統(tǒng)恢復(fù)基本上為被惡生代碼修改之前存在的狀態(tài)。
17.根據(jù)權(quán)利要求16被編程的計算機系統(tǒng),其中用于執(zhí)行至少一個命令的裝置包括實現(xiàn)讀、寫和刪除數(shù)據(jù)中至少一個的裝置。
18.根據(jù)權(quán)利要求16被編程的計算機系統(tǒng),其中用于執(zhí)行至少一個命令的裝置包括實現(xiàn)重命名和刪除文件中至少一個的裝置。
19.根據(jù)權(quán)利要求16被編程的計算機系統(tǒng),其中該惡性代碼修改至少一個文件,所述系統(tǒng)進一步包含用于從修改過的文件中讀出第二個文件的文件名的裝置;以及用于修改這第二個文件的裝置。
20.根據(jù)權(quán)利要求16被編程的計算機系統(tǒng),其中該數(shù)據(jù)文件包含多個數(shù)據(jù)文件,提供每個數(shù)據(jù)文件用于特定類型的惡性代碼,每個數(shù)據(jù)文件包括至少一個命令,它能用于把計算機系統(tǒng)恢復(fù)為被此特定類型惡性代碼修改之前存在的狀態(tài)。
全文摘要
恢復(fù)被惡性代碼修改的計算機系統(tǒng)的方法。該方法掃描計算機系統(tǒng)以發(fā)現(xiàn)惡性代碼,識別該惡性代碼并從數(shù)據(jù)文件中檢索與該惡性代碼有關(guān)的信息,其中包括至少一個命令用于使計算機系統(tǒng)恢復(fù)到受該惡性代碼修改之前存在的狀態(tài)。這至少一個命令被執(zhí)行,以把計算機系統(tǒng)恢復(fù)到基本上為受該惡性代碼修改之前存在的狀態(tài)。
文檔編號G06F21/00GK1498363SQ02806751
公開日2004年5月19日 申請日期2002年3月26日 優(yōu)先權(quán)日2001年3月30日
發(fā)明者塔拉斯·馬利萬處克, 莫什·達(dá)茲, 奧弗·羅茲奇爾德, 塔拉斯 馬利萬處克, 羅茲奇爾德, 達(dá)茲 申請人:計算機聯(lián)合思想公司