计算机犯罪取证概述
邹君 内容摘要:随着信息技术的发展,利用计算机系统作为犯罪的工具或目标的案件在司法实践中已经越来越多,因此电子证据(electronic
evidence)也将成为越来越重要的呈堂证供。但对于这类证据的取得,即计算机犯罪取证(computer
forensics)却是司法人员要面对的一大难题。本文从技术的角度对计算机犯罪取证作一概述。 关键词:计算机犯罪,电子证据,计算机犯罪取证
Computer
Forensics Introduction Zou Jun Abstract:With
the development of information technologies, the criminal cases whose tool
or goal is computer system are increasing in law practice, so electronic
evidence is becoming a more and more important legal evidence. But acquiring
this kind of evidence, that is compute r forensics, is a big problem to
juridical practitioners. This paper briefly described the definition, main
principles and common steps of computer forensics, as well as the related
techniques and tools. Keywords:Computer
Forensics,electronic evidence,computer crime 引言 这个世界从来都是道消魔长的世界,当计算机系统给人们带来越来越多便利的同时,它也成为犯罪分子手中的“利器”:恐怖分子用它联络行动计划、聪明的骗子用它诈骗钱财、反动分子用它传递反动材料……我院受理的王某某利用国际互联网传播“法轮功”邪教材料一案中,犯罪嫌疑人就利用国际互联网大肆传播“法轮功”邪教材料、与“功友”交流所谓的心得体会。在这类案件中,或多或少会牵涉到计算机犯罪取证的问题,如果我们不能通过法律和技术的手段获得有力的证据,犯罪分子就会逃避或少受惩罚。我院受理的周**贩卖假证件案中,办案人员在犯罪嫌疑人家里查获一台计算机,并怀疑嫌疑人周**有制作假证件的嫌疑,但是因为没有相关的技术和工具,最后只能以贩卖一罪提起公诉。现在如何进行计算机犯罪取证成为了司法界和IT界共同关心的话题,国内已有公安部和中国科学院高能物理研究所国家计算机网络入侵防范中心在进行这方面的探索,目前我正在中国科学院高能物理研究所学习,跟随国家计算机网络入侵防范中心首席科学家许榕生先生从事计算机犯罪取证的研究。在这篇文章里我不讨论电子证据是作为与传统证据同等重要的所谓的第七类证据还是作为传统证据的补充,而只是从技术的角度讨论计算机犯罪取证的概念、原理、步骤与相关技术和工具。 什么是计算机犯罪取证 要解释什么是计算机犯罪取证,首先要解释一下什么是电子证据。电子证据是指存在于作为犯罪的工具或目标的计算机及网络设备中与案件有关的电子数据。这些数据可能存在于正在运行的计算机或网络设备的内存中,如正在运行的程序或进程、网络状态等,这类信息有一个共同的特点,即它们可能随时消失,关机或重启后这些信息将不复存在、运行一个命令或程序可能会覆盖掉原有的信息,如运行“ps”将会覆盖内存的一部分、Shell将会重写历史文件、可能会影响文件访问时间、程序里很可能会有特洛伊木马(例如gcore)!对这类证据我们称之为易灭失的证据,这是我们首先要收集的证据;更多的证据可能存在于计算机的硬盘和备份介质(如磁带)中,对这类证据我们称之为相对稳定的证据,这些证据有普通文件、隐含文件、临时文件、日志文件、注册表、交换文件或页面文件、安装程序的残留物、浏览器的历史和收藏夹、Cookies、电子邮件残余物、松散的簇、被删除的文件、垃圾箱等。计算机犯罪取证就是利用软件和工具,从这些计算机或外围设备中提取与案件有关的数据[1]。 在利用计算机系统的犯罪案件中,其基本结构如下:
当然并不是所有的计算机犯罪案件都有如上图所示完备的工具机、目标机、网络设备,有些案件可能只有工具机,如前面提到的我院受理的犯罪嫌疑人周**贩假案,如果周**存在制假的事实,在这个案件中也只有工具机。但在一般的犯罪案件中,以上三个系统都是完备的。
计算机犯罪取证的原理 套用一句话,“再狡猾的狐狸也斗不过老练的猎人”,在任何犯罪案件中,犯罪分子或多或少会留下蛛丝马迹,前面所说的电子证据就是这些高科技犯罪分子留下的蛛丝马迹。 这些电子证据的物理存在构成了我们取证的物质基础,但是如果不把它提炼出来,它只是一堆无意义的数据。我们研究计算机犯罪取证就是将这些看似无意义的数据变成与犯罪分子斗争的利器。那么其技术原理是什么呢? 对于正常的文件,也就是没有被破坏或反取证工具“加工”过的文件,如普通文件、临时文件、日志文件、注册表、交换文件或页面文件、浏览器的历史和收藏夹、Cookies、隐含文件、安装程序的残留物等,这可以说是“可见”的文件,对这类文件,可以直接打开,进行检查,以期发现证据,当然,对这类检查,我们需要开发专门的工具,如将日志文件倒入数据库,然后进行模式匹配和关键字搜索等。在上述周**贩假案件中,我们打开他的计算机,进行简单的搜索,如果能发现制假的软件和部分“制成品”,我们有理由认为他有制假犯罪事实。 但是更多的证据可能是“不可见”的,也就是说它可能被破坏了,如被修改、删除、隐藏、加密等,对这类证据我们首先要将其尽量恢复为原样,然后进行分析检查,这主要包括数据恢复、解密等技术,这是计算机犯罪取证研究的重点,也是基础。这里我以常见的Win9x系统为例来说明,看看文件删除和恢复的原理。
图1 文件系统布局图
Windows文件删除分为逻辑删除与物理删除两种。逻辑删除也就是我们熟悉的将文件删除到回收站,它只是在系统的文件分配表FAT中被删除文件目录条目的相关字节中作上删除标记,并未将文件从硬盘上彻底除去,所以一旦我们再需要它,就可以“还原”它;而物理删除则不同,它相当于“清空回收站”,文件的目录条目被破坏,当然有关文件的内容数据在被别的内容覆盖之前并未真正失去。虽然这样,Windows自身还是无法恢复文件的,这时就需要特别的工具了。我们以下面的图例[2]来进行更细致的说明:
图2 FAT系统目录条目的结构
图3 文件保存实例
图4 文件被物理删除后图例 从图1我们可以看出启动扇区、FAT文件分配表、数据区域分布在硬盘的不同区域。 图2表示在Windows系统中一个文件目录条目的基本结构。 图3是文件分配表实例,示例中有两个文件,我们分别称它为文件1和文件2,文件1从簇2开始,占据2、3、4、5簇;文件2从簇7开始,占据7、8、9簇。每个文件的最后一个簇有文件结束标记。 图4表示文件1被物理删除后的状态。 当文件1被物理删除时,操作系统仅将文件1目录条目(图2)中文件名的第一个字符替换为删除标记“E5”,从而使操作系统无法识别该文件。磁盘中的文件数据仍然存放在原来的地方,即2、3、4、5簇,但这4个簇都被标记为未分配,可以让别的文件覆盖。由于文件1被删除后仍保存有比较完整的属性,那么只要数据区域没有遭到覆盖,我们就可以将它部分乃至全部恢复出来,同时还能保持文件系统的树状结构。当然如果文件1的数据区域被新的数据所覆盖,或文件1不是保存在连续的簇,我们就只能恢复文件1的一部分甚至无法进行任何恢复。这时我们就需要另外的技术,如读取disk
slack数据或RAW扫描,这样获得的数据是不完整的,但对于计算机取证来说,还是非常有意义。 以上只简单说明了计算机犯罪取证中文件恢复的技术原理,实际上,计算机犯罪取证通常是一个十分枯燥、耗时的过程,而且可能最终一无所获。
计算机犯罪取证的步骤 在美国,对于计算机犯罪取证的步骤,有下面一个通用框架: 1.Seizure
Process[3]:获得可能包含证据的物理介质,如查封可能用来作案的计算机; 2.bit
copy Process:硬拷贝,为了不破坏证据,是不允许对原始证据进行检查分析的,通常是对原始证据进行位拷贝,再对拷贝进行操作; 3.Examination
Process:检查分析,这一过程是一个核心过程,包括我们所说的所有的数据恢复、解密、分析检索等过程; 4.Reporting
Process:提交取证结果书面报告; 5.Archiving
Process:存档; 6.Deposition
& testimony Process:示证。
计算机犯罪取证的技术和相关工具 我们在这里所说的取证技术是指事后取证技术,即在案件发生后进行取证,不包括在案发前进行的取证准备。对于事前取证,中科院高能所国家计算机网络入侵防范中心在取证工程第一期所研发的网络取证黑匣子1.0版是国内第一款也是目前唯一一款商业化产品,它在案发前对系统进行入侵监控,记录入侵者的相关资料,一旦案发后,可以作为证据提交,这类似于在银行安装摄像头,记录发生的所有行为,一旦有案件发生,可以从中提取线索和证据。 事后取证技术包括从原始介质中的数据获取技术和数据分析技术。 数据获取包括从内存里获取易灭失数据和从硬盘获取等相对稳定数据。其获取顺序为先内存后硬盘。案件发生后,立即对目标机和网络设备进行内存检查并做好记录,根据所用操作系统的不同可以使用的内存检查命令和工具有:UNIX系统命令sh、ls、find、tar(cpio)、ps、netstat、ifconfig、cat、less(more)、grep、lsmod命令;TheCorner’stoolkit的lazarus、lsof、script、chkwtmp、chkact、chklast等;NT系统GNU文件工具、Foundstone取证工具、filemon、netmon、dumpevt、dumpreg、dumpacl等。对内存里易灭失数据获取的任何命令和工具都存在覆盖掉另外数据的危险。在对内存数据获取时,力求不要对硬盘进行任何读写操作,以免影响其中的数据特性。 一旦记录完易灭失的证据后,马上关机,将硬盘摘下挂到另外的机器上,利用专门的工具对其进行逐扇区的读取。绝对不要在原有机器上对硬盘进行任何操作!以后的分析将在专门机器上对原始硬盘的镜像文件进行分析。 当确定进攻源之后,如果可能可以采取强制措施立即对进攻机和网络设备(包括ISP和电信服务商的设备)进行数据获取,其获取顺序和方法同目标机一样。 在已经获取的数据流或信息流中寻找、匹配关键词或关键短语是目前的主要数据分析技术,具体包括:文件属性分析;文件的数字摘要分析;日志分析;根据已经获得的文件或数据的用词、语法和写作(编程)风格,推断出其可能的作者的技术;如何发掘同一事件的不同证据间的联系;数据解密技术,密码破译技术,对电子介质中的被保护信息的强行访问技术等。 对不易灭失证据的获取和分析,国内目前还没有成熟的产品,这里主要介绍操作系统中已经存在的一些命令行工具和国外的一些专用软件和工具包。主要有tcpdump、Argus、NFR、tcpwrapper、sniffers、nstat、tripwire命令和小工具,DOS命令如diskcopy(使用/v选项),UNIX命令如dd、md5sum、lsof、grep等都是常用的取证工具。甚至有人认为计算机犯罪取证实际上是系统管理和网络管理的延伸。 美国计算机犯罪取证先驱,SATAN[4]的作者Dan
Farmer和Wietse Venema,编写了一个开放源代码软件――Coroners工具包,它是能够帮助对计算机犯罪进行取证检查的一些工具软件的集合。它的最初设计平台是UNIX系统,但也能对非UNIX的磁盘、介质做有限的数据获取和分析。是目前应用较广泛的免费计算机取证工具包,它包括下列工具: l
grave-robber:以数据的易变性为序搜集数据供以后的取证分析工具(如mactime)使用,它搜集的数据包括进程和网络信息、磁盘文件信息等;
l
unrm:磁盘数据恢复工具,拷贝所有未分配的数据块到指定文件; l
lazarus:恢复已删除文件的工具; l
mactime:确定在一个特定的时间段内那些文件被访问或修改过; 除了这些免费的工具包,还有一些专门的商业软件: l
由New
Technologies[5]公司提供的磁盘搜索和安全备份工具软件: l
Encase[6]:商业软件,基于Windows平台,从数据发现到分析到生成报表的全面的解决方案; l
AccessData[7]:口令获取软件; l
其它软件,如ThumbsPlus[8],Snapback[9],Data-Sniffer
Toolkit[10],DriveSpy[11]等。
一场没有结局的战争 正如传统的犯罪案件一样,犯罪分子在作案前进行充分的策划和准备,作案后力求消除任何蛛丝马迹;利用计算机系统进行的犯罪更是一种高级的犯罪,犯罪分子不会坐以待毖,他们或利用手工方式更改、删除目标机的日志文件,清理自己的工具机,或利用反取证工具来破坏侦察人员的取证,这就要求我们在与这些高智商的犯罪分子斗争过程中,要技高一筹,将犯罪分子一一送上被告席。 [1] Robbins,
Judd. "An Explanation of Computer Forensics." URL:
http://www.computerforensics.net/forensics.htm [2] Brian Carrier, carrier@atstake.com,
“An Investigator's Guide to File System Internals” [3] http://www.guidancesoftware.com/html/index.html [4] TCT( The Coroners Toolkit ):http://www.porcupine.org/forensics [5] http://www.forensics-intl.com [6] Encase:http://www.guidancesoftware.com/html/index.html [7] http://www.accessdata.com/ [8]
http://www.cerious.com/ [9]
http://www.cdpi.com/ [10]
http://www.data-sniffer.com/ [11]
http://www.digitalintel.com
[关闭窗口] |