目前,打击计算机犯罪的关键是如何将犯罪者留在计算机中的“痕迹”作为有效的诉讼证据提供给法庭,以便将犯罪者绳之以法。此过程涉及的技术便是目前人们研究与关注的计算机取证(Computer Forensics)技术,它是计算机领域和法学领域的一门交叉科学。计算机取证被用来解决大量的计算机犯罪和事故,包括网络入侵、盗用知识产权和E-mail欺骗等,它已成为所有公司和政府部门信息安全保证的基本工作。
Lee Garber在IEEE Security发表的文章中认为,计算机取证是分析硬盘驱动、光盘、软盘、Zip和Jazz磁盘、内存缓冲以及其它形式的储存介质以发现犯罪证据的过程。计算机取证资深专家Judd Robbins对此给出了如下的定义:计算机取证是将计算机调查和分析技术应用于对潜在的、有法律效力的证据的确定与获取。计算机紧急事件响应组和取证咨询公司New Technologies进一步扩展了该定义:计算机取证包括了对以磁介质编码信息方式存储的计算机证据的保护、确认、提取和归档。SANS公司则归结为:计算机取证是使用软件和工具,按照一些预先定义的程序,全面地检查计算机系统,以提取和保护有关计算机犯罪的证据。
因此,计算机取证是指对能够为法庭接受的、足够可靠和有说服力的、存在于计算机和相关外设中的电子证据(Electronic Evidence)的确定、收集、保护、分析、归档以及法庭出示的过程。
电子证据
计算机取证主要是围绕电子证据来展开工作的,其目的就是将储存在计算机及相关设备中反映犯罪者犯罪的信息成为有效的诉讼证据提供给法庭。电子证据也称为计算机证据,是指在计算机或计算机系统运行过程中产生的,以其记录的内容来证明案件事实的电磁记录物。电子证据在计算机屏幕上的表现形式是多样的,尤其是多媒体技术的出现,更使电子证据综合了文本、图形、图像、动画、音频及视频等多种媒体信息,这种以多媒体形式存在的计算机证据几乎涵盖了所有传统证据类型。与传统证据一样,电子证据必须是:可信的、准确的、完整的、符合法律法规的,即可为法庭所接受的。但是,电子证据还具有与传统证据有别的其它特点:例如,高科技性,电子证据的产生、储存和传输,都必须借助于计算机技术、存储技术、网络技术等,离开了高科技含量的技术设备,电子证据就无法保存和传输;无形性,不是肉眼直接可见的,必须借助适当的工具;易破坏性,可能被篡改甚至删除而不留任何痕迹。因此,如何对电子物证收集、保护、分析和展示,成了司法和计算机科学领域新的研究课题。
电子证据的来源很多,主要有系统日志,IDS、防火墙、ftp、www和反病毒软件日志,系统的审计记录(Audit trails),网络监控流量(Network monitor traffic),E-mail,Windows操作系统和数据库的临时文件或隐藏文件,数据库的操作记录,硬盘驱动的交换(swap)分区、slack区和空闲区,软件设置,完成特定功能的脚本文件,Web浏览器数据缓冲,书签、历史记录或会话日志、实时聊天记录等等。
值得注意的是,聪明的入侵者往往在入侵结束后将自己残留在受害方系统中的“痕迹”擦除掉,犹如犯罪者销毁犯罪证据一样尽量删除或修改日志文件及其它有关记录。殊不知一般地删除文件操作,即使在清空了回收站后,要不是将硬盘低级格式化或将硬盘空间装满,仍可将“删除”的文件恢复过来。在Windows操作系统下的windows swap(page)file(一般用户不曾意识到它的存在),大概有20-200M的容量,记录着字符处理、Email消息、Internet浏览行为、数据库事务处理以及几乎其它任何有关windows会话工作的信息。另外,在windows下还存在着file slack,记录着大量Email碎片(Fragments)、字符处理碎片、目录树镜像(snapshot)以及其它潜在的工作会话碎片。以上这些都可以利用计算机取证软件来收集,作为潜在的电子证据。
计算机取证的原则和步骤
根据电子证据的特点,计算机取证的主要原则有以下几点:
1)尽早搜集证据,并保证其没有受到任何破坏;
2)必须保证“证据连续性(chain of custody)”,即在证据被正式提交给法庭时,必须能够说明在证据从最初的获取状态到在法庭上出现状态之间的任何变化,当然最好是没有任何变化;
3)整个检查、取证过程必须是受到监督的,也就是说,由原告委派的专家所做的所有调查取证工作,都应该受到由其他方委派的专家的监督。
计算机取证过程和技术比较复杂,在打击计算机犯罪时,执法部门还没有形成统一标准的程序来进行计算机取证工作。根据我们的研究和工作经验,计算机取证步骤应有以下几点:
1、保护目标计算机系统
计算机取证时,第一件要做的事是冻结计算机系统,不给犯罪分子破坏证据提供机会。在这方面,计算机取证与普通警察封锁犯罪现场、搜索证物没有区别。避免发生任何的更改系统设置、硬件损坏、数据破坏或病毒感染的情况。
2、电子证据的确定
现在存储介质容量越来越大,必须在海量的数据中区分哪些是电子证据,相对计算机取证来说哪些是垃圾数据。因此,根据系统的破坏程度,应确定哪些由犯罪者留下的活动记录作为主要的电子证据,确定这些记录存在哪里、是怎样存储的。
3、电子证据的收集
1)调查员要记录系统的硬件配置,把各硬件之间的连接情况记录在案,以便计算机系统移到安全的地方保存和分析的时候能重新恢复到初始的状态。
2)用磁盘镜像工具(如Safe back、SnapBack DatArret 和DIBS RAID等)对目标系统磁盘驱动中的所有数据进行字符流的镜像备份。镜像备份后就可对计算机证据进行处理,万一对收集来的电子证据产生疑问时,可用镜像备份的数据恢复到系统的原始状态,作为分析数据的原始参考数据,使得分析的结果具有可信性。
3)用取证工具(如EnCase,详见取证工具的Encase例子)收集相关的电子证据,对系统的日期和时间进行记录归档,对可能作为证据的数据通过加密手段发送给取证服务器进行分析。对UNIX系统可能还需要一些命令做辅助,收集有关信息,对操作情况要做记录归档。对关键的证据数据用光盘备份,有条件的可以直接将电子证据打印成文件证据。
根据我们目前的研究,在缺乏自主知识产权的计算机取证工具的前提下,收集电子证据上传到取证服务器统一保护和分析,采用基于代理(Agent)的C/S结构(见图一)。client端即目标系统端程序采用主动搜索和被动接受两种相结合的方式将电子证据上传给取证服务器。定义已知常见的电子证据来源如系统名称、时期时间、系统日志、应用软件日志、邮件数据、临时文件信息、Email数据等,利用程序的自动搜索功能,将可疑为电子证据的文件或数据罗列出来,由调查员确认发送给取证服务器。对数据量特别大的电子证据文件如网络防火墙和NIDS的日志,可由调查员先对其光盘备份进行原始数据保全,然后将可疑为入侵者IP的相关信息挖掘出来发送给取证服务器。由受害方提供的其它相关信息也可通过client端程序上传。
Server端的取证服务器采用LDAP目录形式组织上传的电子证据,由控制台对电子证据进行管理。各类电子证据上传时,将相关的文件证据存入取证服务器特定目录并将存放目录、文件类型(是系统日志,应用日志,还是邮件文件或是其它临时文件等)、来源(IP)等信息存入取证服务器的数据库中。
控制台主要用于电子证据加密上传的密钥分配,电子证据的审计与分析、产生报告并打印,结案后管理员对电子证据的处理等。
4、电子证据的保护
由于电子证据可能被不留痕迹的修改或破坏,应用适当的储存介质(如Mess storage或CD-ROM)进行原始的镜像备份。考虑到在计算机取证中有些案例可能要花上两三年时间来解决,取证调查时可将镜像备份的介质打上封条放在安全的地方。对获取的电子证据采用安全措施进行保护,非相关人员不准操作存放电子证据的计算机。不轻易删除或修改与证据无关的文件以免引起有价值的证据文件的永久丢失。
5、电子证据的分析
由于原始的电子证据是存放在磁盘等介质里,具有不可见性,需要借助计算机的辅助程序来查看。同时,没有相当IT知识的人也很难理解电子证据的信息。因此,对电子证据的分析并得出结果报告是电子证据能否在法庭上展示,作为起诉计算机犯罪者的犯罪证据的重要过程。分析需要很深的专业知识,应由专业的取证专家来分析电子证据。
1)做一系列的关键字搜索获取最重要的信息。因为目前的硬盘容量非常大,取证专家不可能手动查看和评估每一个文件。因此需要一些自动取证的文本搜索工具来帮助发现相关的信息。
2)对文件属性、文件的数字摘要和日志进行分析,根据已经获得的文件或数据的用词、语法和写作(编程)风格,推断出其可能的作者。如果政策允许可利用数据解密技术和密码破译技术,对电子介质中的被保护信息进行强行访问以获取重要信息。
3)评估windows交换文件,file slack,未分配的空间。因为这些地方往往存放着犯罪者容易忽视的证据。在这方面,专业的取证公司NTI的IPFilter和Guidance Software公司的EnCase都可以帮助取证专家获取重要的信息。用恢复工具如EasyRecovery恢复被删除的文件,尤其是被犯罪者删除的日志文件,以发现其踪迹。
4)对电子证据做一些智能相关性的分析,即发掘同一事件的不同证据间的联系。随着计算机分步式技术的发展,犯罪者往往在同一时间段内对目标系统做分步式的攻击以分散管理员的注意力。在分析电子证据时,应对其进行关联分析。如在某一时间段内,来自攻击者的IP在不同系统中留下的痕迹按一定的顺序将其罗列出来,并评估它们的相关性。
5)取证专家完成电子证据的分析后应给出专家证明,这与侦查普通犯罪时法医的角色没有区别。
6、归档
在计算机取证的最后阶段,应整理取证分析的结果供法庭做为诉公证据。主要对涉及计算机犯罪的日期和时间、硬盘的分区情况、操作系统和版本、运行取证工具时数据和操作系统的完整性、计算机病毒评估情况、文件种类、软件许可证以及取证专家对电子证据的分析结果和评估报告等进行归档处理。尤其值得注意的是,在处理电子证据的过程中,为保证证据的可信度,必须对各个步骤的情况进行归档以使证据经的起法庭的质询。
计算机取证工具
在计算机取证过程中,相应的取证工具必不可少,常见的有tcpdump,Argus,NFR,tcpwrapper,sniffers,honeypot,Tripwires,Network monitor,镜像工具等。在国外计算机取证过程中比较流行的是镜像工具和专业的取证软件。表一是SC infoSecurity杂志评选出来的比较优秀的磁盘镜像工具。表二是2002年计算机取证软件的优秀商业产品。
下面以EnCase做为一个计算机取证技术的案例来分析。EnCase是目前使用最为广泛的计算机取证工具,至少超过2000家的法律执行部门在使用它。它提供良好的基于windows的界面(如图二),左边是case文件的目录结构,右边是用户访问目录的证据文件的列表。
EnCase是用C++编写的容量大约为1M的程序,它能调查Windows,Macintosh,Linux,Unix或DOS机器的硬盘,把硬盘中的文件镜像成只读的证据文件,这样可以防止调查人员修改数据而使其成为无效的证据。为了确定镜像数据与原始数据相同,EnCase会计算机CRC校验码和MD5哈希值进行比较。 EnCase对硬盘驱动镜像后重新组织文件结构,采用Windows GUI显示文件的内容,允许调查员使用多个工具完成多个任务。
在检查一个硬盘驱动时,EnCase深入操作系统底层查看所有的数据——包括file slack,未分配的空间和Windows交换分区(存有被删除的文件和其它潜在的证据)的数据。在显示文件方面,EnCase可以由多种标准如时间戳或文件扩展名来排序。此外,EnCase可以比较已知扩展名的文件签名,使得调查人员能确定用户是否通过改变文件扩展名来隐藏证据。对调查结果可以采用html或文本方式显示,并可打印出来。
计算机取证涉及的法律问题
我国有关计算机取证的研究与实践尚在起步阶段,只有一些法律法规涉及到了部分计算机证据,如《关于审理科技纠纷案件的若干问题的规定》、《计算机信息系统安全保护条例》、《计算机软件保护条例》等。目前在法律界对电子证据作为诉公证据也存在一定的争议。在刑事、民事程序法规定的七类法定证据中未明确规定电子证据做为合法的证据类型,但民事诉讼理论界在司法实践时通常将计算机证据归入“视听资料”类证据。我国在1999年3月15日通过的《合同法》,第11条规定“合同的书面形式是指合同书、信件和数据电文(包括电报、电传、传真、电子数据交换和电子邮件)等可以有形地表现所载内容的形式”。第一次在法律上确定了包括电子邮件在内的数据电文的书面形式地位,使得它相当于我国诉讼法中的一种书证。
在国外,1982年的欧洲理事会的《电子处理资金划拨》秘书长报告和1982年英国A.Kelman和R.Sizer的《计算机在法庭上的地位》中,就已经提出计算机记录相当于书面文件作为证据的看法。此后,英美等国都制定相关的法律将电子证据作为合法的证据。联合国贸法会于1996年通过的《电子商务示范法》第5条也规定:不得仅仅以某项信息采用数据电文形式为理由而否定其法律效力、有效性和可执行性。由此可见,国外已确认了电子证据的合法性。
计算机取证遇到的困难
目前我国计算机取证工作无论是技术、人们的意识形态还是法律执行部门都存在一定的困难。
1)技术上还缺乏自主知识产权的计算机取证工具。许多企业和政府部门的网络甚至金融系统受到攻击造成重大损失时没法收集证据,使犯罪者逍遥法外。
2)随着计算机入侵和病毒的泛滥,信息安全需深入人心。但在人们的意识当中还只有被动防护的概念,只是尽量将自己的网络和数据保护好。殊不知再好的安全防范措施也会随着技术的发展和人员的误操作而变的不安全。因此,有必要教育IT从业人员跟上技术的发展,将信息安全提高到主动防护的高度,一旦发现入侵事件马上报告,并设法收集证据将犯罪者起诉至法庭。
3)由于计算机取证的高科技性,需要有专门的法律执行调查取证机构,同时还要颁布相关的法律法规规范计算机取证。在这方面我们还有很多工作要做!