欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種文件解鎖的方法及裝置的制作方法

文檔序號:6427274閱讀:152來源:國知局
專利名稱:一種文件解鎖的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機安全的技術(shù)領(lǐng)域,特別是涉及一種文件解鎖的方法和一種文件解鎖的裝置。
背景技術(shù)
計算機病毒是指“編制者在計算機程序中插入的破壞計算機功能或者破壞數(shù)據(jù),影響計算機使用并且能夠自我復(fù)制的一組計算機指令或者程序代碼。計算機一旦染上病毒,計算機通常表現(xiàn)為其文件被增加、刪出、改變名稱或?qū)傩?、移動到其它目錄下,病毒對計算機文件的這些操作,可能會導(dǎo)致正常的程序無法運行、計算機操作系統(tǒng)崩潰、計算機被遠(yuǎn)程控制、用戶信息被盜用等一系列的問題。為了保證計算機的安全運行,需要對計算機中感染病毒的文件進行病毒查殺,以防止和清除病毒的破壞。在安全軟件領(lǐng)域,針對染毒計算機文件的“刪除”與“反刪除”是 安全軟件和惡意程序(計算機病毒)對抗的永恒主題之一。現(xiàn)有技術(shù)中的病毒,往往通過文件權(quán)限、所有者限制等手段給染毒文件加上了加密鎖,采用常規(guī)手段無法破解加密鎖即無法刪除染毒文件,這些手段阻止殺毒軟件查殺染毒文件。安全軟件查殺病毒的過程,可以理解為對染毒文件進行解鎖和粉碎。現(xiàn)有安全軟件,對染毒文件的解鎖和粉碎手段單一,無法破除染毒文件設(shè)置的層層保護,對抗能力不強。傳統(tǒng)安全軟件廠商只解決了部分“反刪除”問題,在操作系統(tǒng)內(nèi)核態(tài)的攻防上往往體現(xiàn)出一定的能力缺失,驅(qū)動級惡意程序(Rootkit)對抗能力偏弱。因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是提出一種文件解鎖的處理機制,用以在復(fù)雜的客戶端環(huán)境中識別惡意程序的文件自保護行為并加以對抗,增強和驅(qū)動級惡意程序攻防的對抗能力。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種文件解鎖的方法,以增強和驅(qū)動級惡意程序攻防的對抗能力。本發(fā)明還提供了一種文件解鎖的裝置,用以保證上述方法在實際中的應(yīng)用及實現(xiàn)。為了解決上述問題,本發(fā)明實施例公開了一種文件解鎖的方法,包括獲取目標(biāo)文件的操作權(quán)限信息;若所述目標(biāo)文件無操作權(quán)限,則調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對所述目標(biāo)文件添加操作權(quán)限。優(yōu)選的,在針對所述目標(biāo)文件添加操作權(quán)限后,還包括調(diào)用操作系統(tǒng)應(yīng)用程序接口 API或自定義的用于打開文件的應(yīng)用程序接口,打開所述具有操作權(quán)限的目標(biāo)文件。優(yōu)選的,在獲取目標(biāo)文件的操作權(quán)限信息之前,還包括
調(diào)用自定義的用于打開文件的應(yīng)用程序接口打開所述目標(biāo)文件。優(yōu)選的,所述的方法還包括對所述具有操作權(quán)限的目標(biāo)文件進行操作,所述操作包括文件刪除操作。優(yōu)選的,所述獲取目標(biāo)文件的操作權(quán)限信息的步驟包括調(diào)用操作系統(tǒng)應(yīng)用程序接口 API中的GetNamedSecurityInfo例程和AccessCheck例程;通過所述GetNamedSecurityInfo例程獲取目標(biāo)文件的安全描述符,以及,通過所述AccessCheck例程依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。優(yōu)選的,所述獲取目標(biāo)文件的操作權(quán)限信息的步驟包括、調(diào)用自定義的應(yīng)用程序接口中的DsGetFileLockType例程,通過所述DsGetFileLockType例程獲取目標(biāo)文件的安全描述符,并依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。優(yōu)選的,所述調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對目標(biāo)文件添加操作權(quán)限的步驟包括調(diào)用自定義的應(yīng)用程序接口中的DsSetTargetAccess例程設(shè)置目標(biāo)文件的權(quán)限集合,所述DsSetTargetAccess例程的執(zhí)行邏輯設(shè)置與操作系統(tǒng)應(yīng)用程序接口 API中的SetNamedSecurityInfo 例程一致。優(yōu)選的,所述調(diào)用自定義的用于打開文件的應(yīng)用程序接口打開目標(biāo)文件的步驟包括獲取針對目標(biāo)文件的操作請求,所述請求中包括調(diào)用者輸入?yún)?shù),所述輸入?yún)?shù)中包括文件路徑;校驗所述調(diào)用者輸入?yún)?shù),若校驗通過,則依據(jù)所述文件路徑在對象管理器中查找對應(yīng)的文件對象解析例程;若查找到對應(yīng)的文件對象解析例程,則依據(jù)所述文件對象解析例程生成I/O請求包,并發(fā)送至預(yù)置的文件系統(tǒng)下層設(shè)備的原始地址。優(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)文件對象解析例程的信息。本發(fā)明還公開了一種文件解鎖的裝置,包括權(quán)限信息獲取模塊,用于獲取目標(biāo)文件的操作權(quán)限信息;權(quán)限添加模塊,用于在所述目標(biāo)文件無操作權(quán)限時,調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對所述目標(biāo)文件添加操作權(quán)限。優(yōu)選的,所述的裝置,還包括
第一文件打開模塊,用于在針對所述目標(biāo)文件添加操作權(quán)限后,調(diào)用操作系統(tǒng)應(yīng)用程序接口 API或自定義的用于打開文件的應(yīng)用程序接口,打開所述具有操作權(quán)限的目標(biāo)文件。優(yōu)選的,所述的裝置還包括第二文件打開模塊,用于在獲取目標(biāo)文件的操作權(quán)限信息之前,調(diào)用自定義的用于打開文件的應(yīng)用程序接口打開所述目標(biāo)文件。優(yōu)選的,所述的裝置還包括
文件粉碎模塊,用于對所述具有操作權(quán)限的目標(biāo)文件進行操作,所述操作包括文件刪除操作。優(yōu)選的,所述目標(biāo)文件的操作權(quán)限信息通過調(diào)用操作系統(tǒng)應(yīng)用程序接口 API中的GetNamedSecurityInfo 例程和 AccessCheck 例程獲取;其中,所述 GetNamedSecurityInfo例程用于獲取目標(biāo)文件的安全描述符,所述AccessCheck例程用于依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。優(yōu)選的,所述目標(biāo)文件的操作權(quán)限信息通過調(diào)用自定義的應(yīng)用程序接口中的DsGetFileLockType例程獲??;其中,所述DsGetFileLockType例程用于獲取目標(biāo)文件的安全描述符,并依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。優(yōu)選的,所述權(quán)限添加模塊包括預(yù)設(shè)例程調(diào)用子模塊,用于調(diào)用自定義的應(yīng)用程序接口中的DsSetTargetAccess例程設(shè)置目標(biāo)文件的權(quán)限集合,所述DsSetTargetAccess例程的執(zhí)行邏輯設(shè)置與操作系統(tǒng)應(yīng)用程序接口 API中的SetNamedSecurityInfo例程一致。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點本發(fā)明通過在對目標(biāo)文件操作時若沒有操作權(quán)限(包括文件權(quán)限、所有者限制),則調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對該目標(biāo)文件添加操作權(quán)限后,執(zhí)行目標(biāo)文件解鎖和粉碎的操作。本發(fā)明所提供的文件解鎖、粉碎、粉碎機制不僅安全、可靠、成功率高,并且可以在復(fù)雜的客戶端環(huán)境中識別惡意程序的文件自保護行為并加以對抗,增強了和驅(qū)動級惡意程序攻防的對抗能力。


圖I是本發(fā)明的一種文件解鎖的方法實施例I的步驟流程圖;圖2是本發(fā)明的一種文件解鎖的方法實施例2的步驟流程圖;圖3是本發(fā)明的一種文件解鎖的裝置實施例的結(jié)構(gòu)框圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細(xì)的說明。本發(fā)明實施例的核心構(gòu)思之一在于,在對目標(biāo)文件操作時若沒有操作權(quán)限(包括文件權(quán)限、所有者限制),則調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對該目標(biāo)文件添加操作權(quán)限后,執(zhí)行目標(biāo)文件解鎖和粉碎的操作。參考圖1,示出了本發(fā)明的一種文件解鎖的方法實施例I的步驟流程圖,具體可以包括以下步驟步驟101、獲取目標(biāo)文件的操作權(quán)限信息;“權(quán)限限制”是微軟設(shè)計操作系統(tǒng)時的一種細(xì)粒度訪問控制機制,Windows操作系統(tǒng)內(nèi)核有專門的功能模塊(縮寫為Se,全稱是Security),設(shè)計的原則要符合美國C2級操作系統(tǒng)的安全標(biāo)準(zhǔn)。目前微軟操作系統(tǒng)中 權(quán)限限制細(xì)粒度的體現(xiàn)在如下方面(I)完全控制;(2)遍歷文件夾/運行文件;(3)列出文件夾/運行數(shù)據(jù);(4)讀取屬性;(5)讀取擴展屬性;(6)創(chuàng)建文件/寫入數(shù)據(jù);(7)創(chuàng)建文件夾/附加數(shù)據(jù);(8)寫入屬性;(9)寫入擴展屬性;(10)刪除;(11)讀取權(quán)限;(12)更改權(quán)限;(13)取得所有權(quán)。Windows操作系統(tǒng)導(dǎo)出了一組權(quán)限操作的API,如GetNamedSecurityInfo函數(shù)、AccessCheck函數(shù)等。其中,GetNamedSecurityInfo函數(shù)主要是用于得到目標(biāo)文件的安全描述符(Security Descriptor簡稱SD,這是操作系統(tǒng)權(quán)限相關(guān)的一個基本數(shù)據(jù)結(jié)構(gòu)),AccessCheck函數(shù)主要是用于基于安全描述符查詢目標(biāo)文件的權(quán)限限制情況。因而,在本發(fā)明的一種優(yōu)選實施例中,所述步驟101具體可以包括如下子步驟子步驟SI I、調(diào)用操作系統(tǒng)應(yīng)用程序接口 API中的GetNamedSecurityInfo例程和AccessCheck 例程;子步驟S12、通過所述GetNamedSecurityInfo例程獲取目標(biāo)文件的安全描述符,以及,通過所述AccessCheck例程依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。為更好地識別來意程序的文件自保護行為并加以對抗,作為本發(fā)明的另一種優(yōu)選實施例,也可以通過調(diào)用自定義的用于查詢文件權(quán)限的應(yīng)用程序接口獲取目標(biāo)文件的操作權(quán)限信息。例如,自定義的應(yīng)用程序接口導(dǎo)出了一組函數(shù)接口 AsGetFileLockType、DsSetTargetAccess等,其中DsGetFileLockType可以查詢指定文件權(quán)限,它行為模擬了操作系統(tǒng) API GetNamedSecurityInfo> AccessCheck 等例程。因而,在本發(fā)明的另一種優(yōu)選實施例中,所述步驟101具體可以包括如下子步驟子步驟S21、調(diào)用自定義的應(yīng)用程序接口中的DsSetTargetAccess例程設(shè)置目標(biāo)文件的權(quán)限集合,所述DsSetTargetAccess例程的執(zhí)行邏輯設(shè)置與操作系統(tǒng)應(yīng)用程序接口API 中的 SetNamedSecurityInfo 例程一致。在具體實現(xiàn)中,對于調(diào)用者而言,返回值宏ERR0R_SUCCESS (值為O)表示成功、宏ERROR_ACCESS_DENIED表示失敗(訪問拒絕,值為5)。也就是說,根據(jù)上述返回值,調(diào)用者可以獲知對目標(biāo)文件有無操作權(quán)限。
當(dāng)然,上述獲取目標(biāo)文件操作權(quán)限信息的方法僅僅用作示例,本領(lǐng)域技術(shù)人員依據(jù)實際情況采用任一種方法獲取文件的操作權(quán)限信息都是可行的,本發(fā)明對此無需加以限制。步驟102、若所述目標(biāo)文件無操作權(quán)限,則調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對所述目標(biāo)文件添加操作權(quán)限。在本發(fā)明的一種優(yōu)選實施例中,所述步驟102具體可以包括如下子步驟子步驟S31、調(diào)用自定義的應(yīng)用程序接口中的DsSetTargetAccess例程設(shè)置目標(biāo)文件的權(quán)限集合,所述DsSetTargetAccess例程的執(zhí)行邏輯設(shè)置與操作系統(tǒng)應(yīng)用程序接口API 中的 SetNamedSecurityInfo 例程一致。針對文件解鎖的應(yīng)用,在本發(fā)明的一種優(yōu)選實施例中,在針對所述目標(biāo)文件添加操作權(quán)限后,還可以包括如下步驟
調(diào)用操作系統(tǒng)應(yīng)用程序接口 API或自定義的用于打開文件的應(yīng)用程序接口,打開 所述具有操作權(quán)限的目標(biāo)文件。針對文件粉碎的應(yīng)用,在本發(fā)明的一種優(yōu)選實施例中,在打開所述目標(biāo)文件后,還可以包括如下步驟對所述具有操作權(quán)限的目標(biāo)文件進行操作,所述操作包括文件刪除操作。本實施例主要是針對實際中先對文件進行權(quán)限校驗,在獲得權(quán)限后執(zhí)行文件打開解鎖,或進一步執(zhí)行文件刪除粉碎而言的。需要說明的是,在本發(fā)明實施例中,所述文件打開不是指通過雙擊鼠標(biāo)或按回車鍵等觸發(fā)方式打開文件(如*. exe、*. doc等類型的文件);而是指用操作系統(tǒng)API或本發(fā)明的自定義應(yīng)用程序接口 BAPI (應(yīng)用本發(fā)明,可以在操作系統(tǒng)用戶態(tài)接口完整實現(xiàn)一套文件操作調(diào)用庫)的CreateFileO函數(shù)等打開文件、得到文件句柄的操作,因為只有得到文件句柄后才可以進一步操作該文件。從函數(shù)調(diào)用方法角度而言,本發(fā)明實施例中所指文件“打開”主要包括以下幾種情形I、使用Windows標(biāo)準(zhǔn)API CreateFile函數(shù)打開目標(biāo)文件;2、使用 Windows Native API ZwCreateFile/NtCreateFile 函數(shù)打開目標(biāo)文件;3、使用 Windows Native API ZwOpenFile/NtOpenFile 函數(shù)打開目標(biāo)文件其中,CreateFile的參數(shù)dwCreationDisposition可以控制函數(shù)行為是“創(chuàng)建新文件”還是“打開已經(jīng)存在的文件”。參考圖2,示出了本發(fā)明的一種文件解鎖的方法實施例2的步驟流程圖,具體可以包括以下步驟步驟201、調(diào)用自定義的用于打開文件的應(yīng)用程序接口打開所述目標(biāo)文件;在本發(fā)明的一種優(yōu)選實施例中,所述步驟201具體可以包括以下子步驟子步驟S41、獲取針對目標(biāo)文件的操作請求,所述請求中包括調(diào)用者輸入?yún)?shù),所述輸入?yún)?shù)中包括文件路徑;子步驟S42、校驗所述調(diào)用者輸入?yún)?shù),若校驗通過,則依據(jù)所述文件路徑在對象管理器中查找對應(yīng)的文件對象解析例程;子步驟S43、若查找到對應(yīng)的文件對象解析例程,則依據(jù)所述文件對象解析例程生成I/O請求包,并發(fā)送至預(yù)置的文件系統(tǒng)下層設(shè)備的原始地址。更為優(yōu)選的是,所述子步驟S42中依據(jù)文件路徑在對象管理器中查找對應(yīng)的文件對象解析例程的步驟具體包括以下子步驟;子步驟S421、判斷文件路徑是否已經(jīng)拆解完畢,若否,則執(zhí)行子步驟S422 ;若是,則執(zhí)行子步驟S424 ;
·
子步驟S422、按照路徑分隔符拆解出文件路徑中下一個待拆解的路徑段;子步驟S423、采用當(dāng)前拆解出的路徑段在對象管理器中搜索,判斷是否存在對應(yīng)的文件對象例程;若是,則返回子步驟S421 ;若否,則執(zhí)行子步驟S425 ;子步驟S424、獲得所述文件路徑對應(yīng)的文件對象解析例程。子步驟S425、返回未找到對應(yīng)文件對象解析例程的信息。在本發(fā)明實施例中,所述文件包括WINDOWS操作系統(tǒng)中所支持類型的文件,所述文件操作是指針對文件的原子操作或原子操作的組合,所述原子操作包括文件創(chuàng)建、文件讀取、文件寫入、文件屬性設(shè)置、文件屬性獲取、文件指針設(shè)置、文件大小獲取、文件刪除、目錄移除、句柄關(guān)閉、第一個文件查找、下一個文件查找、文件查找關(guān)閉、判斷路徑是否為目錄、判斷目標(biāo)文件是否存在、長路徑獲取、短路徑獲取、路徑查找、文件復(fù)制、文件移動等。例如,文件的殺毒操作即為文件讀取、第一個文件查找、下一個文件查找、文件查找關(guān)閉、文件移動等原子操作的組合。在具體實現(xiàn)中,所述I/O請求包中可以包括從文件操作請求中提取的文件操作信息,在發(fā)送I/o請求包至預(yù)置的文件系統(tǒng)下層設(shè)備的原始地址之后,所述調(diào)用自定義的應(yīng)用程序接口對所述目標(biāo)文件進行操作的步驟還可以包括以下子步驟子步驟S14、由所述文件系統(tǒng)下層設(shè)備依據(jù)所述文件操作信息執(zhí)行對應(yīng)的文件操作。作為本發(fā)明文件解鎖應(yīng)用的一種示例,所述文件操作請求可以包括目標(biāo)文件打開請求,相應(yīng)地,所述文件操作信息可以包括目標(biāo)文件打開操作,在這種情況下,所述文件系統(tǒng)下層設(shè)備則可以依據(jù)所述文件操作信息執(zhí)行打開所述目標(biāo)文件的操作。作為本發(fā)明文件刪除應(yīng)用的一種示例,所述文件操作請求還可以包括目標(biāo)文件刪除請求,相應(yīng)地,所述文件操作信息還可以包括目標(biāo)文件刪除操作,在這種情況下,所述文件系統(tǒng)下層設(shè)備則可以依據(jù)所述文件操作信息在打開所述目標(biāo)文件后,執(zhí)行所述目標(biāo)文件的刪除操作。在具體實現(xiàn)中,調(diào)用者進程通過調(diào)用BAPI發(fā)起文件操作請求,調(diào)用對應(yīng)的文件操作接口例程,操作系統(tǒng)內(nèi)核態(tài)驅(qū)動獲取并校驗所述來自用戶態(tài)的請求,構(gòu)建查詢數(shù)據(jù)結(jié)構(gòu)循環(huán)解析傳入的文件路徑,最終查找到對象管理器中維護的對象類型,這一過程有效對抗了內(nèi)核態(tài)的劫持內(nèi)險。此后,操作系統(tǒng)內(nèi)核態(tài)驅(qū)動構(gòu)建并填充IRP請求數(shù)據(jù)包,發(fā)送至預(yù)先確定的文件系統(tǒng)下層設(shè)備的原始地址處,此時文件系統(tǒng)調(diào)用棧上的第三方過濾驅(qū)動(其他安全軟件、驅(qū)動級惡意程序)被穿透(旁路,bypass)。簡而言之,即本發(fā)明通過建立一條新的、可信的、可以穿透過濾驅(qū)動的文件操作執(zhí)行路徑,有效避免了傳統(tǒng)操作系統(tǒng)的文件執(zhí)行路徑上存在的風(fēng)險。步驟202、獲取目標(biāo)文件的操作權(quán)限信息;在本實施例中,本步驟具體可以為,調(diào)用自定義的應(yīng)用程序接口中的DsGetFileLockType例程,通過所述DsGetFileLockType例程獲取目標(biāo)文件的安全描述符,并依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。步驟203、若所述目標(biāo)文件無操作權(quán)限,則調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對所述目標(biāo)文件添加操作權(quán)限。本實施例主要是針對實際中先解鎖打開目標(biāo)文件,然后進行權(quán)限校驗,在獲得權(quán)限后進一步執(zhí)行文件刪除粉碎而言的。針對文件粉碎的應(yīng)用,在本發(fā)明的一種優(yōu)選實施例中,在對所述目標(biāo)文件添加操作權(quán)限后,還可以包括如下步驟對所述具有操作權(quán)限的目標(biāo)文件進行操作,所述操作包 括文件刪除操作。在本實施例,所述文件刪除操作由文件系統(tǒng)下層設(shè)備根據(jù)IRP中的文件刪除操作信息完成。需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。參考圖3,示出了本發(fā)明的一種文件解鎖的裝置實施例的結(jié)構(gòu)框圖,具體可以包括以下模塊權(quán)限信息獲取模塊301,用于獲取目標(biāo)文件的操作權(quán)限信息;權(quán)限添加模塊302,用于在所述目標(biāo)文件無操作權(quán)限時,調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對所述目標(biāo)文件添加操作權(quán)限。在本發(fā)明的一種優(yōu)選實施例,針對文件解鎖的應(yīng)用,所述的裝置還包括第一文件打開模塊,用于在針對所述目標(biāo)文件添加操作權(quán)限后,調(diào)用操作系統(tǒng)應(yīng)用程序接口 API或自定義的用于打開文件的應(yīng)用程序接口,打開所述具有操作權(quán)限的目標(biāo)文件。作為本發(fā)明的另一種優(yōu)選實施例,針對文件解鎖的應(yīng)用,所述的裝置還包括第二文件打開模塊,用于在獲取目標(biāo)文件的操作權(quán)限信息之前,調(diào)用自定義的用于打開文件的應(yīng)用程序接口打開所述目標(biāo)文件。針對文件粉碎的應(yīng)用,本實施例還可以包括以下模塊文件粉碎模塊,用于對所述具有操作權(quán)限的目標(biāo)文件進行操作,所述操作包括文件刪除操作。在具體實現(xiàn)中,所述目標(biāo)文件的操作權(quán)限信息可以通過調(diào)用操作系統(tǒng)應(yīng)用程序接口 API中的GetNamedSecurityInfo例程和AccessCheck例程獲??;其中,所述GetNamedSecurityInfo例程用于獲取目標(biāo)文件的安全描述符,所述AccessCheck例程用于依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。作為本發(fā)明具體應(yīng)用的一種示例,所述目標(biāo)文件的操作權(quán)限信息還可以通過調(diào)用自定義的應(yīng)用程序接口中的DsGetFileLockType例程獲取;其中,所述DsGetFileLockType例程用于獲取目標(biāo)文件的安全描述符,并依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信
肩、O在本發(fā)明的一種優(yōu)選實施例中,所述權(quán)限添加模塊可以包括
預(yù)設(shè)例程調(diào)用子模塊,用于調(diào)用自定義的應(yīng)用程序接口中的DsSetTargetAccess例程設(shè)置目標(biāo)文件的權(quán)限集合,所述DsSetTargetAccess例程的執(zhí)行邏輯設(shè)置與操作系統(tǒng)應(yīng)用程序接口 API中的SetNamedSecurityInfo例程一致。由于所述裝置實施例基本相應(yīng)于前述方法實施例,故本實施例的描述中未詳盡之處,可以參見前述實施例中的相關(guān)說明,在此就不贅述了。本發(fā)明可用于眾多通用或?qū)S玫挠嬎阆到y(tǒng)環(huán)境或配置中。例如個人計算機、服務(wù)器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。本發(fā)明可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機存儲介質(zhì)中。以上對本發(fā)明所提供的一種文件解鎖的方法和一種文件解鎖的裝置進行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種文件解鎖的方法,其特征在于,包括 獲取目標(biāo)文件的操作權(quán)限信息; 若所述目標(biāo)文件無操作權(quán)限,則調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對所述目標(biāo)文件添加操作權(quán)限。
2.如權(quán)利要求I所述的方法,其特征在于,在針對所述目標(biāo)文件添加操作權(quán)限后,還包括 調(diào)用操作系統(tǒng)應(yīng)用程序接口 API或自定義的用于打開文件的應(yīng)用程序接口,打開所述具有操作權(quán)限的目標(biāo)文件。
3.如權(quán)利要求I所述的方法,其特征在于,在獲取目標(biāo)文件的操作權(quán)限信息之前,還包括 調(diào)用自定義的用于打開文件的應(yīng)用程序接口打開所述目標(biāo)文件。
4.如權(quán)利要求1、2或3所述的方法,其特征在于,還包括 對所述具有操作權(quán)限的目標(biāo)文件進行操作,所述操作包括文件刪除操作。
5.如權(quán)利要求I或2所述的方法,其特征在于,所述獲取目標(biāo)文件的操作權(quán)限信息的步驟包括 調(diào)用操作系統(tǒng)應(yīng)用程序接口 API中的GetNamedSecurityInfo例程和AccessCheck例程; 通過所述GetNamedSecurityInfo例程獲取目標(biāo)文件的安全描述符,以及,通過所述AccessCheck例程依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。
6.如權(quán)利要求1、2或3所述的方法,其特征在于,所述獲取目標(biāo)文件的操作權(quán)限信息的步驟包括 調(diào)用自定義的應(yīng)用程序接口中的DsGetFileLockType例程,通過所述DsGetFileLockType例程獲取目標(biāo)文件的安全描述符,并依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。
7.如權(quán)利要求2或3所述的方法,其特征在于,所述調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對目標(biāo)文件添加操作權(quán)限的步驟包括 調(diào)用自定義的應(yīng)用程序接口中的DsSetTargetAccess例程設(shè)置目標(biāo)文件的權(quán)限集合,所述DsSetTargetAccess例程的執(zhí)行邏輯設(shè)置與操作系統(tǒng)應(yīng)用程序接口 API中的SetNamedSecurityInfo 例程一致。
8.如權(quán)利要求3所述的方法,其特征在于,所述調(diào)用自定義的應(yīng)用程序接口打開目標(biāo)文件的步驟包括 獲取針對目標(biāo)文件的操作請求,所述請求中包括調(diào)用者輸入?yún)?shù),所述輸入?yún)?shù)中包括文件路徑; 校驗所述調(diào)用者輸入?yún)?shù),若校驗通過,則依據(jù)所述文件路徑在對象管理器中查找對應(yīng)的文件對象解析例程; 若查找到對應(yīng)的文件對象解析例程,則依據(jù)所述文件對象解析例程生成I/O請求包,并發(fā)送至預(yù)置的文件系統(tǒng)下層設(shè)備的原始地址。
9.如權(quán)利要求8所述的方法,其特征在于,所述依據(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)文件對象解析例程的信息。
10.一種文件解鎖的裝置,其特征在于,包括 權(quán)限信息獲取模塊,用于獲取目標(biāo)文件的操作權(quán)限信息; 權(quán)限添加模塊,用于在所述目標(biāo)文件無操作權(quán)限時,調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對所述目標(biāo)文件添加操作權(quán)限。
11.如權(quán)利要求10所述的裝置,其特征在于,還包括 第一文件打開模塊,用于在針對所述目標(biāo)文件添加操作權(quán)限后,調(diào)用操作系統(tǒng)應(yīng)用程序接口 API或自定義的用于打開文件的應(yīng)用程序接口,打開所述具有操作權(quán)限的目標(biāo)文件。
12.如權(quán)利要求10所述的裝置,其特征在于,還包括 第二文件打開模塊,用于在獲取目標(biāo)文件的操作權(quán)限信息之前,調(diào)用自定義的用于打開文件的應(yīng)用程序接口打開所述目標(biāo)文件。
13.如權(quán)利要求10、11或12所述的裝置,其特征在于,還包括 文件粉碎模塊,用于對所述具有操作權(quán)限的目標(biāo)文件進行操作,所述操作包括文件刪除操作。
14.如權(quán)利要求10或11所述的裝置,其特征在于,所述目標(biāo)文件的操作權(quán)限信息通過調(diào)用操作系統(tǒng)應(yīng)用程序接口 API中的GetNamedSecurityInfo例程和AccessCheck例程獲??;其中,所述GetNamedSecurityInfo例程用于獲取目標(biāo)文件的安全描述符,所述AccessCheck例程用于依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。
15.如權(quán)利要求10、11或12所述的裝置,其特征在于,所述目標(biāo)文件的操作權(quán)限信息通過調(diào)用自定義的應(yīng)用程序接口中的DsGetFi IeLockType例程獲?。黄渲?,所述DsGetFileLockType例程用于獲取目標(biāo)文件的安全描述符,并依據(jù)所述安全描述符查詢目標(biāo)文件的操作權(quán)限信息。
16.如權(quán)利要求11或12所述的裝置,其特征在于,所述權(quán)限添加模塊包括 預(yù)設(shè)例程調(diào)用子模塊,用于調(diào)用自定義的應(yīng)用程序接口中的DsSetTargetAccess例程設(shè)置目標(biāo)文件的權(quán)限集合,所述DsSetTargetAccess例程的執(zhí)行邏輯設(shè)置與操作系統(tǒng)應(yīng)用程序接口 API 中的 SetNamedSecurityInfo 例程一致。
全文摘要
本發(fā)明提供了一種文件解鎖的方法及裝置,其中所述方法包括獲取目標(biāo)文件的操作權(quán)限信息;若所述目標(biāo)文件無操作權(quán)限,則調(diào)用自定義的用于目標(biāo)權(quán)限設(shè)置的應(yīng)用程序接口針對所述目標(biāo)文件添加操作權(quán)限。本發(fā)明所提供的文件解鎖、粉碎、粉碎機制不僅安全、可靠、成功率高,并且可以在復(fù)雜的客戶端環(huán)境中識別惡意程序的文件自保護行為并加以對抗,增強了和驅(qū)動級惡意程序攻防的對抗能力。
文檔編號G06F21/56GK102855438SQ20111017555
公開日2013年1月2日 申請日期2011年6月27日 優(yōu)先權(quán)日2011年6月27日
發(fā)明者王宇, 潘劍鋒, 鄭文彬 申請人:奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
蓬莱市| 西藏| 湖南省| 武定县| 齐河县| 郁南县| 汾阳市| 东源县| 乐东| 海南省| 安多县| 外汇| 交口县| 来宾市| 赤城县| 同仁县| 延津县| 德格县| 浦县| 邹平县| 凤山县| 平利县| 龙陵县| 达尔| 肥东县| 商河县| 濮阳市| 龙泉市| 建湖县| 鄂尔多斯市| 宜章县| 仪征市| 安化县| 濉溪县| 昂仁县| 华亭县| 澳门| 镇远县| 五台县| 石家庄市| 临海市|