新型的网络痕迹深度恢复算法

来源 :软件 | 被引量 : 0次 | 上传用户:ywqiang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:计算机使用痕迹,蕴含计算机使用者的操作记录甚至犯罪证据,提取、恢复这些数据是计算机调查取证过程的重要环节。本文对通过对Windows 平台文件系统的分析,提出了一种基于最小内容特征的网络痕迹恢复算法,用于恢复提取计算机用户的上网记录。算法对磁盘或分区进行细粒度深度扫描,根据index.dat文件最小单位内容的特征决定如何匹配并提取网络痕迹信息。实验结果表明,不管经过删除文件、快速格式化分区、重新分区还是重装系统等破坏操作,该算法依然能够恢复所有残留的网络痕迹数据,可在计算机信息取证领域发挥巨大作用。
  关键字:数据安全;网络痕迹恢复;最小内容特征;计算机取证;index.dat
  中图分类号:TP309.3 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.019
  本文著录格式:[1]封令宇,杨榆.新型的网络痕迹深度恢复算法[J].软件,2013,34(8): 58-62
  0 引言
  信息化给人类来带来了种种便利,无形之中也为不法分子利用计算机与网络等工具进行违法犯罪活动创造了条件,从中找到有力的证据是打击计算机犯罪的必然要求。1991年,在美国召开的国际计算机专家会议上首次提出了计算机取证(Computer Forensics)的概念,即运用计算机辨析技术,对计算机违法犯罪行为进行分析以确认罪犯及计算机证据,并据此提起诉讼。作为计算机取证最重要的环节之一,本文关注的静态取证是在事后对存储介质中存留的数据进行提取、分析、确认,并解析成有效证据的过程[1][2]。
  用户使用计算机的过程中,系统会自动记录用户使用的痕迹,比如访问网络的历史记录 [3]。而一些误操作,或者不法分子掩盖犯罪事实的行为,会使得计算机中的痕迹数据丢失。因此,数据恢复,即恢复已被清除的数据,是对静态取证工作的有力补充。
  传统数据恢复技术注重在文件系统层面对文件记录等数据结构进行检测恢复。例如业内流行的数据恢复产品Easy Recovery、Final Data、D-Recovery。这类产品普遍都有难以抵御文件系统损坏的缺陷。同时,它们还缺少对取证领域敏感数据恢复的功能。
  为弥补这些不足,本文提出了一种在Windows操作系统下,对用户网络痕迹的深度恢复算法。它基于index.dat文件最小内容特征的数据恢复思想[4],使其在计算机遭遇磁盘格式化等破坏文件系统的操作后,依然能恢复所有残留的网络痕迹。通过实验对比分析,本算法具有良好的性能,在扫描速率和数据恢复成功率上较现在有类似功能的产品具有一定的优势。
  1.相关技术介绍
  1.1 网络痕迹文件
  在Windows操作系统中有多个隐藏文件index.dat,存储着大部分网络浏览记录以及本地浏览记录,例如通过浏览器或其他应用程序访问过的URL地址、访问时间等信息。实际上它是一个保存了Cookies历史记录和IE临时文件中记录内容的副本,即使在IE中清除了历史记录,index.dat 文件中的记录依然存在。index.dat文件的这些特点,给计算机取证提供了很大的帮助。下表是各版本Windows操作系统中index.dat文件的分布情况:[5]
  通过定位并按其结构解析index.dat文件,就能成功提取计算机网络痕迹。反过来,只要将index.dat文件彻底清除,就能阻止对网络痕迹的获取。更极端的方法是格式化等操作,这样所有旧index.dat文件将全部丢失不可见。
  1.2 文件系统与传统数据恢复
  想要找回index.dat文件,只能通过数据恢复技术。数据恢复,是对一切计算机相关存储设备中丢失的数据进行恢复[6]。而恢复,指的是对操作系统中未被覆盖擦除但是又不可见的目标数据进行提取,使之可见。文件是数据的封装器,操作系统使用文件系统来管理文件,只要摸清了文件系统的管理机制,就能够成功恢复数据。
  主流的FAT32[7]和NTFS7文件系统,都是通过复杂数据结构来管理数据,如FAT32下记载文件入口的文件目录项与决定文件链式存储情况的文件分配表、NTFS中包含了数据属性的文件记录。当接收到文件删除命令时,文件系统出于对性能的考虑,并没有将文件的内容全部清除,而仅在文件控制结构上进行了简单的标记[8],标志文件已被删除,文件占据的区域可被重新使用,此时文件的数据完好无损。因此,在文件控制结构以及数据没有被覆盖的情况下,文件恢复的成功率与准确度为百分之百。这样,传统数据恢复技术,一般通过对文件控制结构的提取判定,再从中按照文件系统规则提取文件内容,达到数据恢复的目的。
  传统的在文件项、文件记录等层次上的数据恢复技术有其局限性。这类技术注重恢复整个文件,而在文件系统损坏、数据被覆盖的情况下文件恢复可能不彻底,数据不准确。使用传统数据恢复技术,通过恢复index.dat文件来恢复网络痕迹的方法,会极大影响网络痕迹信息取证的可靠性与准确性。
  2 基于最小内容特征的网络痕迹恢复算法
  2.1 基于最小内容特征的恢复思想
  不同类型的文件都有一套自身的数据组织方式,比如固定的内容开头部分、结尾部分。所以,“基于最小内容特征的网络痕迹恢复算法”(Algorithm of Minimum Content Feature)利用index.dat文件内容组织上的特征信息,在计算机磁盘中进行匹配提取解析,达到恢复网络痕迹数据的目的。主要步骤如下:
  (1)确定网络痕迹信息就是来自index.dat文件后,对该文件内容结构进行分析,得出以结构体形式表示的文件内容;
  (2)从中分析并确立若干个能够直接标识单个网络痕迹记录的特征信息,像数据头、数据块、数据尾控制信息等;   (3)以确定的特征信息为模式串,对整个磁盘或者分区进行细粒度深度(以扇区等为单位)字节流匹配搜索。在匹配处按需直接提取数据,并解析为计算机取证需要的网络痕迹记录。
  算法中的特征是指独有的特点,直接标识网络痕迹的特征能将其与无关数据区别开来,并能够就近直接提取目标数据。而最小特征,指的就能够标识单个网络痕迹记录的特征。AMCF算法将分析对象缩小为单个网络痕迹记录,避开了传统数据恢复技术基于文件系统层面而产生的缺陷,同时降低了数据恢复层次与结构的复杂度。通过对最小单位的细粒度匹配,使得计算机上残留的所有网络痕迹信息都能被精确检测到,也提高了数据被完全恢复的可能性。格式化操作以及操作系统的页面文件等存储技术,会导致数据在磁盘中的大量的复制与扩散,甚至成为无法管理的野数据。而采用细粒度深度扫描思想的AMCF算法无视这些变化,细粒度化看待数据量越大、越分散、越不可见,数据被覆盖清除的可能性就越小,反而使算法能够搜集更多网络痕迹,更有利于网络痕迹信息取证。
  2.2 基于最小内容特征的网络痕迹恢复过程
  2.2.1 Index.dat文件结构分析
  根据AMCF算法思想,首先需要分析index.dat文件数据格式。index.dat 文件分为三部分:数据头、HASH表、活动记录[5]。下面来具体分析一下各个部分。
  index.dat文件的数据头部包含关于文件的属性等十分重要的信息,例如文件格式版本、文件大小、第一个HASH表的偏移地址,并以NULL(0x00)字符结尾。具体如表2所示:
  HASH表包含指向有具体上网记录偏移地址的指针,可以用来找到index.dat文件内部有效的活动记录地址。其结构如表3所示:
  从活动记录可以获取记录类型、记录长度、记录数据三方面信息。记录类型有URL、LEAK、REDR、GLIST四种。下面对不同的数据类型进行解析:
  (1) URL条目
  URL条目正是用户访问过的单个网络地址的记录,活动记录将包含记录长度,最后访问和修改时间、访问次数等数据。其中,时间都是64位FILETIME格式的数据,表示从1601年1月1日开始的以100纳秒为单位的间隔。这是一个UTC标准时间,处理时需要将其转化为本地时间。具体数据结构如表4所示:
  例:从图1可以看出,该条URL条目的长度是0x02 * 0x80 = 0x100字节。从该记录开始的0x34地址处可以读出在0x68处可以找到URL字符串的开始地址,URL串以0x00结束,用同样的办法可以得到文件名的开始地址。在0x08和0x10处分别记录着该URL条目的最后修改时间和最后访问时间。
  (2) LEAK条目
  LEAK记录的结构与URL记录结构基本一致,对LEAK记录的解析也与URL记录完全一样。不同的是,URL记录的偏移地址在HASH表中可以获取,LEAK记录的偏移地址在HASH表中却是无法获取的,并且计算机中LEAK记录的数量极少。
  (3) REDR记录
  REDR是英文单词redirect的简写,REDR记录的偏移地址在HASH表里面也是没有记录的,REDR中也不存在直接与上网记录有关的信息。
  (4) GLIST
  GLIST记录也非常简短,同样不存在直接与上网记录有关的信息。
  index.dat文件内容结构分析完毕后,应该找出其特征。通过结构分析可看出,index.dat文件的数据内容部分采用了结构化存储技术,相当于一个“数据库”,有自己的存储系统。根据最小内容特征的思想,应抛弃具有控制功能的数据头部与HASH表部分,转而关注直接包含网络痕迹信息的URL条目和LEAK条目。以占绝大多数的URL条目记录为例,所有URL条目有相同的小端序格式头: “55 52 4C 20”(即“URL ”)。
  光有以上信息还不够,因为计算机出现“URL ”的地方可能非常多,大都不包含有用信息,我们还需要更加鲜明的特征。注意到,URL条目以固定标识串开头后,接下来四个字节便表示条目长度(以128字节为单位)。通过分析与实际取样发现,URL条目长度非常短小,最大不会超过2KB,多集中于256、384、512字节。这样便可以用小端序的十六进制串“? 00 00 00”来表示这四个字节,其中‘?’表示从0x01到0xFF之间的任意无符号数字。该串能表示条目的长度范围是128字节到32640字节,使用它来表示任意URL条目的长度再合适不过:范围最小,却又能够涵盖所有的条目的长度。
  综合上述分析,能得出结论,单个网络痕迹记录在磁盘中的最小内容特征便是以十六进制串“55 52 4C 20 ? 00 00 00 00”开头。其中前四字节表示字符串“URL ”,后四字节表示URL条目的长度。这个二进制串足够特殊,可以鲜明地代表一个条目记录,能过滤掉绝大多数无用数据。
  2.2.3 细粒度深度扫描
  最后一步便是以特征信息为模式串,在磁盘中进行匹配,在匹配处按照URL条目的实际大小相应地提取整个URL条目的数据,并解析为取证所用的网络痕迹记录。这里需要采用细粒度的深度扫描思想。细粒度指以标识目标最小单位的内容特征为模式串,深度指以扇区或簇为基本单位,对整个分区或磁盘从头到尾地扫描。采用深度扫描思想的原因上文也提到过,就是能将本系统自身的、系统扩散的、以及格式化若干次之前、重装系统若干次之前、重分区若干次之前等情况下的上网痕迹全部提取出来。
  深度扫描的字节流匹配算法也需要特殊定制。不同于一般的字符串搜索算法,这里将其改进为支持通配符的字节流匹配算法,即允许模式串中存在某个约定的通配符,使得可能出现的这种符号允许与任意1字节无符号数字匹配,这样极大地提升了匹配速度与效率。   3 实验及结果分析
  目前在行业内,只有少数产品具有网络痕迹检查功能。为验证AMCF算法的性能,这里实现了该算法,能够对网络痕迹中访问URL、最后修改时间、最后访问时间信息的提取。并与一款具有类似功能的《敏感信息检查工具》一起进行了同步测试,环境如下:
  1) 操作系统:Microsoft Windows 7 Ultimate Edition(build 7600), 32-bit;
  2) CPU:Intel? Core?2 CPU 6300 @ 1.86GHz;
  3) 内存:3072MB DDR2;
  4) 分区:盘符C:\ 总大小:30002MB 剩余:16310MB。
  测试机操作系统刚被重新安装,其系统盘C盘大小为30GB。测试以C盘分区作为实验对象,同时打开“敏感信息检查工具”与本文设计的“保密检查工具”,按先后顺序分别进行一次上网记录深度扫描,所得结果如图2、图3所示:
  测试关注扫描消耗时间、扫描记录总数量、扫描有效结果数量及其所占比例、重复记录数量这几个指标。其中,扫描有效结果指有一定信息量的记录,而空字符串、全乱码串、非URL字符串等被视为无效记录。重复记录指一条记录的URL串与之前扫描出的记录相同,即两条记录有相同信息。显然扫描耗时越短、有效结果数量越多、有效记录比例越大、重复记录越少,算法的性能与实用性就越强。
  可以看到,敏感信息检查工具耗时14分54秒,扫描到1662条不重复的上网记录,其中有一条上网记录的URL网址为没有含义的字符串;而保密检查工具则耗时8分24秒,扫描到1882条不重复的上网记录,其中有24条记录的URL为空字符串或无意义的字符串。这里将测试结果总结为下表。
  相比较专业的检测工具,本文AMCF算法实现的工具还是有其优势。首先采用了改进的带通配符字节流匹配算法使其扫描速度极快,而且在同样没有重复结果的情况下,采用了细粒度深度扫描思想的AMCF算法扫描出的有效结果数量非常全面,遗漏信息少。然而,本算法结果有效率虽然也是极高的,但依然出现了少量垃圾记录,对取证过程有一定干扰。总体而言,本文提出的算法能够给用户挽回更多损失,也能在计算机敏感信息取证领域给有关方面更多更好的帮助。
  4 结束语
  在计算机取证过程中,挖掘尽可能丰富的用户信息是十分重要的。借助对index.dat文件内容结构与特性的分析,可以相应地提取上网记录。面对意外或人为破坏情况下的上网痕迹提取问题,在总结传统数据恢复技术的基础上,本文提出了基于最小内容特征的网络痕迹恢复算法。除当前系统可见的网络痕迹数据外,本算法还能够恢复遭遇删除、磁盘格式化、重新分区等恶劣操作的网络痕迹信息。实验结果也表明,在保证极高结果有效率的情况下,本算法扫描速度、扫描全面程度等性能均很优秀,具备可观的实用价值。
  同时,该算法也有其局限性。算法仅适用于特殊目的:恢复网络痕迹信息这样的具有明显特征的数据。算法关注层面较文件系统更加底层,因此无法恢复一类文件,只能恢复一类数据。算法也存在待改进之处。例如本算法采用深度扫描原理,耗时依然较长,可以抛弃字节流匹配算法,转而根据特征内容在磁盘中的偏移位置来匹配:绝大部分URL条目的扇区偏移量为16整数倍。而算法仅仅支持对网络痕迹的恢复,但基于文件内容的特性使该算法理论上适用于所有类型的文件,比如注册表、日志、图片缓存等文件。本文下一步目标就是利用AMCF算法的思想恢复更多类型的敏感数据,在计算机信息取证领域发挥更大的作用。
  参考文献
  [1] 谭敏,胡晓龙,杨卫平. 计算机取证概述[J]. 网络安全技术与应用,2006,12:75-77.
  TAN M, HU X L, YANG W P. Summary of Computer Forensics[J]. Network Security Technology & Application,2006,12:75-77. (in Chinese)
  [2] 黄步根. 数据恢复与计算机取证[J]. 计算机安全,2006,6:79-80.
  HUANG B G. Data recovery and Computer Forensics[J]. NetWork & Computer Security,2006,6:79-80. (in Chinese)
  [3] 魏豪. 基于数据恢复的信息获取技术的研究[D]. 郑州:解放军信息工程大学,2007.
  WEI H. Research on Information Acquisition Technology based on Data Recovery[D]. Zheng Zhou:The PLA Information Engineering University,2007. (in Chinese)
  [4] 李贵华, 荣世辉, 王刚. 计算机取证中基于文件特征的数据恢复算法技术研究[J]. 计算机安全,2013,3:41-45.
  LI G H, RONG S H, WANG G. Research on Technology of Recovery Algorithm based on File Feature in
  Computer Forensics[J]. NetWork & Computer Security,2013,3:41-45. (in Chinese)
  [5] 吴清, 吴顺祥. index.dat文件结构解析[J]. 现代计算机. 2008,297:4-7.
  WU Q, WU S X. Analysis of index.dat File Structure[J]. Modern Computer,2008,297:4-7. (in Chinese)
  [6] 戴士剑. 数据恢复技术与方法探析[J]. 信息网络安全,2009,6::7-9.DAI S J.
  [7] 刘伟. 数据恢复技术深度揭秘[M]. 北京:电子工业出版社,2010.
  LIU W. The Deep Secret on Data Recovery Vehicle[M]. Beijing:Publishing House of Electronics Industry,2010. (in Chinese)
  [8] CARVEY H. Windows Forensic Analysis Toolkit 3rd Edition[M]. USA:Elsevier,2012.
其他文献
摘 要:在新一轮基础教育课程改革的大背景下,改变传统的“一言堂”大势所趋。本文主要从激发学习兴趣,创造参与机会,精心设计作业三方面展开论述,阐明如何让学生在英语课堂中“动”起来,引导学生自主学习,提高教学效率。  关键词:新课程改革 兴趣 机会 作业 想“动” 好“动” 乐“动”  中图分类号:G633.3文献标识码:A文章编号:1673-9795(2011)06(c)-0034-01  传统的英
在决策过程中,专家给出的判断矩阵包含的评价元素可能不一致,因此,在对专家意见进行集结时,应该根据元素的一致性程度赋予其不同的集结权重.利用二元语义判断矩阵的加性一致
摘 要: 兴趣在中学地理学习中尤为重要,是学生学好地理的动力源泉。如何培养学生的学习兴趣是中学地理教学的关键。实践表明,教师在日常教学中充分应用已有的课程资源,充分利用现代教学手段及幽默风趣的语言,让地理课堂回归生活等,都是培养学生学习兴趣有效途径。  关键词: 中学地理 学习 兴趣培养  随着新课程改革的进行,关于中学地理教学的论文近些年已有很多,但是这些文章大多把注意力放在如何利用好新教材,如
教师们肯不肯放下知识分子高深莫测的架子,能不能放低求学的门槛,会不会善良的持之以恒的不急不躁的面对那些在好与坏的边缘徘徊,在美好人生的门外茫然无助的学困生是我们目前丞
本文简要介绍了3DS MAX SCRIPT面向对象脚本语言的主要功能,如脚本语言的编辑器和监听器,UI界面,数据的I/O接口,及数学函数。并且描述了SCRIPT语言在三维模拟井眼轨迹方面的应用实例,实例主要以解决实际问题为导向,并结合3DMAX软件的脚本语言,根据杏6-2-丙503井和芳104-92井测量得到的深度、斜度、方位,以这三项作为数据输入,通过数学函数转换为计算机可识别的节点,并且用连线
任何一种训练都必须遵循一定的原则,跆拳道身体素质训练要遵循自觉积极、全面发展、从实际出发、合理安排运动负荷的原则,要求运动员训练时一定要合理、科学、适量的进行。
针对一类含有未知输入和非线性摄动的状态时滞系统,采用基于自适应观测器的故障诊断系统的设计方法,以线性矩阵不等式的形式给出此问题解的存在条件及求解算法,并论证了系统的鲁
教师学习生态圈是在网络学习生态系统的大的背景下提出来的,是教师网络教研的一种较好方式。本文主要介绍了教师学习生态圈的概念,重点阐述了教师学习生态圈的构建,最后笔者
图书馆工作是高校育人工作的重要组成部分,不仅为师生提供了丰富的馆藏资源,而且为丰富学生的第二课堂作出了重要的贡献,促进了大学生行为习惯和品德的形成。为了更好地发挥图书
随着信息化的发展,档案信息系统面临着网络安全的威胁,构建基于风险评估的档案信息系统符合国家信息安全保障的政策和要求。本文提出一种档案信息风险评估方法,使用故障树分析法