某单位重要数据在一台WINDOWS操作系统的PC机上通过网络共享给公司员工使用。这台PC同时也连接着打印机提供打印服务,很多员工直接将文件拷贝到这台PC上进行打印。该PC机上只有一块500G磁盘。2、打开jpg文件提示:“windows照片查看器无法打开此图片,因为照片查看器不支持此文件格式,或者您没有照片查看器的最新更新”。3、打开doc文件提示:请选择使文档可读的编码,选择任何一个编码后文件都是错误的。5、打开xls文件提示:“您尝试打开的文件的格式与文件扩展名指定的格式不一致,打开文件前请验证文件没有损坏且来源可信”。6、打开xlsx文件提示:您无法打开文件,因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配。7、打开PDF文件提示:“打开文档时发生错误,文档已损坏且无法修复”。将硬盘接入到安全(不加载盘符,不自动写数据,保证完全只读)的操作环境中,发现文件系统底层正常,但数据区出现错误。以一个PDF文件为例,在工具中打开如下图:
一个正常的PDF文件,二进制结构一定是以0x46445025(即ASCII的“%PDF”)作为开头标志,而这个文件的开头却是以0x71736712开始。将两者进行比较,这显然是一种异或转换。通过计算,两者相差(异或)0x37。在本PDF文件的尾部同样发现了篡改。于是,在工具中选中文件所有内容,对选中块以0x37做字节异或(xor):
保存后打开,文件正常。接下来对其他文件做分析,发现篡改的算法均是全部文件对某个值xor,但此值不确定。按字节概率计算应该有256种可能,加上文件数量及类型众多,显然手动修正工作量太大。北亚企安数据恢复工程师分析其xor加数的生成规律。过程如下:1、推断是否与路径相关:在同一路径下打开不同的文件分析篡改的异或加数,发现不尽相同,排除。2、推断是否与文件名称相关:查找所有文件,按名称排序,找到相同文件名称但大小不同的文件,打开后分析篡改的异或加数,发现不相同,排除。3、推断是否与类型相关:找到同一类型的几个不同文件,分析篡改的异或加数,发现不相同,排除。4、推断是否与存储的物理位置相关:在工具中按不同文件起始位置进行分析篡改的异或加数,未发现相关性,排除。5、推断是否与文件头部相关:查找头部相同的文件(有同一文件的不同更新,头部是相同的),进行分析后也排除。6、推断尾部相关的可能性不大。如果后面分析仍无法得到规律,则需返回此项再做验证。7、推断是否与文件创建时间相关:分别查找相同创建时间、相同访问时间、相同最后一次访问时间的2个文件,进行分析,发现与此无关,排除。8、推断是否与大小相关:简单验证后,未举出反例推翻,但需要完全证明与大小相关,同时要得到算法,需要有足够多的样本。针对是否与大小相关的验证:通过命令方式打印所有文件的大小:find ./ xargs ls -ld 2/dev/nullawk {printf($5\t\t$9\n);} ../list.txt用excel打开此列表文件。
因篡改的异或加数只有一个字节。如果与大小相关,极有可能是和文件大小值的mod 256相对应,于是在excel中计算所有文件大小值的mod 256。
对相同mod 256的文件进行篡改验证,未发现不符合规律者。基本上可以确定篡改值与文件大小值的mod 256存在映射关系。对所有可能做抽样分析后,得到篡改异或加数的生成规律:
至此,得到篡改算法。硬盘数据恢复过程:1、基于前面得到的算法,北亚企安数据恢复工程师通过Visual Studio编写修复程序。2、使用程序对F分区中的数据进行修复。修复完成后随机抽检修复好的文件,无报错。为进一步确定恢复出来的数据是否正常,查找出所有JPG文件,显示缩略图,没有发现异常。
4、交由用户方进行检测,用户方让让各部门抽调员工对恢复出来的数据进行检测,没有发现问题。本次数据恢复工作完成。
地址:马鞍山经济技术开发区湖东南路555号众一创意街区4栋201-202
电话:15955552931
邮箱:admin@masydzp.com