NTFS文件系统下轻量级文件隐藏方法技术方案

技术编号:2912003 阅读:456 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种计算机网络信息技术领域的NTFS文件系统下轻量级文件隐藏方法,其中:数据隐藏方法为:按合法的文件路径指代的文件系统元数据,遍历索引中特定文件索引记录入口,从而通过删除、修改文件索引以及对应文件系统元数据达到隐藏文件数据的目的。数据隐藏恢复方法为:按合法的文件路径以及已隐藏文件MFT记录编号,通过修改临时文件的索引记录入口和文件MFT记录,从而将已隐藏的数据重新显式链入文件系统中,达到恢复隐藏数据的目的。本发明专利技术通过数据隐藏实现了机密数据的保密性和对其他用户的透明性。同时,最小化隐藏数据执行过程中的数据交换以及运算开销,最大程度地保护了数据完整性以及可信度。

【技术实现步骤摘要】

本专利技术涉及的是一种电信
的文件系统处理的方法,具体是一种NTFS文件系统(New Technology File System新技术文件系统)下轻量级文件隐藏方法。
技术介绍
在当今这样一个信息和网络化的社会里,各种大容量存储设备也已经广泛地应用于社会的各个领域,如政府机关、学校学术机构、商业公司、个人用户等。对于不同计算机用户,尤其是前三类计算机用户,存储介质中保存的重要数据信息的保密性是最为关心的问题。一旦存有重要数据的存储设备丢失、被盗窃,如何最大程度的阻止试图读取这些设备的非法用户获取核心保密数据是现代存储技术所最为注重的课题之一。不同的存储系统上运行有不同的文件系统,而NTFS文件系统作为当今主流操作系统(如美国微软公司的视窗操作系统)所推荐选用的文件系统,已经被绝大部分个人电脑用户所采用。因此,专利技术一种基于现今主流文件系统的简单高效、安全可靠的文件隐藏方法可以最大程度的保护不同用户对数据保密性的要求。经对现有技术的文献检索发现,中国专利(申请)号为03118546.0,名称为:基于NTFS磁盘文件系统结构的文件隐藏方法,它利用NTFS文件系统支持多数据流的特性,将所要保护的保密数据拷贝存储在一个唯一的数据流名的文件中,从而起到隐藏数据保护重要信息的作用。但该专利所采用的方法存在(1)隐藏大容量文件时需要执行大量磁盘数据交换操作;(2)所产生唯一数据流名可能存在冲突;(3)多数据流扫面工具可检测多数据流存在性等数据存储安全隐患。又如中国专利(申请)号为CN02115105.9的技术,名称为:一种无失真数据隐藏方法。它是将待隐藏的文件合并到另一个文件中,例如,根据文件图像的冗余,将待隐藏的文件内容加入其中,或依附再其后。这些方法存在运算时间长,资源消耗大,隐藏数据容量有限,加密后文件或宿主文件对所有用户显式存在的缺点。并且一旦加密文件或宿主文件被非法用户恶意篡改,则可能导致隐藏数据-->的丢失以及内容的不一致性。
技术实现思路
本专利技术的目的在于克服现有技术中的不足,提供一种NTFS文件系统下轻量级文件隐藏方法,使其解决了现有技术不能同时满足执行隐藏文件时候最小磁盘数据交换开销和所隐藏的数据对非法用户的可见性问题。本专利技术是通过以下技术方案实现的,本专利技术包括两个部分:数据隐藏方法以及用于恢复数据隐藏的数据隐藏恢复方法,数据隐藏方法为:按合法的文件路径指代的文件系统元数据,遍历索引中特定文件索引记录入口,从而通过删除、修改文件索引以及对应文件系统元数据达到隐藏文件数据的目的。数据隐藏恢复方法为:按合法的文件路径以及已隐藏文件MFT记录编号,通过修改临时文件的索引记录入口和文件MFT记录,从而将已隐藏的数据重新显式链入文件系统中,达到恢复隐藏数据的目的。所述的数据隐藏的方法,具体为:第一步,获取用户所要隐藏的文件的路径,检查该路径名的合法性;并对该路径名进行分析、分解,包括路径中包含的逻辑分区标识符、各级文件夹名、需隐藏文件的文件名及其扩展名。第二步,根据已解析的文件路径,分析文件所在逻辑分区的引导扇区,从而按照定义获取该逻辑分区的相关的正确参数。第三步,根据所获得的逻辑分区参数,读取NTFS文件系统的系统关键元数据。第四步,根据所获得的系统关键元数据,找到特定记录文件索引的入口表,并遍历文件索引,找到所要隐藏文件的相关的索引记录入口$INDEX_ENTRY。第五步,根据所获得的文件索引记录入口,解析实际存放文件的文件头以及文件自身数据所处的硬盘物理地址信息。第六步,在文件索引中删除要隐藏文件对应的索引记录。第七步,根据第五步中获得的物理地址信息,修改在第三步中获得的所对应系统关键元数据。第八步,发送特性信息,使得操作系统强制刷新文件目录缓存,重新加载新的文件存储结构。第九步,返回执行结果。-->所述第二步,具体为:①根据第一步中获取并解析的文件路径,获得读取该文件路径对应的逻辑分区的系统I/O资源。②读取步骤①中打开的逻辑分区的引导扇区所在0号簇的数据。该0号簇记录了当前逻辑分区下,文件系统的相关重要信息。所述第三步,具体为:①根据第二步中获取的逻辑分区参数,包括分区的扇区、簇、实际容量等相关信息,计算该分区下,NTFS文件结构系统关键元数据存放的磁盘物理偏移地址。②从①计算得到的系统关键元数据起始地址开始,按照NTFS文件系统的定义,读取执行隐藏文件所必须信息。包括分析主文件表记录中包含的文件属性,获得文件系统根索引入口、逻辑分区文件簇使用情况等信息。所述第四步,具体为:①定位并读取文件系统根索引入口的头文件,分析该记录中记录的所有索引实际存放的磁盘物理位置。②根据第一步中所解析的路径名,从根索引入口开始,按每一级文件夹的名字查找,最终获得所要隐藏文件的父文件夹索引入口。具体步骤包括:③从索引入口根据索引文件定义,找到$INDEX_ROOT属性。④分析$INDEX_ROOT属性的属性头,读取$INDEX_ROOT属性数据记录。⑤以$INDEX_ROOT属性数据记录为起始,逐个读取$INDEX_ENTRY记录,如果所读取的$INDEX_ENTRY指代的信息即为所要查找的文件夹或文件,则停止步骤⑤。否则查找下一个$INDEX_ENTRY。如果已读取到最后一个$INDEX_ENTRY,则停止步骤⑤。如果已读取的$INDEX_ENTRY中指代的文件名按二进制比较小于要查找的文件夹名或文件名,则停止步骤⑤⑥如果步骤⑤已经获得所要查找的文件夹或文件对应的$INDEX_ENTRY,则结束第四步。否则记录下步骤⑤中读取的最后一个$INDEX_ENTRY内容,分析其中指代在$INDEX_ALLOCATION中第一个$INDEX_ENTRY偏移的信息。⑦分析$INDEX_ROOT属性的属性头,读取$INDEX_ALLOCATION属性数据记录。⑧解析记录在$INDEX_ALLOCATION属性头包含的data run数据,根据定义进行映射,从而将$INDEX_ALLOCATION实际数据属性Data attribute存放位置-->虚拟簇编号VCN映射到磁盘实际逻辑簇地址LCN。⑨以⑧中获得的LCN为入口地址,逐个读取$INDEX_ENTRY记录。如果所读取的$INDEX_ENTRY指代的信息即为所要查找的文件夹或文件,则停止步骤⑨。否则查找下一个$INDEX_ENTRY。如果已读取到最后一个$INDEX_ENTRY,则停止步骤⑨。如果已读取的$INDEX_ENTRY中指代的文件名按二进制比较小于要查找的文件夹名或文件名,则停止步骤⑨。⑩如果步骤⑤已经获得所要查找的文件夹或文件对应的$INDEX_ENTRY,则结束第四步。否则记录下步骤⑩中读取的最后一个$INDEX_ENTRY内容,分析其中指代在$INDEX_ALLOCATION中第一个$INDEX_ENTRY偏移的信息,以此为入口地址,重复步骤⑨。所述第五步,具体为:①解析第四步中查找文件索引得到的$INDEX_ENTRY,得到其中指定的所要隐藏文件的MFT号。②根据第三步中得到的文件系统元数据信息,查找步骤①中得到的编号的MFT文件。③解析步骤②得到的MFT文件,解析其中包含的$DATA属性。如果所隐藏的文件$DATA属性标志为residen本文档来自技高网
...

【技术保护点】
一种NTFS文件系统下轻量级文件隐藏方法,其特征在于,包括数据隐藏方法以及用于恢复数据隐藏的数据隐藏恢复方法,其中: 所述的数据隐藏的方法,具体为: 第一步,获取用户所要隐藏的文件的路径,检查该路径名的合法性;并对该路径名进行分析、分解,包括路径中包含的逻辑分区标识符、各级文件夹名、需隐藏文件的文件名及其扩展名; 第二步,根据已解析的文件路径,分析文件所在逻辑分区的引导扇区,从而按照定义获取该逻辑分区的相关的正确参数; 第三步,根据获得的逻辑分区参数,读取NTFS文件系统的系统关键元数据; 第四步,根据所获得的系统关键元数据,找到特定记录文件索引的入口表,并遍历文件索引,找到所要隐藏文件的相关的索引记录入口$INDEX_ENTRY; 第五步,根据所获得的文件索引记录入口,解析实际存放文件的文件头以及文件自身数据所处的硬盘物理地址信息; 第六步,在文件索引中删除要隐藏文件对应的索引记录; 第七步,根据第五步中获得的物理地址信息,修改在第三步中获得的所对应系统关键元数据; 第八步,发送特性信息,使得操作系统强制刷新文件目录缓存,重新加载新的文件存储结构; 第九步,返回执行结果; 所述的数据隐藏恢复方法,具体为: 第一步,通过输入或读取配置记录文件获取恢复文件的合法全路径名以及对应的MFT文件编号;并对该路径名进行分析、分解,包括路径中包含的逻辑分区标识符、各级文件夹名、需隐藏文件的文件名及其扩展名; 第二步,根据已解析的文件路径,校验该路径对应的逻辑分区下是否存在要恢复隐藏的对应的各级文件夹及文件; 第三步,根据已解析的文件路径,分析文件所在逻辑分区的引导扇区,从而按照定义获取该逻辑分区的相关的正确参数; 第四步,根据获得的逻辑分区参数,读取NTFS文件系统的系统关键元数据; 第五步,根据所获得的系统关键元数据,找到特定记录文件索引的入口表,并遍历文件索引,找到第二步中已创建的临时文件的相关的索引记录入口$INDEX_ENTRY; 第六步,根据第三步所获得逻辑分区参数以及第一步中获得的需恢复隐藏的MFT文件编号,计算出需恢复隐藏文件的MFT文件记录所在的逻辑簇号,进一步读取该MFT文件记录;第七步,解析第六步获取的MFT文件记录,读取其中包含的$FILE_NAME属性; 第八步,修改第五步中查找到的临时文件的$INDEX_ENTRY,将该$INDEX_ENTRY中的$FILE_NAME属性修改成第七步所读取的数据内...

【技术特征摘要】
1、一种NTFS文件系统下轻量级文件隐藏方法,其特征在于,包括数据隐藏方法以及用于恢复数据隐藏的数据隐藏恢复方法,其中:所述的数据隐藏的方法,具体为:第一步,获取用户所要隐藏的文件的路径,检查该路径名的合法性;并对该路径名进行分析、分解,包括路径中包含的逻辑分区标识符、各级文件夹名、需隐藏文件的文件名及其扩展名;第二步,根据已解析的文件路径,分析文件所在逻辑分区的引导扇区,从而按照定义获取该逻辑分区的相关的正确参数;第三步,根据获得的逻辑分区参数,读取NTFS文件系统的系统关键元数据;第四步,根据所获得的系统关键元数据,找到特定记录文件索引的入口表,并遍历文件索引,找到所要隐藏文件的相关的索引记录入口$INDEX_ENTRY;第五步,根据所获得的文件索引记录入口,解析实际存放文件的文件头以及文件自身数据所处的硬盘物理地址信息;第六步,在文件索引中删除要隐藏文件对应的索引记录;第七步,根据第五步中获得的物理地址信息,修改在第三步中获得的所对应系统关键元数据;第八步,发送特性信息,使得操作系统强制刷新文件目录缓存,重新加载新的文件存储结构;第九步,返回执行结果;所述的数据隐藏恢复方法,具体为:第一步,通过输入或读取配置记录文件获取恢复文件的合法全路径名以及对应的MFT文件编号;并对该路径名进行分析、分解,包括路径中包含的逻辑分区标识符、各级文件夹名、需隐藏文件的文件名及其扩展名;第二步,根据已解析的文件路径,校验该路径对应的逻辑分区下是否存在要恢复隐藏的对应的各级文件夹及文件;第三步,根据已解析的文件路径,分析文件所在逻辑分区的引导扇区,从而按照定义获取该逻辑分区的相关的正确参数;第四步,根据获得的逻辑分区参数,读取NTFS文件系统的系统关键元数据;第五步,根据所获得的系统关键元数据,找到特定记录文件索引的入口表,并遍历文件索引,找到第二步中已创建的临时文件的相关的索引记录入口$INDEX_ENTRY;第六步,根据第三步所获得逻辑分区参数以及第一步中获得的需恢复隐藏的MFT文件编号,计算出需恢复隐藏文件的MFT文件记录所在的逻辑簇号,进一步读取该MFT文件记录;第七步,解析第六步获取的MFT文件记录,读取其中包含的$FILE_NAME属性;第八步,修改第五步中查找到的临时文件的$INDEX_ENTRY,将该$INDEX_ENTRY中的$FILE_NAME属性修改成第七步所读取的数据内容;第九步,根据第一步中获得的需恢复隐藏的MFT文件编号以及第四步中获得的系统关键元数据,修改相应内容;第十步,发送特性信息,使得操作系统强制刷新文件目录缓存,重新加载新的文件存储结构;第十一步,返回执行结果。2、根据权利要求1所述的NTFS文件系统下轻量级文件隐藏方法,其特征是,所述的数据隐藏方法中的第四步,具体为:①定位并读取文件系统根索引入口的头文件,分析该记录中记录的所有索引实际存放的磁盘物理位置;②根据第一步中所解析的路径名,从根索引入口开始,按每一级文件夹的名字查找,最终获得所要隐藏文件的父文件夹索引入口;具体步骤包括:③从索引入口根据索引文件定义,找到$INDEX_ROOT属性;④分析$INDEX_ROOT属性的属性头,读取$INDEX_ROOT属性数据记录;⑤以$INDEX_ROOT属性数据记录为起始,逐个读取$INDEX_ENTRY记录,如果所读取的$INDEX_ENTRY指代的信息即为所要查找的文件夹或文件,则停止步骤⑤;否则查找下一个$INDEX_ENTRY;如果已读取到最后一个$INDEX_ENTRY,则停止步骤⑤;如果已读取的$INDEX_ENTRY中指代的文件名按二进制比较小于要查找的文件夹名或文件名,则停止步骤⑤;⑥如果步骤⑤已经获得所要查找的文件夹或文件对应的$INDEX_ENTRY,则结束第四步;否则记录下步骤⑤中读取的最后一个$INDEX_ENTRY内容,分析其中指代在$INDEX_ALLOCATION中第一个$INDEX_ENTRY偏移的信息;⑦分析$INDEX_ROOT属性的属性头,读取$INDEX_ALLOCATION属性数据记录;⑧解析记录在$INDEX_ALLOCATION属性头包含的data run数据,根据定义进行映射,从而将$INDEX_ALLOCATI...

【专利技术属性】
技术研发人员:顾夏申张漳邹恒明
申请(专利权)人:上海交通大学
类型:发明
国别省市:31[中国|上海]

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

1