返回列表 发帖

计算机调查取证分析篇

计算机调查取证分析篇
离子翼信息安全实验室
http://www.ionwing.com
前言
在计算机取证的采集篇中,我们侧重讲述了证据采集方面的内容,计算机调查取证的另一项重要工作就是对采集的“电子证据”进行分析。单凭原始证据是无法满足诉讼要求的,我们必须进行正确的处理以对恶意行为进行还原;因为即使对专业人士来说,电子证据也是隐晦而难于理解的。下面我们就着重向大家介绍一下计算机调查取证中的分析工作。
我们分析什么
通常在完成了证据采集工作之后,我们会获得一份被调查机器的介质镜像,很多时候还会获得一些内存内容的收集,以及在被调查环境提取的口述信息和情况记录等等。与传统证据一样,电子证据应该是准确完整的,只有具备足够可信性的证据才会受到认可。假如我们把现场取证的磁盘镜像连在笔记本电脑上就可以直接浏览到攻击记录,那可真是太棒了,不过绝大多数情况下我们没有这样的好运气。被调查者的技术水平越高、经验越丰富,有用的证据就越难获得。它们可能被删除了,或者藏在不容易找到的角落,也可能经过了加密,我们需要跨越重重阻碍,将证据发掘出来。下面我们以最常见的情况 – 我们有被调查计算机的硬盘镜像 - 为例介绍分析证据的基本方法,对于一些特别情况我们会在讲述的过程中为大家特殊说明。
开始之前
首先我们要确认我们正在分析的确实是镜像的副本,绝对不能在原始镜像上进行分析工作。在副本上我们可以更加放松的进行分析而不必担心会危害原始证据,如果镜像副本被破坏,我们可以很容易的再建立一份。在这里我们建议在分析工作开始之前建立两份副本,一份用于马上开始的分析工作,一份留待意外情况发生时做为重建副本的“源”,之所以建立第二份副本是因为我们必须尽一切可能减少对原始镜像的访问,这是原则。

开始正式的分析工作之前,我们要为磁盘镜像生成一份MD5记录,这一工作一定要在对镜像进行任何操作之前进行,如果我们对镜像中的文件执行了列表命令甚至开启了其中的文件,那这份列表就会失去其应有的价值。
基础分析 - 看看我们都带回了什么
将磁盘镜像接驳在我们的分析工作站上,我们先查看该镜像的分区格式,以大致了解需要用到的分析工具。很多时候我们使用Linux等操作系统以只读形式挂载需要分析的镜像,这样可以防止不经意的操作对镜像造成破坏。
随后我们可以对整个文件系统进行遍历式的浏览,以大致了解被调查系统的情况。如果我们是在调查攻击者的计算机,通过应用程序的部署情况我们可以了解其技术能力甚至分析出其破解系统的习惯;如果调查的是一个被攻破的Internet的主机,我们即使无法发现隐藏的攻击工具,至少也可以获悉哪些内容可能对攻击者具有吸引力这样的信息。一个好的习惯是在分析的每个步骤都将结果输出成文件。比如利用如下命令将镜像中的文件列表导出:ls /mnt/20050102 -alR > /home/forensic/list.txt。这样我们不但拥有了一份方便查阅的记录,而且还可以在这个列表中对文件名、时间进行搜索,这对后续的分析工作很有帮助。
在进行分析之前,我们假定已对发生的事件及相关人员进行了调查,这些信息了解的越充分,我们在分析证据时就越有目的性。毕竟能够缩小搜寻的范围,比漫无目的的遍历要省时的多。例如可能有一些关键字值得去搜索,这些关键字可能是姓名、数字或者二进制程序的某个独一无二的指纹。关键字的选择需要特别的注意,过于常见的关键字会造成返回的搜索结果过多而无法进一步开展工作,关键字太过生僻则很可能无法获得可用的结果或遗漏一些有用的内容。除了搜索数据内容之外,这些数据的时间属性也可以提供非常重要的讯息。大部分操作系统中的文件都具有创建时间、修改时间和最后被访问时间等属性,这些对还原系统中发生的事件很有帮助。例如我们通过询问相关人员或查看日志文件获知攻击行为大致在某日的23:00左右发生,我们就可以通过设定搜索条件来找出在这一时间点前后的一个范围内修改过的文件,从而获得更进一步的证据。
除了显见的数据内容之外,还有一些地方可能存在数据。我们知道,操作系统在删除文件的时候其实并非将数据从磁介质上彻底的抹除,而通常是重置相应簇的目录表及文件分配表;这样操作系统就认为该簇处于空白状态,是可以被写入数据的;而其实旧有的数据内容仍旧保存在磁介质上。例如,一些应用程序会在保存数据的时候会把目的簇中的旧有数据囊括进来,我们如果搜索这个文件,就可能获得一些操作系统认为已经被删除了的数据;而大部分文件占用的最后一个簇通常没有被写满,在这个没有写满的区段里就可能含有有用的证据,而这些内容也是无法被通常的应用程序识别的;同样,只要不是全新的磁盘,在其未分配空间、分区表中都有可能存在着数据;另外值得一提的是,除了删除的文件并不一定真的被“删除”之外,即使一个文件簇被其他数据完全覆盖掉,其原有的数据的痕迹仍有可能被读取出来,在拥有专业设备的情况下,被格式化的磁盘以及被数据覆盖多次的磁盘都存在很多可以被恢复的“历史数据”。这些都是我们需要分析的地方,不要小看这些可能只有几十字节的“碎片”,有时很多碎片拼接起来会揭示惊人的事实,而且很多情况下只是几个字符的发现,就可能使情况完全改观。在分析这类非常规数据的时候,我们的必备工具是带有强大搜索功能的、支持多种进制的编辑器,UltraEdit32是其中的佼佼者之一,Class UNIX平台下还有很多提供类似功能的软件包,大家可以选择自己习惯使用的。
联机分析 - 象一种艺术
静态的分析和搜寻通常不足以获得满意的结果,我们还需要利用镜像文件还原其实际的运行环境,在该环境中继续寻找证据。有很多工作在联机环境才能进行,比如查看Windows系统的注册表设置、验证Linux系统的内核完整性等等,我们可能需要在联机环境下监测很长时间,才能发现非法用户设下的机关。这一阶段的工作和我们检查系统安全状态时所做的非常类似。我们说过计算机调查工作没有定式,在每完成一项操作之后我们都需要选择如何继续,很多情况下我们手头的东西不足以达到最终目标,这时千万不要把眼光局限在眼前。放开思维,我们大可以重新进行一次证据采集,因为不可能每次采集工作都没有遗漏;在调查Internet主机时,我们也可以将在镜像副本上运行的系统重新联线,因为攻击者在取得了成果之后通常都会回来享用它,我们可以开启一个嗅探程序,为攻击者设下陷阱,以获得有效的证据;在我们获得可疑的入侵地址时,可以沿着网路进行回溯,向其所经过节点的管理员索取日志文件和其它信息。总之,我们有数不清的方法和工具可以利用,也有无数的选择在等待着我们,有时候这种工作真的象艺术一样。
最后,在我们工作了很长时间并获得了大量内容之后,还要对其做为证据的可能性进行现实的评估。这往往需要考察所获得的信息和我们正在调查的事件有多大的关联,判断我们是否已经能够说明是谁在什么时间做了什么以及造成了何种后果。只有获得足以充分说明非法行为的证据,并能够完整还原被调查事件的情况下,计算机调查取证工作才是真正成功的。虽然在真实世界里并不是每一次调查工作都能达到这么完美的效果,但这始终是计算机调查人员的唯一目标。
结语
我们介绍的内容只是针对基本计算机系统的一些贯常的工作方法,现实环境要复杂的多。我们需要调查的环境可能有一些路由设备,还部署着网关防火墙,在这种环境中调查,其复杂程度要远远高于对单个计算机设备进行调查。我们希望这些内容可以帮助大家起步,并获得足够的认知,以继续在计算机取证领域获得成长。也希望今后还有更多机会与大家分享和探讨这一领域的知识和资讯。xxxoxx.com.cn 中国女子安全小组(原yes女子黑客团)

返回列表