本發(fā)明專利技術(shù)提供了一種文件解鎖的方法和裝置,其中,所述方法包括:嘗試針對目標(biāo)文件執(zhí)行刪除操作或?qū)懭氩僮鳎蝗羲瞿繕?biāo)文件無法執(zhí)行刪除或?qū)懭氩僮鳎瑒t獲取所述目標(biāo)文件的屬性;若所述目標(biāo)文件的屬性為只讀,則調(diào)用自定義的用于文件屬性更改的應(yīng)用程序接口去除所述目標(biāo)文件的只讀屬性。本發(fā)明專利技術(shù)所提供的文件解鎖、粉碎機制不僅安全、可靠、成功率高,并且可以在復(fù)雜的客戶端環(huán)境中識別惡意程序的文件自保護(hù)行為并加以對抗,增強了和驅(qū)動級惡意程序攻防的對抗能力。
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及計算機安全的
,特別是涉及一種文件解鎖的方法和一種文件解鎖的裝置。
技術(shù)介紹
計算機病毒是指“編制者在計算機程序中插入的破壞計算機功能或者破壞數(shù)據(jù),影響計算機使用并且能夠自我復(fù)制的一組計算機指令或者程序代碼。計算機一旦染上病毒,計算機通常表現(xiàn)為其文件被增加、刪出、改變名稱或?qū)傩浴⒁苿拥狡渌夸浵拢《緦τ嬎銠C文件的這些操作,可能會導(dǎo)致正常的程序無法運行、計算機操作系統(tǒng)崩潰、計算機被遠(yuǎn)程控制、用戶信息被盜用等一系列的問題。為了保證計算機的安全運行,需要對計算機中感染病毒的文件進(jìn)行病毒查殺,以防止和清除病毒的破壞。在安全軟件領(lǐng)域,針對染毒計算機文件的“刪除”與“反刪除”是安全軟件和惡意程序(計算機病毒)對抗的永恒主題之一。現(xiàn)有技術(shù)中的病毒,往往通過文件只讀屬性限制等手段給染毒文件加上了加密鎖,采用常規(guī)手段無法破解加密鎖即無法刪除染毒文件,這些手段阻止殺毒軟件查殺染毒文件。安全軟件查殺病毒的過程,可以理解為對染毒文件進(jìn)行解鎖和粉碎。現(xiàn)有安全軟件,對染毒文件的解鎖和粉碎手段單一,無法破除染毒文件設(shè)置的層層保護(hù),對抗能力不強。傳統(tǒng)安全軟件廠商只解決了部分“反刪除”問題,在操作系統(tǒng)內(nèi)核態(tài)的攻防上往往體現(xiàn)出一定的能力缺失,驅(qū)動級惡意程序(Rootkit)對抗能力偏弱。因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是提出一種文件解鎖的處理機制,用以在復(fù)雜的客戶端環(huán)境中識別惡意程序的文件自保護(hù)行為并加以對抗,增強和驅(qū)動級惡意程序攻防的對抗能力。
技術(shù)實現(xiàn)思路
本專利技術(shù)所要解決的技術(shù)問題是提供一種文件解鎖的方法,以增強和驅(qū)動級惡意程序攻防的對抗能力。本專利技術(shù)還提供了一種文件解鎖的裝置,用以保證上述方法在實際中的應(yīng)用及實現(xiàn)。為了解決上述問題,本專利技術(shù)實施例公開了一種文件解鎖的方法,包括嘗試針對目標(biāo)文件執(zhí)行刪除操作或?qū)懭氩僮鳎蝗羲瞿繕?biāo)文件無法執(zhí)行刪除或?qū)懭氩僮鳎瑒t獲取所述目標(biāo)文件的屬性;若所述目標(biāo)文件的屬性為只讀,則調(diào)用自定義的用于文件屬性更改的應(yīng)用程序接口去除所述目標(biāo)文件的只讀屬性。優(yōu)選的,所述調(diào)用自定義的用于文件屬性更改的應(yīng)用程序接口去除目標(biāo)文件只讀屬性的步驟包括獲取針對目標(biāo)文件的屬性更改請求,所述請求中包括調(diào)用者輸入?yún)?shù),所述輸入?yún)?shù)中包括目標(biāo)文件的路徑;校驗所述調(diào)用者輸入?yún)?shù),若校驗通過,則依據(jù)所述目標(biāo)文件路徑在對象管理器中查找對應(yīng)的文件對象解析例程;若查找到對應(yīng)的文件對象解析例程,則依據(jù)所述文件對象解析例程生成I/O請求包,并發(fā)送至預(yù)置的文件系統(tǒng)下層設(shè)備的原始地址;其中,所述I/o請求包中包括依據(jù)所述屬性更改請求生成的目標(biāo)文件屬性更改操作信息;由所述文件系統(tǒng)下層設(shè)備依據(jù)所述目標(biāo)文件屬性更改操作信息,去除目標(biāo)文件的只讀屬性。優(yōu)選的,所述獲取目標(biāo)文件的屬性的步驟包括調(diào)用自定義的用于獲取文件屬性的應(yīng)用程序接口獲取所述目標(biāo)文件的屬性,具體 包括獲取針對目標(biāo)文件的屬性查詢請求,所述請求中包括調(diào)用者輸入?yún)?shù),所述輸入?yún)?shù)中包括目標(biāo)文件的路徑;校驗所述調(diào)用者輸入?yún)?shù),若校驗通過,則依據(jù)所述目標(biāo)文件路徑在對象管理器中查找對應(yīng)的文件對象解析例程;若查找到對應(yīng)的文件對象解析例程,則依據(jù)所述文件對象解析例程生成I/O請求包,并發(fā)送至預(yù)置的文件系統(tǒng)下層設(shè)備的原始地址;其中,所述I/o請求包中包括依據(jù)所述屬性查詢請求生成的目標(biāo)文件屬性查詢操作信息;由所述文件系統(tǒng)下層設(shè)備依據(jù)所述目標(biāo)文件屬性查詢操作信息,查詢目標(biāo)文件的屬性。優(yōu)選的,所述獲取目標(biāo)文件的屬性的步驟包括調(diào)用操作系統(tǒng)的應(yīng)用程序接口 API獲取所述目標(biāo)文件的屬性,具體包括調(diào)用位于用戶態(tài)的文件屬性獲取例程的操作系統(tǒng)應(yīng)用程序接口 API GetFileAttributes ;通過所述GetFileAttributes例程調(diào)用位于用戶態(tài)的文件信息查詢例程的操作系統(tǒng)原生應(yīng)用程序接口 Native API ZwQueryInformationFiIe ;通過所述用戶態(tài)的ZwQueryInformationFile例程調(diào)用位于內(nèi)核態(tài)的文件信息查詢例程ZwQueryInformationFile,由所述內(nèi)核態(tài)的ZwQueryInformationFile例程查詢目標(biāo)文件的屬性。優(yōu)選的,在去除所述目標(biāo)文件的只讀屬性后,還包括調(diào)用操作系統(tǒng)應(yīng)用程序接口 API刪除所述目標(biāo)文件,具體包括調(diào)用位于用戶態(tài)的文件刪除例程的操作系統(tǒng)應(yīng)用程序接口 API =DeleteFile ;通過所述DeleteFile例程調(diào)用位于用戶態(tài)的文件刪除例程的操作系統(tǒng)原生應(yīng)用程序接口 Native API ZwDeleteFile ;通過所述用戶態(tài)的ZwDeleteFiIe例程調(diào)用位于內(nèi)核態(tài)的文件刪除例程ZwDeleteFile,通過所述內(nèi)核態(tài)的ZwDeleteFile例程刪除目標(biāo)文件。優(yōu)選的,在去除所述目標(biāo)文件的只讀屬性后,還包括調(diào)用自定義的用于刪除文件的應(yīng)用程序接口刪除所述目標(biāo)文件,具體包括獲取針對目標(biāo)文件的刪除請求,所述請求中包括調(diào)用者輸入?yún)?shù),所述輸入?yún)?shù)中包括目標(biāo)文件的路徑;校驗所述調(diào)用者輸入?yún)?shù),若校驗通過,則依據(jù)所述目標(biāo)文件路徑在對象管理器中查找對應(yīng)的文件對象解析例程;若查找到對應(yīng)的文件對象解析例程,則依據(jù)所述文件對象解析例程生成I/O請求包,并發(fā)送至預(yù)置的文件系統(tǒng)下層設(shè)備的原始地址;其中,所述I/O請求包中包括依據(jù)所述刪除請求生成的目標(biāo)文件刪除操作信息;由所述文件系統(tǒng)下層設(shè)備依據(jù)所述目標(biāo)文件刪除操作信息,刪除所述目標(biāo)文件。優(yōu)選的,所述依據(jù)文件路徑在對象管理器中查找對應(yīng)的文件對象解析例程的步驟具體包括以下子步驟; 子步驟SI、判斷文件路徑是否已經(jīng)拆解完畢,若否,則執(zhí)行子步驟S2 ;若是,則執(zhí) 行子步驟S4 ;子步驟S2、按照路徑分隔符拆解出文件路徑中下一個待拆解的路徑段;子步驟S3、采用當(dāng)前拆解出的路徑段在對象管理器中搜索,判斷是否存在對應(yīng)的文件對象例程;若是,則返回子步驟SI ;若否,則執(zhí)行子步驟S5 ;子步驟S4、獲得所述文件路徑對應(yīng)的文件對象解析例程。子步驟S5、返回未找到對應(yīng)文件對象解析例程的信息。本專利技術(shù)實施例還公開了一種文件解鎖的裝置,包括操作模塊,用于嘗試針對目標(biāo)文件執(zhí)行刪除操作或?qū)懭氩僮鳎粚傩垣@取模塊,用于在所述目標(biāo)文件無法執(zhí)行刪除或?qū)懭氩僮鲿r,獲取所述目標(biāo)文件的屬性;只讀屬性去除模塊,用于在所述目標(biāo)文件的屬性為只讀時,調(diào)用自定義的用于文件屬性更改的應(yīng)用程序接口去除所述目標(biāo)文件的只讀屬性。優(yōu)選的,所述只讀屬性去除模塊包括屬性更改請求獲取子模塊,用于獲取針對目標(biāo)文件的屬性更改請求,所述請求中包括調(diào)用者輸入?yún)?shù),所述輸入?yún)?shù)中包括目標(biāo)文件的路徑;參數(shù)校驗子模塊,用于校驗所述調(diào)用者輸入?yún)?shù),若校驗通過,則觸發(fā)對象查找子模塊;對象查找子模塊,用于依據(jù)所述目標(biāo)文件路徑在對象管理器中查找對應(yīng)的文件對象解析例程;第一 IRP包發(fā)送子模塊,用于在查找到對應(yīng)的文件對象解析例程時,依據(jù)所述文件對象解析例程生成I/o請求包,所述I/O請求包中包括依據(jù)所述屬性更改請求生成的目標(biāo)文件屬性更改操作信息,并將所述I/o請求包發(fā)送至預(yù)置的文件系統(tǒng)下層設(shè)備的原始地址;由所述文件系統(tǒng)下層設(shè)備依據(jù)所述目標(biāo)文件屬性更改操作信息,去除目標(biāo)文件的只讀屬性。優(yōu)選的,所述屬性獲取模塊包括屬性查詢請求獲取子模塊,用于獲取針對目本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點】
一種文件解鎖的方法,其特征在于,包括:嘗試針對目標(biāo)文件執(zhí)行刪除操作或?qū)懭氩僮鳎蝗羲瞿繕?biāo)文件無法執(zhí)行刪除或?qū)懭氩僮鳎瑒t獲取所述目標(biāo)文件的屬性;若所述目標(biāo)文件的屬性為只讀,則調(diào)用自定義的用于文件屬性更改的應(yīng)用程序接口去除所述目標(biāo)文件的只讀屬性。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王宇,潘劍鋒,
申請(專利權(quán))人:奇智軟件北京有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。