抓住黑客收集入侵Windows系统的证据
来源:中国电子政务网 更新时间:2012-04-13
                    

随着网络的不断扩大,网络安全更加会成为人们的一个焦点,同时也成为是否能进一步投入到更深更广领域的一个基石。当然网络的安全也是一个动态的概念,世界上没有绝对安全的网络,只有相对安全的网络。相对安全环境的取得可以通过不断地完善系统程序(及时给系统漏洞打上不同的补丁和给系统升级)、装上防火墙,同时对那些胆敢在网络上破坏秩序做出不义行为的人给予恰如其分的处理。这必然要牵涉到证据的收集,本文正是对这一方面的内容针对Windows系统进行研究。

一、Windows系统特性

Windows操作系统维护三个相互独立的日志文件:系统日志、应用程序日志、安全日志。

1.系统日志

系统日志记录系统进程和设备驱动程序的活动。它审核的系统事件包括启动失败的设备驱动程序、硬件错误、重复的IP地址,以及服务的启动、暂停和停止。系统日志包含由系统组件记录的事情。例如在系统日志中记录启动期间要加载的驱动程序或其他系统组件的故障。由系统组件记录的事件类型是预先确定的。系统日志还包括了系统组件出现的问题,比如启动时某个驱动程序加载失败等。

2.应用程序日志

应用程序日志包括关于用户程序和商业通用应用程序的运行方面的错误活动,它审核的应用程序事件包括所有错误或应用程序需要报告的信息。应用程序日志可以包括性能监视审核的事件以及由应用程序或一般程序记录的事件,比如失败登录的次数、硬盘使用的情况和其它重要的指针;比如数据库程序用应用程序日志来记录文件错误;比如开发人员决定所要记录的事件。

3.安全日志

安全日志通常是在应急响应调查阶段最有用的日志。调查员必须仔细浏览和过滤这些日志的输出,以识别它们包含的证据。安全日志主要用于管理员记载用户登录上网的情况。在安全日志中可以找到它使用的系统审核和安全处理。它审核的安全事件包括用户特权的变化、文件和目录访问、打印以及系统登录和注销。安全日志可以记录诸如有效的登录尝试等安全事件以及与资源使用有关的事件,例如创建、打开或删除应用文件。管理员可以指定在安全日志中记录的事件。例如如果你启用了登录审核,那么系统登录尝试就记录在安全日志中。

二、寻找“显形”证据

系统工具提供了对系统进一步的监视,在性能监视器中可以看到其图形化的变化情况。而计数器日志、跟踪日志和警报则提供了对本地或远端系统的监视记录,并可根据预定的设定进行特定的跟踪和报警。还可利用不同的用于配置、管理COM组件及应用的组件服务工具记录或查找相关信息。

1.查看三大日志

在计算机上维护有关应用程序、安全性系统事件的日志,可以使用事件查看器查看并管理事件日志。它用于收集计算机硬件、软件和系统整体方面的错误信息,也用来监视一些安全方面的问题。它可根据应用程序日志、安全日志和系统日志来源将记录分成3类。

事件查看器显示以下几种事件类型:error是指比较严重的问题,通常是出现了数据丢失或功能丢失。例如如果在启动期间服务加载失败,则会记录错误。Warning给出警告则表明情况暂时不严重,但可能会在将来引起错误,比如磁盘空间太少等。Information描述应用程序、驱动程序或服务的成功操作的事件。例如成功地加载网络驱动程序时会记录一个信息事件。Success audit审核访问尝试成功。例如将用户成功登录到系统上的尝试作为成功审核事件记录下来。Failure audit审核安全尝试失败。例如如果用户试图访问网络驱动器失败,该尝试就会作为失败审核事件记录下来。

注意启动系统时事件日志服务会自动启动,所有用户都可以查看应用程序日志和系统日志,但是只有管理员才能访问安全日志。默认情况下会关闭安全日志,所以管理员要记住设定启用。管理员既可以使用组策略启用安全日志记录,也可以在注册表中设置策略使系统在安全日志装满时停止运行。

基于主机的检测器可以检测到系统类库的改变或敏感位置文件的添加。当结合所有现有的基于网络的证据片断时,就有可能重建特定的网络事件,诸如文件传输、缓冲区溢出攻击,或在网络中使用被盗的用户帐号和密码等。

当调查计算机犯罪时,会发现很多潜在证据的来源,不仅包括基于主机的日志记录,而且还包括网络的日志记录以及其它的传统形式,如指纹、证词和证人。大多数的网络流量在它经过的路径上都留下了监查踪迹。路由器、防火墙服务器、IDS检测器及其它的网络设备都会保存日志,记录基于网络的突发事件。DHCP服务器会在PC请求IP租用时记录网络访问。现代的防火墙允许管理员在创建监查日志时有很多种粒度。IDS检测器可以根据签名识别或异常的检测过滤器来捕获一个攻击的一部分。基于网络的日志记录以多种形式存储,可能源自不同的操作系统,可能需要特殊的软件才能访问和读取,这些日志在地理上是分散的,而且常常对当前系统时间有严重错误的解释。调查人员的挑战就在于查找所有的日志,并使之关联起来。从不同系统获得地理上分散的日志、为每个日志维护保管链、重建基于网络的突发事件,这一切都需要消耗大量的时间和密集的资源。

2.检查相关文件、执行关键词搜索

Windows系统同时进行对很多文件的输入和输出,所以几乎所有发生在系统上的活动都会留下一些发生的痕迹。它有许多临时文件、高速缓存文件、一个跟踪最近使用文件的注册文件、一个保留删除文件的回收站和无数的存储运行时间资料的其它位置。

在调查知识产权或所有权、信息的所有权、性骚扰以及任何实际上包含基于文本通信的问题上,对目标硬盘驱动器执行字符串搜索是非常重要的。很多不同的关键词可能对调查非常重要,这些关键词包括用户ID、密码、敏感资料(代码字)、已知的文件名和具体的主题词。字符串搜索可以在逻辑文件结构上执行,也可以在物理层次上执行。

3.鉴定未授权的用户帐号或组、“流氓”进程

检查用户管理器,寻找未授权的用户帐号;使用usrstat浏览域控制器中的域帐号,寻找可疑的项目;使用Event Viecser检查安全日志,筛选出事件为添加新帐号、启用用户帐号、改变帐号组和改变用户帐号的项目。

鉴定检查一个运行系统时,鉴定“流氓”进程是非常简单的。因为大部分“流氓”进程都要监听网络连接或探测网络以获得纯文本的用户ID和密码,这些进程很容易在执行过程中被发现。plist命令将列出正在运行的进程,listdlls将提供每个运行中进程的完整的命令行参数,fport将显示监听的进程以及他们所监听得到端口。对于未运行的系统上“流氓”进程,方法是在证据的整个逻辑卷内使用最新的病毒扫描程序进行扫描。如果选择在还原映象的文件系统上运行病毒检查工具,必须保证这个卷是只读的。

4.寻找隐藏文件和恢复被删除文件

所有的坏人都想隐藏一些事情,他们采取这样的办法:一旦一个内部攻击者选择在他的系统上执行未授权或不受欢迎的任务,他可能会让一些文件不可见。这些攻击者可能利用NTFS文件流,在合法文件后隐藏资料。还有可能改变文件的扩展名或特意将文件名命为重要系统文件的名字,最后还可以把文件删除。

我们知道被删除的文件并不是真正被删除了,它们只是被标记为删除。这就意味着这些文件仍保存完好,直到新数据的写入覆盖了这些被删除文文件所在硬盘驱动器的物理空间。也就是说越早尝试,恢复一个文件成功的机会就越大。File Scavenger甚至可能在硬盘被重新格式化后还能进行恢复。

5.检查未授权的访问点和安全标识符SID

当检查到一个受害系统时,必须鉴别系统的访问点以确定进行访问的方式,一些工具都是鉴别系统访问点的重要工具,它们使用API调用以读取内核及用户空间的TCP和UDP连接表的内容。如果想捕获这一信息,需要允许通过还原映象引导系统。如果想在检查运行系统时完成这一步,则要在关闭系统以进行映象之前,比较这两个操作的结果,它们的差异表明存在未授权的后台程序。

SID用于唯一地标识一个用户或一个组。每一个系统都有自己的标识符。计算机标识府和用户标识符一起构成了SID.因此SID可以唯一地标识用户帐号。所以我们需要比较在受害机器上发现的SID和在中央认证机构记录的SID。

6.检查Scheduler Service运行的任务

攻击者常用的一个策略是让调度事件为他们打开后门程序、改变审核策略或者完成更险恶的事。比如删除文件。恶意的调度作业通常是用at或soon工具调度它们的。不带命令行参数的at命令可以显示任何已调度的作业。

7.分析信任关系

WINDOWS NT系统支持不可传递的或单向的信任。这意味着只能单方向提供访问和服务。即使你的NT PDC信任其它域,这个被信任的域也不需要信任你的PDC,因此被信任域中的用户能使用你所在域的服务,但是反过来就不行。WINDOWS 2000则支持可传递的信仰。

三、“隐形”证据的查找

由于攻击者的诡密性日益提高,他们还使用隐蔽信道的方法躲避检测。我们将隐蔽信道定义为所有秘密的、隐藏的、难以检测的通信方式。所有与此相关的证据称为“隐形”证据。

1.难以检测、回放的行为

所捕捉或被监视到的,但是还需要进行进一步详细检查才能识别出的那些未经授权的流量。这些行为包括诸如Loki 2.0 HTTP命令信道和邮件隧道效应等ICMP和UDP隐蔽信道。查找办法就是仔细检查所监视到的流量,提高鉴别能力。包括任何类型通信中的那些利用任何工具都不能按人们可读的方式显示或重构的各种行为。查看会话的最常见阻碍就是加密。更多的经验丰富的攻击者可以建立加密信道,使得网络监视失效。许多网络协议本质上就是难以回放的,X Windows通信、Netbus通信和其它传输大量图形信息的远程会话都是很难再现的。监视加密通信并不是完全没用,因为它可以证明在确定的IP地址之间没有进行通信。所需的证据就在于这些端点上。

2.难以跟踪到源IP地址的攻击行为

它可以通过拒绝服务攻击得到最好的证明。源IP地址通常是被伪装的,这就使得通过源地址跟踪源计算机是非常困难的。以日志文件或嗅探器捕获文件形式保存的电子证据所报告的是错误数据。被伪装的邮件或欺骗性的电子邮件也对按电子邮件跟踪到这些消息的原始计算机提出了挑战。人们会发现中继电子邮件服务器位于一个法律上不合作的国家,并通过此服务器发送伪造电子邮件。这些中继电子邮件服务器通常记录了原始计算机的IP地址,但是由于位于不合作的外国,所以无法获得这些信息。加大在网络边界的监视,充分发挥网关的识别作用,才是解决此类问题的唯一所选。

3.使得证据难以收集

通过下列方式可以使证据难以收集——加密文件、安装可装载的核心模块以便利用你的操作系统来对付你,以及对二进制文件使用“特洛伊木马”使攻击者的痕迹不过于明显。攻击者阻碍收集证据的另一个技巧是不断改变远程系统的端口。当攻击者以一种看起来随机的方式频繁地修改端口以初始化与受攻击系统的连接时,调查员很难实施获得相关信息的过程。

对于此种证据的查找,我们采取在线被动的网络监视办法以及通过IDS、 防火墙和其他信息源知道有关攻击的多种标志,同时不断总结有效的分析网络通信的调查方法。在网络中发现非法的服务器或通信的非法通道,这是最有效的方法。它为确定可疑行为的程度和确定以非法方式通信的相关系统提供了一种方法,以便确定将系统保持在线状态所冒的风险和系统脆弱程度。根据这些信息,可以采取适当的后续步骤或防范措施。同时并加大培训力度,不断提高监视技巧,加强有力的自动分析工具的开发。

4.免受监视的行为

包括ICMP通信、SMTP通信、POP通信、Usenet通信、在外部介质保存文件、看上去无害的Web通信,以及源于内部IP地址的通信。查找此类证据的唯一方法就是监视尽可能多的通信。

为了维持对攻击者的优势,预见攻击的变革是十分必要的。只有了解攻击者的目标才能知道可能遭受攻击的地方。只有了解这些目标才有可能预见到在网络上发生的攻击,由此我们既要熟悉合法通信的标准,又要深入了解各种网络协议本身然后进行网络监视并仔细检查网络通信以便确认各种不同类型的隐蔽通道,查找出不同的隐形证据。

计算机取证技术的研究是一个相当复杂的课题,本文力图从两个方面来对计算机取证技术的过程和步骤进行探讨,提出了一种较为完善的由易到难、由简单到复杂的方法。我们可以通过对“显形”证据查找的办法支持在小局域网、军队网进行计算机取证,也支持在英特网上查找一些简易的取证,通过对“隐形”证据查找的办法支持在大的局域网甚至在英特网上查找复杂的取证,为调查人员提供重要的调查线索和证据来源。