新四季網

一種染毒文件的處理方法和系統的製作方法

2023-07-22 14:32:21


專利名稱::一種染毒文件的處理方法和系統的製作方法
技術領域:
:本發明涉及計算機安全
技術領域:
,具體涉及一種染毒文件的處理方法和系統。
背景技術:
:隨著計算機技術的不斷發展,目前無論在日常生活中還是在工作中,計算機都已經成為人們不可或缺的夥伴,為人們的工作和生活帶來了很多的便利,但是在這之中有一個不和諧的因素,那就是計算機病毒。計算機病毒是指編制或者在電腦程式中插入的破壞計算機功能或者破壞數據,影響計算機使用並且能夠自我複製的一組計算機指令或者程序代碼。一旦染上病毒,計算機通常表現為其文件被增加、刪除、改變名稱或屬性、移動到其它目錄下,病毒對計算機文件的這些操作,可能會導致正常的程序無法運行、計算機作業系統崩潰、計算機被遠程控制、用戶信息被盜用等一系列的問題。為了保證計算機的安全運行,需要對計算機中感染病毒的文件進行病毒查殺,以防止和清除病毒的破壞。現有技術中的病毒,往往通過佔用文件句柄、設置文件只讀屬性、使文件處於刪除狀態等手段給染毒文件加上了加鎖,採用常規手段無法破解加鎖。現有技術一種殺毒方法,枚舉作業系統下所有的進程,並枚舉各進程打開的文件句柄,通過查看文件句柄來找到加上獨佔鎖的染毒文件;該方法能夠查殺出加上獨佔鎖的染毒文件,但是進程和文件句柄的枚舉比較耗時,殺毒效率不高。現有技術另一種殺毒方法,使用一些未公開方法查殺加上內核鎖的染毒文件;但是,未公開方法容易與作業系統中其它程序不兼容,引發作業系統出現藍屏等不穩定的問題,進而影響殺毒效率。總之,需要本領域技術人員迫切解決的一個技術問題就是如何能夠提高殺毒效率。
發明內容鑑於上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的一種染毒文件的處理方法和系統。依據本發明的一個方面,提供了一種染毒文件的處理方法,包括獲取文件系統讀取失敗的文件,作為待處理文件;獲取所述待處理文件在磁碟上的簇分布信息;依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據;將讀取出的數據寫入臨時文件;分析所述臨時文件的安全性,若所述臨時文件不安全,則對所述臨時文件及對應待處理文件執行清理操作。可選地,所述獲取所述待處理文件在磁碟上的簇分布信息的步驟,包括以讀屬性打開所述待處理文件,得到相應的句柄;基於設備驅動接口函數的磁碟驅動控制碼功能,獲取與所述句柄相應的所述待處理文件在磁碟上的簇分布信息。可選地,所述依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據的步驟,包括依據所述待處理文件的路徑,獲取所述待處理文件對應的磁碟分區;依據所述簇分布信息,得到所述待處理文件在對應的磁碟分區上的簇偏移;在所述待處理文件對應的磁碟分區對應位置上讀取與所述簇偏移相應的數據。可選地,所述文件系統讀取失敗的文件包括ERR0R_SHARING_VI0LATI0N32對應的文件和ERR0R_L0CK_VI0LATI0N33對應的文件。可選地,所述獲取文件系統讀取失敗的文件,作為待處理文件的步驟,包括讀取文件後綴名,通過文件後綴名來判定所述文件是否為PE文件,若是,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件;或者,判定文件大小,若所述文件大於第一文件閾值,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件。可選地,所述分析所述臨時文件的安全性的步驟,包括計算所述臨時文件的特徵值;根據白名單和所計算的所述臨時文件的特徵值,監測所述臨時文件是否可信任;所述白名單至少包括可信任文件的特徵值;在監測結果為肯定的情況下,確定所述臨時文件安全;在監測結果為否定的情況下,利用殺毒引擎分析所述臨時文件是否安全。可選地,所述清理操作包括禁用所述臨時文件及對應待處理文件的啟動項,或者,粉碎所述臨時文件及對應待處理文件。可選地,所述粉碎所述臨時文件及對應待處理文件的步驟,包括依據所述臨時文件及對應待處理文件的路徑在對象管理器中查找對應的文件對象解析例程;依據查找得到的文件對象解析例程生成I/O請求包,並發送至預置的文件系統下層設備的原始地址;由文件系統下層設備依據所述I/O請求包對所述臨時文件及對應待處理文件執行粉碎操作。可選地,所述分析所述臨時文件的安全性的步驟,還包括在監測結果為否定的情況下,判斷所述臨時文件的籤名是否有效;在所述臨時文件的籤名有效時,確定所述臨時文件安全;在所述臨時文件的籤名無效時,利用殺毒引擎分析所述臨時文件是否安全。根據本發明的另一方面,提供了一種染毒文件的處理系統,包括待處理文件獲取模塊,用於獲取文件系統讀取失敗的文件,作為待處理文件;簇分布獲取模塊,用於獲取所述待處理文件在磁碟上的簇分布信息;簇讀取模塊,用於依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據;臨時寫入模塊,用於將讀取出的數據寫入臨時文件;安全性分析模塊,用於分析所述臨時文件的安全性;清理模塊,用於在臨時文件不安全時,對所述臨時文件及對應待處理文件執行清理操作。可選地,所述簇分布獲取模塊包括打開子模塊,用於以讀屬性打開所述待處理文件,得到相應的句柄;控制碼功能獲取子模塊,用於基於設備驅動接口函數的磁碟驅動控制碼功能,獲取與所述句柄相應的所述待處理文件在磁碟上的簇分布信息。可選地,所述簇讀取模塊包括磁碟分區獲取子模塊,用於依據所述待處理文件的路徑,獲取所述待處理文件對應的磁碟分區;簇偏移獲取子模塊,用於依據所述簇分布信息,得到所述待處理文件在對應的磁碟分區上的簇偏移;簇偏移讀取子模塊,用於在所述待處理文件對應的磁碟分區上讀取與所述簇偏移相應的數據。可選地,所述文件系統讀取失敗的文件包括ERR0R_SHARING_VI0LATI0N32對應的文件和ERR0R_L0CK_VI0LATI0N33對應的文件。可選地,所述待處理文件獲取模塊包括後綴名獲取子模塊,用於讀取文件後綴名,通過文件後綴名來判定所述文件是否為PE文件,若是,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件;或者,大小獲取子模塊,用於判定文件大小,若所述文件大於第一文件閾值,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件。可選地,所述安全性分析模塊包括特徵值計算子模塊,用於計算所述臨時文件的特徵值;白名單檢測子模塊,用於根據白名單和所計算的所述臨時文件的特徵值,監測所述臨時文件是否可信任;所述白名單至少包括可信任文件的特徵值;第一確定子模塊,用於在監測結果為肯定的情況下,確定所述臨時文件安全;引擎分析子模塊,用於在監測結果為否定的情況下,利用殺毒引擎分析所述臨時文件是否安全。可選地,所述清理操作模塊包括用于禁用所述臨時文件及對應待處理文件的啟動項的啟動項摘除子模塊,或者,用於粉碎所述臨時文件及對應待處理文件的粉碎子模塊。可選地,所述粉碎子模塊包括例程查找單元,用於依據所述臨時文件及對應待處理文件的路徑在對象管理器中查找對應的文件對象解析例程;請求包生成單元,用於依據查找得到的文件對象解析例程生成I/O請求包;請求包發送單元,用於將所述I/O請求包發送至預置的文件系統下層設備的原始地址;由文件系統下層設備依據所述I/o請求包對所述臨時文件及對應待處理文件執行粉碎操作。可選地,所述安全性分析模塊還包括籤名效力判斷子模塊,用於在監測結果為否定的情況下,判斷所述臨時文件的籤名是否有效;籤名有效處理子模塊,用於在所述臨時文件的籤名有效時,確定所述臨時文件安全;籤名無效處理子模塊,用於在所述臨時文件的籤名無效時,利用殺毒引擎分析所述臨時文件是否安全。本發明的一種染毒文件的處理方法和系統具有如下有益效果本發明針對文件系統讀取失敗的文件,依據其在磁碟上的簇分布信息,從磁碟上讀取相應的數據,分析所讀取數據的安全性,並對相應不安全的染毒文件執行清理操作;由於文件系統讀取失敗的文件中包括有獨佔文件或加鎖文件等受文件保護機制保護的文件,而病毒大多採用獨佔或鎖定的方式肆意運行其染毒文件,故本發明對所讀取數據的安全性分析,能夠識別出與所讀取數據相應的被病毒運行的染毒文件,並對所述染毒文件執行清理操作。本發明的方案使用的是公開方法故能夠避免引起作業系統的不穩定,並且,本發明無需進行進程和文件句柄的枚舉等耗時操作,因此,相對於現有技術,能夠提高殺毒效率。上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖I示出了根據本發明一個實施例的一種染毒文件的處理方法的流程圖;以及圖2示出了根據本發明一個實施例的一種染毒文件的處理系統的結構圖。具體實施例方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。為了提高作業系統的可靠性和穩定性,某些作業系統會提供一些文件保護機制。例如,Windows作業系統在一個線程在操作某個文件的時候,要求其他線程不能對該文件進行讀或寫操作,那麼可以對該文件進行加鎖,或者,對該文件進行獨佔,也即一直打開該文件直至操作完再關閉。上述加鎖或者獨佔就是常見的文件保護機制。文件保護機制能夠提高作業系統的可靠性和穩定性,但也有可能給病毒文件有機可乘。病毒可能採用獨佔或鎖定的方式,肆意運行其染毒文件。例如,木馬進程為了躲避殺毒引擎,會建立專門的啟動項目,而啟動項目被作業系統運行起來後,會把相應的文件獨佔或鎖定等等。這裡的啟動項目就是開機的時候作業系統在前臺或者後臺運行的程序。目前,木馬進程建立專門的啟動項目的途徑可以為在作業系統存在漏洞,或者,誘導用戶退出殺毒引擎的情況下,往啟動文件夾C:\ProgramData\Microsoft\Windows\StartMenu\Programs\Startup寫入相應的染毒文件,或者,在註冊表HKEY—LOCAL—MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下不斷寫入染毒文件的路徑坐坐寸寸O在作業系統的用戶層,現有技術通常利用文件系統讀取文件。以Windows作業系統為例,可以使用Windows標準API(應用程式編程接口,ApplicationProgrammingInterface)ReadFile函數讀取目標文件。但是,目前利用文件系統是無法讀取到獨佔或者加鎖的文件的,否則將有悖於文件保護機制的初衷;並且,ReadFile函數會返回相應的調用錯誤碼;例如,獨佔文件對應的調用錯誤碼為ERR0R_SHARING_VI0LATI0N32,加鎖文件對應的調用錯誤碼為ERR0R_L0CK_VI0LATI0N33等等。·本發明實施例提供一種繞過文件系統讀取文件的方案,該方案針對文件系統讀取失敗的文件讀取數據,並分析所讀取數據的安全性;由於文件系統讀取失敗的文件中包括有獨佔文件或加鎖文件等受文件保護機制保護的文件,而病毒大多採用獨佔或鎖定的方式肆意運行其染毒文件;故本發明通過分析所讀取數據的安全性,能夠識別出與所讀取數據相應的被病毒運行的染毒文件。參照圖1,示出了根據本發明一個實施例的一種染毒文件的處理方法的流程圖,具體可以包括步驟101、獲取文件系統讀取失敗的文件,作為待處理文件;本發明實施例可以應用於各種殺毒引擎的病毒查殺,在病毒查殺過程中,可以首先嘗試利用文件系統讀取文件,如果出現讀取失敗則將相應的文件作為待處理文件進行後續處理。可以理解,本發明的待處理文件具體可以包括獨佔文件、加鎖文件等文件系統讀取失敗的文件。具體而言,可以根據文件系統讀取失敗的文件對應的調用錯誤碼獲取待處理文件,例如,調用錯誤碼為ERR0R_SHARING_VI0LATI0N32則表示相應的文件為獨佔文件,調用錯誤碼為ERR0R_L0CK_VI0LATI0N33則表示相應的文件為加鎖文件,獨佔文件和加鎖文件都在本發明待處理文件的處理範圍內。PE是Windows下的一個32位的文件格式,其是病毒喜歡感染的類型,危害和一般病毒是一樣的;只不過病毒通過修改PE文件的代碼或者向PE文件中插入病毒代碼,導致PE文件運行的時候執行病毒文件。故在本發明的一種優選實施例中,本發明可專門處理PE文件;PE文件通常指Windows作業系統上的程序文件,常見的PE文件具體可以包括EXE、DLL、OCX、SYS、COM等類型文件。相應地,所述獲取文件系統讀取失敗的文件,作為待處理文件的步驟,具體可以包括讀取文件後綴名,通過文件後綴名來判定所述文件是否為PE(可移植的執行體,portableexecutable)文件,若是,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件。通常的病毒文件不會太小,例如一般的木馬文件會大於兩個扇區的大小,故在本發明的一種優選實施例中,所述獲取文件系統讀取失敗的文件,作為待處理文件的步驟,具體可以包括判定文件大小,若所述文件大於第一文件閾值,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件。所述第一文件閾值可由本領域技術人員依據文件系統和欲處理的病毒文件空間的最小值設定。例如,FAT(文件配置表,FileAllocationTable)文件系統可以將任意大小的文件放至文件簇中,故FAT文件系統對應的第一文件閾值可僅僅依據欲處理的病毒文件空間的最小值設定,如上述木馬文件對應的兩個扇區的大小等等。又如,NTFS(NewTechnologyFileSystem)通常將不超過文件簇閾值的文件放至MFT(主文件表,MasterFileTable)中,超過4KB的文件才會放至文件簇中,故文件系統對應的第一文件閾值應依據文件系統和欲處理的病毒文件空間的最小值設定,例如,在文件簇閾值和欲處理的病毒文件空間的最小值兩者中取較大值,等等。本發明的兩個扇區的大小可依據具體的磁碟確定,本發明的文件簇閾值可依據具體的NTFS系統確定,本發明對具體的兩個扇區的大小和文件簇閾值不加以限制。步驟102、獲取所述待處理文件在磁碟上的簇分布信息;在開發最初的個人計算機時,為了組織存儲設備上數據,最初的DOS系統開發者設計一個表來指示哪個扇區屬於哪些文件,以及哪些扇區空閒,這樣作業系統可以最大限·度地利用這些磁碟空間,使文件可以存儲在不連續的扇區上,文件數據可以分散有組織地存儲在磁碟的不同扇區,這稱為文件分割。由於這個表需要做得足夠大,才能標識每個扇區,並預留一些空間以備未來採用更大存儲空間的磁碟。但要從這麼長的表中得到需要的信息將花太長時間,因此,引入了簇(cluster)的概念,這使設備的最小存儲單元從單個扇區增加到固定數量扇區,這些固定數量扇區稱為簇。簇是在物理上連續的一段存儲空間,也是文件系統中基本的儲存單位,每個文件由一個或多個簇組成,這些簇在物理上是連續的或不連續的。通常,磁碟對應文件系統包括若干個簇,這些簇具有對應的標識(如編號),本發明要獲取待處理文件在磁碟上的簇分布信息就是待處理文件鎖對應簇在磁碟上的標識。在本發明的一種優選實施例中,所述獲取所述待處理文件在磁碟上的簇分布信息的步驟,具體可以包括步驟S101、以讀屬性打開所述待處理文件,得到相應的句柄;在文件處理領域,只有得到文件句柄,才能獲取相應的文件屬性。故在實際應用中,可以使用Windows標準APICreateFile函數打開所述待處理文件,以得到所述待處理文件的句柄。CreateFile函數的相關參數說明如下,在具體實現中,訪問模式可以指定FILE_READ_ATTRIBUTES,這樣,CreateFile函數返回的是可以訪問所示待處理文件的句柄。HANDLECreateFile(LPCTSTRIpFileName,//指向文件名的指針DWORDdwDesiredAccess,//訪問模式(寫/讀)DWORDdwShareMode,//共享模式LPSECURITY_ATTRIBUTESIpSecurityAttributes,//指向安全屬性的指針DWORDdwCreationDisposition,//如何創建DWORDdwFlagsAndAttributes,//文件屬性HANDLEhTemplateFile//用於複製文件句柄);步驟S102、基於設備驅動接口函數的磁碟驅動控制碼功能,獲取與所述句柄相應的所述待處理文件在磁碟上的簇分布信息。磁碟為硬體設備,而Windows作業系統中,應用程式可以通過API函數DeviceIoControl來實現對硬體設備的訪問一獲取信息,發送命令,交換數據等。本發明實施例利用DeviceIoControl這個接口函數向磁碟設備驅動發送正確的驅動碼及數據,是為了達到獲取信息目的;這裡的信息是指文件屬性中文件簇分布屬性。DeviceIoControl的函數原型為BOOLDeviceIoControl(HANDLEhDevice,//設備句柄,用來標識要訪問的設備DWORDdwIoControlCode,//控制碼LPVOIDIpInBuffer,//輸入數據緩衝區指針DWORDnlnBufferSize,//輸入數據緩衝區長度LPVOIDIpOutBuffer,//輸出數據緩衝區指針DWORDnOutBufferSize,//輸出數據緩衝區長度LPDffORDIpBytesReturned,//輸出數據實際長度單元長度LPOVERLAPPEDIpOverlapped//重疊操作結構指針);具體到本發明實施例,則是將可以訪問所示待處理文件的句柄作為設備句柄,利用該接口函數向磁碟驅動發送磁碟驅動控制碼,以獲取與所述句柄相應的所述待處理文件在磁碟上的簇分布信息;其中,Windows作業系統中,磁碟驅動控制碼為FSCTL_GET_RETRIEVAL_P0INTERSo本發明實施例中,簇分布信息用於表示文件分布在哪個簇上,從而可以讀取到簇上文件全部數據。在具體實現中,可以採用數組等數據結構存儲一個文件的簇分布信息對應的簇編號,這些簇編號可連續可不連續。步驟103、依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據;通常,簇分布信息記錄有哪個簇的標識,則根據所述標識從對應的簇上讀取數據即可。在本發明的一種優選實施例中,所述依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據的步驟,具體可以包括步驟S201、依據所述待處理文件的路徑,獲取所述待處理文件對應的磁碟分區;步驟S202、依據所述簇分布信息,得到所述待處理文件在對應的磁碟分區上的簇偏移;步驟S203、在所述待處理文件對應磁碟分區對應位置上讀取與所述簇偏移相應的數據。假設所述待處理文件對應的磁碟分區為D,數組中記錄的簇分布信息為[4,5,6,7,10,12,15],則可以首先獲取首簇在D盤上的偏移4_0=4,也即,需要從D盤其實偏移4個簇,以讀取簇編號為4的數據;接下來,可以讀取簇編號為5,6,7,10,12,15的數據。步驟104、將讀取出的數據寫入臨時文件;在實際應用中,可以創建一個臨時目錄存放臨時文件;由於所述待處理文件不能利用文件系統正常讀取,故本發明採用臨時文件存儲所述待處理文件的全部數據,以方便接下來的安全性分析。步驟105、分析所述臨時文件的安全性,若所述臨時文件不安全,則對所述臨時文件及對應待處理文件執行清理操作。在實際應用中,直接利用殺毒引擎即可分析所述臨時文件是否安全,若不安全,則說明所述臨時文件為染毒文件。例如,殺毒引擎可以將臨時文件的特徵轉化為自身可識別的行為標識符(包括靜態代碼等),然後與病毒庫中所存貯的行為信息進行對應,並作出相應處理。或者,殺毒引擎還可以基於特徵碼的靜態掃描技術,即在文件中尋找特定十六進位串,如果找到,就可判定文件感染了某種病毒。現有技術中是直接對文件進行分析,並在其不安全時,對其執行清理操作的;由於本發明的待處理文件為文件系統讀取失敗的文件,普通的殺毒引擎也利用文件系統讀取文件,所以是無法讀取到所述待讀取文件的內容的,從而也無法直接分析所述待處理文件的安全性;因此,本發明採用臨時文件存儲所述待處理文件的數據,以便普通的殺毒引擎能夠分析所述臨時文件的安全性。由於臨時文件存儲的是所述待處理文件的數據,所以臨時文件的安全性與所述待處理文件的安全性是一致的;所以,在臨時文件不安全時,相應的待處理文件也是不安全的,需要對所述臨時文件及對應待處理文件均執行清理操作。在本發明的一種優選實施例中,所述分析所述臨時文件的安全性的步驟,具體可以包括步驟S301、計算所述臨時文件的特徵值;文件的特徵值是可以由文件(數據)計算得到的唯一標識該文件的值,其中,無法由該值逆向得到所述文件(數據)。例如,所述特徵值可以是根據HASH算法得到的HASH值。HASH算法例如包括MD2、MD4、MD5、HAVAL、SHA等。當然,文件的特徵值還可以是標識文件的靜態特徵串等等,本發明對具體的文件的特徵值不加以限制。步驟S302、根據白名單和所計算的所述臨時文件的特徵值,監測所述臨時文件是否可信任;所述白名單至少可以包括可信任文件的特徵值;所述白名單可由客戶端和/或伺服器端建立。例如,當計算機從外部接收到文件並且用戶判斷該文件是可信任文件時,可以計算該文件的特徵值,並將所計算的特徵值存儲在用於存儲白名單的表中。例如,所述監測所述臨時文件是否可信任的實現過程可以為將所述白名單中可信任文件的特徵值與所計算的所述臨時文件的特徵值進行比較。如果相同,則可以認為所述臨時文件是可信任的,並且輸出肯定的監測結果;否則,如果所述不同,則可以認為所述臨時文件是不可信任的,並且輸出否定的監測結果。在本發明的其它實施例中,還可以將可信任文件的特徵值連同文件名一同存儲至白名單中。此種情況下,所述白名單至少可以包括可信任文件的文件名和可信任文件的特徵值;可以首先根據所述臨時文件及對應待處理文件的文件名查找白名單,然後根據所查找的可信任文件的特徵值和所計算的臨時文件的特徵值進行監測。步驟S303、在監測結果為肯定的情況下,確定所述臨時文件安全;步驟S304、在監測結果為否定的情況下,利用殺毒引擎分析所述臨時文件是否安全。在本發明的一種優選實施例中,所述分析所述臨時文件的安全性的步驟,還可以包括在監測結果為否定的情況下,判斷所述臨時文件的籤名是否有效;在所述臨時文件的籤名有效時,確定所述臨時文件安全;在所述臨時文件的籤名無效時,利用殺毒引擎分析所述臨時文件是否安全。文字籤名即文字的數字籤名。在本發明的一種應用示例中,可以使用微軟標準函數WinVerifyTrust檢查一個臨時文件是不是一個有效的數字籤名;相應的檢查過程為用CreateFile打開臨時文件得到相應的文件句柄,傳給WinVerifyTrust這個API函數;WinVerifyTrust的返回值有多種,O表示數字籤名各項指標都是有效的,其他一切值都表示籤名無效。當然該示例並不作為本發明的應用限制。本發明實施例中,優選的是,所述清理操作具體可以包括禁用所述臨時文件及對應待處理文件的啟動項,或者,粉碎所述臨時文件及對應待處理文件。其中,可以在啟動文件夾或者註冊表啟動項中禁用所述臨時文件及對應待處理文件的啟動項。文件粉碎,顧名思義,就是把計算機上的文件徹底刪除,不留痕跡。本發明可以提供如下文件粉碎的技術方案文件粉碎方案I、調用作業系統應用程式接口API刪除所述臨時文件及對應待處理文件,具體可以包括如下子步驟步驟S401、調用位於用戶態的文件刪除例程的作業系統應用程式接口APIDeleteFile;步驟S402、通過所述DeleteFile例程調用位於用戶態的文件刪除例程的作業系統原生應用程式接口NativeAPIZwDeleteFile;步驟S403、通過所述用戶態的ZwDeleteFile例程調用位於內核態的文件刪除例程ZwDeleteFile,通過所述內核態的ZwDeleteFile例程刪除目標文件。粉碎方案2、調用自定義的用於刪除文件的應用程式接口刪除所述目標文件,具體可以包括如下子步驟步驟S501、依據所述臨時文件及對應待處理文件的路徑在對象管理器中查找對應的文件對象解析例程;步驟S502、依據查找得到的文件對象解析例程生成I/O請求包,並發送至預置的文件系統下層設備的原始地址;步驟S503、由文件系統下層設備依據所述I/O請求包對所述臨時文件及對應待處理文件執行粉碎操作。在本發明的一種實施例中,所述步驟S501依據所述臨時文件及對應待處理文件的路徑在對象管理器中查找對應的文件對象解析例程的步驟具體包括以下子步驟;子步驟S511、判斷文件路徑是否已經拆解完畢,若否,則執行子步驟S222;若是,則執行子步驟S224;子步驟S512、按照路徑分隔符拆解出文件路徑中下一個待拆解的路徑段;子步驟S513、採用當前拆解出的路徑段在對象管理器中搜索,判斷是否存在對應的文件對象例程;若是,則返回子步驟S221;若否,則執行子步驟S225;子步驟514、獲得所述文件路徑對應的文件對象解析例程;子步驟S515、返回未找到對應文件對象解析例程的信息。在具體實現中,可以預先構建對象管理器查詢的OpenPacket結構,基於路徑分隔符「\」循環拆解文件路徑,例如,文件路徑為c:\a\b.txt,則第一次拆解出的路徑段為c:,第二次拆解出的路徑段為c:\a,第三次拆解出的路徑段為c:\a\b.txt,即在本發明實施例,是基於遞歸調用的方式拆解文件路徑。對象管理器中維護有拉鏈式的對象Hash表,基於每次拆解出的路徑段搜索對象管理器,若能查找到對應的對象解析例程ParseProcedure,則繼續下一次的文件路徑拆解,並基於下一次拆解出的路徑段和之前已拆解出的路徑段搜索對象管理器,若當前的文件路徑經過循環解析被完全拆解完畢,則經過搜索對象管理器找到的文件對象解析例程ParseRoutine為當前文件路徑對應的文件對象解析例程。參照圖2,示出了根據本發明一個實施例的一種染毒文件的處理系統的結構圖,具體可以包括待處理文件獲取模塊201,用於獲取文件系統讀取失敗的文件,作為待處理文件;簇分布獲取模塊202,用於獲取所述待處理文件在磁碟上的簇分布信息;簇讀取模塊203,用於依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據;臨時寫入模塊204,用於將讀取出的數據寫入臨時文件;安全性分析模塊205,用於分析所述臨時文件的安全性;清理模塊206,用於在臨時文件不安全時,對所述臨時文件及對應待處理文件執行清理操作。在本發明的一種優選實施例中,所述簇分布獲取模塊202具體可以包括打開子模塊,用於以讀屬性打開所述待處理文件,得到相應的句柄;控制碼功能獲取子模塊,用於基於設備驅動接口函數的磁碟驅動控制碼功能,獲取與所述句柄相應的所述待處理文件在磁碟上的簇分布信息。在本發明的另一種優選實施例中,所述簇讀取模塊203具體可以包括磁碟分區獲取子模塊,用於依據所述待處理文件的路徑,獲取所述待處理文件對應的磁碟分區;簇偏移獲取子模塊,用於依據所述簇分布信息,得到所述待處理文件在對應的磁碟分區上的簇偏移;簇偏移讀取子模塊,用於在所述待處理文件對應的磁碟分區上讀取與所述簇偏移相應的數據。在本發明的再一種優選實施例中,所述文件系統讀取失敗的文件具體可以包括ERR0R_SHARING_VI0LATI0N32對應的文件和ERR0R_L0CK_VI0LATI0N33對應的文件。在本發明的一種優選實施例中,所述待處理文件獲取模塊201具體可以包括後綴名獲取子模塊,用於讀取文件後綴名,通過文件後綴名來判定所述文件是否為PE文件,若是,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件;或者,大小獲取子模塊,用於判定文件大小,若所述文件大於第一文件閾值,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件。在本發明的另一種優選實施例中,所述安全性分析模塊205可以進一步包括特徵值計算子模塊,用於計算所述臨時文件的特徵值;白名單檢測子模塊,用於根據白名單和所計算的所述臨時文件的特徵值,監測所述臨時文件是否可信任;所述白名單至少包括可信任文件的特徵值;第一確定子模塊,用於在監測結果為肯定的情況下,確定所述臨時文件安全;引擎分析子模塊,用於在監測結果為否定的情況下,利用殺毒引擎分析所述臨時文件是否安全。在本發明的再一種優選實施例中,所述清理操作模塊具體可以包括用于禁用所述臨時文件及對應待處理文件的啟動項的啟動項摘除子模塊,或者,用於粉碎所述臨時文件及對應待處理文件的粉碎子模塊。在本發明的一種優選實施例中,所述粉碎子模塊可以進一步包括例程查找單元,用於依據所述臨時文件及對應待處理文件的路徑在對象管理器中查找對應的文件對象解析例程;請求包生成單元,用於依據查找得到的文件對象解析例程生成I/O請求包;請求包發送單元,用於將所述I/O請求包發送至預置的文件系統下層設備的原始地址;由文件系統下層設備依據所述I/o請求包對所述臨時文件及對應待處理文件執行粉碎操作。在本發明實施例中,優選的是,所述安全性分析模塊還可以包括籤名效力判斷子模塊,用於在監測結果為否定的情況下,判斷所述臨時文件的籤名是否有效;籤名有效處理子模塊,用於在所述臨時文件的籤名有效時,確定所述臨時文件安全;籤名無效處理子模塊,用於在所述臨時文件的籤名無效時,利用殺毒引擎分析所述臨時文件是否安全。在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循具體實施方式的權利要求書由此明確地併入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP)來實現根據本發明實施例中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。權利要求1.一種染毒文件的處理方法,包括獲取文件系統讀取失敗的文件,作為待處理文件;獲取所述待處理文件在磁碟上的簇分布信息;依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據;將讀取出的數據寫入臨時文件;分析所述臨時文件的安全性,若所述臨時文件不安全,則對所述臨時文件及對應待處理文件執行清理操作。2.如權利要求I所述的方法,所述獲取所述待處理文件在磁碟上的簇分布信息的步驟,包括以讀屬性打開所述待處理文件,得到相應的句柄;基於設備驅動接口函數的磁碟驅動控制碼功能,獲取與所述句柄相應的所述待處理文件在磁碟上的簇分布信息。3.如權利要求I所述的方法,所述依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據的步驟,包括依據所述待處理文件的路徑,獲取所述待處理文件對應的磁碟分區;依據所述簇分布信息,得到所述待處理文件在對應的磁碟分區上的簇偏移;在所述待處理文件對應的磁碟分區對應位置上讀取與所述簇偏移相應的數據。4.如權利要求I所述的方法,所述文件系統讀取失敗的文件包括ERROR_SHARING_VI0LATI0N32對應的文件和ERROR_LOCK_VIOLATION33對應的文件。5.如權利要求I所述的方法,所述獲取文件系統讀取失敗的文件,作為待處理文件的步驟,包括讀取文件後綴名,通過文件後綴名來判定所述文件是否為PE文件,若是,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件;或者,判定文件大小,若所述文件大於第一文件閾值,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件。6.如權利要求I所述的方法,所述分析所述臨時文件的安全性的步驟,包括計算所述臨時文件的特徵值;根據白名單和所計算的所述臨時文件的特徵值,監測所述臨時文件是否可信任;所述白名單至少包括可信任文件的特徵值;在監測結果為肯定的情況下,確定所述臨時文件安全;在監測結果為否定的情況下,利用殺毒引擎分析所述臨時文件是否安全。7.如權利要求I所述的方法,所述清理操作包括禁用所述臨時文件及對應待處理文件的啟動項,或者,粉碎所述臨時文件及對應待處理文件。8.如權利要求7所述的方法,所述粉碎所述臨時文件及對應待處理文件的步驟,包括依據所述臨時文件及對應待處理文件的路徑在對象管理器中查找對應的文件對象解析例程;依據查找得到的文件對象解析例程生成I/O請求包,並發送至預置的文件系統下層設備的原始地址;由文件系統下層設備依據所述I/o請求包對所述臨時文件及對應待處理文件執行粉碎操作。9.如權利要求6所述的方法,所述分析所述臨時文件的安全性的步驟,還包括在監測結果為否定的情況下,判斷所述臨時文件的籤名是否有效;在所述臨時文件的籤名有效時,確定所述臨時文件安全;在所述臨時文件的籤名無效時,利用殺毒引擎分析所述臨時文件是否安全。10.一種處理系統,包括待處理文件獲取模塊,用於獲取文件系統讀取失敗的文件,作為待處理文件;簇分布獲取模塊,用於獲取所述待處理文件在磁碟上的簇分布信息;簇讀取模塊,用於依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據;臨時寫入模塊,用於將讀取出的數據寫入臨時文件;安全性分析模塊,用於分析所述臨時文件的安全性;清理模塊,用於在臨時文件不安全時,對所述臨時文件及對應待處理文件執行清理操作。11.如權利要求10所述的系統,所述簇分布獲取模塊包括打開子模塊,用於以讀屬性打開所述待處理文件,得到相應的句柄;控制碼功能獲取子模塊,用於基於設備驅動接口函數的磁碟驅動控制碼功能,獲取與所述句柄相應的所述待處理文件在磁碟上的簇分布信息。12.如權利要求10所述的系統,所述簇讀取模塊包括磁碟分區獲取子模塊,用於依據所述待處理文件的路徑,獲取所述待處理文件對應的磁碟分區;簇偏移獲取子模塊,用於依據所述簇分布信息,得到所述待處理文件在對應的磁碟分區上的簇偏移;簇偏移讀取子模塊,用於在所述待處理文件對應的磁碟分區上讀取與所述簇偏移相應的數據。13.如權利要求10所述的系統,所述文件系統讀取失敗的文件包括ERROR_SHARING_VIOLATION32對應的文件和ERROR_LOCK_VIOLATION33對應的文件。14.如權利要求10所述的系統,所述待處理文件獲取模塊包括後綴名獲取子模塊,用於讀取文件後綴名,通過文件後綴名來判定所述文件是否為PE文件,若是,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件;或者,大小獲取子模塊,用於判定文件大小,若所述文件大於第一文件閾值,則使用文件系統讀取所述文件,若讀取失敗則將所述文件作為待處理文件。15.如權利要求10所述的系統,所述安全性分析模塊包括特徵值計算子模塊,用於計算所述臨時文件的特徵值;白名單檢測子模塊,用於根據白名單和所計算的所述臨時文件的特徵值,監測所述臨時文件是否可信任;所述白名單至少包括可信任文件的特徵值;第一確定子模塊,用於在監測結果為肯定的情況下,確定所述臨時文件安全;引擎分析子模塊,用於在監測結果為否定的情況下,利用殺毒引擎分析所述臨時文件是否安全。16.如權利要求10所述的系統,所述清理操作模塊包括用于禁用所述臨時文件及對應待處理文件的啟動項的啟動項摘除子模塊,或者,用於粉碎所述臨時文件及對應待處理文件的粉碎子模塊。17.如權利要求16所述的系統,所述粉碎子模塊包括例程查找單元,用於依據所述臨時文件及對應待處理文件的路徑在對象管理器中查找對應的文件對象解析例程;請求包生成單元,用於依據查找得到的文件對象解析例程生成I/O請求包;請求包發送單元,用於將所述I/O請求包發送至預置的文件系統下層設備的原始地址;由文件系統下層設備依據所述I/o請求包對所述臨時文件及對應待處理文件執行粉碎操作。18.如權利要求15所述的系統,所述安全性分析模塊還包括籤名效力判斷子模塊,用於在監測結果為否定的情況下,判斷所述臨時文件的籤名是否有效;籤名有效處理子模塊,用於在所述臨時文件的籤名有效時,確定所述臨時文件安全;籤名無效處理子模塊,用於在所述臨時文件的籤名無效時,利用殺毒引擎分析所述臨時文件是否安全。全文摘要本發明公開了一種染毒文件的處理方法和系統,其中的方法具體包括獲取文件系統讀取失敗的文件,作為待處理文件;獲取所述待處理文件在磁碟上的簇分布信息;依據所述簇分布信息,從磁碟上讀取所述待處理文件的數據;將讀取出的數據寫入臨時文件;分析所述臨時文件的安全性,若所述臨時文件不安全,則對所述臨時文件及對應待處理文件執行清理操作。本發明能夠提高殺毒效率。文檔編號G06F21/56GK102902925SQ20121038024公開日2013年1月30日申請日期2012年9月29日優先權日2012年9月29日發明者譚合力申請人:北京奇虎科技有限公司,奇智軟體(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀