一种文件解锁的方法及装置的制作方法

文档序号:6427264阅读:107来源:国知局
专利名称:一种文件解锁的方法及装置的制作方法
技术领域
本发明涉及计算机安全的技术领域,特别是涉及一种文件解锁的方法和一种文件解锁的装置。
背景技术
计算机病毒是指“编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。计算机一旦染上病毒,计算机通常表现为其文件被增加、删出、改变名称或属性、移动到其它目录下,病毒对计算机文件的这些操作,可能会导致正常的程序无法运行、计算机操作系统崩溃、计算机被远程控制、用户信息被盗用等一系列的问题。为了保证计算机的安全运行,需要对计算机中感染病毒的文件进行病毒查杀,以 防止和清除病毒的破坏。在安全软件领域,针对染毒计算机文件的“删除”与“反删除”是安全软件和恶意程序(计算机病毒)对抗的永恒主题之一。现有技术中的病毒,往往通过特殊文件名、畸形文件路径或此二者组合等手段给染毒文件加上了加密锁,采用常规手段无法破解加密锁即无法删除染毒文件,这些手段阻止杀毒软件查杀染毒文件。安全软件查杀病毒的过程,可以理解为对染毒文件进行解锁和粉碎。现有安全软件,对染毒文件的解锁和粉碎手段单一,无法破除染毒文件设置的层层保护,对抗能力不强。传统安全软件厂商只解决了部分“反删除”问题,在操作系统内核态的攻防上往往体现出一定的能力缺失,驱动级恶意程序(Rootkit)对抗能力偏弱。因此,目前需要本领域技术人员迫切解决的一个技术问题就是提出一种文件解锁的处理机制,用以在复杂的客户端环境中识别恶意程序的文件自保护行为并加以对抗,增强和驱动级恶意程序攻防的对抗能力。

发明内容
本发明所要解决的技术问题是提供一种文件解锁的方法,以增强和驱动级恶意程序攻防的对抗能力。本发明还提供了一种文件解锁的装置,用以保证上述方法在实际中的应用及实现。为了解决上述问题,本发明实施例公开了一种文件解锁的方法,包括获取目标文件的路径;在所述目标文件的路径无法定位时,将所述目标文件路径处理为正确的路径。优选的,所述将目标文件路径处理为正确的路径的步骤包括按照路径分隔符依次拆解出目标文件路径中的路径段;判断所述路径段是否符合预置规则,若否,则按照预置规则矫正所述目标文件路径。优选的,所述预置规则为操作系统定义的标准路径描述方式。
优选的,所述路径段不符合操作系统定义的标准路径描述方式包括,在路径段中存在保留关键子和设备名,和/或,在路径段中存在特殊符号。优选的,若所述路径段中包括保留关键字和设备名,则按照预置规则矫正目标文件路径的步骤包括在所述目标文件路径加上“\\ \”的前缀。优选的,若所述路径段中包括目录名和特殊符号”,则按照预置规则矫正目标文件路径的步骤包括若存在去掉”后的目录且不存在加”的目录,则用去掉”后的目录名替换当前路径段中的目录名;和/或,若存在加”的目录,则在所述目标文件路径加上“\\ \ ”的前缀。
优选的,所述按照预置规则矫正目标文件路径的步骤还包括若既存在没有”的目录,也存在对应的加”的目录,则采用没有”的目录名。优选的,所述的方法,还包括依据所述正确路径对所述目标文件执行操作,具体包括获取针对目标文件的操作请求,所述请求中包括调用者输入参数,所述输入参数中包括所述正确路径;校验所述调用者输入参数,若校验通过,则依据所述正确路径在对象管理器中查找对应的文件对象解析例程;若查找到对应的文件对象解析例程,则依据所述文件对象解析例程生成I/O请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/O请求包中包括从所述目标文件操作请求中提取的操作信息;由所述文件系统下层设备依据所述操作信息对所述目标文件执行对应操作。优选的,所述依据文件路径在对象管理器中查找对应的文件对象解析例程的步骤具体包括以下子步骤;子步骤SI、判断文件路径是否已经拆解完毕,若否,则执行子步骤S2 ;若是,则执行子步骤S4 ;子步骤S2、按照路径分隔符拆解出文件路径中下一个待拆解的路径段;子步骤S3、采用当前拆解出的路径段在对象管理器中搜索,判断是否存在对应的文件对象例程;若是,则返回子步骤SI ;若否,则执行子步骤S5 ;子步骤S4、获得所述文件路径对应的文件对象解析例程。子步骤S5、返回未找到对应文件对象解析例程的信息。优选的,所述目标文件操作请求包括目标文件打开请求,所述操作信息包括目标文件打开操作,所述文件系统下层设备依据所述文件操作信息执行打开所述目标文件的操作。优选的,所述目标文件操作请求还包括目标文件删除请求,所述操作信息还包括目标文件删除操作,所述文件系统下层设备依据所述文件操作信息在打开所述目标文件后,执行所述目标文件的删除操作。本发明实施例还公开了一种文件解锁的装置,包括路径获取模块,用于获取目标文件的路径;
路径预处理模块,用于在所述目标文件的路径无法定位时,将所述目标文件路径处理为正确的路径。优选的,所述路径预处理模块包括路径段拆解子模块,用于按照路径分隔符依次拆解出目标文件路径中的路径段;按规则矫正子模块,用于判断所述路径段是否符合预置规则,若否,则按照预置规则矫正所述目标文件路径。优选的,所述预置规则为操作系统定义的标准路径描述方式。优选的,所述路径段不符合操作系统定义的标准路径描述方式包括,在路径段中存在保留关键子和设备名,和/或,在路径段中存在特殊符号。
优选的,若所述路径段中包括保留关键字和设备名,则按规则矫正子模块包括第一修正单元,用于在所述目标文件路径加上“\\ \”的前缀。优选的,若所述路径段中包括目录名和特殊符号”,则按规则矫正子模块包括第二修正单元,用于在存在去掉”后的目录且不存在加”的目录时,用去掉”后的目录名替换当前路径段中的目录名;和/ 或,第三修正单元,用于在存在加”的目录,则在所述目标文件路径加上“\\ V的前缀。优选的,所述按规则矫正子模块还包括第四修正单元,用于若既存在没有”的目录,也存在对应的加”的目录,则采用没有”的目录名。优选的,所述的装置,还包括文件操作模块,用于依据所述正确路径对所述目标文件执行操作,具体包括请求获取子模块,用于获取针对目标文件的操作请求,所述请求中包括调用者输入参数,所述输入参数中包括所述正确路径;参数检验子模块,用于校验所述调用者输入参数;解析例程查找子模块,用于在所述调用者输入参数校验通过时,依据所述正确路径在对象管理器中查找对应的文件对象解析例程;IRP包发送子模块,用于在查找到对应的文件对象解析例程时,依据所述文件对象解析例程生成I/o请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/O请求包中包括从所述目标文件操作请求中提取的操作信息;并由所述文件系统下层设备依据所述操作信息对所述目标文件执行对应操作。优选的,所述目标文件操作请求包括目标文件打开请求,所述操作信息包括目标文件打开操作,所述文件系统下层设备依据所述文件操作信息执行打开所述目标文件的操作。优选的,所述目标文件操作请求还包括目标文件删除请求,所述操作信息还包括目标文件删除操作,所述文件系统下层设备依据所述文件操作信息在打开所述目标文件后,执行所述目标文件的删除操作。与现有技术相比,本发明具有以下优点本发明通过在依据目标文件的路径无法对目标文件进行定位时,则调用自定义的文件路径预处理的应用程序接口 BAPI,将所述目标文件路径处理为正确的路径,并针对正确路径的目标文件执行解锁和粉碎的操作。本发明所提供的文件解锁、粉碎机制不仅安全、可靠、成功率高,并且可以在复杂的客户端环境中识别恶意程序的文件自保护行为并加以对抗,增强了和驱动级恶意程序攻防的对抗能力。


图I是本发明的一种文件解锁的方法实施例的步骤流程图;图2是本发明的一种文件解锁的装置实施例的结构框图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,在依据目标文件的路径无法对目标文件进行定位时,则调用自定义的文件路径预处理的应用程序接口 BAPI,将所述目标文件路径处理为正确的路径,并针对正确路径的目标文件执行解锁和粉碎的操作。参考图1,示出了本发明的一种文件解锁的方法实施例的步骤流程图,具体可以包括以下步骤步骤101、获取目标文件的路径;步骤102、在所述目标文件的路径无法定位,将所述目标文件路径处理为正确的路径。在本发明的一种优选实施例中,所述将目标文件路径处理为正确的路径的步骤具体可以包括如下子步骤子步骤S11、按照路径分隔符依次拆解出目标文件路径中的路径段;在本实施例中,可以基于路径分隔符“\”和/或“/”依次拆解文件路径,例如,文件路径为c:\a\b. txt,则第一次拆解出的路径段为C:,第二次拆解出的路径段为a,第三次拆解出的路径段为b. txt。子步骤S12、判断所述路径段是否符合预置规则,若否,则按照预置规则矫正所述目标文件路径。针对Windows操作系统的应用而言,所述预置规则可以为操作系统定义的标准路径描述方式。Windows操作系统在路径名命名规则中,针对特殊符号(如”)和保留关键字和设备名做出了特别规定,因而,在具体实现中,所述路径段不符合操作系统定义的标准路径描述方式具体可以包括,在路径段中存在保留关键字和设备名,和/或,在路径段中存在特殊符号。作为本发明实施例具体应用的一种示例,若所述路径段中包括保留关键字和设备名,则按照预置规则矫正目标文件路径的步骤具体可以包括以下子步骤子步骤S121、在所述目标文件路径加上“\\ \”的前缀。作为本发明实施例具体应用的另一种示例,若所述路径段中包括目录名和特殊符号”,则按照预置规则矫正目标文件路径的步骤具体还可以包括以下子步骤子步骤S 122、若存在去掉”后的目录且不存在加”的目录,则用去掉”后的目录名替换当前路径段中的目录名;和/ 或,子步骤S 122、若存在加”的目录,则在所述目标文件路径加上“\\ \ ”的前作为本发明实施例具体应用的又一种示例,所述按照预置规则矫正目标文件路径的步骤具体还可以包括以下子步骤若既存在没有”的目录,也存在对应的加”的目录,则采用没有”的目录名。更具体而言,针对目标文件路径无法定位的畸形路径而言,本发明实施例可以处理的保留关键字和设备名,以及特殊符号主要包括以下几种情形(I)路径段尾的”号干扰,这类型的”号会被去掉;
例如,假设目标文件路径是C:\Windows. \System32\a. \con. txt。第一个路径段C:\Windows. \是故意加“点”,如果系统真的存在目录C: \Windows\,并且C:\Windows. \不存在,就认为这里的点号是“干扰”可以去掉。(2)带“· ”号的NT风格路径(相对DOS风格而言这是“畸形”的路径,这也是畸形的由来),这类型的点号不能去掉。例如,假设目标文件路径是C: \Windows. \System32\a. \con. txt。第三个路径段“a. \,,子目录真实存在,可以认为这不是干扰,属于NT风格路径,微软规定NT风格路径需要加\\ \前缀,于是针对这类型的处理是在目标文件路径加上“\\ \”的前缀。(3)上述(1)、(2)混合存在于目标文件路径中的情形,在具体实现中,通过逐个路径段判断,明确哪个点号可以去除,哪个点号不应去除。例如,父目录有”号干扰,则去除父目录中的”号;子目录中存在带”号的畸形文件夹,则保留该”号,但在目标文件路径加上“\\ \ ”的前缀。(4)两条目标文件路径的区别仅在于某个或某几个路径段中,一个加了 ”号,一个没加”号,则确定起作用的目标文件路径为没加”号目标文件路径。例如在注册表的启动项里写c: \a. \run. exe会导致run. exe程序开机自启动。若磁盘上存在c:\a\run. exe文件、也存在c:\a. \run. exe文件,则起作用(自启动时被加载)的目标文件路径为c: \a\run. exe。(5)以Windows操作系统的保留关键字、设备名为名字的文件,针对此类型的路径处理为,在所述目标文件路径加上“\\ \”的前缀。Windows操作系统的保留关键字、设备名包括PRN、COMI、COM2、COM3、COM4、C0M5、C0M6、C0M7、C0M8、C0M9、COMlO、LPTl、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8、LPT9、NUL、CON、AUX 等。例如,假设目标文件路径是C: \Windows. \System32\a. \con. txt。由于最后一个路径段con. txt中包括保留关键字con,于是在目标文件路径加上“\\ \”的前缀。(6)上述五种情形混合出现。如上例中所述的畸形目标文件路径C: \Windows. \System32\a. \con. txt,经处理为的正确路径为\\ \C:\Windows\System32\a. \con. txt O在具体应用中,本发明实施例适合各种Windows操作系统平台(除DOS磁盘操作系统)。随着操作系统的发展,如果有另外的保留关键字和扩展名以及特殊符号,在实际中可以动态扩充ExpandFileName函数(自定义应用程序接口 BAPI路径预处理装置),方便地达到新增保留关键字和扩展名以及特殊符号的目的。在本发明的一种优选实施例中,本发明还可以包括以下步骤步骤103、依据所述正确路径对所述目标文件执行操作,具体可以包括如下子步骤子步骤S31、获取针对目标文件的操作请求,所述请求中包括调用者输入参数,所述输入参数中包括所述正确路径;子步骤S32、校验所述调用者输入参数,若校验通过,则依据所述正确路径在对象管理器中查找对应的文件对象解析例程;子步骤S33、若查找到对应的文件对象解析例程,则依据所述文件对象解析例程生 成I/o请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/O请求包中包括从所述目标文件操作请求中提取的操作信息;子步骤S34、由所述文件系统下层设备依据所述操作信息对所述目标文件执行对应操作。针对文件解锁的应用,所述目标文件操作请求可以包括目标文件打开请求,所述操作信息可以包括目标文件打开操作,所述文件系统下层设备依据所述文件操作信息执行打开所述目标文件的操作。需要说明的是,在本发明实施例中,所述文件打开不是指通过双击鼠标或按回车键等触发方式打开文件(如*. exe、*. doc等类型的文件);而是指用操作系统API或本发明的自定义BAPI (应用本发明,可以在操作系统用户态接口完整实现一套文件操作调用库)的CreateFileO函数等打开文件、得到文件句柄的操作,因为只有得到文件句柄后才可以进一步操作该文件。从函数调用方法角度而言,本发明实施例中所指文件“打开”主要包括以下几种情形I、使用Windows标准API CreateFile函数打开目标文件;2、使用 Windows Native API ZwCreateFile/NtCreateFile 函数打开目标文件;3、使用 Windows Native API ZwOpenFile/NtOpenFile 函数打开目标文件其中,CreateFile的参数dwCreationDisposition可以控制函数行为是“创建新文件”还是“打开已经存在的文件”。针对文件删除的应用,所述目标文件操作请求还可以包括目标文件删除请求,所述操作信息还可以包括目标文件删除操作,所述文件系统下层设备依据所述文件操作信息在打开所述目标文件后,执行所述目标文件的删除操作。在本发明的一种优选实施例中,所述依据文件路径在对象管理器中查找对应的文件对象解析例程的步骤具体包括以下子步骤;子步骤SI、判断文件路径是否已经拆解完毕,若否,则执行子步骤S2 ;若是,则执行子步骤S4 ;子步骤S2、按照路径分隔符拆解出文件路径中下一个待拆解的路径段;子步骤S3、采用当前拆解出的路径段在对象管理器中搜索,判断是否存在对应的文件对象例程;若是,则返回子步骤S I ;若否,则执行子步骤S5 ;子步骤S4、获得所述文件路径对应的文件对象解析例程。子步骤S5、返回未找到对应文件对象解析例程的信息。在具体实现中,可以预先构建对象管理器查询的OpenPacket结构,基于路径分隔符“ \ ”循环拆解文件路径,例如,文件路径为c:\a\b. txt,则第一次拆解出的路径段为c:,第二次拆解出的路径段为c:\a,第三次拆解出的路径段为c:\a\b. txt,即在本发明实施例,是基于递归调用的方式拆解文件路径。对象管理器中维护有拉链式的对象Hash表,基于每次拆解出的路径段搜索对象管理器,若能查找到对应的对象解析例程ParseProcedure,则继续下一次的文件路径拆解,并基于下一次拆解出的路径段和之前已拆解出的路径段搜索对象管理器,若当前的文件路径经过循环解析被完全拆解完毕,则经过搜索对象管理器找到的文件对象解析例程ParseRoutine为当前文件路径对应的文件对象解析例程。 在实际中,调用者进程可以在用户态通过调用自定义的FSCreateFile例程发起文件打开请求或调用自定义的FSDeleteFile例程发起文件删除请求,所述请求中包括目标文件的路径,在对所述路径采用本发明进行预处理(若为畸形路径,则预处理为正确路径)后,操作系统内核态驱动获取并校验所述来自用户态的请求,构建查询数据结构循环解析传入的文件路径,最终查找到对象管理器中维护的对象类型,这一过程有效对抗了内核态的劫持内险。此后,操作系统内核态驱动构建并填充IRP请求数据包,发送至预先确定的文件系统下层设备的原始地址处,此时文件系统调用栈上的第三方过滤驱动(其他安全软件、驱动级恶意程序)被穿透(旁路,bypass)。简而言之,即本发明通过建立一条新的、可信的、可以穿透过滤驱动的文件操作执行路径,有效避免了传统操作系统的文件执行路径上存在的风险。需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。参考图2,示出了本发明的一种文件解锁的装置实施例的结构框图,具体可以包括以下模块路径获取模块21,用于获取目标文件的路径;路径预处理模块22,用于在所述目标文件的路径无法定位时,将所述目标文件路径处理为正确的路径。在本发明的一种优选实施例中,所述路径预处理模块具体可以包括以下子模块路径段拆解子模块,用于按照路径分隔符依次拆解出目标文件路径中的路径段;按规则矫正子模块,用于判断所述路径段是否符合预置规则,若否,则按照预置规则矫正所述目标文件路径。在具体实现中,所述预置规则可以为操作系统定义的标准路径描述方式。在本实施例中,所述路径段不符合操作系统定义的标准路径描述方式包括,在路径段中存在保留关键字和设备名,和/或,在路径段中存在特殊符号。作为本发明实施例具体应用的一种示例,若所述路径段中包括保留关键字和设备名,则按规则矫正子模块可以包括第一修正单元,用于在所述目标文件路径加上“\\ \”的前缀。作为本发明实施例具体应用的另一种示例,若所述路径段中包括目录名和特殊符号”,则按规则矫正子模块可以包括第二修正单元,用于在存在去掉”后的目录且不存在加”的目录时,用去掉”后的目录名替换当前路径段中的目录名;和/ 或,第三修正单元,用于在存在加”的目录,则在所述目标文件路径加上“\\ V的前缀。作为本发明实施例具体应用的又一种示例,所述按规则矫正子模块还可以包括
第四修正单元,用于若既存在没有”的目录,也存在对应的加”的目录,则采用没有”的目录名。针对文件解锁和粉碎的应用,本发明实施例还可以包括如下模块文件操作模块,用于依据所述正确路径对所述目标文件执行操作,具体可以包括以下子模块请求获取子模块,用于获取针对目标文件的操作请求,所述请求中包括调用者输入参数,所述输入参数中包括所述正确路径;参数检验子模块,用于校验所述调用者输入参数;解析例程查找子模块,用于在所述调用者输入参数校验通过时,依据所述正确路径在对象管理器中查找对应的文件对象解析例程;IRP包发送子模块,用于在查找到对应的文件对象解析例程时,依据所述文件对象解析例程生成I/o请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/O请求包中包括从所述目标文件操作请求中提取的操作信息;并由所述文件系统下层设备依据所述操作信息对所述目标文件执行对应操作。针对文件解锁的应用而言,所述目标文件操作请求可以包括目标文件打开请求,所述操作信息可以包括目标文件打开操作,所述文件系统下层设备依据所述文件操作信息执行打开所述目标文件的操作。针对文件粉碎的应用而言,所述目标文件操作请求还可以包括目标文件删除请求,所述操作信息还可以包括目标文件删除操作,所述文件系统下层设备依据所述文件操作信息在打开所述目标文件后,执行所述目标文件的删除操作。由于所述装置实施例基本相应于前述方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。本发明可用于众多通用或专用的计算系统环境或配置中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本发明所提供的一种文件解锁的方法和一种文件解锁的装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种文件解锁的方法,其特征在于,包括 获取目标文件的路径; 在所述目标文件的路径无法定位时,将所述目标文件路径处理为正确的路径。
2.如权利要求I所述的方法,其特征在于,所述将目标文件路径处理为正确的路径的步骤包括 按照路径分隔符依次拆解出目标文件路径中的路径段; 判断所述路径段是否符合预置规则,若否,则按照预置规则矫正所述目标文件路径。
3.如权利要求2所述的方法,其特征在于,所述预置规则为操作系统定义的标准路径描述方式。
4.如权利要求3所述的方法,其特征在于,所述路径段不符合操作系统定义的标准路径描述方式包括,在路径段中存在保留关键子和设备名,和/或,在路径段中存在特殊符号。
5.如权利要求4所述的方法,其特征在于,若所述路径段中包括保留关键字和设备名,则按照预置规则矫正目标文件路径的步骤包括 在所述目标文件路径加上“\\ \”的前缀。
6.如权利要求4或5所述的方法,其特征在于,若所述路径段中包括目录名和特殊符号 ”,则按照预置规则矫正目标文件路径的步骤包括 若存在去掉”后的目录且不存在加”的目录,则用去掉”后的目录名替换当前路径段中的目录名; 和/或,若存在加”的目录,则在所述目标文件路径加上“\\ \ ”的前缀。
7.如权利要求2所述的方法,其特征在于,所述按照预置规则矫正目标文件路径的步骤还包括 若既存在没有”的目录,也存在对应的加”的目录,则采用没有”的目录名。
8.如权利要求I所述的方法,其特征在于,还包括 依据所述正确路径对所述目标文件执行操作,具体包括 获取针对目标文件的操作请求,所述请求中包括调用者输入参数,所述输入参数中包括所述正确路径; 校验所述调用者输入参数,若校验通过,则依据所述正确路径在对象管理器中查找对应的文件对象解析例程; 若查找到对应的文件对象解析例程,则依据所述文件对象解析例程生成I/O请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/o请求包中包括从所述目标文件操作请求中提取的操作信息; 由所述文件系统下层设备依据所述操作信息对所述目标文件执行对应操作。
9.如权利要求8所述的方法,其特征在于,所述依据文件路径在对象管理器中查找对应的文件对象解析例程的步骤具体包括以下子步骤; 子步骤SI、判断文件路径是否已经拆解完毕,若否,则执行子步骤S2 ;若是,则执行子步骤S4 ; 子步骤S2、按照路径分隔符拆解出文件路径中下一个待拆解的路径段; 子步骤S3、采用当前拆解出的路径段在对象管理器中搜索,判断是否存在对应的文件对象例程;若是,则返回子步骤SI ;若否,则执行子步骤S5 ; 子步骤S4、获得所述文件路径对应的文件对象解析例程。
子步骤S5、返回未找到对应文件对象解析例程的信息。
10.如权利要求9所述的方法,其特征在于,所述目标文件操作请求包括目标文件打开请求,所述操作信息包括目标文件打开操作,所述文件系统下层设备依据所述文件操作信息执行打开所述目标文件的操作。
11.如权利要求10所述的方法,其特征在于,所述目标文件操作请求还包括目标文件删除请求,所述操作信息还包括目标文件删除操作,所述文件系统下层设备依据所述文件操作信息在打开所述目标文件后,执行所述目标文件的删除操作。
12.—种文件解锁的装置,其特征在于,包括 路径获取模块,用于获取目标文件的路径; 路径预处理模块,用于在所述目标文件的路径无法定位时,将所述目标文件路径处理为正确的路径。
13.如权利要求12所述的装置,其特征在于,所述路径预处理模块包括 路径段拆解子模块,用于按照路径分隔符依次拆解出目标文件路径中的路径段; 按规则矫正子模块,用于判断所述路径段是否符合预置规则,若否,则按照预置规则矫正所述目标文件路径。
14.如权利要求13所述的装置,其特征在于,所述预置规则为操作系统定义的标准路径描述方式。
15.如权利要求14所述的装置,其特征在于,所述路径段不符合操作系统定义的标准路径描述方式包括,在路径段中存在保留关键子和设备名,和/或,在路径段中存在特殊符号。
16.如权利要求15所述的装置,其特征在于,若所述路径段中包括保留关键字和设备名,则按规则矫正子模块包括 第一修正单元,用于在所述目标文件路径加上“\\ \”的前缀。
17.如权利要求15或16所述的装置,其特征在于,若所述路径段中包括目录名和特殊符号”,则按规则矫正子模块包括 第二修正单元,用于在存在去掉”后的目录且不存在加”的目录时,用去掉”后的目录名替换当前路径段中的目录名; 和/或, 第三修正单元,用于在存在加”的目录,则在所述目标文件路径加上“\\ \ ”的前
18.如权利要求13所述的装置,其特征在于,所述按规则矫正子模块还包括 第四修正单元,用于若既存在没有”的目录,也存在对应的加”的目录,则采用没有”的目录名。
19.如权利要求12所述的装置,其特征在于,还包括 文件操作模块,用于依据所述正确路径对所述目标文件执行操作,具体包括 请求获取子模块,用于获取针对目标文件的操作请求,所述请求中包括调用者输入参数,所述输入参数中包括所述正确路径;参数检验子模块,用于校验所述调用者输入参数; 解析例程查找子模块,用于在所述调用者输入参数校验通过时,依据所述正确路径在对象管理器中查找对应的文件对象解析例程; IRP包发送子模块,用于在查找到对应的文件对象解析例程时,依据所述文件对象解析例程生成I/O请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/O请求包中包括从所述目标文件操作请求中提取的操作信息;并由所述文件系统下层设备依据所述操作信息对所述目标文件执行对应操作。
20.如权利要求19所述的装置,其特征在于,所述目标文件操作请求包括目标文件打开请求,所述操作信息包括目标文件打开操作,所述文件系统下层设备依据所述文件操作信息执行打开所述目标文件的操作。
21.如权利要求20所述的装置,其特征在于,所述目标文件操作请求还包括目标文件删除请求,所述操作信息还包括目标文件删除操作,所述文件系统下层设备依据所述文件操作信息在打开所述目标文件后,执行所述目标文件的删除操作。
全文摘要
本发明提供了一种文件解锁的方法和装置,其中,所述方法包括获取目标文件的路径;在所述目标文件的路径无法定位时,将所述目标文件路径处理为正确的路径。本发明所提供的文件解锁、粉碎、粉碎机制不仅安全、可靠、成功率高,并且可以在复杂的客户端环境中识别恶意程序的文件自保护行为并加以对抗,增强了和驱动级恶意程序攻防的对抗能力。
文档编号G06F21/56GK102855434SQ20111017540
公开日2013年1月2日 申请日期2011年6月27日 优先权日2011年6月27日
发明者潘剑锋, 王宇 申请人:奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1