一种文件解锁、粉碎的方法及装置制造方法及图纸

技术编号:8161724 阅读:152 留言:0更新日期:2013-01-07 19:38
本发明专利技术提供了一种文件解锁、粉碎的方法及装置,其中所述方法包括:判断目标文件是否被操作系统应用程序接口API的LockFile函数锁定;若是,则遍历操作系统的句柄表,获得目标文件对应的文件句柄File?Handle,并获取所述文件句柄File?Handle所属的进程;切换到所述进程,基于所述进程调用自定义的用于文件解锁、粉碎的应用程序接口发起目标文件的解锁操作;在所述目标文件的解锁操作完成后,退出所述目标文件的文件句柄File?Handle所属的进程。本发明专利技术所提供的文件解锁、粉碎、粉碎机制不仅安全、可靠、成功率高,并且可以在复杂的客户端环境中识别恶意程序的文件自保护行为并加以对抗,增强了和驱动级恶意程序攻防的对抗能力。

【技术实现步骤摘要】

本专利技术涉及计算机安全的
,特别是涉及ー种文件解锁、粉碎的方法和一种文件解锁、粉碎的装置。
技术介绍
计算机病毒是指“編制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。计算机一旦染上病毒,计算机通常表现为其文件被増加、删出、改变名称或属性、移动到其它目录下,病毒对计算机文件的这些操作,可能会导致正常的程序无法运行、计算机操作系统崩溃、计算机被远程控制、用户信息被盗用等一系列的问题。 为了保证计算机的安全运行,需要对计算机中感染病毒的文件进行病毒查杀,以防止和清除病毒的破坏。在安全软件领域,针对染毒计算机文件的“删除”与“反删除”是安全软件和恶意程序(计算机病毒)对抗的永恒主题之一。现有技术中的病毒,往往通过Windows操作系统应用程序接ロ(API)的LockFile例程等手段给染毒文件加上了加密锁,采用常规手段无法破解加密锁即无法删除染毒文件,这些手段阻止杀毒软件查杀染毒文件。安全软件查杀病毒的过程,可以理解为对染毒文件进行解锁和粉碎。现有安全软件,对染毒文件的解锁和粉碎手段単一,无法破除染毒文件设置的层层保护,对抗能力不强。传统安全软件厂商只解决了部分“反删除”问题,在操作系统内核态的攻防上往往体现出一定的能力缺失,驱动级恶意程序(Rootkit)对抗能力偏寻層。因此,目前需要本领域技术人员迫切解决的ー个技术问题就是提出一种文件解锁、粉碎的处理机制,用以在复杂的客户端环境中识别恶意程序的文件自保护行为并加以対抗,增强和驱动级恶意程序攻防的对抗能力。
技术实现思路
本专利技术所要解决的技术问题是提供ー种文件解锁、粉碎的方法,以增强和驱动级恶意程序攻防的对抗能力。本专利技术还提供了ー种文件解锁、粉碎的装置,用以保证上述方法在实际中的应用及实现。为了解决上述问题,本专利技术实施例公开了ー种文件解锁、粉碎的方法,包括判断目标文件是否被操作系统应用程序接ロ API的LockFile函数锁定;若是,则遍历操作系统的句柄表,获得目标文件对应的文件句柄File Handle,并获取所述文件句柄File Handle所属的进程;切換到所述进程,基于所述进程调用自定义的用于文件解锁、粉碎的应用程序接ロ发起目标文件的解锁操作;在所述目标文件的解锁操作完成后,退出所述目标文件的文件句柄File Handle所属的进程。优选的,所述判断目标文件是否被操作系统应用程序接ロ API的LockFile函数锁定的步骤包括对目标文件执行加锁Lock操作;若目标文件加锁Lock成功,则判定目标文件未被操作系统应用程序接ロ API的LockFile函数锁定;若目标文件加锁Lock失败,则判定目标文件被操作系统应用程序接ロ API的LockFile函数锁定。优选的,所述目标文件具有对应的全路径;所述句柄表位于操作系统内核,其中维 护有所有进程打开的句柄信息,所述句柄信息中包括文件句柄File Handle的信息,所述文件句柄File Handle的信息中包括各文件句柄File Handle对应的文件的全路径,所述遍历操作系统的句柄表,获得目标文件对应的文件句柄File Handle的步骤包括将目标文件的全路径与各文件句柄File Handle对应的文件的全路径进行对比,若找到一致的文件全路径,则提取该文件全路径对应的文件句柄File Handle为所述目标文件对应的文件句柄File Handle。优选的,所述的方法,还包括判断所述文件句柄File Handle所属的进程是否能切換,若在能切换时执行所述切换至进程的步骤。优选的,所述切换到所述进程的操作是通过调用操作系统应用程序接ロ API的堆栈连接进程例程KeStackAttachProcess执行的;所述退出目标文件的文件句柄FileHandle所属的进程的操作是通过调用操作系统应用程序接ロ API的出栈分离进程例程KeUnstackDetachProcess 执行的。优选的,所述遍历操作系统的句柄表的操作是通过调用操作系统应用程序接ロ API的系统信息查询例程ZwQuerySystemInformation中的句柄信息系统SystemHandleInformation 的功能执行的。优选的,所述调用自定义的用于文件解锁、粉碎的应用程序接ロ发起文件解锁、粉碎操作的步骤包括获取针对目标文件的解锁操作请求,所述请求中包括调用者输入參数,所述输入參数中包括所述目标文件的路径;校验所述调用者输入參数,若校验通过,则依据所述目标文件的路径在对象管理器中查找对应的文件对象解析例程;若查找到对应的文件对象解析例程,则依据所述文件对象解析例程生成1/0请求包,并发送至预置的文件系统下层设备的原始地址;其中,所述I/o请求包中包括从所述请求中提取的目标文件解锁、粉碎操作的信息;由所述文件系统下层设备依据所述信息对所述目标文件执行解锁操作。优选的,所述依据文件路径在对象管理器中查找对应的文件对象解析例程的步骤具体包括以下子步骤;子步骤SI、判断文件路径是否已经拆解完毕,若否,则执行子步骤S2 ;若是,则执行子步骤S4 ;子步骤S2、按照路径分隔符拆解出文件路径中下一个待拆解的路径段;子步骤S3、采用当前拆解出的路径段在对象管理器中捜索,判断是否存在对应的文件对象例程;若是,则返回子步骤SI ;若否,则执行子步骤S5 ;子步骤S4、获得所述文件路径对应的文件对象解析例程。子步骤S5、返回未找到对应文件对象解析例程的信息。优选的,所述的方法,还包括删除经解锁的目标文件。 本专利技术实施例还公开了ー种文件解锁、粉碎的装置,包括文件锁定判断模块,用于判断目标文件是否被操作系统应用程序接ロ API的LockFile函数锁定;若是,则调用句柄表遍历模块;句柄表遍历模块,用于遍历操作系统的句柄表,获得目标文件对应的文件句柄File Handle ;进程获取模块,用于获取所述文件句柄File Handle所属的进程;进程切换模块,用于切换到所述进程;解锁操作发起模块,用于基于所述进程调用自定义的用于文件解锁、粉碎的应用程序接ロ发起目标文件的解锁操作;进程回退模块,用于在所述目标文件的解锁操作完成后,退出所述目标文件的文件句柄File Handle所属的进程。优选的,所述目标文件具有对应的全路径;所述句柄表位于操作系统内核,其中维护有所有进程打开的句柄信息,所述句柄信息中包括文件句柄File Handle的信息,所述文件句柄File Handle的信息中包括各文件句柄File Handle对应的文件的全路径,所述目标文件对应的文件句柄File Handle通过所述全路径对比获得。优选的,所述的装置,还包括切換判断模块,用于判断所述文件句柄File Handle所属的进程是否能切換,以及,在能切换时调用进程切換模块。优选的,所述解锁操作发起模块包括请求获取子模块,用于获取针对目标文件的解锁操作请求,所述请求中包括调用者输入參数,所述输入參数中包括所述目标文件的路径;參数检验子模块,用于校验所述调用者输入參数;解析例程查找子模块,用于在所述调用者输入參数校验通过时,依据所述目标文件的路径在对象管理器中查找对应的文件对象解析例程;IRP包发送子模块,用于在查找到对应的本文档来自技高网...

【技术保护点】
一种文件解锁、粉碎的方法,其特征在于,包括:判断目标文件是否被操作系统应用程序接口API的LockFile函数锁定;若是,则遍历操作系统的句柄表,获得目标文件对应的文件句柄File?Handle,并获取所述文件句柄File?Handle所属的进程;切换到所述进程,基于所述进程调用自定义的用于文件解锁、粉碎的应用程序接口发起目标文件的解锁操作;在所述目标文件的解锁操作完成后,退出所述目标文件的文件句柄File?Handle所属的进程。

【技术特征摘要】

【专利技术属性】
技术研发人员:潘剑锋王宇
申请(专利权)人:奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利