数字取证与事件响应(一)

原文:annas-archive.org/md5/6e10f6c7f0b8273cfd80f246668d8d89

译者:飞龙

协议:CC BY-NC-SA 4.0

前言

了解数字取证如何与整体的网络安全事件响应相结合,对于保护组织基础设施免受攻击至关重要。本书更新的第三版将帮助您进行前沿的数字取证活动和事件响应,特别聚焦于如何应对勒索软件攻击。

在重点介绍对任何信息安全团队至关重要的事件响应基础知识后,您将开始探索事件响应框架。从理解其重要性到制定快速有效的安全事件响应,本书将通过实用的示例为您提供指导。之后,您将掌握数字取证技术,包括如何获取证据、检查易失性内存、硬盘检查以及基于网络的证据。所有这些技术将应用于当前的勒索软件威胁。随着进展,您将了解威胁情报在事件响应过程中的作用。您还将学会如何准备事件响应报告,记录您的分析结果。最后,除了各种事件响应活动外,本书还将涉及恶意软件分析,并展示如何在威胁狩猎中主动运用您的数字取证技能。

本书结束时,您将学会如何高效地调查并报告组织内的安全漏洞和事件。

本书适用对象

本书适用于希望在组织中实施数字取证和事件响应的网络安全和信息安全专业人员。如果您是数字取证的初学者并希望从基础入手,本书同样适合您。开始阅读本书前,您需要具备操作系统的基础知识和一定的网络基础知识。

本书内容

第一章理解事件响应,介绍了理解事件响应基础要素对于任何信息安全团队的重要性。如果没有了解如何处理事件响应的各个阶段,个人和组织将无法制定高效且有效的安全事件响应。本章将重点介绍事件响应的关键方面,为您提供扎实的基础。

第二章网络事件管理,探讨了在实际事件中如何执行规划和准备这一迫切问题,因为第一章提供了事件响应的基础。通过借鉴关键的事件管理技巧,本章将引导你了解管理网络安全事件的关键组成部分,从事件被发现开始,到修复和恢复阶段,最终使组织的 IT 系统恢复正常运行。

第三章数字取证基础,重点介绍了正确的证据处理程序。响应事件的重要部分是能够正确获取、分析并报告分析结果。数字取证,像任何法医学科一样,要求对技术、法律和操作要求有扎实的理解。缺乏这种理解,例如没有正确处理证据,可能会导致证据受到污染或变得无法使用。

第四章调查方法,提出了一种合理的调查方法和入侵分析框架,以确保入侵和其他网络攻击得到适当的调查。数字取证和事件响应是组织正确应对网络攻击的整体过程。数字取证调查方法是一种系统化的方式,用于调查网络攻击,并融入整体的事件响应过程。

第五章收集网络证据,解释了数字取证的第一步是数据获取。一个主要的数据来源是网络流量。在今天复杂的网络环境中,各种设备可以发送关于连接、会话的详细信息,有时甚至是通过网络连接发送的文件的完整重建。正确地获取这些证据可以提供有价值的数据点,帮助重建事件。

第六章获取主机证据,引导你如何以法医有效的方式获取主机证据。事件很少仅涉及对网络硬件的攻击。对手通常会攻击主机,以建立立足点,部署进一步的攻击工具,最终转移到其他系统。当他们这样做时,通常会通过日志文件、内存中的代码或其他痕迹留下痕迹。

第七章远程证据收集,提出了一个解决方案和场景,展示远程法医证据收集的能力。前几章的重点是本地化证据收集。虽然这种方法在法医学上是有效的,但其挑战在于对于大型企业而言,可能有数百甚至上千个终端在一个事件的范围之内,这种方法难以扩展。因此,需要部署专业的工具和技术来收集和搜索跨企业的证据。

第八章法医成像,指导您如何获取和验证逻辑驱动器或分区,或在某些情况下,整个物理驱动器的法医镜像。虽然在前一章中已经获取了大量证据,但仍然会遇到需要全面检查文件系统和相关存储的情况。

第九章分析网络证据,专注于数字证据的分析,在前一章中已经讨论了网络证据的获取。本章的主要内容将集中在重建数据包捕获中的数据以及分析命令与控制流量。最后,还将讨论如何将这些数据与其他日志文件进行关联,以确定潜在的根本原因。

第十章分析系统内存,研究分析系统内存的各个方面,重点是识别根本原因。数字法医领域有一句格言:“恶意软件可以隐藏,但它必须运行。”虽然这有些简化,但它指向了数字法医的一个关键方面——也就是,受感染系统的内存包含大量证据。随着内存仅恶意软件和其他漏洞的兴起,这一问题也日益成为关注焦点。

第十一章分析系统存储,允许您利用上一章中收集的证据,提取相关数据,并进行分析,目的是确定妥协的根本原因。与内存类似,系统存储中通常包含大量证据需要分析。

第十二章分析日志文件,指导您使用多种开源工具分析日志文件。Windows 操作系统具有多个独立的日志文件,用于记录 Windows 系统上的各种活动。这些活动包括登录、PowerShell 使用以及与执行进程相关的事件。这些日志源作为证据的来源非常宝贵。

第十三章编写事件报告,展示了事件报告的关键要素。报告数据分析结果和事件发生顺序是事件响应的重要组成部分。本章介绍了需要关注的不同受众,如何准备技术报告,以及如何适当地向组织的利益相关者进行汇报。

第十四章勒索软件准备与响应,概述了勒索软件及应对此类事件的必要步骤。在过去几年中,勒索软件已成为对组织构成最大威胁的因素。虽然执行此类攻击相对容易,但其对组织的影响却极为严重。妥善准备和处理这些事件对于将业务恢复正常、最小化停机时间至关重要。

第十五章勒索软件调查,基于第十四章的内容,进一步加深了对勒索软件的理解,重点关注特定的调查步骤。这将深入探讨勒索软件威胁行为者常用的工具和技术,重点是初始访问、凭证窃取、横向传播以及命令与控制。

第十六章事件响应中的恶意软件分析,指导你通过各种技术检查恶意代码并在事件处理中利用恶意软件数据。在调查事件时,尤其是过去五年的事件,大多数都涉及恶意软件作为最初攻击方式以获取系统访问权限。尽管许多恶意软件变种已为人熟知,但在涉及事件的系统上,仍然有可能发现新的恶意代码。

第十七章利用威胁情报,探讨了威胁情报及如何在事件发生前后利用这些数据。在过去十年中,关于威胁行为者、其方法和攻击迹象的数据与情报已变得更容易获取,政府以外的组织也可以使用这些信息。尽管这些信息可以被利用,但许多组织缺乏正确利用威胁情报所需的技能和知识。

第十八章威胁狩猎,指导你进行威胁狩猎的实践、方法论,以及如何以主动的方式整合前几章中介绍的多项技能。威胁狩猎是一种利用数字取证技术主动识别以前未被识别的威胁的实践,当前在许多组织中获得越来越多的关注。

为了充分利用本书

对 Windows 操作系统内部的基本理解将使一些核心概念,如内存分析或进程执行,更易于理解。此外,您应该熟悉在 Windows 和 Linux 命令行中工作的方法。最后,对网络协议的基本理解将有助于分析网络证据。

书中涵盖的软件/硬件
Wireshark
FTK Imager 4.7.12
WinPmem 2.0.1
Belkasoft Live RAM Capturer
Kroll gkape 1.2.0.0
Velociraptor 0.6.4
Eraser 6.2.0.2993
Volatility 3 Framework 2.2.0
Volatility Workbench v3.0.1003
Autopsy 4.19.3
Event Log Explorer 5.2
Skadi 2019.4
操作系统要求
Windows 10

需要在 Linux 操作系统上运行各种工具,如 Ubuntu 20.04。还有一些技术应在沙盒环境中执行,以限制意外感染的可能性。您应该具备虚拟化工具,如 VMWare Workstation Player 或 VirtualBox,以使用涵盖的多个操作系统和工具。

在某些情况下,涵盖的工具有商业版本。在跟随所呈现的各种示例时,不需要购买商业工具。我们的目标是,您可以将这些示例和结构带入生产环境,并在实际调查中使用它们。

下载彩色图像

我们还提供了一个包含本书中使用的截屏和图表彩色图像的 PDF 文件。您可以在这里下载:packt.link/mQnUu

使用的约定

本书中使用了多种文本约定。

文本中的代码: 表示文本中的代码字词、数据库表名、文件夹名称、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。例如:“打开FTK Imager文件夹,并以管理员身份运行可执行文件。”

代码块设置如下:

dc3dd 7.2.646 started at 2022-05-24 22:17:14 +0200
compiled options:
command line: dc3dd if=/dev/sda of=ACMELaptop056.img hash=md5 log=ACMELaptop56.txt

当我们希望引起您对代码块的特定部分的注意时,相关行或项将以粗体显示:

input results for device `/dev/sda':
   937703088 sectors in
   0 bad sectors replaced by zeros
   9fc8eb158e5665a05875f4f5f2e6f791 (md5)

任何命令行的输入或输出格式如下:

E:\winpmem_mini_x64_rc2.exe Acc_LT09.raw

粗体: 表示新术语、重要词汇或屏幕上显示的字词。例如,菜单或对话框中的字词会以粗体显示。例如:“下载后,在 USB 驱动器的Tools分区中安装可执行文件。”

提示或重要说明

如此显示。

联系我们

我们一直欢迎读者的反馈。

一般反馈: 如果您对本书的任何方面有疑问,请通过电子邮件联系我们,邮件地址为 customercare@packtpub.com,并在主题中提及书名。

勘误:尽管我们已尽最大努力确保内容的准确性,但难免会有错误发生。如果你在本书中发现错误,我们将非常感激你能报告给我们。请访问 www.packtpub.com/support/errata 并填写表单。

盗版:如果你在互联网上发现任何我们作品的非法复制品,请提供相关位置地址或网站名称,我们将不胜感激。请通过 copyright@packt.com 联系我们,并附上材料的链接。

如果你有兴趣成为作者:如果你在某个领域具有专业知识,并且有兴趣撰写或为书籍做贡献,请访问 authors.packtpub.com

分享你的想法

一旦你读完了*《数字取证与事件响应》第三版*,我们很想听听你的想法!请 点击这里直接进入亚马逊评论页面并分享你的反馈。

你的评论对我们和技术社区非常重要,它将帮助我们确保提供优质的内容。

下载本书的免费 PDF 副本

感谢你购买本书!

你喜欢随时随地阅读,但无法携带印刷书籍吗?你的电子书购买与选定设备不兼容吗?

不用担心,现在购买每本 Packt 书籍,你将免费获得该书的无 DRM PDF 版本。

在任何地方、任何设备上阅读。直接从你最喜欢的技术书籍中搜索、复制并粘贴代码到你的应用程序中。

福利不仅仅如此,你还可以通过每日收件箱获取独家折扣、新闻通讯以及精彩的免费内容。

按照以下简单步骤获取福利:

  1. 扫描二维码或访问以下链接

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/B18571_QR_Free_PDF.jpg

packt.link/free-ebook/9781803238678

  1. 提交你的购买凭证

  2. 就这样!我们将把免费的 PDF 和其他福利直接发送到你的邮箱。

第一部分:事件响应与数字取证基础

本书的第一部分奠定了事件响应(IR)和数字取证的基础。这些基础元素,如 IR 过程、取证原则和事件管理,将直接关联到书中的后续部分。

本部分包括以下章节:

  • 第一章*, 了解事件响应*

  • 第二章*, 管理网络事件*

  • 第三章*, 数字取证基础*

  • 第四章*, 调查方法论*

第一章:理解事件响应

在审视今天的信息技术IT)面临的威胁时,这似乎是一个让人不知所措的问题。从简单的脚本小子使用现成代码到国家级对手工具,准备好应对这些威胁至关重要。例如,一名内部员工可能下载了一份勒索软件,而这可能对组织产生重大影响。更复杂的攻击,如网络利用尝试或定向数据泄露,会增加安全事件所造成的混乱。技术人员将忙于确定哪些系统受到了影响,并且这些系统是如何被操控的。他们还必须处理通过被攻破的系统可能导致的数据丢失。此外,管理层还会催促他们更新情况并回答一个重要问题:这是怎么发生的? 是网络服务器的漏洞,还是钓鱼邮件导致了横向传播? 管理层还想知道:情况有多严重? 损害是否仅限于网络服务器,还是整个网络的很大一部分已经遭到破坏?

具备以有序高效的方式正确应对安全事件的能力,使组织能够在潜在的网络攻击中限制损害,并从相关损害中恢复。为了促进这种有序的响应,所有规模的组织都已考虑将事件响应IR)能力纳入其现有的政策、程序和流程中。

为了在组织内部建立这一能力,必须解决几个关键组成部分。首先,组织需要对 IR 过程有一定的了解。该过程概述了事件的一般流程以及在每个阶段采取的一般行动。其次,组织需要能够接触到那些构成任何 IR 能力核心的人员。一旦团队组建完成,就需要制定正式的计划和相关流程。这些书面计划和流程构成了组织在事件发生时可以遵循的有序结构。最后,在建立了这一框架后,必须持续评估、测试并改进该计划,因为新的威胁不断出现。利用这个框架将使组织能够为许多组织已经面临的不幸现实做好准备——一个影响安全的事件。

本章将涵盖以下主题:

  • IR 过程

  • IR 框架

  • IR 计划

  • IR 行动手册/手册

  • 测试 IR 框架

IR 过程

网络安全事件在其生命周期中遵循一个一般路径。如果组织具备成熟的 IR 能力,它将采取措施确保在每个阶段都能应对事件。每个事件从组织第一次意识到一个或一系列表明恶意活动的事件开始。这一检测可能来自安全控制警报或外部方告知组织潜在的安全问题。一旦收到警报,组织将通过分析事件、采取遏制措施,将信息系统恢复到正常操作状态。IR 过程没有固定的标准,一个被广泛使用的标准是美国国家标准与技术研究院NIST)的 IR 过程。下图来自 NIST 特别出版物SP800-61,展示了 NIST 过程如何在一个周期中流动,以准备作为起点。仔细观察会发现,每个事件都被用来更好地为组织准备未来的事件,作为事件后活动,并为下一个事件的准备工作提供支持:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/B18571_01_01.jpg

图 1.1 – NIST IR 过程

IR 过程可以分解为以下六个独立的阶段,每个阶段都有一系列组织可以采取的行动来应对事件:

  • 准备:没有良好的准备,任何后续的 IR 都会显得杂乱无章,甚至可能使事件变得更糟。准备的一个关键组成部分是制定 IR 计划。一旦计划完成并且人员配置到位,确保负责 IR 工作的人员得到充分的培训。这包括相关的流程、程序以及调查事件所需的任何额外工具。除了计划外,还应当采购并将取证硬件和软件纳入整体流程中。最后,应定期开展演练,确保组织人员已接受培训并熟悉整个过程。

  • 检测:潜在事件的检测是一项复杂的工作。根据组织的规模,可能每天会有超过一亿个独立的事件。这些事件可以是正常业务过程中采取的合法操作记录,也可以是潜在恶意活动的指示。将大量的事件数据与其他安全控制措施的警报结合在一起,分析师会被数据淹没,必须从大量的网络噪声中筛选出有价值的信号。即便是今天最前沿的安全信息与事件管理SIEM)工具,如果没有得到正确的维护,并且未定期更新规则集来识别哪些事件符合潜在事件的标准,它们的效果也会大打折扣。检测阶段是 IR 过程中的一部分,组织在这一阶段首次意识到一组可能表示恶意活动的事件。这些已被检测到并表明恶意行为的事件随后会被归类为事故。例如,安全分析师可能收到警报,指出某个特定的管理员账户在管理员度假时被使用。检测也可能来自外部来源。互联网服务提供商ISP)或执法机关可能会检测到来自组织网络的恶意活动,并联系该组织通报情况。在其他情况下,用户可能是第一个发现潜在安全事件的人。这可能仅仅是一个员工联系帮助台,告诉帮助台技术员他们收到了一个来自未知来源的 Excel 电子表格并打开了它。现在他们抱怨本地系统上的文件正在被加密。在每种情况下,组织都必须将这些事件升级为事故(我们将在本章稍后讨论),并开始调查和修复的反应过程。

  • 分析:一旦检测到事件,组织的人员或可信的第三方将开始分析阶段。在这一阶段,人员开始收集来自系统的证据,如运行中的内存、日志文件、网络连接和正在运行的软件进程。根据事件的类型,这一收集过程可能需要从几小时到几天不等。证据收集完成后,接下来需要对其进行分析。进行此分析的工具有很多,其中许多将在本书中进行探讨。通过这些工具,分析师试图确定发生了什么,影响了什么,是否有其他系统涉及其中,是否有机密数据被移除。分析的最终目标是确定事件的根本原因,并重建威胁行为者的行为,从最初的入侵到最终的检测。

  • 遏制:一旦充分了解事件的性质和涉及的系统,组织就可以进入遏制阶段。在此阶段,组织采取措施限制威胁行为者继续危害其他网络资源、与指挥与控制C2)基础设施通信或窃取机密数据的能力。遏制策略可以从在防火墙上锁定端口和互联网协议IP)地址,到简单地拔掉感染机器背后的网络电缆。每种类型的事件都有其独特的遏制策略,但拥有多个选项可以让人员在能够检测到安全事件时,或在威胁行为者窃取数据时,迅速从源头遏制问题。

  • 清除与恢复:在清除阶段,组织将从受影响的网络中移除威胁行为者。如果是恶意软件感染,组织可能会运行增强版的反恶意软件解决方案。其他情况下,感染的机器必须被擦除并重新映像。其他活动还包括移除或更改被攻破的用户账户。如果组织已识别出被利用的漏洞,则会应用供应商的修补程序或进行软件更新。恢复活动与组织的业务连续性BC)或灾难恢复DR)计划中的活动非常相似。在该阶段,组织会重新安装全新的操作系统或应用程序,同时从备份中恢复本地系统的数据。作为尽职调查的一部分,组织还会审计现有的用户和管理员账户,以确保没有账户被威胁行为者启用。最后,会进行全面的漏洞扫描,以确保组织确信所有可被利用的漏洞都已被清除。

  • 事件后活动:在事件过程结束时,所有主要利益相关者会对事件进行全面审查。事件后活动包括对事件过程中采取的所有措施进行彻底回顾。哪些措施有效——更重要的是——哪些措施无效,是讨论的重要内容。这些回顾非常重要,因为它们可能突显出对 IR(事件响应)结果产生积极或消极影响的具体任务和行动。正是在这一阶段,书面报告会被完成。记录在事件过程中采取的行动对于捕捉发生的情况以及是否有可能将事件提交至法庭至关重要。为了确保文档的有效性,应该详细记录并展示清晰的事件链条,重点关注根本原因(如果已确定)。参与报告编写的人员应意识到,IT 之外的利益相关者也可能阅读该报告。因此,技术术语或概念应当加以解释。

最后,组织人员应根据事件后评估和报告中得到的最新信息更新自己的 IR 流程。将所学经验纳入其中非常重要,因为这会使未来的事件响应更加有效。

数字取证的作用

很多人对 IR 领域的理解存在误解,认为 IR 仅仅是数字取证的问题。因此,他们经常混淆这两个术语。虽然数字取证是 IR 的关键组成部分(因此我们在本书中包含了多章内容讨论数字取证),但应对事件的处理不仅仅是检查硬盘。最好将取证视为整体 IR 过程的支持性职能。数字取证作为理解事件技术方面的机制,可能帮助识别根本原因,并发现未知的访问或其他恶意活动。例如,一些事件,如拒绝服务DoS)攻击,几乎不需要任何取证工作。另一方面,涉及内网服务器和 C2 流量的网络入侵事件,则需要对日志、流量分析和内存进行广泛检查。从这些分析中,可能会得出根本原因。在这两种情况下,受影响的组织都能应对事件,但在后者的情况下,取证发挥了更重要的作用。

IR(事件响应)是信息安全职能,利用数字取证的方法、工具和技术,但它超越了数字取证所提供的内容,涉及额外的元素。这些元素包括遏制潜在的恶意软件或其他漏洞、识别并修复脆弱性,以及管理各种技术和非技术人员。一些事件可能需要分析主机证据或内存,而其他事件可能只需要审查防火墙日志,但在每种情况下,响应者都会遵循 IR 流程。

IR 框架

响应数据泄露、勒索病毒攻击或其他安全事件绝不应是临时处理的过程。未定义的流程或程序会导致组织无法既识别事件的范围,又能在足够的时间内止住损失,从而限制损害。此外,在事件发生时试图制定应对计划,实际上可能会破坏关键证据,或者更糟糕的是,制造更多问题。

对 IR 流程有深入的了解只是建立该能力的第一步。组织所需的是一个框架,通过利用组织现有资源来执行这些流程。IR 框架描述了组织内功能性 IR 能力的组成部分。该框架包括人员、政策、程序和实施等要素。正是通过这些要素,组织建立了应对事件的能力。

IR 章程

建立这一能力的第一步是高级领导层决定,组织面临的风险过于重大,不能忽视潜在的安全事件的可能性。一旦达成这一共识,组织的高级成员将担任项目赞助人,并制定 IR 章程。该章程概述了将推动计算机安全 IR 团队CSIRT)创建的关键要素。

信息

尽管 IR 团队有多个名称,CERT(计算机应急响应小组)一词常常与US-CERT(美国计算机应急响应小组)相关联,后者隶属于美国国土安全部US DHS)或CERT 协调中心CERT/CC),该中心由卡内基梅隆软件工程研究所SEI)管理。为了方便起见,我们将使用更通用的 CSIRT。

IR 章程应为一份书面文件,涵盖以下内容:

  • 获得高级领导层支持:为了成为组织的有效组成部分,CSIRT 需要获得组织高级领导层的支持。在私营部门机构中,获得必要的支持和资金可能较为困难,因为 CSIRT 本身并不像营销或销售那样直接提供价值。应该理解的是,CSIRT 在最糟糕的情况下充当保险政策。通过这种方式,CSIRT 可以通过减少事件的影响来证明其存在,从而降低与安全漏洞或其他恶意活动相关的成本。

  • local.example.com 或如*ACME Inc.*这样的组织名称及相关子公司。

  • 创建使命声明:如果没有明确的 CSIRT 目的定义,使命蔓延或 CSIRT 职责的逐步扩展可能会发生。为防止这种情况,书面信息安全计划中应包括一个清晰定义的使命声明。例如,*ACME Inc.的 CSIRT 使命是为影响ACME Inc.*信息系统和人员的安全事件提供及时的分析和行动,确保保密性、完整性和可用性。

  • 确定服务交付:与使命声明一起,明确列出服务清单也可以防止 CSIRT 的使命范围膨胀。服务通常分为两大类——主动服务和反应服务,如下所述:

    • 主动服务:包括为非 CSIRT 员工提供培训,提供有关新兴安全威胁的摘要,测试和部署安全工具,如端点检测与响应EDR)工具,以及通过制定入侵检测系统/入侵防御系统IDS/IPS)告警规则来协助安全运营。

    • 反应服务:这些主要是针对发生的事件进行响应。大多数情况下,反应服务涵盖整个 IR 过程。这包括证据的获取和检查、协助 containment(遏制)、根除和恢复工作,以及最后——记录事件。

明确声明的章程的另一个重要好处是让整个组织了解 CSIRT。这是为了消除关于团队目的的任何谣言或暗示。组织的员工可能会听到诸如数字调查IR 团队这样的术语,进而认为组织正在准备专门用来揭发员工不当行为的秘密警察。为了应对这一点,可以向所有员工提供一份简短的声明,包含 CSIRT 的使命声明。CSIRT 还可以定期向高级领导层提供处理过的事件更新,以展示团队的目的。

CSIRT 团队

一旦完成 IR 章程,下一步就是开始为 CSIRT 配置人员。大型组织如果资源充足,可能会将人员全职分配给 IR 职责。然而,通常情况下,组织不得不利用那些有其他职责的人员来支持 IR。内部 CSIRT 成员可以分为三类:核心团队、技术支持和组织支持。CSIRT 中的每个人都有特定任务。将这一能力建设进组织,需要的不仅仅是分配人员和创建政策与程序文件。与任何大型项目倡议一样,创建一个功能齐全的 CSIRT 需要相当大的努力。

对于 CSIRT 的每个类别,都有特定的角色和责任。这一广泛的人员配置旨在为各种从小到大的事件提供指导和支持。

CSIRT 核心团队

CSIRT 核心团队由全职承担 IR 职责或在需要时承担 IR 活动的人员组成。在许多情况下,核心团队通常由分配到信息安全团队的人员组成。其他组织可以利用具有 IR 活动专长的人员。以下是可以纳入核心团队的角色:

  • IR 协调员:这是任何 CSIRT 中的关键组成部分。如果没有明确的领导,潜在事件的响应可能会混乱,或者在事件发生时,多个个人争夺控制权,导致混乱的局面,反而可能使事件变得更糟。在许多情况下,IR 协调员通常是 首席安全官CSO)、首席信息安全官CISO)或 信息安全官ISO),因为该人员通常负责组织信息安全的总体管理。其他组织可能会指定一个单独的个人担任 IR 协调员。IR 协调员负责在事件发生前、发生中和发生后管理 CSIRT。在准备阶段,IR 协调员将确保任何关于 CSIRT 的计划或政策定期审查并在必要时更新。此外,IR 协调员还负责确保 CSIRT 团队得到适当的培训,并监督 CSIRT 人员的测试和培训。

在事件发生期间,IR 协调员负责确保事件得到适当的响应和修复,并指导团队完成整个 IR 过程。在事件处理中,最重要的任务之一是协调 CSIRT 与高层领导的沟通。由于数据泄露的风险较高,像 首席执行官CEO)这样的高层领导希望及时了解有关事件的关键信息。IR 协调员的责任是确保高层领导充分了解与事件相关的活动,并使用简明扼要的语言进行汇报。一个障碍是,组织内的高级领导可能缺乏理解事件技术方面的能力,因此与他们沟通时,需要使用他们能够理解的语言。

最后,在事件结束时,IR 协调员负责确保事件被适当记录,并将 CSIRT 活动的报告交付给相关的内部和外部利益相关者。此外,还会对所有 CSIRT 活动进行全面的总结,并将经验教训纳入到 CSIRT 计划中。

  • CSIRT 高级分析员:CSIRT 高级分析员是具有丰富 IR 培训和经验的人员,他们还具备数字取证或网络数据分析等相关技能。他们通常有多年作为顾问或企业 CSIRT 成员进行 IR 活动的经验。

在 IR 过程的准备阶段,他们参与确保自己具备处理在 CSIRT 中担任特定角色所需的技能和培训。他们通常还会协助审查和修改 IR 计划。最后,高级分析员还会参与培训团队中的初级成员。

一旦事件被识别,高级分析员将与其他 CSIRT 成员合作,获取和分析证据,指导遏制活动,并协助其他人员进行补救。

在事件结束时,高级分析员将确保他们自己和其他人员适当记录该事件。这将包括向内部和外部利益相关者准备报告。他们还将确保任何证据都根据 IR 计划被适当归档或销毁。

  • CSIRT 分析员:CSIRT 分析员是承担 CSIRT 职责的人员,他们在 IR 活动中经验较少或接触较少。通常,他们只有 1 到 2 年的事件响应经验。因此,他们可以执行各种活动,其中一些活动是在高级分析员的指导下进行的。

在准备阶段的活动中,分析员将通过培训和演练提升技能。他们也可能参与 IR 计划的审查和更新。在事件发生期间,他们将负责从可能受感染的主机、网络设备或各种日志源收集证据。分析员还将参与证据的分析,并协助其他团队成员进行补救活动。

  • 安全运营中心(SOC)分析员:较大的企业可能拥有内部或外包的 24/7 SOC 监控能力。被分配到 SOC 的分析员通常会成为事件检测和警报的关键人员。因此,拥有 SOC 分析员作为团队的一员,可以让他们接受事件识别和响应技术的培训,并几乎立即响应潜在的安全事件。

  • IT 安全工程师/分析员:根据组织的规模,可能会有专门的人员负责部署、维护和监控与安全相关的软件(如防病毒软件)或硬件(如防火墙或 SIEM 系统)。当事件被识别时,直接访问这些设备是至关重要的。被分配这些职责的人员通常会在整个应急响应(IR)过程中扮演直接角色。

IT 安全工程师或分析员将负责 IR 过程的准备工作。他们将是确保安全应用程序和设备正确配置以便于警报潜在事件的主要资源,并确保设备正确记录事件,以便能够重建事件过程。

在事件发生期间,他们的任务是监控安全系统,寻找其他恶意行为的指示。他们还将协助其他 CSIRT 人员从安全设备中获取证据。最后,在事件发生后,这些人员将负责配置安全设备,监控可疑行为,以确保补救活动已经消除了受影响系统中的恶意活动。

技术支持人员

技术支持人员是指那些在组织内不承担 CSIRT 日常活动的人员,但他们在事件发生时具备可能受到影响的系统和流程的专业知识或访问权限。例如,CSIRT 可能需要让服务器管理员协助核心团队从服务器获取证据,如内存捕获、虚拟系统获取或日志文件卸载。完成后,服务器管理员的角色即告结束,他们可能不再参与该事件。以下是一些在事件发生时可以为 CSIRT 提供帮助的人员:

  • 网络架构师/管理员:事件通常涉及网络基础设施,包括路由器、交换机以及其他网络硬件和软件的攻击。网络架构师或管理员对这些设备的正常和异常行为有重要的见解,并且能帮助识别异常的网络流量。在涉及网络基础设施的事件中,这些支持人员可以协助获取网络证据,如访问日志或数据包捕获。

  • 服务器管理员:威胁行为者通常瞄准网络中存储关键或敏感数据的系统。这些高价值目标通常包括域控制器、文件服务器或数据库服务器。服务器管理员可以帮助从这些系统中获取日志文件。如果服务器管理员还负责维护 Active Directory 结构,他们可能能够协助识别新用户账户或现有用户及管理员账户的变化。

  • 应用支持:Web 应用程序是威胁行为者的主要目标。编码中的缺陷,如允许 SQL 注入或安全配置错误,常常是某些安全漏洞的根源。因此,将应用支持人员纳入 CSIRT 有助于查找与应用攻击直接相关的信息。这些人员通常能够识别代码变更或确认在对应用程序可能攻击的调查过程中发现的漏洞。

  • 桌面支持:桌面支持人员通常参与维护桌面系统上的控制措施,如数据丢失防护和防病毒软件。在发生事件时,他们可以协助提供 CSIRT 所需的日志文件和其他证据。他们还可能负责在事件的修复阶段清理受感染的系统。

  • 帮助台:根据不同组织的情况,帮助台人员在识别事故方面就像煤矿中的金丝雀一样。他们通常是用户在第一次出现恶意软件感染或其他恶意活动迹象时联系的第一个人。因此,帮助台人员应参与 CSIRT 响应的培训,并了解他们在事故识别和升级程序中的角色。如果发生广泛的事件,他们还可以协助识别其他受影响的人员。

组织支持人员

除了技术领域,其他组织成员也应纳入 CSIRT 中。组织人员可以协助解决一系列非技术性问题,这些问题超出了 CSIRT 核心人员和技术支持人员的职责范围。这些问题包括导航内部和外部法律环境、协助客户沟通或在现场支持 CSIRT 人员。

以下是应纳入 CSIRT 计划的一些组织支持人员:

  • 法律:数据泄露和其他事故涉及各种法律问题。许多国家现在都有泄露通知法律,要求组织通知客户其信息已被置于风险中。其他合规要求,如健康保险流动性与责任法案HIPAA)和支付卡行业数据安全标准PCI DSS)要求受影响的组织联系各种外部机构并通知他们可能发生的泄露事件。在 IR 过程的早期引入法律代表,将确保这些通知和其他法律要求及时得到处理。如果泄露是由内部人员(如员工或承包商)造成的,受影响的组织可能希望通过民事诉讼追回损失。在过程的早期包括法律代表,将有助于做出更为知情的决定,确定应遵循哪种法律程序。

  • 人力资源(HR):组织中发生的许多事故是由员工或承包商实施的。诸如欺诈行为或大规模数据盗窃等行为的调查可能需要 CSIRT 介入。如果调查的对象是员工或承包商,人力资源部门可以协助确保 CSIRT 的行动符合适用的劳动法和公司政策。如果需要解雇员工或承包商,CSIRT 可以与人力资源人员协调,确保所有有关该事件的适当文档已完成,从而减少不当解雇诉讼的可能性。

  • 市场营销/通讯:如果外部客户或顾客可能受到像 DoS 攻击或数据泄露等事件的负面影响,市场营销或通讯部门可以帮助制定合适的信息,安抚顾客的恐慌,并确保外部实体获得最准确的信息。回顾过去一些数据泄露事件,其中一些组织试图将细节隐瞒,不告知客户,结果引发了公众的强烈反应。拥有一个完善的沟通计划,并在早期付诸实践,将有助于缓解客户或客户的任何负面反应。

  • 设施:CSIRT 可能需要在非工作时间或长时间内访问特定区域。设施部门可以协助 CSIRT 及时获得所需的访问权限。设施部门还可能为 CSIRT 提供额外的会议空间,以应对长时间的事件,需要专门的工作空间和基础设施。

  • 公司安全:CSIRT 可能会被召集处理公司网络资源或其他技术的盗窃事件。笔记本电脑和数字媒体的盗窃非常常见。公司安全部门通常可以访问入口和出口处的监控录像。他们可能还会保存员工和其他人员在设施内活动的门禁卡和访客记录,供 CSIRT 跟踪。这有助于重构导致盗窃或其他事件发生的过程。

外部资源

许多行业都有专业的组织,行业从业者无论所属雇主如何,都可以聚集在一起共享信息。CSIRT 人员有时也可能需要与执法部门和政府机构进行对接,特别是在他们成为针对多个类似组织的大规模攻击的一部分时。与外部组织和机构建立关系可以在发生事件时,帮助 CSIRT 获取情报共享和资源支持。这些资源包括以下内容:

  • 高技术犯罪调查协会HTCIA):HTCIA 是一个国际性的专业人士和学生组织,专注于高技术犯罪。资源涵盖从数字取证技术到可以帮助 CSIRT 人员掌握新技术和方法的广泛企业级信息。如需更多信息,请访问官网 htcia.org/

  • InfraGard:对于在美国的 CSIRT 和信息安全从业人员,联邦调查局FBI)创建了一个旨在促进网络和信息共享的公私合营伙伴关系。此伙伴关系使 CSIRT 成员可以分享有关趋势的信息或讨论过去的调查。更多信息请访问以下网站:www.infragard.org/

  • 执法:与网络相关的犯罪活动在执法领域经历了爆炸性的增长。对此,许多执法机构已提高了调查网络犯罪的能力。CSIRT 领导应与具备网络犯罪调查能力的机构建立关系。执法机构可以提供有关正在发生的特定威胁或犯罪的见解,并向 CSIRT 提供任何相关的信息。

  • 供应商:在发生事件时,可以利用外部供应商,而他们能提供的服务通常取决于组织与他们合作的业务领域LOB)。例如,组织的 IPS/IDS 解决方案提供商可以协助制定自定义警报和阻断规则,以帮助检测和遏制恶意活动。具有威胁情报TI)能力的供应商也可以提供有关恶意活动指标的指导。最后,一些组织可能需要聘请专门从事 IR 的供应商,比如当需要逆向工程恶意软件时,这些技能超出了组织的能力范围。

根据组织的规模,CSIRT 涉及多人的情况很容易理解。在组建整个 CSIRT 时,确保每个成员了解其角色和职责至关重要。还应要求每个成员就整个 IR 过程中可以利用的特定专业知识提供指导。在 IR 框架的下一个部分——IR 计划的制定过程中,这一点变得尤为重要。

IR 计划

编写完 IR 章程并成立 CSIRT 后,下一步是制定 IR 计划。IR 计划是一个概述组织响应能力高层结构的文件。这是一个高层次的文件,作为 CSIRT 的基础。IR 计划的主要组成部分如下:

  • IR 章程:IR 计划应包括来自 IR 章程的使命声明和服务对象。这使得该计划在 IR 能力的起始阶段和 IR 计划之间具有连续性。

  • 扩展服务目录:最初的 IR 章程包含了泛泛的服务类别,并未提供具体细节,因此 IR 计划应当包括 CSIRT 提供的具体服务内容。例如,如果法证服务被列为服务项目的一部分,IR 计划可能会指出,法证服务包括从硬盘中恢复证据、内存取证和反向工程分析可能的恶意代码,以支持事件调查。这可以帮助 CSIRT 清楚地区分正常请求(例如,搜索硬盘以找回与事故无关的误删文档)与与已声明的事件相关的硬盘镜像操作。

  • CSIRT 人员:如前所述,CSIRT 由许多成员组成。IR 计划将明确这些角色和职责。组织应当从仅仅列出姓名和职位出发,进一步明确每个成员的具体角色和职责。在事故发生时,避免出现地盘之争是非常重要的,明确 CSIRT 人员的角色和职责有助于大大减少这种可能性。

  • 联系方式列表:最新的联系方式列表应作为 IR 计划的一部分。根据组织的不同,CSIRT 可能需要全天候响应事件。在这种情况下,IR 计划应包含主要和次要的联系方式。组织还可以安排轮班的 CSIRT 成员,在事件发生时担任首个联系方式。

  • 内部沟通计划:事故发生时,人员可能会感到混乱,他们需要确认发生了什么、需要哪些资源以及应该联系谁来处理该事件。IR 计划中的内部沟通指南可以帮助应对这种混乱。此部分计划涉及信息在高级领导层和 CSIRT 之间的上下流动。还应考虑 CSIRT 核心成员与支持人员之间的横向沟通。这有助于限制彼此沟通的人员范围,减少可能出现的相互矛盾的指令。

  • 培训:IR 计划还应指明 CSIRT 人员的培训频率。至少,整个 CSIRT 团队每年应进行一次桌面演练。如果在事故事后分析中发现培训存在空白,应该在事故结束后合理的时间内加以解决。

  • 维护:各种规模的组织都会不断变化。这可能包括基础设施、威胁和人员的变化。IR 计划应考虑审查和更新计划的频率。例如,如果组织收购了另一家公司,CSIRT 可能需要调整服务提供或整合特定的人员及其角色。至少,IR 计划应每年更新一次。个别团队成员还应通过组织如系统管理、网络和安全SANS)提供的培训和认证,或专门的数字取证工具培训,来提升自己的技能。组织还可以将任何演练中的经验教训纳入更新中。

事件分类

不是所有事件的严重性和对组织的威胁都是一样的。例如,一种病毒感染了组织支持区域的几台计算机,其响应等级会与关键服务器的主动妥协事件不同。将所有事件视为同等严重将迅速耗尽 CSIRT 的精力,因为他们必须以相同方式响应即使是轻微的事件。

因此,在 IR 计划中定义事件分类架构非常重要。通过对事件进行分类并评估响应,组织可以更好地利用 CSIRT,并确保它们不会将所有资源投入到次要问题中。以下是一个示例分类架构:

  • 高级事件:高级事件是指预计会对关键和/或战略性公司或客户信息造成重大损害、破坏或丧失的事件。高级事件可能涉及系统或网络资源的广泛或长期丧失。此类事件可能对组织及其公司公众形象造成损害,并使组织承担责任。高级事件的示例包括但不限于以下内容:

    • 网络入侵

    • 勒索软件

    • C2 流量的识别

    • 信息系统的物理妥协和关键信息的泄露

    • 丧失包含未加密机密信息的计算机系统或可移动媒体

    • 广泛且不断增长的恶意软件感染(超过 25% 的主机)

    • 针对 IT 基础设施的定向攻击

    • 使用组织域名和品牌进行的钓鱼攻击

  • 中级事件:中级事件是指可能导致可替代信息的损害、破坏或丧失的事件,且未造成信息泄露(没有滥用敏感客户信息)。中级事件可能会对系统或网络资源造成显著干扰,或可能影响公司内业务单元BU)的任务。以下是一些中级事件的示例:

    • 预期或正在进行的 DoS 攻击

    • 丧失包含未加密机密信息的计算机系统或可移动媒体

    • 授权访问的滥用或不当使用;自动化入侵

    • 限制性恶意软件感染

    • 异常的系统性能或行为;恶意软件的安装

    • 可疑的计算机活动变化

  • 低级事件:低级事件是指造成不便和/或无意损害或丢失可恢复信息的事件。该事件对公司几乎没有影响。以下是一些此类事件的例子:

    • 通过合规审查或日志审查发现的政策或程序违规行为

    • 遗失或被盗的笔记本电脑或其他含有加密机密信息的移动设备

    • 未经授权的软件安装;单台 PC 的恶意软件感染

IR 应急预案/手册

IR 计划的一个关键方面是使用应急预案。IR 应急预案是一套在 IR 流程中的每个步骤中执行的指令和行动。应急预案的创建是为了为组织提供清晰的路径,但在调查的事件无法完美符合预定模式时,仍能保持一定的灵活性。

判断哪些应急预案至关重要的一个重要指标是组织的风险评估。检查任何被评为关键或高风险的威胁的风险评估,将指明需要通过 IR 应急预案来处理的情境。大多数组织会将一些威胁识别为关键,如通过零日漏洞进行的网络入侵、勒索软件或网络钓鱼,这些威胁需要预防和侦测控制。由于风险评估已将这些识别为关键风险,因此最好从这些威胁开始制定应急预案。

在没有风险或威胁评估的情况下,组织应至少有五个应急预案,涵盖它们可能面临的最常见情境,如下所示:

  • 网络钓鱼

  • 恶意软件

  • 勒索软件

  • 外部系统中的漏洞

  • 商务电子邮件攻击BEC

注意事项

过去几年展示了勒索软件攻击对组织造成的毁灭性影响。本书将分析几种情境,作为整体勒索软件威胁的一部分,以更好地理解对这种类型攻击的准备和响应。

例如,让我们来分析一个常见威胁的应急预案——社会工程学。在这个应急预案中,我们将其划分为之前讨论过的 IR 流程,如下所示:

  • 准备:在这一部分中,组织将重点介绍所进行的准备工作。在网络钓鱼的情况下,这可以包括提高员工识别潜在钓鱼邮件的意识,或者使用扫描附件中的恶意软件的电子邮件设备。

  • 检测:对于网络钓鱼攻击,组织通常通过警觉的员工或电子邮件安全控制收到警报。组织还应计划通过恶意软件防护或主机入侵防护系统HIPS)控制接收警报。

  • Analysis: 如果检测到事件,分析现有的任何证据对于分类和适当响应事件至关重要。在这种情况下,分析可能包括检查被感染主机的内存,检查事件日志中的可疑条目,以及审查主机进出的任何网络流量。

  • Containment: 如果已确认主机受到感染,应将其与网络隔离。

  • Eradication: 如果确认存在恶意软件,应将其移除。如果没有,手册应该有备选方案,如使用已知的良好镜像重新部署。

  • Recovery: 恢复阶段包括扫描主机以查找潜在的漏洞,并监控系统是否存在异常流量。

  • 事后活动: 手册还应指导在事件发生后应采取哪些行动。这些行动中的许多都将在播放簿的目录中相同,但是包括它们是很重要的,以确保它们完整地完成。

以下图表是针对钓鱼攻击的示例手册。请注意,该手册涵盖了 IR 周期的每个阶段,以及作为响应的一部分应采取的具体行动。此外,组织可以详细说明特定行动,例如通过日志分析特定手册:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/B18571_01_02.jpg

图 1.2 – 社会工程学手册

可以通过多种方式配置手册,例如,可以将书面文档添加到特定类型事件的 IR 计划中。其他时候,组织可以使用软件如 iStudio 或 Visio 制作流程图。它们旨在为 CSIRT 和其他人员提供一套遵循事件中的指令,从而避免浪费时间。手册作为指南,应定期更新,特别是在事件中使用时,应识别任何关键部分或步骤。应注意,手册并非铁板一块,也不是一份清单。CSIRT 人员在行动方面不受手册的限制,如果事件需要,可以自由进行额外的行动。

升级流程

IR 计划的一个关键组成部分是升级程序。升级程序概述了谁负责将信息系统中的事件或一系列事件从仅仅是异常转移到事故。如果 CSIRT 被派去调查太多误报,他们会变得筋疲力尽。升级程序确保有效利用 CSIRT,并且只有在需要其专业知识时才联系人员。

该程序从最有可能观察到系统中异常或事件的人员开始,这些异常或事件可能预示着更大的安全事件——例如,帮助台可能会接到一系列电话,表明可能存在恶意软件感染。升级程序可能指示,如果检测到恶意软件并且无法通过恶意软件防护措施进行清除,人员应联系值班的 CSIRT 成员。在此步骤中的一个重要考虑因素是确定升级报告中应包含哪些信息。以下指南列出了 CSIRT 开始处理问题所需的详细信息:

  • 检测日期和时间:这个初始数据点不言自明。但有两个主要考虑因素。第一个是时区。首选时区是协调世界时UTC)。如果所有记录活动的系统都配置为 UTC,这特别有用。第二个是格式。虽然有些争议,但一种通用的方法是将日期和时间放在一起,形成以下格式:20220117T1637 UTC。

  • 报告人:此人作为任何可能被召入升级处理的其他人员的初始联系人。此人应对事件有清晰的了解,能够回答任何问题。通常情况下,这个人是 SOC 经理或其他责任人。

  • 事件类型:在升级过程中,明确被升级事件的类型非常重要。这可能决定了特定类型的响应。以下是需要考虑的事件类型:

    • 勒索软件

    • 恶意软件感染

    • 外部系统被攻破

    • 持续的妥协

    • 数据外泄

    • C2

    • DoS

    • 其他

  • 事件严重性:这是对事件严重性的首次评估。了解问题的严重性将帮助 IR 团队合理配置资源。

  • 受影响系统的数量:如果可能,提供事件的规模非常重要。这应包括受影响的系统数量、操作系统类型以及系统的功能——例如,影响的是仅运行 Apache 的 Linux 服务器,还是 Windows 桌面计算机。

  • 零号病人已识别:这个数据通常不会在初步升级中包含,因为零号病人——即第一个被识别为受损的系统——通常是在事件的分析阶段发现的。

  • 已识别战术:任何已识别的战术也应被升级。例如,使用服务器消息块SMB)或远程桌面协议RDP)进行的横向移动战术应该被升级,因为这些战术表明这是一个更广泛的网络安全事件。使用的战术框架可以参考 MITRE 的对抗战术、技术与常识ATT&CK)框架,这将在后续章节中讨论。

  • 妥协指示器(IOCs):与最初检测相关的数据点,如 IP 地址、域名或文件哈希,应提交并纳入分析的一部分。

  • 所采取的行动:如果采取了任何行动,报告方或其同事也应被记录。例如,如果报告小组有能力阻止代码执行,并成功阻止了恶意软件的进一步执行,这将直接影响 IR 团队所采取的响应措施。

有多种方法可以将这些信息传递给 CSIRT。工单系统可以配置为自动通知 CSIRT 人员,工单中包含相关的升级细节。另一个选择是使用电子邮件模板,发送给处理升级的特定 CSIRT 人员。在事件发生期间,CSIRT 和其他人员从事件开始时所采取的所有行动应被记录并跟踪。

信息

对于那些资源有限、每年发生的事件较少的组织,大多数 IT 工单系统足以跟踪事件。这种方法的缺点是,这些系统通常缺乏 IR(事件响应)功能,并且没有专门支持 IR 活动的附加功能。对于事件频发的大型组织,实施专门设计的 IR 跟踪系统可能是最合适的选择。这些系统可以集成证据收集和事件处置手册。

然后,CSIRT 成员将接管事件处理。如果他们能够将恶意软件限制在单一系统内并确定感染路径,他们将尝试移除恶意软件,若无法清除,则会重新安装并重新部署系统。此时,事件已成功结束。CSIRT 成员可以记录事件并关闭工单,而无需调动其他资源。

另一个例子是,当升级过程进一步发展为全面的 CSIRT(计算机安全事件响应团队)响应时,最初的情况可能非常简单,只需对 Active Directory 凭据进行审计。在这种情况下,负责访问管理的服务器管理员正在进行半年度的管理员凭据审计。在审计过程中,他们发现三个新的管理员用户账户,这些账户没有与任何已知的访问权限关联。经过进一步调查,他们确定这些用户账户是在几个小时内创建的,而且是在一个周末期间创建的。服务器管理员随即联系 CSIRT 进行调查。

CSIRT 分析员观察情况,判断可能发生了安全事件。CSIRT 成员指示服务器管理员检查事件日志,查看是否有使用管理员账户的登录记录。服务器管理员发现了两个登录:一个是在数据库服务器上,另一个是在 非军事区 (DMZ) 的 Web 服务器上。随后,CSIRT 分析员指示分配给 CSIRT 的网络管理员检查 SQL 数据库和 Web 服务器之间的网络流量。此外,基于当前情况,CSIRT 分析员将此事升级到 CSIRT 协调员,并将情况通报给他们。CSIRT 协调员随即开始启动其他 CSIRT 核心团队和技术支持成员的协作。

在检查网络流量后,确认外部威胁行为者已经入侵了这两个系统,并正试图从内部网络中窃取客户数据库。此时,CSIRT 协调员将此事件视为高危事件,并开始组织支持人员进行简报。由于此次事件涉及客户数据的泄露,CSIRT 支持人员——如市场营销、沟通与法律人员——需要参与其中。如果需要更多资源,CSIRT 协调员将主导决策。

升级程序的制定旨在确保相关人员拥有适当的授权和培训,能够在需要时调动资源。升级程序还应考虑在事件严重性不同的情况下,是否需要其他非核心 CSIRT 成员的参与。升级程序的关键功能之一是明确哪些人员有权宣布事件中的异常活动。升级程序还应根据事件的严重性,明确是否需要其他人员参与。

测试 IR 框架

到目前为止,已经在准备应对安全事件的多个领域取得了进展。从最初对 IR 过程的理解开始,我们已经完成了 IR 计划及相关操作手册的制定。

一旦某项能力建立完成,应通过桌面演练来发现任何潜在的漏洞或缺陷。此演练应包含一个涉及整个团队和相关操作手册的高危事件场景。应准备并提交一份报告,详细列出桌面演练的结果以及任何缺陷、修正或调整,并将报告转交给高级领导层。一旦领导层获知并确认 CSIRT 已准备好投入使用,它就正式投入运营。

当 CSIRT 在结构化场景下执行计划时变得得心应手,他们可能会想尝试更复杂的测试措施。另一个可行的选项是红/蓝或紫队演练。在这种情况下,CSIRT 的任务是响应授权的渗透测试。此时,团队能够与真实对手对抗,测试计划和操作手册。这显著提高了渗透测试的价值,因为它不仅提供了对基础设施安全的洞察,还展示了组织对威胁做出适当反应的能力。

无论团队的组成如何,CSIRT 部署的另一个关键组成部分是定期培训的纳入。对于 CSIRT 核心成员,应持续进行关于新兴威胁、取证技术和工具的专项培训。这可以通过第三方培训提供者来进行,或者如果有条件的话,也可以通过内部培训进行。CSIRT 的技术支持成员应定期接受有关可用技术和工具的培训。

如果这些成员在事件发生时可能被召集来协助证据收集或修复活动,这一点尤其重要。最后,其他支持成员应参与 IR 计划的年度测试。就像首次测试一样,组织应选择一个高层次的事件并通过桌面演练进行处理。另一个可供组织选择的方案是将 IR 计划的测试与渗透测试结合起来。如果组织能够检测到渗透测试的存在,他们就具备了应对事件的能力,可以进行事件的初期阶段并为剩余部分制定桌面演练。

IR 计划的持续维护的一个最终组成部分是全面的年度审查。进行年度审查是为了确保任何人员、成员或任务的变化不会影响计划的其他部分。除了审查计划,还会对操作手册进行全面审查。随着威胁的变化,可能需要更改现有的操作手册或增加新的手册。若出现新的威胁,CSIRT 人员也应自由创建新的操作手册。通过这种方式,CSIRT 能够更好地应对可能影响组织的事件。任何重大的更改或增加也应触发另一次桌面演练,以验证附加的计划和操作手册。

总结

本杰明·富兰克林曾说过:“不做准备,你就是在准备失败。”在许多方面,这句话在组织和网络攻击威胁方面是非常准确的。为网络攻击做好准备是一项至关重要的职能,必须像任何其他网络安全方面一样认真对待。深入了解 IR 过程,并基于此建立 IR 能力,可以为组织提供一种准备措施,以便在发生事件时能够进行响应。请记住,随着我们向前推进,取证技术、威胁情报(TI)和逆向工程旨在帮助组织走到最后——即恢复正常运行。

本章探讨了构建 IR 能力所需的一些准备工作。选择团队、制定计划、创建剧本和升级程序,使 CSIRT 能够有效地应对事件。CSIRT 及其相关计划为数字取证技术提供了结构。

本讨论将在下一章开始,在那里,适当的证据处理和文档记录是调查事件的关键第一步。

问题

通过回答以下问题测试你的知识:

  1. 在对 IR 计划和/或剧本进行更改后,应该进行桌面演练。

    1. 正确

    2. 错误

  2. 以下哪些角色不会是 CSIRT 核心团队的成员?

    1. 事件协调员

    2. CSIRT 分析员

    3. 法律

  3. 在 IR 框架中,不必为事件发生时提供技术资源支持。

    1. 正确

    2. 错误

  4. 风险评估是识别高风险事件并为剧本创建提供有效数据源的一个有效途径。

    1. 正确

    2. 错误

进一步阅读

你可以参考以下资源,获取有关我们在本章所学内容的更多信息:

第二章:管理网络事件

上一章中详细介绍的事件响应框架提供了 计算机安全事件响应团队CSIRT)的具体结构,并解释了 CSIRT 如何与其他业务部门进行互动。本章进一步扩展了组织应采取的必要计划和准备工作,以应对网络事件。不幸的是,计划和准备无法解决网络事件中固有的所有变量和不确定性。

本章将重点执行在 第一章 中详细阐述的计划和框架,以正确管理网络事件。对网络事件管理的坚实基础和理解可以帮助组织更高效地付诸实践,与关键利益相关者及时沟通,并且最重要的是,减少网络事件可能造成的损失或停机时间。

本章将讨论如何管理网络事件,涵盖以下主题:

  • 参与事件响应团队

  • 安全编排、自动化和响应

  • 融入危机沟通

  • 融入遏制策略

  • 恢复正常 – 根除、恢复和事件后的活动

参与 CSIRT,就像联系消防部门一样,需要一个明确的升级路径。在以下章节中,有三个 CSIRT 模型,描述了在选择合适的升级路径时的一些选项。

参与事件响应团队

CSIRT 的功能与消防部门类似。消防部门有经过专门训练的专业人员,负责使用专门设备响应紧急情况,以遏制并根除火灾。为了联系消防部门,公民必须联系紧急服务并提供关键信息,如紧急情况的性质、位置以及是否有人命危险。然后,这些信息会传递给消防部门,消防部门派遣资源到紧急地点。

参与 CSIRT 的过程非常类似于联系消防部门。内部或外部人员需要将网络安全事件的指示升级到适当的人员。此后,资源会被派遣到适当的地点,在现场的人员将主导控制事件并消除或限制可能的停机时间或数据丢失。为了使这个过程尽可能高效,以下是参与过程中的关键组成部分:

  • CSIRT 模型提供了一个框架,将 CSIRT 和相关的升级程序纳入组织结构中

  • 战情室 描述了 CSIRT 管理事件的地点

  • 沟通解决 CSIRT 正确沟通的能力

  • 人员轮换管理了在长期事件中需要休息人员的需求

CSIRT 参与模型

组织如何使用其 CSIRT 能力,很大程度上取决于其结构。组织根据自身结构和资源配置 CSIRT,以便最好地促进快速升级,同时尽可能多地捕捉事件的细节,从而进行适当的调查。

安全操作中心升级

在这种组织模型中,安全操作中心SOC)负责处理初步的事件检测或调查。一般来说,SOC 负责管理监控网络基础设施的安全工具。它可以直接访问事件管理、入侵防御和检测以及杀毒系统。在这里,它可以查看事件、接收和审查警报,并处理其他与安全相关的数据。

SOC 升级是拥有专门 SOC 的组织中常见的一种模式,无论是通过内部人员、第三方托管安全服务提供商MSSP)还是托管检测与响应MDR)提供商。在这种模式中,从初始通知到 CSIRT 的介入都有明确的步骤,具体如下:

  1. SOC 或一级分析员接收警报或检测。

  2. SOC 或一级分析员进行初步分析,然后确定警报或检测是否符合事件的标准。

  3. 如果有必要,分析员将把事件上报给 SOC 经理。

  4. 在 SOC 经理审核后,事件将被升级到值班的事件响应分析员。

  5. CSIRT 分析员将审查警报或检测,并根据事件的严重性判断是否需要启用整个 CSIRT 能力。

  6. 根据事件的严重性,CSIRT 分析员将处理该事件或将其升级到 CSIRT 经理以启用整个 CSIRT 能力。

下图展示了从检测到升级至 CSIRT 经理的事件升级流程:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/B18571_02_01.jpg

图 2.1 – SOC 参与模型

在此模型中,CSIRT 和 SOC 人员需要解决的几个关注问题如下:

  • 首先,以这种方式介入 CSIRT 会导致在 CSIRT 完全介入之前有多个个人参与处理同一事件。这会增加从检测到 CSIRT 响应之间的时间,可能会增加事件的潜在影响。

  • 其次,如果事件升级未被适当记录,CSIRT 经理将不得不与 SOC 经理进行沟通,澄清或获取更多信息,从而增加妥善处理事件所需的时间。

  • 第三,SOC 人员需要接受培训,以确定哪些观察到的事件构成了事件,哪些可能是误报。CSIRT 可能会因 SOC 不断追踪误报而感到倦怠。

  • 最后,SOC 与 CSIRT 之间的沟通需要清晰简洁。任何在实时共享信息能力上的差距都会导致额外的混乱。

这种模型的另一种变体,在没有专门 SOC 的组织中较为常见,是初步的安全事件由帮助台或网络运营中心接收。这增加了及时联系 CSIRT 的复杂性,因为这种人员通常没有接受处理此类事件的培训。

提示

在这种情况下的最佳实践是让这些团队中的几名人员接受网络安全分析培训,以应对初步的分类和适当的升级。

SOC 集成模型

为了限制 SOC 升级模型的一些缺点,一些组织将 SOC 嵌入到整体 CSIRT 中。将 SOC 放入这种结构中可能更有效,因为 SOC 负责初步的警报和分类功能,而这些功能与 CSIRT 直接相关。

在此模型中,SOC 分析员充当第一层级。如前所述,他们首先看到安全事件或安全控制警报。处理并分类警报后,他们能够立即将事件升级到第二层级分析员,而无需与经理接触,然后再由经理将其升级到 CSIRT 经理。该过程在下图中有详细展示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/B18571_02_02.jpg

图 2.2 – SOC 集成模型

这个模型相较于之前的模型有一些明显的优势。首先,CSIRT 对 SOC 所看到和所做的事情有更大的可见性。此外,将 SOC 嵌入到 CSIRT 中使得 CSIRT 经理及其团队能够制定更有效的与事件相关的政策和程序。第二个明显的优势是,事件升级的速度更快,且更可能具有更高的精确性。由于 SOC 分析员直接向下一级 CSIRT 人员进行升级,整个过程更快,且最终会进行更详细的分析。

这种方法在拥有专门内部 SOC 且未外包的组织中运行良好。对于那些使用网络运营中心或帮助台,且没有专门 SOC 的组织而言,这种方法并不现实,因为这些功能通常由 CSIRT 或甚至网络安全团队之外的部门管理。另一个问题是,根据 SOC 和 CSIRT 的规模,可能需要额外的 CSIRT 经理来处理 SOC 和 CSIRT 的日常工作量。

融合中心

随着威胁情报在日常安全操作中扮演越来越重要的角色,一种应对这一趋势的组织结构就是 CSIRT 融合中心。在这种情况下,CSIRT 分析师、SOC 分析师和威胁情报分析师会在一个团队结构中合作。这种结构将 SOC 和 CSIRT 结合结构与专职威胁情报分析师的元素融合在一起。在这种情境下,威胁情报分析师将负责通过与事件相关的外部和内部资源来增强事件调查。他们还可以在与事件相关的其他领域提供详细分析。以下图表展示了从融合中心主管到负责事件管理的各个人员的工作流程:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/B18571_02_03.jpg

图 2.3 – 融合中心模型

随着组织在其安全操作中不断发展威胁情报资源,这种模型使得 CSIRT 能够利用该能力,而无需创建新的流程。在第十七章中,我们将深入讨论威胁情报,并解释这一能力如何增强事件调查。

除了增加人员外,融合中心模型还使用了额外的技术。SOC 模型通常会使用安全信息和事件管理SIEM)系统,通过日志和警报源提供网络可视性并检测入侵。融合中心还通常会使用安全编排、自动化和响应SOAR),这一部分将在本章后续内容中讨论。这两个工具提供网络可视性,并在事件发生时能迅速切换到关键系统。

CSIRT 融合中心尚未广泛部署,主要是因为威胁情报整合是一种相对较新的方法论,且资源消耗较大。很少有组织具备足够的技术或人员资源来使这种结构有效运作。引入全职威胁情报分析师,以及各种付费和开源数据源(及其支持技术),往往会增加高昂的成本。因此,能够将全职威胁情报分析师作为 CSIRT 能力的一部分的组织并不多。

调查事件

一旦 CSIRT 介入,其主要任务之一就是调查事件。本部分的主要内容讲述了在调查事件时可以采用的各种方法。CSIRT 的主要目标是利用遵循系统分析的方法来处理事件的以下关键方面:

  • 确定范围:在一些事件中,实际范围可能在初步检测阶段并不明确。例如,执法机构可能联系某个组织,表示已关闭一个 C2 服务器。在对该系统进行分析时,发现该组织的外部 IP 地址。从这一数据点开始,范围首先被定义为整个网络。然后,CSIRT(计算机安全事件响应小组)会分析防火墙或 Web 代理的数据,找出与 C2 服务器进行通信的内部系统。根据这些数据,他们将把事件的初步范围缩小到那些受到影响的系统。

在尝试确定事件的范围时,通常会试图找到“零号病人”,即第一个被攻破的系统。在某些事件中,这可能很容易发现。比如,包含 PDF 文档的网络钓鱼邮件,在打开后执行恶意软件,用户或安全控制措施通常能轻松识别。其他攻击可能就不那么明显了。虽然找到零号病人对于根本原因分析提供了大量数据,但更重要的是首先确定事件的范围,而不是只关注一个系统。

  • 确定影响:另一个关键考虑因素是评估事件的影响。那些接触过信息安全基本概念的人,对CIA 三元组应该十分熟悉。CIA 三元组代表信息系统中的安全要素:保密性完整性可用性。任何安全漏洞或违反都将对这些要素中的一个或多个产生影响。例如,影响 15 台生产服务器的勒索软件事件,会影响这些系统中数据的可用性。与事件相关的可用性影响,无论是由于对手行为的直接结果,还是响应和修复所需的时间,都是决定事件影响的重要因素。其他事件,例如知识产权盗窃,则会影响数据的保密性。最后,涉及未经授权的源代码或其他数据篡改的事件,则会影响数据的完整性。下图突出显示了 CIA 三元组:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/B18571_02_04.jpg

图 2.4 – CIA 三元组

了解事件的潜在影响对于决定分配响应资源的决策至关重要。针对网络上非关键服务的分布式拒绝服务DDoS)攻击,不需要像发现零售支付基础设施中存在窃取信用卡信息的恶意软件时那样进行响应。影响也直接关系到合规性与法律和其他法规的遵守。了解事件对合规性的潜在影响,对于确保进行适当的响应至关重要。

  • 识别根本原因:IT 专业人员和管理者在事件发生期间,尤其是在事件发生后,都会问的核心问题是:这到底是怎么发生的?组织在保护其基础设施上投入了大量的资金和资源。如果发生了影响性事件,就需要了解事件是如何发生的。事件调查的目标是确定导致事件及其影响的一系列事件、漏洞或其他条件。通常,事件的根本原因并非一个简单的漏洞,而是一系列事件和条件,它们使对手能够突破安全系统并进行攻击。通过调查,这些事件和条件可以被识别出来,以便进行修正或采取其他控制措施。

  • 事件归因:事件调查中的一个争论点是事件归因。通过归因,CSIRT 或调查机构试图确定背后发动攻击的组织。事件可能归因于国家级行为者、犯罪团伙或其他网络对手。

尽管从威胁情报的角度来看,归因有一定的重要性(第十七章将讨论与事件响应相关的归因问题),但更好的资源应当用于调查或控制事件。试图查明负责攻击的团体是非常耗时的,且很少能得到积极的回报。如果组织的领导层坚持要确定归因,最好的方法是全面记录事件,并将数据交给专门处理归因的第三方。这类组织通常会将来自多个事件调查的数据结合起来,构建某些团体的档案。如果提供的数据与其中某个团体的活动相符,他们可能能够提供一些归因方面的背景信息。

CSIRT 战情室

另一个在与 CSIRT 合作时需要考虑的因素是需要有一个单一的地点,供 CSIRT 操作。关于 CSIRT 操作的物理位置,有多个术语可以使用,如 SOC 或危机处理室,但更简单的术语是战情室。战情室可以根据需要设置;在某些情况下,也可以专门设置一个战情室。在前一种情况下,现有的会议室将作为战情室,持续整个事件期间。这通常是那些事件发生频率不高,且无需专门战情室的组织的首选方案。而对于那些发生较多事件或更复杂事件的组织,可能需要创建一个专用的战情室。

战情室应具备以下能力,以促进更有序的事件响应:

  • 工作空间:CSIRT 核心团队的每个成员都应该有一个专用的工作空间,用于执行分析和其他与事故相关的任务。工作空间应包括网络连接、电源、显示器以及专业的数字取证工具。

  • 团队展示:CSIRT 成员在事故发生时可能遇到的一大难题是无法共享分析结果。通过使用投影仪或大屏幕,可以更好地在整个团队中共享数据。

  • 笔记共享:与通过团队展示共享数据相似,可能还需要在地理分散的团队之间共享信息。这可以通过使用像 OneNote、SharePoint 或为该事故创建的 wiki 等协作工具来实现。

  • 白板:在战情室内会有大量信息流动。与任务分配和受影响系统的运行列表相关的数据最好写在白板上,以确保每个人都能清楚地看到。

  • 有限访问:CSIRT 应将战情室的访问权限限制为只有那些有正当理由进入的人员。限制访问可以防止敏感信息落入不当之手。

通讯

组织常常忽视的一个考虑因素是,在事故发生时如何在大型组织内部进行沟通。虽然电子邮件、即时消息和语音电话等工具似乎可以满足组织内部的沟通需求,但在用户凭证、电子邮件系统或其他基于云的协作平台受到影响时,这些沟通平台可能需要被搁置。例如,一个常见的攻击是 Office 365 基于云的电子邮件系统被入侵。如果攻击者已经获得了电子邮件系统的访问权限,他们可能还会入侵与之关联的即时消息应用程序,如 Skype。鉴于此,在事故发生时依赖这些应用程序实际上可能会让攻击者洞察 CSIRT 的行动。

如果怀疑这些应用程序已经被入侵,那么拥有一个次级甚至三级的通讯选项就显得尤为重要。商业购买的手机通常是一个安全的替代方案。此外,CSIRT 成员可以在短时间内使用免费的或低成本的协作工具,直到确认常规通讯平台已经可以安全使用为止。

轮换工作人员

长时间的事件调查会对 CSIRT 人员的身体和心理产生影响。虽然在事件得到处理之前将团队投入工作看似谨慎,但这会对团队的功能造成不利影响。研究表明,长期工作且休息时间很少会对认知产生负面影响。因此,事件指挥官IC)必须在大约 12-24 小时后将响应人员安排轮班。

例如,在事件调查开始大约 24 小时后,必须开始轮换人员,以确保他们有 8 小时的休息时间。这也包括事件指挥官IC)。在长时间的事件处理中,应指定替代事件指挥官,以确保工作的持续性,并确保每位指挥官都能得到适当的休息。

另一种策略是在事件的非活跃期间进行支持。非活跃期通常发生在事件被遏制且潜在的指挥与控制C2)流量得到处理时。可以利用支持人员监控网络中的任何变化,从而为 CSIRT 提供休息时间。

SOAR

CSIRT(计算机安全事件响应团队)要求将一个大而多样化的团队汇集在一起,以便正确处理事件。无论组织选择哪种模式来整合 CSIRT 的职能,仍然需要进行大量的协调和信息分析与报告。

注释

SOAR 技术通常出现在安全态势更成熟的组织中。这些组织通常拥有专门的 SOC(安全运营中心)或融合中心。其他使用此技术的主要客户是 MSSP(托管安全服务提供商)或 MDR(托管检测和响应)提供商。这是因为购买商业 SOAR 产品的成本以及其持续维护的费用。大多数组织如果每年处理的事件较少,则不需要这种平台。本材料是为了帮助熟悉此技术而提供的。

技术研究公司 Gartner 定义 SOAR 为:

结合事件响应、编排与自动化以及威胁情报(TI)管理功能的解决方案,这些解决方案集成在一个平台中。SOAR 工具也用于记录和实施流程(即剧本、工作流和过程);支持安全事件管理;并为人类安全分析师和操作员提供基于机器的帮助。

SOAR 平台是三种独立工具的结合。第一种工具是 事件响应平台IRP)。该工具用于管理事件响应工作流、案件管理以及 CSIRT 的知识库。第二种工具是 安全编排与自动化SOA)。该工具用于管理事件剧本、工作流和流程。SOA 还会自动化一些低级任务,如响应恶意软件检测时隔离端点,然后通知 SOC 或 CSIRT 分析师。构成 SOAR 的最后一个工具是 威胁情报平台TIP)。TIP 用于聚合来自内部或外部来源的 妥协指标IOC)。TIP 还可以用于丰富来自 入侵检测系统IDS)的警报,为检测提供更多的背景信息。

例如,某个恶意软件检测工具与组织的事件管理系统相连接。检测到某些问题后,相关信息被转发到 SIEM。随后,SIEM 将数据传送到 SOAR。根据参数,SOAR 的剧本会立即将系统与网络隔离。文件的哈希值会与威胁情报信息源进行比较,结果表明该文件属于 BazarLoader 家族。最后,通知被发送到 CSIRT 的 Slack 渠道,团队能够及时响应感染并清理系统,然后再重新连接到网络。

市面上有各种商业和开源的 SOAR 解决方案。即便有如此多的选择,大部分这些 SOAR 解决方案(包括开源版本)都具备以下功能:

  • 警报优先级:CSIRT 和 SOC 团队常常需要处理来自各种来源、不同严重程度的警报。SOAR 平台能够将各种警报来源(如 端点检测与响应EDR)工具、IDS 和 入侵防御系统IPS)、以及 漏洞管理系统VMS))整合为一个单一来源。通过这样,SOC 和 CSIRT 可以为这些警报分配优先级,确保最关键的警报得到优先处理。

  • 自动化:SOAR 平台具备执行通常由 CSIRT 或 SOC 人员处理的低级任务的能力。在前面的例子中,SOAR 平台在检测到恶意软件后被配置为隔离端点,并通知 CSIRT。其他操作包括阻止文件哈希和切断网络连接。

  • 协作:SOAR 的聚合警报及其他事件数据的能力,为 SOC 和 CSIRT 人员提供了一个理想的协作平台。事件可以在一个中央位置进行调查和记录,操作得到妥善指导和沟通。此外,事件中的所有相关人员都能看到其他团队成员的操作,从而避免潜在的冲突。

  • 威胁情报增强:有多种外部和内部的威胁情报来源提供关于 IOC(入侵指标)的额外背景信息。SOAR 可以用来增强检测并为指标提供背景。例如,IPS 检测到的 IP 地址可以被引入 SOAR,从而指示该 IP 地址与后期利用工具 Cobalt Strike 相关,增强威胁情报,为 CSIRT 提供更多信息,并提醒他们可能存在严重的入侵。

  • 报告:SOAR 平台也是管理多个事件之间所有数据并提供广泛报告的优秀方式,涵盖事件及其性能指标。它们通常具有根据不同受众(如分析员、经理和董事)定制报告的能力。

需要记住的是,SOAR 不是专业安全分析员的替代品。相反,SOC 和 CSIRT 人员应将该工具集视为一种增强功能,使他们能够在大规模的情况下进行调查和响应。即便是对一个规模适中的企业网络,几乎也不可能做到完全可视化。SOAR 平台执行了许多低级活动,从而使得 CSIRT 和 SOC 人员能够集中精力进行更高层次的事件调查和响应活动。

纳入危机沟通

认为严重的安全事件可以被保密的观念已经过时。像 Target 和 TJX 这样的大型安全事件已经被公开曝光。加上新出台的数据泄露通知法,这些法律影响全球范围内的组织。通用数据保护条例GDPR)第 33 条规定有一个 72 小时的泄露通知要求。

其他法规或合规框架,如健康保险流通与责任法案HIPAA)第 45 条 CFR,§ § 164.400-414,规定在数据泄露事件发生时必须进行通知。法律和合规通信的压力需要传达给内部业务部门和外部利益相关者。尽管在事件发生期间制定和发布通信计划可能看起来是浪费资源,但在当今的法律和合规环境下,这已成为一种必要性。在审视危机沟通时,以下三个重点领域需要得到解决:

  • 内部通信

  • 外部通信

  • 公共通知

这些都代表了特定的受众,每个受众都需要不同的内容和语气来传达信息。

内部通信

内部通信是指仅限于公司或组织内部人员及其报告结构之间的通信。多个业务单元需要参与沟通。法律部门需要随时了解事件进展,因为他们通常需要确定报告要求和其他监管要求。营销和公关部门可以用于撰写面向外部的沟通内容。最好的做法是尽早将他们纳入过程,以便他们能全面理解事件及其影响。如果事件涉及任何内部员工,人力资源部门也应作为内部沟通的一部分。

在事件展开过程中,C-suite,特别是 CEO,是一个关键的群体,他们需要随时了解情况。CSIRT 通常会低于高级领导的视线范围,直到出现重大事件。在这种情况下,CEO 将非常关注 CSIRT 的工作以及他们如何应对事件。

鉴于所有这些相关方需要保持信息畅通,确保有序的沟通并限制误信息的传播至关重要。为了避免混淆,IC 或 CSIRT 负责人应作为唯一的联系点。这样,法律部门就不会直接联系 CSIRT 分析员,获取当时还在推测阶段的调查信息。依赖此类信息可能导致严重的法律后果。为了让每个人都保持信息更新,CSIRT 负责人或 IC 应在事件发生的每一天定期更新信息。这些沟通的频率取决于事件的类型和严重程度,但每 4 小时进行一次更新,并在早上 6 点到晚上 10 点的工作时间内召开电话会议,将确保每个人都能及时获得最新信息。

除了常规的电话会议外,CSIRT 负责人或 IC 应准备一份每日状态报告,并将其发送给高级领导层。该每日状态报告不需要像数字取证报告那样详尽全面,但应该记录采取的重大行动、任何已获取的与事件相关的数据,以及可能限制 CSIRT 功能的潜在因素。至少应与此报告一起进行每日状态会议,会议对象包括高级领导层和事件过程中需要在场的其他人员。

外部沟通

事件可能会对遭遇事件的组织以外的其他外部实体产生下游影响。这些外部实体可能包括供应商、客户、交易处理设施或服务提供商。如果这些组织与受影响组织之间有直接连接—例如虚拟专用网络VPN)—外部合作伙伴需要尽早得知此情况,而非拖延。这是为了限制攻击者利用这一连接入侵其他组织的可能性。

注意事项

在处理托管服务提供商MSP)的事件管理和外部沟通时,主要的关注点是攻击者首先针对 MSP,并意图通过已建立的 VPN 将其作为跳板,进入其他组织。

这一点的完美例子就是 Target 泄露事件,攻击者通过侵入供暖、通风与空调HVAC)供应商作为初始入侵点。攻击者正在使用这一行之有效的攻击 MSP 的方法,利用勒索软件进行攻击,并且现在每次攻击的目标是多个组织。

至少,组织应通知外部各方他们正在处理一个事件,并且作为预防措施,直到事件处理完毕之前,将会封锁该连接。此后可以提供更多信息。就像内部沟通一样,设定一个常规的沟通频率可能会大大有助于平稳化因事件导致的合作关系损害。在某些情况下,值得信任的外部各方可能会成为常规日常状态更新的一部分。

公共通知

如前所述,在通知客户或公众有关事件时,需要考虑多个法律和合规要求。组织可能必须在遵守如 HIPAA 等规定的要求与不披露仍在调查中的事件的操作细节之间保持微妙平衡。加重这一压力的是股价变化或潜在的业务损失。面对这些压力,至关重要的是制定一条在法律或合规要求内,同时能够限制组织声誉、收入或股价损害的信息。

尽管与当前事件直接相关,CSIRT 不应负责起草公共通知声明。相反,CSIRT 应提供事件调查的见解,并回答相关问题。涉及起草消息的两个最佳业务部门是法律部门和市场部门。市场部门的任务是制定一条消息,以减少客户可能的负面反应。法律部门的任务是制定符合法律或监管要求的消息。CSIRT 应尽可能提供建议,但这两个业务部门应作为与媒体或公众问题相关的联络点。

纳入遏制策略

遏制策略是在事件发生时采取的行动,旨在将损害限制在特定的系统或网络区域内。组织必须提前准备这些策略,以应对可能发生的事件。随着勒索软件的崛起,它结合了病毒和蠕虫的特性,能够迅速通过组织传播,这突显了在影响过多系统之前,快速遏制爆发的必要性。遏制的挑战之一是,许多企业 IT 系统采用扁平拓扑结构,这使得大多数系统能够相互通信。在这种环境中,勒索软件和其他蠕虫可以通过合法协议,如https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0144,迅速传播。

为了有效应对遏制,组织应清楚了解其网络拓扑结构。这类网络意识可以通过网络发现工具的输出、最新的网络图、系统清单和漏洞扫描来实现。该数据应与 CSIRT 共享,以便形成网络的整体视图。从这里,CSIRT 应与网络运营人员协调遏制计划,以制定整体的遏制策略,限制事件可能造成的损害。将网络运营人员纳入技术支持团队,对于确保该过程的流畅进行和尽快实现遏制至关重要。

另一个直接影响事件管理的基础设施管理方面是变更管理。成熟的 IT 基础设施通常会有一个完善的文档化和管理的变更管理流程。然而,在事件发生时,CSIRT 和支持人员不能等待变更管理授权以及合适的变更窗口来实施变更。在执行遏制策略时,IT 和组织领导应充分理解,基于事件会进行变更。这并不意味着 CSIRT 和 IT 人员可以忽视谨慎操作,他们仍然需要确保变更得到妥善记录。

在应对恶意软件爆发(如勒索软件攻击)方面,可以采取多种策略。理想情况下,组织应该具备一定的能力将网络的不同部分隔离开,但如果这不可行,CSIRT 和 IT 人员可以采取以下一种或多种措施:

  • 物理隔离:在这种情况下,系统与网络的物理连接被断开。简单来说,这可以通过拔掉网络电缆、禁用无线访问或通过操作系统禁用连接来实现。尽管这听起来很简单,但实际上有几个因素使得即便是最小的组织也很难采用这种策略。首先是定位受影响系统的能力。在数据中心内,受影响的系统可能在同一机架上,因此定位会更简单,但在企业环境中,要在众多桌面系统中定位 20 到 30 台受影响的计算机需要付出很大努力。在断开 20 台系统与网络连接的过程中,恶意软件可能已经扩散到其他系统。物理隔离的另一个难点是如何处理地理分布广泛的系统。如果数据中心或其他操作地点距离一个小时车程,便需要派遣人员到现场进行物理隔离。正如你所想,若事件的范围超出 CSIRT 的能力,物理隔离恶意软件爆发或其他事件会非常困难。物理隔离应当仅限于那些事件范围较小、CSIRT 人员能够迅速将系统从网络中移除的情况。

  • 网络隔离:网络隔离策略在很大程度上依赖于网络工程师或架构师的专业知识。因此,他们通常会作为 CSIRT 技术支持人员的一部分,并应参与任何隔离策略的规划。在这种隔离策略下,网络管理员将负责修改交换机配置,以限制来自受感染系统的流量在子网内与网络其他部分的交换。该策略可能需要修改单个交换机上的配置或使用管理控制台。需要解决的一个方面是组织如何处理变更控制。在许多组织中,通常会将交换机配置变更作为正常变更控制流程的一部分进行审查。此流程中必须有一个例外条款,以便在声明事件时能够快速部署交换机配置变更。网络管理员还应确保对所做的任何更改进行适当的文档记录,以便在事件恢复阶段时能够撤销或修改这些更改。

  • 边界隔离:边界防火墙是一个非常适合用于隔离的资产。在某些情况下,边界防火墙可以与网络隔离结合使用,采取类似俄罗斯套娃的方法,CSIRT 在边界进行网络流量隔离,并逐步深入到具体的子网以隔离受影响的系统。例如,恶意软件常常通过 PowerShell 等工具下载额外的代码或其他程序包。如果 CSIRT 已识别出恶意软件用来下载附加程序包的外部 IP 地址,可以在防火墙上阻止该 IP,从而防止进一步的损害。之后,CSIRT 可以从边界向内逐步追踪到受影响的系统。组织可以在此期间保留该规则,直到不再需要为止。与网络隔离一样,重要的是要解决更改防火墙规则集可能带来的任何变更控制问题。

  • 虚拟化隔离:随着云计算和虚拟化技术的兴起,许多组织已经将包括服务器在内的系统从物理系统迁移到虚拟化系统中。虚拟化在正常操作中为组织提供了极大的灵活性,但在发生事件时,它也具有很大的优势,可以有效地进行隔离。首先,可以利用如 VMware 的 ESXi 平台等虚拟化管理软件一次性断开多个系统的网络连接。组织还可以通过虚拟交换机实现类似物理交换机的隔离功能。最后,虚拟化软件允许在事件发生时暂停系统。这是首选方法,因为在事件发生时暂停虚拟机可以保留大量后续可以检查的证据。

一旦事件被妥善隔离,CSIRT 和其他相关人员就有时间组织并开始调查该事件。他们也可以开始从网络中移除入侵者及其工具的工作。

恢复正常 – 清除、恢复和事件后的活动

一旦事件得到了适当且全面的调查,就该进入清除和恢复阶段。此时可能会有很大的紧迫感,因为大家都希望尽快恢复正常操作。虽然这里可能存在业务驱动的因素,但急于进行清除和恢复可能会重新引入未被发现的已被攻陷的系统。在其他情况下,可能会错过对之前已被攻陷系统的修复,使其再次暴露在同样的漏洞下,或者更糟,可能会将仍被感染的系统重新连接到网络。因此,我们将彻底讨论清除和恢复策略。

清除策略

现代恶意软件的一个不幸现实是,没有万无一失的方法可以确保所有恶意代码已被移除。在过去,组织可以简单地通过杀毒程序扫描系统来追踪恶意代码。然而,现在由于恶意软件技术如进程注入或 DLL 劫持,即使原始代码被移除,系统仍有可能被感染。此外,还有可能会有其他下载的代码被安装并且无法被检测到。因此,大多数消除策略依赖于将感染的机器重装为已知良好的镜像,或者恢复到已知良好的备份。

在恶意软件和勒索软件的情况下,常用的策略是利用三个独立的虚拟局域网VLAN)段并对感染的机器进行重装。首先,所有被感染的机器会被放置到各自独立的 VLAN 中。从这里,CSIRT 或系统管理员会将其中一台感染的系统移到一个二级临时 VLAN 中。然后,系统会使用一个已知的良好镜像进行重装,或者使用已知的良好备份。从此,一旦系统被重装或备份恢复后,它将被移动到生产 VLAN,在那里进行额外的监控,以确保没有剩余的感染或安全漏洞。下图展示了一个简化的网络结构,支持这种恢复策略:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/B18571_02_05.jpg

图 2.5 – 系统的消除与恢复架构

尽管这种方法可能很耗时,但它是确保所有受影响系统得到处理的极好方式。

对于虚拟系统,如果之前讨论过的隔离策略已被使用,被感染的虚拟系统将没有网络连接。接下来,最直接的消除策略是将系统恢复到最后已知的良好快照。一旦系统重启,它应该连接到一个有增强监控的 VLAN。值得注意的是,在恢复快照的情况下,CSIRT 需要对时间线有很高的信心。如果 CSIRT 不确定攻击的时间线,那么快照也有可能被感染。这在定期进行快照的组织中尤为真实。

恢复策略

在恢复方面,CSIRT 需要管理几个任务,以使操作恢复正常。第一个任务是确保所有系统——不仅是那些经过消除阶段的系统,而是所有系统——都已正确打上最新的补丁。这在攻击者利用零日漏洞或相对较新的漏洞时至关重要。在制造商没有及时提供补丁的情况下,CSIRT 应建议采取额外的安全控制措施,以减少任何剩余的风险。

恢复阶段的第二部分是 CSIRT 与 IT 和信息安全人员合作,制定额外的检测和预防警报。在确定根本原因时对证据进行检查,或在隔离阶段,CSIRT 可能已经提供了检测和预防控制的数据。CSIRT 应与其他人员合作,增补这些控制,增加更多的侦测和预防规则。这些额外的规则可能是针对特定事件,也可能与已识别的特定漏洞相关。

第三,所有对基础设施的变更应当进行审查。这些变更可以由 CSIRT 和 IT 人员初步审查,以确定是否仍然需要这些变更,或者是否可以移除。如果这些变更在长期内仍然需要,应该由组织的变更控制进行评估,并按照变更控制流程进行批准。

第四,在事件结束之前,最好进行全系统的漏洞扫描。这一点至关重要,因为它可以确保任何已经被攻破的系统得到处理。此外,这一步骤还可以处理那些未受安全事件影响的系统,确保它们已被修补以防范任何安全漏洞。

最后,在事件结束时,进行事后回顾AAR)是非常重要的。该回顾会回顾整个事件的全过程。对 CSIRT 人员所采取的所有行动进行审查。此外,使用的计划和应急预案也会根据事件的实际操作进行审查。任何不足之处,如缺乏特定工具、培训或流程,都应提出来进行改进。此 AAR 的输出应作为整体事件文档的一部分进行记录。

事件后活动

从事件调查以及与事件响应相关的活动中,往往可以汲取很多教训。这些来之不易的教训应该在组织恢复正常运营后尽快记录下来。解决这个问题的最佳方法是通过事后回顾(AAR)。所有参与事件的人员应聚集在一起,无论是通过虚拟方式,还是如果可能的话,亲自聚集在同一地点。通常,IC 负责领导此项工作,另一名担任记录员的人员则负责记录所有相关细节。

总体来说,事件的 AAR 应当检查事件中不仅做得对的方面,还应关注那些做得不好的地方,从而找出需要改进的地方。以下是 AAR 中可以提问的一些示例问题:

  • 事件是如何被检测到的,且该检测是否及时?

  • 最初指示的严重性是什么?

  • 升级程序是否足以捕捉到所需的信息?

  • 实施了哪些隔离策略?它们的效果如何?

  • 是否有足够的证据/时间来确定事件的根本原因?

  • CSIRT 各个元素之间的沟通是否清晰、简洁、及时?

该列表应作为总体 AAR 的起点。根据事件的严重性和持续时间,AAR 可能需要几分钟到几个小时来处理所有关键点并识别组织能力的缺口。这里的目标是捕捉这些信息,并将其融入到 CSIRT 政策和程序的改进中。

总结

事件规划至关重要。同样关键的是正确管理事件。这涉及到 CSIRT 在事件生命周期中必须处理的多个要素。

适当的后勤支持为 CSIRT 的运作提供了必要的要素。拥有与领导层、第三方和客户沟通事件信息的策略,可以保持相关方的知情,减少猜测,并确保满足合规要求。事件调查使得 CSIRT 能够正确识别攻击,确定范围并通过适当的遏制策略限制损害。最终,这些要素都是消除对手访问网络的能力并帮助组织恢复正常的重要部分。正如我们在本书开头所说的,每个人都有一个计划,直到被击中面部。CSIRT 对组织的真正价值不在于计划和手册,而在于在事件发生时的表现。

下一章将通过提供数字取证框架,进一步扩展事件管理中的事件调查部分,供 CSIRT 人员遵循。

问题

  1. 以下哪种遏制策略最难执行?

    1. 物理

    2. 网络

    3. 边界

    4. 虚拟

  2. 网络安全漏洞可能会对以下哪些方面产生影响?

    1. 保密性

    2. 完整性

    3. 可用性

    4. 上述所有

  3. 归因是至关重要的,必须完成归因才能成功进行事件调查。

    1. 正确

    2. 错误

进一步阅读

第三章:数字取证基础

法医学可以定义为将科学原理应用于法律事务。在一个事件中,CSIRT(即计算机安全事件响应小组)成员可能会被召集,对在事件中获得的数字证据进行分析,利用数字取证工具、技术和知识。为了确保证据得到正确处理并能随后在法庭上被采纳,数字取证鉴定人员需要理解法律问题,并掌握数字取证过程中的细节。

本章将探讨影响 CSIRT 和数字取证鉴定人员的法律法规,以及有关证据如何在法庭上被采纳的规则。为了提供有关采取的行动的背景,我们还将探讨数字取证过程,最后,讨论将数字取证能力融入 CSIRT 所需的基础设施。

本章将涵盖以下主题:

  • 法医学概述

  • 洛卡尔交换原则

  • 数字取证中的法律问题

  • 事件响应中的法医程序

法医学概述

在过去的 20 年里,法医学的兴趣爆发式增长。简而言之,法医学是科学应用于法律事务的领域。法医学的实际操作是通过分析过程获取物理和数字证据,并在法庭上呈现科学发现。尽管它在大众媒体中有许多表现,法医学实际上是一个细致入微且要求精确的过程,需依赖深思熟虑的流程和程序、技术以及经验。

法医学已经成为多个学科的重要组成部分,甚至超出了刑事司法的范围。例如,航空事故调查员使用法医技术来调查飞机故障。会计在调查涉嫌欺诈和洗钱计划时也使用非常相似的原理和技术。即使是以历史伪造品著称的艺术界,也采用法医技术来验证艺术品的真实性。

法医学首次在公众关注的案件中发挥作用是在 19 世纪末的“开膛手杰克”谋杀案中。伦敦大都会警察局的调查员能够识别、收集并随后检查由未知凶手留下的物理证据。大约在那个时候,指纹比对和犯罪现场摄影这两项经验证的法医实践被纳入到不断增长的知识和实践体系中。

这些实践会在可用技术的基础上缓慢发展,直到第二次世界大战后。这个七十五年的时期见证了 DNA 证据作为识别犯罪者的强大手段的引入。技术被应用于工具痕迹和弹道学领域。二十世纪后半叶,数字取证也开始进入各个法医学科。

洛卡尔交换原则

指导法医科学的一个关键原则是洛卡尔交换原则。埃德蒙·洛卡尔博士是法医和刑事鉴定领域的先驱。他对这些领域的贡献使得许多人称他为法国的福尔摩斯。简单来说,他的原则是每一次与物理世界的接触都会留下痕迹。例如,一个盗贼打破窗户进入家中。然后他从窗户爬进去,开始抓取周围的物品。根据洛卡尔交换原则,盗贼会把鞋子上的泥土痕迹留在地毯上。皮肤和头发可能会从他们的身体上掉落到家中的各个表面上。没有戴手套的话,盗贼还可能在门把手上留下指纹。

这种交换是双向的。当盗贼在房子里留下他们的痕迹时,房子的痕迹也会留在他们身上。地毯纤维会附着在他们的鞋子上。打破的窗户的碎片也可能嵌入盗贼的鞋子和衣物中。这些微小的痕迹证据能够将盗贼与犯罪现场联系起来。

这个原则自第一次犯罪活动发生以来一直有效。变化的是法医科学家和刑事鉴定从业者在检测和分析这些痕迹证据方面的能力。例如,DNA 证据从该隐杀害亚伯时就已经存在。直到最近,它才在调查中变得有用,因为方法和技术的发展使得法医科学家可以确凿地证明生物材料能够与某个特定个体相关联,排除其他所有人。

关于这一原则,有几个需要注意的方面。首先,痕迹证据存在的时间长度存在较大差异。例如,一些痕迹证据,如撬杠在撬开门时留下的工具痕迹,可能会持续数月甚至数年。另一方面,暴露在外界环境中的指纹很容易在留下几天或几小时后就变得不再适用。其次,需要遵循某些流程来维护痕迹证据的完整性。如果痕迹证据未被正确收集,它可能会被篡改或销毁,导致无法用于调查。第三,必须有相应的技术来帮助分析痕迹证据。DNA 自地球生命诞生以来就存在。将这些痕迹证据用于调查的能力,依赖于能够正确比较和分析 DNA 样本的技术。最后,人为因素也是不可忽视的。痕迹证据需要由经过培训和认证的分析师处理,他们能够审查数据并得出结论。

在数字取证领域讨论洛卡尔交换原则可能看起来有些奇怪。实际上,支撑物理世界取证的同一原则,在数字取证中同样适用。例如,通过 Microsoft Windows 远程桌面功能连接到系统的简单操作就会留下痕迹。在这种情况下,外部威胁行为者获取了有效的用户凭证,并能够通过暴露的系统进行连接。连接本身会在暴露的系统上创建一条日志记录。使用有效凭证登录系统将创建第二条日志记录。该日志记录中包含威胁行为者系统的 IP 地址。这个 IP 地址也可能出现在防火墙日志中。威胁行为者的系统上还可能存在被攻击系统的日志记录和文件。

理解洛卡尔交换原则时,重要的是要理解“痕迹证据”这一概念。威胁行为者会竭尽全力清除他们的踪迹,就像非常优秀的犯罪分子一样,但仍然会留下痕迹。关键在于拥有发现这些痕迹并将其与威胁行为者联系起来的工具和能力。

数字取证中的法律问题

正如我们在第一章中看到的,恰当的事件响应需要来自不同领域的关键人物。这也揭示了一个常见的误解:事件响应仅仅是一个技术问题。事实上,事件响应的一个重要领域是法律领域。有一系列的法律和规章直接影响组织的事件响应能力,从数据泄露通知到隐私保护等方面。这些法律为政府起诉违法者提供了框架,并对如何处理和呈现证据等问题制定了严格的规定。

法律与法规

在 1980 年代中期,随着计算机犯罪逐渐普及,司法管辖区开始制定法律来应对日益增长的网络犯罪案件。例如,在美国,联邦刑法有具体的条款,专门处理涉及计算机的犯罪行为,具体如下:

  • 18 USC § 1029—与访问设备相关的欺诈和相关活动: 该条款处理使用计算机进行欺诈行为。检察官通常在网络犯罪分子使用计算机或多台计算机进行身份盗窃或其他欺诈相关活动时引用这一法律。

  • 18 USC § 1030—计算机欺诈与滥用法案 (CFAA): 在这部法律的众多条款中,最常与事件响应相关的条款是未经授权访问计算机系统的行为。该法律还涉及拒绝服务(DoS)攻击的非法性。

  • 电子通信隐私法案(ECPA): 这一修正案对联邦窃听法进行了修订,并于 1986 年生效。它使得通过电子手段(如电信和互联网)未经授权截取通信成为非法行为。ECPA 在通信协助执法法案(CALEA)的进一步修订下得到强化。CALEA 要求互联网服务提供商(ISP)确保其网络可以为执法机构提供,支持其依法进行监控。

对 ECPA 的熟悉对在美国有业务存在的组织至关重要。该法案的条款规定,如果用户对隐私有合理的期望,组织在网络上进行监控和捕获流量,即便这些网络由组织控制,也构成犯罪。这可能导致组织因在其自有网络上嗅探流量而承担责任,前提是其用户对隐私有合理的期望。对于 CSIRT 成员来说,如果他们访问网络资源或其他系统,这可能会引发潜在的法律问题。这可以通过让所有系统用户确认他们理解组织可以监控其通信,并且在使用组织提供的计算机和网络资源时,他们对通信不具有合理的隐私期望,从而轻松解决。

  • 1996 年经济间谍法案EEA):这部法律包含了 18 USC § 1831-1839 中的若干条款,并将经济间谍行为和商业机密窃取定为犯罪。该法案比以往的间谍立法更为严厉,因为它直接针对商业企业,而不仅仅是国家安全或政府信息。

证据规则

《联邦证据规则》是决定证据在刑事或民事诉讼中是否可以采纳或排除的基础。CSIRT 成员了解以下规则非常重要,这样收集的任何证据都能以防止污染的方式进行处理,并避免证据被排除在法庭之外:

  • 第 402 条——相关证据的测试:此规则包含两部分。首先,待纳入诉讼的证据必须能够使某个事实的发生概率比没有证据时更高或更低。其次,证据(或证据所证明的事实)对诉讼具有重要性。这清楚地表明,证据不仅要与诉讼相关,而且还应该证明或驳斥案件中的某一方面。

  • 第 502 条——律师-客户特权和工作产品:现代法律中最神圣的原则之一是客户与其律师之间的关系。律师-客户特权的一个条款是,客户与律师之间的谈话内容在法庭上不可作为证据。这不仅适用于口头交流,还适用于书面交流。在数字取证领域,常常会有关于采取的行动和获得的信息的报告。许多情况下,事件响应者会直接为律师工作,代表其客户。因此,这些与事件相关的报告可能会受到律师工作产品规则的约束。在你在律师的指导下工作时,理解这一点非常重要,以便知道这些规则何时适用于你的工作。

  • 规则 702——专家证人证言:通过在数字法医领域积累经验和知识,分析师可能被允许作为专家证人作证。该证据规则概述了专家证人证言的具体要求。

  • 规则 902——自我认证证据:该规则最近进行了修订,涉及数字法医。自 2017 年 12 月 1 日起,新增了一项子部分。该子部分允许通过哈希值验证数字证据的完整性(我们将在后续章节讨论哈希的作用)。此外,规则要求有资质的人员出示证据,并且所呈现的证据必须是按照最佳实践收集的。

  • 规则 1002——最佳证据规则:在民事或刑事诉讼中,原始的书面材料、录音或照片需要作为证据提出,除非可以做出合理的例外。在物理领域中,提供物理证据是很容易的。案件当事人可以轻松地展示用于攻击的刀具。当证据实际上是硬盘上的磁极性或来自路由器的日志文件时,情况就变得更复杂。在这种情况下,法院认为,对硬盘进行法医分析后产生的可靠镜像,可以作为实际硬盘的合理替代品。

  • 规则 1003——副本的可采性:进行数字媒体法医检查时,最关键的步骤之一是制作该媒体的镜像或法医副本。该证据规则允许在法庭上采纳此类镜像。需要注意的是,如果镜像或法医副本要被采纳,执行该操作的分析师很可能需要作证,证明他们正确地执行了该操作。

接下来,我们将了解数字法医的基本程序,以及这些程序如何应用于事件响应。

事件响应中的法医程序

如前一章所述,数字法医是事件响应的重要组成部分。通常,正是数字法医方法的应用,使事件响应人员能够清楚地了解导致恶意行为的事件链,例如被攻击的服务器或其他数据泄露。对于其他事件,如内部欺诈或恶意内部人员活动,数字法医可能提供所谓的“定罪证据”,指向罪犯。在详细探讨事件响应人员可用的工具和技术之前,必须解决数字法医的基础性内容。这些内容不仅为特定行动提供背景,也为确保事件调查中的证据可用性提供方法。

数字法医简史

法律执法部门在 1980 年代中期开始关注计算机在犯罪活动中的作用。在此之前,现有的法律和执法技术并不擅长识别和起诉计算机犯罪分子。随着犯罪分子使用计算机的行为日益显著,美国联邦调查局FBI)等机构决定建立一个专门的数字与取证调查能力。这促使了 FBI计算机分析与响应小组CART)的成立。其他机构,如大都会警察局,也开始建立网络犯罪调查能力。

FBI CART 信息

一份出色的历史文档,涉及 FBI 的 CART,是 1992 年 1 月出版的《美国司法部犯罪实验室文摘》中的一篇简短文章:www.ncjrs.gov/pdffiles1/Digitization/137561NCJRS.pdf

另外两个具有开创性的事件让更多人意识到网络调查和取证的必要性。第一个是黑客马库斯·赫斯闯入劳伦斯伯克利国家实验室。如果不是克利福德·斯托尔的努力,这次入侵可能会未被发现。斯托尔设计了一个计划,成功地将攻击者困住足够长的时间以追踪其连接。这些努力取得了成果,斯托尔和其他当局能够追踪到黑客,并最终以间谍罪起诉他。(下一章将深入探讨斯托尔的努力,因为这些努力不仅是一个表明数字取证需求的关键事件,而且他的调查技巧也为我们提供了有价值的洞见。)

第二个引人注目的事件是莫里斯蠕虫,它在 1988 年被释放到刚刚起步的互联网中。这个由罗伯特·塔潘·莫里斯创建和发布的蠕虫,导致了数千个系统的服务拒绝,随后造成了超过 100,000 美元的损失。由克利福德·斯托尔等人进行的事后调查发现,至少有 6,000 个系统被感染。蠕虫的快速传播及其带来的损害促使了卡内基梅隆大学CERT 协调中心CERT/CC)的成立。

在 1990 年代,随着越来越多的执法机构将数字取证纳入其调查能力,取证流程标准化的需求变得愈加明显。1993 年,召开了一次国际会议,专门讨论计算机证据的作用。紧接着,1995 年,成立了国际计算机证据组织IOCE)。该组织旨在制定围绕数字取证审查过程各个阶段的指导方针和标准。1998 年,与 IOCE 合作,联邦犯罪实验室主任成立了数字证据科学工作组SWGDE)。该小组代表了美国在 IOCE 标准化数字取证实践中的一部分努力。

随着组织继续标准化实践,执法机构不断将数字取证融入到其整体取证能力中。2000 年,联邦调查局(FBI)建立了第一个地区计算机取证实验室RCFL)。这些实验室的设立旨在为各级执法机构提供服务,支持各种网络犯罪调查。RCFL 的能力在过去二十年中不断发展,目前在美国各地设有 17 个独立的 RCFL。此外,其他联邦、州和地方警察机构也组建了工作组和独立的数字取证能力。随着计算机相关犯罪事件的不断增加,这些机构将继续执行其关键任务。

数字取证过程

与事件响应过程类似,数字取证过程定义了与事件相关的数字证据的流动,从证据首次被识别到最终呈交给高级领导层或裁决者(如民事或刑事法院)。有几个模式定义了这一过程,它们大多遵循类似的路径。在这里,我们将采用数字取证研究工作坊DFRWS)数字调查框架。该框架如下图所示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_01.jpg

图 3.1 – 数字取证过程

该框架包含六个要素:

  • 识别

  • 保留

  • 收集

  • 检查

  • 分析

  • 呈现

从事件响应的角度来看,除非有充分的理由,否则工作人员通常不会扣押网络组件或关键系统并将其下线。这是数字取证和事件响应中固有的平衡行为之一。纯粹的数字取证方法会提取所有相关证据,确保其安全并加以处理。

这个过程可能需要几个月,具体取决于事件的类型。虽然这种方法详尽且细致,但可能会导致组织在一段时间内缺少关键组件。CSIRT(计算机安全事件响应小组)可能能够在一个月的分析后告诉领导层,哪个事件链导致了数据泄露,但如果一个月的收入已经损失,这样的分析将毫无意义。

分配给 CSIRT 的检查员必须准备好在确保彻底性的同时平衡恢复或继续正常操作的需要。

识别

开始数字取证过程的第一步是识别潜在的证据。这时,之前讨论的洛卡德交换原理(Lockard’s exchange principle)就派上了用场。这个原理可以指导在事件处理中识别潜在的证据来源。例如,如果 CSIRT 正在尝试确定系统上恶意软件感染的根本原因,它将从分析被感染的系统开始。由于某些恶意软件需要访问 C2 服务器,分析员可以搜索防火墙连接或代理日志,查看是否有从被感染系统到外部 IP 地址的任何出站流量。对这些连接 IP 地址的审查可能会揭示 C2 服务器,并且可能提供更多关于感染系统的具体恶意软件变种的细节。

然而,值得注意的是,威胁行为者可以很容易地操控数字证据,因此在没有其他佐证证据的情况下,依赖单一数字证据应始终保持谨慎;在信任之前,应该对其进行验证。

保存

一旦证据被识别出来,重要的是要保护其免受任何形式的修改或删除。对于诸如日志文件之类的证据,可能需要启用保护日志文件免于删除或修改的控制措施。对于主机系统,如台式机,可能需要通过物理或逻辑控制、网络访问控制或边界控制,将系统与网络其他部分隔离。还必须确保没有用户能够访问嫌疑系统,以防用户故意或无意地污染证据。保护措施的另一方面是越来越依赖虚拟平台。这些系统的保护可以通过系统快照以及将虚拟机保存到非易失性存储中来实现。

收集

收集元素是数字取证检查员开始获取数字证据的过程。在检查数字证据时,理解某些证据的易变性非常重要,检查员往往需要查看这些证据。易变证据是指当系统关闭时可能丧失的证据。对于网络设备,这可能包括设备上的活动连接或日志数据。对于笔记本电脑和台式机,易变数据包括运行中的内存或地址解析协议ARP)缓存。

互联网工程任务组IETF)编制了一份名为*证据收集与存档指南(RFC 3227)*的文档,介绍了数字证据的易失性顺序,如下所示:

  • 寄存器和缓存

  • 路由表、ARP 缓存、进程表、内核统计、内存(RAM)

  • 临时文件系统

  • 磁盘镜像

  • 远程日志记录和监控物理数据配置,网络拓扑

  • 存档介质

数字取证检查员在开始证据收集过程时,必须考虑到这些易失性。应采用方法将易失性证据收集并转移到非易失性介质中,例如外部硬盘。

正确的证据处理

证据的正确处理和保管至关重要。如何获取证据的错误可能导致证据被污染,从而无法作为法医证据使用。此外,如果案件涉及潜在的法律问题,关键证据可能会被排除在刑事或民事诉讼中。处理证据时需要遵循几个关键原则,列举如下:

  • 改变原始证据:数字取证检查员采取的行动不应改变原始证据。例如,取证分析员如果没有必要,应该避免访问正在运行的系统。需要注意的是,接下来要探讨的一些任务可能会改变一些证据。通过合适的文档记录并有正当理由,数字取证检查员可以减少证据被判定为污染的风险。

  • 文档:在执法领域,你常会听到这样一句话:如果你没有写下来,它就没有发生。这在讨论数字取证时尤其重要。每一个采取的行动都应该以某种方式进行文档记录。这包括详细的笔记和图示。另一种记录方式是通过照片。正确的文档记录可以让检查员在证据的完整性受到质疑时重建事件链。

证据处理指南

各种执法机构提供了关于现场正确处理证据的广泛资源。你应该熟悉这些程序。以下是执法机构使用的指南:

证据链

证据链管理描述了证据在其生命周期中的文档记录。生命周期从个人首次接管证据开始,到事件最终处理完毕,证据可以归还或销毁为止。保持正确的证据链管理至关重要。如果证据需要进入法庭,任何证据链的中断都可能导致该证据无法被纳入诉讼程序。因此,确保完整记录证据的整个生命周期是至关重要的。

CSIRT 记录和维护证据链管理的方式主要有两种。

第一个是电子方式。有些制造商为法医实验室或执法机构等组织提供硬件和软件,自动化证据链管理过程。这些系统为每件证据使用独特的条形码贴纸。扫描仪读取这些条形码时,便创建了电子跟踪记录。

创建和维护证据链管理的第二种方法是纸笔法。此方法使用包含必要信息的纸质表单,用于开始和维护证据链管理。尽管纸笔法可能有些繁琐,并且需要更多的细心以确保表单免于毁损或篡改,但对于资源有限的小型 CSIRT 来说,这是一种更加经济有效的解决方案。

在适当的证据链管理表单应该包含什么内容方面,有几个部分,每个部分都有其需要提供的详细信息。以下截图显示了一个证据链管理表单模板(可以从 NIST 获得一个可编辑的证据链管理表单,网址:www.nist.gov/document/sample-chain-custody-formdocx).

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_02.jpg

图 3.2 – 证据链管理表单

需要填写的第一个部分是事件信息部分,如图 3.3所示。案件编号字段要求为案件或事件提供唯一标识符。这可以是事件编号或工单系统编号。第二个字段,分析员,记录了填写证据链管理表单首部分的分析员。最后,每个独立的证据项需要一个提交编号。这确保每个证据项都有其独立的证据链管理表单。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_03.jpg

图 3.3 – 证据链管理表单中的事件信息部分

这部分的第二部分是对项目的详细描述。虽然包含多个不同元素可能显得有些冗余,但数字取证关注的正是细节。记录这些信息可以消除任何关于其真实性的疑问。此描述应包含以下内容:

  • 项目编号:表单中应包含唯一的项目编号。如果有多个证据,将会填写一份单独的证据链表单。

  • 描述:这应是对项目的简要描述。可以是简单的说明,例如“500 GB SATA 硬盘”。

  • 制造商:此信息有助于当多个证据可能来自不同制造商时提供帮助。

  • 型号:由于组件的型号种类繁多,记录型号可以提供有关项目的进一步细节。

  • 序列号:如果事件涉及多个配置完全相同的系统,序列号尤为重要。试想如果六个硬盘同时被扣押且型号和规格相同,如何重建与每个硬盘对应的证据链。

完整的第一部分证据链表单将是这样的。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_04.jpg

图 3.4 – 证据链表单中的电子媒体详情部分

在证据可能是逻辑文件(例如日志文件或在调查中捕获的图像)等情况下,可以使用备用部分。其包含以下元素:

  • 获取日期/时间:准确记录获取特定文件的日期和时间非常重要。

  • 描述:对获取的媒体的简要描述是有用的。如果在获取证据时使用了软件应用程序或取证工具,应注明。在其他情况下,例如日志文件,可能仅仅是外部硬盘的一个副本。

  • 存储驱动器:在后续部分,我们将讨论外部媒体在文件存储中的重要性。使用的具体驱动器应记录在证据链表单中。

  • 文件/图像名称:此处填写文件或图像的唯一文件名。

  • 哈希值:对于每个获取的文件,应计算唯一的哈希值。

完整的图像或文件详情部分的证据链表单看起来会是这样的。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_05.jpg

图 3.5 – 证据链表单中的图像或文件详情部分

接下来的部分详细描述了证据在其生命周期中的具体步骤。每个阶段应记录以下细节:

  • 跟踪编号:此编号表示证据在生命周期中经过的步骤。

  • 日期/时间:这是任何链条保管中至关重要的信息,并且适用于证据经历的每一步。这使得任何查看链条保管的人都能将每一步按分钟重构,明确证据的每个生命周期步骤。

  • 来源去向:这些字段可以是个人或存储位置。例如,如果分析员扣押了硬盘并将其移到安全存储柜,他们会将该位置记录为去向。在链条保管中,关键是确保在适当情况下,由个人签署表格以确保责任追究。

  • 原因:移动一件证据时绝不应没有理由。在链条保管表格的这一部分中,原因会被描述。

以下截图是前一张截图中记录的硬盘移动样本。每个单独证据的每次移动都在这里记录。第一次移动是实际从系统中扣押硬盘。在此情况下,没有单独的保管员,因为硬盘已从数据中心取走。关键在于,作者是硬盘的保管员,直到他能将其转交给 IRProactive 的 Carol Davis 进行分析。详细信息如下:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_06.jpg

图 3.6 – 链条保管详细信息

链条保管在证据的整个生命周期中保持完整。即使证据被销毁或归还,链条保管表格中也会有相应记录。这些表格应与由事件产生的其他材料一起保存,并作为任何后续报告的一部分。

检查

检验阶段详细说明了用于从事件中扣押的证据中发现和提取数据的具体工具和取证技术。例如,在怀疑恶意软件感染桌面系统作为更大攻击一部分的案件中,提取从获取的内存镜像中提取特定信息将在此阶段进行。在其他情况下,数字取证检查员可能需要从网络捕获中提取安全外壳SSH)流量。数字证据的检查还延续了适当保存的过程,检查员在检查过程中会以极高的谨慎来保持证据。如果数字取证检查员在此阶段未能妥善保存证据,可能会导致证据污染,进而使证据变得不可靠或无法使用。

分析

一旦检查阶段提取了潜在相关的数据,数字取证检查员将开始分析这些数据,并结合获取的其他相关数据进行进一步分析。例如,如果数字取证分析员发现一个被入侵的主机与一个外部 IP 地址有开放连接,那么他们将把这一信息与从网络中捕获的数据包进行关联。以该 IP 地址为起点,分析员将能够隔离出相关流量。接下来,分析员可能会发现该被入侵主机正在向 C2 服务器发送信号。从这里,借助额外的资源,分析员可能能够确定与该 IP 地址相关联的攻击途径。

呈现

与数字取证相关的事实报告需要清晰、简明且公正。在几乎所有情况下,取证检查员都需要准备一份详细的书面报告,报告中要涵盖每一个操作步骤并捕捉所需的关键数据。该报告应该是全面的、准确的,并且不带有任何观点或偏见。这个报告通常会成为更大规模事件调查的一部分,并有助于确定事件的根本原因。

另一项呈现要求是取证检查员在刑事或民事诉讼中的角色。如果正在调查的事件涉及嫌疑人或其他责任方,可能需要在法庭上作证。正是在这一过程中,取证检查员需要以与报告相似的冷静态度,陈述取证检查的事实。检查员需要陈述事实和结论而不带偏见,并且可能会受到他们可以作证的意见范围的限制。检查员能否作证通常取决于他们的培训和经验。有些检查员可能仅限于呈现检查结果的事实;而随着技能的提升,并且被认定为专家证人后,他们可能能够提供个人意见。

数字取证实验室

数字取证是一个精确的过程,涉及使用适当的工具、技术和知识,从系统中提取潜在证据。取证检查员必须有一个与正常业务运营隔离的工作环境。实现这种隔离的最佳方法是为直接参与数字证据检查的计算机安全事件响应团队(CSIRT)成员提供一个完全与其他部门隔离的地方。数字取证实验室应具备几个关键特征,以确保检查员的必要隐私,同时也确保在检查过程中证据的完整性。

物理安全

法医实验室的访问需要严格控制。为了维护证据链,只有那些有正当理由的人才能进入实验室。此限制是为了消除任何证据被篡改或销毁的风险。因此,实验室应该始终保持上锁。理想情况下,访问权限应通过访问卡或钥匙扣授予,并配有中央管理系统进行控制。这样可以完整地重建所有在特定时间段内访问实验室的人员记录。

实验室还应配备证据储物柜,以便在没有被检查时妥善存放证据。储物柜应该是安全的,可以通过内置锁或使用组合锁进行加固。储物柜的钥匙应保存在实验室内,并且只应允许检查员访问。如果组织具备足够资源,每个具体事件应该有一个专门的储物柜,所有相关证据应存放在同一个柜子里。这样可以减少数字证据混合的可能性。

气候和湿度应像任何数据中心一样受到控制,并应设置为适当的水平。

工具

根据需要执行的具体检查,可能需要拆卸螺丝或剪断电线。为检查员准备一套小型手动工具将会非常方便。实验室还应该配备用于保护证据的盒子。如果检查员需要处理智能手机或平板电脑,应提供法拉第袋。这些袋子可以将智能手机或平板电脑与蜂窝网络隔离,同时仍保持电源。

硬件

实验室应配备足够的计算机和其他硬件,以执行各种必要的功能。检查员需要对硬盘进行成像,并处理数 GB 的数据。因此,需要一台具有足够 RAM 的法医计算机。虽然每个人的偏好不同,但推荐最少 32GB 的 RAM。除了内存和处理能力,检查员通常还需要查看大量数据。法医工作站应配备一块主要的操作系统硬盘,用于存放法医软件,另配一块二级硬盘用于存储证据。二级硬盘应至少有 2TB 的存储空间。

除了法医工作站外,检查员还应配备一台连接互联网的计算机。法医工作站应该没有互联网连接,以确保安全,同时避免在检查过程中证据可能遭到破坏。应该使用一台辅助计算机进行研究或编写报告。

另一个关键设备是物理写保护器。该设备允许将作为证据扣押的硬盘与取证成像机器连接。这个物理写保护器与 USB 或 Thunderbolt 连接的关键区别在于,数字取证检查员可以确保没有数据写入证据驱动。图 3.7 显示了 Tableau eSATA 取证桥物理写保护器:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_07.jpg

图 3.7 – 一个物理写保护器

对于进行较多成像任务的数字取证实验室,可以选择包括一个专用的取证成像工作站。这可以更快地成像证据驱动,并且不会占用取证工作站。缺点是其费用:如果 CSIRT 成员没有看到性能下降,可能很难为这种开销辩护。

CSIRT 还应投资购买一批高容量外部 USB 驱动器。这些驱动器在成像过程中比传统的 SATA 或 IDE 驱动器更易于使用。这些驱动器用于存储证据驱动镜像,以便进一步分析。CSIRT 成员应至少有六个高容量的驱动器可用。存储空间为 2TB 至 3TB 的驱动器可能一次存储多个镜像。较小的 USB 驱动器也很有用,可以用来捕获日志文件和内存镜像,供稍后处理。任何这些 USB 驱动器都应配备最新的 3.0 版本,以便加快处理速度。

最后,支持 CSIRT 的数字取证检查员应该拥有一个耐用的箱子,用来运输所有必要的硬件,以防需要进行场外检查。许多这些工具非常脆弱,经不起当地机场行李搬运员的猛烈撞击。CSIRT 应投资购买至少两个硬壳箱,类似用于电子设备或摄影设备的箱子。一个箱子可以用来运输硬件,如外部硬盘,第二个箱子可以用来运输取证笔记本电脑,并最大限度地减少粗暴搬运可能造成的损坏。

软件

当前市场上有许多商业和免费软件工具。数字取证实验室应该能够访问多个工具,以执行类似的功能。至少,实验室应该拥有能够执行证据驱动镜像、检查镜像、分析内存捕获并报告结果的软件。

数字取证分析员可以使用几种不同类型的取证软件。首先是取证应用程序。这些应用程序是专门设计用于执行各种数字取证任务的。它们通常是商业化的,在执法和政府部门以及私人行业中得到广泛使用。以下四种取证应用程序是最常见且广泛部署的:

  • Autopsy:由 Brian Carrier 开发的这款开源软件,提供了一个功能丰富的应用程序,自动化了关键的数字取证任务。作为一个开源项目,Autopsy 还拥有提供大量附加功能的开源模块。Autopsy 将在后续章节中进行更深入的讲解。

  • EnCase:由 OpenText 开发,EnCase 是一款全功能的数字取证应用程序,执行涉及数字证据检查的各项任务,主要来自硬盘和其他存储介质。除了分析数字证据外,EnCase 还具备报告功能,允许检查员以易于理解的格式输出案件数据。EnCase 广泛应用于政府和执法机构。一个缺点是该应用程序的成本。对于预算有限的某些 CSIRT 和取证检查员来说,可能很难证明这一费用的合理性。

  • Forensic Toolkit (FTK):这也是一款广泛应用于政府和执法机构的全功能取证应用程序。它具备许多与 EnCase 相同的功能,可能是数字取证分析员希望探索的替代方案。

  • X-Ways Forensics:另一个选择是 X-Ways Forensics 应用程序。它的功能与 FTK 和 EnCase 相似,是一个低成本的优秀选择,适合那些不需要网络访问或远程捕获功能的 CSIRT。

使用已验证的工具

有几个高调的案件曾对数字取证工具提出质疑。在美国,凯西·安东尼因涉嫌谋杀女儿而受审。在审判期间,控方提交了安东尼的互联网浏览历史作为证据。这些历史记录是通过工具 CacheBack 提取的。工具作者对该软件的审查发现它存在一个软件漏洞。虽然没有确凿证据表明该工具对陪审团的裁决产生了影响,但这也给我们一个教训,即确保在数字取证中使用的工具,特别是在可能进入法律程序的案件中,都是经过验证的。

Linux 操作系统取证工具

也有许多为数字取证目的创建的 Linux 发行版。这些发行版通常是免费的,提供了可以帮助数字取证调查员的工具。这些工具分为两大类。第一类是作为启动 CD/DVD 或 USB 的发行版。这些发行版对于进行初步筛查或无需对硬盘进行镜像即可访问文件非常有用。这些发行版可以被放置在 CD/DVD 上,或者如今更常见的是 USB 设备上。调查员然后将被调查的系统引导到 Linux 发行版中。有许多这样的发行版可供选择。

以下是两个在数字取证检查员中较为流行的例子:

  • 数字证据与取证工具包 (DEFT) Zero:这是基于 GNU Linux 平台的。DEFT 可以从 USB 或 CD/DVD 启动。启动后,DEFT 平台包含了广泛的工具,供数字取证检查员执行诸如获取大容量存储设备等操作。例如,他们可以获取启动该平台的系统上的硬盘。DEFT 通过不启动交换分区且不使用自动挂载脚本,最大限度地降低了数据更改的风险,从而确保系统存储的完整性。我们可以在下图中看到 DEFT 操作系统。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_08.jpg

图 3.8 – DEFT 数字取证操作系统

  • 计算机辅助调查环境 (CAINE):这是本书中将进一步使用的另一个取证发行版。CAINE 是一个 GNU/Linux 平台,包含了多种工具,旨在帮助数字取证检查员。CAINE 在下图中展示。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_09.jpg

图 3.9 – CAINE 数字取证操作系统

另一类 Linux 发行版是那些为进行证据检查(如 RAM 捕获和网络证据)而设计的平台。当前有多个此类发行版:

  • SANS 调查取证工具包 (SIFT):这是一个全面的取证工具集,基于 Ubuntu 20.04 基础操作系统。工具包括图像制作、内存分析、时间线创建以及其他多种数字取证任务。SIFT 由 SANS 学院免费提供,作为独立虚拟机、ISO 文件或 Windows 子系统 Linux 的一部分,详细信息请见www.sans.org/tools/sift-workstation。安装后,系统桌面基于 Ubuntu 发行版,提供通过命令行或 GUI 运行的附加工具,如下图所示。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_10.jpg

图 3.10 – SANS SIFT 工作站

  • CSI Linux:这是 CSI Linux 中的另一个功能丰富的取证平台,如下图所示。这个数字取证操作系统包括 175 个工具,用于执行各种任务。该工具可以作为预配置的虚拟系统提供,也可以作为可启动版本,通过 USB 进行部署。这些内容可以在csilinux.com找到。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_11.jpg

图 3.11 – CSI Linux 数字取证操作系统

  • REMnux:REMnux 是一个专门的工具,它将多种恶意软件逆向工程工具整合成一个基于 Ubuntu Linux 的工具包。REMnux 中提供的一些工具是用于分析 Windows 和 Linux 恶意软件,检查可疑文档,还可以在隔离的容器中拦截潜在的恶意网络流量。我们可以在下图中看到 REMnux。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_12.jpg

图 3.12 – REMNUX 数字取证操作系统

跳跃包

事件响应的一个方面可能对 CSIRT 团队成员构成挑战的是,他们可能不得不在自己所在地之外响应事件的可能性。在大型企业中,离场响应非常普遍,甚至是为其他组织提供咨询的 CSIRT 的常态。因此,CSIRT 经常需要在另一个位置执行整个响应过程,而没有数字取证实验室的支持。考虑到这一挑战,CSIRT 应准备几个跳跃包。这些包预先配置,并包含执行 CSIRT 在事件期间可能被要求执行的任务所需的硬件和软件。这些包应能够在整个过程中支持事件调查,CSIRT 应在事件位置确定安全区域以存储和分析证据。

跳跃包应便携,能够配置以适合安全硬壳箱内,并随时准备部署。CSIRT 应确保在每次事件之后,跳跃包被重新装填上次使用的任何物品,并且硬件和软件被正确配置,以便分析师在事件期间对其可用性有信心。跳跃包的一个示例可见以下照片。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_13.jpg

图 3.13 – 数字取证跳跃包

至少,一个跳跃包应包含以下内容:

  • 取证笔记本电脑:此笔记本应包含足够的 RAM(32 GB),以在合理时间内制作硬盘镜像。笔记本还应包含取证软件平台(如前所述)。如果可能的话,笔记本还应包含至少一个 Linux 取证操作系统,如 CAINE 或 SIFT。

  • 网络电缆:拥有几根不同长度的 CAT5 电缆对 CSIRT 团队来说非常有用,因为他们可能需要访问网络或连接到任何网络硬件,如路由器或交换机。

  • 物理写入阻断器:每个包都应配备物理写入阻断器,可用于影像化 CSIRT 人员可能遇到的任何硬盘驱动器。

  • 外部 USB 硬盘驱动器:跳跃包应包含几个 1TB 或 2TB 的 USB 硬盘驱动器。这些驱动器将用于影像化潜在受损系统上的硬盘。

  • 外部 USB 设备:从日志来源或 RAM 捕获收集的证据存储在潜在受损系统上是不符合法庭取证原则的。跳跃包应包含几个大容量(64 GB)的 USB,用于卸载日志文件、RAM 捕获或其他从命令行输出获取的信息。

  • 可启动的 USB 或 CD/DVD:虽然并非每种情况都会使用,但在取证笔记本当前正在执行其他任务时,拥有几个可启动的 Linux 发行版可能会有用。

  • 证据袋或盒子:在事件发生过程中,可能需要扣押某些证据并将其转移到现场外。应当具备在现场安全存放证据的能力,而无需到处寻找合适的容器。

  • 防静电袋:如果硬盘被扣押作为证据,应当使用防静电袋进行运输。

  • 链条证明表格:如前所述,为每一件证据准备一份链条证明表格至关重要。准备好一打空白表格,可以省去寻找系统和打印机打印新副本的麻烦。

  • 工具包:一个小型工具包,内含螺丝刀、钳子和手电筒,在需要拆卸硬盘、切断连接或分析人员必须进入数据中心黑暗角落时非常有用。

  • 记事本和书写工具:正确的文档记录至关重要;用钢笔手写的笔记可能显得有些过时,但它们是记录事件发展过程的最佳方式。作为跳跃包的一部分,准备几个速记本和钢笔,确保 CSIRT 人员在关键事件发生时不必到处寻找这些物品。跳跃包应至少每月进行一次清点,确保物资齐全,随时准备部署。它们还应当安全存放,只对 CSIRT 人员可见。若将这些包放置在公共视野中,它们经常被其他人员抢夺,用来寻找螺丝刀、网线或手电筒。对于支持地理分散组织的 CSIRT 来说,若在主要办公室总部、数据中心或其他外部地点有多个跳跃包,预先准备好多个跳跃包供使用是一个好主意。这样可以避免在机场携带跳跃包。以下照片展示了跳跃包中应存放的一些物品。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_03_14.jpg

图 3.14 – 跳跃包的内容

恭喜你成功完成这一章!

摘要

事故响应涵盖广泛的学科,从法律到科学。负责进行数字取证检查的 CSIRT 成员应非常熟悉数字取证的法律和技术方面。此外,他们还应熟悉各种必需的工具和设备,以获取、检查和展示检查过程中发现的数据。正确应用取证技术对于提供事件链的洞察至关重要,这些事件链导致 CSIRT 被部署以调查事故。在本章中,我们首先探讨了数字取证的各种法律方面,例如证据规则和与网络犯罪相关的法律。接下来,我们讨论了数字取证的科学,了解了如何将技术应用于调查中。为了增强这些知识,我们审视了这些技术如何融入数字调查的框架。然后,我们对数字取证检查员可用的各种工具进行了概述。

在下一章,我们将把数字取证与事故响应的调查方法结合起来。

问题

  1. 什么不是联邦证据规则?

    1. 相关证据的测试

    2. 洛卡尔法则

    3. 专家证人的证词

    4. 最佳证据规则

  2. 应保持适当的证据链以确保数字证据的完整性。

    1. 正确

    2. 错误

  3. 哪些项目应包括在数字取证工具包中?

    1. 物理写入阻断器

    2. 记事本和钢笔

    3. 网络电缆

    4. 以上所有

  4. 什么不是取证过程的一部分?

    1. 识别

    2. 法庭证词

    3. 收集

    4. 分析

进一步阅读

第四章:调查方法论

到目前为止,前三章已经介绍了事件响应的基础知识,以及数字取证如何在理解事件性质中发挥关键作用。事件响应的另一个关键组成部分是调查环节。事件调查是一种方法论和过程,分析师通过这一过程提出假设并进行验证,以回答关于数字事件的问题。数字调查过程中的主要数据来自对数字证据的正确处理和分析。图 4.1展示了数字取证、事件响应和事件调查之间的关系。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_04_01.jpg

图 4.1 – 数字取证、事件调查与事件响应之间的关系

本章将重点讨论作为整体事件响应过程一部分的事件调查。通过这些方法论,分析师将有一张路线图,指导他们以有组织且系统化的方法处理事件调查。

本章将涵盖以下主题:

  • 入侵分析案例研究:布谷鸟的蛋

  • 事件调查分析的类型

  • 功能性数字取证方法论

  • 网络杀伤链

  • 入侵分析的钻石模型

入侵分析案例研究:布谷鸟的蛋

在过去的 30 年中,发生了许多引人注目的事件,因此找到一个能够概括良好的事件调查案例并不困难。回溯到最初的事件调查之一,可能会有所帮助,在那时有人需要创造收集证据的方法,并追踪全球范围内的对手。需要记住的一个分析方面是,即使没有构建方法,这些人也能提出假设,进行测试并分析结果,最终得出结论,从而帮助找出犯罪分子。

1986 年 8 月,天文学家和劳伦斯伯克利实验室LBL)的系统管理员克里夫·斯托尔(Cliff Stoll)接到了上司交给他的一个谜题。在一次例行审计中,LBL 的工作人员发现了一个 0.75 美元的账目错误。当时,计算机资源非常昂贵。每一项计算都必须按照项目或实验室部门进行计费,这要求维护和审计非常详细的用户账户活动日志。对错误的快速检查发现,存在一个没有任何相应计费信息的用户账户。

当 LBL 收到来自国家计算机安全中心的消息时,谜团加深了。消息称,LBL 的一名用户正在试图访问 MILNET 系统,即国防部的内部网络。Stoll 和他的同事删除了未经授权的账户,但那个仍未被识别的入侵者依然存在。Stoll 最初的假设是,来自附近加利福尼亚大学的一个学生恶作剧者正在对 LBL 和连接的各个 MILNET 实体进行一场精心设计的恶作剧。Stoll 随后开始更详细地检查账单日志,以确定入侵背后的人是谁。接下来是长达十个月的历程,Stoll 追踪了从美国到欧洲的流量。

放弃了“恶作剧者”假设后,Stoll 的第一步是创建一个记录所有他和 LBL 其他工作人员活动的日志。在调查的初期,Stoll 遇到了一个其他响应者必须通过艰难方式学到的教训:入侵者在访问受损系统时,可能能够访问电子邮件和其他通信。因此,Stoll 和他的团队转而使用面对面的交流或电话联系,同时保持持续发送虚假电子邮件,以让入侵者保持自信,认为他们仍未被发现。这些日志在调查的后期阶段将派上用场,当事件的更清晰的图景浮现时,它们会提供帮助。

Stoll 和团队面临的第一个重大挑战是无法查看 LBL 网络和入侵者的活动。在 1986 年,事件记录、数据包捕获和入侵检测系统IDSs)等工具并不存在。Stoll 解决这个问题的方法是在线路上串联打印机,这些线路通向最初的入侵点。这些打印机会作为未知入侵者活动的日志记录。通过检查入侵者的连接,Stoll 能够确定入侵者使用的是 X.25 端口。由此,Stoll 能够设置一个被动监听装置,捕捉入侵者的击键,并将数据输出到软盘或物理打印机。

通过监控网络,Stoll 随后遇到了另一个挑战:追踪攻击者的来源。当时,远程连接是通过电话线完成的,追溯连接的能力依赖于多个电话公司。更具挑战性的是,攻击者通常会将 LBL 连接作为跳板,连接到其他网络。这意味着 Stoll 追踪的连接通常只会持续几分钟。Stoll 在系统上设置了多个警报,通过皮带呼叫器提醒他,这时他可以远程连接到 LBL 系统,开始另一轮追踪。尽管采取了这些措施,Stoll 和他的同事们仍然无法保持连接足够长的时间来确定源头。

解决这个挑战的办法出现在攻击者试图访问的内容上。在分析过程中,Stoll 观察到攻击者不仅仅是在访问 LBL 网络,还利用这个连接搜索美国军事及其相关防务承包商的其他网络。Stoll 想出的解决方案来源于当时女友的建议。为了保持入侵者的连接,Stoll 创建了一系列虚假的文档,标题看起来像是与战略防御倡议SDI)项目相关的。任何试图获取机密信息的人都会立刻认识到这些文件的战略重要性。此外,Stoll 还植入了一封表格信件,说明可以通过邮寄方式获取硬拷贝文件。文件的访问受到严格控制,并且对文件设置了警报,以便在攻击者试图访问时得到提示。这种方法奏效了。那位尚未确认身份的入侵者不仅花了一个小时阅读这些虚构的文件,还通过邮局提交了请求,要求将自己加入邮件名单。

在这 10 个月的时间里,Stoll 不断遇到的主要难题是追踪攻击者与 LBL 网络的连接。入侵者始终保持着使用广泛网络连接的模式。其次,入侵者会变化连接的时间,每次只保持几分钟。通过最初的工作,Stoll 成功定位到加利福尼亚州奥克兰的一个拨号连接。在与电话公司的合作下,他成功隔离了一个来自维吉尼亚州麦克林的防务承包商的调制解调器连接。通过数据通信公司 Tymnet 的协调,Stoll 和团队最终将连接追踪回德国的 LBL 网络。

正是 Stoll 将虚构的文件放置在 LBL 系统上后,他才得以完成追踪。即便如此,这一追踪工作需要 Stoll、Tymnet、各大学以及德国执法部门的密切协调。最终,Stoll 的努力得到了回报,他成功识别出肇事者是德国 Chaos Computer Club 的成员。这些人还与美国各大学和国防承包商相关的多起入侵事件有关。

审视 1986 年的网络入侵可能看起来有些奇怪,但我们仍然可以从 Stoll 的工作中学到很多东西。首先,这无疑是第一次公开记录的高级持续性威胁APT)攻击。随后,由 FBI 和其他政府机构进行的调查确定,Chaos Computer Club 正试图通过将情报出售给国家安全委员会KGB)来谋取财务利益。一个有趣的插曲是,最初,KGB 在进行网络入侵以获取情报方面几乎没有经验。Stoll 揭示了一个重要的漏洞,反间谍人员本应意识到:对手的情报机构正在利用新兴的互联网作为情报收集手段。

Cliff Stoll 的故事

Cliff Stoll 曾广泛撰写和演讲,分享他追踪 LBL 黑客的经历。他的文章《追踪狡猾的黑客》副本包含在本章的补充材料中。Stoll 还出版了完整的书籍《布谷鸟的蛋》。尽管这些事件发生在 35 年前,这本书仍然值得一读。

我们可以从中学到的第二个教训是,全面而详细的调查可以追溯到攻击的源头。在这种情况下,Stoll 本可以轻松切断连接并将攻击者从网络中移除。然而,他决定全面详细地记录攻击者的战术、技术和程序TTPs)。通过一些欺骗手段,他进一步将某个个人与键盘绑定,这在 1986 年是一个非常困难的任务。总体而言,Stoll 展示了通过对入侵事件的详细调查,他和其他人可以揭示攻击的更广泛范围的细节,这些攻击远远超出了一个 0.75 美分的会计错误,涉及到全球间谍活动和冷战政治。这些教训今天依然和 1986 年一样具有现实意义。在我们分析入侵分析如何成为我们理解当今攻击者的来源时,请牢记这一点。

事件调查分析的类型

数字化调查并非完全相同。计算机安全事件响应团队CSIRT)会根据允许的时间、事件类型和整体调查目标停止调查。对于小规模的恶意软件爆发,让两三名 CSIRT 分析员花费整整一天进行调查是没有意义的。另一方面,如果是一个网络入侵,且入侵者已经在网络中存在了三个月,那么就需要更为详细的证据检查,以确定入侵者是如何获得访问权限的,他们收集和外泄了哪些信息,以及对组织造成了什么影响。

结果是,不同的人会在组织内进行多种类型的事件调查。图 4.2 显示了五个层级以及参与的人员,附带相应的时间和所需的调查资源:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_04_02.jpg

图 4.2 – 事件调查的类型

让我们详细讨论这五个层级:

  • 检测分析:这是通常在安全事件初步检测到时进行的基本分析。例如,安全设备的遥测数据显示与已知的命令与控制C2)服务器之间有网络连接。快速查看仪表板可能会显示一个本地化事件或潜在的更大规模事件。检测分析通常局限于遥测数据和次要来源,如外部威胁情报源。此分析的目标是确定该事件是否属于需要上报给 CSIRT 的安全事件。

  • 初步分析:安全事件通常是模糊的。CSIRT 和 SOC 人员需要了解最初的感染情况、横向传播以及入侵者如何维持对受损系统的控制。初步分析使用快速获取选定证据并进行分析的工具,旨在确定事件的范围,并向领导层提供信息,以便遏制事件并争取时间决定下一步的调查和响应措施。

  • 根本原因分析:此类调查通常与遏制措施同时执行。其主要目标是获取和分析证据,以确定入侵者是如何获得网络访问权限的,他们采取了哪些步骤,这些步骤具体是什么,以及对组织可能造成的影响。此类调查的目的是修复漏洞,提升企业整体安全性,从而减少未来入侵的风险。

  • 入侵分析:通过根本原因分析,组织可以深入了解对手的战术、技术和程序(TTPs)。入侵分析更详细地呈现对手在网络入侵过程中如何操作的全面图景。正如图 4.2所示,入侵分析通常比应对、消除并恢复事件所需的时间和调查工作量要长得多。尽管如此,入侵分析确实对组织有帮助,因为它为组织提供了对对手行为的全面洞察。这不仅能解释对手的行为,还能为识别更高级的对手提供有价值的情报。

  • 归因分析:在时间和调查工作量方面,归因分析位于最上端。简单来说,归因分析将一次入侵事件与某个威胁行为者联系起来。这可以是一个团体,比如 Conti 勒索病毒团体、Fancy Bear,或者在某些情况下,比如 Mandiant APT1 报告中的情况(www.fireeye.com/content/dam/fireeye-www/services/pdfs/mandiant-apt1-report.pdf?source=post_page),入侵活动可能与中国军方的某个特定单位及具体个体相关。事件归因所需的时间和资源通常超出了 CSIRT 的能力范围。归因分析通常主要用于网络威胁情报目的。尽管如此,仍有一些组织利用 CSIRT 成员的调查经验、工具和技术,因此,团队仍然有可能参与此类分析。

这些分析各自都有其在事件调查中的作用。进行哪种类型的分析取决于几个因素:首先是组织的整体目标。例如,网络入侵可能只会调查到根本原因,因为组织没有足够的时间或资源进一步深入。在其他事件中,组织可能有法律或合规要求,要求事件必须进行全面调查,无论花费多长时间。

其次,可用的证据在很大程度上决定了分析能进行到什么程度。如果没有足够的证据来源来支撑网络中的调查,进行全面的入侵分析将会受到限制,甚至不可能。最后,进行更深入分析的时间也常常是一个决定性因素。组织可能没有足够的时间或人员来进行深入的入侵分析,或者它可能认为只要通过根本原因分析消除对手并防止未来的入侵就足够了。

功能性数字取证调查方法论

进行分析的不同方法论有很多种。以下数字取证调查方法论基于 NIST 特别出版物 800-61a 中列出的最佳实践,该文档涵盖了事件响应,并结合了彼得·斯蒂芬森博士的端到端数字调查方法。这两种方法论通过 Brian Carrier 和 Eugene H. Spafford 的研究出版物《Getting Physical with the Digital Investigation Process》进一步得到了补充。

对这种方法论的整体应用是使用数字证据和分析来验证或推翻假设。例如,分析人员可能基于初步识别,假设对手通过钓鱼邮件成功在网络上获得了初步立足点。分析人员需要从受感染的系统、端点遥测和其他来源收集必要的信息,追溯通过邮件引入恶意软件的过程。

以下方法论使用了事件调查的 10 个不同阶段,以确保所获得的数据被正确分析,并且得出的结论能够支持或驳斥所建立的假设。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_04_03.jpg

图 4.3 – 十步调查方法论

识别与范围界定

这是事件调查的第一阶段,一旦检测到并声明为事件,调查便开始。最常见的情况是,安全遥测系统如端点检测与响应EDR)平台或 IDS(入侵检测系统)显示环境中检测到某种行为、入侵指标IOC)或两者的组合。在其他情况下,事件的识别可能来自人工来源。例如,某个个人可能指出他们点击了一个可疑链接,或者他们的系统文件被勒索软件加密了。在某些人为情况中,组织可能会收到执法部门的通知,告知其机密信息已在对手的基础设施中被发现。

在这些情况下,初步识别应当通过对遥测的初步检查来增强,以识别可能成为事件一部分的其他系统。这为调查设置了范围或限制。如果能够确认使用了 Windows 二进制文件来加密 Windows 操作系统主机,组织则无需关注 Linux 系统。

收集证据

一旦事件被识别并确定范围,下一阶段是开始收集证据。应优先收集短期存在的证据,按照第三章中讲到的波动性列表进行收集。事件响应和数字取证人员应确保尽可能保留证据,即使他们认为在调查初期这些证据可能没有用。例如,如果网络管理员知道防火墙日志每 24 小时会自动滚动,那么应该立即捕获这些日志。如果后来确定防火墙日志没有用处,可以轻松丢弃它们,但如果它们本来会有用而没有及时收集,组织可能会失去一些关键数据点。

证据的波动性和整体可用性应在事件响应计划中加以考虑。例如,应制定相关政策和程序,解决日志文件在定义的时间内的保留问题。例如,支付卡行业数据安全标准PCI DSS)要求受此标准约束的组织至少保留一年期的日志,并确保至少 90 天的日志是立即可用的。组织需要在存储成本和某些日志可能具有的证据价值之间找到平衡。

本书的几个章节深入探讨了证据获取的更多细节。关于事件调查的主要观点是尽可能地完成证据获取。俗话说“多多益善”。事件响应或数字取证分析师最不希望发生的事情是因为组织没有准备好或无法及时获取证据,导致缺少事件中的关键部分。

初步事件分析

在获取证据后,调查过程的下一阶段是整理并开始检查各个单独事件。由于数据量庞大,这可能会很困难,因此这不一定是详细的检查(这将在后续进行),而是第一次分析,以确定哪些数据点具有证据价值。例如,在勒索软件案件中,攻击者通常使用像虚拟基础脚本VBS)或 Base64 编码的 PowerShell 命令这样的脚本语言。对 Windows PowerShell 日志的审查可能会显示出编码命令的存在。在感染的系统中找到的 PDF 或 Word 文档可能会被检查,以显示 VBS 攻击的存在。

这一阶段的目标是寻找明显的 IOC。IOC 可以定义为表示系统或多个系统处于或曾处于对手控制下的数据点。IOC 可以分为三大类:

  • 原子指示符:这些是无法进一步分解成更小部分的数据点,它们本身即是指示符,例如,与攻击者的 C2 基础设施相关联的 IP 地址或域名。

  • 计算指标:这些是通过某种计算方式处理的数据点,例如疑似恶意软件二进制文件的 SHA256 文件哈希值。

  • 7e1861e4bec1b8be6ae5633f87204a8bdbb8f4709b17b5fa14b63abec6c72132。对 web shell 的分析表明,一旦执行,它会调用 baddomain.ru 域名,该域名已被识别为对方的 C2 基础设施。

在调查的这个阶段,同一数据中可能同时存在真正的 IOC 和误报 IOC,这种情况是预期中的。在这个阶段,调查的关键是确定哪些看起来可疑,并将其包含在调查中。接下来会有很多机会排除误报。一个好的规则是,如果对某个 IOC 有任何怀疑,将其包括在内,直到你能够明确证明它是恶意的还是良性的。

初步关联

在调查的这个阶段,分析师应该开始发现一些模式,或者至少能看到 IOC 之间的关系。在初步关联阶段,分析师开始将相关的指标进行配对。正如 Peter Stephenson 博士所说,关联可以定义为:

来自多种来源的证据性信息比较,目的是发现独立的信息,或与其他信息共同出现,或由其他证据性信息佐证或被佐证

简单来说,初步关联阶段将个别事件关联成一个事件链。例如,我们可以以一个已经被加载到 web 服务器的 web shell 为例。在这种情况下,会生成几个特定的证据点。Web 应用防火墙可能会在日志中看到 HTTP POST 请求。该 POST 请求还会在 web 服务器上创建一个日期和时间戳。对 web shell 的分析可能表明另一个外部资源已被对方控制。从这些数据点中,分析师可以通过 Internet Information Service (IIS) 日志确定对方的 IP 地址、web shell 被发布的时间,以及是否包含其他对方的基础设施。

看待初步关联阶段的一种好方法是,这是分析师第一次说“这是发生了,然后是这个,然后是这个”。

事件规范化

系统上的对手行为可能有多个数据来源。例如,对手使用远程桌面协议RDP)并通过破译凭证获得对域控制器的访问权限。Windows 事件日志中会有与 RDP 连接和凭证使用相关的条目。如果对手穿越了防火墙,防火墙连接日志中也会有该连接的记录。再次引用 Stephenson 博士的话,事件标准化阶段被定义为将来自不同来源且使用不同词汇的同类型证据数据,合并为一个单一的、集成的术语,以便在 关联过程中有效使用

在这一阶段,重复的条目会合并为一个单一的语法。在之前的案例中,相关的多个条目可以合并成一个关于对手通过 Windows RDP 获得系统访问权限的声明。

过去在事件标准化过程中,曾面临的一个挑战是如何制定一个全球性对手行为的语法,例如前面例子中的那种。为了解决这一问题,MITRE 公司创建了对手战术、技术和常识ATT&CK)框架。该知识库涉及对手实施网络入侵时使用的战术和技术,并提供一个标准化语法来描述对手的行动并规范化各类证据。ATT&CK 知识库在描述对手时已成为不可或缺的工具,甚至可以在第十七章中找到相关内容。

事件冲突消解

有时也会出现与对手活动相关的多个事件。例如,暴力破解密码会产生大量的登录失败事件条目。一次记录了 10,000 次失败的暴力破解尝试应该被计为一个单一事件。分析师无需列出所有失败事件,只需记录在定义的时间段内的失败情况,比如 2022 年 4 月 10 日 UTC 时间 1634 到 1654 之间。通过这种方式,无需包括所有原始数据,就能了解整体意图和对手的行为。

第二轮关联

现在数据已经经过初步的关联、随后的标准化和冲突消解过程,分析师得到了一组数据,随后将其输入第二轮关联。第二轮关联应该会产生更加精细的数据点,然后可以将这些数据输入到下一个阶段。

时间线

事件调查的一个输出就是事件时间线。现在分析师已经将事件标准化、冲突消解并关联完毕,他们应该按照顺序排列这些事件。分析师不需要专门的工具;只需简单的电子表格或图表就可以描绘出导致网络入侵的事件顺序。

杀伤链分析

在这一阶段,分析员应当已经从证据中提取了必要的指标,进行了标准化和冲突解决,并按时间顺序排列。下一阶段是将 IOC 和其他证据放入一个结构中,引导分析员理解事件与整体入侵之间的关系,以及敌方与受害组织之间的互动。常用的结构是结合洛克希德·马丁的网络攻击链和钻石模型进行入侵分析。由于这两种方法的重要性,它们将在接下来的两部分中进行详细介绍。

报告

在事件调查中,往往有一个关键部分容易被忽视,那就是报告部分。根据分析的类型,报告可能非常详细且篇幅较长。因此,整个过程中,事件分析员应当详细记录其所有行动和观察。事后几天几乎不可能完整重建整个分析过程。

事件报告通常分为三个部分,每个部分都针对特定受众的关注点和问题。第一部分通常是执行摘要。这一至两页的摘要提供了事件和分析的高层次概览,并详细说明了事件的影响。这使得高级管理层能够做出决策,以便进一步改进,并向董事会或监管机构报告调查结果。

报告的第二部分是技术细节。在这一部分中,事件响应分析员将介绍调查结果、事件时间线以及 IOC(指标)。该部分的另一个重点将是对敌方战术、技术和程序(TTPs)的分析。这是领导层和技术人员的关键信息,因为它详细描述了敌方采取的事件顺序以及他们能够利用的漏洞。这些信息对于长期修复非常有用,有助于减少未来发生类似攻击的可能性。

报告的最后一部分是建议。正如技术部分所述,往往存在一些漏洞和其他可以修复的条件,这些修复可以减少未来发生类似攻击的可能性。详细的战略和战术建议帮助组织优先考虑对环境进行改变,从而加强其安全性。

报告将在后续的第十三章中详细讲解。

网络攻击链

作为事件调查的一部分,创建的时间线提供了对敌方行动顺序的视图。这个视图虽然有用,但缺乏事件背景的优势。以 RDP 为例,分析人员可以指明连接的日期和时间,但无法洞察事件发生在哪个攻击阶段。提供背景的一个构想是将这些事件放入攻击链中,描述敌方为了达成目标所采取的事件顺序。

军方在很大程度上使用“攻击链”这一概念,描述部队执行任务以达成目标的过程。该概念的一个版本被描述在美国军方的打击理论中,称为发现、定位、跟踪、瞄准、攻击、评估F2T2EA)。这个过程被称为链条,因为它允许防御方在任何一个步骤中打破过程。例如,某个对手如果你能发现定位,但却能通过伪装成功避开追踪,那它将无法被打击,因为链条被打断了。

在白皮书《基于对对手活动和入侵攻击链分析的情报驱动计算机网络防御》中,Eric Hutchins、Michael Cloppert 和 Rohan Amin 描述了一种专门针对网络入侵的攻击链。在这个案例中,作者对现有的 F2T2EA 模型进行了扩展,创建了一个专门应对网络攻击的模型。在几乎所有的网络入侵中,核心总是一个威胁行为者,该行为者必须制作某种形式的有效载荷,无论是恶意软件还是其他漏洞利用,并让这些载荷或漏洞突破外围防御。一旦进入,攻击者需要建立持久的访问权限并实施有效的指挥与控制。最后,总是有某种目标必须实现,比如数据盗窃或销毁。这一链条在图 4.4中有所展示,描述了网络入侵攻击链的七个阶段:侦察武器化投递利用安装指挥与控制、以及目标行动

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_04_04.jpg

图 4.4 – 网络攻击链

网络杀链的第一阶段是侦察阶段。表面上看,这一阶段似乎只是对目标进行识别和初步信息收集。实际上,侦察阶段涉及的内容远不止这些。最好把这一阶段看作是整个入侵或攻击活动的准备阶段。例如,国家级 APT 组织并不是自行选择目标的,而是由指挥机关,如国家的情报服务,来为其选定目标。这就使得他们的侦察工作有了明确的方向。其他一些团体,比如涉及勒索软件攻击的组织,通常会对连接互联网的组织进行初步侦察,以看看是否能找到脆弱的目标。一旦发现脆弱的目标,他们会进行更为集中的侦察。

这一阶段还涉及到进行入侵所需的工具和基础设施的获取。这可能包括漏洞利用代码的编写、域名注册以及命令与控制基础设施的配置。为了针对特定的组织,攻击者可能还会通过入侵第三方来完成整体的攻击。例如,Solar Winds 事件就是一个典型案例,据信与俄罗斯 SVR 相关的 APT 组织通过攻击软件制造商来实施对其客户的攻击。

一旦后端基础设施配置完成,攻击者将进行对目标的侦察。这一侦察可以分为两个主要类别。第一类是技术性侦察,攻击者会利用软件工具来绘制目标的基础设施,包括 IP 地址空间、域名以及互联网上可见的软件。这种技术性侦察还可以更深入,攻击者会研究在侦察过程中发现的软件漏洞。

第二类焦点通常是组织和员工。攻击者获得内部网络访问权限的一种常见方式是通过网络钓鱼攻击。了解目标的主要业务或职能以及关键人物,有助于攻击者制作看似合法的电子邮件或其他钓鱼方案。例如,确定目标组织中应收账款部门的关键人物,可能帮助攻击者制作一封看似合法的电子邮件,欺骗目标员工。这一策略可以通过了解组织提供的具体产品或服务进一步加强,这些信息可以通过公开的商业文档或目标网站上的描述来获取。

在进行入侵调查时,确定侦察活动的具体情况可能非常困难。首先,许多侦察活动不会触及目标的网络或基础设施。例如,域名记录可以被任何人访问。在像 LinkedIn 这样的网站上搜索社交媒体资料对于防御者或分析员来说是不可见的。其次,从过去 24 小时内可能连接到目标网站的成千上万的 IP 地址中识别威胁行为者的 IP 几乎是不可能的。最后,任务指派及其他任何准备工作都发生在网络防御者无法察觉的地方,只有在事件发生后进行入侵分析时才可能看到。

攻击链的下一个阶段是武器化阶段。在这一阶段,攻击者配置他们的恶意软件或其他漏洞利用工具。例如,这可能是重新利用一个银行木马如Dridex,这种情况通常出现在勒索软件攻击中。在其他情况下,武器化可能是一个漫长的过程,其中为特定目的定制恶意软件,如 Stuxnet 恶意软件的情况。武器化还包括将恶意软件包装到容器中,例如 PDF 或 Microsoft Word 文档。例如,一个作为入侵第一阶段的恶意脚本可能会被打包成 Word 文档。

与第一个阶段类似,武器化发生在防御者无法察觉的地方。分析入侵的武器化阶段的关键是,分析员通常会在攻击者精心设计漏洞或恶意软件时,获得几天、几周甚至几个月前发生的活动的洞察。

攻击链的第三个阶段是将漏洞利用或恶意软件进行投递,进入防御者的环境。投递方式从传统的钓鱼邮件,到驱动下载,甚至使用物理设备如 USB 等各不相同。对于分析员来说,了解事件的根本原因是链条中的一个重要部分。有效的负载投递可能意味着某些安全控制未能检测并阻止该行为。

几乎所有成功的入侵都涉及利用漏洞。这可能是使钓鱼攻击成功的人为漏洞。在其他情况下,这也可能是软件漏洞,包括令人担忧的零日漏洞。在这两种情况下,杀伤链的第四阶段是利用。在这一阶段,对手利用软件、人的漏洞,或者两者的组合。例如,对手可以发现微软 IIS 应用程序中的漏洞,并通过 Shell 代码进行利用。在某些入侵中,会循环使用多个漏洞进行利用,直到对手完全攻破系统或多个系统。例如,攻击者制作了一封针对应付账款员工的钓鱼邮件,邮件中包含一个包含Visual Basic for ApplicationsVBA)脚本的 Excel 工作簿。第一次利用发生在该员工打开邮件并打开 Excel 电子表格时。接下来的利用利用了 Excel 的固有漏洞来执行 VBA 脚本。

到目前为止,在对杀伤链的分析中,对手已经对目标进行了侦察,制作了他们的利用工具或恶意软件,并将其传送到目标。通过利用各种漏洞,他们成功地获得了目标网络的初步立足点。下一阶段是保持某种程度的持久性。此时,杀伤链的下一个阶段,安装,发挥了作用。

系统的初始感染并未给予对手进行长期渗透所需的持久性。即使是勒索软件攻击,也要求对手能够长期访问网络,以进行网络发现并横向移动。在安装阶段,对手在系统上安装文件,对注册表进行更改以在重启后继续存活,或设置更持久的机制,如后门。在查看安装阶段时,需要注意的一点是,并非所有的操作都会在磁盘上留下痕迹。对手使用的某些工具通过完全在内存中运行或通过不与任何外部资源通信来保持隐藏,从而减少了留下的证据。

一旦对手能够建立其持久性,他们需要能够与被攻陷的系统进行交互。这时,第六阶段,指挥与控制,发挥了作用。在这个阶段,对手建立并保持与被攻陷系统的网络连接。例如,后期利用框架,如 Metasploit 和 Cobalt Strike,允许对手与受影响的系统进行通信并执行命令。

最后阶段,目标行动,是指对手在有效控制系统后执行的操作。这些操作可以从嗅探网络数据以获取信用卡信息到窃取知识产权不等。在某些情况下,可能会发生多个行动。一些复杂的网络犯罪分子可能会在获得网络访问权限后,花上一整天的时间进行数据外泄。然后,当他们完成入侵时,会用勒索软件加密系统。在最后阶段,重要的考虑因素是要包括在指挥和控制建立之后发生的行动。

入侵分析的钻石模型

网络攻击链为将对手的行动置于入侵的适当阶段提供了构建框架。更深入的分析需要审视对手和受害组织之间的关系。入侵分析的钻石模型提供了一种比网络攻击链的阶段更为详细的分析方法。钻石模型最初由 Sergio Caltagirone、Andrew Pendergast 和 Christopher Betz 在白皮书《入侵分析的钻石模型》中提出。简单来说,理解钻石模型的方式是:对手通过某些基础设施部署一种能力,针对受害者进行攻击。这些活动 称为事件,是最基本的特征。该模型的作用是揭示对手与受害者之间的关系,并尝试确定实现对手目标所使用的工具和技术。

图 4.5 直观展示了钻石模型的基本结构,包含以下四个顶点:对手能力受害者基础设施。除了四个顶点外,还有五种关系:使用开发利用连接到部署。将这些关系结合起来,构成了描述四个顶点之间关系的基础。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_04_05.jpg

图 4.5 - 钻石模型

对手顶点描述了任何关于入侵活动实施者的信息或数据。这可以是一个团体或个人,进一步细分的话,可以分为对手是操作员还是客户。如果定义对手为客户,则是指一个将从活动中受益的个人或团体。复杂的网络威胁行为者通常会利用任务分工,其中一个团体执行特定任务。例如,作为勒索软件团伙一员的恶意软件编码员就属于这一类。该活动的输出的客户可以被认为是一个客户。在其他情况下,操作员可能是独立进行自己活动的个人,这些活动不依赖于任何其他直接受益的人。

关于对手的数据可以包括在线身份,例如社交媒体标识符或电子邮件地址。在其他情况下,意图或动机可以被纳入对手顶点。需要注意的是,虽然意图可能非常简单,例如出于财务动机的勒索病毒攻击,但在其他情况下,从单次入侵中确定动机可能是困难的。

下一个顶点,能力,描述了对手可以利用的工具和技术。关于能力的挑战在于工具和技术的范围非常广泛。例如,一个新手攻击者可能会使用脚本和一些知名的黑客工具,如 Metasploit 或 Cobalt Strike,进行一项需要较少技能或经验的攻击。另一方面,APT 小组可以制作定制恶意软件,利用零日漏洞,并能够在数月甚至数年内保持未被检测。

在讨论能力时,考虑两个方面非常重要。首先,在讨论工具时,记住什么属于工具范畴。恶意软件很容易被归类为工具,但合法工具呢?例如,单独使用 PowerShell 并不代表一种能力,但如果利用 PowerShell 执行一个编码脚本来下载一个次级有效载荷,那就代表了一种能力。对手的目标或意图直接影响什么可以被视为能力。如果工具的使用推动了这个目标,它就应该被识别为一种能力。

其次,尽管他们很复杂,对手通常会利用一些常见模式。例如,攻击者可能会使用钓鱼邮件和恶意脚本的组合在系统上建立立足点。一旦建立了 C2 连接,您可能会看到像whoami.exe这样的命令按照特定顺序执行。即使这些活动看起来平凡,也需要注意。

下一个顶点是基础设施。在围绕可怕的黑客或 APT 的耸人听闻和神秘主义中,威胁行为者的一个常见方面往往被忽视:威胁行为者受到与其他人相同的软件、硬件和技术的限制。他们并不存在于技术的四个角落之外,因此必须像我们所有人一样运作。这就是基础设施的作用所在。在这个上下文中,基础设施指的是对手用来部署其工具或技术的物理或逻辑机制。例如,攻击者可能利用公共云计算资源,如亚马逊网络服务AWS)或 Digital Ocean。从这里,他们可以配置 Cobalt Strike C2 服务器。从分析来看,该服务器的 IP 地址或域名注册将作为基础设施顶点下的数据点。

图 4**.6中,我们可以看到四个顶点之间关系的可视化。对手发展出一些能力,如1所示,并将该能力部署到一个基础设施上,如2所示,最后与受害者连接,如3所示。在讨论受害者顶点时,可以将其分解为个人或组织。钓鱼攻击可能针对单个个人,也可能针对整个组织。对手的能力和基础设施也可以指向人类或系统。钻石模型将人类受害者定义为实体,系统组件定义为资产

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_04_06.jpg

图 4.6 – 钻石模型关系

让我们看一个实际示例,在现实攻击执行的背景下,我们可以在钻石模型中表达对手/受害者关系。在这个例子中,我们将继续查看一种Drive-By Compromise恶意软件交付技术的示例(MITRE ATT&CK 框架中的 T1189,详情见attack.mitre.org/techniques/T1189/)。在这个示例中,对手建立了一个看似合法的网站。当该网站被访问时,对手会交付恶意 JavaScript,试图利用常见网络浏览器中的漏洞。

图 4*.7展示了在分析攻击过程中可以提取的潜在数据点。在这种情况下,我们将查看网络攻击链中的交付*阶段,这表示对手如何交付其漏洞利用。在这种情况下,对手利用内部能力(1)配置了一个网站,具备交付恶意 JavaScript 的功能。一些对手已知使用基于 Java 的探测工具RICECURRY来确定网页浏览器的漏洞,并根据这些数据进行利用。在构建了特定的恶意软件交付机制后,基础设施被配置为托管恶意网站。在这种情况下,badsite.com域名(2)和相应的托管提供商可以被包括在内。一旦受害者通过浏览器访问该网站,就会被感染。在这种情况下,受害者可以表示为系统名称(3),在此示例中为Lt0769.acme.local。根据分析团队的能力,他们可能能够追踪到特定域名,这个域名曾作为诱饵攻击的一部分。审查 WHOIS 注册信息可能提供对手用来注册该网站的电子邮件地址(4)等详细信息。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_04_07.jpg

图 4.7 – 钻石模型示例

钻石模型作为一个良好的构架,能够展示对手、他们的能力与基础设施、以及受害者之间的关系。所需的是可以绘制这些关系的数据。利用这一构架的能力取决于能够找到这些数据点,并通过外部数据来增强它们,从而描绘这些关系图。无论受害者是否拥有这些数据,以下公理都直接适用于每一次入侵。

钻石模型的实用性来自于它如何定义与每个顶点的关系。这为整体事件提供了一个背景,而不仅仅是在防火墙日志中看到一个 IP 地址。深入挖掘这个数据点有可能揭示对手使用的基础设施、工具及其能力。除了这个结构,钻石模型的作者还定义了几个公理,需要牢记。

钻石模型公理

公理 1每一个入侵事件背后都有一个对手,借助其能力在基础设施上采取行动,针对一个受害者以达成其预定目标,并产生结果。这是钻石模型的核心。关于如何在模型中将妥协指标彼此关联的前面讨论就是通过这个公理来表示的。关键在于对手有一个目标,无论是访问机密数据,还是将勒索软件部署到环境中。

公理 2存在一组对手(内部人员、外部人员、个人、团体和组织),他们试图破坏计算机系统或网络,以推动他们的意图并满足他们的需求。第二个公理基于第一个公理中的关键点,即对手有一个目标。第二个公理还与之前关于数字调查不同层次的讨论有关。根本原因分析试图回答入侵的方式,而入侵分析试图回答为什么发生入侵的问题。

从内存中删除LSASS.exe进程,并访问凭证。当然,还有令人畏惧的零日漏洞,它在被识别之前就已被利用。

公理 4每一种恶意活动都包含两个或多个阶段,必须成功连续执行这些阶段才能达到预期的结果。对手可能会尝试向基础设施部署第一阶段的恶意软件,但如果系统的反恶意软件保护阻止了恶意软件的执行,那么该模型就不完整,因此不会发生妥协。

公理 5每次入侵事件都需要在成功之前满足一个或多个外部资源。请记住,对抗者与目标组织遵循相同的规则和协议。他们没有使用某种神秘的对抗者技巧和工具。在入侵中,对抗者必须配置 C2 基础设施,聚集他们的工具,注册域名,并托管恶意软件交付平台。这些都是应纳入任何入侵分析的数据点,以便尽可能全面地了解对抗者。

公理 6即使关系是远距离的、短暂的或间接的,对抗者与其受害者之间总是存在关系。在犯罪活动调查中,一个常用的概念是受害者学,即对受害者的研究。具体来说,调查人员会关注受害者的各个方面,包括其性格、习惯和生活方式,以确定为何他们成为受害者。这个思维过程同样可以应用于入侵分析。无论对抗者是为了挖掘比特币而入侵了一台 Web 服务器,还是为了获取机密数据进行几个月的入侵,入侵者都有一个目标。这种行为创造了一个关系。

公理 7存在一个对抗者子集,这些对抗者具备足够的动机、资源和能力,在长时间内持续对一个或多个受害者造成恶意影响,同时抵抗缓解措施。前面的公理设定了对抗者与受害者的关系。某些情况持续时间较短,例如勒索软件案件,受害者能够恢复。然而,在其他情况下,对抗者即使在受害者尝试将其移除的情况下,仍能保持对网络的访问。这种类型的关系通常被称为持久性对抗者关系。这种 APT 攻击通常与国家行为体和资金雄厚的对抗者相关。在这些案例中,对抗者能够在长时间内保持访问,并采取措施维持这种持久性,即使受害者试图将其移除。

推论对抗者持久性存在不同程度,具体取决于对抗者-受害者关系的基本要素。同样,受害者-对抗者的关系以及对抗者的目标将决定对抗者与受害者之间的关系。关键在于,对于每次入侵事件,这种关系都是独特的。

结合钻石模型与攻击链的入侵分析

杀链提供了一种简单的方法来界定网络入侵过程中发生的特定对抗行动。然而,杀链缺乏一致的攻击者之间关系的结构。例如,对一次入侵的分析可能会揭示出一份附在邮件中的恶意 PDF 文档,邮件是发送给公司总会计师的。虽然理解交付方式对于了解根本原因很有帮助,但要深入了解入侵,仍需要更多的细节。这就是将钻石模型与杀链结合起来的意义所在。

钻石模型代表了一个独立事件,在这个案例中,它描述了攻击者用来交付其负载的方法的相关数据。将钻石模型整合到杀链的每个阶段提供了更为结构化和全面的入侵分析方法。换句话说,正如图 4.8所示,在杀链的每个阶段,都有一个相应的钻石模型,分析中获得的证据将被放置于此。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_04_08.jpg

图 4.8 – 结合的杀链和钻石模型

目标是要为网络杀链的每个阶段识别出钻石模型的每个顶点。显然,这在完美的世界中才有可能。与入侵相关的某些证据可能无法提供给分析员。因此,需要一个更为现实的基准。SANS 网络威胁情报课程的作者 Robert Lee 提出了一个基准,即至少有一个顶点需要包含证据项,才能认为第二阶段至第六阶段的分析是完整的。这并不意味着发现的证据没有价值,而是说我们对入侵分析的信心是基于揭示尽可能多的细节,同时平衡时间和精力投入。

另一个需要考虑的因素是,当分析员必须调查和分析两次网络入侵时。例如,第一次入侵是一封包含恶意文档的钓鱼邮件,该文档下载了一个旨在利用 Windows 操作系统漏洞的二级负载。此恶意软件在利用阶段被病毒防护软件阻止,入侵未能达到“目标行动”阶段。

第二次入侵类似,但不同于病毒防护软件阻止恶意软件执行,攻击者能够利用一个漏洞并成功执行。攻击者进一步安装了持久性机制,并在被发现并隔离系统之前配置了 C2 通道。在这种情况下,第二次入侵优先于第一次,应优先进行调查。如果有足够的资源,第一次入侵的调查可以与第二次调查并行进行,但如果第二次调查需要额外资源,那么该调查将优先进行。

入侵分析的技术工具和方法本身需要一本书才能详尽介绍。钻石模型 / 网络杀链方法所做的是提供一个结构,既可以指导分析,又能将证据项放置于相互关联的适当位置,以便进行更全面的对敌方的分析。

这个结合了杀链和钻石模型的分析构建对于全面的入侵分析非常有用。成功与否的关键因素在于组织能否汇集必要的证据,将其填充到适用的钻石模型特定顶点中,并放置到相应的杀链阶段。通常,证据的易变性、可见性以及缺乏专业知识等限制因素,会降低成功调查网络入侵的可能性。

归属

事件调查的巅峰是归属。在归属过程中,分析师可以将入侵直接与某个人或威胁行为者群体联系起来,无论该群体是个人、组织还是政府机构。考虑到威胁行为者,尤其是高技能的行为者,可以掩盖其踪迹,归属攻击是极其困难的,通常只有政府或专门从事长期分析的私人实体,且拥有大量入侵数据集,才能完成这一任务。

例如,网络威胁情报提供商 Mandiant 在 2013 年发布了 APT1 报告。该报告直接将入侵行为与中国人民解放军总参谋部第二局第三部门的人员关联起来。这个结论花费了多年时间,基于来自 300 个独立指标和 141 个独立组织的入侵数据。这些数字证明了正确归属所需要的数据量,通常超出了组织内部分析师的能力范围。

这些数据点与其他入侵分析相结合,通过识别能力、基础设施和受害者的重叠模式,来进行综合分析。从这里开始,关于每个入侵集的数据将有可能帮助确定谁是入侵背后的操控者。再次强调,这通常超出了调查入侵的分析师的职责范围,但对于那些利用此类事件分析进行威胁情报工作的组织来说,归属问题就会变得至关重要。

总结

数字取证并非孤立存在。本书关注的工具和技术是更大努力的一部分。如果没有测试分析员假设的方法论,数字取证仅仅是数据的收集与提取。相反,理解需要什么样的事件调查,并确定适用的方法论是至关重要的。为了回答与入侵相关的关键问题,需要结合事件调查方法论和入侵分析的钻石模型。这两者的结合提供了一个框架,分析员可以在其中适当地检查证据并验证他们的假设。

下一章将通过检查聚焦于网络证据的工具和技术,开始证据采集的过程。

问题

  1. 关注于判断一个事件是否为事件的调查类型是:

    1. 归因

    2. 根本原因

    3. 检测

    4. 入侵分析

  2. 网络攻击链的第一阶段是什么?

    1. 侦察

    2. 武器化

    3. 指挥与控制

    4. 交付

  3. 在网络攻击链的侦察阶段获取数据通常很困难,因为缺乏与目标网络的连接。

    1. 真实

    2. 虚假

第二部分:证据采集

第二部分将专注于数字证据采集的技术方面。包括对可以用于适当证据采集的工具和技术的详细研究。

本部分包含以下章节:

  • 第五章*,收集网络证据*

  • 第六章*,获取基于主机的证据*

  • 第七章*,远程证据收集*

  • 第八章*,取证影像*

第五章:收集网络证据

数字取证的传统重点一直是在可能被攻陷的终端上寻找证据。更具体地说,计算机取证主要关注系统的存储。执法人员如果关注诈骗或儿童剥削等犯罪活动,可以通过单个硬盘找到起诉所需的证据。然而,在事件响应领域,重点必须远远超出怀疑受损的系统。例如,从受损主机到外部指挥与控制(C2)服务器的流量中,也可以获得大量有价值的信息。

本章重点讨论在网络设备和内部网络中的流量路径中常见证据的准备、识别和收集。在外部威胁源正在指挥内部系统或从网络窃取数据的事件中,这一收集过程至关重要。基于网络的证据在检查主机证据时也非常有用,因为它提供了事件确认的第二个来源,这对确定事件的根本原因极为有用。

本章将涵盖以下主题:

  • 网络证据概述

  • 防火墙和代理日志

  • NetFlow

  • TCPDump 数据包捕获

  • Wireshark 数据包捕获

网络证据概述

有一些网络日志源可以为 CSIRT 人员和事件响应人员提供有价值的信息。每个网络设备根据其制造商和型号提供不同的证据。作为准备工作,CSIRT 人员应熟悉如何访问这些设备以获取所需证据,或建立现有的沟通结构,以便在发生事件时与 IT 人员合作,协助采取正确的响应措施。

网络设备,如交换机、路由器和防火墙,通常也有自己的内部日志,记录谁访问了设备并进行了更改。事件响应人员应熟悉其组织网络中的网络设备类型,并能够在发生事件时访问这些日志:

  • 交换机:这些交换机通过一系列核心交换机和边缘交换机分布在网络中,核心交换机处理来自多个网络段的流量,边缘交换机处理来自单个段的流量。因此,从主机上发出的流量将穿过多个交换机。交换机有两个关键的证据点,应该被事件响应人员关注。第一个是内容可寻址存储器CAM)表。这个 CAM 表将交换机上的物理端口与每个连接到交换机的设备上的网络接口卡NIC)进行映射。事件响应人员可以利用此信息追踪到特定网络插座的连接。这有助于识别可能的恶意设备,例如无线接入点或由攻击者连接到内部网络的系统。交换机在协助事件调查方面的第二个方式是便于捕获网络流量。

  • 路由器:路由器使组织能够将多个局域网(LAN)连接到城域网MAN)或广域网WAN)。因此,它们处理着大量的流量。路由器中最关键的证据是路由表。该表存储了特定物理端口与网络的映射信息。路由器也可以被配置为拒绝网络之间的特定流量,并维护允许的流量和数据流的日志。路由器可以提供的另一个重要证据来源是 NetFlow 数据。NetFlow 提供有关 IP 地址、端口和协议的网络流量数据。这些数据可用于确定来自网络不同分段的流量流向(NetFlow 将在本章后续部分进行更详细的介绍)。

  • 防火墙:防火墙自从仅仅被认为是另一种路由器的时代以来,已经发生了显著变化。下一代防火墙包含了多种功能,如入侵检测和防御、网页过滤、数据丢失防护以及关于允许和拒绝流量的详细日志。通常,防火墙作为一种检测机制,提醒安全人员潜在的事件。这可能包括来自入侵检测系统IDS)/入侵防御系统IPS)的警报、已知恶意 URL 或 IP 地址的黑名单,或警报提示防火墙配置变更而 IT 人员未曾知晓。事件响应人员应尽可能了解其组织防火墙的工作原理,以及在事件发生之前可以获取哪些数据。

  • 网络 IDS/IPS:这些系统专门设计用于向安全人员和事件响应者提供有关网络基础设施上潜在恶意活动的信息。它们结合了网络监控和规则集来判断是否存在恶意活动。IDS 通常配置为在检测到特定恶意活动时发出警报,而 IPS 不仅可以检测到恶意活动,还能够阻止它。无论哪种情况,这两种平台的日志都是事件响应者查找恶意活动具体证据的绝佳场所。

  • Web 代理服务器:组织通常使用 Web 代理服务器来控制用户如何与网站及其他基于互联网的资源互动。因此,这些设备可以提供一个关于从内部主机发起的以及发往内部主机的网络流量的全局视图。Web 代理还具有额外的功能,例如在连接到已知恶意软件 C2 服务器或提供恶意软件的网站时,提醒安全人员注意。结合可能已被攻破的主机查看 Web 代理日志,可以帮助识别恶意流量的来源或正在控制主机的 C2 服务器。

  • 域控制器或认证服务器:作为整个网络域的核心,认证服务器是事件响应者获取有关成功或失败的登录记录、凭证操作或其他凭证使用情况的主要来源。

  • DHCP 服务器:在组织内维护分配给工作站或笔记本电脑的 IP 地址列表需要大量的管理工作。动态主机配置协议DHCP)的使用允许在局域网(LAN)上动态分配 IP 地址给系统。DHCP 服务器通常包含将 IP 地址分配给主机 NIC 的 MAC 地址的日志。如果事件响应者需要追踪特定日期和时间连接到网络的工作站或笔记本电脑,这些日志非常重要。

  • 应用服务器:网络服务器上托管着从电子邮件到 Web 应用程序等各种应用程序。每种应用程序都可以提供与其类型相关的特定日志。在事件调查过程中,任何涉及远程连接的日志也很重要。攻击者通常会从被攻破的系统跳转到服务器,以获取机密数据或进行其他后续活动。

准备工作

正如前一节所述,网络设备种类繁多,每种设备都有自己汇总和报告相关数据的方法。获取基于网络的证据的能力在很大程度上取决于组织在事件发生之前所做的准备工作。如果没有适当的基础设施安全计划中的关键组成部分,事件响应人员将无法轻松获得关键信息。这将导致证据在 CSIRT 成员寻找关键信息时丢失。为了准备工作,组织可以通过提供适当的网络文档、更新的网络设备配置和中央日志管理解决方案(如 SIEM)来协助 CSIRT。

另一个需要考虑的准备事项是,将执行适当网络证据收集所需的具体任务纳入事件响应手册。例如,没有发送到中央日志管理解决方案(如 SIEM)的防火墙日志,会保存在设备本身。涉及收集网络证据的手册应详细到能够指导整个日志收集过程。

除了为网络证据收集做的技术准备外,CSIRT 人员还需要了解与收集网络证据相关的法律或监管问题。此外,CSIRT 人员还需要意识到,如果没有明确的政策说明可以进行网络监控,捕获网络流量可能被视为侵犯隐私。因此,CSIRT 的法律代表应确保组织内的所有员工都理解其信息系统的使用将被监控。此项应在任何证据收集开始之前在政策中明确说明。

网络拓扑图

为了识别潜在的证据来源,事件响应人员需要对内部网络基础设施有深入的了解。组织可以采用的一种方法是创建并维护一份最新的网络拓扑图。该拓扑图应该足够详细,以便事件响应人员能够识别出个别网络组件,例如交换机、路由器或无线接入点。该拓扑图还应包含内部 IP 地址,便于事件响应人员通过远程方式立即访问这些系统。例如,查看以下简单的网络拓扑图:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_01.jpg

图 5.1 – 一个示例网络拓扑图

该图示有助于快速识别潜在的证据来源。例如,假设连接到192.168.2.1交换机的笔记本电脑被识别为与已知的恶意软件 C2 服务器通信。CSIRT 分析员可以检查网络图,并确定 C2 流量必须穿越多个网络硬件组件才能从内部网络出去。例如,流量会穿越位于192.168.10.1的交换机,通过位于192.168.0.1的防火墙,最后从路由器到达互联网。

配置

如果 CSIRT 能够立即获得标准配置,确定攻击者是否对网络设备(如交换机或路由器)进行了修改将变得更加容易。组织应该已经存储了用于灾难恢复的网络设备配置,但他们还应确保在发生事件时,CSIRT 成员可以访问这些配置。

防火墙和代理日志

在调查事件时,有两个主要的证据来源是进出网络的互联网入口/出口点。现代恶意软件和其他漏洞通常需要能够访问基于互联网的资源。这可能是为了下载额外的恶意软件或利用代码。其他涉及数据外泄的攻击将需要访问互联网。最后,攻击者通常需要通过被攻破的系统建立 C2。在这些情况下,各种协议的流量将穿越受害者网络的边界。根据受害者的情况,这些流量可能需要穿越防火墙、互联网代理或两者。因此,这两种技术为事件响应人员提供了重要的证据来源。

防火墙

防火墙已经从一种简化的路由和阻塞技术,发展为提供对进出网络流量进行深入分析的平台。下一代防火墙通常将拒绝/允许规则集与入侵检测系统(IDS)或入侵防御系统(IPS)结合起来,并控制网络访问应用程序。这为事件响应过程中提供了一个重要的证据来源。

从防火墙获取证据在很大程度上依赖于制造商和使用的具体型号。事件响应人员应充分了解所使用防火墙的功能集和可以获取的特定数据,这是他们准备工作的一部分。尽管不同厂商和型号之间的功能有所不同,但有一些关键证据点几乎是通用的:

  • 连接日志:连接日志提供了内部和外部系统之间连接的源 IP 地址、目标 IP 地址和协议信息。这在确定内部系统是否曾与对手控制的系统接触或可能被控制时至关重要。除了被允许的连接外,日志还可能提供被拒绝连接的情况。对手常用的一个技巧是使用工具尝试连接常用的知名端口。如果这些端口对外部连接关闭,日志中会显示拒绝条目。连续的拒绝事件跨越多个端口,通常表明存在侦察活动。

  • 远程访问日志:防火墙通常作为虚拟私人网络VPN)的集中器,用于远程访问。如果远程用户通过恶意软件感染,他们可以通过 VPN 将感染带入内部网络。远程访问日志会显示连接的系统及其连接时间。这可能帮助事件响应者关联活动,确定是否是远程用户成为感染源。

Web 应用防火墙

一种特殊类型的防火墙是Web 应用防火墙WAF)。该设备或软件位于公共互联网和 Web 应用程序之间,帮助组织保护应用程序免受外部攻击。WAF 策略可以非常迅速地进行更改,以应对诸如拒绝服务攻击DoS)或对手试图破坏 Web 应用程序基础设施的攻击。从证据角度来看,WAF 提供了来自互联网的连接日志文件,并包含如 HTTP 请求类型和访问资源的系统信息等数据点。这是尝试或成功利用 Web 服务器和 Web 应用程序的一个良好证据来源。

Web 代理服务器

对手经常利用脚本语言,如 Microsoft Visual Basic 或 PowerShell,下载次级漏洞包或恶意软件。这些脚本通常包含指向漏洞或恶意软件的 URL。对手使用 URL 而非 IP 地址,因为 IP 地址可以通过域名注册轻松更改,这使他们能够在不更改脚本的情况下更改基础设施。

使用 Web 代理服务器进行 HTTP 和 HTTPS 请求的组织将会记录内部网络上任何访问外部网站的系统。从这里,他们可能能够识别出被下载的恶意软件或漏洞包的位置。通过 C2 流量,他们可能会获得更多的洞察,C2 流量也可能采用与恶意软件相似的战术。

由于攻击的检测通常需要数月时间,因此事故响应人员必须能够查看跨越几周甚至几个月的活动历史记录。鉴于代理请求的相对较小,即便只是日期、时间、请求系统和访问的网址,也能提供一项重要的证据,这些证据可能是其他方式无法获得的。

NetFlow

NetFlow 由思科系统公司(Cisco Systems)于 1996 年首次设计,是一种出现在网络设备(如交换机和路由器)中的功能,允许网络管理员监控网络内的流量。NetFlow 并非严格意义上的安全工具,但在发生安全事件时,它能为事故响应人员提供大量数据。NetFlow 通过 UDP 协议由网络设备发送到一个集中收集点,通常称为NetFlow 收集器

在安全背景下,NetFlow 提供了深入了解系统内部流量的视角,揭示了它们如何相互通信。这通常被称为10.10.2.0/24子网。从那里,它们可能会尝试跳转到10.10.1.0/24子网上的文件服务器。一旦到达那里,它们就可以获取机密数据并将其传回被攻陷的系统进行外泄。交换机将 NetFlow 数据转发给收集器,其中包括 IP 地址、协议和数据大小。这些数据对于为事件响应分析员提供他们通常无法获取的详细信息至关重要:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_02.jpg

图 5.2 – NetFlow 图示

NetFlow 数据是有限的,取决于配置为向 NetFlow 服务器发送数据的设备类型。通常,NetFlow 包含源和目标 IP 地址、源和目标端口、协议以及最终发送的流量大小。即使只有这些有限的信息,分析师也能获得有关对手活动的洞察,如潜在的横向移动或数据外泄。

配置 NetFlow 取决于网络组件的类型和制造商。此外,根据预算和其他资源的不同,可以利用各种收集器和分析工具。将 NetFlow 分析纳入整体网络操作的一个优势在于,它不仅为事件响应团队提供数据,而且在日常网络操作中也非常有用,尤其是在追踪延迟或其他通信问题方面。由于其双重用途,作为整体网络操作的一部分更容易为其辩护。

数据包捕获

捕获网络流量对于全面理解事件至关重要。能够识别潜在的 C2 IP 地址流量可能会提供有关感染主机的恶意软件类型的更多信息。在其他类型的事件中,CSIRT 成员可能能够识别外部威胁行为者利用的潜在数据外泄方法。

一种方法是设置名为192.168.1.0/24的子网,tap 应放置在主机和交换机之间。这通常涉及在主机和交换机之间放置一个系统。

另一种选择是配置交换端口分析器SPAN)端口。在这种配置中,离受损主机最近的交换机会启用端口镜像。这样,交换机所在整个段的流量将被发送到镜像端口上的系统。

最后,一些网络设备有内建的应用程序,如tcpdump,可以用来捕获流量以供进一步分析。这可能是最快的选择,因为它不需要物理访问网络或交换机,并且可以远程设置。但这种方法的缺点是交换机上的存储可能无法支持大容量的捕获文件,且额外的负载可能增加未捕获某些数据包的可能性。

tcpdump

tcpdump是一个专门设计用于数据包捕获的命令行工具。tcpdump通常包含在 Linux 发行版中,并且在许多网络设备上都能找到。对于这些设备中的许多,tcpdump必须以 root 用户或具有 root 权限的身份运行,因为它需要监控网络流量。相关文档可以在www.tcpdump.org/找到。要使用tcpdump进行数据包捕获,可以按照以下步骤操作:

  1. 要访问基本帮助菜单,请在命令提示符中输入以下内容:

    arkime@arkime: :~$ tcpdump -h
    

该命令将产生以下帮助菜单:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_03.jpg

图 5.3 – tcpdump 帮助菜单

默认情况下,tcpdump会捕获所有可用接口上的流量。运行以下命令可以列出tcpdump能够捕获流量的所有接口:

arkime@arkime::~$ tcpdump -D

以下截图显示,在此情况下,ens160(以太网)接口和lo(回环)接口可以用于捕获流量:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_04.jpg

图 5.4 – tcpdump 捕获接口

  1. 要在位于ens33的以太网接口上进行基本捕获,并使用普通的详细程度,请输入以下命令:

    arkime@arkime:~$ sudo tcpdump -i ens160 -v
    

-i选项告诉tcpdump在哪个接口上执行数据包捕获。在这种情况下,它是在以下以太网接口上:ens160-v选项设置数据包捕获的详细程度。在这个例子中,详细程度设置得比较低。若要查看更多数据,可以将该选项设置为-vvv,以获得更详细的数据包信息。以下截图显示了命令显示的信息:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_05.jpg

图 5.5 – tcpdump 命令输出

虽然这种方法可以确定流量是否经过该接口,但由于数据包出现在屏幕上的速度非常快,单个数据包信息对分析师来说是无用的。为了使数据包捕获有用,建议将文件输出,以便稍后使用数据包分析工具(如Wireshark)进行检查。本章稍后会详细讨论 Wireshark,并在第 9 章中更详细地介绍。

  1. 要配置 tcpdump 将数据包捕获输出到文件,可以使用以下命令:

    arkime@arkime:~$ sudo tcpdump -i ens160 -vvv -w ping_capture
    

PING 命令

正在执行8.8.8.8

该命令告诉 tcpdump 捕获网络流量并将文件写入捕获。与之前的捕获不同,屏幕上不会显示任何流量。

  1. 要停止捕获,按 Ctrl + C,这将生成以下信息:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_06.jpg

图 5.6 – tcpdump 输出

  1. 导航到根目录后,文件可以通过 Wireshark 等网络分析工具打开,如下所示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_07.jpg

图 5.7 – Wireshark 数据包捕获分析

tcpdump 还可以配置为将捕获集中在特定的源或目标 IP 地址和端口上。例如,如果事故响应分析师需要收集来自特定主机(IP 地址为 192.168.10.54)的数据包,以下 tcpdump 命令将产生所需结果:

arkime@arkime:~$ sudo tcpdump -i ens33 src host 192.168.10.54

可以使用以下命令将发送到某个目标地址(如已知的 C2 服务器的 IP 地址)的数据包与后台网络流量分开:

arkime@arkime:~$ sudo tcpdump -i ens33 dst host 162.4.5.23

tcpdump 是一个强大的工具,拥有许多选项。建议事故响应分析师检查并将其各种功能整合到他们的工具包中。

WinPcap 和 RawCap

在发生事故时,可能需要从 Windows 系统中获取数据包捕获。在像被攻破的 web 服务器或应用服务器这样的事件中,Windows 系统本身没有原生的应用程序来进行数据包捕获。Windows 系统上有几种数据包捕获工具。可以使用的第一个工具是WinPcap。这个工具通常被认为是 Windows 系统上数据包捕获的标准,并可以在www.winpcap.org/免费下载。这个工具从取证角度来看,缺点是必须在系统上安装。这可能会使取证分析复杂化,因为系统的任何更改都必须彻底记录。出于这个原因,确保高风险系统(如 web 服务器、文件服务器和应用服务器)已经安装 WinPcap,是一个好的预备步骤。

另一个供事件响应分析员使用的选项是像RawCap这样的工具。RawCap 具有与 WinPcap 相同的基本功能,但不需要在本地系统上安装它。RawCap 可以轻松地从连接到系统的 USB 设备上运行。使用 RawCap 执行数据包捕获的过程如下:

  1. 以管理员身份启动 Windows 命令提示符。

  2. 在命令提示符中,导航到包含 RawCap.exe 文件的文件夹。若要查看可用选项,输入以下命令:

    D:\>RawCap.exe -help
    

该命令将生成以下输出:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_08.jpg

图 5.8 – Rawcap.exe 菜单

输出会显示一个接口列表。RawCap 的一个优势是,即使从 USB 设备上运行,事件响应分析员也可以在每个接口上执行数据包捕获。在此示例中,捕获将会在标有数字 0 的以太网接口上执行。

  1. 要开始数据包捕获,RawCap 需要指定流量应捕获的网络接口,以及输出捕获数据包的输出文件。要捕获无线接口上的流量并将其输出到名为 RawCap.pcap 的文件中,使用以下命令:

    C:\ProgramData\chocolatey\bin\RawCap.exe 0 RawCap.pcap
    

该命令会产生以下输出:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_09.jpg

图 5.9 – RawCap 数据包捕获的输出

  1. 按下 Ctrl + C 将停止捕获。捕获文件 RawCap.pcap 会保存到与 RawCap.exe 文件相同的目录中。然后,这个文件可以通过像 Wireshark 这样的工具打开进行进一步分析:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_10.jpg

图 5.10 – 在 Wireshark 中分析 RawCap 文件

现在我们已经介绍了 Wireshark,我们将探讨该工具如何用于捕获网络流量。

Wireshark

tcpdump 或像 RawCap、Wireshark 这样的工具是基于图形界面的工具,除了数据包捕获外,还包括分析功能。因此,Wireshark 在事件发生时可能不容易快速部署,因为该程序必须先安装。此外,Wireshark 仅支持 Windows 或 macOS 系统。在 Linux 系统上安装 Wireshark 需要更多的努力。Wireshark 相较于命令行工具的一个明显优势是,事件响应分析员可以在捕获数据包时对流量进行详细检查。Wireshark 可以在系统本身或 USB 驱动器上运行。安装后,必须以管理员身份运行。使用 Wireshark 执行数据包捕获的过程如下:

  1. 第一步是选择一个 Wireshark 将捕获流量的接口:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_11.jpg

图 5.11 – Wireshark 捕获接口

在截图中,只有一个接口似乎在处理流量。捕获将会在 Ethernet0 接口上执行。

  1. 双击接口将启动数据包捕获。如前所述,与 tcpdump 或 RawCap 不同,实际捕获的内容将输出到屏幕上,便于立即分析:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_12.jpg

图 5.12 – Wireshark 捕获视图

  1. 要停止捕获,请点击面板左上角的红色框。然后可以保存文件以供进一步分析。

另一个 Wireshark 附带的工具,且在证据收集过程中非常有用的是tcpdump,或 RawCap。它在事件响应分析员从多个来源获取数据包捕获时非常有用,特别是当他们需要检查特定主机的流量时。要访问 mergecap 的菜单,请在命令提示符中输入以下内容:

arkimie@arkime:~$mergecap -help

该命令产生以下帮助信息:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_13.jpg

图 5.13 – mergecap 帮助菜单

要合并多个数据包捕获文件,可以使用以下命令:

arkime@arkime:~$mergecap -w switches.pcap switch1.pcap switch2.pcap switch3.pcap

通过将三次数据包捕获的输出合并成一个文件,事件响应分析员可以检查跨多个网络路径的更广泛活动。例如,如果分析员正在寻找来自未知主机到外部 C2 服务器的流量,他们可以合并整个网络范围内的捕获记录,然后搜索该 IP 地址,而不是单独检查每个数据包捕获。

证据收集

为了正确检查日志文件和其他网络数据(如数据包捕获),通常需要将它们从日志源移走并离线检查。与任何证据来源一样,日志文件或数据包捕获在转移过程中必须小心处理,以确保不会被破坏或修改。一个简单的解决方案是立即将证据传输到 USB 驱动器或类似的可移动介质上。然后,可以在检查之前为证据创建哈希值。

网络证据的获取,如数据包捕获或日志文件,应该进行详细记录。事件响应人员可能会从整个网络的多个来源获取日志文件和数据包捕获。因此,他们应确保能够追溯每一项证据的来源,以及收集证据的日期和时间。可以在网络证据日志表上记录这些信息,并为每一项证据填写条目。例如,参见以下条目:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_14.jpg

图 5.14 – 网络证据收集条目

日志条目记录了以下必要信息:

  • 文件名:每个日志文件或数据包捕获文件应具有唯一的名称。在 CSIRT 使用的程序中,应有一个不同类型证据文件的命名约定。

  • 描述:文件的简要描述。除非文件特别独特且需要详细描述,否则无需提供过多细节。

  • 哈希:关于哈希的全面概述将在后面的章节中讨论。目前,简而言之,哈希是一种单向算法,用于为文件提供数字指纹。这个哈希将在收集阶段和分析阶段后记录,以证明文件在分析过程中没有被修改。计算哈希有几种方法。在本例中,可以使用在 Ubuntu 上安装的 md5sum 哈希程序计算 MD5 哈希。md5sum 有几个不同的选项,可以通过命令行访问。要查看帮助菜单,请输入以下命令:

    arkime@arkime:~$md5sum --help
    

这将产生以下帮助菜单:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_15.jpg

图 5.15 – md5sum 帮助菜单

通过输入以下命令,可以计算来自交换机的数据包捕获的 MD5 哈希值:

arkime@arkime:~$md5sum ping_capture

这将产生以下输出:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_05_16.jpg

图 5.16 – md5sum 文件计算

  • 192.168.0.110 IP 地址。

  • 采集日期/时间:记录文件被捕获的日期和时间。通常,这与停止捕获的日期和时间相同。如果是长时间的数据包捕获,可以记录捕获的开始和结束时间。

设置时间标准

在事件发生前,确定使用的时区非常重要。从证据的角度来看,只要在整个事件调查过程中时区保持一致,时区本身并不重要。

  • 采集者:确保标明采集文件的人员。

  • 方法:指明用于捕获文件的工具。

  • 存储驱动器:一旦证据被捕获,将其转移到证据存储驱动器。这也应该被记录。

一旦收集完成,应填写包含证据文件的外部介质的交接单。接下来,可以对这些文件进行分析。

总结

与事件响应者相关的证据不仅仅位于被入侵主机的硬盘上。环境中分布着许多网络设备提供的丰富信息。通过适当的准备,CSIRT 可以利用这些设备提供的证据,使用诸如 SIEM 这样的解决方案。CSIRT 人员还可以通过各种方法和工具捕获网络流量,以供后续分析。然而,所有这些技术都受到法律和政策影响,CSIRT 人员以及整个组织需要应对这些问题。通过为网络证据收集的法律和技术挑战做好准备,CSIRT 成员可以利用这些证据,进一步接近确定事件根本原因并让组织恢复到正常运作的目标。

本章讨论了几个可供事件响应分析员使用的证据来源。网络设备的日志,无论是报告给 SIEM 还是通过其他方法,都能让你了解网络中发生了什么。数据包捕获提供了网络流量确切性质的详细信息。最后,分析员必须准备以法医可靠的方式获取这些证据来源。

下一章的重点将从网络证据获取转向从基于主机的系统中获取易失性数据。

问题

  1. 以下哪些项目可能是网络证据的来源?

    1. 交换机

    2. 路由器

    3. 防火墙

    4. 上述所有

  2. 网络图在识别可以获取网络证据的潜在区域中非常重要。

    1. 正确

    2. 错误

  3. 以下哪项不是网络取证证据采集工具?

    1. RawCap

    2. Wireshark

    3. WinPcap

    4. LogBeat

  4. 在进行证据获取时,记录文件的哈希值并不重要。

    1. 正确

    2. 错误

进一步阅读

第六章:获取基于主机的证据

主机系统往往是恶意行为的主要目标。主机系统可能成为攻击者获得网络立足点、进行进一步攻击的枢纽,或作为威胁行为者的最终目标。因此,事件响应分析师应该做好准备调查这些系统。现代操作系统,如微软 Windows,在应用程序执行时、文件更改时或添加用户账户时,会创建各种证据性产物。这些更改都会留下活动痕迹,供事件响应分析师评估。随着存储和内存的不断扩大,即使是最低成本的消费者系统,事件响应分析师可用的数据量也在不断增加。常见的系统通常制造时配备了大量内存和存储空间,容量达到 TB 级别;这些数据能够帮助事件响应人员确定根本原因。因此,事件响应分析师应该准备从系统中获取不同类型的证据,以便进一步分析。

本章将涵盖以下主题:

  • 准备工作

  • 易失性顺序

  • 证据获取

  • 获取易失性内存

  • 获取非易失性证据

准备工作

在准备方面,事件响应分析师应确保拥有必要的工具来获取基于主机的证据。本章将讨论的技术不依赖于任何高度专业化的技术,而是依赖于可以以很低成本甚至免费获得的工具。选择用于获取证据的工具至关重要,这些工具应该来自信誉良好的来源,已经通过其他 CSIRT 人员验证有效,并且在使用前已验证其有效性。除了软件外,所需的额外硬件仅为外部硬盘驱动器和常见的台式计算机。

在支持企业环境时,事件响应人员应该对常见部署的系统类型有一个清晰的理解。例如,在一个严格使用微软操作系统的企业中,可用的工具应该能够支持多个版本的微软操作系统。在其他情况下,事件响应人员可能会支持一个微软和 Linux 系统比例为 80/20 的企业;因此,事件响应人员应该准备好支持获取证据的工具和技术。

许多在本章讨论的工具和技术需要管理员权限。事件响应人员应提供执行这些任务所需的凭据。值得注意的是,分析人员应仅使用现有帐户,并且在可能被入侵的系统中添加帐户可能会使证据在司法程序中不可接受。其中一项技术是为事件响应分析人员提供仅在事件期间启用的个人凭据。这允许组织将凭证的合法使用与可能的恶意使用分开。这也使事件响应团队能够重现其行动。值得注意的是,高度技术的对手通常会在主动威胁期间监视他们正在攻击的网络,以确定是否被检测到。因此,这些凭据不应表明它们与事件响应分析人员或其他调查可能违反的人员有关联。

挥发性的顺序

主机系统上并非所有证据都相同。挥发性用于描述主机系统上的数据在注销或断电后如何维持。如果系统断电将丢失的数据称为挥发性数据。挥发性数据可以是 CPU 中的数据、路由表或 ARP 缓存。在调查如恶意软件感染的事件中,运行系统的内存是至关重要的。恶意软件在系统内存中留下许多关键证据,如果丢失,可能会导致事件响应分析人员无法进行有效调查。这可以包括注册表数据、命令历史记录和网络连接等工件。

非易失性数据是存储在硬盘上的数据,在关机后通常仍会保留。非易失性数据包括主文件表MFT)条目、注册表信息和硬盘上的实际文件。虽然恶意软件在内存中创建证据,但非易失性存储器中仍然存在具有证据价值的项目。以下图表显示了数字证据不同挥发级别,在确定获取顺序时应考虑这些级别:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_01.jpg

图 6.1 - 数字证据挥发性

在下一节中,我们将学习如何收集证据。

证据获取

有各种方法不仅用于访问潜在的证据源,还用于确定可以进行的获取类型。为了定义这些方法,重要的是要清楚了解可以使用的获取方式和类型。

  • 本地:对于大多数企业来说,能够直接访问正在调查的系统通常是一种奢侈。不过,很多情况下,事件响应分析师或其他工作人员可以直接物理访问系统。本地采集通常可以通过 USB 或其他设备执行,某些情况下,也可以使用系统本身进行采集。

  • 远程:远程采集是指事件响应分析师利用工具和网络连接进行证据采集。如果事件响应分析师面临地理上的挑战,远程采集是一个显而易见的选择。如果事件响应分析师无法立即到现场,这种方法也非常有用。(下一章将重点介绍远程证据采集。)

  • 实时采集:实时采集证据是指事件响应分析师从当前已开机并运行的系统中获取证据。本章将展示的一些技术必须在实时系统上部署(例如,捕获运行中的内存)。在高可用性环境中,完全从实时系统中获取数字证据可能是必要的技术,因为可疑系统不能下线。这些技术使事件响应分析师能够采集并分析证据,判断系统是否被攻击。

  • 离线采集:离线采集方法通常由执法机构使用,用来保护硬盘上的数字证据。该技术要求系统关闭并移除硬盘。一旦访问硬盘,专门的工具会被用来采集硬盘证据。严格依赖离线采集有一些缺点。首先是易失性内存的丢失。其次,获取可疑系统的硬盘、制作镜像并处理该镜像以进行调查可能非常耗时。这可能会导致事件响应人员在超过 24 小时内无法了解事态进展。

根据事件类型以及时间或地理位置的限制,事件响应分析师应该准备执行这些类型的证据采集。最佳的情况是,计算机安全事件响应团队(CSIRT)能够在任何可疑系统上执行实时和离线采集。这能提供最多的证据,供进一步分析。就准备而言,分析师应该具备必要的工具和经验,通过这些方法进行证据采集。

要执行本地采集,事件响应分析员需要一个外部硬盘或 USB 驱动器,具备足够的空间用于捕获至少被调查系统的运行内存,以及其他必要的文件。为了确保所收集证据的完整性,建议将 USB 驱动器配置为两个分区。第一个分区应包含执行证据采集所需的工具,而第二个分区应作为证据的存储库。这还允许事件响应分析员将证据转移到更持久的存储形式,然后清除证据分区,而无需重新安装所有工具。

证据收集程序

数字取证与其他法医学科(如痕迹证据)之间存在许多相似之处。关键的相似之处在于,获取证据的组织需要有一个稳健、可复现且文档化良好的程序。以下是一些收集数字证据的正确指南:

  • 拍摄系统和现场照片:一项节省时间的重要设备是小型数码相机。尽管拍摄系统现场可能显得有些多余,但如果事件响应人员所采取的行动进入法庭,拥有照片将有助于事件的还原。然而,需要注意的是,务必使用单独的数码相机。使用手机可能会在诉讼或刑事程序中暴露该设备。最佳方法是在方便的时间和地点拍摄所需的所有照片,并将其转移到永久存储中。

  • 确定系统是否已开机:如果系统已经开机,保持开机状态。如果系统处于关机状态,请勿开机。开关机时会发生一些变化。如果系统已开机,易失性内存将可供捕获。此外,在启用全盘加密的情况下,保持系统开机可以让响应人员仍然能够获取逻辑磁盘分区。如果系统处于关机状态,保持此状态可以确保非易失性内存中的任何证据得到保留。如果事件响应人员认为该系统可能对其他系统构成威胁,可以通过断开网络连接将其隔离。

  • 获取运行中的内存:这是一个至关重要的证据,可以提供大量关于正在运行的进程、使用中的动态链接库(DLL)和网络连接的数据。因此,获取内存的程序将在本章中详细讨论。

  • 获取注册表和日志文件:虽然这些文件本质上是非易失性的,但迅速获取它们是有益的,尤其是在调查恶意软件或其他攻击手段时。

  • 从系统背面拔掉电源:如果系统是笔记本电脑,还要拆下电池。这样可以保留系统的状态。

  • 拍摄系统背面或底部以获取型号和序列号:此程序允许事件响应分析师获取对保管链必要的任何信息。

  • 拆下系统的盖子并拍摄硬盘以获取型号和序列号:再次有助于重建保管链。

  • 从系统中取出硬盘并将其放入防静电袋中:将硬盘安全地放入可密封的信封或盒子中。防静电袋将保护硬盘,而包装应确保任何尝试打开它的行为都会显而易见。这可以通过专门设计的证据袋或可以用胶带密封的简单邮寄信封来实现。扣押分析师应在任何封条上签字。此外,在包装外部的某处标明事件编号、证据编号、日期、时间和扣押分析师。

  • 记录所有操作:确保记录日期和时间,以及执行操作的事件响应分析师。事故报告通常是任何响应的最后阶段。因此,在分析师能够记录他们的操作之前,可能会过去几个小时甚至几天。因此,在最初扣押期间拍摄的照片和笔记在重建事件序列时至关重要。

在下一节中,我们将看看如何获取易失性内存。

获取易失性内存

传统数字取证,或现在通常称为死盒取证,侧重于从关闭系统中取出的硬盘驱动器作为主要证据来源。这种方法在处理诸如欺诈或儿童剥削等犯罪活动时效果很好,其中可以以取证合规的方式发现图像文件、文字处理文档和电子表格。这种方法的问题在于,为了正确获取这些证据,系统必须关闭电源,从而破坏了可能存在于易失性内存中的任何潜在证据。

与传统犯罪活动相反,事件响应人员会发现,安全事件的大量证据包含在潜在受损系统的内存中。当检查已感染恶意软件或通过使用诸如 Metasploit 等常见平台进行利用的系统时,这一点尤为真实。

关键的痕迹证据常常存在于被攻陷系统的运行内存中。因此,在关闭系统并拆卸硬盘之前,必须先获取运行内存进行处理。有多个免费的和商业化的工具可以供事件响应分析员用来获取运行内存。使用哪种工具通常取决于分析阶段使用的技术和工具,分析阶段的内容在 第十章 中讨论。

获取运行内存有两种方法。首先,可以通过直接连接到嫌疑系统的 USB 设备或其他可写介质来本地获取内存。另一种获取内存的方法是通过远程连接。这可以通过使用专门的软件,通过网络连接进行获取(远程获取技术将在下一章中讨论)。

如果事件响应分析员可以物理接触到潜在被攻陷的系统,他们可以选择本地获取内存和其他证据。这涉及到使用从 USB 设备或类似的可移动介质中运行的工具,连接到潜在被攻陷的系统。然后,运行这些工具并收集证据。本地获取通常是与没收系统的硬盘和其他证据一起进行的。有多个工具可以用于本地获取。本书将介绍三种此类工具——Exterro 的 FTK ImagerVelocidex 的 WinPmemBelkasoft 的 RamCapturer

在以这种方式获取内存时,建议使用一个具有足够容量的外部驱动器来存储多个文件。事件响应分析员应使用一个具有两个分区的 USB 设备。第一个分区包含执行内存获取所需的工具,而第二个分区则存储证据文件。这样,事件响应分析员可以确保证据不会与工具混合。

FTK Imager

Exterro 的 FTK Imager 是一个 Windows 软件平台,执行多种成像任务,包括获取系统的运行内存。该软件可以在 www.exterro.com/ftk-imager 下载。让我们来看一下这个平台:

  1. 下载后,将可执行文件安装到 USB 驱动器的 Tools 分区中。

  2. 打开 FTK Imager 文件夹并以管理员身份运行可执行文件。(FTK Imager 需要使用驱动程序,因此需要管理员权限。)以下窗口将会出现:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_02.jpg

图 6.2 – FTK Imager 主窗口

  1. 点击 File,然后选择 Capture Memory。这将打开以下窗口:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B1857_06_03.jpg

图 6.3 – FTK Imager 内存捕获

  1. 浏览到Laptop1Evidence Item 1。另一种有用的选项是使用系统名称,如图 6**.3所示。还要勾选Include pagefile复选框。页面文件中可能没有具有证据价值的信息,但在调查过程中可能会变得重要(页面文件将在第十章中讨论)。

  2. 最后,可以选择创建一个 AD1 文件;这是 Exterro 的专有文件格式。这个文件用于使用 FTK 分析程序分析捕获的映像。对于本书的目的,标准输出足以进行后续分析。

  3. 设置好配置细节后,点击Capture Memory,然后将显示以下屏幕:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_04.jpg

图 6.4 – FTK Imager 内存捕获进度

  1. 在 FTK Imager 转储 RAM 后,它将提取页面文件,如下图所示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_05.jpg

图 6.5 – FTK Imager 页面文件提取

  1. 运行此工具后,FTK Imager 将指示内存捕获是否成功:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_06.jpg

图 6.6 – FTK Imager 内存捕获成功

检查证据驱动器的证据分区,能看到两个文件,如下图所示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_07.jpg

图 6.7 – FTK Imager 输出文件

内存文件大小

根据系统的不同,.mem文件可能与目标系统的内存不完全匹配。在这种情况下,目标系统有 16 GB 的物理内存,但.mem文件大约大 2 GB。这可能发生在使用虚拟内存的操作系统中。在其他情况下,实际的 RAM 文件可能会更小。这是预期中的正常情况。

FTK Imager 的一个缺点是它需要对驱动程序有较多的访问权限,并且有许多功能。这使得将工具从一个系统移动到另一个系统变得困难,也显著降低了在脚本中使用 FTK Imager 的能力。

WinPmem

FTK Imager 的对立工具是 WinPmem。它是一个单一的命令行可执行文件,可以像 FTK Imager 一样执行。主要的区别在于,这个工具更容易进行脚本编写,因此可以一次性部署到多个系统,或者与其他证据收集工具一起使用。

WinPmem 是一个免费的工具,可以在github.com/Velocidex/WinPmem上获得。

下载后,可将可执行文件放置在分析师需要的位置。WinPmem 是一个命令行工具,因此我们来看看捕获运行系统内存所需的具体命令:

  1. 要获取目标系统的物理内存,请以管理员身份打开 Windows 命令提示符实例。输入E:\winpmem_mini_x64_rc2.exe -help,将显示以下帮助菜单:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_08.jpg

图 6.8 – WinPmem 帮助菜单

  1. 接下来,通过运行以下命令配置 WinPmem 以获取系统的内存:

    E:\winpmem_mini_x64_rc2.exe Acc_LT09.raw
    
  2. 上述命令告诉 WinPmem 获取原始内存并将其输出到名为 Acc_LT09.raw 的文件,该文件将创建在正在使用的 USB 驱动器的证据分区中。输入命令后,按下 Enter 键将生成以下内容:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_09.jpg

图 6.9 – WinPmem 输出

  1. 然后 WinPmem 会遍历整个内存结构。在此过程中,它将生成以下输出:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_10.jpg

图 6.10 – WinPmem 输出

WinPmem 提供了一个可以轻松复制并部署到多个系统的单一可执行文件的灵活性。显而易见的缺点是缺乏图形用户界面(GUI)。FTK Imager 和 WinPmem 之间的一个不错的折中选择是 Belkasoft 的 RAM Capturer。

RAM Capturer

RAM Capturer 是由软件公司 Belkasoft 提供的免费工具。RAM Capturer 是一个简单易用的工具,像 FTK Imager 和 WinPmem 一样,它可以通过 USB 启动运行。RAM Capturer 将 WinPmem 的简便性与 FTK Imager 的易用 GUI 相结合:

  1. 右键点击 RAM Capturer 可执行文件并选择 以管理员身份运行。这将会显示以下窗口:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_11.jpg

图 6.11 – RAM Capturer 启动窗口

  1. 获取内存所需的唯一输入是指定存放内存镜像的文件夹路径。一旦设置了输出路径,点击 Capture! 按钮并让它运行:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_12.jpg

图 6.12 – RAM Capturer 进度

  1. 一旦 RAM Capturer 完成,以下消息将出现:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_13.jpg

图 6.13 – RAM Capturer 完成

在考虑内存获取工具时,最佳的方法是尽可能高效地捕获尽可能多的数据。像 FTK Imager 这样的工具非常可靠,不仅可以获取内存,还能获取其他关键证据。然而,有时这可能不可行,响应人员将不得不使用一个带有轻量级工具(如 RAM Capturer)的 USB 键。最佳选择是确定将用于检查证据的法医工具类型,然后选择合适的工具来获取内存。

在获取内存时,这些工具的一个关键特点是,它们也可以在响应人员无法物理接触嫌疑系统的情况下被利用。

虚拟系统

事件响应分析师应准备应对的其他系统是虚拟机。虚拟系统相对于物理系统的一个明显优势是,它们能够通过执行系统快照或简单地暂停系统来保持当前状态。这使得事件响应分析师只需将整个文件复制到证据驱动器上,供后续分析。建议分析师确保在复制前后对虚拟机的每个组件进行哈希,以确保证据的完整性。

像 VMware 这样的流行虚拟化软件的一个关键特点是,虚拟机使用两个文件来处理运行时内存。第一个文件是虚拟内存VMEM)文件。VMEM 文件是虚拟机的 RAM 或物理内存。第二个文件是VMware 暂停状态VMSS)文件。VMSS 文件包含虚拟机在暂停状态时保存的文件。我们来看看这个:

  1. 要从 VMware 虚拟机中获取运行时内存,暂停系统。

  2. 其次,将 VMSS 和 VMEM 文件传输到可移动存储介质(如 USB)。VMware 软件通常会在安装过程中包括Vmss2Core.exe应用程序。该应用程序将 VMSS 和 VMEM 文件合并成一个单一的.dmp文件,可以使用取证工具进行分析。要创建完整的内存捕获,必须同时拥有这两个文件。

  3. 要创建.dmp文件,请运行以下命令:

    C:\Program Files (x86)\VMware\VMware Workstation>vmss2core.exe suspect.vmss suspect.vmem
    

从这里,响应人员将拥有必要的.dmp文件以进行分析。

获取非易失性证据

尽管内存中运行着大量数据,但从潜在被攻破的系统中获取硬盘数据仍然非常重要。这些设备中包含大量证据,即使是在恶意软件或其他攻击的情况下也是如此。在检查潜在事件时,例如内部恶意行为或数据丢失,硬盘证据变得更加重要。为了确保这些证据能够在法庭上使用,事件响应人员应熟练掌握我们在本章中讨论的程序。

在某些情况下,事件响应人员可能希望在关闭正在运行的系统之前从疑似被攻破的系统中获取两个关键数据。虽然这些数据本身不是易失性的,但注册表键值和事件日志文件可以在调查过程中帮助分析师。从镜像硬盘中获取这些文件主要依赖于影像和处理整个硬盘驱动器所需的时间。因此,有一些技术可以用来获取这些关键证据。

如果分析师能够访问系统,他们可以通过运行以下命令,利用命令行访问日志文件:

C:\wevtutil epl<Log Type> E:\<FileName>.evtx

此命令可以对安全、应用程序和系统日志重复执行。

FTK 获取受保护的文件

FTK Imager 还允许捕获注册表键设置和其他有助于调查的信息。让我们来看看:

  1. 打开 FTK Imager,并导航到 文件 标签。

  2. 点击 获取受保护的文件。将出现以下对话框:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_14.jpg

图 6.14 – FTK 受保护文件获取

  1. 点击 浏览… 并导航到证据文件所在的位置。

  2. 接下来,点击 usersystemSAMNTUSER.DAT 文件的单选按钮。此时可以在成像过程之前进行分析,这使得对事件的响应更加迅速。

CyLR 响应工具

一款开源工具帮助响应人员进行此类获取操作,即 CyLR.exe 应用程序。这个独立的可执行文件可以从 github.com/orlikoski/CyLR/releases 下载并运行,可以从 USB 或系统中运行。它是一个小型应用程序,但可以获取大量证据,这些证据可以作为初步调查的一部分或可能的分类处理来利用。CyLR.exe 的另一个关键特性是,它能够将获取的数据发送到远程系统进行存储或处理,正如我们将在第十二章中演示的那样。

若要获取非易失性日志文件和其他受保护文件,请通过命令提示符导航到 CyLR.exe 可执行文件,并以管理员身份运行它。包含证据文件的输出目录将与 CyLR.exe 应用程序位于同一目录。如果您从 USB 设备运行此工具,这样做非常方便,因为输出将直接保存在 USB 上。

CyLR.exe 应用程序正在运行时,响应人员将能够看到正在获取的各个文件:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_15.jpg

图 6.15 – CyLR 输出

根据处理器和可用 RAM 的不同,CyLR.exe 预计运行几分钟。之后,以下消息将出现:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_16.jpg

图 6.16 – CyLR 完成消息

最后,检查运行 CyLR.exe 的目录,将会发现一个压缩文件,其文件名为系统的名称。解压缩文件后,可以看到收集的广泛证据:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_17.jpg

图 6.17 – CyLR 获取的文件

输出包括日志文件、注册表文件和主文件表,这些将在后续章节中非常重要。通过简单工具获取这些数据是使用 CyLR.exe 在系统关闭前获取证据的一个主要优势。

Kroll 工件解析器与提取工具

与 CyLR 类似,Kroll Artifact Parser and Extractor (KAPE) 是一款专为数字取证设计的工具,能够提取具有法证相关性的工件,并解析这些工件以便使用各种附加工具进行分析。KAPE 利用模块和目标的组合来提取相关证据。该提取过程可以在活跃系统和磁盘映像上执行。KAPE 可以从 Kroll 网站下载:www.kroll.com/en/insights/publications/cyber/kroll-artifact-parser-extractor-kape

整个工具集包含在一个压缩文件中。下载后,解压文件夹内容。KAPE 可以在本地系统或 USB 驱动器上运行;这允许分析员只需将 USB 驱动器连接到嫌疑系统并从那里执行所有命令。文件中有两个可执行文件:kape.exe 是命令行版本,gkape.exe 是基于图形界面的版本。以管理员身份运行 gkape.exe,然后会出现以下窗口:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_18.jpg

图 6.18 – KAPE 图形界面

图 6.18 中的数字 1 是分析员配置目标选择的位置。数字 2 显示了目标选择。这些是分析员将选择用于提取的证据收集项。数字 3 表示 KAPE 命令行将出现的位置。在以下示例中,KAPE 将对一个活跃系统进行操作。接下来将捕获必要的证据,以便使用预设的证据列表对目标系统进行初步分诊分析:

  1. 在这个示例中,KAPE 将在 Windows 系统的根目录中运行,根目录由驱动器字母 C 表示。提取后的输出文件将保存到一个可移动 USB 驱动器上的 Acct_LT009 文件夹中,如 图 6.19 所示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_19.jpg

图 6.19 – 设置目标源和目标位置

  1. 接下来,分析员需要选择提取的目标。在此案例中,分析员正在进行初步分诊并选择 !``SANS_Triage 目标:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_20.jpg

图 6.20 – SANS_Triage 目标

  1. 要查看每个目标选择提取的工件,双击该选择。在此案例中,以下窗口显示了提取的工件:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_21.jpg

图 6.21 – SANS 目标详情

  1. 选择目标后,KAPE 会提供将要使用的命令行。KAPE 也可以通过命令行运行 kape.exe 可执行文件。这允许分析员在图形界面中构建命令,并在必要时将输出用于脚本:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_22.jpg

图 6.22 – KAPE 命令行命令

选择输出以下命令:

.\kape.exe --tsource C: --tdest E:\Acct_LT009 --tflush --target !SANS_Triage –gui
  1. 设置参数后,分析师点击执行!按钮。一个新窗口将会打开,提示目标或模块目标的任何内容将被销毁。分析师应确保工件文件夹的内容没有任何文件。点击确定以继续。

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_23.jpg

图 6.23 – 数据销毁警告

  1. KAPE 打开了一个额外的窗口,显示工件识别和提取的进度:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_24.jpg

图 6.24 – KAPE 命令输出

  1. KAPE 处理完成后,C 目录以及 KAPE 文件已存储在 USB 驱动器上:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_25.jpg

图 6.25 – 获取的 KAPE 目标

  1. 检查 C 目录显示出一些提取的工件:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_06_26.jpg

图 6.26 – KAPE 获取的工件详情

正确的证据处理开始了整个过程,旨在确定事件的根本原因,并可能识别责任方。为了使证据在事件调查中发挥作用,必须以正确的方式获取证据。事件响应人员应具备坚实的基础,理解各种获取类型,以及可用的工具和技术,并将这些工具和技术应用于可能出现的不同情况。通过应用可靠的技术并正确记录他们的操作,事件响应人员将能够利用证据,不仅确定事件的根本原因,还能在必要时在法庭上支持他们的行动。

总结

运行中的系统包含大量信息。像无文件恶意软件这样的威胁要求分析师和事件响应人员在系统仍然运行时迅速采取行动。捕捉这些证据需要充分的准备和数字取证工具的正确执行。在本章中,我们讨论了了解证据的挥发性顺序对于制定获取策略的作用。接着我们研究了在实时系统获取中应使用的程序。最后,我们转向使用命令行和图形用户界面工具来获取所需的工件。这些技术对于事件响应人员来说是无价的,因为它们能确保获取的证据是可信且可靠的。

在下一章中,我们将探讨如何从远程系统获取类似的证据。

问题

请回答以下问题,以测试你对本章的理解:

  1. 在查看挥发性顺序时,以下哪一类证据应首先获取?

    1. 随机存取存储器

    2. 页面文件或交换文件

    3. 中央处理单元,寄存器

    4. 存储驱动器

  2. 如果使用 FTK Imager,最好在获取 RAM 时同时获取页面文件。

    1. 正确

    2. 错误

  3. 在从虚拟系统重建内存时,响应人员应同时获取 VMSS 和 VMEM 文件。

    1. 正确

    2. 错误

进一步阅读

有关本章涵盖的主题的更多信息,您可以参考以下内容:

第七章:远程证据收集

获取内存的首选方法是通过与嫌疑系统的直接接触。这种方法使事件响应分析师能够根据工具或技术是否有效进行灵活调整。由于不依赖稳定的网络连接,这种方法也能更快速地获取所需文件。尽管这是首选方法,但可能会受到地理限制,尤其是对于大型组织来说,事件响应分析师可能需要乘飞机才能到达存放证据的地点。

在远程获取的情况下,事件响应分析师可以利用与本地获取中相同的工具。唯一的变化是,事件响应分析师需要利用远程技术访问嫌疑系统并执行捕获。和任何使用的方法一样,事件响应分析师应该确保记录任何远程技术的使用情况。这将有助于后续正确区分合法连接与可疑连接。

在本章中,我们将涵盖以下主要内容:

  • 企业事件响应挑战

  • 端点检测与响应

  • 迅猛龙概述与部署

  • 迅猛龙场景

企业事件响应挑战

上一章集中讨论了当分析师或响应人员能够物理接触系统时如何获取证据。现实情况是,这通常并非如此。基础设施迁移到像亚马逊网络服务AWS)这样的云服务,或者远程工作队伍的普及,造成了响应人员很可能无法物理接触到设备,也无法插入 USB 设备并运行工具来获取证据。

这个挑战的加剧之处在于,需要比传统数字取证方法提供的更迅速地获取更多可操作的信息。例如,传统的数字取证方法要求分析师对受感染系统进行完整成像,捕获内存和其他证据。然后,这些数据会被传输到分析工作站,经过数小时或数天,分析师才能获取必要的数据。在一些事件可能局部发生,或需要更详细入侵分析的情况下,这种方法是必要的。然而,在其他情况下,这种分析方法在面对可能影响成百上千台系统时并不具备可扩展性。

摒弃这种传统的数字取证与调查模型,转而采用实时筛查方法。在这种方法中,从怀疑已被攻破的系统中收集数据。这里的重点是将高价值数据收集到一个中心位置,在那里可以对其进行索引和分析。数据集中后,分析人员可以利用工具和技术扩大调查范围。采用这种技术将使分析人员能够集中精力调查具有最大证据价值的系统。正是在这些系统上,分析人员可以应用数字取证的全部焦点,以便更好地理解对手及其行为。

端点检测与响应

勒索软件无疑是改变了事件响应方式的主要威胁之一。此类攻击的速度和广泛影响突显了需要为分析人员提供一种跨整个网络基础设施进行搜索的方法的工具。这就是端点检测与响应EDR)工具登场的地方。

EDR 工具源于传统的基于签名的防病毒软件,这类防病毒软件在业界存在了近二十年。基于匹配哈希值和其他签名的能力,EDR 工具为安全和事件响应团队带来了亟需的分布式能力。市面上有各种商业化的 EDR 平台,每个平台都有独特的功能,但从整体来看,它们通常能够执行以下功能:

  • regsvr32.exe二进制文件绕过 Windows 保护机制并执行恶意代码(attack.mitre.org/techniques/T1218/010/)。

  • 自动响应:EDR 平台的另一个关键功能是自动化响应操作。例如,可以设置当检测到恶意文件时,触发隔离终端的操作,以防止对手利用它进行横向移动。其他自动化操作包括禁止恶意二进制文件执行或切断特定进程的网络连接。EDR 平台的另一个重要自动化特性是通过电子邮件或即时消息通知特定人员,以便快速响应。

  • 数字取证获取和分析:EDR 平台对事件响应分析人员的主要优势在于能够远程获取和分析数字证据。例如,EDR 平台将能够显示最近执行的二进制文件或系统中添加的其他文件。分析人员可以在整个网络范围内搜索这些指标,而不是试图在单个系统上查找这些文件。另一个优势是还能够获取被怀疑具有恶意活动的个别文件或整个取证包。这种功能显著减少了收集证据所需的时间,同时也允许规模化搜索和收集。

根据 EDR 平台的不同,组织在部署方面也具有灵活性。部署的主要方法是使用一个云管理控制台,各个端点通过代理与之通信。这种部署方式可以监视内部和基于云的系统,并为远程分析人员和事件响应人员提供灵活性。

EDR 平台的一个主要缺点是成本。这种功能并非没有成本。鉴于 EDR 平台的可见性和功能性,它们迅速成为各种规模组织的关键工具,对于事件响应人员快速获得事件意识和调查整个网络上广泛对手活动的能力至关重要。

Velociraptor 概述和部署

除了商业平台外,还有开源工具可供事件响应团队使用,提供了至少部分 EDR 平台中的功能。其中之一是Velociraptor。该工具使用一个中央服务器,端点代理连接到该服务器,如图 7.1所示。这些端点代理,称为客户端,管理对远程系统上的工件的搜索。这将搜索和证据获取的负载放在端点上,减少了服务器的负载,并允许在多个远程客户端上进行并发搜索。

Velociraptor 文档

本章仅涵盖了 Velociraptor 功能的有限部分。要了解功能的完整细节,包括其他数字取证用例,请查阅 Velociraptor 文档:docs.velociraptor.app/

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_01.jpg

图 7.1 – Velociraptor 设置

为了演示 Velociraptor 的一些功能,将配置一个服务器。之后,将创建一个 Windows 客户端并部署到 Windows 端点。然后,我们将看看 Velociraptor 如何用于获取端点行为数据并提取有意义的证据以供进一步调查。

Velociraptor 服务器

Velociraptor 工具的第一部分是服务器,负责管理稍后将安装在端点的代理。有关部署的详细说明,可以在 Velociraptor GitHub 页面找到,网址是 github.com/Velocidex/velociraptor。此外,还提供了多种部署服务器的选项,包括使用 Windows 和 Linux 操作系统以及 Docker。在本例中,服务器应用程序将在 Ubuntu 20.04 LTS 服务器上安装。安装服务器后,按照以下步骤安装应用程序:

静态 IP

在开始之前,一个关键的考虑是给 Velociraptor 配置一个静态 IP 地址。稍后配置的代理需要这个 IP 地址,任何更改都会使代理失效。

  1. 一旦 Linux 服务器配置完成,可以通过控制台或 SSH 登录服务器并安装 Velociraptor。首先,使用以下命令创建一个目录用于存放 Velociraptor 文件:

    mkdir velociraptor
    
  2. 切换到 Velociraptor 目录:

    cd velociraptor
    
  3. 使用 Linux wget 命令从 GitHub 下载 Velociraptor 包:

    wget https://github.com/Velocidex/velociraptor/releases/download/v0.6.4-  1/velociraptor-v0.6.4-1-linux-amd64 
    
  4. 接下来,输入以下命令以允许 Velociraptor 包执行:

    chmod +x velociraptor-v0.6.4-1-linux-amd64
    
  5. 现在 Velociraptor 已经设置为运行,下一步是创建包含设置的 YAML 配置文件:

    ./velociraptor-v0.6.4-1-linux-amd64 config generate > velociraptor.config.yaml
    
  6. 配置文件需要编辑,以包括 GUI 的 IP 地址,并与将与服务器通信的代理进行通信。使用 VIM 或 Nano 编辑文件。这里以 Nano 为例:

    nano velociraptor.config.yaml
    
  7. velociraptor.config.yaml 文件中,有两个与 localhost 相关的条目。找到这些条目并将其替换为服务器的 IP 地址。接下来,有三个与 IP 地址 127.0.0.1 相关的条目;同样,替换为服务器的 IP 地址。

  8. 将配置文件移到 /etc 目录中:

    sudo mv velociraptor.config.yaml /etc
    
  9. 接下来,设置一个管理员密码以访问 Velociraptor GUI。系统提示时输入密码:

    ./velociraptor-v0.6.4-1-linux-amd64 --config /etc/velociraptor.config.yaml user add admin --role administrator
    
  10. 要启动 Velociraptor 前端 GUI,请执行以下命令:

    ./velociraptor-v0.6.0-1-linux-amd64 --config /etc/velociraptor.config.yaml frontend -v
    
  11. 如果安装成功,您应该能够登录到 GUI,打开以下仪表板:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_02.jpg

图 7.2 – Velociraptor 欢迎界面

如前述步骤所示,设置 Velociraptor 非常简单。此外,服务器可以部署在内部网络或云基础设施中,例如 AWS 或 Azure。这使得事件响应分析员能够从任何与互联网连接的系统中收集数据。这也免去了维护系统的需求,因为 Velociraptor 可以根据需要部署,发生事件时可以启动,或者作为虚拟系统进行维护并根据需要启动。

现在服务器已经配置好,我们可以继续构建一个 Windows 收集器,允许分析员检查远程 Windows 系统。

Velociraptor Windows 收集器

Velociraptor 收集器是安装在被监控端点上的代理,并与服务器连接。要配置收集器,请按照以下步骤操作:

  1. 在配置客户端之前,Velociraptor 应用程序需要能够接受自签名的 SSL 证书。访问已移动到 /etc 目录的 velociraptor.config.yaml 文件:

    sudo nano /etc/velociraptor.config.yaml
    
  2. 在第一个证书的 nonce 行后添加以下行:

    use_self_signed_ssl: true
    

参考以下截图以供参考:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_03.jpg

图 7.3 – 配置 Velociraptor YAML 文件

  1. 从 Velociraptor 服务器的命令行中,切换到 velociraptor 目录:

    cd velociraptor
    
  2. 创建一个客户端配置文件:

    ./velociraptor-v0.6.4-1-linux-amd64 --config /etc/velociraptor.config.yaml config client > client.config.yaml
    
  3. 从 GitHub 下载 Windows 可执行文件:

    wget https://github.com/Velocidex/velociraptor/releases/download/v0.6.4-1/velociraptor-v0.6.4-windows-amd64.exe
    
  4. 以下命令将 Windows 可执行文件与配置文件结合,以便 Windows 端点能够与服务器进行通信:

    ./velociraptor-v0.6.0-1-linux-amd64 config repack --exe velociraptor-v0.6.0-1-windows-amd64.exe client.config.yaml Velociraptor_Agent.exe
    
  5. 最后,确保在 Velociraptor 服务器上安装了 Secure Shell 服务:

    sudo apt install openssh-server -y
    

收集器现在已经配置完毕。要将收集器从 Velociraptor 服务器上取下,只需使用任何 SFTP 将其从系统中传输出来。然后,将其传输到您想要监控的 Windows 端点。接下来,使用 Windows 命令提示符 Velociraptor_Agent.exe service install 命令安装 Velociraptor 服务,如下所示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_04.jpg

图 7.4 – Velociraptor 代理安装

Velociraptor 场景

Velociraptor 是一个功能丰富的平台,可用于广泛的数字取证和事件响应任务。本讨论的重点是使用 Velociraptor 访问远程系统命令行并返回数据,以及运行证据收集二进制文件。

Velociraptor 证据收集

Velociraptor 是一个功能丰富的工具,具有广泛的能力。在本章中,重点将放在获取端点的基本信息、通过命令行进行证据采集,以及最终获取证据包以便进一步分析。这应该足以让您至少对 Velociraptor 有一些了解。在后续章节中,我们将探讨使用 Velociraptor 进行分析和威胁狩猎。

使用 Windows 命令行

在进行初步分诊分析时,常常被忽视的一个工具是 Windows 命令行。在这里,分析师可以检查正在运行的进程和网络连接并提取文件。Velociraptor 具备让分析师通过命令行在远程系统上运行命令和证据工具的能力:

  1. 从主屏幕上,导航到搜索客户端框并选择下拉箭头。选择显示所有以查看主机:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_05.jpg

图 7.5 – 搜索客户端

  1. 这将显示 Velociraptor 正在通信的所有系统。带有绿色按钮的系统当前正在与 Velociraptor 通信。如果有红色按钮,则表示端点代理未与服务器通信,需要重新启动:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_06.jpg

图 7.6 – 客户端列表

  1. 在这个例子中,分析员想要查看主机名DESKTOP-9SK5KPF。单击相应的客户端 ID 将显示以下信息:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_07.jpg

图 7.7 – 客户端信息

  1. Velociraptor 的一个有用特性是利用 Windows 命令行和 PowerShell 终端在 Velociraptor 服务器上进行初步分类和调查。要访问此功能,请导航到窗口右上角并单击**>****_Shell**按钮:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_08.jpg

图 7.8 – 访问 Shell

  1. 这将打开一个窗口,分析员可以访问命令行、PowerShell、Bash 或 VQL。在这种情况下,分析员通过输入命令并单击Launch来对目标系统运行netstat命令。这将产生以下结果:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_09.jpg

图 7.9 – Windows netstat 命令输出

这个功能在进行系统的初步分析或分类时非常有用。检查网络连接或运行进程可能会揭示恶意软件或命令和控制的存在。这使分析员能够专注于可能具有这些指标的系统。另一种获取证据的技术是从命令行运行在上一章中讨论的工具。

CyLR

从远程系统获取证据的一个简单方法是使用在上一章中讨论的 CyLR 工具。在这种情况下,结果可以使用 SFTP 发送到远程服务器或工作站。只需使用以下命令运行 CyLR,并输入目标服务器的用户名和密码:

CyLR.exe -u username -p password -s 192.168.0.15

一个有用的技术是将所有证据发送到一个中央服务器,多个分析员可以在那里工作。在第十二章中,CyLR 将与 Skadi 平台上可用的其他工具结合使用。

WinPmem

WinPmem 可以通过本机应用程序(如远程桌面或 PsExec)部署到远程系统上。一旦安装在远程系统上,WinPmem 的输出可以通过 NetCat 传输到另一个系统。例如,假设事件响应分析员正在使用位于192.168.0.56的系统。如果分析员能够通过 PSExec 或 RDS 访问受损主机,他们可以通过以下命令建立 NetCat 连接回到自己的机器:

 C:/winpmem-2.1.exe - | nc 192.168.0.56 4455

前面的命令告诉系统执行捕获并通过 NetCat 将输出发送到端口4455上的事件响应分析师工作站。这种技术的缺点是需要访问命令提示符,以及安装 NetCat 和 WinPmem。如果事件响应分析师正在处理被怀疑被入侵的系统,这可能不是最佳选择。

虚拟文件系统

Velociraptor 的另一个关键功能是虚拟文件系统VFS)。这使分析师能够检查远程系统上的文件结构。这对于分析师知道他们想要收集与警报或事件相关的特定文件或文件的情况非常有用。在以下示例中,分析师已被警告远程系统上存在可疑的 DLL 文件,并被要求收集该文件进行分析:

  1. 从与前一个示例相同的窗口中,点击VFS按钮:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_10.jpg

图 7.10 – 访问 VFS

  1. 根据连接情况,这可能需要几分钟来加载。加载完成后,点击ntfs部分,如图所示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_11.jpg

图 7.11 – VFS

  1. 在浏览文件系统时,如果出现无可用数据的错误消息,请点击文件夹图标,这将刷新目录:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_12.jpg

图 7.12 – 刷新按钮

除了刷新目录外,从左到右的额外图标将递归刷新目录,递归下载目录,或查看收集的工件。

  1. 导航到C:\Program Files\Common Files\System目录显示了一些 DLL 文件。其中一个引人注目的是bghe21.dll文件,其修改日期和时间为2022-05-04,时间为09:44:20 UTC。这引人注目,因为其他 DLL 文件似乎早在之前就被修改过了:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_13.jpg

图 7.13 – 可疑 DLL

  1. 点击从客户端收集按钮将从系统下载可疑的 DLL 文件进行分析:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_14.jpg

图 7.14 – 收集文件

VFS 对于那些分析师有一些数据指向特定文件或目录以搜索证据的事件和事故非常有用。这一功能显著减少了获取特定文件所需的时间。然而,在某些情况下,分析师需要从远程系统获取证据包。在这种情况下,可以利用 Velociraptor 获取与事件调查相关的一系列文件和其他数据。

Velociraptor 证据收集

本章最后一个要讨论的功能是从远程系统收集证据以进行分析。此功能使分析师能够远程收集数据,而无需使用穿透网方法,具有显著的优势。在这种情况下,将使用 Velociraptor 从远程系统收集 KAPE 证据:

  1. 从头开始,要从系统收集证据,请点击可疑系统对应的客户端 ID – 在本例中是DESKTOP-9SK5KPF

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_15.jpg

图 7.15 – 客户端列表

  1. 在左侧窗格中,点击底部的倒计时图标:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_16.jpg

图 7.16 – 集合图标

  1. 在新窗口中,点击导航栏左上角的新建集合加号:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_17.jpg

图 7.17 – 开始新的集合

  1. 这将打开新建集合:选择要收集的工件窗口。可以收集的证据项和集合范围广泛。在本例中,分析师希望收集 KAPE 的目标工件。导航到Windows.KapeFiles.Targets,如下所示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_18.jpg

图 7.18 – 选择工件

  1. 点击工件时,右侧窗格将弹出以下对话框。此信息详细说明了可以设置的参数。这与之前关于 KAPE 讨论的集合类型相匹配:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_19.jpg

图 7.19 – KAPE 目标详细信息

  1. 在屏幕底部,点击配置参数

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_20.jpg

图 7.20 – 集合参数

  1. 新建集合:配置参数窗口中,点击Windows.KapeFiles.Target。这将打开图 7.21中的窗口。此窗口允许分析师选择上一章讨论的特定 KAPE 目标。在这种情况下,通过点击**_BasicCollection**旁边的复选框来执行基本集合:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_21.jpg

图 7.21 – 集合参数详细信息

  1. 审核指定资源窗口。在这种情况下,可以保留默认设置,但这允许分析师配置代理如何利用资源。点击审核按钮以审核集合请求:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_22.jpg

图 7.22 – 集合请求审核

  1. 点击启动按钮。在集合运行时,窗口中会出现一个沙漏图标,并显示唯一的 Flow ID:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_23.jpg

图 7.23 – 集合请求进度

  1. 集合完成后,可以通过点击结果窗格中的文件柜图标下载文件。这样可以使下载项如图所示:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_24.jpg

图 7.24 – KAPE 目标准备好下载

  1. 然后,可以使用 KAPE 或其他后续讨论的工具在分析师的工作站上检查文件:

https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/dg-frsc-inci-resp/img/Image_B18571_07_25.jpg

图 7.25 – 获取的证据

到此为止,我们已完成本章内容。

数字取证获取的一个重大挑战是如何将其扩展到远程系统,并能够快速分析数据。即使面对这一挑战,事件响应分析师仍然可以利用像 Velociraptor 这样的工具,既可以作为独立的解决方案,也可以与他们已有的工具集成。通过这种组合,他们能够迅速集中精力分析那些具有最大证据价值的系统。这为决策者提供了对对手行为性质的理解,并能在不必等待全面分析的情况下采取相应措施,而如今的 IT 操作由于其远程性质,往往使得全面分析受到极大限制。

总结

在本章中,我们探讨了端点检测与响应工具如何为分析师提供大规模开展调查的能力。在此基础上,我们考察了开源工具 Velociraptor,介绍了其设置与配置、代理部署,以及 Velociraptor 在多个场景中如何协助收集证据并进行事件相关分析。请记住这些场景,特别是在我们讨论《第十七章》中的勒索软件调查时。

在下一章,我们将探讨如何正确地为后续分析制作系统存储的镜像。

问题

回答以下问题,以测试你对本章内容的掌握情况:

  1. 在一次事件调查中,可能不需要在进行分析之前获得完整的磁盘或内存镜像。

    1. 正确

    2. 错误

  2. 以下哪项不是 EDR 平台的优势?

    1. 成本

    2. 调查的可扩展性

    3. 事件警报

    4. 集中管理

  3. Velociraptor 的一个优势是,所有处理都在 Velociraptor 服务器上完成。

    1. 正确

    2. 错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值