CN111581163B - 基于ntfs文件系统的数据无痕删除方法及系统 - Google Patents
基于ntfs文件系统的数据无痕删除方法及系统 Download PDFInfo
- Publication number
- CN111581163B CN111581163B CN202010396804.3A CN202010396804A CN111581163B CN 111581163 B CN111581163 B CN 111581163B CN 202010396804 A CN202010396804 A CN 202010396804A CN 111581163 B CN111581163 B CN 111581163B
- Authority
- CN
- China
- Prior art keywords
- file
- root directory
- mft
- directory
- address
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于NTFS文件系统的数据无痕删除方法及系统,包括:读取NTFS卷头信息;对NTFS卷头信息进行解析;定位$MFT文件的起始地址;定位根目录的MFT表的起始地址;根据根目录的MFT表,获取根目录文件内容的起始地址;根据根目录文件内容的起始地址,对根目录进行解析,获取根目录下文件夹和文件的文件记录号;根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的文件名与待无痕删除的文件名是否相同;如果文件名相同,则删除与文件相关的所有痕迹;如果文件名不同,则对下一个文件记录号对应的文件名进行判断。
Description
技术领域
本公开涉及数据安全技术领域,特别是涉及基于NTFS文件系统的数据无痕删除方法及系统。
背景技术
本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
随着互联网的飞速发展,人类社会信息化、网络化达到前所未有的程度,随着而来的互联网安全问题也逐渐凸显,各种黑客、病毒不断侵扰着我们的电脑,窃取公司机密材料和个人隐私的行为越来越常见,而受害人并没有觉察,试想,在网络安全威胁存在的情况下,若我们存在硬盘上的资料没有完全删除,一旦被攻击者获取并利用,造成的影响是不可估量的。
在日益重视环境保护和资料重复利用的今天,计算机设备的可循环使用也日益受到重视,某些淘汰下来的计算机仍然可以正常使用,如果不能正常的销毁硬盘上的重要数据,一旦被利用者利用,势必造成数据安全的问题。还有许多的军工、企事业单位、国家安全部门使用的电子数据都是高度涉密的,他们的数据安全也是被高度重视的。所有的涉密数据都不可以随意阅读,更不能被恶意分子所利用,硬盘作为存储介质,其使用的NTFS文件系统的数据保密是非常重要的。发明人发现,在安全威胁情况下,现有技术无法做到快速无痕的删除磁盘数据。传统的数据删除操作仅切断文件元数据与文件内容的链接,并将元数据标记为删除状态,被删除文件的内容仍并没有发生任何损坏,若没有二次三次外部数据的覆盖写入,完全可以通过数据恢复软件恢复出来。
发明内容
为了解决现有技术的不足,本公开提供了基于NTFS文件系统的数据无痕删除方法及系统;
第一方面,本公开提供了基于NTFS文件系统的数据无痕删除方法;
基于NTFS文件系统的数据无痕删除方法,包括:
读取NTFS卷头信息;对NTFS卷头信息进行解析;定位$MFT文件的起始地址;定位根目录($Root)的MFT表的起始地址;
根据根目录的MFT表,获取根目录文件内容的起始地址;根据根目录文件内容的起始地址,对根目录进行解析,获取根目录下文件夹和文件的文件记录号;
根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的文件名与待无痕删除的文件名是否相同;
如果文件名相同,则删除与文件相关的所有痕迹;如果文件名不同,则对下一个文件记录号对应的文件名进行判断。
第二方面,本公开提供了基于NTFS文件系统的数据无痕删除系统;
基于NTFS文件系统的数据无痕删除系统,包括:
读取模块,其被配置为:读取NTFS卷头信息;对NTFS卷头信息进行解析;定位$MFT文件的起始地址;定位根目录($Root)的MFT表的起始地址;
解析模块,其被配置为:根据根目录的MFT表,获取根目录文件内容的起始地址;根据根目录文件内容的起始地址,对根目录进行解析,获取根目录下文件夹和文件的文件记录号;
除痕模块,其被配置为:根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的文件名与待无痕删除的文件名是否相同;如果文件名相同,则删除与文件相关的所有痕迹;如果文件名不同,则对下一个文件记录号对应的文件名进行判断。
第三方面,本公开还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
第五方面,本公开还提供了一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现前述第一方面任意一项的方法。
与现有技术相比,本公开的有益效果是:
1、能在网络安全威胁情况下,快速删除涉密文件或者军工、企事业单位内部重要的文件,即使不法分子使用特殊的数据恢复工具,也不能恢复文件,更不存在流传的可能,也起到应急响应的作用。
2、解析MBR,通过解析MBR获取各个磁盘的位置,进一步分析MFT文件记录和文件的绝对路径,查找文件所在的起始地址和文件的大小,重写文件的所有痕迹保证数据的安全,最后通过重建MFT,使不法分子彻底无法恢复文件的可能。使用本发明,可以在安全威胁情况下,快速删除硬盘上的重要文件,保证文件的安全,确保文件数据不被非法利用,即使使用特殊的数据恢复软硬件工具,也不具有恢复的可能。适用于军工、各企事业单位的涉密数据、重要文件以及内部适用的文件。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1为第一个实施例的方法流程图;
图2为第一个实施例的MFT文件表及其运行示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本公开本实施例中,“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请的描述中,“多个”是指两个或多于两个。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
术语解释:
NTFS,New Technology File System新技术文件系统,是WindowsNT环境的文件系统。
注:NTFS(New Technology File System),是WindowsNT环境的文件系统。新技术文件系统是Windows NT家族(如,Windows 2000、Windows XP、Windows Vista、Windows 7和windows 8.1)等的限制级专用的文件系统(操作系统所在的盘符的文件系统必须格式化为NTFS的文件系统),NTFS取代了老式的FAT文件系统。
$MFT,$Master File Table主文件表;功能:主文件表本身是每个文件的索引。
DBR,全称为Driver Boot Record,俗称分区引导扇区。在DBR中包含分区引导程序、分区信息记录,比如文件$MFT起始簇、跳转代码、OEM、结束标志等信息。
BPB,BIOS Parameter Block BIOS参数块,NTFS文件系统的BPB从DBR的第12个字节开始,占用73字节,记录了当前分区的重要信息。
数据运行DataRunList:当属性不能存放完数据,系统就会在NTFS数据区域开辟一个空间存放,这个区域是以簇为单位的。DataRun List就是记录这个数据区域的起始簇号和大小。
实施例一
本实施例提供了基于NTFS文件系统的数据无痕删除方法;
基于NTFS文件系统的数据无痕删除方法,包括:
S101:读取NTFS卷头信息;对NTFS卷头信息进行解析;定位$MFT文件的起始地址;定位根目录($Root)的MFT表的起始地址;
S102:根据根目录的MFT表,获取根目录文件内容的起始地址;根据根目录文件内容的起始地址,对根目录进行解析,获取根目录下文件夹和文件的文件记录号;
S103:根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的文件名与待无痕删除的文件名是否相同;
如果文件名相同,则删除与文件相关的所有痕迹;如果文件名不同,则对下一个文件记录号对应的文件名进行判断。
作为一个或多个实施例,所述方法还包括:
S1031:根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的目录名与待无痕删除的目录名是否相同;
如果目录名相同,则进入S104;如果目录名不同,则对下一个文件记录号对应的目录名进行判断;
S104:根据目录的文件记录号,获取目录下所有的文件和/或文件夹的文件记录号,如果目录下所有的文件和/或文件夹中存在文件,则删除与文件相关的所有痕迹;否则,将与此文件名或者目录名相关的数据用数字零或者随机数字填写N遍;N为正整数,N为设定值;
进一步地,删除与文件相关的所有痕迹,具体步骤包括:
根据文件或者目录的文件记录号,获取MFT表;分析出文件名、创建、修改访问时间、MFT更新时间、获取文件内容所占的各个数据运行;依次获取各个数据运行的起始地址和对应的运行所占的簇数,用随机数字填写N遍,直至删除与文件相关的所有痕迹,结束循环。
作为一个或多个实施例,所述方法还包括:
S100:解析待无痕删除文件所在的根目录,获取待无痕删除文件所在逻辑磁盘符号,适用CreateFile加载驱动,以文件的形式打开磁盘;首先获取此-磁盘分区是NTFS格式还是Fat格式:
若获取的0x00-0x02获取的十六进制值是“EB5290”,则是NTFS格式,此时以MTF文件的根式进行分析。若获取的0x00-0x02获取的十六进制值是“EB5890”,则是Fat格式,此文不涉及Fat格式的无痕删除。
进一步地,S101中,读取NTFS卷头信息;具体步骤包括:
以驱动的形式加载磁盘驱动器,使磁盘以文件的方式打开,读取存储介质中的NTFS卷头信息。
进一步地,S101中,对NTFS卷头信息进行解析;具体步骤包括:
以文件的方式,打开磁盘驱动符,读取前两个扇区内容,NTFS文件系统的DBR扇区占用第一个扇区,包括跳转指令、OEM代号,BPB信息、引导程序、结束标志。从BPB结构体中可以分析出元数据文件$MFT文件的起始地址。
进一步地,S101中,定位$MFT文件的起始地址;具体步骤包括:
读取磁盘文件,读取前两个扇区的字节,0x0B处为BPB信息块的起始地址,占用73字节,0x30-0x37是$MFT的开始簇号,即$MFT文件起始地址的簇号。
进一步地,S101中,定位根目录MFT表的起始地址;具体步骤包括:
根目录MFT表起始地址在$MFT起始地址偏移0x05*2*每个扇区所占的字节数处;其中,MFT表包括若干个属性体,每个属性体都有一个对应的属性名。
进一步地,S101中,定位根目录MFT表的起始地址;具体步骤包括:
从BPB参数中分析根目录起始地址,再从根目录起始地址中获取到簇大小和扇区所占的字节数,将根目录起始地址、簇大小和扇区所占的字节数三者相乘,获取到根目录的起始地址。
进一步地,S101中,解析无痕删除文件,也就是目标文件的绝对路径,使用字符串分割,存储到数组中。
进一步地,S101中,解析文件根目录,获取驱动符,使用CreateFile加载驱动,以文件的形式读写;首先获取此设备是NTFS格式还是FAT格式,若获取的0x00-0x04获取的十六进制值是“EB5290”,则是NTFS格式。
进一步地,S101中,确定好系统格式,读取DBR偏移0x0B处,读取BPB结构体信息,获取$MFT表起始簇地址,并进一步获取根目录MFT表的起始簇地址。
进一步地,S102中,根据根目录文件内容的起始地址,对根目录进行解析,获取根目录下文件夹和文件的文件记录号;具体步骤包括:
若根目录文件内容的起始地址处0x00-0x03处是字符串“INDX”,则根据根目录”\”的MFT表,分别获取根目录下文件夹和/或文件的文件记录号,将根目录下文件夹和文件的文件记录号存入一个字符串;循环依次读取下一个文件夹或文件的记录号,直至根目录索引值大小等于零,其中文件记录号之间以”;”隔开。
在0x18-0x1b处为索引的偏移地址值,在0x1c-0x1f处为索引大小的偏移地址值,在索引偏移地址值偏移0x05-0x00处为文件记录号,在0x07-0x09处为下一个文件记录号偏移地址。
分析根目录”\”的MFT文件,首先获取到0x80属性,根据数据运行,获取到根目录文件名和文件记录号{indexRecorderNum1-indexRecorderNumn},再获取文件名{indexDirName1-indexDirNamen};其中若文件名中包含要删除的文件,则结束查找下一个目录或者文件,删除与文件相关的所有痕迹;
若文件名包括二级目录,则转向S103;其中把和此文件名或者目录名相关的数据用数字零或者随机数字填写5遍。
应理解的,所述S102的步骤包括:解析根目录“\”MFT表,获取根目录下所有文件和目录的文件记录号记作FileRecorderNum{1-n}。解析FileRecorderNum{1-n},获取文件夹记录号、获取文件记录号。
应理解的,所述S102,解析根目录“\”MFT表,根据MFT属性列表,分别获取根目录下的所有文件和文件夹的记录号,并形成以“;”隔开的字符串。
应理解的,所述S103中,Direc函数功能:以分号分割开文件夹和文件的文件记录号,根据文件记录号定位MFT表,若0x00-0x03获取的十六进制值是“49444E58”,则说明是文件夹,继续调用Direct函数,若获取的十六进制值是“46494C45”,则转向S105。
作为一个或多个实施例,所述删除与文件相关的所有痕迹的具体步骤包括:
根据文件记录号和文件名,获取文件MFT的起始地址,并分析属性0x10、0x30、0x80、0x90、0xA0,从0x30中获取到文件名的起始地址;从0x80处获取常驻或者非常驻标记;
若是常驻属性,则把MFT文件全部用0或者随机数字填写5遍;
若是非常驻属性,则对属性0x80、0x90、0xA0进一步分析,一般数据运行列表存在标准属性0x80、0xA0属性中,当属性不能存放完数据,系统就会在NTFS数据区域开辟一个空间存放,这个区域是以簇为单位的。Run List就是记录这个数据区域的起始簇号和大小;
分析出所有的数据运行,其中运行的前两位分别表示:起始簇所占的位数和簇所占的位数,后面是两个位加起来所占的长度,根据运行起始簇地址A1和运行占的簇大小,计算这段运行的起始地址和大小,即对这段运行所占的存储空间用0或者随机数字填写;
进一步分析运行,上一段运行所占的逻辑簇地址+下一段运行起始簇地址+运行所占的簇数,用0或者随机数字填写此段运行大小的数据段;
依次对下一段数据运行列表进行遍历,直至遍历完数据运行结束,即把文件内容所占的所有存储空间用0或随机数字填写。
用同样的方法把与此文件相关的日志文件用0或者随机数字填写N遍。
与此文件相关的日志文件,包括但不限于:文件名、文件内容、文件的创建、修改、访问时间、mft表、mft的父目录
作为一个或多个实施例,所述删除与文件相关的所有痕迹的具体步骤包括:
解析目标文件的MFT,获取文件名和文件内容的起始地址和大小,非常驻属性依赖于文件所占有的簇大小和簇的起始地址。删除文件名和文件内容,并用随机数字0或1重写5遍。更新MFT表,重新生成MFT文件。流程图如图1所示。
作为一个或多个实施例,所述删除与文件相关的所有痕迹的具体步骤包括:
根据文件记录号,确定MFT起始地址,然后根据属性列表的格式,进一步分析MFT标准属性,,在属性0x30处获取文件名,在属性名为0x80、0x90、0Xa0获取文件内容的起始地址和大小。
获取文件内容首先要判断文件是常住属性还是非常驻属性,若是常驻属性,则直接在MFT表中获取到文件的起始地址和大小,并使用随机数字0或1重写5遍;若是非常驻属性,则分别获取文件的运行,每个运行包括文件占有的簇大小和簇的起始地址,通过解析每个文件所占的运行,确定文件的内容,用随机数字0或1重写。
进一步地,所述解析每个文件所占的运行,确定文件的内容,具体步骤包括:
S1051:定位文件所占的数据运行的起始地址;
S1052:查找所有的数据运行、分割运行串;
S1053:获取每个运行中起始簇地址和大小;
S1054:使用随机数字0或1填写每一段运行所对应的文件内容。
其中,分析MFT标准属性,属性名为0x80偏移0x08处,若是00则为常驻属性,属性名偏移0x10-0x14,则为文件内容的大小,属性名偏移0x15-0x18,为文件内容偏移的位置,根据文件内容偏移位置和文件内容的实际大小,用随机数字0或1填写5遍,并在属性0x10属性名偏移0x0x14-0x15处的值为时间的偏移,属性名0x30偏移0x08-0x8处,根据时间的起始位置重写MFT创建、修改、访问时间,更新MFT表。
若属性名为0x80往后偏移0x08处,是01,则为非常驻属性。则对属性名为0xA0进一步分析,分析出往后偏移0x20-0x21处的数据运行偏移值,根据偏移值,确定运行的字符串,其中运行字符串的前两位分别表示:起始簇地址所占的字节数和数据大小(簇个数)所占的字节数,后面是两个位加起来所占的长度,根据此段运行起始簇地址A1和此段运行占的簇大小SizeLen,确定此段运行在磁盘中的位置,并用0或者随机数字填写;然后再进一步分析下一段运行,用A1+SizeLen+下一段行起始簇地址,确定此段运行的数据位置,用0或者随机数字填写此段运行大小的数据段,依次进行,直至遍历完数据运行结束。
注意第一个起始簇信息是无符号的,后面第二个开始就是相对于前面一个簇的偏移,是有正负的,若为负,则需减取反。运行如图2所示。
$MFT文件数据运行图,通过数据运行可以定位$MFT文件的起始位置,$MFT的文件记录表中三个运行,其中3101FFFF0B3101AE24F43101D4CA5B为三段运行,第一段运行的3表示LCN的长度(0X0BFFFF),1表示这段运行所占的簇数(01个簇)。
NTFS作为windows操作系统下最主流的使用最广的文件系统,本发明从物理存储、文件系统及MFT记录表等进行分析,解决文件系统是NTFS情况下,如何快速无痕的删除硬盘上的文件及目录,确保在安全威胁的情况下,快速无痕的删除存储在磁盘上的文件是重中之重。现发明一种针对NTFS文件系统的文件或目录,能快速无痕的删除,且使用WinHex等工具无恢复的可能性,保证重要的文件的安全性和机密性,使不法分子不能得逞。
实施例二
本实施例提供了基于NTFS文件系统的数据无痕删除系统;
基于NTFS文件系统的数据无痕删除系统,包括:
读取模块,其被配置为:读取NTFS卷头信息;对NTFS卷头信息进行解析;定位$MFT文件的起始地址;定位根目录($Root)的MFT表的起始地址;
解析模块,其被配置为:根据根目录的MFT表,获取根目录文件内容的起始地址;根据根目录文件内容的起始地址,对根目录进行解析,获取根目录下文件夹和文件的文件记录号;
除痕模块,其被配置为:根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的文件名与待无痕删除的文件名是否相同;如果文件名相同,则删除与文件相关的所有痕迹;如果文件名不同,则对下一个文件记录号对应的文件名进行判断。
此处需要说明的是,上述读取模块、解析模块和除痕模块对应于实施例一中的步骤S101至S103,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (12)
1.基于NTFS文件系统的数据无痕删除方法,其特征是,包括:
读取NTFS卷头信息;对NTFS卷头信息进行解析;定位$MFT文件的起始地址;定位根目录的MFT表的起始地址;
根据根目录的MFT表,获取根目录文件内容的起始地址;根据根目录文件内容的起始地址,对根目录进行解析,获取根目录下文件夹和文件的文件记录号;
根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的文件名与待无痕删除的文件名是否相同;
如果文件名相同,则删除与文件相关的所有痕迹;如果文件名不同,则对下一个文件记录号对应的文件名进行判断;
其中,所述方法还包括:
根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的目录名与待无痕删除的目录名是否相同;
如果目录名相同,则进入下一步;如果目录名不同,则对下一个文件记录号对应的目录名进行判断;
根据目录的文件记录号,获取目录下所有的文件和/或文件夹的文件记录号,如果目录下所有的文件和/或文件夹中存在文件,则删除与文件相关的所有痕迹;否则,将与此文件名或者目录名相关的数据用数字0或者随机数字填写N遍;N为正整数,N为设定值;
所述删除与文件相关的所有痕迹的具体步骤包括:
根据文件记录号和文件名,获取文件MFT的起始地址,并分析属性0x10、0x30、0x80、0x90、0xA0,从0x30中获取到文件名的起始地址;从0x80处获取常驻或者非常驻标记;
若是常驻属性,则把MFT文件全部用0或者随机数字填写5遍;
若是非常驻属性,则对属性0x80、0x90、0xA0进一步分析,针对数据运行列表存在标准属性0x80、0xA0属性中,当属性不能存放完数据,系统就会在NTFS数据区域开辟一个空间存放,这个区域是以簇为单位的;Run List记录这个数据区域的起始簇号和大小;
分析出所有的数据运行,其中运行的前两位分别表示:起始簇所占的位数和簇所占的位数,后面是两个位加起来所占的长度,根据运行起始簇地址A1和运行占的簇大小,计算这段运行的起始地址和大小,即对这段运行所占的存储空间用0或者随机数字填写;
进一步分析运行,上一段运行所占的逻辑簇地址+下一段运行起始簇地址+运行所占的簇数,用0或者随机数字填写此段运行大小的数据段;
依次对下一段数据运行列表进行遍历,直至遍历完数据运行结束,即把文件内容所占的所有存储空间用0或随机数字填写。
2.如权利要求1所述的方法,其特征是,删除与文件相关的所有痕迹,具体步骤包括:
根据文件或者目录的文件记录号,获取MFT表;分析出文件名、创建、修改访问时间、MFT更新时间、获取文件内容所占的各个数据运行;依次获取各个数据运行的起始地址和对应的运行所占的簇数,用随机数字填写N遍,直至删除与文件相关的所有痕迹,结束循环。
3.如权利要求1所述的方法,其特征是,读取NTFS卷头信息步骤之前还包括:
解析待无痕删除文件所在的根目录,获取待无痕删除文件所在逻辑磁盘符号,适用CreateFile加载驱动,以文件的形式打开磁盘;首先判断此磁盘分区是NTFS格式还是Fat格式:若获取的0x00-0x02获取的十六进制值是“EB5290”,则是NTFS格式,此时以MTF文件的格式进行分析。
4.如权利要求1所述的方法,其特征是,读取NTFS卷头信息;具体步骤包括:
以驱动的形式加载磁盘驱动器,使磁盘以文件的方式打开,读取存储介质中的NTFS卷头信息。
5.如权利要求1所述的方法,其特征是,对NTFS卷头信息进行解析;具体步骤包括:
以文件的方式,打开磁盘驱动符,读取前两个扇区内容,NTFS文件系统的DBR扇区占用第一个扇区,包括跳转指令、OEM代号、BPB信息、引导程序和结束标志;从BPB结构体中可以分析出元数据文件$MFT文件的起始地址。
6.如权利要求1所述的方法,其特征是,定位$MFT文件的起始地址;具体步骤包括:
读取磁盘文件,读取前两个扇区的字节,0x0B处为BPB信息块的起始地址,占用73字节,0x30-0x37是$MFT的开始簇号,即$MFT文件起始地址的簇号。
7.如权利要求1所述的方法,其特征是,定位根目录MFT表的起始地址;具体步骤包括:
根目录MFT表起始地址在$MFT起始地址偏移0x05*2*每个扇区所占的字节数处;其中,MFT表包括若干个属性体,每个属性体都有一个对应的属性名。
8.如权利要求1所述的方法,其特征是,定位根目录MFT表的起始地址;具体步骤包括:
从BPB参数中分析根目录起始地址,再从根目录起始地址中获取到簇大小和扇区所占的字节数,将根目录起始地址、簇大小和扇区所占的字节数三者相乘,获取到根目录的起始地址。
9.如权利要求1所述的方法,其特征是,根据根目录文件内容的起始地址,对根目录进行解析,获取根目录下文件夹和文件的文件记录号;具体步骤包括:
若根目录文件内容的起始地址0x00-0x03处是字符串“INDX”,则根据根目录”\”的MFT表,获取根目录下文件夹和/或文件的文件记录号,将根目录下文件夹和文件的文件记录号存入一个字符串;循环依次读取下一个文件夹或文件的记录号,直至根目录索引值大小等于零,其中文件记录号之间以”;”隔开。
10.基于NTFS文件系统的数据无痕删除系统,其特征是,包括:
读取模块,其被配置为:读取NTFS卷头信息;对NTFS卷头信息进行解析;定位$MFT文件的起始地址;定位根目录的MFT表的起始地址;
解析模块,其被配置为:根据根目录的MFT表,获取根目录文件内容的起始地址;根据根目录文件内容的起始地址,对根目录进行解析,获取根目录下文件夹和文件的文件记录号;
除痕模块,其被配置为:根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的文件名与待无痕删除的文件名是否相同;如果文件名相同,则删除与文件相关的所有痕迹;如果文件名不同,则对下一个文件记录号对应的文件名进行判断;
所述除痕模块还被配置为:根据根目录下文件夹和文件的文件记录号,计算文件记录号的个数,对文件记录号对应的文件名依次循环遍历,判断文件记录号对应的目录名与待无痕删除的目录名是否相同;
如果目录名相同,则进入下一步;如果目录名不同,则对下一个文件记录号对应的目录名进行判断;
根据目录的文件记录号,获取目录下所有的文件和/或文件夹的文件记录号,如果目录下所有的文件和/或文件夹中存在文件,则删除与文件相关的所有痕迹;否则,将与此文件名或者目录名相关的数据用数字0或者随机数字填写N遍;N为正整数,N为设定值;
所述删除与文件相关的所有痕迹的具体步骤包括:
根据文件记录号和文件名,获取文件MFT的起始地址,并分析属性0x10、0x30、0x80、0x90、0xA0,从0x30中获取到文件名的起始地址;从0x80处获取常驻或者非常驻标记;
若是常驻属性,则把MFT文件全部用0或者随机数字填写5遍;
若是非常驻属性,则对属性0x80、0x90、0xA0进一步分析,针对数据运行列表存在标准属性0x80、0xA0属性中,当属性不能存放完数据,系统就会在NTFS数据区域开辟一个空间存放,这个区域是以簇为单位的;Run List记录这个数据区域的起始簇号和大小;
分析出所有的数据运行,其中运行的前两位分别表示:起始簇所占的位数和簇所占的位数,后面是两个位加起来所占的长度,根据运行起始簇地址A1和运行占的簇大小,计算这段运行的起始地址和大小,即对这段运行所占的存储空间用0或者随机数字填写;
进一步分析运行,上一段运行所占的逻辑簇地址+下一段运行起始簇地址+运行所占的簇数,用0或者随机数字填写此段运行大小的数据段;
依次对下一段数据运行列表进行遍历,直至遍历完数据运行结束,即把文件内容所占的所有存储空间用0或随机数字填写。
11.一种电子设备,其特征是,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010396804.3A CN111581163B (zh) | 2020-05-12 | 2020-05-12 | 基于ntfs文件系统的数据无痕删除方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010396804.3A CN111581163B (zh) | 2020-05-12 | 2020-05-12 | 基于ntfs文件系统的数据无痕删除方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581163A CN111581163A (zh) | 2020-08-25 |
CN111581163B true CN111581163B (zh) | 2022-03-08 |
Family
ID=72122993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010396804.3A Active CN111581163B (zh) | 2020-05-12 | 2020-05-12 | 基于ntfs文件系统的数据无痕删除方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581163B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486924A (zh) * | 2020-12-17 | 2021-03-12 | 深圳软牛科技有限公司 | 一种ntfs中查找文件删除时间的方法、装置及电子设备 |
CN112486734A (zh) * | 2020-12-17 | 2021-03-12 | 深圳软牛科技有限公司 | 一种ntfs删除文件恢复方法、装置及电子设备 |
CN113065159B (zh) * | 2021-04-09 | 2022-04-29 | 杭州天宽科技有限公司 | 一种安全文档无痕阅读的装置及其实现方法 |
CN113190178B (zh) * | 2021-05-21 | 2022-08-02 | 山东省计算中心(国家超级计算济南中心) | 一种fat32文件系统中数据无痕删除方法及系统 |
CN113312007B (zh) * | 2021-06-29 | 2023-02-03 | 成都易我科技开发有限责任公司 | Ntfs文件系统中目录和文件大小的统计方法及统计装置 |
CN114168558B (zh) * | 2021-12-06 | 2024-06-11 | 成都傲梅科技有限公司 | 一种通过重构文件记录优化ntfs文件系统速度的方法 |
CN114281759B (zh) * | 2021-12-21 | 2024-05-14 | 深圳软牛科技有限公司 | 一种重塑ntfs文件系统的方法、装置及系统 |
CN114579525B (zh) * | 2022-05-09 | 2022-07-22 | 山东省计算中心(国家超级计算济南中心) | 面向ext4文件系统的数据无痕删除方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508855A (zh) * | 2011-09-28 | 2012-06-20 | 北京安天电子设备有限公司 | 快速清除存储介质中数据的方法及装置 |
CN106055990A (zh) * | 2016-05-30 | 2016-10-26 | 厦门市美亚柏科信息股份有限公司 | 一种ntfs文件系统的数据彻底粉碎方法和装置 |
CN106548086A (zh) * | 2015-09-18 | 2017-03-29 | 四川效率源信息安全技术股份有限公司 | Ntfs文件系统中涉密数据的擦除方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8650229B2 (en) * | 2010-11-18 | 2014-02-11 | II Hector Fuentes | System and method for removing master file table ($MFT) file record segments (FRS) |
-
2020
- 2020-05-12 CN CN202010396804.3A patent/CN111581163B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508855A (zh) * | 2011-09-28 | 2012-06-20 | 北京安天电子设备有限公司 | 快速清除存储介质中数据的方法及装置 |
CN106548086A (zh) * | 2015-09-18 | 2017-03-29 | 四川效率源信息安全技术股份有限公司 | Ntfs文件系统中涉密数据的擦除方法 |
CN106055990A (zh) * | 2016-05-30 | 2016-10-26 | 厦门市美亚柏科信息股份有限公司 | 一种ntfs文件系统的数据彻底粉碎方法和装置 |
Non-Patent Citations (1)
Title |
---|
《The Research of Fast File Destruction Based on NTFS》;Huang Jun 等;《International Conference on Emerging Computation and Information teChnologies for Education (ECICE 2012)》;20121231;第146卷;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111581163A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581163B (zh) | 基于ntfs文件系统的数据无痕删除方法及系统 | |
US10803197B1 (en) | Masking sensitive information in records of filtered accesses to unstructured data | |
US7917481B1 (en) | File-system-independent malicious content detection | |
US7831560B1 (en) | Snapshot-aware secure delete | |
Huebner et al. | Data hiding in the NTFS file system | |
US20140244582A1 (en) | Apparatus and Methods for Selective Location and Duplication of Relevant Data | |
US20080282355A1 (en) | Document container data structure and methods thereof | |
Mikus et al. | An analysis of disc carving techniques | |
Roussev | Digital forensic science: issues, methods, and challenges | |
Nordvik et al. | Reverse engineering of ReFS | |
CN111382126B (zh) | 删除文件及阻碍文件恢复的系统和方法 | |
Bahjat et al. | Deleted file fragment dating by analysis of allocated neighbors | |
CN113190178B (zh) | 一种fat32文件系统中数据无痕删除方法及系统 | |
Hummert et al. | Mobile Forensics–The File Format Handbook: Common File Formats and File Systems Used in Mobile Devices | |
US20140244699A1 (en) | Apparatus and Methods for Selective Location and Duplication of Relevant Data | |
Prade et al. | Forensic analysis of the resilient file system (ReFS) version 3.4 | |
AlHarbi et al. | Forensic analysis of anti‐forensic file‐wiping tools on Windows | |
CN114329367A (zh) | 网盘文件追溯方法、装置、网盘及存储介质 | |
Morgan | Recovering deleted data from the Windows registry | |
US8407196B1 (en) | Object-oriented database for file system emulator | |
CN110297781B (zh) | 一种基于写时复制来恢复apfs中被删除数据的方法 | |
KR101135629B1 (ko) | 이동형 usb 저장장치의 자동실행방지 방법 및 장치 | |
Berghel et al. | Data hiding tactics for windows and unix file systems | |
Nabity et al. | Recovering deleted and wiped files: A digital forensic comparison of FAT32 and NTFS file systems using evidence eliminator | |
CN105243090A (zh) | 一种独占文件的获取方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |