一种涉密数据清除方法转让专利

申请号 : CN201510640550.4

文献号 : CN105224877B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁效宁许超明赵飞黄旭

申请人 : 四川效率源信息安全技术股份有限公司

摘要 :

本发明公开了一种涉密数据清除方法,包括以下步骤:S1:找系统分区信息;S2:获取注册表文件存储信息;S3:获取注册表文件的空闲区域和正常区域,找区域内的涉密痕迹信息,并获取其物理存储位置;S4:擦除涉密痕迹。本发明依据注册表文件中Cell_Length的值获取注册表文件的正常区域与空闲区域,从所述注册表文件的正常区域和空闲区域中标记出被删除的注册表数据,该方法可以有效的防止注册表中记录的涉密信息被恢复或者流传,将所有的数据彻底清除,让以前存储过涉密数据的物理位置被彻底擦出。

权利要求 :

1.一种涉密数据清除方法,其特征在于包括以下步骤:S1:打开MBR磁盘分区表,解析MBR磁盘分区表得到系统分区信息;

S2:根据分区信息找到文件系统,后获取注册表文件存储信息;

S3:依据注册表文件信息中Cell Length的值获取注册表文件的空闲区域和正常区域,判断其数据中是否存在涉密痕迹信息,并获取其物理存储位置;

S4:根据S3中标记的物理储存位置信息,将所有标记的物理储存位置信息全部清除;

所述S3的详细步骤如下:

S301:从注册表文件头部开始检索数据块标记,找到数据块标记后执行S302;

S302:判断当前位置+4个字节的值是否超出注册表文件的大小范围;若是,则结束;若否,读取数据块标记后4个字节的值,执行S303;

S303:判断该4个字节的Cell Length的值:若Cell Length的值为正,则将Cell Length所属的Cell标记为为空闲区域,执行S304;

若Cell Length的值为负,则将Cell Length所属的Cell标记为为正常区域,执行S304;

S304:判断正常区域或空闲区域的Cell Length的大小是否正确;若正确,执行S305;若错误,从当前位置向后偏移32个字节,执行S302;

S305:搜索键或键值对应的标识,记录找到的键或键值;

S306:判断键记录或键值记录是否正确,记录正确的键记录或键值记录;

S307:区分出键或键值记录是否为涉密数据,并记录其物理存储位置;

S308:判断是否为数据块的尾部,若是则执行从当前位置向后检索数据块头部标记“hbin”,找到后执行S302,若否,则从当前位置向后偏移32个字节,执行S302。

2.根据权利要求1的一种涉密数据清除方法,其特征在于:所述S304中判断Cell Length的大小的标准如下:如果存储的是键数据,那么Cell Length必须大于0x4C;

如果存储的是键值数据,那么Cell Length必须大于0x14。

3.根据权利要求1的一种涉密数据清除方法,其特征在于:所述S306中判断键记录或键值记录是否正确的标准为:键记录正确的标准为:头部四个字节为0x6E6B2000、偏移0x18~0x1C的四个字节为

0x00000000且偏移0x20~0x23的四个字节为0xFFFFFFFF;

判断键值记录是正确的标准为:头部两个字节为0x766B且偏移0x12~0x13的两个字节为0x0000。

4.根据权利要求1的一种涉密数据清除方法,其特征在于:所述S307中区分键或键值记录通过人为给出涉密特征,通过该特征与键或键值的特征匹配,如果符合则认为是涉密痕迹,将其标记,如果不符合则认为不是涉密痕迹。

说明书 :

一种涉密数据清除方法

技术领域

[0001] 本发明涉及信息安全技术领域,特别涉及一种涉密数据清除方法。

背景技术

[0002] 注册表是Windows操作系统的核心数据库,存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行。在信息化迅速发展的21世纪,计算机技术日新月异,与人们的日常生活息息相关,电子信息是数据的主要载体,众多企事业单位,国家安全部门使用的电子数据都是高度涉密的,他们的数据痕迹安全也是被高度重视的,所有的涉密数据都不可以随意阅读或者被恢复,一旦流传,造成的影响是不可估量,但是在数据存储特性来说,在计算机中存储过涉密数据,即使是将其删除,也可以使用数据恢复方法将其恢复,这样重要的涉密数据就有被恢复、流传的可能,为了避免这些现象的发生。
[0003] 目前市面上还没有一种技术可以找到并擦出涉密数据。

发明内容

[0004] 本发明针对现有技术的缺陷,提供了一种涉密数据清除方法,能有效的解决上述现有技术存在的问题。
[0005] 一种涉密数据清除方法,包括以下步骤:
[0006] S1:打开MBR磁盘分区表,解析MBR磁盘分区表得到系统分区信息;
[0007] S2:根据分区信息找到文件系统,后获取注册表文件存储信息;
[0008] S3:依据注册表文件信息中Cell Length的值获取注册表文件的空闲区域和正常区域,判断其数据中是否存在涉密痕迹信息,并获取其物理存储位置;
[0009] S4:根据S3中标记的物理储存位置信息,将所有标记的物理储存位置信息全部清除。
[0010] 所述S3的详细步骤如下:
[0011] S301:从注册表文件头部开始检索数据块标记,找到数据块标记后执行S302;
[0012] S302:判断当前位置+4个字节的值是否超出注册表文件的大小范围;若是,则结束;若否,读取数据块标记后4个字节的值,执行S303;
[0013] S303:判断该4个字节的Cell Length的值:
[0014] 若Cell Length的值为正,则将Cell Length所属的Cell标记为为空闲区域,执行S304;
[0015] 若Cell Length的值为负,则将Cell Length所属的Cell标记为为正常区域,执行S304;
[0016] S304:判断正常区域或空闲区域的Cell Length的大小是否正确;若正确,执行S305;若错误,从当前位置向后偏移32个字节,执行S302;
[0017] S305:搜索键或键值对应的标识,记录找到的键或键值;
[0018] S306:判断键记录或键值记录是否正确,记录正确的键记录或键值记录;
[0019] S307:区分出键或键值记录是否为涉密数据,并记录其物理存储位置,[0020] S308:判断是否为数据块的尾部,若是则执行从当前位置向后检索数据块头部标记“hbin”,找到后执行S302,若否,则从当前位置向后偏移32个字节,执行S302。
[0021] 作为优选,所述S304中判断Cell Length的大小的标准如下:
[0022] 如果存储的是键数据,那么Cell Length必须大于0x4C;
[0023] 如果存储的是键值数据,那么Cell Length必须大于0x14。
[0024] 作为优选,所述S306中判断键记录或键值记录是否正确的标准为:
[0025] 键记录正确的标准为:头部四个字节为0x6E6B2000、偏移0x18~0x1C的四个字节为0x00000000且偏移0x20~0x23的四个字节为0xFFFFFFFF;
[0026] 判断键值记录是正确的标准为:头部两个字节为0x766B且偏移0x12~0x13的两个字节为0x0000。
[0027] 作为优选,所述S307中区分键或键值记录通过人为给出涉密特征,通过该特征与键或键值的特征匹配,如果符合则认为是涉密痕迹,将其标记,如果不符合则认为不是涉密痕迹。
[0028] 与现有技术相比本发明的优点在于:依据注册表文件中Cell_Length的值获取注册表文件的正常区域与空闲区域,从所述注册表文件的正常区域和空闲区域中标记出被删除的注册表数据,该方法可以有效的防止注册表中记录的涉密信息被恢复或者流传,将所有的数据彻底清除,让以前存储过涉密数据的物理位置被彻底擦出。

具体实施方式

[0029] 为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。
[0030] 一种涉密数据清除方法,包括以下步骤:
[0031] S1:打开MBR磁盘分区表,解析MBR磁盘分区表得到系统分区信息;
[0032] S2:根据S1中的分区信息可以找到文件系统,后获取注册表文件存储信息;例如:Windows 2000/XP注册表文件存储于“WINNT\system32\config”文件夹,其中包括“Default”、“SAM”、“Security”(Windows 2000无此文件)、“Software”和“System”;
[0033] S3:依据注册表文件中Cell Length的值获取注册表文件的空闲区域和正常区域,该空闲区域和正常区域由数据所在的Cell标识的,判断其数据中是否存在涉密痕迹信息,并获取其物理存储位置;
[0034] S4:根据S3中标记的物理储存位置信息,将所有标记的物理储存位置信息全部清除,清除可以使用随机字符“0xff or 0x00”填充或者使用自定义字符“0Xxly”填充多次(至少5次),因为存储介质数据被覆盖多次后是不可被恢复的。
[0035] 所述S3的详细步骤如下:
[0036] S301:从注册表文件头部开始检索数据块头部标记“hbin”,找到数据块标记后执行S302;
[0037] S302:判断当前位置+4个字节的值是否超出注册表文件的大小范围;若是,则结束;若否,读取数据块标记后4个字节的值,执行S303;
[0038] S303:判断该4个字节的Cell Length的值:
[0039] 若Cell Length的值为正,则将Cell Length所属的Cell标记为为空闲区域,执行S304;
[0040] 若Cell Length的值为负,则将Cell Length所属的Cell标记为为正常区域,执行S304;
[0041] S304:判断所述正常区域和空闲区域的Cell Length的大小是否正确;
[0042] 如果存储的是键数据,那么Cell Length必须大于0x4C;
[0043] 如果存储的是键值数据,那么Cell Length必须大于0x14。
[0044] 若正确,执行S305;若错误,从当前位置向后偏移32个字节,执行S302。
[0045] S305:搜索键或键值对应的标识,记录找到的键或键值;
[0046] 键对应的标识为:键的头部签名为0x6E6B、键的第三个字节固定为0x20、第四个固定的保留字节为0x00;键值对应的标识为:键值的头部签名0x766B。
[0047] S306:判断键记录或键值记录是否正确,记录正确的键记录或键值记录;
[0048] 键记录正确的的标准为:
[0049] 头部四个字节为0x6E6B2000、偏移0x18~0x1C的四个字节为0x00000000且偏移0x20~0x23的四个字节为0xFFFFFFFF;
[0050] 判断键值记录是正确的标准为:
[0051] 头部两个字节为0x766B且偏移0x12~0x13的两个字节为0x0000。
[0052] S307:区分出键或键值记录是否为涉密数据,并记录其物理存储位置;区分键或键值记录是通过人为给出涉密特征,通过该特征与上述键或键值的特征来匹配,如果符合则认为是涉密痕迹,将其标记。
[0053] S308:判断是否为数据块的尾部,若是则执行从当前位置向后检索数据块头部标记“hbin”,找到后执行S302,若否,则从当前位置向后偏移32个字节,执行S302。
[0054] 本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。