[go: up one dir, main page]

CN102855432B - 一种文件、文件夹解锁和删除方法及系统 - Google Patents

一种文件、文件夹解锁和删除方法及系统 Download PDF

Info

Publication number
CN102855432B
CN102855432B CN201110175389.XA CN201110175389A CN102855432B CN 102855432 B CN102855432 B CN 102855432B CN 201110175389 A CN201110175389 A CN 201110175389A CN 102855432 B CN102855432 B CN 102855432B
Authority
CN
China
Prior art keywords
file
folder
delete
deletion
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active - Reinstated
Application number
CN201110175389.XA
Other languages
English (en)
Other versions
CN102855432A (zh
Inventor
郑文彬
王宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
360 Technology Group Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201110175389.XA priority Critical patent/CN102855432B/zh
Priority to US14/128,592 priority patent/US9152792B2/en
Priority to PCT/CN2012/077381 priority patent/WO2013000379A1/zh
Publication of CN102855432A publication Critical patent/CN102855432A/zh
Priority to US14/828,217 priority patent/US10061926B2/en
Application granted granted Critical
Publication of CN102855432B publication Critical patent/CN102855432B/zh
Active - Reinstated legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件或文件夹解锁方法,包括:接收解锁请求,校验输入参数是否符合预设条件;如果所述校验输入参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;判断经过所述矫正的待解锁文件或文件夹是否存在限制设置;如果存在限制设置,则清除文件或文件夹限制设置。本发明的文件、文件夹解锁方法,通过去除只读锁定、去除例程锁定、添加权限、关闭句柄等多种手段层层破除染毒文件可能设置的保护,增加了安全软件与恶意程序的对抗能力。

Description

一种文件、文件夹解锁和删除方法及系统
技术领域
本发明涉及安全软件领域,尤其涉及一种文件、文件夹解锁和删除方法及系统。
背景技术
计算机病毒最早出现在70年代DavidGerrold科幻小说WhenH.A.R.L.I.E.wasOne中,计算机病毒是指“编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。计算机一旦染上病毒,计算机通常表现为其文件被增加、删出、改变名称或属性、移动到其它目录下,病毒对计算机文件的这些操作,可能会导致正常的程序无法运行、计算机操作系统崩溃、计算机被远程控制、用户信息被盗用等一系列的问题。
为了保证计算机的安全运行,需要对计算机中感染病毒的文件进行病毒查杀,以防止和清除病毒的破坏。在安全软件领域,针对染毒计算机文件的“删除”与“反删除”是安全软件和恶意程序(计算机病毒)对抗的永恒主题之一。现有技术中的病毒,往往通过占用文件句柄、设置文件只读属性、使文件处于删除状态等手段给染毒文件加上了加密锁,采用常规手段无法破解加密锁即无法删除染毒文件,这些手段阻止杀毒软件查杀染毒文件。安全软件查杀病毒的过程,可以理解为对染毒文件进行解锁和粉碎。现有安全软件,对染毒文件的解锁和粉碎手段单一,无法破除染毒文件设置的层层保护,对抗能力不强。
发明内容
本发明所要解决的技术问题是提供一种文件、文件夹解锁和删除的方法及系统,能够彻底的删除感染病毒的文件。
为了解决上述问题,本发明公开了一种文件或文件夹解锁方法,包括:接收解锁请求,校验输入参数是否符合预设条件;如果所述校验输入参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;判断经过所述矫正的待解锁文件或文件夹是否存在限制设置;如果存在限制设置,则清除文件或文件夹限制设置。
进一步的,清除文件或文件夹限制设置,包括:如果存在只读锁定,则去除只读锁定;如果存在例程锁定,则去除例程锁定;如果存在权限限制,则添加相应权限;如果存在句柄占用,则关闭句柄。
进一步的,文件限制设置为只读锁定、例程锁定、权限限制或句柄占用中的任一种或多种组合。
进一步的,文件夹限制设置为只读锁定、权限限制或句柄占用中的任一种或多种组合。
进一步的,校验输入参数是否符合预设条件包括:判断数值型输入参数是否在预设范围内;判断是否存在冲突参数;判断地址型输入参数,必须具有对应的权限;判断对于要反复访问、读取的用户态地址/结构,是否在内核里重构出一份同样的地址/结构。
进一步的,如果所述校验参数不符合预设条件,则结束解锁。
进一步的,去除请求解锁文件的例程锁定是通过调用驱动切换进行环境完成去除例程锁定。
进一步的,该解锁方法还包括:设置与文件或文件夹解锁过程中错误信息相对应的错误码;调用GetLastError例程获得文件或文件夹解锁过程中详细的错误信息。
本发明还公开了一种文件或文件夹删除方法,包括:接收删除请求,校验输入参数是否符合预设条件;如果所述校验参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;构建与操作系统平台及版本对应的结构参数块;重构文件或文件夹删除请求用户态地址至内核态内存空间;清除文件或文件夹限制设置;基于穿透技术打开请求删除文件或文件夹;构建并填充IRP删除请求数据包发送至文件或文件夹系统原始地址处;文件或文件夹引用计数清零;删除文件或文件夹。
进一步的,清除文件或文件夹限制设置包括:如果存在只读锁定,则去除只读锁定;如果存在例程锁定,则去除例程锁定;如果存在权限限制,则添加相应权限;如果存在句柄占用,则关闭句柄。
进一步的,基于穿透技术打开请求删除文件或文件夹包括:获取文件或文件夹操作请求,所述请求中包括调用者输入参数,所述输入参数中包括文件或文件夹路径;依据所述文件或文件夹路径在对象管理器中查找对应的文件或文件夹对象解析例程;若查找到对应的文件或文件夹对象解析例程,则依据所述文件或文件夹对象解析例程生成I/O请求包,并发送至预置的文件或文件夹系统下层设备的原始地址。
进一步的,该删除方法还包括:当基于穿透技术无法打开请求删除文件时,切换进程关闭操作。
进一步的,该删除方法还包括:设置与文件或文件夹删除过程中错误信息相对应的错误码;调用GetLastError例程获得文件或文件夹删除过程中详细的错误信息。
进一步的,校验输入参数是否符合预设条件包括:判断数值型输入参数是否在预设范围内;判断是否存在冲突参数;判断地址型输入参数,必须具有对应的权限;判断对于要反复访问、读取的用户态地址/结构,是否在内核里重构出一份同样的地址/结构。
本发明还公开了一种文件或文件夹解锁系统,包括:解锁接收装置,用于接收解锁请求,校验输入参数是否符合预设条件;解锁处理装置,用于如果所述校验输入参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;解锁清除装置,用于判断经过所述矫正的待解锁文件或文件夹是否存在限制设置;解锁装置,用于如果存在限制设置,则清除文件或文件夹限制设置。
本发明还公开了一种文件或文件夹删除系统,包括:删除接收装置,用于接收删除请求,校验输入参数是否符合预设条件;删除处理装置,用于如果所述校验参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;删除构建装置,用于构建与操作系统平台及版本对应的结构参数块;删除重构装置,用于重构删除请求用户态地址至内核态内存空间;删除清除装置,用于清除文件或文件夹限制设置;删除打开装置,用于基于穿透技术打开请求删除文件或文件夹;删除发送装置,用于构建并填充IRP删除请求数据包发送至文件或文件夹系统原始地址处;删除清零装置,用于文件或文件夹引用计数清零;删除装置,用于删除文件或文件夹。
与现有技术相比,本发明具有以下优点:
本发明的文件、文件夹解锁方法,通过去除只读锁定、去除例程锁定、添加权限、关闭句柄等多种手段层层破除染毒文件可能设置的保护,增加了安全软件与恶意程序的对抗能力。
本发明的文件、文件夹删除方法中,通过应用穿透技术去除只读锁定、打开文件和通过向文件系统原始地址处发送IRP(I/Orequestpackets,输入输出请求包)删除请求,文件引用计数清零操作,避免了因文件操作干扰而导致安全软件间产生不兼容的潜在可能性。
附图说明
图1为本发明方法实施例1所示一种文件或文件夹解锁方法的流程图;
图2为本发明方法实施例1中判断地址型输入参数时所对应的IopCreateFile函数的代码;
图3为本发明方法实施例1中判断对于要反复访问、读取的用户态地址/结构,是否在内核里重构出一份同样的地址/结构所对应的IopCreateFile函数的代码;
图4为本发明方法实施例2中的一种文件或文件夹删除方法的流程图;
图5为本发明方法实施例3中,文件解锁方法的流程图;
图6为本发明方法实施例4中,文件删除方法的流程图;
图7为本发明系统实施例5中一种文件或文件夹解锁系统结构示意图;
图8为本发明系统实施例6中一种文件或文件夹删除系统结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实例用于说明本发明,但不用来限制本发明的范围。
本发明的核心思想在于:采用多种手段破除染毒文件的层层保护锁,增加了安全软件与恶意程序的对抗能力;通过应用穿透技术去除只读锁定和打开文件和通过向文件系统原始地址处发送IRP删除请求,文件引用计数清零操作,避免了因文件操作干扰而导致安全软件间产生不兼容的潜在可能性的。
实施例1,参考图1,示出了一种文件或文件夹解锁方法,具体可以包括:
步骤101,接收解锁请求,校验输入参数是否符合预设条件;
步骤102,如果所述校验输入参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;
步骤103,判断经过所述矫正的待解锁文件或文件夹是否存在限制设置;
步骤104,如果存在限制设置,则清除文件或文件夹限制设置。
在实施步骤104时,清除文件或文件夹限制设置,可以包括:如果存在只读锁定,则去除只读锁定;如果存在例程锁定,则去除例程锁定;如果存在权限限制,则添加相应权限;如果存在句柄占用,则关闭句柄。文件限制设置可以是只读锁定、例程锁定、权限限制或句柄占用中的任一种或多种组合。文件夹限制设置可以是只读锁定、权限限制或句柄占用中的任一种或多种组合。例程锁定一般只针对文件进行,当然了,如果在清除文件夹限制设置中增加了例程锁定去除的动作,那么就会返回没有文件夹例程锁定的信息,因此文件/文件夹的清除限制设置也可以是设置为相同的限制设置。其中去除存在例程锁定的请求解锁文件或文件夹的例程锁定,这里的例程锁定可以是WindowsAPILockFile例程锁定。在具体实施时,去除请求解锁文件或文件夹的例程锁定可以通过调用驱动切换进行环境完成去除例程锁定。
在实施步骤101时,校验输入参数是否符合预设条件的具体实施可以参见如下例子:举一个例子,内核态函数IopCreateFile是用户态函数CreateFile的最终实现。基于穿透技术打开逻辑中完全模拟了IopCreateFile,包括每一个参数细节。IopCreateFile的函数原型如下:
IN表示这个参数是输入,即输入给IopCreateFile函数;OUT表示这个参数是输出,即从IopCreateFile函数输出。所有的IN参数都要被校验正确性,所有的OUT参数都要校验(接收OUT的地址)可写性。IopCreateFile校验这些参数一共用了467行代码,校验的原则可以包括:
(1)判断数值型输入参数是否在预设范围内。例如以下代码所示:
(2)判断是否存在冲突参数;如文件的属性“可写(Writeable)”和“只读(ReadOnly)”是矛盾(incompatible)的,不能同时指定,可参见如下代码所示:
(3)判断地址型输入参数,必须具有对应的权限;所有的用户态指针(“地址型”输入参数),必须具有对应的权限(比如,需要读取某用户态地址,那么这个用户态地址首先必须是“可读的(readable)”;需要写入某用户态地址,那么这个用户态地址首先必须是“可写的(Writeable)”)。具体可以参见图2所示。
(4)判断对于要反复访问、读取的用户态地址/结构,是否在内核里重构出一份同样的地址/结构。对应IopCreateFile函数的代码可以参见图3所示。
在进行步骤101时,如果校验参数不符合预设条件时,则可以直接结束文件或文件夹解锁进程。
在实施步骤103时,如果经过矫正的待解锁文件或文件夹不存在限制设置,则结束解锁。
在上述实施例1中,步骤101,102可以是在操作系统用户态状态下进行,其它步骤可以是在操作系统内核态状态下进行。
在上述实施例1中,为了了解文件解锁的情况,还可以包括下述步骤:设置与文件解锁过程中错误信息相对应的错误码;调用GetLastError例程获得文件解锁过程中详细的错误信息。
这里调用GetLastError例程的调用者,可以是位于用户态的调用者调用GetLastError例程。为了使得获得的错误信息同步,可以设置为内核同步调用返回用户态调用结果。如果调用失败,用户态接口可以设置相应的错误码,这样,调用者线程可以通过GetLastError例程得到详细的错误信息。
为了使得内核接口同用户态导出接口对应,FILE_IO_FORCE_KILL_FILE,
FILE_IO_FORCE_KILL_DIRECTORY,FILE_IO_GET_LOCK,FILE_IO_SET_LOCK等控制码定义了用户态和内核态驱动通信时的统一标识。通信的输入、输出缓冲区采用METHOD_BUFFERED方式传输。通信结构兼容32位、64位以及32位兼容模式。
实施例2,给出了一种文件或文件夹删除方法的流程图,参考图4,包括:
步骤401,接收删除请求,校验输入参数是否符合预设条件;
步骤402,如果所述校验参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;
步骤403,构建与操作系统平台及版本对应的结构参数块;
步骤404,重构文件或文件夹删除请求用户态地址至内核态内存空间;
步骤405,清除文件或文件夹限制设置;
步骤406,基于穿透技术打开请求删除文件或文件夹;
步骤407,构建并填充IRP删除请求数据包发送至文件或文件夹系统原始地址处;
步骤408,文件或文件夹引用计数清零;
步骤409,删除文件或文件夹。
在具体实施时,可以是接收调用者进程发起的FSForceKill文件删除过程;可以是FSForceKill例程内部接收用户请求,校验输入参数。在处理畸形路径格式和特殊文件名之后,例程判断当前操作系统平台(32位、64位或32位兼容模式)及版本,构建结构参数块,发送控制码FILE_IO_FORCE_KILL_FILE到操作系统内核,并同步等待返回。FSForceKill例程内核部分接收用户态请求,可以再次校验输入参数之后,重构用户态地址到内核内存空间。基于穿透技术去除存在只读锁定的请求删除文件的只读锁定基于穿透技术打开请求删除文件;在现有技术中,实现穿透的方法可以根据需要选择,不再赘述。构建并填充IRP删除请求数据包发送至文件系统原始地址处;该步骤可以使得文件系统调用栈上的第三方过滤驱动(其他安全软件、驱动级恶意程序)被旁路,增加了应用本发明方法的安全软件与其它安全软件的兼容性。
在遇到对于STATUS_DELETE_PENDING等无法穿透打开的目标文件,可以驱动尝试全局句柄枚举、切换进程关闭等操作。
在文件删除实施例个,为了了解文件删除的情况,还可以包括下述步骤:设置与文件删除过程中错误信息相对应的错误码;调用GetLastError例程获得文件删除过程中详细的错误信息。
这里调用GetLastError例程的调用者,可以是位于用户态的调用者调用GetLastError例程。为了使得获得的错误信息同步,可以设置为内核同步调用返回用户态调用结果。如果调用失败,用户态接口可以设置相应的错误码,这样,调用者线程可以通过GetLastError例程得到详细的错误信息。
步骤407构建并填充IRP删除请求数据包发送至文件或文件夹系统原始地址处和步骤408文件或文件夹引用计数清零的关系是“串行”的,即这两个步骤可以是两个独立的步骤,在步骤407发送IRP删除请求数据包删除文件或文件夹未成功的时候,步骤408文件或文件夹引用计数清零则可以有效的删除文件或文件夹。如果步骤407发送IRP删除请求可以删除文件或文件夹,那么也可以不进行文件或文件夹引用计数清零的步骤。
在上述实施例2中,按照预设规则矫正畸形路径格式和/或特殊文件名可以通过调用FSDeleteFileA/FSDeleteFileW例程来完成,FSDeleteFileA/FSDeleteFileW导出例程严格遵守Windows标准API的定义和参数。FSDeleteFileA会转换输入参数为UNICODE类型,FSDeleteFileW可以处理畸形文件名、文件路径并实际完成参数转换、控制码通信等。调用FSDeleteFileW例程后,该例程的内核部分可以再次校验用户态传入参数后,构建并终填充并发送IRP请求包至文件系统设备对象处,即,发送至文件系统原始地址处,完成文件穿透删除过程。FSForceKill内核部分还可以完成清零文件或文件夹引用计数。
在实施步骤401时,校验输入参数是否符合预设条件的具体实施可以参见上述实施例1的具体操作方法,不再赘述。
下面详细对应用本发明方法的360安全软件所使用的接口及主要函数进行描述,为了便于理解还在附图中给出了具体的流程图。
接口及主要函数描述:360安全软件在文件、文件夹解锁、删除用户态部分共导出了7个例程,这套接口涵盖了文件解锁与粉碎的大部分需求(导出包括FSDeleteFile、FSForceKill、FSRemoveDirectory、GetFileLock、SetFileLock等,这些例程的调用方式上区分UNICODE和ANSI输入),接口的“调用约定”、“调用参数”和同名Windows标准API一致。
和导出接口对应,FILE_IO_FORCE_KILL_FILE、FILE_IO_FORCE_KILL_DIRECTORY、FILE_IO_GET_LOCK、FILE_IO_SET_LOCK等控制码定义了用户态和内核态驱动通信时的统一标识。通信的输入、输出缓冲区采用METHOD_BUFFERED方式传输。通信结构兼容32位、64位以及32位兼容模式。
以文件穿透删除过程为例,FSDeleteFileA/FSDeleteFileW导出例程严格遵守Windows标准API的定义和参数。FSDeleteFileA会转换输入参数为UNICODE类型,FSDeleteFileW可以处理畸形文件名、文件路径并实际完成参数转换、控制码通信等。
FSDeleteFileW的内核部分会校验用户态传入参数,构建并终填充并发送IRP请求包至文件系统设备对象处,完成文件穿透删除过程。FSForceKill的内核部分会清零文件引用计数,全局枚举、关闭句柄等。
实施例3给出了文件解锁的具体过程,参考图5,可以包括如下步骤:调用者进程发起GetFileLock/SetFileLock文件解锁过程;GetFileLock/SetFileLock例程内部接收用户请求,校验输入参数;在处理畸形路径格式和特殊文件名之后,判断目标文件是否具有只读属性,如果存在只读锁定,则去除存在只读锁定的请求解锁文件的只读锁定;判断目标文件是否被WindowsAPILockFile例程锁定;如果目标文件被LockFile例程锁定,调用驱动切换进程环境解锁文件;判断目标文件是否存在权限、所有者限制;如果目标文件存在权限限制则添加相应权限;判断目标文件是否存在句柄占用情况;如果目标文件存在句柄占用,调用驱动全局句柄枚举过程关闭句柄、解锁文件;内核同步调用返回用户态调用结果,如果调用失败,用户态接口可以设置相应的错误码,这样,调用者线程可以通过GetLastError例程得到详细的错误信息。
实施例4给出了文件删除的具体过程,参考图6,可以包括如下步骤:调用者进程发起FSForceKill文件粉碎过程;FSForceKill例程内部接收用户请求,校验输入参数。在处理畸形路径格式和特殊文件名之后,例程判断当前操作系统平台(32位、64位或32位兼容模式)及版本,构建结构参数块,发送控制码FILE_IO_FORCE_KILL_FILE并同步等待返回;FSForceKill例程内核部分接收用户态请求,校验环三输入参数,Captured用户态地址到内核内存空间;基于穿透技术判断、去除目标文件只读属性;基于穿透技术打开目标文件,构建并填充IRP删除请求数据包发送至文件系统原始地址处,此时,文件系统调用栈上的第三方过滤驱动(其他安全软件、驱动级恶意程序)被旁路;对于STATUS_DELETE_PENDING等无法穿透打开的目标文件,驱动尝试全局句柄枚举、切换进程关闭等对文件进行删除的操作;如必要驱动将进行文件引用计数清零操作;内核同步调用返回用户态调用结果。如果调用失败,用户态接口可以设置相应的错误码,这样,调用者线程可以通过GetLastError例程得到详细的错误信息。
实施例5还公开了一种文件或文件夹解锁系统,参考图7。
文件或文件夹解锁系统系统包括:解锁接收装置701,用于接收解锁请求,校验输入参数是否符合预设条件;解锁处理装置702,用于如果所述校验输入参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;解锁清除装置703,用于判断经过所述矫正的待解锁文件或文件夹是否存在限制设置;解锁装置704,用于如果存在限制设置,则清除文件或文件夹限制设置。解锁接收装置701接收到用户的解锁请求之后,校验输入参数是否符合预设条件,如果不符合则结束文件或文件夹解锁,如果符合则向解锁处理装置702发送指令,解锁处理装置702接收到指令后,解锁处理装置702则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;经过解锁处理装置702处理后的文件或文件夹信息,经过解锁清除装置703判断经过所述矫正的待解锁文件或文件夹是否存在限制设置;如果存在限制设置,则解锁装置704清除文件或文件夹的限制设置,最后完成文件或文件夹解锁。
在具体实施时,解锁装置704还可以包括如下子装置:解锁去只读子装置、解锁去例程锁定子装置、解锁添加权限子装置、解锁关闭句柄子装置。
实施例6还公开了一种文件或文件夹删除系统,参考图8。文件或文件夹删除系统,可以包括:删除接收装置801,用于接收删除请求,校验输入参数是否符合预设条件;删除处理装置802,用于如果所述校验参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;
删除构建装置803,用于构建与操作系统平台及版本对应的结构参数块;
删除重构装置804,用于重构删除请求用户态地址至内核态内存空间;
删除清除装置805,用于清除文件或文件夹限制设置;
删除打开装置806,用于基于穿透技术打开请求删除文件或文件夹;
删除发送装置807,用于构建并填充IRP删除请求数据包发送至文件或文件夹系统原始地址处;
删除清零装置808,用于文件或文件夹引用计数清零;
删除装置809,用于删除文件或文件夹。
删除接收装置801接收到用户发出的文件或文件夹删除请求后,校验输入参数是否符合预设条件,如果不符合则结束文件或文件夹删除,如果符合则向删除处理装置802发送指令,删除处理装置接收到指令后,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;之后删除构建装置803判断当前操作系统平台(32位、64位或32位兼容模式)及版本,构建系统平台及版本对应的结构参数块;删除重构装置804重构文件删除请求端地址到内核内存空间;之后删除清除装置805,清除文件或文件夹限制设置;删除打开装置806基于穿透技术打开请求删除文件或文件夹;将文件或文件夹打开之后,删除发送装置807,构建并填充IRP删除请求数据包发送至该文件或文件夹系统原始地址处;删除清零装置808,用于文件或文件夹引用计数清零。删除发送装置807和8删除清零装置808的关系是“串行”的,即这两个装置可以是两个独立的模块,在删除发送装置807删除文件或文件夹未成功的时候,删除清零装置808则可以有效的删除文件或文件夹。如果删除发送装置807发送IRP删除请求可以删除文件或文件夹,那么删除清零装置808可以不被调用。删除装置809,用于删除文件或文件夹。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种文件或文件夹删除方法,其特征在于,包括:
接收删除请求,校验输入参数是否符合预设条件;
如果所述输入参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;
构建与操作系统平台及版本对应的结构参数块;
重构文件或文件夹删除请求用户态地址至内核态内存空间;
清除文件或文件夹限制设置;
基于穿透技术打开请求删除文件或文件夹;
构建并填充输入输出请求包IRP删除请求数据包发送至文件或文件夹系统原始地址处;
文件或文件夹引用计数清零;
删除文件或文件夹。
2.根据权利要求1所述的删除方法,其特征在于,所述清除文件或文件夹限制设置包括:
如果存在只读锁定,则去除只读锁定;
如果存在例程锁定,则去除例程锁定;
如果存在权限限制,则添加相应权限;
如果存在句柄占用,则关闭句柄。
3.根据权利要求1所述的删除方法,其特征在于,所述基于穿透技术打开请求删除文件或文件夹包括:
获取文件或文件夹操作请求,所述请求中包括调用者输入参数,所述输入参数中包括文件或文件夹路径;
依据所述文件或文件夹路径在对象管理器中查找对应的文件或文件夹对象解析例程;
若查找到对应的文件或文件夹对象解析例程,则依据所述文件或文件夹对象解析例程生成I/O请求包,并发送至预置的文件或文件夹系统下层设备的原始地址。
4.根据权利要求1所述的删除方法,其特征在于,还包括:当基于穿透技术无法打开请求删除文件时,切换进程关闭操作。
5.根据权利要求1所述的删除方法,其特征在于,还包括:
设置与文件或文件夹删除过程中错误信息相对应的错误码;
调用GetLastError例程获得文件或文件夹删除过程中详细的错误信息。
6.根据权利要求1所述的删除方法,其特征在于,所述校验输入参数是否符合预设条件包括:
判断数值型输入参数是否在预设范围内;
判断是否存在冲突参数;
判断地址型输入参数,必须具有对应的权限;
判断对于要反复访问、读取的用户态地址/结构,是否在内核里重构出一份同样的地址/结构。
7.一种文件或文件夹删除系统,其特征在于,包括:
删除接收装置,用于接收删除请求,校验输入参数是否符合预设条件;
删除处理装置,用于如果所述输入参数符合预设条件,则按照预设规则矫正畸形路径格式和/或特殊文件名或文件夹名;
删除构建装置,用于构建与操作系统平台及版本对应的结构参数块;
删除重构装置,用于重构删除请求用户态地址至内核态内存空间;
删除清除装置,用于清除文件或文件夹限制设置;
删除打开装置,用于基于穿透技术打开请求删除文件或文件夹;
删除发送装置,用于构建并填充输入输出请求包IRP删除请求数据包发送至文件或文件夹系统原始地址处;
删除清零装置,用于文件或文件夹引用计数清零;
删除装置,用于删除文件或文件夹。
CN201110175389.XA 2011-06-27 2011-06-27 一种文件、文件夹解锁和删除方法及系统 Active - Reinstated CN102855432B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201110175389.XA CN102855432B (zh) 2011-06-27 2011-06-27 一种文件、文件夹解锁和删除方法及系统
US14/128,592 US9152792B2 (en) 2011-06-27 2012-06-21 Method and system for unlocking and deleting file and folder
PCT/CN2012/077381 WO2013000379A1 (zh) 2011-06-27 2012-06-21 一种文件、文件夹解锁和删除方法及系统
US14/828,217 US10061926B2 (en) 2011-06-27 2015-08-17 Method and system for unlocking and deleting file and folder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110175389.XA CN102855432B (zh) 2011-06-27 2011-06-27 一种文件、文件夹解锁和删除方法及系统

Publications (2)

Publication Number Publication Date
CN102855432A CN102855432A (zh) 2013-01-02
CN102855432B true CN102855432B (zh) 2015-11-25

Family

ID=47402015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110175389.XA Active - Reinstated CN102855432B (zh) 2011-06-27 2011-06-27 一种文件、文件夹解锁和删除方法及系统

Country Status (3)

Country Link
US (2) US9152792B2 (zh)
CN (1) CN102855432B (zh)
WO (1) WO2013000379A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733145B1 (en) * 2014-12-16 2020-08-04 Amazon Technologies, Inc. Techniques for distributing verification checks incident to data deletion
CN108228671B (zh) * 2016-12-22 2021-12-07 上海川源信息科技有限公司 具数据锁定及解锁功能的数据储存系统及其方法
CN107911820B (zh) * 2017-12-28 2021-02-09 上海传英信息技术有限公司 私密系统数据文件管理方法及终端设备
CN111460340B (zh) * 2020-04-03 2023-09-26 北京四维智联科技有限公司 一种生成tom系统嵌入页地址的方法及装置
CN112948844B (zh) * 2021-01-28 2024-07-23 维沃移动通信有限公司 控制方法、装置及电子设备
US11822699B1 (en) 2021-10-21 2023-11-21 Secure Computing, Llc Preventing surreptitious access to file data by malware
US11983288B1 (en) 2021-11-05 2024-05-14 Secure Computing, Llc Operating system enhancements to prevent surreptitious access to user data files
CN115391290A (zh) * 2022-08-23 2022-11-25 一汽解放汽车有限公司 目标文件清理方法、装置、计算机设备、介质和程序产品
CN119356756B (zh) * 2024-10-24 2025-09-26 浪潮云信息技术股份公司 一种linux文件系统文件防删除的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192262A (zh) * 2006-11-24 2008-06-04 鸿富锦精密工业(深圳)有限公司 文件权限控制系统及方法
CN101276391A (zh) * 2007-03-27 2008-10-01 鸿富锦精密工业(深圳)有限公司 图档病毒防御系统及方法
CN101620659A (zh) * 2009-07-14 2010-01-06 北京大学 一种Windows操作系统下钩子的检测方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951698A (en) * 1996-10-02 1999-09-14 Trend Micro, Incorporated System, apparatus and method for the detection and removal of viruses in macros
JP3437065B2 (ja) 1997-09-05 2003-08-18 富士通株式会社 ウイルス駆除方法,情報処理装置並びにウイルス駆除プログラムが記録されたコンピュータ読取可能な記録媒体
US6842770B1 (en) * 2000-08-18 2005-01-11 Apple Computer, Inc. Method and system for seamlessly accessing remotely stored files
US7024427B2 (en) * 2001-12-19 2006-04-04 Emc Corporation Virtual file system
US7051050B2 (en) * 2002-03-19 2006-05-23 Netwrok Appliance, Inc. System and method for restoring a single file from a snapshot
US7620887B1 (en) * 2002-04-12 2009-11-17 Oracle International Corporation System and method of evaluating the integrity of a set of files
BR0316087A (pt) * 2002-11-08 2005-09-27 Arbitration Forums Inc Sistema e um processo para sub-rogação eletrônica, gerenciamento de fluxo de trabalho de interorganização, processamento de transação de interorganização e interação com usuário baseada na web otimizada
US20050240761A1 (en) * 2003-07-31 2005-10-27 Kiyoto Yui Write control method and computer system
US20050091658A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
WO2005043279A2 (en) * 2003-10-31 2005-05-12 Disksites Research And Development Ltd. Device, system and method for storage and access of computer files
US7523343B2 (en) * 2004-04-30 2009-04-21 Microsoft Corporation Real-time file system repairs
US20050273858A1 (en) * 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
US7444521B2 (en) * 2004-07-16 2008-10-28 Red Hat, Inc. System and method for detecting computer virus
US7660797B2 (en) * 2005-05-27 2010-02-09 Microsoft Corporation Scanning data in an access restricted file for malware
US7636946B2 (en) * 2005-08-31 2009-12-22 Microsoft Corporation Unwanted file modification and transactions
US8010850B2 (en) * 2005-08-31 2011-08-30 Microsoft Corporation Client extended error handling
CN100465978C (zh) * 2005-11-16 2009-03-04 白杰 被病毒程序破坏的数据恢复方法、装置及病毒清除方法
US7739738B1 (en) * 2006-03-15 2010-06-15 Symantec Corporation Enabling clean file cache persistence using dual-boot detection
US20070289019A1 (en) * 2006-04-21 2007-12-13 David Lowrey Methodology, system and computer readable medium for detecting and managing malware threats
GB2444514A (en) 2006-12-04 2008-06-11 Glasswall Electronic file re-generation
US7664781B2 (en) * 2006-12-11 2010-02-16 Simdesk Technologies File operations with persistent file locking techniques
US7797743B2 (en) * 2007-02-26 2010-09-14 Microsoft Corporation File conversion in restricted process
US8302192B1 (en) * 2008-04-30 2012-10-30 Netapp, Inc. Integrating anti-virus in a clustered storage system
US8839431B2 (en) * 2008-05-12 2014-09-16 Enpulz, L.L.C. Network browser based virus detection
US8935789B2 (en) * 2008-07-21 2015-01-13 Jayant Shukla Fixing computer files infected by virus and other malware
US20100154062A1 (en) * 2008-12-16 2010-06-17 Elad Baram Virus Scanning Executed Within a Storage Device to Reduce Demand on Host Resources
GB2469308B (en) * 2009-04-08 2014-02-19 F Secure Oyj Disinfecting a file system
US8413253B2 (en) * 2009-12-30 2013-04-02 Intel Corporation Protecting persistent secondary platform storage against attack from malicious or unauthorized programs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192262A (zh) * 2006-11-24 2008-06-04 鸿富锦精密工业(深圳)有限公司 文件权限控制系统及方法
CN101276391A (zh) * 2007-03-27 2008-10-01 鸿富锦精密工业(深圳)有限公司 图档病毒防御系统及方法
CN101620659A (zh) * 2009-07-14 2010-01-06 北京大学 一种Windows操作系统下钩子的检测方法

Also Published As

Publication number Publication date
US20140137252A1 (en) 2014-05-15
CN102855432A (zh) 2013-01-02
WO2013000379A1 (zh) 2013-01-03
US9152792B2 (en) 2015-10-06
US20150356298A1 (en) 2015-12-10
US10061926B2 (en) 2018-08-28

Similar Documents

Publication Publication Date Title
CN102855432B (zh) 一种文件、文件夹解锁和删除方法及系统
ES2368200T3 (es) Procedimiento y sistema para ejecución segura de contenido de poca confianza.
JP2024038306A (ja) ランサムウェアまたはフィッシング攻撃遮断方法及びシステム
TW200844789A (en) File conversion in restricted process
CN103246849A (zh) 一种Windows下基于增强型ROST的安全运行方法
EP3438864B1 (en) Method and system for protecting a computer file against possible malware encryption
TWI659328B (zh) Computer system and file access control method
CN108595982A (zh) 一种基于多容器分离处理的安全计算架构方法及装置
JP3630087B2 (ja) 自動データ処理装置
CN101788944A (zh) 一种利用强制访问控制检测aix系统故障的方法
CN101819548A (zh) 一种利用强制访问控制检测Linux系统故障的技术
CN101827091A (zh) 一种利用强制访问控制检测Solaris系统故障的方法
US8453239B2 (en) Secure third party scripting environment
CN102855437B (zh) 一种文件解锁的方法及装置
KR101056423B1 (ko) 로그인된 계정권한 제어를 이용한 프로그램 실행관리 방법 및 기록매체
Shinde et al. Besfs: Mechanized proof of an iago-safe filesystem for enclaves
KR101543338B1 (ko) 파일형식 변환을 통한 데이터 방역처리 시스템과 방법
CN102855433B (zh) 一种文件解锁的方法及装置
Canetti et al. Composable security analysis of OS services
Cristiá Formal verification of an extension of a secure, compatible UNIX file system
Nature Type CWE-861: CERT Java Secure Coding Section 49-Miscellaneous (MSC)
Nature Type CWE-808: 2010 Top 25-Weaknesses On the Cusp
Nature Type CWE-787: Out-of-bounds Write
Christey et al. CWE Version 1.3
CN102855438B (zh) 一种文件解锁的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20151009

Address after: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant after: Qizhi software (Beijing) Co.,Ltd.

Address before: The 4 layer 100016 unit of Beijing city Chaoyang District Jiuxianqiao Road No. 14 Building C

Applicant before: Qizhi software (Beijing) Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20190627

CF01 Termination of patent right due to non-payment of annual fee
RR01 Reinstatement of patent right

Former decision: termination of patent right due to unpaid annual fee

Former decision publication date: 20200623

RR01 Reinstatement of patent right
TR01 Transfer of patent right

Effective date of registration: 20220830

Address after: No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science and Technology Park, High-tech Zone, Binhai New District, Tianjin 300000

Patentee after: 3600 Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right