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

技术编号:8161729 阅读:266 留言:0更新日期:2013-01-07 19:38
本发明专利技术提供了一种文件解锁的方法和装置,其中,所述方法包括:尝试针对目标文件执行删除操作或写入操作;若所述目标文件无法执行删除或写入操作,则获取所述目标文件的属性;若所述目标文件的属性为只读,则调用自定义的用于文件属性更改的应用程序接口去除所述目标文件的只读属性。本发明专利技术所提供的文件解锁、粉碎机制不仅安全、可靠、成功率高,并且可以在复杂的客户端环境中识别恶意程序的文件自保护行为并加以对抗,增强了和驱动级恶意程序攻防的对抗能力。

【技术实现步骤摘要】

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

【技术保护点】
一种文件解锁的方法,其特征在于,包括:尝试针对目标文件执行删除操作或写入操作;若所述目标文件无法执行删除或写入操作,则获取所述目标文件的属性;若所述目标文件的属性为只读,则调用自定义的用于文件属性更改的应用程序接口去除所述目标文件的只读属性。

【技术特征摘要】

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

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

1