使用Windows本身提供的删除工具,通常会被认为清空回收站之后,被删除的文件已经彻底清除了。不过事实并非如此,只要有专用的硬件和软件,即使数据已经被覆盖、驱动器已经重新格式化、引导扇区彻底损坏,或者磁盘驱动器不再运转,我们还是可以恢复几乎所有的文件,通常情况下往往由于数据意外丢失寻求恢复帮助,但是做为双刃剑,同样也会被不法分子所利用,尤其是我国各级敏感部门以及商业区域的重要信息,因此必须使用该系统进行剩余信息进行彻底销毁!
我们要理彻底清除的数据,首先要搞清楚磁盘如何保存数据。硬盘驱动器里面有一组盘片,数据就保存在盘片的磁道(Track)上,磁道在盘片上呈同心圆分布,读/写磁头在盘片的表面移动访问硬盘的各个区域,因此文件可以随机地分布到磁盘的各个位置,同一文件的各个部分不一定要顺序存放。 存放在磁盘上的数据以簇为分配单位,簇的大小因操作系统和逻辑卷大小的不同而不同。如果一个硬盘的簇大小是4K,那么保存1K的文件也要占用4K的磁盘空间。大的文件可能占用多达数千、数万的簇,分散到整个磁盘上,操作系统的文件子系统负责各个部分的组织和管理。 当前,Windows支持的硬盘文件系统共有三种。第一种是FAT,即所谓的文件分配表(File Allocation Table),它是最古老的文件系统,从DOS时代开始就已经有了。Windows 95引入了第二种文件系统,即FAT32,Windows NT 4.0则引入了第三种文件系统NTFS。目前的windowsXP以及Windows2003也都支持NTFS格式,由于其安全性设计是目前应用比较多得一种格式,这三种文件系统的基本原理都一样,都用一个类似目录的结构来组织文件,目录结构包含一个指向文件首簇的指针,首簇的FAT入口又包含一个指向下一簇地址的指针,依此类推,直至出现文件的结束标记为止。在Windows中,如果我们用常规的办法删除一个文件,文件本身并未被真正清除。例如,如果我们在Windows资源管理器中删除一个文件,Windows会把文件放入回收站,即使我们清空了回收站(或者不启动回收站功能),操作系统也不会真正清除文件的数据。Windows所谓的删除实际上只是把文件名称的第一个字母改成一个特殊字符,然后把该文件占用的簇标记为空闲状态,但文件包含的数据仍在磁盘上,下次将新的文件保存到磁盘时,这些簇可能被新的文件使用,从而覆盖原来的数据。因此,只要不保存新的文件,被删除文件的数据实际上仍旧完整无缺地保存在磁盘上。这样就给数据带来一定的安全隐患,若保密数据没有得到及时清除,剩余在磁盘中的信息将被不法分子通过特殊渠道获取将对应用数据存在较大威胁。调查表明,98%以上计算机用户对此技术没有太多接触。
如果数据已经覆盖,用通常的恢复工具就无能为力了,但这并不意味着我们绝对不能挽救丢失的数据。读取硬盘上被覆盖的数据通常有两种办法。读/写磁头向磁盘写入数据时,它会将磁化数据位的信号调整到某个适当的强度,但信号不是越强越好,不应超出一定的界限,以免影响相邻的数据位。由于信号强度不足以使存储媒介达到饱和的磁化状态,所以实际记录在媒介上的信号受到以前保存在同一位置的信号的影响,例如,如果原来记录的数据位是0,现在被一个1覆盖,那么实际记录在磁盘媒介上的信号强度肯定不如原来数据位是1的强度。专用的硬件设备能够精确地检测出信号强度的实际值,将这个值减去当前数据位的标准强度,就得到了被覆盖数据的副本。理论上,这个过程可以向前递推七次,所以如果要彻底清除文件,必须反复覆盖数据七次以上,每次都用随机生成的数据覆盖。通常而言,能够恢复已删除、覆盖的数据应该算是一件好事,当然,某些必须彻底清除数据的场合除外。这方面最为著名的标准是美国国防部订立的磁盘清洗规范,它要求数据必须覆盖三次:第一次用一个8位的字符覆盖,第二次用该字符的补码(0和1全反转的字符)覆盖,最后用一个随机字符覆盖。不过这个清洗方法不适用于包含高度机密信息的媒介,这类媒介必须进行消磁处理,或者销毁其物理载体。当然,对于大多数场合来说,简单的覆盖处理已经足够。删除和覆盖文件还不能清除硬盘上的所有敏感数据,因为数据可能隐藏在某些意料之外的地方,所以文件占用的每一个扇区都必须彻底清除所谓扇区,就是大小为512字节的数据片断,每个簇包含多个扇区。向磁盘写入文件时,文件的最后一部分通常不会恰好填满最后一个扇区,这时操作系统就会随机地提取一些内存数据来填充空余区域。从内存获取的数据称为RAM Slack(内存渣滓),它可能是计算机启动之后创建、访问、修改的任何数据。另外,最后一个簇中没有用到的扇区就原封不动,即保留原来的数据,称为 Drive Slack(磁盘渣滓)。问题在于许多号称安全删除文件的工具不会正确清除内存渣滓和磁盘渣滓,而这些被称为渣滓的地方却可能包含大量的敏感信息。在NTFS文件系统中,每个文件包含多个流,其中一个流用来保存访问权限之类的信息,另一个流用来保存真正的文件数据。除此之外,NTFS还允许额外的数据流,即ADS(Alternative Data Stream),ADS可以用来保存任何信息,最常见的用途是保存图形文件的缩略图。由于许多安全删除文件的工具不能清除ADS,所以即使存放文件实际数据的流已经清除,但缩略图仍可能泄露机密。第二种数据恢复技术的依据是,磁头每次读/写数据时,不可能绝对精确地定位在同一个点上,写入新数据的位置不会刚好覆盖在原来的数据上。原有数据总是会留下一些痕迹,利用专用的设备可以分析出原有数据的副本--称为影子数据。当然,如果我们反复执行覆盖操作,原有数据的痕迹也会越来越弱,能够完全恢复的几率几乎为零。
完善的数据销毁算法,确保文件相关信息彻底销毁:根据不同的分区格式进行采用不同的数据销毁处理算法。对文件在磁盘上所有存放位置进行一一清除,确保文件不会在磁盘上留下任何痕迹。