计算机安全取证之初识文件系统元数据记录

日期: 2008-07-08 作者:叶子 来源:TechTarget中国

  近几年计算机网络的高速发展,各个行业的业务都依懒于计算机的应用。从而导致各个行业涉及计算机、局域网、互联网的高科技犯罪、商业欺诈、白领犯罪等行为越来越多,因此有越来越多的咨询顾问公司、商业调查机构、会计师行、私人调查公司开始从事计算机取证服务。在国际上,军队、警察、海关、反贪、金融、税务、律师、保险等部门是电子证据的主要应用部门。计算机取证的应用已经成为一门专用的学科了。


  计算机取证与真实生活中的侦探工作很相似――当一个人被杀后,侦探会开始一系列的调查工作:首先,保护和隔离犯罪现场;然后,拍照并作记录;最后,开始调查并收集和整理所有能发现的证据。计算机取证分析的主要目的是尽可能真实地恢复出过去发生的事情。在取证过程中,案发的时间信息是非常关键的,可以在做出最后判断之前将各种可能得到的信息关联起来。在本篇文章中,叶子浅析计算机取证中的MACtimes概念及其罪犯可能利用相关的工具进行修改MACtimes信息的例子。


  什么是MACtimes?MACtimes是文件系统元数据记录,记录文件的最后创建、修改、访问的时间,分别称为“create time(ctime)”、“Modify time(mtime)”、“access time(atime)”。


  在MACtimes中的 Mtime指最后修改的时间; Atime指最后访问的时间; Ctime指最后状态改变的时间。MACtimes是数据侦察工具中最有价值的取证工具,利用它可以完成许多功能:研究网络或计算机被侵入的过程,理解系统的行为,提供保护系统的建议,跟踪用户的行为等。因此在案件发生后,对计算机进行相关的取证,除了及时收及一些易丢失的证据外,还可以利用MACtimes从运行着的系统中获取信息,也可以从硬盘中获取(通过mount挂上该硬盘)。读取数据的机器不需要和产生MACtimes数据的机器拥有相同的操作系统。Windows文件系统有4个时间属性:changetime、creationtime、lastaccesstime、lastwritetime,Linux还有dtime属性(删除文件的时间属性,仅存在Linux系统中)。


  mtime(modify time)反映的是文件数据最后被修改的时间,系统调用比如write、 trucate、 mknod 都会改变mtime。Mtime属性只能记录最后一次的文件内容修改的时间,之前的文件内容修改的时间则无法记录。一些木马程序通过动态库的形式注入到系统进程时,则会修改相关系统进程的Mtime时间属性。ctime(change time)反映的是文件的inode结构最后被改变的时间,文件在创建时产生的时间信息。atime(access time)反映的是文件数据最后被访问的时间。当系统调用&#101xecve、read、 mknode、utime、pipe等都会修改atime。如果直接访问文件查看atime的属性,则会是当前访问文件的时间属性。


  虽然MACtimes很有用,但它还是存在着一些问题:它只能记录文件的最后时间,因此不能了解文件或目录的历史行为。比如一个程序能够被执行1000次,而用MACtimes只能看到最后一次的记录。MACtimes中的三个时间很容易被修改,很多是在用户并不希望发生的情况下出现的,如一些误操作。另外MACtimes也是比较容易被伪造的,WinNT提供了用来修改ctimes的SetFileTime()命令等。


  为了最大限度地利用MACtimes,最好将MACtimes与其他信息收集方法结合起来,如:运行程序,进程统计,系统和程序的日志,内核审计和通常的审计等。


  在认识了计算机取证的MACtimes知识后,叶子举例说明在Windows平台上修改相关的MACtimes的信息内容。先从Metasploit网站上的Anti-Forensic项目中下载Timestomp工具,下载链接:http://www.metasploit.com/research/projects/antiforensics/。Timestomp工具是针对Windows系统的NTFS文件格式的时间戳的MAC times的修改。


  例如种植木马到系统的system32目录中,其文件FNTCHCHE.DAT的相关MAC times如下图所示,创建时间为2008年4月8日,修改时间为2008年5月20日。


FNTCHCHE.DAT的相关MAC times


图1


  由于文件产生的时间比较接近当前的时间,容易被有经验的管理人员发现,因此需要用到Timestomp工具进行修改时间,Timestomp运行如下图所示,timestomp工具可以修改文件最后写的时间,最后访问的时间,创建的时间等功能。


Timestomp运行


  图2


  使用命令“timestomp targetfile.txt –m“ Monday 12/15/2005 8:00:00 PM””的操作,修改最后修改的时间信息。如下图所示:


修改的时间信息


图3


  查看文件的修改时间属性,已被修改为2005年12月15日,如下图所示:


修改时间属性


图4


  再利用工具修改创建时间等操作,如下图所示:  


修改创建时间


图5


  修改后的文件时间属性中的创建时间和修改时间,如下图所示:


修改后的文件时间属性


图6


  文件的创建时间和修改时间已被修改,则会造成加大取证分析的难度。


  诚信网安的叶子在本篇文件中初步介绍了MACtimes的基本概念,以及在Window系统上利用timestomp工具修改MACtimes的属性。至于Linux系统及其它系统上对MACtimes属性的修改,则在以后的其它文章中进一步深入的分析介绍。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

叶子
叶子

相关推荐