掌桥专利:专业的专利平台
掌桥专利
首页

安全删除文件的方法、装置及计算机可读介质

文献发布时间:2023-06-19 11:26:00


安全删除文件的方法、装置及计算机可读介质

技术领域

本发明涉及计算机技术领域,尤其涉及安全删除文件的方法、装置及计算机可读介质。

背景技术

数据安全和保护是当今社会的主要议题,为了保护数据安全,在进行文件删除时通常会使用文件粉碎功能,以达到彻底删除数据的目的,使删除后的数据难以被修复。

然而,在执行文件粉碎的同时,由于文件可能被占用,导致文件并不能被成功的删除,在这种情况下,被删除的文件由于还有残留,存在被修复的可能,从而导致数据泄露。

因此,需要一种更安全的文件删除方法。

发明内容

本发明要解决的技术问题在于,针对现有技术中进行文件粉碎时可能会导致的数据泄露问题,提供安全删除文件的方法、装置及计算机可读介质。

第一方面,本发明一实施例提供了安全删除文件的方法,包括:

在PC端通过预先设置的Hook服务实时捕获文件删除行为;

当捕获到文件删除行为时,确定作为所述文件删除行为的删除目标的待删除文件;

获取所述待删除文件在硬盘中的文件簇信息;

通过所述文件簇信息,异步在所述硬盘对所述待删除文件进行至少一次擦除操作,以在所述硬盘中删除所述待删除文件;

执行所述文件删除行为,删除所述待删除文件。

优选地,

通过所述文件簇信息,异步在所述硬盘对所述待删除文件进行擦除操作,包括:

根据所述文件簇信息,确定所述待删除文件在所述硬盘中的目标扇区;

将所述待删除文件的相关信息记录到所述文件系统预先设置的一数据结构中,得到已记录数据结构,其中,所述相关信息至少包括:所述待删除文件所在的块设备描述符、文件所属的用户ID和用户组ID、执行删除操作时的系统时间、以及所述目标扇区;

通过所述已记录数据结构,在所述硬盘中对所述待删除文件进行擦除操作。

优选地,

通过所述已记录数据结构,在所述硬盘中对所述待删除文件进行擦除操作,包括:

将所述已记录数据结构插入到第一链表中,其中,所述第一链表用于记录未执行清零操作的已记录数据结构;

判断所述第一链表和第二链表的扇区数目总和是否大于扇区数目阈值,其中,所述第二链表用于记录已执行一次清零操作的已记录数据结构;

若所述扇区数目总和不大于所述扇区数目阈值,则对所述第二链表中所有的磁盘扇区执行擦除操作;

若所述扇区数目总和大于所述扇区数目阈值,则继续判断所述第一链表的扇区数目是否大于所述扇区数目阈值;

若所述第一链表的扇区数目不大于所述扇区数目阈值,则对所述第二链表中的磁盘扇区执行擦除操作。

优选地,

还包括:释放已执行清零操作的所述目标扇区;

调用所述PC端的文件系统的回调函数,将释放的磁盘扇区信息发送给所述文件系统;

根据所述已记录数据结构中记录的用户ID和用户组ID,更改所述文件系统相应的配额大小。

优选地,

还包括:

在通过Hook捕获到文件进行删除行为之后,查看所述目标待文件的安全属性,其中,文件的安全属性包括密级属性,所述密级属性表征需要进行安全删除的文件;

若所述目标文件的安全属性为密级属性,获取所述待删除文件在硬盘中的文件簇信息。

第二方面,本发明实施例提供了基于上述第一方面中任一所述的安全删除文件的方法的安全删除文件的装置,包括:

确定单元,用于当捕获到文件删除行为时,确定作为所述文件删除行为的删除目标的待删除文件;

获取单元,用于获取所述待删除文件在硬盘中的文件簇信息;

处理单元,用于通过所述文件簇信息,异步在所述硬盘对所述待删除文件进行至少一次擦除操作,以在所述硬盘中删除所述待删除文件;执行所述文件删除行为,删除所述待删除文件。

优选地,

所述处理单元,用于根据所述文件簇信息,确定所述待删除文件在所述硬盘中的目标扇区;

将所述待删除文件的相关信息记录到所述文件系统预先设置的一数据结构中,得到已记录数据结构,其中,所述相关信息至少包括:所述待删除文件所在的块设备描述符、文件所属的用户ID和用户组ID、执行删除操作时的系统时间、以及所述目标扇区;

通过所述已记录数据结构,在所述硬盘中对所述待删除文件进行擦除操作。

优选地,

所述处理单元,用于将所述已记录数据结构插入到第一链表中,其中,所述第一链表用于记录未执行清零操作的已记录数据结构;

判断所述第一链表和第二链表的扇区数目总和是否大于扇区数目阈值,其中,所述第二链表用于记录已执行一次清零操作的已记录数据结构;

若所述扇区数目总和不大于所述扇区数目阈值,则对所述第二链表中所有的磁盘扇区执行擦除操作;

若所述扇区数目总和大于所述扇区数目阈值,则继续判断所述第一链表的扇区数目是否大于所述扇区数目阈值;

若所述第一链表的扇区数目不大于所述扇区数目阈值,则对所述第二链表中的磁盘扇区执行擦除操作。

第三方面,本发明实施例提供了安全删除文件的装置,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行上述第一方面中任一所述的方法。

第四方面,本方面实施例提供了计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述第一方面中任一所述的方法。

本发明实施例提供了安全删除文件的方法、装置及计算机可读介质,在本发明实施例中,在PC端预先设置Hook服务来实时捕获PC端的文件删除行为,当捕获到时,确定要删除的待删除文件。由于在文件删除时,硬盘中会有数据残余,因此获取待删除文件在硬盘中的文件簇信息,并根据文件簇信息异步在硬盘中对带删除文件进行多次擦除,直至在硬盘中删除带删除文件,之后,再继续完成文件删除行为,彻底删除待删除文件。由此可见,本发明提供的方案使用Hook技术实时捕获文件删除行为,在真正进行删除操作前获取文件所在硬盘中文件簇的信息,根据文件簇异步进行对硬盘的多次安全直接擦除操作,使原先的敏感内容得以无法找回,达到数据防泄漏的安全删除目的。

附图说明

图1是本发明一实施例提供的安全删除文件的方法的流程图;

图2是本发明一实施例提供的安全删除文件的方法的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如前所述,数据安全和保护是当今社会的主要议题,为了保护数据安全,在进行文件删除时通常会使用文件粉碎功能,以达到彻底删除数据的目的,使删除后的数据难以被修复。

然而,在执行文件粉碎的同时,由于文件可能被占用,导致文件并不能被成功的删除,在这种情况下,被删除的文件由于还有残留,存在被修复的可能,从而导致数据泄露。

下面结合附图对本方面各个实施例提供的安全删除文件的方法、装置及计算机可读介质作详细说明。

如图1所示,本发明一实施例提供了安全删除文件的方法,该方法包括以下步骤:

步骤101:在PC端通过预先设置的Hook服务实时捕获文件删除行为;

步骤102:当捕获到文件删除行为时,确定作为文件删除行为的删除目标的待删除文件;

步骤103:获取待删除文件在硬盘中的文件簇信息;

步骤104:通过文件簇信息,异步在硬盘对待删除文件进行至少一次擦除操作,以在硬盘中删除待删除文件;

步骤105:执行文件删除行为,删除待删除文件。

在本发明实施例中,在PC端预先设置Hook服务来实时捕获PC端的文件删除行为,当捕获到时,确定要删除的待删除文件。由于在文件删除时,硬盘中会有数据残余,因此获取待删除文件在硬盘中的文件簇信息,并根据文件簇信息异步在硬盘中对带删除文件进行多次擦除,直至在硬盘中删除带删除文件,之后,再继续完成文件删除行为,彻底删除待删除文件。由此可见,本发明提供的方案使用Hook技术实时捕获文件删除行为,在真正进行删除操作前获取文件所在硬盘中文件簇的信息,根据文件簇异步进行对硬盘的多次安全直接擦除操作,使原先的敏感内容得以无法找回,达到数据防泄漏的安全删除目的。

具体地,使用Hook技术对Windows桌面资源管理器(explorer.exe)等进程进行注入操作,并捕获文件的删除行为操作,在真正进行删除操作前获取文件所在硬盘中文件簇的信息并保存,异步进行对硬盘的多次安全直接擦除操作,使原先的敏感内容得以无法找回,达到数据防泄漏的安全删除目的。在此过程过,由于是纯异步操作,所以对于用户正常的操作使用来说,是完全的无感知,有良好的用户体验。

在本发明一实施例中,通过文件簇信息,异步在硬盘对待删除文件进行擦除操作,包括:

根据文件簇信息,确定待删除文件在硬盘中的目标扇区;

将待删除文件的相关信息记录到文件系统预先设置的一数据结构中,得到已记录数据结构,其中,相关信息至少包括:待删除文件所在的块设备描述符、文件所属的用户ID和用户组ID、执行删除操作时的系统时间、以及目标扇区;

通过已记录数据结构,在硬盘中对待删除文件进行擦除操作。

在本发明实施例中,相比传统方案而言,本发明在文件系统中增加了一个数据结构,该数据结构用于描述一个文件所在的块设备描述符、文件所属的用户ID和用户组ID、执行删除操作时的系统时间、以及文件所占用的硬盘扇区,以为后续删除待删除文件的数据做准备。

在本发明一实施例中,通过已记录数据结构,在硬盘中对待删除文件进行擦除操作,包括:

将已记录数据结构插入到第一链表中,其中,第一链表用于记录未执行清零操作的已记录数据结构;

判断第一链表和第二链表的扇区数目总和是否大于扇区数目阈值,其中,第二链表用于记录已执行一次清零操作的已记录数据结构;

若扇区数目总和不大于扇区数目阈值,则对第二链表中所有的磁盘扇区执行擦除操作;

若扇区数目总和大于扇区数目阈值,则继续判断第一链表的扇区数目是否大于扇区数目阈值;

若第一链表的扇区数目不大于扇区数目阈值,则对第二链表中的磁盘扇区执行擦除操作。

在本发明一实施例中,为保证待删除文件被删除后,其数据不可再被读取,本发明将清零操作的次数定为两次,因此定义了一个链表,第一链表和第二链表,第一链表用于记录未执行清零操作的已记录数据结构,也即,刚刚发送至数据覆写模块的已记录数据结构;第二链表用于记录已执行一次清零操作的已记录数据结构。

当数据覆写模块接收到已记录数据结构时,并不是立即对目标扇区执行清楚操作,而是遍历第一链表,查找第一链表中的磁盘扇区是否有能够与已记录数据结构中的磁盘扇区相连的磁盘扇区,当第一链表中的磁盘扇区包含有能够与已记录数据结构中的目标扇区相连的磁盘扇区,并且这两个相连的磁盘扇区所属文件对应的用户和用户组均相同时,对第一链表中和已记录数据结构中相连的磁盘扇区进行合并,实现将已记录数据结构插入到第一链表中。

当第一链表中的磁盘扇区没有包含有能够与已记录数据结构中的磁盘扇区相连的磁盘扇区时,将已记录数据结构直接插入到第一链表中。当第一链表中的磁盘扇区没有包含有能够与已记录数据结构中的目标扇区相连的磁盘扇区时,将已记录数据结构直接插入到第二链表中。

在本发明一实施例中,该方法还包括:释放已执行清零操作的目标扇区;

调用PC端的文件系统的回调函数,将释放的磁盘扇区信息发送给文件系统;

根据已记录数据结构中记录的用户ID和用户组ID,更改文件系统相应的配额大小。

在实际应用中,本发明对文件系统的用户和用户组的配额是透明的,因此在文件安全删除完成以后,通过文件的用户ID和用户组ID,改变相应的配额大小,以保证配额的准确性。

在本发明一实施例中,在通过Hook捕获到文件进行删除行为之后,还包括:查看目标待文件的安全属性,其中,文件的安全属性包括密级属性,密级属性表征需要进行安全删除的文件;

若目标文件的安全属性为密级属性,获取待删除文件在硬盘中的文件簇信息。

在本发明实施例中,在需要删除某一文件时,需要先查看该目标文件的安全属性,若为密级属性,则表明用户注重该目标文件的数据安全,需彻底删除该目标文件的数据,则执行获取待删除文件在硬盘中的文件簇信息;若为并未标志为密级属性的文件,则按照现有的删除方式删除即可。

综上,本发明提供的方案的实现为纯应用层技术,精确捕捉文件操作行为,可在多个不同版本的Windows系统的兼容运行,且由于使用的是Hook技术,占用的系统资源少,运行效率高。对是否使用安全删除的判定可进行自定义配置,实现个性化的防护操作。

本发明提供的方案使用纯应用层技术实现,系统兼容性好,使用Hook技术进行精确捕获文件操作,占用系统资源少,运行效率高,反应速度快,后台异步操作,用户无感知,有良好的用户体验,可以精确的对文件进行粉碎操作。驱动层擦写硬盘操作开发难度和维护成本过高,兼容性差,可能不稳定,易导致系统崩溃。非Hook技术捕获文件删除操作不精确,容易遗漏,而且捕获的是异步操作,无法在文件删除之前获取文件在硬盘中的具体信息。

如图2所示,本发明一实施例提供了基于上述实施例中任一提供的安全删除文件的方法的安全删除文件的装置,包括:

确定单元201,用于当捕获到文件删除行为时,确定作为文件删除行为的删除目标的待删除文件;

获取单元202,用于获取待删除文件在硬盘中的文件簇信息;

处理单元203,用于通过文件簇信息,异步在硬盘对待删除文件进行至少一次擦除操作,以在硬盘中删除待删除文件;执行文件删除行为,删除待删除文件。

在本发明一实施例中,处理单元,用于根据文件簇信息,确定待删除文件在硬盘中的目标扇区;

将待删除文件的相关信息记录到文件系统预先设置的一数据结构中,得到已记录数据结构,其中,相关信息至少包括:待删除文件所在的块设备描述符、文件所属的用户ID和用户组ID、执行删除操作时的系统时间、以及目标扇区;

通过已记录数据结构,在硬盘中对待删除文件进行擦除操作。

在本发明一实施例中,处理单元,用于将已记录数据结构插入到第一链表中,其中,第一链表用于记录未执行清零操作的已记录数据结构;

判断第一链表和第二链表的扇区数目总和是否大于扇区数目阈值,其中,第二链表用于记录已执行一次清零操作的已记录数据结构;

若扇区数目总和不大于扇区数目阈值,则对第二链表中所有的磁盘扇区执行擦除操作;

若扇区数目总和大于扇区数目阈值,则继续判断第一链表的扇区数目是否大于扇区数目阈值;

若第一链表的扇区数目不大于扇区数目阈值,则对第二链表中的磁盘扇区执行擦除操作。

可以理解的是,本发明实施例示意的结构并不构成对安全删除文件的装置的具体限定。在本发明的另一些实施例中,安全删除文件的装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明各个实施例至少具有以下优点和进步:

1、本发明提供的方案使用Hook技术实时捕获文件删除行为,在真正进行删除操作前获取文件所在硬盘中文件簇的信息,根据文件簇异步进行对硬盘的多次安全直接擦除操作,使原先的敏感内容得以无法找回,达到数据防泄漏的安全删除目的。

2、本方案的实现为纯应用层技术,精确捕捉文件操作行为,可在多个不同版本的Windows系统的兼容运行,且由于使用的是Hook技术,占用的系统资源少,运行效率高。对是否使用安全删除的判定可进行自定义配置,实现个性化的防护操作。

3、使用Hook技术对Windows桌面资源管理器(explorer.exe)等进程进行注入操作,并捕获文件的删除行为操作,在真正进行删除操作前获取文件所在硬盘中文件簇的信息并保存,异步进行对硬盘的多次安全直接擦写操作,使原先的敏感内容得以无法找回,达到数据防泄漏的安全删除目的。在此过程过,由于是纯异步操作,所以对于用户正常的操作使用来说,是完全的无感知,有良好的用户体验。

本发明还提供了一种计算机可读介质,存储用于使一计算机执行如本文所述的安全删除文件的方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD至ROM、CD至R、CD至RW、DVD至ROM、DVD至RAM、DVD至RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

以上各实施例中,硬件模块可以通过机械方式或电气方式实现。例如,一个硬件模块可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件模块还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。

上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

相关技术
  • 安全删除文件的方法、装置及计算机可读介质
  • 一种已删除文件恢复方法、装置、设备及可读存储介质
技术分类

06120112922927