计算机取证学习指南-全-
计算机取证学习指南(全)
原文:
annas-archive.org/md5/a8da66cb74d555d7026b936a6c2b843b
译者:飞龙
前言
欢迎来到数字取证的世界!在本书中,您将深入探索 Windows 操作系统,以确定用户在系统上的操作。您还将了解 Windows 操作系统使用的不同文件系统。审查员的角色不仅仅是进行检查,还包括您生成的报告以及如何解释您的发现。您将学习如何为数字调查做准备,包括设备选择、培训和如何应对犯罪现场的计划。希望这本书能够成为您的资源,无论您是新手审查员还是经验丰富的审查员。
本书教授法医审查员以及那些想要成为法医审查员的人,关于成为法医审查员所需的各种技能和任务,在刑事或民事案件中完成法医分析。本书将通过作者在美国的经验来传达信息,因此涉及刑事事务时,将参考美国法律。
本书的适用人群
本书适用于私人或公共部门的初学者和经验丰富的审查员。虽然了解操作系统、文件系统会有所帮助,但并非必需。
本书的内容涵盖了哪些方面
第一章,计算机基础调查类型,向读者介绍了计算机基础调查的不同主题,从警察调查的犯罪行为到员工或第三方执行的可能违法行为,这些行为由非政府调查员进行检查。尽管目标相同——呈现有关事件的证据——这两者的方法略有不同。读者需要理解其相似性,即能够在司法程序中呈现证据,并认识到它们的差异性,即政府代理人需要搜查令。
第二章,法医分析过程,详细介绍了提供数字调查服务时的批判性思维规划。本章将使读者能够制定进行高效调查的策略。读者将学会根据每个案件的独特情况,提供不同的调查方法。
第三章,证据获取,解释了数字证据是调查员可以处理的最易挥发的证据之一。数字证据的错误处理可能严重影响调查。此外,您可能会破坏整个数据集。本章将讨论在使用验证过程创建取证影像时,如何最小化或消除这些问题。
第四章,计算机系统,解释了在获取数字证据时,调查人员必须控制计算机过程。在处理操作系统和硬件的多种组合时,必须实施控制措施以保护证据的完整性。本章将详细讨论启动过程,并识别最常用的文件系统。
第五章,计算机调查过程,解释了作为一名取证检验员不仅仅是按下一个按钮。证据收集完成后,你需要分析数据集。这不仅仅是找到遗留物,而是要检查数据,并将其放入一个情境中,这个情境要么支持,要么不支持关于用户在系统中行为的假设。
第六章,Windows 遗留物分析,解释了 Microsoft Windows 如今是最常用的操作系统。在这一章中,我们将查看不同版本的 Windows,并向读者展示如何根据所检查的 Windows 版本识别和恢复常见的遗留物。
第七章,RAM 内存取证分析,讲解了 RAM 的分析,RAM 作为一种证据来源,最近被认定为包含用户在系统中行为的关键信息。RAM 是一种非常易变的证据,能够提供计算机系统中其他地方找不到的数据。
第八章,电子邮件取证 – 调查技巧,讨论了电子邮件这一日常生活的一部分。电子邮件作为一种沟通方式,可能是大多数人主要的沟通工具之一。这些沟通内容可能包含大量与调查相关的数据。调查人员必须能够重建电子邮件从源头到目的地的路径,以确定其有效性。
第九章,互联网遗留物,解释了互联网是大多数人日常活动的一部分。像其他活动一样,互联网可以用于合法的商业活动,也可以用于犯罪行为。互联网可以通过多种方式进行访问。取证调查人员必须能够分析互联网的所有这些不同方面,以揭示真相。
第十章,在线调查,讨论了如何使用开源情报技术来了解调查目标。还讨论了调查人员可以采取的步骤,以隐藏自己的真实身份并创建一个秘密的在线人物。
第十一章,网络基础知识,解释了一些常见的网络协议、硬件和模型,它们用于连接设备并共享信息。理解设备之间如何共享信息,是在线调查人员的关键技能。
第十二章,报告写作,讲述了报告写作,这是法医学考试过程中最不令人兴奋的部分。法医检查员必须能够将技术主题解释给非技术用户。作为法医检查员,您必须能够将证据置于观众理解的上下文中。这种能力是您必须掌握的关键技能,才能成为一名合格的法医检查员。
第十三章,专家证人伦理,解释了法医检查员必须保持客观、真实、诚实,并在进行检查时尽职尽责。检查员将提供证词,这可能会导致某人失去自由。法医检查员进行的调查的最终目标是提供证词或证据,以便在司法或行政程序中制止网络犯罪分子的活动。
下载练习文件
您可以在github.com/bill-lcf/Learn-Computer-Forensics
下载本书的练习文件。
已聘用的学术教职人员在验证后也可以下载每章的 PowerPoint 和题库。从.edu
电子邮件地址发送电子邮件至verify@learncomputerforensics.com
申请访问。如果您没有.edu
电子邮件地址,请提供证明您是讲师的文件。
下载文件后,请确保使用以下最新版本解压或提取文件夹:
-
WinRAR / 7-Zip for Windows
-
Zipeg / iZip / UnRarX for Mac
-
7-Zip / PeaZip for Linux
我们还从我们丰富的书籍和视频目录中提供其他代码包,您可以在github.com/PacktPublishing/
查看!快来看看吧!
下载彩色图片
我们还提供了一个 PDF 文件,包含本书中使用的截图/图表的彩色图片。您可以在这里下载:static.packt-cdn.com/downloads/9781803238302_ColorImages.pdf
。
使用的约定
本书中使用了许多文本约定。
CodeInText
:表示文本中的代码词语、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 用户名。例如:“Outlook 将电子邮件信息存储在几种文件类型中,如.pst
、.mdb
和.ost
。”
代码块如下所示:
MIME-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
当我们希望引起您对代码块中特定部分的注意时,相关的行或项目会以粗体显示:
{"endpoint_info_list":[{"endpoint":"**smtp:badguy27@yahoo.com**",
"c_id":"d24c.2d00",
"c_name":"**Joe Badguy Smith**"},
{"endpoint":"**smtp:badguyneedslove@gmail.com**",
"c_id":"e80f.5b71","c_name":"**John Badguy Smith**"},
{"endpoint":"**smtp:yahoo@mail.comms.yahoo.net**",
"c_id":"624f.10f0","c_name":"**Yahoo! Inc.**"}]}
任何命令行输入或输出都如下所示:
$USER$\AppData\Local\Google\Chrome\User Data\Default
粗体:表示新术语、重要词汇或您在屏幕上看到的词语。例如,菜单或对话框中的词语在文本中会以这种方式显示。例如:“MSF文件是邮件摘要文件,是电子邮件的一部分。”
警告或重要提示如下所示。
提示和技巧如下所示。
联系我们
我们欢迎读者的反馈。
一般反馈:请发送电子邮件至feedback@packtpub.com
,并在邮件主题中注明书名。如果您对本书的任何方面有疑问,请通过questions@packtpub.com
联系我们。
勘误:尽管我们已尽力确保内容的准确性,但错误难免会发生。如果您在本书中发现了错误,我们将非常感激您向我们报告。请访问www.packtpub.com/submit-errata
,点击提交勘误,并填写表格。
盗版:如果您在互联网上遇到我们作品的任何非法复制品,我们将非常感激您能提供相关地址或网站名称。请通过copyright@packtpub.com
与我们联系,并附上相关资料的链接。
如果您有兴趣成为作者:如果您在某个领域有专业知识,并且有兴趣编写或参与书籍的撰写,请访问authors.packtpub.com
。
分享您的想法
一旦您阅读了《学习计算机取证(第二版)》,我们非常希望听到您的想法!请点击此处直接访问亚马逊评论页面并分享您的反馈。
您的评论对我们和技术社区非常重要,能够帮助我们确保提供卓越的优质内容。
第一章:基于计算机的调查类型
欢迎来到 21 世纪,几乎生活中的每一件事都与电子设备相连。门铃内有数字摄像头;你的智能手机追踪你从家到工作的日常行程;你去健身房、看演出或去新城市旅行时,社交媒体会更新你的动态。
你的电话、银行访问和医疗预约都是通过数字技术进行跟踪的。如果它跟踪你平凡的日常活动,那犯罪或不道德的行为呢?当然,这些行为也会被追踪,如果你是数字法医调查员,你必须知道数字证据的存储位置以及如何分析它。所有的活动,无论是无害的还是犯罪的,很可能都会生成某种数字证据。作为调查员,你的任务是找到所有相关数据,处理它,并将证据呈交给事实裁定者。本章将介绍计算机基础的不同调查主题,从警察调查的犯罪行为,到员工实施的民事和可能非法的行为,以及由非政府调查员调查的外部第三方行为。
尽管目标相同,都是呈现与事件相关的证据,但证据收集和证据呈现的方法略有不同。因此,你需要理解哪些地方存在相似性,哪些地方存在差异。
本章将涵盖以下主题:
-
基于计算机的调查的差异
-
刑事调查
-
企业调查
基于计算机的调查简介
本书旨在向初学者介绍数字法医学领域。什么是数字法医学?它是法医学的一个分支,涉及从数字设备中恢复和分析数据。曾几何时,“数字法医学”一词被视为计算机法医学的同义词,但如今它涵盖了所有能够存储数字数据的设备。无论使用什么术语,目标都是识别、收集并检查/分析数字数据,同时保持其完整性。数字法医学不仅仅是寻找证据,它是对数字证据的正式检查/分析,旨在证明或反驳被告是否犯有该罪行。
作为法医检查员,调查不仅仅是证明嫌疑人有罪;你还有道德义务寻找无罪证据,证明当事人的无辜。此外,在展示调查结果时,你必须是一个公正的第三方。在刑事检查中,你的发现可能剥夺某人的自由,而在企业调查中,你的发现可能导致刑事调查,或使某人失去生计。作为数字法医检查员,你的结论可能对调查对象产生重大影响。
成为数字取证检查员,你需要有提问的欲望,拥有专业的设备,并接受必要的培训。从教导那些对这个领域感兴趣的人中,我发现最优秀的学生能够批判性地审视呈现的事实和情况,并利用这种能力,集中精力有效地得出准确的结论。不幸的是,我发现许多学生希望按下一个“找到证据”按钮,找到所有的证据物件,打印出千页报告,完成任务。这不是数字取证。
数字取证并不是找到证据物件。所谓证据物件,我指的是浏览器历史记录中的有罪谷歌搜索,嫌疑人与共谋者之间的有罪电子邮件,或者文件系统中发现的非法图片。证据物件是指向进行非法活动的人的线索。然而,仅凭这些证据物件,并不能识别出创建这些物件的用户,或者间接负责其创建的用户。这个领域最大的挑战之一就是识别出正在实际操作设备的用户。你希望将用户与特定的嫌疑人联系起来,而要做到这一点,你必须分析——这是关键词——数字证据,将其与特定用户关联起来。
如果你从事 IT 领域工作,你会理解网络和计算机操作系统,但你可能缺乏如何保全证据、维护证据链,并在刑事/行政程序中展示证据的知识。
如果你是调查员,你会理解证据链、证据保全以及在刑事/行政程序中作证。然而,你可能在数字领域缺乏经验。成为一名有效的数字取证检查员,你必须融入这两个领域。你必须了解数据是如何在数字领域中创建、共享和保存的,并以法医学上可靠的方式保存这些证据,同时能够在程序中作证。有时,在大庭广众面前回答来自双方律师提出的挑战性问题,可能是这个领域最难的部分。
与任何领域一样,你变得更好、更有效的方法是实践,进行真实和模拟检查,接受培训,并愿意向同行请教建议。既然你正在阅读这本书,你已经迈出了第一步。你可能是独自阅读这本书,将其作为你所修读的大学课程的教材,或者在企业培训课程中使用它。原因并不重要。阅读这本书将使你走上成为更有效的数字取证检查员的道路。
什么是网络犯罪?数字取证专家调查哪些犯罪?数字取证专家可能调查任何与数字世界相关的涉嫌不当行为。几乎每个人都有一部移动设备。有时,一个人拥有或使用多个移动设备、笔记本电脑和传统的台式电脑。所有这些设备都可能存储与调查相关的大量信息。例如,我曾调查过一起针对某人的犯罪案件,受害人因身体原因无法与警方沟通。这是如何成为一宗需要使用数字取证专家的犯罪案件的呢?
好吧,在这个案例中,她通过一个网站和即时消息与嫌疑人保持联系,并通过移动设备进行沟通。因此,尽管他们没有直接与正在调查的犯罪相关的证据,但他们掌握了关于受害人与嫌疑人关系的证据。在 21 世纪,几乎任何犯罪都有可能有数字格式的证据。现在,有些犯罪是通过计算机作为工具来实施的,例如发送骚扰邮件、欺诈和伪造、黑客攻击、企业间谍活动或非法图片交易。你的职业将决定你对情境的反应;如果你是执法人员,你将遵循一套程序,而如果你在企业界工作,你将遵循另一套程序。虽然不同领域中的一些程序可能会重叠,但每个领域都有其独特的差异,我们接下来会讨论这些差异。
刑事调查
作为执法专业人员,你首先需要考虑的是警员安全。现场是否安全且稳妥,可以处理和保护证据?当调查开始时,你可能会参与一个或多个角色。最基本的职位如下:
-
第一响应者
-
调查员
-
犯罪现场技术员
根据你所在机构的规模,你可能会填补一个或全部三个职位,并且你可能需要向一个或多个上级汇报。现在,面对数字证据,负责现场的人应该意识到数字证据的脆弱性。这使得相关人员能够采取适当的程序,确保证据不被破坏。
让我们谈谈每个角色的职责。
第一响应者
第一响应者是第一个到达现场的人。他们会在可能混乱的现场进行控制。他们会识别以下内容:
-
潜在受害人
-
证人
-
潜在嫌疑人
-
如何最好地维持控制
他们会一直这样做,直到调查员到达。第一响应者的主要任务是确保现场安全,防止任何人污染证据。正如你可以想象的那样,犯罪现场可能会有所不同,根据犯罪性质的不同,可能是一个动态的犯罪现场或一个相对静态的犯罪现场。在这两种情况下,第一响应者都必须具备基本的知识,了解在他们确保现场安全时,哪些物品可能包含数字证据。我们不希望嫌疑人拿起手机或笔记本电脑并进行任何操作。
那么,第一响应者如何保护犯罪现场呢?就像你在电视剧和电影中看到的那样,黄色犯罪现场带是最常见的方法。它是犯罪现场屏障的最直观可见标志,在我们的文化中,人们通过那条薄薄的黄色塑料带就能识别出犯罪现场的边界。一个或多个人员需要监控犯罪现场,以管理谁可以越过这条线进入现场。
调查员
调查员将在接到第一响应者的请求后赶到现场。到达现场后,第一响应者和调查员将进行协调,信息共享将开始。第一响应者将提供基本信息,这通常包括五个 W 和一个 H,具体来说是关于事件的谁、什么、何时、何地、为什么和如何。
第一响应者还将提供关于他们或其他人在调查员到达之前所采取的任何行动的信息。例如,调查员需要知道第一响应者是否接触过任何物品、移动过任何东西或改变过现场的任何东西。这可能是诸如对受害者进行急救或开关计算机等物理行动。我记得做过一次检查,当时第一响应者没有透露他们曾经访问过受害者的计算机。在进行我的检查时,我做了时间线分析,发现受害者死后活动出现了异常。这种异常是由于第一响应者未报告的行动所导致的。这里需要理解的关键是,第一响应者的行为并没有错。造成复杂情况的是他们没有报告这些行为,这导致了额外的工作和解释。
调查员负责指挥现场并指导所有活动。他们将指挥其他团队成员的调查工作,确保关于证据扣押的正确文档得以完成。有时,第一响应者会扣押证据并交给调查员。必须完成并保存一份证据链文件,记录谁发现了物品,并且谁在司法或行政程序完成之前一直掌控该物品。
犯罪现场技术员
最后,我们来介绍犯罪现场技术员。这可以是执法机构内的宣誓或未宣誓职位。他们接受过专门的证据收集培训。收集的证据可以是物理证据,如指纹、工具对比、收集生物液体以及犯罪现场摄影,这些都需要专业的培训和设备。数字证据的收集需要与物理证据收集相同水平的专业知识。
注意
我们可以将执法工作分为两个基本类别。
宣誓:可以宣誓支持其管辖区的法律;他们有权进行逮捕并携带枪支。
未宣誓:可以宣誓,但没有逮捕权。这些职位通常是犯罪现场分析员或执法支持技术员(这将取决于你的管辖区)。
犯罪现场技术员负责保存证据并启动证据的传递链。他们可能执行的操作包括获取计算机系统的易失性内存、创建存储设备的取证镜像,或者从服务器创建逻辑文件的取证镜像。接下来,证据将被装袋、标记并运输到安全地点。装袋和标记是什么意思呢?他们会将物理证据或包含数字证据的物品放入适当的存储容器中。然后,填写标签并标明证据属于哪个调查、由谁收集以及容器中包含的证据。
在接下来的章节中,我们将更详细地介绍犯罪现场技术员的职责。
一名执法人员可能是首位应急响应者、调查员或犯罪现场技术员,在所有角色中,他们都是政府的代理人。根据你的管辖区,政府可能会限制何时以及如何可以扣押和搜查财产。我将讨论美国的司法程序,你所在的地区可能有不同的法律和程序。
在美国,公民的隐私权受到美国宪法第四修正案的保护,该修正案规定:
“人民有权对其人身、住宅、文件和物品免受不合理的搜查和扣押,不得侵犯,除非有合理的理由,并且该理由必须由宣誓或确认支持,并特别描述要搜查的地方以及要扣押的人员或物品。”
从基本层面上讲,这意味着在政府扣押任何证据之前,必须有(a)基于合理原因的搜查令,或(b)所有者的同意。所有者给予的同意必须是自愿的,并且必须能够撤销,这可能在某些司法管辖区成为一个问题,因为数字证据的处理可能需要数月,甚至在一些司法管辖区可能需要几年。如果所有者撤回同意或拒绝提供同意,执法部门有哪些选择?搜查令。
执法人员如何获得搜查令?正如我们从前面的段落中了解到的,必须基于合理的原因。合理的原因的定义是申请人必须合理地相信被搜索的物品位于该位置。谁来判断什么是合理的?这将由司法官员决定,例如法官、治安法官等。
执法人员提出书面请求,而法官会审核该请求并决定批准或拒绝。如果批准,执法人员可以在司法官员指定的指导方针下扣押和搜索财产。法律规定,只有政府代理人才能获得搜查令来扣押和搜索财产。如果你在公司工作,这个过程与你无关。
现在,让我们讨论一些可能会让你被叫去调查的潜在犯罪。这将是对犯罪本身的高层次概述。在本书的后续部分,我们将讨论我们应该分析的具体证据,以判断是否发生了犯罪行为。
非法图片
几乎每个人都通过我们的移动设备、平板电脑、笔记本电脑和计算机连接到不同形式的数字网络——我们总是以某种方式保持连接。根据你问的人,这要么是世界上最棒的事,要么是最糟糕的事。也有一些很棒的方面;社交媒体使人们和家人无论身处何地都能保持联系。全球所有的知识仅需几次点击就能获取。你可以阅读来自你之前不了解的世界部分的新闻报道。这是一场等待发生的冒险。不过,这并不是一个充满独角兽和彩虹的世界。像任何社会一样,互联网也有一些黑暗和危险的部分,你应该对其保持谨慎。这包括非法图片的来源和共享。就我们的目的而言,非法图片是指其主题内容在你的文化或法律背景下是令人反感或非法的图像。
在互联网的普及和广泛使用之前,走私违禁图片几乎已被根除,那么究竟发生了什么变化?违禁图片的消费者不再需要亲自到场拿取实体图片。互联网使用户能够相对匿名地访问违禁图片,并且接触这些内容的暴露最小。我曾读到一些报告指出,我们大多数人所享受的高速数据网络之所以如此快速,是因为消费者希望更快的吞吐速度来下载违禁图片。
违禁图片的消费者可以通过简单的鼠标点击自由访问数以 TB 计的数据。如果消费者想要更高质量或特定主题的图片,找到一个供应商来满足其需求并不复杂,价格也可以商量。
你的司法管辖区将决定什么是或不是违禁图片,以及与违禁图片的持有和/或分发相关的刑事程度。我不会区分或指定具体的主题来定义违禁图片。相反,我将使用违禁图片或走私图片这一通用标题来讨论它们。你可以根据你所在的司法管辖区是否违法来选择使用其中任何一个词组。
人们是如何分享违禁图片的?从基本层面来说,文件就是文件。一张日落的 JPEG 图片与一张违禁内容的 JPEG 图片并无区别。任何人都可以利用互联网的任何一部分来分享文件——文件的内容并不重要。如果系统允许用户共享数据,那么这些共享文件的内容可能是合法的,也可能是非法的。我们来看看一些可能用来交换非法图片的媒介。
基于电子邮件的通信
电子邮件是两人或多人之间通过文件分享信息最简单的方式之一。一个电子邮件地址并不自动指向一个特定用户。一些服务提供商积极宣传其电子邮件帐户用户的匿名性。该服务提供商表示,他们不会保存交易信息,如源 IP、连接的日期和时间或账单信息。该服务提供商可能位于调查违禁内容的司法管辖区之外,这使得该服务提供商可以忽视要求提供订阅者信息的司法文件。
新闻组/USENET
这是互联网的第一个组成部分之一,并且已经不再被普通用户所关注。最初,互联网由万维网组成,包括网页浏览、电子邮件和 USENET 等组件。网页浏览和电子邮件几乎每个互联网用户都知道,而 USENET 则逐渐淡出公众的视野。然而,这并不意味着它没有被使用。USENET 就像老式的公告板系统,用户可以加入特定的组,发布消息、附加文件,其他用户可以下载文件和评论。用户可以仅发布一条文本消息,或者附加一个文件。这个附加的文件被称为二进制文件。
这个 USENET 附件将是一个文件类型,例如数字图像、视频、音频软件或任何其他用户可以访问的文件类型。用户必须使用新闻客户端来访问 USENET。有免费和付费版本的新闻客户端,用户可以通过它们订阅 USENET 服务。就像我们之前讨论的电子邮件服务提供商一样,USENET 服务提供商的一个卖点是匿名性;它们明确声明不会保存用户的交易数据或账单记录,或者它们位于那些法律可能无法充分处理服务器上违禁内容的司法管辖区:
图 1.1:Unison 应用程序
前面的截图显示了在 macOS 上运行的 Unison 程序,并访问服务提供商 Astraweb。
从左到右看,你可以看到 USENET 使用的层级系统。我选择了最左侧列中的alt,这将填充下一个列,显示许多命名文件夹。这些文件夹的命名规则显示了组的主题。我选择了binaries,这意味着我在寻找与帖子相关的附件文件。我们可以看到第三列中的文件夹图标,还有一个带有文件从顶部伸出的棕色文件夹图标。文件夹图标表示文件夹内包含其他组,而棕色文件夹图标表示一个新闻组。
正如你从前面的截图中看到的,用户可以探索各种各样的主题;某些组可能包含,也可能不包含违禁图像/文件。你所在的司法管辖区将决定在调查过程中哪些是合法的,哪些是非法的。
点对点文件共享
点对点(P2P)文件共享是一种去中心化的文件共享方式。在传统的文件共享中,服务器托管文件,客户端访问服务器来下载文件。在 Napster 和音乐共享的早期,这种方式成为了版权侵权的责任源。服务提供商因托管一目录包含版权文件而被司法程序追诉。
作为回应,P2P 方法发生了变化;不再创建集中式数据库,而是用户能够直接搜索网络中其他用户共享的文件夹。用户连接到一个共享网络并充当服务器和客户端。在 P2P 文件共享中,当用户识别出他们想下载的文件时,软件会联系到拥有该文件的其他用户。每个用户然后提供文件的一部分给接收者。当所有部分都收集完毕时,软件会将它们重新组装成原始配置。然后,用户可以作为一个节点参与(在讨论 P2P 时,“节点”指的是用户的系统,它连接到 P2P 网络并共享文件),并开始共享他们刚刚下载的文件:
图 1.2:Transmission 应用
上述截图显示了Transmission程序在 macOS 上运行。我正在从公共领域(archive.org)下载一部电影,在截图的下方部分,你可以看到文件已被分割成许多更小的部分。高亮的部分显示了我已下载的文件部分。稍后,我们将深入探讨 P2P 文件共享以及在文件系统中留下的痕迹。
跟踪罪
尽管互联网提供了很多好处,但它也为人们提供了一个渠道,允许他们利用、骚扰和欺凌他人。受害者可能是与施害者认识的人,或者曾以某种方式与受害者的网络形象互动,认为受害者对自己造成了伤害。我们在网络活动中看到的很多不良行为,正是因为互联网为攻击者/施害者提供了匿名性。当有人在旁观时,或者我们知道攻击者的真实身份时,他们的行为会改变,以符合社会规范。不幸的是,社会需要时间才能通过数字媒介认识到某些行为的犯罪性。
网络跟踪或网络欺凌现在正受到监管,并被视为一种实际犯罪。根据你的管辖区,定义可能会有所不同,政府在起诉这些犯罪时投入的资源也会有所不同。请记住,在数字世界另一端的用户身份可能很难达到法庭所要求的高标准来证明。
根据全国犯罪受害者中心的资料,web.archive.org/web/20201028110630/https://members.victimsofcrime.org/our-programs/past-programs/stalking-resource-center/stalking-information
,在美国,历史上约有 1,500,000 人(其中大多数是女性)通过数字媒介遭受过受害、骚扰和欺凌,且这些攻击持续了超过两年。此外,如果攻击者与受害者曾是亲密伴侣,攻击的持续时间通常会更长。
这种犯罪行为的影响是巨大的;受害者可能会失去工作时间,可能不得不搬家(有时甚至多次),并且可能会遭受由于成为目标而引发的身体和心理上的影响,如焦虑和抑郁。此外,在数字世界中跟踪前亲密伴侣,打开了对前伴侣施加重大暴力的可能性,在某些情况下,甚至可能导致其死亡。
什么行为可以构成网络跟踪?通常,网络跟踪是指跟踪者进行一系列行动,这些行动可能会使受害者感到恐惧和担忧。例如,一名已被解雇的员工将他们的主管被篡改的照片发送给组织成员和公众。这种活动持续了数月,直到停止。尽管骚扰已经结束并且肇事者被识别,但主管仍然感觉有必要辞去工作,更改姓名并搬到另一个社区。
那么,在我们试图调查这种犯罪时,从哪里开始呢?面谈将是最好的起点。询问受害者是否知道或怀疑是谁在背后骚扰是第一个问题。
根据我的经验,大多数情况下,受害者对骚扰者的身份会有一个大致的了解,特别是如果是前亲密伴侣。现在,一些受害者可能患有可能会复杂化评估的心理健康问题。作为调查员,您必须倾听整个故事,以理解事件的全部经过。仅因为某人可能显得偏执并不意味着他们的担忧或恐惧是没有根据的。作为调查员,您必须保持开放的态度,不要让自己的先入之见导致您错过可能可见的证据或指示。
如果受害者对骚扰者的身份有所猜测,请确保记录他们可以提供的所有相关信息。姓名、地址、用户名、电子邮件地址、屏幕名称和社交媒体位置都将为您提供宝贵的信息,以便您可以开始调查。
确定骚扰的方式和开始时间。例如,是 Facebook 群组?Snapchat?短信?聊天室?是否涉及移动设备的文本消息、未接来电等?骚扰是否通过邮局寄出实体信件的传统方式进行?
暴力威胁可能会加重犯罪的严重性,不应忽视。
调查员需要确保获得数字证据的法医可靠副本以开始调查。这将创建数字证据的责任链,并标志着调查的开始。
我们将详细讨论数字证据中发现的特定物件,但一旦您获得了攻击者用于进行攻击的帐户用户名和 IP 地址,您就有了一个开始识别他们的起点。
在美国,需要传票才能获取订阅者信息。这些信息包括用户的名字、姓氏、物理地址、他们访问账户的频率以及用于访问账户的 IP 地址。关于这些信息的保存期限,不同的服务提供商有所不同。有时可能只有几周,也可能长达多年,这取决于提供商。您还可以提交法律文件要求他们“冻结”账户,以防用户禁用或删除任何具有罪证性的信息。
为了获取账户中包含的信息,如电子邮件内容、消息内容或任何与内容相关的东西,必须向法官签署的搜查令服务提供商提交。如果服务提供商与司法当局在同一司法管辖区内,则通常没有问题。然而,当服务提供商位于美国境内的另一个司法管辖区内或美国境外的司法管辖区时,这个过程就会变得更加困难,有时甚至无法继续进行。
你获得的一些订阅者信息可能准确也可能不准确。用户用虚假信息完成注册表格并不罕见。例如,如果你有一个电子邮件地址,你可以进行开放源代码搜索,看看用户是否在其他地方使用了这个电子邮件地址。例如,有些在线论坛会将电子邮件地址用作用户名,如果是这样,用户可能会在与其他用户的通信中发布身份信息。这个论坛现在成为了你可以发出传票获取订阅者信息的信息源。
如你所见,跟踪信息的线索可能会带你到从未考虑过的信息源。而且,这可能会非常复杂和耗时。
刑事阴谋
刑事阴谋和数字取证:在数字取证调查员的世界中,这些方面如何交汇?首先,让我们定义什么是阴谋:当两个或更多人同意共同实施违法行为时。然而,仅仅决定实施非法行为是不够的;还必须采取行动来推动阴谋。这一切意味着什么?对于实际的抢劫犯罪,罪犯 A 联系罪犯 B 讨论抢劫受害者 C 的情况。罪犯 A 和 B 之间的谈话并不符合阴谋的法定定义。然而,假设罪犯 A 支付罪犯 B 并同意以某笔资金作为对抢劫受害者 C 服务的交换,那么我们就有了进一步实施抢劫阴谋的行为。那么,数字取证调查员可以在数字领域找到哪些罪行?几乎可以想象的任何犯罪。让我们来看一个这样的犯罪示例:
”Michelle Theer 因犯有针对某人的罪行而被定罪。她与 John Diamond 密谋共同对她的丈夫 Marty 实施犯罪。调查人员没有直接证据、没有物理证据,也没有目击证人证言,但他们获得了显示密谋犯罪的数字证据。调查人员回收了超过 80,000 封来自 Diamond 和 Theer 之间的电子邮件和即时消息,这些信息显示了两人之间的个人关系,并且这些消息显示了他们共同密谋实施犯罪。”
你可以在caselaw.findlaw.com/nc-court-of-appeals/1201672.html
上详细了解这个案件。
如今,人们比以往任何时候都更依赖设备来进行日常活动。犯罪分子利用自己的设备来帮助组织犯罪活动,并不令人难以想象。数字取证调查员必须了解所有潜在的数字证据来源,并认识到物联网(IoT)是一个未被充分利用的数字证据宝藏。什么是物联网?
家庭助手程序如 Siri 和 Alexa、智能手表、家庭安全系统和 GPS 设备——任何具有应用程序的设备——可能包含证据,并显示犯罪分子的犯罪意图。未能识别这些数字设备可能会导致调查遭受重大损害。例如,有过这样的情况:调查对象被带入审讯室,但调查员未能识别出嫌疑人戴着一只智能手表。当他们将嫌疑人留在审讯室无人看管时,嫌疑人能够与同谋者沟通,指挥他们销毁证据并干扰调查。一旦调查员意识到嫌疑人的行为,他们利用智能手表展示了犯罪密谋。调查员通过这些证据为被拘留的嫌疑人及其同谋增加了额外指控。
社交媒体也是展示密谋行为的数字证据来源。例如,看看 Larry Jo Thomas 的案件。政府以 Thomas 对 Rito Llamas-Juarez 实施犯罪而定罪。最初,调查人员只知道一种特定类型的物品对 Llamas-Juarez 造成了伤害。然而,在处理犯罪现场时,发现了一只“独特的”手链,并将其作为证据收集。调查人员检查了 Thomas 的 Facebook 页面,看到了一张 Thomas 与类似于犯罪现场物品的物品合影的照片。在另一张照片中,他们发现了 Thomas 戴着那只“独特的”手链。尽管数字证据并未直接影响犯罪调查,但它展示了嫌疑人具备作案手段,并曾出现在犯罪现场。
车辆也是证明阴谋的证据来源之一。新型车辆连接到网络,具有自己的 Wi-Fi 连接,并且能够同步移动设备、GPS 数据和车辆的黑匣子数据。调查员可以利用这些信息展示目标的侦察活动、共谋者在同一地点的会面,或者他们使用通行费记录追踪他们的旅行和归来路径。
科技正在迅速变化和发展,普通民众在使用技术,犯罪分子也是如此。普通民众利用技术规划他们的日常,而犯罪分子也用相同的技术规划他们的犯罪活动。我总是感到震惊,当犯罪分子利用移动设备规划和执行犯罪活动,甚至还拍照纪念他们的非法行为。
现在我们已经了解了刑事调查、角色以及信息共享的方式,让我们进入下一个调查类型——企业调查。
企业调查
现在我们将从民间或非执法的角度讨论计算机取证。由于你不是政府的执法人员,搜索令的要求并不适用于你。(你的具体司法管辖区可能会有所不同。)虽然你可能不需要搜索令,但你不能擅自扣押和分析私人财产。我的意思是什么呢?假设你是一个大型跨国公司的调查员,你怀疑某名员工骚扰其他员工,可能在其公司笔记本电脑上查看了非法图片。那么,你需要满足哪些法律要求才能检查这名员工的笔记本电脑内容?如果你是政府的执法人员,员工有隐私权的期望。然而,作为一名使用公司设备的员工,在美国法院判决中,员工对设备中的数据仅有有限的隐私期望。
重要提示
这可能会根据你所在的地方管辖区有所不同。我曾在德国教授一门课程,课程中学生们解释道,德国法律赋予员工较高的隐私期望。在他们的司法管辖区内,必须满足特定要求,才能检查员工的电脑。
除了搜索令的要求外,企业调查员的职责与执法人员相似。他们仍然必须获取证据、分析证据并展示调查结果。他们可以在行政程序中展示调查结果,或在必要时将其转交给执法部门,可能需要在司法程序中作证。在任何情况下,数字取证调查员都必须确保数字证据是在法医合理的方式下收集的,并且保持数字证据的链条完整性。
如果数字取证审查员无法认证证据,他们不能在行政/司法程序中作证或提交证据。公司数字取证调查员还会调查各种各样的指控。通常,他们不会调查涉及伤害或死亡的犯罪。然而,他们仍然可以调查欺诈、伪造、公司政策和程序的违反、企业间谍活动,或者如果他们认为某个员工盗窃了知识产权或试图伤害公司本身。那么,让我们来讨论一下员工不当行为。
员工不当行为
作为员工的雇佣条件,他们必须遵守公司制定的政策。通常,雇主会有一本“员工手册”或一套政策和程序,规定哪些行为是可接受的,哪些行为不可接受。这些政策还包括确保在公司日常运营中,公司以尊严和尊重对待所有员工的具体规范。可能会有规则规定如何接受组织桌面和笔记本电脑的使用,违反这些规则可能会导致对这些设备的调查分析,正如我们之前提到的那样。
现在,我使用了“政策和程序”这个术语,我发现这两个词常常让人困惑,尤其是当它们一起使用时。政策是组织针对某个特定问题所做的声明,而程序则是关于如何实现政策目标的具体指示。例如,组织可以制定一项政策,限制员工使用公司电脑访问非组织邮件。程序将有两个受众:所有员工和 IT 工作人员。程序将告知员工如何访问公司邮件,同时指导 IT 工作人员如何阻止访问非组织邮件。
在组织起草和实施政策及相关程序时,你需要遵循一些基本指南,具体如下:
-
政策应该简明易懂。简短有力——不要让它复杂化。如果有员工能“误解”政策,那么他们会争辩自己是否违反了政策。
-
程序应明确规定实施政策中任务所需的所有步骤。如果你没有明确要求读者做什么,千万不要假设他们能理解。
-
组织必须告知员工违反政策可能带来的后果。
-
组织不能实施违反法律的政策。
-
组织必须执行政策。我曾进行过许多调查,其中多名员工违反了政策,但组织从未执行过该政策。如果他们在 51 周内不执行该政策,然后在第 52 周时,组织对一些员工执行了政策,而对其他员工没有执行,那么在第 52 周员工如何为自己的行为负责?
-
必须有文件证明员工知悉并理解组织已实施该政策及违反该政策的处罚。
如果员工违反了组织的政策或程序,执法部门是否必须介入?当然不是。这将取决于违规的性质,是否构成犯罪行为,以及组织是否有责任通知执法部门。有时,法律可能要求组织在发现员工犯有刑事违规行为时通知执法部门。确保你了解所在司法管辖区的法定要求,并在调查过程中与内部法律顾问沟通。
作为数字取证调查员,通常并不是你来决定是否通知执法部门。而是,在你咨询了组织的法律顾问和高层管理人员后,他们会做出这个决定。无论调查是否涉及刑事或非刑事事项,对于数字取证调查员来说,这一点并不重要。
记住,我们会将每一次调查都当作可能需要进入法庭作证的情况来处理。虽然初步调查可能涉及政策违规,但你可能会发现存在刑事违规行为,这要求执法部门参与调查。检方和辩方会在执法部门介入前审查你所有的调查工作。如果你没有保持调查过程的标准,可能会削弱起诉方的案件。
作为公司组织的数字取证调查员,组织可能会要求你调查各种违规行为。其中一个较为常见的事件是骚扰投诉或敌对工作环境。这是指某个人使一个或多个人感到恐吓、骚扰、受到身体威胁、羞辱或其他任何使工作环境变得令人不悦的行为。你会如何调查一个敌对工作环境的案例?在与投诉员工进行访谈后,他们可能会提供关于如何被嫌疑人造成骚扰/敌对工作环境的陈述。
你的调查将决定行为是身体上的、语言上的,还是在数字媒体上进行的,以及不当行为的频率。是有一个员工的行为令人反感,还是组织内部存在某种文化?如果有主管被通知或要求加害者停止行为,努力阻止不当行为的结果是什么?该员工可能通过组织的通信网络发送冒犯性的短信、电子邮件或即时消息。假设所指控的行为发生在或通过组织的设备进行,在这种情况下,你应当开展调查,确定是否存在任何数字证据来支持或反驳指控,因为这些财产属于组织,限制了员工的隐私期望。(记住,这可能因地区不同而有所变化。)
一旦你获得了上级批准进行数字取证检查,调查就可以继续进行。凭借现有的信息,你可以筛选出存储设备中可能包含的大量额外数据。为了高效处理当今高容量设备中的庞大数据集,你必须过滤掉与调查无关的数据。例如,如果我们处理的是骚扰邮件,你可以将检查范围限制为仅电子邮件流量。
现在,根据你在初步检查中获得的发现,调查可能会扩展。例如,在查看电子邮件时,你发现发件人向其他员工发送了非法图像。基于这一违规行为以及可能涉及的违规者数量,你的调查范围已经扩大。不要仅限于检查嫌疑人的计算机;你需要检查嫌疑人和投诉人的设备。
投诉人可能有冒犯性电子邮件的证据,而嫌疑人可能使用反取证技术将源邮件从他们的计算机中删除。或者你可能发现投诉人已将邮件内容更改为包含冒犯性材料。你需要尽可能彻底,这意味着必须检查发件人和收件人双方的电子邮件。
通常情况下,你不会被要求判断行为是否令人反感——这是一个非常主观的判断。一个员工认为冒犯的行为,另一个员工可能不会觉得不妥。你的工作是恢复出证据,让事实查明者能够做出明智的决定,判断投诉人的陈述是否能得到证实。人力资源部门或内部法律顾问将决定该员工的行为是否令人反感。你的任务是作为一个公正的第三方,展示调查结果。这可以通过行政程序,如听证会,或者你可以向高级管理人员进行汇报。记住,一旦组织被告知员工的冒犯行为而未采取行动,组织可能会被追究责任。
企业间谍行为
在企业环境中,无论规模大小,你都不希望与整个世界分享有关你组织的特定信息。例如,你可能向另一组织提供专有小部件或拥有消费者食品产品的独家配方。在几乎每种情况下,你的组织提供服务,他们因提供服务而获得报酬。如果竞争对手可以查看组织的内部运作,这种观察可能会减少组织在竞争中的任何优势。
我们可以将企业间谍行为定义为一个组织间谍活动以实现商业或财务利益。国家间使用的策略也被企业行为者用于相互竞争;例如:
-
通过物理或数字侵入获取数据或信息
-
冒充任何员工以获得进入组织建筑或其他设施
-
拦截语音或数据通信或操纵竞争对手的网站
-
操纵社交媒体以对抗竞争对手
有些我刚列出的行动不在数字领域内,那么数字取证调查员如何确定发生了什么?
安全
这归结为物理和数字安全。组织必须积极主动地识别需要保护的关键基础设施。一旦确定了关键基础设施,组织就可以实施安全和文档控制。如果攻击者成功了,数字取证调查员将不得不确定攻击者是如何绕过已建立的协议的。组织的物理和数字防御应该是多方面的,而不是依赖于单一方面。我的意思是应该有物理和数字缓解措施的混合。例如,访问控制非常重要;锁上的门可以是访问控制,例如控制对服务器房间的访问。现在,这扇门可以通过生物识别或物理令牌锁上和解锁。组织应在离岸设施中维护访问控制日志。
如果攻击者篡改并使用了员工的访问控制令牌,数字取证调查员可以分析日志,并确定哪个用户身份访问了服务器房间。实施数字监视录像将允许调查员观察到此次攻击,并决定是员工还是未知第三方的问题。对于数字攻击,你必须分析来自网络安全设备的日志,例如防病毒日志、认证服务器、路由器和防火墙,所有这些都是侦察控制。虽然侦察控制允许你调查发生了什么,但它不能防止事件,也不是威慑手段。访问控制是关于保护资产;你控制用户并防止未经授权的访问。
威胁行为者
你可能是来自威胁行为者的攻击的受害者。什么是威胁行为者?通常来说,它是指一个恶意用户获得对属于他人的信息系统的访问权限。
你可能会看到“黑帽”或“白帽”威胁行为者这样的术语,其中帽子的颜色决定了威胁行为者的意图。
“白帽”威胁行为者是一个积极的行为者。这个人或一群人的目标是识别系统中的漏洞,以便组织的所有者或供应商可以修复它们。“黑帽”威胁行为者是攻击系统的恶意行为者;他们的目标是侵犯并利用组织的数据系统。最后,还有“激进分子威胁行为者”,他们出于政治原因寻找系统中的漏洞进行利用。攻击可能是破坏系统中保存的信息,或者对组织发起分布式拒绝服务攻击。以下是一个表格,帮助突出不同点:
白帽黑客 | 黑帽黑客 | 激进分子 |
---|---|---|
他们入侵系统,发现潜在的责任,抢在恶意行为者之前。 | 他们入侵系统谋取个人利益。(恶意行为者) | 他们入侵系统暴露活动,骚扰所有者,或推动政治议程。(恶意行为者) |
恶意行为者不仅仅依赖技术手段访问系统;他们还会通过员工来攻击组织。这被称为使用社会工程学,接下来我们将讨论这一点。
社会工程学
社会工程学是另一种在企业环境中相对常见的攻击形式。其中一种就是“网络钓鱼攻击”,攻击者试图欺骗用户,以获取诸如用户名和密码等机密信息。通常,这种攻击是通过电子邮件进行的,发件人声称自己是银行或某个权威人士,要求用户提供个人信息,如姓名、出生日期、政府身份证号码、用户名和密码。
如果用户相信该电子邮件并提供相关信息,攻击者可以冒充用户,尝试进入组织的数据系统。
存在一些自动化工具,设计用于对组织进行社会工程攻击,如网络钓鱼攻击。这些工具不需要大量的专业知识即可实施。使用这些工具的人被称为“脚本小子”,他们可能使用这些自动化工具攻击你的组织。
这些工具的供应商声明其设计目的是供组织用来测试防御,但一旦下载了该软件,就没有方法控制用户如何使用它。
Gophish
Gophish 就是这样一款自动化工具。它支持三大主流操作系统,且任何人都可以免费下载。它不需要复杂的安装技能;您只需解压并运行可执行文件,程序就会启动。以下截图显示了软件启动后首次登录的界面:
图 1.3:Gophish 登录
登录后,您将看到该服务的仪表盘。
注意
本书并不是关于运行 Gophish 或其他程序的;它只是为了让您了解现有的工具和方法。
请遵守所有适用的法律和法规。
您可以创建电子邮件模板并发送给各个组织。您可以使用开放源情报技术(OSINT)捕获组织成员的电子邮件,并将其导入程序中:
图 1.4:Gophish 导入电子邮件
进行钓鱼攻击时,常见的一个手段是通过发送邮件要求用户重置密码,当他们按照指示操作时,会将他们引导到一个仿造的官方登录页面。攻击者捕获到用户名和密码后,用户会被重定向到官方页面,而他们永远不知道发生了什么。
真实世界的经验
有一次,我受雇于某个组织进行漏洞分析。作为情景的一部分,他们没有向我提供关于数据网络内部工作原理或大楼物理安全的信息。大楼在正常营业时间内对公众开放。在正常的工作时间里,我在组织内四处走动,进行侦察,看看是否能识别出任何漏洞。
要进入大楼的行政层,我需要在保安台签到并领取一个射频识别(RFID)通行证。在签到时,他们没有要求我出示任何身份证明,也没有询问我的目的或目的地。我签到后,得到了一个访客 RFID 卡,然后被放行。我乘电梯到达顶楼,环绕行政层走了一圈。我穿着典型的商务休闲服,携带着我的笔记本电脑包。我找到一个没有上锁的培训室,进入后设置好笔记本电脑,接入了网络并访问了系统。几位员工在我待在培训室时走了进来,但没有人质疑我为什么在这里,独自一人坐着,拼命地敲打着电脑键盘。我在房间里待了四个小时,直到大楼关闭。在这段时间里,没有人质疑我在这里的原因。我收拾好笔记本电脑,整个晚上都能自由进出行政层。
如果我是一个真实的攻击者,你们怎么调查发生了什么?组织维护的哪些证据来源可以被处理?第一步将是确定发生事件的潜在时间线。这个漏洞测试的控制措施之一是不要破坏网络并访问控制文件。控制文件是一个没有任何价值的普通文档,可以安全地进行操作,显示未经授权的访问。操作过的文件将包含时间戳,显示未经授权的访问发生的时间。时间戳将为调查人员提供一个起点,开始进行调查。
这将通过检查服务器日志和防火墙日志并识别我在网络中的数字足迹来实现。一旦他们确定了发生泄露的物理设备位置,他们可以查看监控录像,倒推我是如何进入高层管理区域、RFID 保护电梯以及我完成的物理安全日志的。仅仅在系统中记录泄露反应并不能解决数字取证调查员所面临的巨大任务。
如果组织及时发现了泄露事件,那么调查会更加直接,但假设泄露没有在几天、几周甚至几个月内被发现呢?几个月后,如何判断当时发生了什么,难度会有多大?
以 2014 年索尼影业的被入侵事件为例。虽然攻击的确切持续时间尚不清楚,但攻击者至少在网络内部待了两个月复制文件,有些报告称攻击者曾在内部网络中待了整整一年。尽管这一点从未得到证实,攻击者声称他们已经窃取并转移了超过 100TB 的索尼影业数据。信息泄露并非唯一的攻击方式;他们还使员工的计算机无法使用,并入侵了该组织的一些社交媒体账户。此外,组织的员工也成为了攻击者盗取个人信息的受害者。
内部威胁
一个组织不能假设攻击会来自外部威胁。虽然大多数协议和缓解措施的设计目的是保护组织免受外部威胁,但内部威胁可能比外部威胁更危险。组织不再能单单依赖外部安全措施,如防火墙、建筑物访问控制系统、入侵防御系统或入侵检测系统;他们还必须评估并监控内部的漏洞,以减轻来自内部的威胁。这并非易事;内部威胁者了解外部威胁者所不知道的安全协议、政策以及潜在的漏洞。
2016 年,几乎 1/3 的电子犯罪已知/疑似由内部威胁引起。内部人员造成的损害比外部攻击更为严重。没有任何行业能免受内部攻击者的侵害;如果你是美国联邦机构或防务承包商,政府要求你制定一个正式的内部威胁程序,这并不令人惊讶,因为过去十年内发生了近 100 起内部威胁事件。(我们并非在谈论间谍事件。)几乎 3/4 的内部攻击者仍在联邦机构中担任职务,而 1/3 则并非直接受雇,例如承包商或其他机构的员工。大多数联邦案件涉及欺诈行为,且由内部人员为谋取经济利益而实施。
谁通常会实施内部攻击?是新员工吗?是老员工吗?记住,为了使内部攻击有效,内部人员必须被信任。如果我们看一下联邦政府部门,几乎一半的内部人员在该组织工作超过五年,其中大多数人滥用其权限并伪造文件。
现在,在信息技术领域,内部攻击的特点略有不同。近 75%的攻击者是前员工,且在组织工作不到一年。此外,几乎 20%的人在离开组织时并未停用其账户。这意味着,即使他们已经离职,他们仍然可以使用自己的凭据访问机密信息。
作为调查员,这应该是一个警告,说明该组织的政策和程序存在问题,必须立即进行修正。
拥有一个程序,用于在员工离职前或辞职后不久停用其账户,将阻止 1/5 的已记录攻击。
调查内部威胁将是困难的。你正在处理那些在某种程度上已经获得组织信任的员工。调查员必须尽力弄清楚,内部人员在每天展现的形象背后究竟有什么样的心态。他们是机会主义者吗?他们是不满的员工吗?他们是想要报复高层管理者的人吗?这些都是你可能要应对的潜在攻击者。你希望在攻击发生前做好准备工作。
组织的各个部门——人力资源、法律和 IT——将参与规划任何潜在的响应措施,并且也是响应的一部分。响应小组将识别可能涉及内部威胁的人,包括以下人员:
-
高级管理人员
-
董事
-
有权限访问数据的员工
如果你必须在调查时确定任何潜在的数据来源,你将需要检查以下内容:
-
公司发放的笔记本电脑
-
公司发放的平板电脑
-
手机或移动设备
-
任何云账户访问权限
你必须将用户与其设备对访问关键数据的关联起来,团队还需事先确定哪些数据是关键数据。何时应启动内部威胁调查?通常,这会从法律部门或人力资源部门的通知开始。组织也可以实施一项政策,当员工离职时进行调查。
如果员工的职位使他们能够访问敏感或特权信息,那么应对其在组织内的活动进行审查。这可以从广泛的角度开始;你需要收集来自移动设备、笔记本电脑、台式机,甚至可能是云端的数据。然后,你需要筛选这些数据,以反映对关键数据的访问。
一旦员工辞职或组织决定解雇员工,数据收集过程应立即开始。数据收集过程应该在告知员工将被解雇之前就开始。我建议组织收集员工 30 至 90 天的活动数据。收集的数据越多,调查员对员工行为的了解就越充分。一些有助于判断员工是否窃取数据的证据可能包括:
-
USB 设备
-
云账户
-
通过社交媒体共享文件
-
刻录 CD/DVD
你还将分析围绕关键数据的活动。这应该是一个标准活动,以便了解什么是正常的。然后,你必须监控数据以获取正常基准,从而理解何时发生异常流量。例如,你可以监控关键数据的流量,突然间,访问该数据的频率激增。是攻击引发了这一激增,还是因为这是支付周期的结束,且会计人员按标准流程访问数据,属于正常现象?
另一个例子是数据是否在正常工作时间之外被访问。是否有合法的理由访问该数据?这些情况需要在调查开始之前确认。预先了解这些情况将帮助你过滤掉所有正常数据,仅关注那些超出常规的数据。
调查可能显示没有恶意意图,也可能表明存在恶意意图。无论结果如何,你都需要将调查结果报告给团队,以决定下一步的行动。这可能会导致对政策和程序的审查,以及实施新的控制措施以减少未来的攻击。
数字证据在刑事或民事诉讼中的有效性如何?在审判过程中,有许多变量需要考虑,从陪审团成员(如果有的话)到律师如何以最有利的方式呈现数字证据以帮助实现他们的目标。接着,你还需要考虑将会就数字证据作证的专家证人。
专家证人能够向非技术性观众解释高度技术性的主题,这一点将至关重要。
案例研究
以下案例研究是您可能会在行政或司法程序中看到的快照。请注意,在许多程序中,法院(或程序的官员)不会将数字证据透露给程序之外的任何人。可能的解释包括数字证据中可能包含违禁品,例如儿童剥削材料(CEM),也叫儿童性虐待材料(CSAM),或者它可能包含敏感信息,法院已决定将这些材料保密。
Dennis Rader
当我开始我的法医培训时,我了解到的第一个涉及数字证据的全国性案件就是绑架折磨杀人(BTK)连环杀手 Dennis Rader 的案件。
最初,作为一名青年,Rader 有关于女性的性幻想,认为她们是被困住且无助的。Rader 还表现出其他令人担忧的行为,例如杀害和折磨小动物,以及通过窥视女性邻居来展现偷窥癖。成年后,Rader 辍学并加入了美国空军,服役了四年。退役后,他搬到了堪萨斯州的威奇托地区。Rader 很快结婚,并最终与妻子育有两个孩子。
Rader 曾从事多种类型的工作,包括 ADT 的安全系统安装工、堪萨斯州 Park City 的动物合规官以及美国人口普查局的运营监督员。此外,Rader 还积极参与社区活动,担任过童子军领导,并当选为教会委员会主席。
Rader 的杀戮狂潮始于 1974 年 1 月,当时他杀害了 Otero 一家四口。此案在孩子们放学回家后被发现。1974 年 10 月,Rader 在一封手写信中详细描述了这些杀人事件,并将信件放在公共图书馆的一本工程书中。Rader 继续在 1974 年春季至 1977 年底之间进行杀戮,在这段时间里,他又杀害了三名女性。1978 年,电视台 KAKE 收到了 Rader 写的信,信中承认了 Otero 一家和三名女性(Kathryn Bright、Shirley Relford 和 Nancy Fox)的死亡责任。信中还包含了一些建议,提议新闻台可以使用的关于这些谋杀案的绰号。这就是 BTK 这一绰号的起源。电视台收到了第二封信,要求媒体给予更多的关注。Rader 在 1991 年 1 月杀害了他的最后一名受害者 Dolores Davis。
2004 年,雷德开始与当地媒体进行联系。大量信件和包裹被发送到电视台并放置在社区中。其中一些物品包括身份证件、对执法部门的威胁以及一些用塑料袋捆绑四肢并将头部包住的娃娃。雷德留下的一件物品是一盒麦片,他把它放在一辆停在家得宝商店停车场的皮卡车床上。当雷德向执法部门询问这盒麦片时,他意识到他们并没有找到这盒麦片。皮卡车的车主把麦片盒丢进了垃圾桶。当执法人员来到停车场时,他们成功找回了麦片盒,里面包含了雷德在与执法部门的通信中提出的问题。雷德问如果他将自己的写作存储在软盘上,执法部门是否能够追踪它的来源。雷德告诉执法部门,通过在当地报纸上发布“Rex,一切都会没事的”来回应。执法人员找到了一段监控录像,显示一名不明身份的男子驾驶一辆黑色吉普大切诺基停在皮卡车附近,然后走到车周围。
2005 年 2 月,一家电视台 KSAS 收到了一个包裹,里面包含一张 Memorex 软盘、一封信、一条项链以及一本书《猎物的规则》的封面复印件。
当调查人员对这张软盘进行法医检查时,他们恢复了一个之前被删除的 Microsoft Word 文档。嵌入的元数据包含了注册该版本 Microsoft Word 的组织信息;在这种情况下,检查人员发现嵌入的元数据中组织名称为“基督路德教会”。元数据还包含了最后修改该文档的用户信息,标识为“Dennis”。通过互联网搜索,Dennis Rader 被确定为基督路德教会的教会理事会主席。
通过实地监视,执法部门发现雷德拥有一辆黑色吉普大切诺基。执法人员获得了搜查令,从雷德女儿的宫颈涂片中提取了 DNA 样本,并与受害者的 DNA 进行了对比。测试结果显示,两个样本之间存在亲缘关系。雷德随后被逮捕、审判并定罪。雷德被判处连续十个终身监禁。
丝绸之路
丝绸之路是第一个在暗网托管的在线黑市。为了访问这个市场,用户需要使用 Tor 浏览器,这样可以匿名访问供应商,避免流量被第三方监控。丝绸之路的创始人以化名“恐怖海盗罗伯茨”闻名,后来被确定为罗伯特·乌尔布里希特。
2011 年 2 月,乌尔布里希特创建了丝绸之路,取名源自印度、中国与欧洲之间的历史贸易路线,并结合 Tor 网络与比特币加密货币实现匿名交易,供匿名用户使用。
丝绸之路的成功促使了 Adrian Chen 撰写的文章《你可以购买任何你能想象到的毒品的地下网站》,该文章发布在 Gawker 网站上。随着公众的关注,执法部门和联邦政府也开始注意到。首先,多个不同的机构开始了调查,联邦调查局(FBI)对 Tor 网络进行了深入的审查,以识别潜在的漏洞。接下来,国税局(IRS)开始追踪资金,了解匿名用户如何购买丝绸之路上提供的服务。最后,毒品执法局(DEA)和国土安全部(DHS)将其精力集中在拦截非法毒品运输包裹上。
美国国税局(IRS)深入研究了丝绸之路的起源。调查人员开始研究互联网流量,例如发帖到留言板、新闻组和讨论论坛,寻找可能在丝绸之路公开时用户或管理员发布的信息。他们成功挖掘到一个名为“Altoid”的用户在讨论论坛上关于丝绸之路的帖子。随着调查人员追踪 Altoid 的历史,他们发现了一个与 Google Plus 账户相关的帖子,进一步追溯到罗伯特·乌尔布里希特。不幸的是,没有证据表明乌尔布里希特与丝绸之路有任何联系,甚至没有证据表明乌尔布里希特有计算机系统或网络背景。
2013 年 7 月,国土安全调查局(HSI)截获了一份包含伪造身份证件的包裹,包裹上有乌尔布里希特的照片。该包裹原本打算送到乌尔布里希特位于加利福尼亚州旧金山的地址。HSI 探员继续调查这起伪造身份证的案件,并与乌尔布里希特进行了交谈。那时,探员们还没有意识到丝绸之路调查与乌尔布里希特之间的联系。
联邦调查局(FBI)继续努力识别任何可能的漏洞,以便进一步调查,识别丝绸之路的运营者和用户。探员们成功找到了一个因编码错误暴露的 IP 地址,该地址指向冰岛境内的地理位置。冰岛政府同意与 FBI 合作,并创建了服务器的克隆备份,但不幸的是,服务器内容被加密。最终,FBI 破解了加密,服务器的内容可以进行检查。凭借这些信息,FBI 创建了丝绸之路服务器的镜像,识别出了员工信息、账目信息以及用户之间的聊天记录。
一次聊天记录中提到用户“海盗罗伯茨”。聊天内容显示,海盗罗伯茨同意支付一笔费用,以谋杀一位对手。其他聊天记录表明,海盗罗伯茨经常与他人合作,支付他们杀死那些被认为对海盗罗伯茨构成威胁的人。
最终,在 2013 年 7 月,调查丝绸之路网站的不同机构坐下来共享信息。当美国国税局提到罗伯特·乌尔布里希特的名字时,四个机构能够进行彻底的背景调查。背景调查显示,乌尔布里希特曾前往多米尼加,这是许多希望隐藏其从美国政府获得的货币收益的人的目的地。他们还找到了乌尔布里希特使用的一个电子邮件地址,这个地址也与服务器上的一个用户账户相匹配。
FBI 随后开始对乌尔布里希特进行实地监视,并能够将海盗罗伯茨的活动与乌尔布里希特的活动相匹配。在 2013 年 10 月,他们决定是时候逮捕乌尔布里希特了。
当时有担忧认为,乌尔布里希特在被捕之前可能会销毁数字证据。FBI 等到乌尔布里希特前往公共图书馆并打开他的电脑时才行动。丝绸之路网站曾聘请了一名 FBI 卧底作为新员工,并向海盗罗伯茨发送了一条信息,要求检查一个管理员账户的帖子,这个帖子被标记了。当卧底看到乌尔布里希特操作电脑时,他们制造了一个干扰。一个男性和一个女性卧底开始发生口角并且逐渐升级为肢体冲突。当乌尔布里希特分心时,一名卧底接近并拿走了他打开的笔记本电脑,立刻交给了另一名卧底。接着他们没有进一步发生冲突地将乌尔布里希特带走。当调查员检查电脑时,发现硬盘加密已经启动。当卧底完成电脑检查后,调查员发现了近 15 万个比特币、丝绸之路网站的账户信息、所有丝绸之路服务器的列表,以及乌尔布里希特记录的日记条目,内容涉及丝绸之路的创建和运营细节。
FBI 随后关闭了丝绸之路网站,乌尔布里希特被审判并定罪。
圣贝纳迪诺恐怖袭击
恐怖分子于 2015 年 12 月 2 日在加利福尼亚州圣贝纳迪诺发起了协调一致的袭击。袭击使用了半自动步枪和爆炸物。此次袭击的目标是公共卫生部门举办的一个培训活动和圣诞派对,袭击者为赛义德·法鲁克和塔什芬·马利克。法鲁克和马利克为夫妻,居住在加州雷德兰兹。袭击造成 14 人死亡,22 人重伤。法鲁克出生在美国,是公共卫生部门的员工。马利克出生在巴基斯坦,是美国的合法居民。
调查将法鲁克和马利克定性为“本土暴力极端分子”。他们并不是任何恐怖组织或恐怖网络的成员。据信法鲁克和马利克在袭击发生前已被激进化,在事件发生之前,他们曾在私下对话中表达了对圣战主义和殉道的忠诚。法鲁克和马利克在他们的住所积累了武器、弹药和制造炸弹的材料。
2016 年 2 月 9 日,FBI 的报告称他们无法解锁法鲁克使用的 iPhone 5C,这部手机属于县政府并作为其工作的一部分发给了法鲁克。国家安全局(NSA)被要求破解该手机,但未能成功。FBI 随后要求苹果开发一个基于 RAM 的操作系统以绕过 iPhone 的安全保护。苹果拒绝了这一请求,因为他们的政策是绝不破坏软件的安全性。苹果的回应促使 FBI 请求美国地方法官发布法院命令,要求苹果开发并向 FBI 提供该软件。地方法官批准了这一请求。
苹果认为构建这种类型的后门是对其用户的重大安全隐患,并对此判决提出了挑战。
美国司法部(DOJ)在苹果拒绝配合后,要求法院强制苹果遵守法院命令。司法部通知法院,联邦调查局(FBI)将部署该软件,并允许苹果通过远程连接在手机上移除该软件。
苹果报告称,他们向 FBI 提出了其他访问 iPhone 存储数据的方案。然而,FBI 的行动由于操作失误,已经排除了其中一个较为有希望的方法。当 FBI 找回嫌疑人的手机时,他们要求圣贝纳迪诺县重设该用户的 iCloud 账户密码。这将允许他们访问存储在 iCloud 备份中的数据。然而,当县政府重设密码时,除非用户在手机上输入密码,否则无法将手机备份到 iCloud。
3 月 28 日,司法部撤回了对苹果的诉讼,称他们已经解锁了 iPhone。关于如何获得手机数据的访问权限,报道了几种情况:以色列公司 Cellebrite 同意协助 FBI,或者 FBI 支付威胁行为者利用 iOS 中的零日漏洞。
苹果拒绝遵守法院命令引发了公众的混合反应。CBS 的民调显示,50%的人支持 FBI,45%的人支持苹果。
知识产权盗窃
你可能遇到的不仅仅是刑事案件,民事案件也需要法医调查员。以下案例来自 Cyber Diligence, Inc.公司。
该公司受聘协助一位世界著名科学家的法律团队,这位科学家被指控从前雇主那里窃取知识产权,并且此案件已提交到联邦法院。这起案件涉及大量与计算机取证相关的发现过程。人们担心前雇主滥用法律程序,阻止客户与另一家雇主合作。前雇主与客户之间没有签署不竞争协议。前雇主希望获得禁令,因为他们认为客户窃取了知识产权。客户的律师事务所提供了所有法院文件和发现材料的副本,包括证词记录和专家陈述。对这些文件的审查表明,在提起诉讼之前,前雇主并未怀疑知识产权被盗。
在联邦法院提起诉讼之前,前雇主没有对客户使用的工作站进行取证分析。取证专家的陈述中包含了不准确的信息,例如客户从雇主处删除了电子邮件,因为 OST 文件的修改日期时间戳显示该文件是在客户离开公司前一天被修改的。
OST 文件(.ost
)用于 Microsoft Outlook。此文件允许用户在离线状态下工作。当用户恢复连接时,他们可以与 Exchange 服务器同步任何更改。
相关专家声明称,这证明了客户提取了属于该组织的电子邮件。专家无法想到除非法目的外,用户创建 OST 文件的有效理由。Outlook 在客户端连接到 Exchange 服务器时会创建 OST 文件。这是一个自动化过程,而非由用户启动。修改的时间戳指示了 OST 文件内容发生变化的时间,例如接收和发送电子邮件。为了了解前雇主的网络配置,进行了与客户的访谈。与客户的法律团队进行的咨询帮助制定了应对专家陈述的计划,这些陈述延长了问题的处理时间并消耗了客户的财务资源。
客户的法律团队请求将数字证据交给取证团队进行检查。取证团队进行了分析,为了准备质询对方的取证专家。还注意到,前雇主的法律团队提交了专家的声明,这些声明缺乏专家的数字或物理签名。当对客户使用的工作站的取证镜像进行检查并与专家六份声明中呈现的“事实”进行对比时,他们发现这些发现并不准确。下一步是面谈辩方专家,但这比预想的要困难得多。最终,审理此案的联邦法官命令前雇主出示专家,并确保专家可供客户的法律团队使用。
他们的专家表示,他并没有得出报告中所见的结论,也不是他所创建的报告。前雇主法律团队提交的专家报告是伪造的。地区法官基于简易判决驳回了此案,并命令前雇主支付客户的律师费。
总结
在本章中,你已经了解了在数字取证检查过程中可能遇到的不同类型的问题。你学会了数字世界与物理世界如何互动,以及如何利用数字世界来帮助证明或反驳指控。你还了解了不同的程序以及在调查不当行为时如何收集和管理证据。
在下一章中,我们将讨论取证分析过程,以最大化你调查的效率。
问题
-
点对点文件共享仅用于共享非法文件。
-
正确
-
错误
-
-
第一响应者识别了什么?
-
潜在受害者
-
证人
-
主题
-
以上所有
-
-
在每种类型的调查中,你都可能会发现数字证据。
-
正确
-
错误
-
-
美国宪法的哪项修正案保护公民免受非法搜查和扣押?
-
首先
-
其次
-
第三
-
第四
-
-
什么是“二进制”?
-
一颗星
-
一份附加文件
-
一篇 USENET 帖子
-
一个网页浏览工具
-
-
在美国,获取订阅者信息需要什么?
-
一份搜查令
-
传票
-
同意
-
黑客攻击
-
-
犯罪分子利用社交媒体进行非法活动。
-
正确
-
错误
-
答案可以在本书后面的评估部分找到。
进一步阅读
John Vacca 和 Michael Erbschloe. 计算机取证:计算机犯罪现场调查. Charles River Media, 2002 (可在www.amazon.com/Computer-Forensics-Investigation-CD-ROM-Networking/dp/1584500182
查看)
加入我们在 Discord 上的社区
加入我们社区的 Discord 空间,与作者和其他读者讨论:
第二章:法医分析过程
现在我们将讨论法医分析过程。作为法医调查员,你需要制定一项战略,以便高效地进行调查。你还需要确保熟悉你的工具及其提供的结果。没有流程,你会浪费时间检查那些对调查没有影响的数据,并且无法依赖你的工具。此外,你还需要确保使用的工具能提供有效的结果。最后,为了做到全面和高效,你必须运用批判性思维来确定最佳的调查或检查方法。
尽管每项调查都有相似之处,但你会发现一些差异,这些差异要求你制定一个检查策略以提高效率。我个人不喜欢保留一个检查清单,因为有些领域并不相关,例如不同的操作系统、网络的物理拓扑、犯罪分子和嫌疑人等。这些变量确保了没有两项调查或检查是完全相同的,并要求调查员为每项调查制定不同的策略。
法医分析过程由五个子集组成:
-
预调查注意事项
-
理解案件信息和法律问题
-
理解数据采集
-
理解分析过程
-
报告你的发现
接下来的部分将详细讨论这些内容。
预调查注意事项
预调查是你确定进行法医检查所需的能力和设备规格的阶段,无论是在现场还是实验室环境中。此时需要确定你的硬件、人员和培训预算。部分成本不是一次性支出,而是持续的预算开销。设备必须更新,人员培训需要保持,随着新技术的出现,还需要购买新的技术。
成为一名数字法医调查员,不仅仅是购买设备、参加培训课程,并且之后再也不更新这些东西。随着技术的变化,隐藏数据或进行犯罪活动的方法也在变化,因此调查员必须随时准备适应这些变化。
在准备开始调查之前,你必须先做好准备工作。这将提高效率,并带来更好的工作成果。这包括准备设备,并熟悉当前的法律和法律裁决,以及组织的政策和程序。
一些设备可以重复使用,另一些则不能。对于一次性物品,确保在事件结束后有人及时更换它们。
注意
我无法告诉你我有多少次带着我的“随身”工具包赶到现场,结果发现另一位侦探已经使用过它并且没有更换消耗品。那是我没有在出发前检查它的错误,也应该是我的搭档没有更换物品的错误。
接下来我们将讨论你作为调查员将使用的设备。
法医工作站
每当你把法医调查员聚集在一起时,一个常见的话题是法医工作站。多少随机存取内存 (RAM)? 多少固态硬盘 (SSD)? 使用哪个中央处理单元 (CPU)? 哪种操作系统 (OS)? 这些都是你可能会常常听到的问题。关于法医工作站的配置,总会有不同的看法。没有任何一种观点是错误的,因为调查员的工作站配置取决于他们的预算以及正在调查的案件。
法医工作站不便宜。根据调查员的技能水平,他们可以自己组装工作站,或者购买一台预制的法医工作站。多家供应商会根据你的规格配置工作站。例如,可以考虑供应商 SUMURI(sumuri.com
)及其 TALINO 工作站。基础型号的价格大约为 8,000 美元,配置如下:
-
英特尔 Core i9-10900X 3.7 GHz 10 核 LGA 2066 处理器
-
32GB DDR4 2666 MHz RAM
-
500GB M.2 NVMe SSD
这是一台基础法医工作站,你仍然需要为法医图像添加存储。高端版本的价格超过 18,000 美元,配置如下:
-
双英特尔 Xeon Gold 5220 18 核处理器
-
128GB DDR4 RAM
-
1TB SSD 用于操作系统
-
1TB M.2 NVMe SSD 用于临时文件和处理
-
2TB M.2 NVMe SSD 用于数据库
-
八块 6TB 硬盘配置为 RAID 10,用于证据存储
-
一款 30 系列 GDDR6 图形处理单元 (GPU),例如 NVIDIA RTX 3070 或 3080
法医调查员在使用法医工作站时可能会遇到的一个瓶颈是数据传输。我建议使用 SSD,因为它们的传输速度远高于典型的机械硬盘。高速的 CPU 和大量的 RAM 能够为法医分析提供最佳性能。然而,这些机器不便于携带,且你并不总能在工作站的相对舒适环境中进行分析或获取数据。法医笔记本电脑也是一项昂贵的设备。打印时,TALINO OMEGA 配备了:
-
英特尔 Core i9-11900K 处理器
-
64GB DDR4 2933 MHz RAM
-
500GB M.2 NVMe SSD 用于操作系统
-
250GB M.2 NVMe SSD 用于临时文件和处理
-
1TB M.2 NVMe SSD 用于数据库
-
2TB M.2 NVMe SSD 用于证据文件
-
NVIDIA GeForce RTX 3080 GPU,配备 16GB GDDR6 视频内存
注意
你需要在两台工作站上都包含千兆以太网接口,以便在局域网上进行通信。
如你所见,数字取证工作站永远不可能有过多的 CPU、RAM 或存储空间。我描述的设备属于高端设备;你也可以使用较便宜的设备进行数字取证检查,并且依然能达到相同的结果。此外,更高端的设备将减少所需的时间。如果你是跨国公司或大型执法机构的成员,你可能有预算购买高端设备。较小的执法机构、小型组织或单独执业的人员则需要根据自己的情况确定更合适的成本。
有时你必须离开实验室,这意味着你需要额外的便携设备。我们现在来讨论一下你反应包中所需的设备。
反应包
数字证据并不总是直接送到你的工作空间。有时,你可能需要前往第三方地点去获取这些证据。收集证据是你进行任何数字取证检查的基本构建块。就像在你的工作空间进行检查一样,你需要合适的工具和辅助设备来完成这项任务。你需要准备一个反应包,其中应包括文书材料、笔和存储容器来存放数字证据。
反应包是每个数字取证调查员独特的。没有哪个包是完美的;所有的包都始终可以改进。你反应包的目标是让你拥有收集数字证据所需的所有物品,我们将讨论一些在我经验中有帮助的设备:
-
数码相机:能够进行静态和视频录制。你需要记录到达现场时的情况。如果你在正式的诉讼程序中作证,你将向法庭展示你到达时所看到的事实。一些组织还会录制数字取证调查员在收集数字证据时的所有活动。
注意
一点建议:我会禁用麦克风,以避免录制音频。你可能会就如何继续进行讨论使用一些可能被视为不太专业的语言。这些讨论和语言使用可能会成为对方在呈递证据时的干扰。
-
乳胶或丁腈手套:这些手套保护了证据收集的多个方面——你不会留下指纹,并且还能保护自己免受现场可能存在的生物危害。我指的是血液、尿液、粪便和你能想到的任何其他生物液体。
-
记事本:你需要记录现场的操作。记事本是保存这些信息的完美工具。你可以记下你与谁交谈,谁确保了现场的安全,以及案件的基本事实。当你开始调查时,大量信息会涌向你,如果没有记录,可能很容易忘记某个具体的操作。一些组织还会手写草图,标明数字证据的收集位置。你所在组织的政策和程序将决定是否需要草图。
-
组织文件:这可能是用于扣押证据的财产报告,其中列出了所扣押物品的具体信息,包括物品的来源、物品上的特定标识或序列号。你还可以附上标签或标识来识别含有数字证据的物品。
-
纸质存储袋/抗静电袋:你必须将数字证据的容器存放在某个地方,以防止未经授权的访问。数字证据非常脆弱,你要确保存储方式不会产生静电。静电可能使存储介质无法使用,从而导致无法访问任何数据。
-
存储介质:硬盘可以是传统的旋转磁盘或固态硬盘(SSD)和 USB 设备。企业数字取证调查员通常不会关闭服务器来创建取证镜像,而是会以日志文件、RAM 或用户目录等形式收集特定数据集,并将它们存储在适当大小的存储介质上。
-
写保护设备:这可以是硬件设备,例如 Tableau TK8u USB 3.0 取证桥(
security.opentext.com/tableau/hardware/details/t8u
),它允许你访问存储设备而不改变其内容。我们将在第三章,证据采集中详细讨论证据采集。此外,你还可以使用取证启动盘,如 SUMURI 的 PALADIN,这是基于 Ubuntu 的 Linux 发行版,允许以取证可靠的方式收集数字证据。SUMURI 提供 PALADIN 的免费版本下载,网址为sumuri.com/software/paladin
。 -
频率屏蔽材料:这可能包括商业铝箔、法拉第袋或任何能屏蔽无线电传输的容器。当你扣押移动设备时,将使用这些材料,以防止用户远程清除或重置设备。然而,请注意,将设备放入这些容器后,电池会迅速耗尽,因为设备会尝试重新连接网络。如果你能访问移动设备的菜单,可以将设备切换到飞行模式。这样,设备将不再尝试连接到网络。确保记录你对设备所做的任何更改。
-
工具包:一个小型精密工具包,配有多种螺丝刀头,用于拆解笔记本电脑、台式机或移动设备,以访问数字存储介质。你需要确保拥有多种螺丝刀头,以适应不同制造商使用的螺丝。有时,制造商会使用两种或三种不同类型的螺丝头来组装他们的设备。
-
杂项物品:这可以包括额外的电源线、数据线、USB 集线器、螺丝或任何在深夜到达目标地点时可能难以获得的物品,那时你可能无法去商店购买缺失的物品。如果你正在响应商业现场,建议带一个备用鼠标和键盘,以防需要访问服务器时这些设备不可用。(如果你进行的是基于网络的调查,你可能还想带上一个网络探测器。)这个子集包含了那些你认为不需要的物品,直到你到现场才发现它们非常重要。
-
法医笔记本电脑:确保你的所有软件都是最新的。我建议创建一个文件夹,包含你将使用的任何表格的数字版本、你需要记录的任何流程,以及你认为对完成任务有帮助的任何应用程序。
-
加密:如果你要出国前往目标地点,可能需要加密包含所需分析数据的目标驱动器。安全服务或海关没收设备的情况并不罕见。这将确保你所获取的数据不会被泄露。
-
软件安全密钥:这也被称为加密狗。你会发现有些商业软件要求插入基于 USB 的安全密钥才能使用。你需要确保随身携带这些密钥,因为没有安全密钥,软件是无法使用的。
注意
一个叫做 VirtualHere 的程序(virtualhere.com/home
)允许你远程使用 USB 设备。你在目的地和家中插入 USB 密钥的地方都需要网络连接。如果你不确定网络连接的质量,建议你将密钥随身携带。
现在,关键问题是:你如何将这些物品从一个地点搬运到另一个地点?
我的推荐是选择一个类似 Pelican 的防水防压箱,以保护设备。如果你必须乘坐美国的商业航班,还需要包含一个符合 TSA 要求的锁具。
我们刚才讨论的物品清单仅为建议。你可以根据手头任务的需求对这个清单进行添加或删减。没有绝对正确或错误的答案来配置你的响应工具包。预算、组织结构和当前任务将决定所需的设备。
政府/执法机关的数字取证调查员可能会在现场获取完整的取证镜像,因此他们需要更大的存储设备。随着经验的积累,你将能够准确判断在执行任务时所需的设备。
结果是,当你离开办公室去获取数字数据或应对任何事件时,你需要一个响应工具包。如何装备这个工具包完全取决于你,作为取证调查员。关键在于让你的工作更加轻松高效。
上面已经介绍了一些所需的硬件和物理设备。接下来我们将讨论软件部分。
取证软件
这是你将用来分析数据的软件。你可以选择使用为取证过程设计的商业软件或开源工具。你需要确保在工作环境中使用的是完全授权的软件。
没有什么比组织使用盗版软件进行调查,更让人尴尬的了,而且这种事实如果在行政或司法程序中曝光,将会对你的声誉造成严重打击。如果你使用盗版软件进行调查,不仅会质疑你的诚信和道德,还会质疑你的调查结果以及取证工具提供的结果。我必须强调:你必须在取证过程中使用完全授权的软件。那么,开源工具和商业工具之间有什么区别呢?
供应商通常会将开源软件免费提供给任何人使用。通常,开源软件的使用没有任何限制;你可以用于教育、盈利或测试目的。积极的一面是,在大多数情况下,它是免费的。负面的一面是,如果出现问题,你几乎得不到技术支持。完全取决于你的技能水平和使用这些工具时的舒适度。此外,许多开源工具采用命令行界面(CLI),而非图形用户界面(GUI),这可能会让新用户感到害怕。
商业工具通常会提供更好的客户支持、文档和及时的更新。缺点是,你需要为这些服务付费。实际上,大多数情况下,任何商业取证工具能够做到的事情,开源工具也能做到。商业工具可能会执行多种功能,而在开源框架中,你可能需要使用不同的开源工具来完成相同的任务。
两种选择都没有错。作为数字取证调查员,你必须了解数据的来源,并确保工具能够准确地反映数据。不论该工具是开源还是商业版,都必须验证工具提供的结果。我们将在本章稍后讨论验证的内容。
我经常收到关于某个特定软件是否被法院认可的问题。取证软件并不是法院认可的,但你需要在行政/司法过程中解释你使用的工具是否能产生可靠的结果,并且这些结果是否被取证界所接受。
在美国,这被称为达伯特标准,来源于最高法院案件达伯特诉美瑞尔·道药品公司 509 U.S. 579 (1993)。该标准用于确定专家证人的证词是否基于科学有效的推理,并且是否可以适当地应用于案件事实。法院考虑的因素如下:
-
该理论或技术是否可以或已经经过测试
-
是否已经经过同行评审并发表
-
已知或潜在的错误率
-
标准的存在与维护
-
它在科学界的接受程度
最初,法院仅使用科学证据的标准。这一点在库姆霍轮胎公司诉卡迈克尔案 526 U.S. 137 (1999) 中发生了变化;最高法院澄清了达伯特裁决中使用的因素也可以适用于非科学证词,即工程师和其他非科学家的专家证词。因此,正如你所看到的,关键不在于使用的软件,而在于数字取证调查员的专业知识。商业取证工具简化了过程,有时还具有查找证据按钮。然而,作为数字取证调查员,你仍然需要知道取证工具是从文件系统中的哪里提取的证据。(你所在的地区可能有不同的看法。)
国家标准与技术研究院(NIST)资助了计算机取证工具测试项目(CFTT)(www.nist.gov/itl/ssd/software-quality-group/computer-forensics-tool-testing-program-cftt
),该项目通过制定通用工具规范、测试程序、测试标准、测试集和测试硬件,建立了计算机取证软件工具的测试方法。该项目在其网站上提供了用于测试取证工具结果的来源。他们还提供了一些测试媒体,供你验证取证软件时使用。将取证工具的结果进行验证,至少每年一次或每次工具更新时进行验证,是你的最佳实践之一。无论你是政府还是私营部门的数字取证调查员:你需要对你的工具有信心,并能够证明你已经测试并验证了这个过程。
2011 年,在凯西·安东尼(Casey Anthony)一案的审判中,这一验证过程受到质疑。凯西·安东尼面临以下指控:一等谋杀、严重虐待儿童、过失杀人及四项向警方提供虚假信息的指控,警方正在调查她孩子的死亡。在审判过程中,检方提出了一个重大主张,称有人在安东尼的电脑上搜索了“氯仿”一词 84 次。然而,在审判进行时,发现数字取证调查员使用的取证工具错误解读了互联网历史数据库中的数据。用户实际上只访问了该网站一次,而不是报告中的 84 次。该取证工具的软件设计师在审判进行期间意识到了这一错误,并通知了审判团队。我的建议是,你应该使用多个取证工具来验证你的发现。例如,你可以使用两个商业取证工具,或者一个商业工具和一个开源工具,或者两个开源工具,但你需要验证你的发现。
一些开源取证工具包括以下内容:
-
Autopsy: Autopsy 是一套完整的取证工具,允许你进行全面的取证检查。它是免费的,可以在
www.autopsy.com
找到。 -
SIFT Workstation: SIFT 是一款虚拟机,使用 Ubuntu 操作系统并预装多个取证工具。它是免费的,可以在
digital-forensics.sans.org/community/downloads
找到。 -
PALADIN Forensic Suite: PALADIN 是基于 Ubuntu 的实时 Linux 发行版,并在名为 PALADIN 工具箱的用户界面中实现了多个开源取证工具。它是免费的,可以在
sumuri.com/software/paladin/
找到。 -
CAINE: 计算机辅助调查环境(CAINE)是一个数字取证项目,提供图形用户界面和多个开源取证工具,且免费提供。你可以在
www.caine-live.net/
找到它。
这些只是一些开源取证工具套件,可能还有其他我没有提到的工具,或者你可能希望使用单一用途的工具。只要你能够找到揭示调查事项真相的证据,使用什么工具并不重要。关键是利用你的培训和经验来解释证据的相关性,并阐明你是如何判断工具提供可靠结果的。
这里有一些适用于基于 Windows 的用户的商业取证工具:
-
X-Ways Forensics:
www.x-ways.net/
-
Forensic Toolkit(FTK):
accessdata.com/products-services/forensic-toolkit-ftk
-
Forensic Explorer(FEX):
www.forensicexplorer.com/
-
Belkasoft Evidence Center:
belkasoft.com/ec
以下是一些基于 Macintosh 的工具:
-
Cellebrite Inspector:
cellebrite.com/en/inspector/
-
RECON LAB:
sumuri.com/software/recon-lab/
-
RECON ITR:
sumuri.com/software/recon-itr/
一款基于 Linux 的工具是SMART:www.asrdata.com/forensic-software/smart-for-linux/
这只是一些可供使用的商业取证工具的示例。每个工具都有其优缺点,同行们可以在这些问题上进行无休止的讨论。
目前,我更倾向于将 X-Ways 作为我的主要工具,并通过 FEX 和 Belkasoft Evidence Center 进行补充。
你可以拥有所有工具、软件和硬件,但如果没有培训,你能有多有效?接下来是一些你可以考虑的培训选项。
取证调查员培训
如果你走上了数字取证的职业道路,你将需要不断提升自己的技能和培训,这应该视为一项持续的开支。仅仅通过一个 40 小时的课程,并不能自动使某人成为一名数字取证调查员。相反,他们只是踏上了这条职业道路的第一步,但他们仍然需要继续参加培训课程,并与其他志同道合的同行交流。
认证并不意味着用户一定知道自己在做什么。相反,认证表明用户达到了获得该认证的最低标准。有很多认证可供选择,其中一些比其他的更有价值。在加入某个组织并参与其认证过程之前,你必须做好尽职调查,了解认证的费用、可用性以及该认证在取证社区中的接受度。大多数认证机构都会要求每年缴纳会费,并有年度培训要求,以便重新认证。某些工具和供应商特定的认证会测试你使用供应商取证工具的能力,以及对数字取证基本知识的理解。另一类是工具无关的认证,你可以使用任何工具来完成认证过程。
以下是一些可用认证的列表:
-
Certified Forensic Computer Examiner (CFCE)(工具无关):
www.iacis.com/
-
EnCase 认证检查员(EnCE)(工具特定):
www.Opentext.com/products-and-solutions/services/training-and-learning-services/encase-training/certifications
-
ACE(工具特定):
training.accessdata.com/exams
-
计算机黑客取证调查员(CHFI)(工具无关):
www.eccouncil.org/programs/computer-hacking-forensic-investigator-chfi/
-
全球信息保障认证(GIAC)(工具无关):
www.giac.org/certifications
-
认证取证 Mac 检查员(CFME)(工具无关):
sumuri.com/mac-training/
现在我们已经探讨了设备和培训选项,接下来你还需要通过了解与调查相关的法律和案件信息来做好准备。所以,我们接下来将讨论法律问题。
理解案件信息和法律问题
让我们来讨论案件信息和法律问题。在你启动工作站查看数字证据之前,必须获取这些信息。你需要从请求你服务的人员那里收集信息。你最好问以下问题:
-
这次调查的性质是什么?例如,它是一起毒品案件、凶杀案件还是员工不当行为?在你听取这些信息时,你需要制定出如何继续进行的计划。
-
你预计在现场能找到哪些数字证据?我曾经遇到过这样的情况,调查员只在寻找一台笔记本电脑,但当我们到达现场时,发现了多台笔记本、多台桌面电脑以及许多移动设备。请记住,你获得的信息可能并不总是准确的,因此你还需要做好准备应对这种可能性。
-
法律依据是什么?对于执法机构——搜索的理由是什么?同意吗?搜查令吗?无论是书面同意还是书面搜查令:你都需要阅读搜查令和同意书,以了解搜查所施加的限制。这些限制可能是现场的物理限制,也可能是你在数字设备上可以搜索的内容的数字限制。
-
作为一名政府和企业的数字取证调查员,我曾多次受到限制,无法在数字设备上搜索或查看某些内容。要了解这些限制;如果你发现与调查权限范围无关的相关证据,它们不能在案件中使用,如果使用它们,你可能会面临处罚。
-
涉事者和嫌疑人是谁,他们在调查中扮演什么角色?现在,根据你的角色,你可能会或可能不会与相关的涉事者和嫌疑人接触。然而,如果你有这个能力,试着与他们交谈。如果你能与他们进行文明对话,你可能会获得关于数字容器和数据的额外信息。
如果你在想,“我们已经从第一批回应者那里收集了信息,也已经收集了涉及的其他主题的信息;现在我们可以直接开始收集证据!”——嗯,还没有。你需要确保犯罪现场已经得到了充分的记录和保护。对于执法部门来说,这包括清除现场的多余人员、限制访问权限,并允许某人记录现场情况。
最简单的方法是拍摄一切。他们可能会要求你在 12 个月、18 个月、24 个月甚至更久后出庭作证。律师可能会问你某个特定物品的位置,除非你有现场的照片(或草图),否则你可能无法回答这个问题。
对于公司调查——例如,在一个机密地点发现了隐藏摄像头——你该怎么办?发现者的行为可能会妨碍你的调查。例如,我曾调查过一个位于男女共用洗手间的隐藏摄像头。一位洗手间用户发现摄像头时,固定它的胶带松脱,摄像头掉到了地上。该用户将摄像头交给了他们的上司。上司打开摄像头并取出了数字存储卡。然后,他们将存储卡插入读卡器并接入电脑。在与我联系之前,至少有五个人接触了摄像头和 SD 卡,并将其插入了多个电脑系统。每次插入 SD 卡,他们都会更改证据。当你访问 SD 卡上的数据时,你会更改所访问文件的日期和时间戳。一个组织必须培训其成员在发生事件时不要查看数字证据,并应该联系专业人员。这将确保证据在保持其原始状态的情况下,可以在司法或行政程序中呈现。
这个案件需要采访所有涉事人员,处理数字摄像机和 SD 卡,并检查五个工作站。由于这是一个公司环境,且最初执法部门不会介入,我拍摄了工作站和连接的照片,以识别特定的工作站及其用户。记住,我们处在一个公司环境中,随处可见相同型号的多版本计算机。
有时你会在别人收集数字证据后才接手。你仍然必须提出问题,而你答案的来源可能仅限于调查报告。你将希望知道以下内容:
-
为什么会没收这个物品?
-
它是否包含犯罪活动的证据或被认为是有利于被告的证据?
-
这个物品是否有完整的物证链?
-
有多少人曾接触过它?
-
这个物品是在哪里找到的?
-
它是在受保护的地点还是现场的公共区域找到的?
-
是否有日期和时间的参考信息?
-
调查应该集中在哪些方面?
-
调查员何时需要数字取证检查的结果?
在你开始证据收集过程之前,需要查看相关文档。当调查员将包含数字证据的容器(如计算机)交给你时,你需要确保搜索令状授权了扣押这些物品。曾经发生过一些案件,尽管包含数字证据的设备已被扣押,但在使用这些数字证据方面存在灰色地带。
搜索令状将对你的搜索活动做出限制。例如,如果是调查非法图像,你可能只能查看图像。你有责任阅读所有的司法文书,理解它们授权的内容和不授权的内容。只有这样,你才能制定计划,确保你的行动在规定范围内。
你还需要预见到在进行数字取证检查时可能遇到的问题。例如,是否有某些调查方面是你培训和经验不足的领域?这并不是什么可耻的事情,但应该被承认,这样你可以寻求帮助以提升你的培训和经验。你有哪些资源可以帮助你?
一旦法律准备工作完成,我们就可以进入下一部分的流程。现在,你必须以法医合理的方式获取数据。
理解数据获取
那么,让我们回顾一下:你已经接受了数字取证调查员的培训,并可能已经获得了认证。你已经搭建或购买了数字取证工作站和取证笔记本电脑,并且创建了应急工具包。你已抵达现场并确保现场已被妥善保护。你已经验证没有人更改现场,并且通过拍照记录了现场。现在,是时候处理现场并收集数字证据了。接下来,我们将讨论数据的获取,也就是证据的获取。
在多种情况下,可能有人要求你为数字取证调查获取数据。例如,作为一名执法人员,你可能会到现场,识别潜在的数字取证证据来源,然后扣押这些物品。作为一名私营部门或公司调查员,你可能会被要求获取员工的工作站,或响应服务器机房(无论是通过物理访问还是远程访问)来收集你需要分析的数据。我们将在下一部分讨论的程序可以在每个环境中使用。
一个潜在证据来源是易失性内存。过去,易失性内存中包含的数据常被忽视,采取的是“拔掉插头”的心态。这取决于执法人员是否响应现场并且计算机已经开机运行。最佳做法要求执法人员拔掉电源来关闭系统。
然而,易失性内存在系统运行时才可用。因此,当调查员拔掉电源时,他们丧失了所有这些数据,包括任何潜在的证据。随着数字取证领域的发展,我们已经了解到,以前我们认为的最佳做法,实际上并非如此。
为了收集易失性证据,我们应从最易失性的开始收集。这就是所谓的易失性顺序,其顺序如下:
-
活系统
-
正在运行
-
网络
-
虚拟
-
物理
我们在收集易失性数据时,采取的心态与创建法医镜像相同。你必须记录你采取的步骤,因为在收集易失性数据时,你会与机器进行互动,这会改变证据。实际上,你所做的更改通常不会影响你正在调查的内容。但你应该意识到系统正在发生变化;在行政或司法程序中作证时,你可能会被问到关于证据潜在更改的问题。如果你不知道答案,可能会在职业上感到尴尬。
你在收集易失性数据时所做的更改将影响内存中发现的进程。这就是为什么你需要做笔记并记录你所做的每一件事。一些我们收集的易失性数据示例包括系统的当前状态、网络信息(如 ARP 表、连接、路由表和名称缓存)、登录的用户、运行的服务、运行的进程、共享驱动、远程活动以及打开的加密容器。
我们必须平衡所做的更改与可能永远丢失的证据之间的关系。“法医合理的方式”意味着在收集过程中留下尽可能小的足迹,以最小化数据被更改的量。收集易失性数据的顺序非常重要,因为如果你以错误的顺序收集易失性数据,你可能会破坏你正在寻找的证据。内存被认为是所有易失性数据中最易失的,因此我们会优先收集它。
请记住以下几点:
-
根据你在现场遇到的具体情况,收集易失性数据可能并不总是可行的。
-
如果你发现机器上正在运行一个破坏性进程,并且你想收集的信息正在被改变或覆盖,你可能不想花时间收集内存,因为证据正在被篡改。
-
如果是远程连接引发了破坏性进程,你需要记录该连接,切断连接,然后收集内存。再次强调,这取决于你的调查以及你尝试获取的信息。
-
如果攻击者是通过远程连接并访问高度敏感的数据,您希望攻击者在您收集 RAM 时保持访问权限,还是希望中断连接?如果这不是关键信息呢?
-
您是否希望在继续处理的同时让攻击者继续访问?
最终,数字取证的目标是创建一个用于分析的法医镜像。因此,在正常情况下,在收集过程中不适宜更改数字证据。
在今天的环境下,这并非总是可能的。由于全盘加密或完整卷加密的容易获取,直接切断计算机系统的电源已不再被接受。
让我们稍微绕一下话题,谈谈什么是加密。从基础上讲,加密是对信息进行编码,以保护信息的机密性,并仅允许拥有解密密钥的人访问它。所有的加密都可以被破解,如果攻击者有足够的时间。
以今天的设备水平来看,这个时间因素被测量为数百年。随着技术的发展和处理能力的提高,解密顶级加密所需的时间在减少。因此,曾在 1990 年代被认为安全的加密,现在已经被认为是脆弱的。这就是为什么如果系统可能使用了加密,切断电源就显得至关重要。没有解密密钥,您无法访问数据。
每个情况、每个犯罪现场和调查都会不同,这意味着您采取的行动将基于您遇到的特定情况。利用您的问题解决技巧,并根据您所掌握的有限信息快速做出决策。
现在我们有了证据,我们如何保持对其的控制呢?让我们来谈谈证据链。
证据链
保持证据链是保存和验证物理及数字证据以供行政或司法程序使用的一个重要组成部分。证据链记录了所有对证据的访问,谁访问了它,何时访问以及为何访问。
NIST 提供了一个证据链文档,如下图所示。这是一个通用的证据链表格,您可以根据需要调整,并且可以在www.nist.gov/document/sample-chain-custody-formdocx
下载。该表格用于跟踪证据链,并在每次证据转交时进行记录:
图 2.1:一个证据表单
如你所见,某些字段可能与您无关。例如,作为一名企业数字取证调查员,您可能不需要受害人字段,因此您可以更改或完全删除它。
此表单的目的是追踪数字证据并保持控制,以便以后验证证据。在证据描述字段中,你需要描述承载数字证据的容器。它可以是不可重复使用的介质,例如为了后续检查而刻录了日志文件的 DVD。
在下图中,你可以看到证据描述部分。物品编号指的是一个顺序编号系统,用于帮助追踪物品。数量是物品的实际数量,物品描述字段显而易见:
图 2.2:证据的描述
例如,在前面的图中,DVD 被列为物品CD-001。你可能会扣押多个 CD 或 DVD,遇到区分一个磁盘与另一个磁盘的问题。这个问题不仅仅出现在 CD 或 DVD 上,也会出现在硬盘上。通常你不会仅仅扣押一件特定介质类型的物品。
我使用以下编号系统作为我的工作流程的一部分:
-
CD/DVD:CD-XXX
-
硬盘:HD-XXX
-
U 盘:TD-XXX
-
手机:CP-XXX
-
移动设备(非手机):MD-XXX
注意
顺便提一下,你还需要在被扣押的物品上做一个永久标记,但应尽量避免以降低物品价值的方式进行标记。
你可以在下图中看到,硬盘标记为HDD001,并附有日期以及扣押该设备的警员的姓名首字母:
图 2.3:一块硬盘
当法医镜像创建完成后,该设备将在后续过程中被称为HDD001。
如果你不能在设备上进行写入而不永久性地降低其价值,如 iPad,请不要使用永久性标记笔写上MD-XXX。相反,使用粘性标签标记信息。
注意
使用一个适合你的系统。当你制定好系统后,确保每次都使用它。这样可以防止丢失证据或标记错误。
当我们到现场并扣押包含数字证据的物品和容器时,我们要确保这样做的方式是法医上可行的。因此,我们不会分析原始证据;我们会创建一个副本进行检查,以确保不对原始证据做出任何更改。
我们有三种选择来制作工作副本:
-
法医副本:这是源数据到目标设备的逐位复制。在今天的环境中,这并不常见。确保目标设备没有来自先前调查的旧数据。你不希望当前的数字法医调查和过去的调查发生交叉污染。我们将恢复已删除的文件、文件空白区和分区空白区。稍后我们将在本书中讨论如何擦除硬盘。
-
法医镜像或法医证据文件:我们创建源设备的逐位拷贝,但我们将这些数据存储在法医镜像格式中。这可以是DD镜像、E01镜像或AFF镜像。我们将源数据包装在法医镜像的保护外壳中。我们将恢复已删除的文件、文件空白和分区空白。
-
逻辑法医镜像:有时,我们仅限于访问特定的数据集。它们不允许我们访问整个容器。我们不能创建逐位拷贝的法医镜像/法医证据文件或法医副本。当我们从服务器提取数据且无法关闭服务器以从源硬盘创建法医镜像时,可以使用此方法。因此,我们可以对与调查相关的文件和文件夹进行逻辑复制。我们不会恢复已删除的文件、文件空白和分区空白。
在稍后的第三章中,证据获取,我们将讨论如何从我们已扣押的设备或现场扣押的数据中创建法医镜像。
现在我们已经讨论了在获取数据集时需要考虑的事项,我们将讨论在分析数据时需要理解的内容。
理解分析过程
一旦您从现场收集了数据,您就返回到实验室,现在是时候开始您的法医分析了。您会发现自己很快就会被存储设备中庞大的数据量压倒。您必须迅速确定存储容器中包含的信息是否与您的调查相关。
这就是在案例信息收集和法律问题阶段中,信息收集将发挥重要作用的地方。
因此,您必须捕捉调查中的五个 W(如第一章中提到的,计算机基础调查类型)。首先,将计算机系统上的活动与特定用户关联,并确定该用户为现实生活中的一个人。
如果调查已经识别出活跃的嫌疑人,您将把该嫌疑人与计算机系统上的用户进行关联。我们将讨论一些可以与商业或开源法医工具一起使用的指南。目标是理解这个过程,而不依赖于任何特定的法医工具。
现在我们已经讨论了在获取数据集时需要考虑的事项,我们将讨论在分析数据时需要理解的内容。
日期和时区
如果数字法医调查员忘记考虑日期和时区,可能会造成问题。例如,如果您仅在特定时区进行检查,而且所有扣押的数据来自同一时区,您面临的问题就微不足道。但如果数据来自多个时区,或者您旅行到不同的时区,如果不考虑时区问题,它们可能会引起一些混乱。
将取证计算机和工具设置为使用世界协调时间(UTC)作为标准参考框架有助于解决这个问题。同时,确保调整任何发生犯罪活动的时间段到 UTC 格式。操作系统/文件系统以不同的时区格式保存元数据并无帮助。你还必须考虑到嫌疑人可能已更改计算机上的时区设置,以隐藏其非法活动。时间线分析在进行取证检查时至关重要。
接下来,我们需要能够识别我们知道无关的文件,并即时识别违禁图像。我们可以通过哈希分析做到这一点。
哈希分析
什么是哈希值?哈希是文件或数字媒体的数字指纹。它是通过单向加密算法生成的。
数字取证中使用的标准加密算法是消息摘要算法 5(MD5)和安全哈希算法(SHA-1)。MD5 生成一个 128 位的数字指纹,而 SHA-1 则生成一个 160 位的数字指纹。使用哈希算法允许通过可变输入生成固定长度的输出。
如果输入中的一位发生变化,它将导致不同的输出。更多哈希信息将在本书后续提供。让我们通过下面的练习来看看这如何运作:
- 创建一个包含
This is a test
文本的文件,文件名为Hash Test.txt
:
图 2.4:哈希文本
-
使用免费的 Jacksum 工具(
jacksum.loefflmann.net/en/index.html
)获取哈希值:图 2.5:Jacksum 值
正如你在上图中看到的,
ce114e4501d2f4e2dcea3e17b546f339
值是F:\Hash Test.txt
文件的 MD5 标准长度输出。第二个值,
a54d88e06612d820bc3be72877c74f257b561b19
,是 SHA-1 的输出。无论我使用哪个取证工具,这些值都是这个特定文件的数字指纹。 -
更改文件内容的一个部分:
图 2.6:文本的变化
我在句子的末尾添加了一个感叹号—一个非常小的变化—但是任何变化都会改变哈希值。
-
再次使用 Jacksum,你将得到一个完全不同的哈希值:
图 2.7:Jacksum 值的变化
现在 MD5 值是702edca0b2181c15d457eacac39de39b
,与原始值ce114e4501d2f4e2dcea3e17b546f339
不同。
哈希算法生成的标准输出是单向过程。你无法输入字母数字值来反转过程,恢复哈希过程中使用的原始数据集。如果你有一个已知非法图像的哈希集,里面的值不能用来重新生成这些非法图像。
存在哈希集(多个哈希值的集合),用于识别已知的良好文件。这些文件对调查员没有意义,通常是操作系统或应用程序中使用的标准文件。使用已知的良好哈希集可以帮助你筛选出没有证据价值的文件。另一方面,如果你已经识别出有价值的文件,比如非法图像或被盗的已知文件,任何可能对调查员有用的数据也可以被突出显示。对于已知的坏文件,需要有人访问原始文件,以创建用来识别该文件的哈希值。
使用哈希分析可以在调查过程中节省一些时间和精力:
-
你可以用它来验证证据是否发生变化。
-
它可以用来排除文件。
-
它可以用来识别有价值的文件。
美国国家标准与技术研究院(NIST)创建了国家软件参考库(NSRL)(www.nist.gov/software-quality-group/national-software-reference-library-nsrl
),该库收集了来自多个来源的软件并创建了参考数据集(RDS)。
RDS 是一个大型哈希集,用于在进行检查时帮助识别已知的良好文件。RDS 对执法机关、政府和私人行业是免费的。有些文件在 RDS 中可能被认为是恶意的,例如黑客工具。调查员仍然需要将这些文件放入上下文中,看看它们是否被用于非法目的。RDS 不包含非法数据的哈希值,例如非法图像。
碰撞发生在两个不同的变量输入结果相同的固定长度输出时。这意味着两个不同的文件具有相同的哈希值,这显然不利于基于哈希值识别证据(根据我们之前的讨论)。然而,一些国家已成功操控变量输入,以创建相同的固定长度输出。
这是否意味着哈希技术已经过时?不,它并没有过时。至今在实际情况中,还没有发现两个不同的文件具有相同的哈希值。所有发生的哈希碰撞都是对文件进行了篡改。当独立的检查员分析这些篡改后的文件时,发现它们并没有任何用户可读的内容。虽然有担忧认为这会影响数字证据的可接受性,但在 2009 年的美国诉施密特案中,法院裁定文件碰撞的几率微乎其微,因此不构成问题。
现在我们已经确定了数字指纹,让我们确保文件得到了正确识别。
文件签名分析
接下来的步骤是进行文件签名分析,以确保文件扩展名与文件类型匹配。你在文件系统中找到的许多文件类型都已标准化,并拥有唯一的文件签名,用于向文件系统标识自己。这不是文件扩展名,例如具有.doc
或.docx
扩展名的 Microsoft Word 文档。
用户可以更改文件扩展名来隐藏罪证。进行文件签名分析的目的是确定文件签名和文件扩展名是否匹配。
以下截图展示了当文件扩展名与文件签名不匹配时,X-Ways 如何标记文件:
图 2.8:文件签名不匹配
文件扩展名将文件识别为 GIF 文件,但 X-Ways 已将其识别为 JPEG 文件。下一张图展示了该 GIF 文件的文件头:
图 2.9:文件头
GIF 文件应具有十六进制47 49 46 38文件签名,而不是十六进制FF D8 FF E0。在某些情况下,签名不匹配是由于文件系统的正常使用,而不是用户的操作。你必须检查数据,确保不匹配的原因可以归因于特定的用户。
加里·凯斯勒(Gary Kessler)创建了一个网站,可以根据文件扩展名或签名搜索数据库。你可以访问这个网站:filesignatures.net/
:
图 2.10:filesignatures.net
你可以通过文件扩展名或文件签名进行搜索。输入文件扩展名后,在本例中为JPG
,你将得到与 JPEG 标准相关联的文件签名:
图 2.11:JPG 文件签名的结果
在确保文件已被正确识别后,我们需要识别系统中可能存在的任何恶意软件。我们可以通过防病毒程序来完成此操作。
防病毒
在几乎每次我进行的调查中,都会听到被指控不当行为的对象声称“是病毒干的”。你是否已经确定这是否是有效的说法?例如,系统上是否存在恶意软件,它是否在没有用户交互或知识的情况下导致了你正在调查的行为?
这是我们收集易失性数据的一个原因,用以查看在收集时系统上发生了什么。如果其他人已经收集了证据,而您手头只有取证镜像,您仍然可以扫描该取证镜像,帮助确定是否有人安装了恶意软件。一些取证工具允许您将取证镜像“挂载”为只读驱动器,然后您可以扫描文件系统,帮助确定是否安装了恶意软件。
FTK Imager 是由 AccessData 提供的免费工具,下载地址为 accessdata.com/product-download/ftk-imager-version-4.2.0
,该工具允许您挂载取证镜像。
镜像挂载允许您将取证镜像挂载为驱动器或物理设备。您的查看模式为只读。挂载取证镜像有许多好处,例如可以像查看连接到计算机的设备一样,使用文件资源管理器查看它。此外,您可以原生查看不同的文件类型,使用杀毒软件扫描取证镜像,通过网络共享挂载的取证镜像,或从挂载的取证镜像中复制文件。
接下来,我们将在以下练习中讲解如何使用 FTK Imager 挂载取证镜像:
- 要在 FTK Imager 中挂载取证镜像,您需要选择文件菜单,然后从菜单中选择镜像挂载...,如下图所示:
图 2.12:镜像挂载
- 然后,它会向您展示挂载镜像到驱动器菜单:
图 2.13:挂载镜像
在对话框中,您需要选择要挂载的取证镜像。如果这是一个分段取证镜像,您只需指向第一个分段即可:
-
挂载类型:您可以选择物理和逻辑、仅物理或仅逻辑。如果选择物理和逻辑,软件会将取证镜像挂载为物理设备,并挂载任何逻辑分区。
-
驱动器字母:这是您希望看到取证镜像的地方。在前面的图中,显示下一个可用的驱动器字母是M。您可以选择任何可用的驱动器字母。
-
挂载方式:您有以下几种选择:
-
块设备 / 只读:这将以块设备方式读取设备,这意味着执行物理名称查询的 Windows 应用程序可以查看挂载的设备。
-
块设备 / 可写:原始证据不会做出任何更改。它会将您尝试进行的更改保存在缓存文件中。
-
文件系统 / 只读:该设备作为只读设备,任何人都可以使用 Windows 资源管理器查看。
-
在下面的截图中,您可以看到我们已经挂载了一个取证镜像,并且该取证镜像中包含了分区:
图 2.14:挂载的镜像
系统已将分区挂载为驱动器M和驱动器P。现在,你可以选择你喜欢的杀毒软件对这些磁盘进行扫描,查看是否安装了任何恶意软件。
如果恶意软件已经安装,这仍然不能作为嫌疑人的辩解。确定发现的恶意软件是否能够执行嫌疑人所声称的行为。我曾调查过许多非法图像案件,其中被告声称恶意软件下载了这些图像。然而,我至今没有发现任何恶意软件能够搜索、找到、下载并根据内容分类存储在嫌疑人电脑上的非法图像。你仍然需要分析内容,以确定数字证据的背景。
现在,你可以开始分析文件系统和操作系统。我们将在本书的剩余部分讨论具体的取证信息。操作系统用于在应用程序和硬件之间进行通信。常见的操作系统包括 Microsoft Windows、Macintosh 和 Linux。几乎每一个在操作系统中进行的操作,不论是用户还是机器生成的,都将在操作系统中留下痕迹。你需要分析这些操作系统控制的痕迹,以确定用户是否犯了错误。
文件系统是数据的存储机制。文件系统独立于操作系统。文件系统跟踪数据存储的位置以及可用空间。文件系统有许多种,例如 NTFS、HFS+、FAT 32 和 Ext 4。某些格式与多个操作系统兼容,而某些则不兼容。例如,NTFS 是 Microsoft Windows 系统首选的文件系统。
一旦我们确定系统中没有恶意软件,我们就可以继续报告调查结果。
报告你的调查结果
我们现在处于流程的最后一步:编写报告。你已经完成了准备工作,购买了设备,参加了培训,并创建了响应工具包,当任务到来时,你及时响应并赶赴现场。你成功获取了案件信息,并在到达时处理了可能的法律问题。你收集了易失性数据,识别了数字证据容器,并在将其运输回实验室时妥善保管了证据链。接着,你进行了分析,发现了能够证明嫌疑人是否做了他们被指控的事情的证据。
那么现在该怎么办呢?你必须能够向非技术人员解释你的发现。你需要把一个非常技术性的话题,以非技术人员能够理解的方式进行阐述。这是数字取证调查员最具挑战性的方面之一,也是需要掌握的重要技能。
根据受众的不同,你可能需要创建不同版本的报告。你的目标读者将阅读并解读你的报告,而第三方可能会在司法或行政听证会上质疑你的报告。
报告中需要包含的细节
你需要提供足够的细节,以便回忆起发生了什么。在处理过程中做笔记会对你大有帮助。我曾多次没有按照这个建议去做,结果不得不重新进行处理,因为我没有记录下某些内容。你的笔记可以采取多种形式,比如手写笔记、电子笔记、截图或使用你最喜欢的法证工具内置的博客功能做的笔记。没有正确或错误的笔记方式,重要的是在过程中做好笔记。
那么,你想记录什么?以下内容可以给你一些启示:
-
主调查员与检察官/C-suite 高管之间的沟通
-
证据容器的状况
-
存储设备的具体信息(品牌、型号、序列号和状况)
-
嫌疑人、受害人和证人的个人身份信息(如果是刑事案件)
-
证人、响应团队、责任高层的个人身份信息(如果是民事案件)
-
使用的法证硬件
-
使用的法证软件
-
你检查了什么(即使检查结果没有发现有证据价值的内容)
-
你的调查结果
-
术语表(定义技术术语)
将所有内容整合在一起,以便非技术读者能够理解调查过程、你所采取的步骤以及你做出结论的原因。和数字取证中的其他所有事情一样,报告格式没有固定标准。你将根据雇主、报告接收者和个人偏好来调整报告格式。
我建议你在报告中包括以下内容。你应该将报告分为三个主要部分:
-
你的叙述
-
相关展品
-
支持性文件
叙述就是字面上的意思。在这一部分,你需要解释发生了什么,做了什么,以及这些意味着什么。你应该包括一份执行总结,突出关键点和结论,然后进入详细的叙述。在叙述中,你应该提供你所讨论的证据截图。不要在没有解释的情况下加上截图,也不要假设读者能够理解截图的相关性。你需要向读者解释截图的意义。确保你的截图集中在你正在讨论的证据上。
假设你的报告包含了违禁品的截图,例如非法图片。在这种情况下,你需要确保对报告进行适当的控制,以防止违禁品图片的意外泄露。你还需要创建第二份报告,删除违禁品图片,供不能合法拥有这些图片的读者查看。
在执行摘要之后,你应该包括基本的行政信息。接下来,识别涉及的各方,包括受害人、嫌疑人、证人和其他调查人员。
记录事实和情况
关于列出你分析的证据,你有两个选择。在一些更大的案件中,列出数字证据可能需要两页或更多。长篇累牍的清单并不会帮助读者理解你的报告。更可能的是,读者会跳过证据清单,直接跳到下一部分。如果调查没有涉及大量的数字设备,那么你可以在这里列出它们,包括那些没有发现有价值证据的设备。如果你有很多数字设备,我建议你只列出那些含有证据价值的设备,并将完整的证据清单放在报告的末尾。
你还应该列出法证图像创建的详细信息。我通常会在叙述部分包含收集细节的总结。然后,我会创建一个详细的法证图像创建步骤过程作为附件。再次强调,在报告的叙述部分给出一步步的过程并不能帮助读者理解这个过程。给读者提供法证图像过程的高层次细节,然后在其他地方提供详细信息,可以提高报告的可读性。
数字证据的分析将构成报告的主要部分。在这里,你将一步步地引导读者了解你发现的具有犯罪指控性质的证据以及为何该证据重要。我经常看到一些报告,某个特定的图像被强调为重要,但随后却没有解释为什么这个图像重要。是图像所在的位置重要,还是图像本身重要?解释为什么该特定证据重要,以及你是如何确定其重要性的。
注意
记住,你正在将一个技术性话题解释给非技术读者。不要列出重要文件并假设读者能理解哪些是重要的。
我发现按时间顺序呈现证据最为合适。例如,如果你正在调查非法下载受版权保护的材料,你会从潜在地识别计算机所有者以及任何可以识别特定用户的证据开始。然后,你可以展示用户在查找受版权保护的材料时进行的任何浏览器搜索,再到下载该材料的具体步骤。假设用户与其他人有关于该受版权保护材料的持续通讯,那么你可以利用这些通讯来支持你关于用户下载该版权材料活动的假设。
你也可以按主题展示证据。例如,如果你正在调查非法图片的拥有和分发,你可以展示表明用户查看了这些图片的证据。这将表明用户知道他们系统中的图片,并且是否主动与其他用户分享过这些图片。仅仅一张图片是不够的;你还必须找到操作系统的证据来支持你关于图片的假设。在撰写分析部分时,你需要避免做出绝对性声明。我见过一些法医报告处理非法图片时,调查员毫不含糊地声明用户知道该非法图片的存在。他们在缩略图缓存数据库中找到了相关图片。然而,图片在缩略图缓存数据库中的位置并不能绝对证明用户知道图片的存在。系统可以在不让用户知道的情况下将图片包含在缩略图缓存数据库中。所以,你在表述时要非常小心。不要包含个人意见—只提供事实信息。
我见过一些报告将证据描述为“令人不安的儿童图片”。“令人不安的图片”这一术语并非基于事实—它是一种个人观点。最好直接描述证据本身,而不要加入你对它的情感色彩。更好的描述可能是“描述一名年轻男性裸体,站在树林中的图片”。在描述归属于某个特定用户或人的证据时要小心。最难证明的事项是“谁在键盘前”。除非有视频证明嫌疑人A在特定时间确实在键盘前,否则你永远不能百分之百确定嫌疑人A进行过犯罪活动。在这里,你不应发表个人意见;不要假设某个项目的归属或用户身份。
报告结论
你叙述的最后部分是结论。这一部分是你可以基于在报告分析部分中描述的证据提出自己观点的地方。但你在表达观点时仍需小心。尽量没有偏见地审视证据,并判断事实是否再次验证了你的假设。如果你无法做出决定,可以在报告中写明这一点。记住,这并不总是关于证明嫌疑人的罪行或责任。你也必须提供证据来说明嫌疑人没有做他们被指控的事。
你可能会创建一个电子报告供分发;标准格式通常是 PDF。不论你使用何种格式,确保你对报告进行数字签名。数字签名会表明自你签署报告后没有人篡改过报告内容。
注意
记住,报告是你和调查的体现。如果你制作了一份质量差的报告,这会对你、调查以及你的组织产生负面影响。
校对至关重要。不要自己校对报告,应该使用同行评审过程。你会错过排版错误、糟糕的句子结构和不清晰的发现。你脑海中可能觉得清晰的内容,在书面形式中未必能准确表达。假设调查进入行政或司法程序,我可以保证对方将逐字逐句剖析你的报告,寻找不一致之处以及你没有客观的地方。
记住,如果读者不理解你关于发现的工件的描述,那么你的整个调查工作就白费了。
摘要
本章我们讨论了法医分析过程。你现在知道如何准备进行数字取证检查,从获取适当的设备到培训和认证。此外,你现在也理解了在没收数字证据之前获取信息的重要性,并确保与其他参与调查的人员或工作人员沟通。
我无法过分强调收集易失性数据的重要性;如果不这样做,你将失去大量潜在证据。接下来,我们讨论了进行检查的一些策略,以及操作系统工件和文件系统工件之间的区别。最后,我们讨论了如何报告你的发现,以便读者能轻松理解。
下一章将详细介绍证据获取的具体过程以及如何验证你的工具以创建无误的法医镜像。
问题
-
以下哪项应包含在你的响应工具包中?
-
一台数码相机
-
乳胶手套
-
一种写入保护设备
-
以上所有
-
-
你必须使用商业软件进行有效的法医检查。
-
正确
-
错误
-
-
接收数字证据时需要问哪些问题?
-
为什么会没收数字证据?
-
链接的证据在哪里?
-
谁访问了证据?
-
以上所有。
-
-
RAM 是最易失的证据。
-
正确
-
错误
-
-
链接证据的文件 _____________。
-
谁控制了证据
-
谁目击了犯罪?
-
嫌疑人的指纹
-
以上都不是
-
-
以下哪项最适合进行数字取证检查?
-
一份法医副本
-
一份法医镜像
-
一份逻辑法医镜像
-
B 和 C 都是
-
-
以下哪项是哈希算法?
-
疾病控制与预防中心(CDC)
-
美国联邦调查局(FBI)
-
MD5
-
LSD
-
答案可以在书本末尾的评估部分找到。
进一步阅读
Warren Kruse 和 Jay Heiser, 《计算机取证:事件响应基础》(Addison Wesley,2001)
你可以从www.amazon.com/Computer-Forensics-Incident-Response-Essentials/dp/0201707195
购买本书。
加入我们的 Discord 社区
加入我们社区的 Discord 空间,与作者和其他读者讨论:
packt.link/CyberSec
第三章:证据的获取
数字证据是调查人员可能处理的最不稳定的证据之一,任何细微的错误或不当处理都可能严重影响调查。例如,你可能会永远丢失数据或丢失其中的一部分。此外,数据的不经意操作可能会对你的调查能力产生怀疑,或质疑数据在调查中的完整性。本章将通过使用工具验证过程来最小化或消除这些问题,从而创建一个无错误且经过验证的法医影像。
本章将涵盖以下主题:
-
探索证据
-
理解法医检查环境
-
工具验证
-
创建无菌培养基
-
定义法医影像
探索证据
什么是证据?字典中的定义是可用的事实或信息集合,表明某个信念或命题是否真实或有效。现在看来,这似乎是一个简短、简单、常识性的答案,回答了一个简单的问题。实际上,当你考虑到某个司法管辖区的规定、法律和证据规则时,这个问题会变得更加复杂,而当考虑多个司法管辖区时,复杂度则呈指数增长。证据是由事实裁判者作出的判断。事实裁判者将决定证据是否符合该程序和司法管辖区的标准。
我举个例子:假设你正在调查一起谋杀案件,并且你在嫌疑人的车辆中发现了受害人和嫌疑人的血迹;在嫌疑人的袜子上发现了受害人的血迹;在现场发现了一只沾血的手套,而其配对手套则在嫌疑人的房子里被发现。
基于这些证据,你可能认为政府对嫌疑人有一个无懈可击的案件。但是,在这个案例中,辩方成功地对证据进行了辩驳和挑战,最终导致了嫌疑人的无罪释放。正如你所看到的,尽管某物是证据,如果它无法经受住对方的挑战,那么它就会成为一个负担。
我曾在数字证据的司法过程中担任过双方的工作,每一次,数字证据的数量之庞大让我惊讶不已,这些证据从未曝光。如果我们没有将证据提交给事实裁判者,那么在程序中它就不存在。任何一方都不会在程序中引用或提出这些证据,它们根本就不存在。
对方如何攻击事实裁判者已接受的证据?要么是通过攻击证据本身,要么是通过攻击与证据收集和分析相关的过程和人员。
考虑以下例子:
一名检查员分析了系统的缩略图缓存,看到一个 URI(URI是基于互联网工程任务组(IETF)创建的标准的统一资源标识符;在本实例中,它是一个文件路径)指向原始图像的位置。原始目标文件夹在系统中已不存在,缓存中的缩略图源图像也不复存在。
如以下截图所示,缓存中缩略图的源图像位于bob用户账户的Picture Drive中的New文件夹中。图 3.1显示了在缩略图元数据中找到的 URI:
图 3.1:来自缩略图的 URI
在以下截图中,您可以看到在相同缩略图缓存中的另一个缩略图元数据中找到的 URI。该路径与在 URI 图片中找到的路径非常相似。然而,这里有显著的差异——用户账户是bobby,而不是bob,并且New文件夹并不存在:
图 3.2:URI 图片:bobby
在被分析的系统上,未找到bob用户账户,也没有任何证据表明bob账户曾被创建或删除。数字取证专家修改了报告,并错误地声称,基于 URI 的相似性,Picture Drive在两次实例中是相同的。最初,数字取证专家指出,元数据中的 URI 代表文件路径,这些路径无法验证。
数字取证专家进行了第二次检查,发现Picture Drive上有一个名为New的已删除文件夹,并修改了报告以反映这一点。元数据中的 URI 代表证据项 HDD 001。New文件夹是在此日期和时间被删除的。(出于显而易见的原因,我没有使用确切的名称或日期。)
根据文件路径和当前的用户,无法判断元数据中的New文件夹是否与已删除的New文件夹相同。当律师质询数字取证专家这些不一致之处时,他们承认犯了错误。我认为他们犯错是因为文件路径的相似性,并未注意到具体细节。我完全相信,这个错误不是恶意或故意的,而是对方数字取证专家的一个诚实错误。正如你所看到的,有时一个简单的错误可能会引发更多关于证据收集、报告生成及其过程的疑问。
在我参与的另一起案件中,被告被控试图引诱儿童。在这一特定情况下,被告与卧底警员(UC)进行了交流,并向卧底警员发送了许多非法图片。当执法人员将被告拘捕时,被告接受了审讯,供认并写了一封道歉信。
供词、超过 400 页的聊天记录以及十多张非法图片作为证据提交到司法程序中。再一次,你会期望根据这些证据做出定罪。
在审判过程中,揭露了政府删除了一些短信,并编辑了供词录音的视频文件。司法机关向陪审团通报了被篡改的证据。此外,陪审团被告知,他们唯一能考虑的结论是,政府的代理人篡改了数字证据,以隐藏那些会妨碍政府起诉的事实。陪审团最终判定被告所有指控不成立。
如果你没有遵循组织的最佳实践、政策和程序,证据将无法进入法庭。如果有缺陷的证据被接纳,反方的攻击将削弱其效力。这些攻击可能产生足够的合理怀疑,从而导致无罪判决。
那么,我们该如何减轻对方的攻击呢?首先,不管你站在哪一方;如果对方认为你的发现会对他们的案件不利,他们就会攻击你的结论。
不要忽视正确的证据处理程序。正确的证据处理不仅仅是收集现场证据。当证据从现场运输到安全地点时,每当有人检查证据时,你必须保持证据的链条和安全。
在进行数字取证调查时,不要忽视使用正确的程序、方法论或流程。不要走捷径。
验证任何程序、方法论或流程。你必须经过验证过程;不能依赖第三方验证。你的验证必须能够在你或其他人执行时反复产生相同的结果。
准备并进行数字取证检查时,保持这样的心态:有人会审查你所采取的每一步,并质疑你做出的每一项发现。带着这种心态,你应该能够减轻对你数字取证检查的任何攻击。关键是,你必须做好准备。如果你没有为攻击做好准备,那么在司法/行政程序中作证时,你可能会显得不胜任。
我们已经讨论了证据,但你将在哪种环境下进行调查呢?现在我们将讨论如何控制审查环境。
理解取证检查环境
从我第一次参加 IACIS 的培训开始,我就一直听到一个词语,那就是取证无误的检查环境。虽然这个概念听起来复杂,但其实它是一个相对简单的概念:
-
数字取证检查员控制数字取证检查的工作环境。
-
除非数字取证检查员有意进行某个操作,否则不会发生任何操作。
-
当操作完成后,检查员将合理地知道预期的结果是什么。
这个概念不仅仅适用于物理位置,而是适用于我们完成数字取证检查或执行支持数字取证调查的任何地方。这可以是在实验室、办公室,或者是在收集数字证据的现场。
取证无误的检查环境是数字取证检查员的一种心态。你希望在支持数字取证检查时,做到有条不紊、彻底。这种心态有助于消除过程中可能发生的一些错误。
例如,组织派了两位同事前往偏远地区获取几台工作站。他们在 2 到 3 天内完成了数据获取。调查人员没有在现场对数据集进行筛查或检查数据集,但预期他们回到中央实验室后会完成这些工作。这个偏远地点距离数百英里远,一旦我的同事们离开,他们就无法返回获取源设备。一到达中央实验室,我的同事们开始进行数字取证检查。同事 A 开始检查其中一个取证镜像,作为过程的一部分,他们查看了文件系统的文件夹结构。在查看安装的程序时,他们震惊地发现嫌疑人的系统上安装了商业取证工具。当他们进一步深入文件系统时,开始发现一些上面有他们名字的文件。再次感到震惊;嫌疑人是如何获得同事 A 的信息的?
嫌疑人无法访问这些信息。
同事 A 在创建取证镜像时犯了一个错误。他们没有对嫌疑人的设备进行镜像,而是将取证笔记本的系统驱动器进行了镜像。在创建取证镜像时,他们忽视了细节。幸运的是,程序要求每位同事对源设备制作一个取证镜像,总共制作了两个取证镜像。
尽管这个故事让人尴尬,但没有产生长期后果,因为我们可以使用第二份备份。想象一下,如果你是同事 A,而没有第二份备份可用,你会有什么感受。你如何向上司或客户解释,你未能按要求完成任务,现在你无法访问源设备?
为了防止这种情况发生,我们将关注工具验证。
工具验证
早些时候,我们讨论过对你、你的检查和你的发现的潜在攻击。对方律师将集中关注你的检查方式以及你用于执行检查的工具。你化解对手律师攻击的能力与你的准备和检查期间创建的文件有直接关系。了解并遵循最佳实践对于成功捍卫你的行动至关重要。你如何做到这一点?通过继续教育。该领域不断变化,你必须保持对这些变化的了解。
详细程度可能会让新的数字取证调查员感到不知所措,因为他们需要知道如何成功地化解对手的攻击。虽然你不需要了解特定编程或代码工具使用的具体编程,但你需要知道工具找到的文物在文件系统/操作系统中的位置,这样你才能在作证或创建报告时充分解释清楚。我经常看到调查员依赖同事提供的清单或在互联网上找到的清单,但对清单上列出的项目为何存在或用于恢复文物的过程却知之甚少。这可能只是恢复一个已删除文件的简单过程。如果数字取证调查员无法解释文件系统如何处理用户请求删除文件的过程,以及工具如何恢复已删除文件,那么他们在作证时的时间将非常尴尬。如果你连基础都无法解释清楚,对方将质疑你的发现。
你需要确定你的工具是否产生有效结果。正如我们在第二章中之前讨论的那样,《取证分析过程》中,在 Casey Anthony 案件中,由于取证工具报告的错误,对方律师成功化解了数字证据。如果发现取证工具存在缺陷,那么该工具可能会被用来质疑考试的完整性和调查员的能力。
如何化解对你的流程或工具的攻击?
-
理解它们的功能
-
记录你的培训
-
在检查过程中记笔记
-
验证工具的有效性
你关于考试的证词、你的发现以及工具的使用是基于你的个人经验的。你不能对他人的验证作证。你不知道第三方使用了哪些参数。这个过程是你必须亲自进行的。使用已知数据集来测试工具,看它是否按预期执行。如果你不验证你的取证工具,如何证明它提供准确的结果?如果在法庭上被质疑,你该如何回答?对方律师重现你所做的取证考试并不罕见。对方将尝试使用相同的取证过程和取证工具来判断是否能得到相同的结果。如果他们使用相同的方法和工具得到不同的结果,会发生什么?如果他们使用相同的过程但不同的工具得到不同的结果,又会发生什么?如果你不验证你的方法和取证工具,如何为这种攻击做好准备,保护你自己或你的检查?
正如我之前提到的,NIST创建了计算机取证参考数据集。此外,你可以通过这个链接来帮助你验证工具:www.cfreds.nist.gov
。这些数据集为调查人员提供了经过文档化的模拟数字证据集以供检查。NIST 还提供了用于创建测试镜像的资源。
我们可以以多种方式使用这些数据集:
-
验证测试
-
能力测试
-
培训
使用你的数据集或第三方数据集时,必须确保有文档说明数据集中包含了什么内容,以及测试数据在数据集中所处的位置。在以下示例中,我们将使用 NIST 提供的 DCFL 控制镜像。
以下示例将使用两个取证工具:开源工具 Autopsy 和商业工具 X-Ways。如以下截图所示,文档中指出应有两个逻辑文件:
图 3.3:DCFL 控制镜像哈希值
文档中提供了逻辑文件名和扩展名、十六进制偏移量,以及该文件的 MD5 哈希值(记住,哈希值是文件的数字指纹)。
在以下截图中,我们看到的是 Autopsy 的界面,显示有两个逻辑文件(通过它们的文件扩展名识别):一个图像文件和一个音频文件。
到目前为止,这与我们为控制镜像提供的文档是匹配的:
图 3.4:DCFL 控制镜像 – 文件类型
在以下截图中,我们看到的是 X-Ways 的界面,它也识别出了两个逻辑文件,这些文件名与控制匹配:
图 3.5:DCFL 控制镜像 – X-Ways 逻辑文件
在以下屏幕截图中,我们查看的是 Autopsy 提供的图像文件元数据,我们可以看到文件名、扩展名和哈希值与控制文档中提供的信息匹配:
图 3.6:DCFL 控制镜像 – JPG 元数据
在以下屏幕截图中,我们查看的是 X-Ways 界面中的相同文件的元数据,并发现它与控制文档中提供的信息相匹配:
图 3.7:DCFL 控制镜像 – X-Ways JPG 元数据
你可以继续检查其余的控制镜像,以确保所选的取证工具能够正常工作并产生准确的结果。你可以使用多个控制数据集来验证你的工具。在进行验证测试之前,不能保证你的工具正常工作。你的组织应该有一项政策,规定验证测试应该在何时进行以及如何记录和记录验证测试结果。如果你没有记录验证测试,反方律师在请求这些记录时可能会质疑其有效性。
这涵盖了你工具的验证,但存储容器呢?让我们来讨论无菌介质,并定义它是什么。
创建无菌介质
无菌介质也是我第一次培训时强调的一个概念。目前关于今天的取证环境是否仍然需要无菌介质存在持续的讨论。是否使用无菌介质来存储取证数据,将取决于数据采集和你将使用的检查类型。无菌介质可以在取证过程开始之前和结束之后使用。使用无菌介质有多种理由,接下来我们将讨论这些理由。数字取证刚开始时,我们无法创建取证镜像;我们被迫制作取证副本进行检查。记住,我们在第二章《取证分析过程》中提到过取证副本,并定义了取证副本如下:
“源数据到目标设备的直复制,逐位复制。这在今天的环境中并不常见;确保你的目标设备没有来自先前调查的旧数据。你不希望当前的数字取证调查与过去的调查发生交叉污染。我们将恢复已删除的文件、文件空闲区和分区空闲区。”
如果你的源设备和目标设备是相同的品牌、型号和容量,那么可能不会出现问题。但在现实生活中,这种情况很少发生,所以为了安全起见,确保你使用更大容量的设备作为目标设备。将数据从源设备复制到目标设备后,目标设备上将有未分配空间。
假设你没有擦除或使用无菌媒体作为目标设备。那么,在目标设备上可能存在预先存在的数据,这就可能导致数据混合。因此,在使用法证复制过程并查找未分配空间或闲置空间中的数据时,你必须使用无菌媒体。
有时审查员会使用新购买的存储设备或提供给他们的存储设备;他们仍然必须擦除并消毒所有现有数据。假设你没有这样做,目标设备提供给对方律师,他们发现了与手头事务无关的数据。这可能会对审查的诚信性和审查员的能力提出质疑。
关于包含数字证据的旧存储设备,你会怎么处理?你销毁它们吗?你回收利用它们吗?你将它们交给你的组织,然后不再担心吗?在存储设备离开你的控制之前,你必须擦除该设备,以确保没有机密信息或违禁品被释放给未经授权的实体。这样,你可以确信在设备上找不到任何与数字取证检查相关的数据。
那么,什么是无菌媒体呢?简单来说,就是设备上的每一个字节都被十六进制00
覆盖。从技术上讲,你可以使用任何你喜欢的字符。如果使用十六进制00
,验证媒体的灭菌是否成功会更容易。我们使用 64 位校验和来验证灭菌过程。如果对无菌媒体运行 64 位校验和,生成的校验和值将会是零。我不建议使用 MD5 或 SHA-1 哈希算法来验证灭菌过程,它们不会给你一个可以立即识别成功灭菌过程的值。
让我们来看看灭菌过程。我们将使用 SUMURI Forensics 的 PALADIN。PALADIN 是 Ubuntu 的现场启动版本。这意味着你必须将 PALADIN 安装在 USB 或 DVD/CD 上。使用 USB 或 CD/DVD 将允许计算机引导到 USB/CD/DVD 上包含的操作系统。PALADIN 将使你能够访问主机计算机,同时不修改数字证据。PALADIN 工具箱允许我们创建法证图像,转换法证图像,并创建无菌媒体。
在下面的截图中,我已经打开了 PALADIN 工具箱,并选择了磁盘管理器:
图 3.8:PALADIN 工具箱
在我们查看前面的截图时,可以看到系统上有三台设备:两块 10 GB 的硬盘和一台 CD-ROM 驱动器。CD-ROM 驱动器里装的是 PALADIN 操作系统,而两块硬盘则是计算机上的存储驱动器。我们将擦除其中一块存储驱动器,在本例中是 /dev/sdb
。当你查看设备列表下方的界面时,会看到各种选项。在最右侧,有一个名为 Wipe 的按钮。在我们左键单击要擦除的设备后,将选择此按钮。在擦除设备之前,您不想将其挂载。
一旦 PALADIN 完成擦除/灭菌过程,它将显示已使用的过程日志。以下截图显示了它输入了 00
模式,并且覆盖的扇区数。最后一行告诉我们操作完成的时间。您需要保存此日志并将其与您刚刚擦除的存储设备一起存储:
图 3.9:PALADIN 工具箱 – 擦除结果
但我们如何验证结果以确保工具按预期工作呢?在这里,我们将使用商业工具 X-Ways Forensics。X-Ways Forensics 是由 X-Ways Software Technology AG 提供的一款商业工具,它是我进行数字取证检查时的首选工具。我觉得它易于安装、价格适中,并且可以在多个平台上使用,这些都是它的吸引人的特点。并不是说其他工具不值得使用,这只是我个人的偏好。
我们已将设备添加到 X-Ways 中,现在我们想验证使用 PALADIN 执行的灭菌过程。请按照以下步骤进行验证:
- 右键点击设备并选择 Properties:
图 3.10:X-Ways – 属性菜单
- 设备的 Properties 窗口将出现。在右下角,您会找到 Compute hash 按钮。当我们左键单击它时,将看到可用的哈希选项:
图 3.11:X-Ways – 哈希配置
- 你需要选择 Checksum (64 bit),如果灭菌过程正确完成,系统会返回零:
图 3.12:X-Ways – 选择 Checksum (64 bit)
如果选择 MD5、SHA-1 或任何其他哈希算法,您将获得设备的哈希值,但该值无法让您确定设备上是否有残留数据。
- 如下图所示,哈希校验结果是一串零。这告诉我们媒体灭菌过程已正确完成。我们还验证了取证工具的另一个方面:
图 3.13:X-Ways – 校验和结果
现在我们已经有了无污染的介质,但如何保护原始证据呢?答案是执行写入阻止,接下来我们将讨论这一点。
理解写入阻止
写入阻止是取证环境的核心。由于数字证据的脆弱性,我们需要确保不改变源设备上的任何一个数据位。证据处理是检查过程中的一项基本功能,我们必须确保满足所有要求,以避免改变或损坏证据。例如,如果我将设备插入基于 Windows 的计算机系统,为了增强用户体验,操作系统会扫描并向该设备写入数据,这会改变证据。为了防止源设备被更改,我们必须使用写入阻止器。
你可以选择使用“硬件写入阻止器”或“软件写入阻止器”。
硬件写入阻止器
当操作系统发出命令时,它将从源设备读取/写入数据。硬件写入阻止器是一种拦截并阻止对源设备进行任何修改的设备。它通过物理连接的方式位于计算机与源设备之间,完成这一任务。市面上有一些独立的硬件写入阻止器,它们是自包含的,允许你连接源设备和目标设备,然后创建取证镜像。
以下图片显示了 2018 年 10 月国土安全部测试的 Tableau Forensic SATA/IDE 取证桥接器 T35u。该设备允许你通过计算机的 USB 3.0 连接来进行 SATA 和 IDE 设备的取证获取:
图 3.14:Tableau 写入阻止器
NIST 创建了计算机取证工具测试计划,该计划列出了硬件写入阻止器的测试结果(www.nist.gov/itl/ssd/software-quality-group/computer-forensics-tool-testing-program-cftt/cftt-technical/hardware
)。在这里,你可以找到 T35u 及其他设备的报告。
软件写入阻止器
软件写入阻止是通过对操作系统进行更改,以阻止其向设备写入数据。例如,你可以在基于 Windows 的系统中进行注册表更改,以防止向附加的 USB 设备写入数据。
另一种选择是使用可启动操作系统,如 PALADIN 或 Win FE。
在下面的截图中,我们可以看到 PALADIN 工具箱,它列出了系统中的驱动器。默认情况下,PALADIN 不会自动挂载附加的存储设备。这意味着它不会进行任何修改,也不会查看这些设备,直到你告诉软件去挂载设备:
图 3.15:PALADIN 工具箱 – 磁盘管理器
挂载设备时有两个选项:
-
只读
-
读/写
除非你确实想要更改设备,否则最好不要以读/写方式挂载设备。例如,如果你想要创建该设备的法医影像,你应该将设备以只读方式挂载。
如下截图所示,有一列标记为模式,我们可以看到 CD-ROM 被挂载为读/写,并以红色高亮显示,而硬盘则显示为绿色,且为只读模式:
图 3.16:PALADIN 工具箱 – 磁盘管理模式状态
现在我们已经用原始证据保护了源设备,接下来让我们开始创建法医影像。
定义法医影像
我一直强调,我们绝不希望更改源设备/数字证据。这就是为什么我们从不对原始设备进行数字法医检查的原因。你只能在副本上进行数字法医分析,而不是原始设备。你必须记住,所做的法医复制也将被视为证据,并且在证据方面将具有与源设备相同的证据效力。那么,我们将从源设备转移到法医复制中的是什么?所有东西!我想查看已分配的文件、已删除的文件、空闲区、未分配空间和未分区空间。我想收集源设备上的每一位数据。早些时候在本书的第二章,法医分析过程中,我给出了以下定义:
-
法医复制:这是一种将源设备到目标设备的逐位复制。这在今天的环境中并不常见,因此请确保目标设备没有来自先前调查的旧数据。你不希望当前的数字法医调查与过去的调查发生交叉污染。
我们将恢复已删除的文件、文件空闲区和分区空闲区。我们将在本书后面讨论如何擦除硬盘。
-
法医影像或法医证据文件:我们正在创建源设备的逐位复制,但我们将数据存储在法医影像格式中。这可以是 DD 影像、E01 影像或 AFF 影像。我们将源数据包装在法医影像的保护外壳中。我们将恢复已删除的文件、文件空闲区和分区空闲区。
-
逻辑法医影像:有时,我们只能访问特定的数据集。它们不允许我们访问整个容器。在这种情况下,我们无法创建逐位复制的法医影像或法医复制。这通常发生在从服务器提取数据时,且不能关闭服务器以从源硬盘创建法医影像。因此,我们可以制作与调查相关的文件和文件夹的逻辑副本。但我们将无法恢复已删除的文件、文件空闲区和分区空闲区。
对于法医副本和法医图像,我们会获取源设备上的每一位数据;如果有限制,则只能复制逻辑文件。然后我们将这些逻辑文件放入法医容器中,容器会将它们封装成一种保护格式,以防止我们收集数据后数据被更改。这些不是备份,如同在企业环境中看到的那样。在企业环境中,它们并没有以法医上可靠的方式创建那些备份。这些备份不会包含有关文件空闲区、未分配空间、已删除文件或任何不由文件系统维护的数据信息。我不建议在使用商业/开源备份软件收集证据的情况下进行数字取证检查。只使用经过验证的可信法医工具,以法医可靠的方式收集数据集。
法医图像有两种常见格式(还有其他格式,但 DD 和 E01 是我常见的政府和企业数字取证调查员使用的两种格式)。我们现在来看一下它们。
DD 图像
DD 是一个 UNIX 命令,有人称它为最古老的成像工具,已迁移到其他平台。你可以找到适用于 Linux、Windows 或 Mac 的 DD 版本,它们的工作方式都大致相同。它的设计目的是将数据从源设备复制到目标设备。很简单,不是吗?
使用 DD 命令,你可以创建一个法医副本,其中源设备的每个字节都会传送到目标设备。你也可以选择创建源设备的扁平文件/RAW 图像。图像文件可以是单一文件,也可以分割成多个文件片段。
DD 命令不会压缩法医图像,因此你必须确保目标设备的容量与源设备相同或更大。
以下截图展示了一个未分割且大小为 21 GB 的 DD 图像示例。根据存储设备的格式,你可能需要分割法医图像以满足文件系统的约束。你还可能会看到 DD 图像的不同文件扩展名:.001
、.dd
和 .img
是常见的文件扩展名:
图 3.17:DD 图像示例
dcfldd
(dcfldd.sourceforge.net/
) 是 dd
命令的一个版本,集成了额外的功能,例如:
-
即时哈希
-
状态输出
-
磁盘擦除
-
验证图像或清除
-
多重输出
-
输出分割
-
管道输出和日志记录
dcfldd
是由 Nick Harbor(前 DCFL 员工)编写的。
注意
dcfldd
在对故障驱动器进行成像时存在问题。NIST 报告称,在源设备遇到故障扇区后,dcfldd
会导致图像中的数据错位。您可以访问此链接了解更多信息:www.dhs.gov/sites/default/files/publications/DCFLDD%201%203%204-1%20Test%20Report_updated.pdf
。
dc3dd
(sourceforge.net/projects/dc3dd/
) 是 dd
命令的另一个版本。而 dcfldd
是 dd
命令的一个分支,dc3dd
是 dd
命令的一个补丁。虽然这些选项相似,但它们具有稍微不同的代码库和功能集。当 dd
命令更新时,dc3dd
也会自动更新。
dc3dd
上可用的一些功能包括以下内容:
-
实时哈希的能力
-
直接将错误写入文件的能力
-
创建错误日志模式擦除的能力
-
验证模式的能力
-
创建进度报告的能力
-
分割输出的能力
Jesse Kornblum 在国防部网络犯罪中心开发了 dc3dd
。接下来我们将讨论的是 EnCase 证据文件。
EnCase 证据文件
我们将讨论的另一种法证图像格式是 EnCase 证据文件,通常称为 eo1/ex01
或专家证人文件格式。dd
命令是直接的比特对比拷贝;eo1/ex01
格式也是比特对比拷贝,但在法证图像格式中包含了额外的数据。EnCase Forensics 是由 Guidance Software(现在是 Open Text)创建的商业法证工具之一,是最早可用的商业数字取证工具之一。Andy Rosen 创建了被称为 eo1/ex01
格式、专家证人格式(EWF)或 EnCase 图像文件格式的法证图像文件。当前版本的 EnCase 证据文件是 Ex01,应尽可能使用,而不是 eo1/ex01
格式。ex01
格式包括 AES256 加密、LZ 压缩、MD5 和 SHA-1 哈希,这是对 eo1/ex01
格式的升级。
eo1/ex01
文件格式是一个法证图像,封装了来自源设备的原始数据,以防止获取后发生更改。而 dd
图像仅包含来自源设备的数据,eo1/ex01
法证图像包含头部信息,包括证据名称/编号、获取日期和时间、调查员注释以及用于创建法证图像的法证工具信息。eo1/ex01
法证图像还具有额外的安全功能,以确保法证图像的有效性。在创建法证图像文件时,每 64 个扇区进行一次 CRC 计算。它将 CRC 值存储在法证图像中,以便您的法证工具每次使用法证图像时都可以验证它。
如下截图所示,您可以看到eo1/ex01
文件格式的布局。案例信息位于文件头部,从头部信息创建一个CRC,然后将一个 64 扇区块添加到图像文件中,并为该 64 扇区块创建一个CRC值并添加到取证图像中。
数据块和相应的CRC块处理会一直持续,直到获取整个源设备。一旦处理到源设备的末尾,将生成所有数据块(仅数据块)的MD5哈希值,并附加到取证图像的末尾。使用eo1/ex01
取证图像时,还可以启用压缩;而使用dd
图像则无法做到这一点:
图 3.18:专家证人格式文件布局
接下来,我们需要讨论 SSD 驱动器,因为在进行影像时,SSD 设备有一些特殊考虑。
SSD 设备
固态存储(SSD)是一种在商业和消费市场中越来越普遍的新型存储设备。随着固态存储设备价格的下降,它们的使用将增加。SSD 在数字取证方面带来了独特的问题。设备固件会运行自动化流程。数字取证检查员无法停止或拦截存储设备上的固件命令。磨损均衡是一项功能,确保设备上的存储块以类似的速率使用。如果存储设备上的某些块被过度使用,或者块不平衡,这可能导致某些存储块过早失效。固件将决定在存储设备上移动数据的位置。插入固态设备可能会导致固件移动数据。
垃圾收集是数字取证领域中引起关注的另一个固件功能。当用户删除文件、格式化分区或删除分区时,固件会启动垃圾收集过程,使用修剪命令。不幸的是,这会导致现在未分配的空间被擦除,已删除的数据将不再可访问。
在您创建源设备的取证图像并获得预处理和后处理哈希值后,经过几天、几周甚至几个月后,当您再次对源设备进行哈希时,可能会得到不同的哈希值。对于容量大、影像时间长的驱动器,预处理和后处理的哈希值可能不匹配。
如果您能解释 SSD 驱动器的问题,您就不会遇到任何问题。
接下来,我们将继续讨论影像工具。
影像工具
请记住,您不希望在原始媒体上进行调查,特别是 SSD 设备。正如我在前一节中提到的,磨损平衡和trim命令会改变原始证据。有许多取证工具可供您用于镜像需求;我们现在将讨论两个免费可用的工具以及如何创建取证镜像。
FTK Imager
FTK Imager 是 AccessData 提供的免费工具。您可以访问accessdata.com/product-download/ftk-imager-version-4.2.0
,这将帮助您为源设备创建哈希值,对其进行镜像,然后创建后哈希值以验证在镜像过程中未对源设备进行任何更改:
图 3.19:FTK Imager – 创建哈希值
现在我将逐步介绍创建取证镜像的步骤。在使用适当的写入阻断器后,我们将一个 2 GB 的 USB 闪存驱动器(金士顿数据旅行者)连接到系统上。我们现在将获取设备的预哈希值。这个哈希值给出了设备的起始值。此值将用于确定源设备是否发生了任何更改。在上述截图中,您可以看到我们已将物理设备加载到 FTK Imager 中,然后右键单击它以显示验证驱动器/镜像菜单。只需单击验证驱动器/镜像,让 FTK Imager 完成其工作。
结果将在之后显示,如下图所示:
图 3.20:FTK Imager – 驱动器/镜像验证结果
现在我们知道起始哈希值是什么,我们可以继续创建取证镜像:
图 3.21:FTK Imager – 创建磁盘镜像菜单
如前面的截图所示,单击文件菜单,然后选择创建磁盘镜像。
从这里,您将选择您的源。使用 FTK Imager,我们有一些选择要做:
图 3.22:FTK Imager – 选择源菜单
让我们详细讨论每个选项:
-
物理驱动器:物理设备将为我们提供源上的每一位数据。
-
逻辑驱动器:您只会获得分区边界内的数据。如果源设备上有已删除的分区或边界之外的数据,您将无法恢复该数据。
-
镜像文件:如果您想更改取证镜像的格式;例如,将其从
eo1/ex01
更改为dd
镜像。 -
文件夹的内容:您只会获得逻辑数据。您将不会获得已删除的数据或未分配的空间。有时,您可能无法关闭系统以创建物理镜像,例如服务器,因此您必须获取逻辑文件进行分析。
-
Fernico 设备:如果你有一个 Fernico FAR 系统,请使用此选项。
由于我们想获取设备上的所有数据,因此我们将选择 物理驱动器:
图 3.23:FTK Imager – 选择驱动器菜单
然后,你将看到 选择驱动器 对话框。在上面的截图中,显示了许多物理驱动器,因此你必须确保选择正确的设备!
注意
你可以使用 Windows(或你选择的操作系统)磁盘管理器来获取物理设备编号。
我们要选择物理设备 12,它是 Kingston Data Traveler:
图 3.24:FTK Imager – 创建镜像菜单
现在,左键点击 添加 按钮,选择你要保存取证镜像的位置以及你希望创建的取证镜像类型:
图 3.25:FTK Imager – 选择镜像类型菜单
你想创建哪种类型的取证镜像?你有四个选项可供选择:
-
原始(dd)
-
SMART
-
E01
-
AFF
我们已经讨论过两种最常见的格式:dd
和 eo1/ex01
。你还可以创建另外两种类型的取证镜像:
-
SMART:SMART 取证是一个基于 Linux 平台的商业取证工具,由 ASR 提供,可以在
www.asrdata.com
找到。它可以创建压缩或未压缩的取证镜像,并且能够分割取证镜像。 -
AFF:高级取证格式(AFF)是一种用于创建取证镜像的开源格式。设计者的目标是创建一种非专有的取证镜像格式。Simson Garfinkel 和 Basis Technology 最初开发了 AFF(你可能会发现多个专有的非标准化版本 AFF4。这是因为商业组织通过添加/更改 AFF 标准并没有与社区共享这些更改,从而创建了非标准化版本)。
我不记得曾创建过不是 EnCase 格式或 dd
图像的取证镜像。我的偏好是创建 dd
图像,因为它比创建 eo1/ex01
格式的取证镜像更快。一旦检查完成,我将把 dd
图像转换为 eo1/ex01
格式,并进行高压缩以帮助减小文件大小。
一旦你选择了取证镜像格式,你将被要求输入证据项信息(如下图所示),这些信息包括以下内容:
图 3.26:FTK Imager – 证据项信息窗口
让我们详细讨论每个选项:
-
案件编号:这应该是调查的整体标识符。
-
证据编号:这应该是一个标识符,用于帮助你跟踪数字证据。如果你有大量的调查,涉及多个源设备,这将帮助你准确识别正在处理的取证镜像。
-
唯一描述:在这里,我会添加源设备的品牌、型号、容量和序列号。
-
备注:在这里,我会添加一些具体的细节,比如源设备来自笔记本电脑还是台式机。
下一个选项是选择目的地(如以下截图所示),将取证镜像存储在图像目标文件夹中。此存储位置可以是本地计算机附加的存储设备、连接的 RAID 设备或一种网络附加存储(NAS):
图 3.27:FTK Imager – 选择图像目标窗口
接下来,你需要做出关于文件名的选择。我建议使用类似于证据编号的标识符,以避免混淆。
图像碎片大小将会影响文件系统以及数据归档方式。在过去,我使用 2 GB 的碎片大小来确保取证镜像可以在多种文件系统中使用。如果我不预计取证镜像会离开我的环境,我将不会使用碎片化的镜像。
一些文件系统对最大文件大小有所限制。例如,FAT32 的最大文件大小为 4 GB,而 ExFAT、HFS+、APFS 和 NTFS 没有此限制。你必须了解哪些文件系统存在文件大小限制。
我很少使用压缩,因为压缩会增加创建取证镜像的时间。
最后的选项是加密取证镜像。如果你加密了取证镜像,确保使用一个你不会忘记的密码。如果你忘记密码,无法使用该取证镜像。
一旦你完成了所需信息的填写,正如前面的截图所示,你将看到创建镜像窗口,显示你所选择的选项。你还可以选择添加第二个目标,以同时创建两个取证镜像:
图 3.28:FTK Imager – 创建镜像窗口
一旦 FTK Imager 完成创建取证镜像,它将提供一个状态更新,显示已用时间:
图 3.29:FTK Imager – 创建镜像完成窗口
这还会显示结果窗口,如以下截图所示(同时会自动创建一个文本文件,并存储在与取证镜像相同的位置):
图 3.30:FTK Imager – 最终验证窗口
FTK Imager 并不是唯一可以用来创建取证镜像的工具。你还可以使用一个开源取证工具——PALADIN。PALADIN 有很多功能,但在这里我们只讨论它如何创建取证镜像。
PALADIN
SUMURI 的 PALADIN 是基于 Ubuntu 的 Linux 发行版,允许以法医合规的方式收集数字证据。以下截图显示了你启动 PALADIN 后看到的桌面:
图 3.31:PALADIN – 桌面
为了使用 PALADIN 创建法医镜像,我们将遵循与 FTK Imager 相同的一般步骤,唯一不同的是我们不需要使用硬件写保护器。PALADIN 是 Ubuntu 的实时发行版,因此你需要将计算机启动到 USB 设备或 CD/DVD 上。一旦你看到前述截图中的桌面,表示你已准备好开始成像:
-
左键点击 PALADIN 工具箱图标以开始操作。
-
一旦 PALADIN 工具箱打开,左键点击磁盘管理器(如下面的截图所示),以查看系统中连接的设备。你会看到系统上有三台 SATA 设备:
-
SDA–20 GB 硬盘。
-
SDB–256 GB U 盘,带一个分区(sdb1)。
-
SDC–2 GB U 盘。
所有三个设备都以黑色文本表示。
-
-
一旦 PALADIN 挂载设备,文本会变为绿色表示只读访问,变为红色表示读写访问:
图 3.32:PALADIN 工具箱
- 在开始法医成像过程之前,我们必须预先对源设备进行哈希处理。只需选择源设备,然后在磁盘管理器中点击验证按钮。你将看到以下截图中的输出:
图 3.33:PALADIN – 哈希结果
- 在下图中,你现在可以选择源设备、要创建的法医镜像类型和目标位置:
图 3.34:PALADIN – 工具箱成像屏幕
- 当你选择源设备的下拉菜单时,你将看到系统识别的设备列表。这与我们在设备管理器中看到的设备列表相同。选择正确的设备在创建法医镜像时至关重要。在这里,我们将选择
sdc
设备:
图 3.35:PALADIN – 工具箱选择源设备下拉菜单
-
当你选择镜像格式下拉菜单时,会提供更多选项。我们已经讨论过
dd
、e01
和SMART
法医镜像,因此让我们考虑下图中显示的其他选项:图 3.36:PALADIN – 工具箱镜像格式下拉菜单
让我们详细讨论它们:
DMG:这是一个专有的 Apple 磁盘映像文件。它是一个原始的法医镜像。
VMDK:VMware 虚拟磁盘格式。这是一个虚拟化磁盘镜像。
VHD:虚拟硬盘。这是一种虚拟硬盘格式,通常用于 Microsoft Virtual PC、Virtual Server 和 Hyper V Server。
-
你的下一个选择是选择目标设备。使用 PALADIN 时,你必须确保目标设备以读/写模式挂载。我已确保
sdb1
被挂载为读/写,并且有足够的空间来存储法医镜像:
图 3.37:PALADIN – 工具箱目标下拉菜单
- 剩下的就是添加标签,即文件名。我建议使用相同的命名规范来识别不同的证据。由于这是一个 USB 设备,并且它是我第一次创建镜像的设备,我将其标记为
usb001
:
图 3.38:PALADIN – 工具箱镜像器
你还可以选择创建后验证以及是否希望创建分段的法医镜像。
你还可以选择同时创建第二个法医镜像。
一旦法医镜像创建过程完成,PALADIN 将展示给你一个过程日志。如以下截图所示,PALADIN 正在使用dc3dd
创建法医镜像:
图 3.39:PALADIN – 完成的镜像屏幕
就这样,你已经使用 PALADIN 创建了一个法医镜像。
总结
在本章中,我们讨论了证据以及如何验证你的过程和法医工具,以确保结果的准确性。你了解了法医环境的基本要求,以及如何保持对环境的控制。这个环境不仅仅存在于实验室内,还包括你开始法医分析过程的任何时刻。我们已经讨论了如何验证法医工具、创建无菌介质,并探索了不同的写入阻止选项。接下来,我们将探讨如何使用法医工具(如 FTK Imager 和 PALADIN)创建法医镜像,并详细讨论了创建法医镜像的不同格式。现在,我们可以继续探索计算机的运作方式,并了解不同的文件系统。
在下一章中,我们将深入了解计算机系统的工作原理以及你可能遇到的存储设备。
问题
-
数字证据是 _______________。
-
易失性
-
非易失性
-
很好拥有
-
在你有供词时不需要
-
-
为什么在重新使用硬盘存储证据之前擦除它是个好主意?
-
证据链
-
为确保它正确格式化
-
为确保设备上没有先前的数据
-
这是审查员的选择(审查员可以决定行动的方向)
-
-
在创建法医镜像时,你必须使用写入阻止器在源设备上。
-
正确
-
错误
-
-
谁控制法医环境的正确性?
-
嫌疑人
-
第一响应者
-
审查员
-
视情况而定
-
-
检查员必须在使用前验证所有工具。
-
正确
-
错误
-
-
在创建法医镜像时,哪个选项是最佳选择?
-
法医副本
-
法医镜像
-
逻辑法医镜像
-
备份副本
-
-
dd
镜像可以被压缩。-
正确
-
错误
-
答案可以在本书的后面找到,位于评估部分。
进一步阅读
Zatyko, K., 2011。评论:定义数字法医学。摘自 www.forensicmag.com/
。
加入我们社区的 Discord
加入我们社区的 Discord 频道,与作者及其他读者进行讨论:
第四章:计算机系统
正如我们在前几章中讨论的那样,数字取证调查员必须控制他们所操作的环境。计算机硬件、操作系统和文件系统的多样性要求数字取证调查员对可能遇到的各种配置有深刻的理解。这要求数字取证调查员必须有保护数字证据及其检查过程完整性的程序或控制措施。如果你不了解启动过程以及系统启动时的反应,或者不清楚存储设备上使用的是哪种文件系统,你可能会犯下致命的错误。此外,你还必须了解它们是如何协同工作的。不了解这些基本组件可能会导致你篡改数字证据。你还会发现,当你在司法或行政程序中作证时,你的效果会大打折扣。
在本章中,我们将涵盖以下主题:
-
理解启动过程
-
理解文件系统
-
理解 NTFS 文件系统
理解启动过程
要控制环境以开始我们的调查,我们必须理解该环境。在这里,数字证据被存储、创建和访问。在大多数情况下,这将是一个计算机系统。我使用“计算机系统”这个术语,它包括操作系统、文件系统和硬件,这些组成部分结合在一起,构成了一个计算机。为了有效工作,你必须理解数据存储介质、存储设备上使用的文件系统,以及数据在存储设备上是如何被跟踪和访问的。
一旦你理解了这一过程,你就可以实施控制措施,以保护数字证据的完整性。
那么,什么是启动过程呢?当你按下电源按钮并且电流激活系统时,命令被发出。在执行这些命令时,系统像爬楼梯一样一步步地走向运行操作系统的目标。如果某个步骤出现故障,系统将无法加载。
第一步是开机自检(POST);CPU 将访问只读存储器(ROM)和基本输入输出系统(BIOS),并测试主板的基本功能。你在开机时听到的“滴”的声音就来源于此。如果发生错误,系统将通过蜂鸣代码通知你错误。如果没有主板手册,使用 Google 搜索即可帮助你确定具体蜂鸣代码的含义。
一旦POST测试成功完成,BIOS 被激活并执行。请注意,系统尚未访问存储介质。这是因为所有程序执行都发生在主板级别,而非存储设备上。用户可以通过使用显示在屏幕上的正确按键组合来访问 BIOS。
注意
您按正确按键的时间有时可能相对较短。如果您未成功,系统将继续启动并访问存储设备。如果您尝试访问嫌疑人的计算机系统,请在开始之前断开可访问的存储设备。这将确保您不会启动到嫌疑人的存储设备并破坏证据。
BIOS 将包含系统的基本信息:RAM 的大小、CPU 的类型、附加驱动器的信息以及系统的日期和时间。记录这些信息的最简单方法是拍下它显示在屏幕上的照片。这也是您可以更改启动顺序的地方。通常,系统首先检查 CD/DVD,然后是指定的硬盘。这也是我们稍后在本章中创建启动介质时可以更改启动设备设置的地方。更改启动设备告诉 BIOS 访问我们提供的设备,而不是嫌疑人的设备。
在 2010 年,BIOS 功能被 统一可扩展固件接口 (UEFI) 取代。它提供与 BIOS 相同的服务,但进行了以下增强:
-
通过在预启动过程中提供更好的安全性
-
更快的启动
-
将支持大于 2 TB 的驱动器
-
支持 64 位设备驱动程序
-
支持 GUID 分区表 (GPT)
安全启动功能允许我们在启动计算机系统时使用经过认证的操作系统。如果您尝试使用替代的启动设备,这可能会成为一个问题。
如下图所示,一旦打开电源并完成 POST 测试,根据系统的不同,它可能会使用 BIOS 启动,或者可能会使用 UEFI 方案启动:
图 4.1:启动过程
BIOS 将查找引导设备的 主引导记录 (MBR)。MBR 位于第零扇区,保存有关分区、文件系统以及已安装操作系统的引导加载程序代码的信息。一旦在引导加载程序中找到并激活 MBR,控制权将交给操作系统以完成启动过程。
UEFI 会查找 GPT;GPT 会包含一个保护性 MBR,以确保旧系统不会错误地将其识别为未分区并覆盖数据。它还将包含分区条目和备份分区表头。Windows 操作系统的 GPT 磁盘最多可以包含 128 个分区。与 BIOS 方案类似,一旦找到活动分区和引导加载程序,操作系统将接管启动过程。
既然您已经了解了启动过程,我们仍然希望通过创建法医启动介质来控制启动环境,接下来我们将讨论这一部分。
法医启动介质
移除系统硬盘以创建取证镜像是一种广泛使用的做法。然而,有时调查员无法从系统中移除存储设备,需要创建存储设备的取证镜像。为此,你需要使用可启动的 CD/DVD 或 USB 设备来创建取证环境,并生成取证镜像。
使用启动介质时,你需要确保它能创建一个稳定的取证环境,而不会对源设备造成任何更改。正如我们在启动过程中讨论的,我们希望拦截任何可能对源设备的更改,并确保系统在我们控制的环境中启动。尽管仍然可以使用 CD/DVD 启动,但没有光驱的系统变得越来越常见。没有光驱时,我们必须使用 USB 启动设备来创建一个可靠的取证环境,以访问存储设备。
Linux 是一种标准操作系统,通常用于创建基于 USB 的(实时)操作系统,以创建进行设备检查所需的取证环境。如第三章《证据采集》中所述,PALADIN 就是其中一个工具。如果你希望将其预装在 USB 设备上,它可以免费下载和购买。Sumuri 还提供 PALADIN 操作的有限技术支持。
还有一种基于 Windows 的可启动环境,称为 WinFE(Windows 取证环境)。WinFE 是由 Troy Larson 于 2008 年开发的,并且衍生出其他工具,例如由 Brett Shavers 和 Misty 开发的 Mini-WinFE(reboot.pro/files/file/375-mini-winfe/
)。使用 Windows 可启动环境的好处是,你可以使用基于 Windows 的取证工具。在这个安全环境中,X-Ways 或 FTK Imager 是可以运行的。我不推荐使用资源占用较大的工具。我的意思是,一些取证套件,如 EnCase Forensic 或 FTK,需要大量的资源才能有效运行。X-Ways 可以从 USB 设备上运行,一些特定工具如 RegRipper 也可以。
与任何工具或程序一样,你必须验证它以确保得到预期的结果。这意味着,在你去现场利用取证 USB 设备启动嫌疑人计算机之前,你必须在实验室环境中进行测试,以确保不会做出任何更改。
作为检查员,在使用可启动 USB 设备时,需要关注的一些挑战包括以下几点:
-
确保系统能够从设备启动,而不是从内部硬盘启动,需要在 BIOS 中更改启动顺序
-
在一些系统中,在启动过程中很难在规定时间内访问 BIOS
-
确保系统可以从 USB 设备启动——一些较老的系统无法支持
-
了解可启动设备能够写保护哪些文件系统,哪些文件系统不能写保护
-
处理 UEFI 引导过程中的安全启动功能
如前所述,安全启动是 UEFI 过程中的一个安全特性,允许受信任的操作系统启动系统。因此,如果我们要使用可引导的取证操作系统,必须禁用安全启动功能。
你必须通过按下快捷键进入 UEFI 环境,例如F2或F12(这取决于计算机制造商)。进入设置实用程序后,导航到安全菜单(这可能因计算机制造商而异),并禁用安全启动选项。一些 Linux 发行版和 WinFE 已获得签名状态,并能够在启用安全启动的系统上启动。
在整个过程中,你必须记录你的步骤。例如,如果你错过了按下快捷键并开始了主操作系统的引导过程,你必须记录下这一事件。即使是开始部分引导,也会改变时间戳并在操作系统的各种日志中留下条目。
现在你了解了什么是可引导的取证设备,让我们在下一节中继续创建一个。
创建可引导的取证设备
要创建一个可引导的取证设备,你需要一个 USB 设备(我建议使用 8GB 或更大的设备)以及一个你希望安装的操作系统的 ISO 文件。我将演示使用 PALADIN 的 ISO 和名为 Rufus 的免费软件(https:/rufus.ie/)。Rufus 是一个用于创建可引导 USB 设备的工具。
下载 Rufus 后,执行可执行文件,程序将运行:
图 4.2:Rufus
会出现类似上图(Rufus)的界面,你需要从下拉菜单中选择合适的选项:
-
设备:这是目标位置。它是你希望托管可引导操作系统的 USB 设备。
-
引导选择:这将是“实时”操作系统。在这里,我使用的是 PALADIN 7.04 的 ISO 文件。
-
分区方案:你可以选择使用 MBR 或 GPT。使用 MBR 将为你提供更大的设备引导灵活性。
-
目标系统:选择 MBR 作为分区方案后,你可以在 BIOS 或 UEFI 系统上使用该设备。如果你选择 GPT 作为分区方案,则只能在 UEFI 系统上使用。
在格式选项下,接受默认值,然后点击开始按钮。一旦程序完成,你将拥有一个完全功能的可引导取证环境。
我们已经创建了一个取证引导环境;现在让我们讨论你将遇到的存储介质。接下来我们将讨论硬盘。
硬盘
“物理驱动器存储设备”一词指的是硬盘驱动器本身。这是一个物理设备,包含盘片或固态存储,用于保存数据。而“逻辑设备/卷/分区”指的是物理设备的格式化。一个物理设备可以包含一个或多个逻辑设备/卷/分区。很多人误认为“C 盘”指的是物理设备,但实际上,它指的是物理设备上的一个逻辑分区。
硬盘的内部由多个组件组成(如下图所示)。如果你打开硬盘外壳,你会发现硬盘由一个或多个盘片组成。一个或多个盘片可能会堆叠在一起,并且中央有一个主轴。盘片由金属合金或玻璃制成,表面涂有磁性物质,磁头通过磁性方式在盘片上编码信息。磁头可以在盘片的两面写入数据。硬盘的主轴使盘片以每分钟几千转的速度旋转;主轴旋转得越快,访问盘片上数据的效率就越高。为了读写盘片上的数据,磁头与盘片表面之间的距离小于0.1微米。此外,执行器控制磁头,它会在盘片上摆动,将磁头放置到正确的位置以进行数据的读取或写入。
存储设备的制造精度非常高,且在突发的剧烈移动或机械冲击下可能会损坏:
图 4.3:硬盘
硬盘可能会有不同的接口,例如,你可能会遇到以下几种:
-
小型计算机系统接口(SCSI):一种较旧的标准,通常在企业环境中使用。最多支持 16 个连接设备,并且链条末端会有终端装置。
-
集成驱动电子(IDE/EIDE):一种旧标准,但在一些老旧的消费类计算机系统中仍然可以找到。
-
串行高级技术附件(SATA):当前在许多消费类和商业环境中使用的标准。
-
串行附加 SCSI(SAS):一种当前标准,通常出现在商业环境中。
固态硬盘(SSDs)是没有任何活动部件的存储设备。它们由内存芯片组成。如我们之前讨论的,传统硬盘有多个活动部件,用于读取/写入数据到旋转的盘片上。而在 SSD 存储设备中,所有数据都存储在内存芯片中,从而带来了以下优点:
-
减轻重量
-
提高可靠性
-
提升数据访问速度
-
降低功耗
为了使 SSD 能够可靠地工作,设备的固件会控制若干操作。这些功能如下:
-
磨损平衡:这会将写入操作分布到不同的芯片上,从而使芯片的使用速率保持一致。
-
修剪:这将清除设备的未分配空间。
-
垃圾回收:当固件扫描内存模块时,它可能会识别出数据块中已经删除的页面。固件将把已分配的页面移动到新的块,并清除数据块以便重新使用这些块。固件只能在块级别删除数据。
对取证的实际影响是,我们无法再恢复处于或曾处于未分配空间中的数据。由于这些操作是在固件层进行的,一旦设备通电,这些操作就会自动启动。
驱动器几何结构
硬盘驱动器几何结构详细说明了数据如何存储在设备上;驱动器几何结构定义了磁头的数量、轨道的数量、柱面以及每轨道的扇区数。制造商进行所谓的低级格式化,创建磁盘的基本结构,定义扇区和轨道。轨道是盘面表面上的圆形路径,如下图所示。红色圆圈(A)是单个轨道,每个盘面都有自己的轨道集合。然后,他们将轨道划分为扇区。一个扇区(B)是设备上的最小存储单位。
最初,扇区的大小是 512 字节;然而,新的磁盘正在使用 4,096 字节的扇区大小进行格式化:
图 4.4:驱动器示意图
磁盘有一种寻址方案来定位数据;最初使用的是柱面、磁头、扇区(CHS)。柱面指的是所有磁盘上相同扇区的垂直轴。磁头指的是读写磁头;每个盘面有两个磁头。最后,扇区指的是每轨道的扇区数量。这个寻址方案适用于大容量硬盘;然而,随着存储容量的增加,由于文件大小的限制,CHS 方案无法扩展,因此出现了逻辑块寻址(LBA)。通过 LBA 方案,你可以通过从零开始的扇区编号来寻址扇区。
现在,我们已经讨论了设备的物理组件。接下来,我们将深入探讨一些内部方面。
MBR(主引导记录)分区
在计算机系统可以使用存储设备之前,需要进行三个步骤。首先,我们讨论了由制造商进行的低级格式化,但现在我们将讨论分区。
分区是指我们将物理设备划分为称为“卷”的逻辑片段。在 MBR 分区方案下,我们最多只能创建四个主分区。例如,在一个物理设备上,你可以创建一个主分区来承载 Windows 操作系统,另一个主分区用来承载 Linux 操作系统。请注意,必须有一个主分区才能启动操作系统。当用户选择启动的操作系统时,这个分区就是活动分区。
为了突破分区限制,开发人员创建了扩展分区。四个分区记录中的一个被指定为扩展分区,该分区可以进一步划分为逻辑卷。
如我们之前讨论的,我们可以在零扇区找到 MBR。MBR 包含操作系统启动所需的信息。MBR 将位于零扇区,因此其大小不超过 512 字节。分区表会显示哪个分区是活动分区。一旦找到活动分区的起始扇区,启动过程将继续:
图 4.5:MBR 映射
上面的 MBR 映射显示了硬盘的零扇区。这是物理磁盘的 MBR。前 440 字节已被高亮显示;这部分是启动代码。接下来的 4 字节是磁盘签名,用于将磁盘标识给操作系统。接下来的 64 字节是分区表。每个 16 字节的条目都指向一个特定的分区。请记住,这将限制我们在使用 MBR 分区方案时只能创建 4 个主分区。最后的 2 字节是 MBR 的签名,标识 MBR 的结束,它将是扇区的最后 2 字节。
在下表中,我提取了四个分区表并重新格式化了十六进制值,便于阅读。第一个字节将指示哪个分区是活动分区。x/80
的值表示活动的可启动分区。
x/00
的值表示非活动(可启动)分区:
图 4.6:分区表
通常情况下,你会看到第一个分区被标记为活动分区;在这个例子中,它是第二个分区,表示它是可启动的。接下来的 3 字节表示 CHS 计算的起始扇区。因此,当我们检查分区表时,我们会看到物理设备上有分区 0 和分区 1,分区 2 和分区 3 的条目为零。这意味着物理设备上只有两个分区。
第五个字节表示分区上的文件系统。对于分区 0,我们可以看到 DE 的十六进制值,这表明它是戴尔 PowerEdge 服务器工具的一部分。分区 1 的十六进制值为 07,表示 NTFS 文件系统。
如果我发现十六进制值为 05 或 0f,那将表示扩展分区。然后我们需要查看扩展分区的扩展引导记录。
注意
你可以在www.win.tue.nl/~aeb/partitions/partition_types-1.html
找到分区标识符的完整列表。
接下来的 3 个字节是 CHS 计算中用于结束扇区的值。接下来的 4 个字节显示分区的起始扇区,最后 4 个字节显示分区的大小。
在 CHS 计算中使用的扇区值是旧版存储设备的遗留值。显示起始扇区和总扇区数(分区大小)的值仍被用于当前使用 LBA 的驱动器。
每个分区的第一个扇区将包含卷引导记录(VBR)。系统使用 VBR 来引导该卷中的操作系统。它是操作系统特定的产物,并在分区格式化时创建。
它也会出现在未分区的设备上,例如可移动介质,比如 USB 驱动器或软盘。
主分区并不是你可能遇到的唯一分区;你还可能遇到扩展分区,这将是下一节的内容。
扩展分区
MBR 的限制只能容纳四个主分区,因此产生了扩展主分区。在这里,它替代了一个(且仅一个)主分区,并使用户能够在四个主分区之上创建额外的逻辑分区。
下图展示了一个主分区被扩展分区替代的情况:
图 4.7:分区映射
下图展示了扩展分区。在这里,用户已经在扩展分区边界内创建了多个逻辑分区:
图 4.8:扩展分区映射
扩展分区没有 VBR。它将包含一个扩展引导记录(EBR),指向第一个扩展逻辑分区。第一个扩展逻辑分区将包含关于它本身的信息以及指向下一个扩展逻辑分区的指针。实际上,这将创建一个从一个扩展逻辑分区到下一个的指针链。
我们现在已经讨论完了与 MBR 相关的部分,接下来我们将讨论 GPT 格式的内容。
GPT 分区
GUID 是全局唯一标识符,使用 128 位十六进制值来标识计算机系统的不同方面。一个 GUID 由五组组成,格式为00112233-4455-6677-8899-aabbccddeeff
,虽然没有中央机构来确保唯一性,但可以说你不太可能得到重复的 GUID。
RFC 4122 定义了五种不同的 GUID,如下所示:
-
版本 1:日期时间和 MAC 地址:系统通过当前时间和客户端 MAC 地址生成此版本。这意味着,如果你有一个版本 1 的 GUID,你可以通过检查时间戳值来确定它的创建时间。
-
版本 2:DCE 安全性:此版本在 RFC 4122 中未明确定义,因此不必由符合标准的生成器生成。它类似于版本 1 GUID,只是时间戳的前四个字节被用户的 POSIX UID 或 GID 替代,时钟序列的高字节被 POSIX UID 或 GID 域替代。(UID 代表 用户标识符。POSIX 代表 可移植操作系统接口,它是一组确保操作系统之间兼容性的标准。)
-
版本 3:MD5 哈希和命名空间:此 GUID 通过取一个命名空间(例如,完全限定的域名)和一个名称,将其转换为字节,进行连接,并进行哈希处理。确定了版本和变体等特殊位后,它会将结果字节转换为十六进制形式。关于此版本的特殊属性是,从同一命名空间中相同名称生成的 GUID 即使在不同时间生成也将是相同的。
-
版本 4:随机:系统使用随机数创建此 GUID。在 GUID 的 128 位中,保留了 6 位供特殊使用(版本 + 变体位),因此剩余的 122 位可以随机填充。
-
版本 5:SHA-1 哈希和命名空间:此版本与版本 3 相同,唯一的区别是哈希步骤中使用了 SHA-1,而不是 MD5。
GPT 是一种用于新型存储设备的分区方案,并且是新的 UEFI 标准的一部分。UEFI 标准替代了 BIOS,而 GPT 替代了 MBR 分区方案。
GPT 分区方案使用 LBA,并且在物理扇区零中可以找到保护 MBR。保护 MBR 允许一定的向后兼容性,并有助于消除在使用不识别 GPT 分区方案的传统工具时出现的任何问题。保护 MBR 中没有可用的引导代码。如以下图所示,这是保护 MBR 分区表的第一个分区项。该分区由十六进制值EE标识,表示它是一个 GPT 分区磁盘,如下所示的 GPT 十六进制:
图 4.9:GPT 十六进制
虽然 MBR 包含物理扇区 0
中的分区表,但 GPT 将分区表头放置在物理扇区 1
中。GPT 头可以通过十六进制值 45 46 49 20 50 41 52 54
的 EFI 标识符来识别,如下图所示:
图 4.10:EFI 分区
下表显示了 GPT 头的布局,您可以用它来识别磁盘的布局:
图 4.11:GPT 头格式
GPT 分区项通常位于物理扇区 2
中。下图显示了 GPT 分区表项:
图 4.12:GPT 扇区 2
每个分区条目为 128 字节,提供有关分区的信息。下表展示了分区条目的内容,包括分区类型 GUID、该特定分区的唯一 GUID、起始和结束扇区以及分区名称(以 Unicode 表示):
图 4.13:GUID
一个分区应该存储磁盘内该分区边界内的所有数据;然而,磁盘上也有一些超出正常分区边界的空间,技术用户可以在这些区域中隐藏数据。接下来我们将讨论这些区域。
主机保护区域(HPA)和设备配置覆盖(DCO)
HPA 和 DCO 是硬盘上的隐藏区域,由制造商创建。制造商使用 HPA 来存储恢复和诊断工具,用户无法更改或访问这些工具。DCO 允许制造商使用标准部件来制造不同的产品。它将使在组件上创建一组标准扇区成为可能,从而实现统一性。例如,制造商可能会使用一组部件来制造 500 GB 的硬盘,而在使用相同组件的情况下,也能制造 600 GB 的硬盘。通常,用户无法访问这个位置。然而,一些工具是公开可用的,用户可以使用这些工具来访问这些位置并存储数据。
以下截图显示了 HPA 在 X-Ways 中的显示方式:
图 4.14:HPA 1
以下截图显示了 HPA 在 FTK Imager 中的显示方式:
图 4.15:HPA 2
接下来让我们继续讨论一些你可能会遇到的文件系统。
了解文件系统
一个硬盘可以有多个分区,每个分区内通常(在大多数情况下)都有一个文件系统。一个分区中可能包含数十万到数百万个文件。文件系统跟踪每个文件的位置以及分区边界内可用的空间。
我们在硬盘部分中已经讨论过扇区;它们是存储数据的最小单位。文件系统基于簇来存储数据。簇由一个或多个扇区组成。簇是文件系统能够写入的最小分配单元。文件系统有很多种,一些文件系统仅限于特定操作系统,除非用户启用驱动程序,否则操作系统无法读取这些文件系统。
现在我们来看看一些你可能会遇到的常见文件系统。
FAT 文件系统
文件分配表(FAT)文件系统自家庭计算机的早期便已存在,它是少数几种几乎所有操作系统都能读取的文件系统之一。它是可移动设备的事实标准文件系统。
随着时间的推移,FAT 文件系统经历了许多变化:
-
FAT12:第一个版本创建于 1977 年,使用 12 位(因此称为 FAT12)来寻址可用簇。这使得它只能用于包含 4,096 个簇的存储设备。如今很少见,但你可能会在软盘中找到它。
-
FAT16:这是 1984 年创建的,使用 16 位(我看到一个规律)来寻址可用簇。它与 FAT12 有相同的问题,无法扩展到更大容量的设备上使用。
-
VFAT:这是 Windows 95 引入的,并添加了虚拟文件分配表。它支持长文件名(LFN)和额外的时间戳。
-
FAT32:此格式使用 28 位地址可用的簇,理论上最大卷大小为 2.2 TB。微软实施了限制,将卷大小限制为 32 GB,最大文件大小为 4 GB。它至今仍在使用,并且可以在大多数可移动设备上找到。
我们将在本节剩余部分讨论 FAT32 文件系统。
FAT 文件系统分为两个区域(如以下图示所示,图 4.16 – FAT 区域):
-
系统区:这里存储卷启动记录和 FAT 表
-
数据区:这里存储根目录和文件:
图 4.16:FAT 区域
接下来,我们将讨论系统区中的内容。
启动记录
我们在系统区有VBR。它位于逻辑扇区 0(LS 0),即分区边界内的第一个扇区。启动过程在分区格式化时创建 VBR,并包含有关卷和启动代码的信息,以继续操作系统的启动过程。如果它是主分区,VBR 将由多个扇区组成,通常是扇区 0、1 和 2,并在扇区 6、7 和 8 中有备份。VBR 及其备份存储在“保留区域”,通常位于第一个文件分配表开始之前的 32 个扇区:
图 4.17:VBR
在前面的图示中,我们可以看到一个卷启动扇区,它有助于解码以下信息:
-
x00
:我们将在此找到系统继续启动的跳转指令 -
x03
:OEM ID 显示了用于格式化设备的操作系统 -
x0B
:每扇区字节数 -
x0E
:保留扇区的数量 -
x10
:FAT 的数量(这应该是 2) -
x11
:未使用的根目录条目(对于 FAT32,这应该是 0,因为根目录存储在数据区) -
x13
:扇区数(如果扇区数量超过 65,536,则此值为 0) -
x15
:介质描述符(xF8
表示硬盘,xF0
表示可移动设备) -
x16
:每个 FAT 的扇区数(对于 FAT32,这应该是 0) -
x18
:每磁道扇区数(对于硬盘来说,这应该是 63) -
x1A
:磁头数(对于硬盘来说,这应该是 255) -
x1C
:隐藏扇区的数量(FAT 卷开始前的隐藏扇区数量) -
x20
:总扇区数(即卷的总扇区数) -
x24
:每个 FAT 的逻辑扇区数 -
x28
:扩展标志 -
x2A
:FAT 版本 -
x2C
:根目录集群的起始位置(通常为集群 2) -
x30
:文件系统信息扇区的位置(通常设置为 1) -
x32
:备份扇区的位置(通常设置为 6) -
x34
:保留(设置为 0) -
x40
:物理驱动器号(硬盘为x80
) -
x41
:保留 -
x42
:扩展引导签名(应为x29
) -
x43
:卷标序列号(通常是从日期和时间生成的 32 位值;可以追踪可移动设备) -
x47
:卷标(这可能不准确;不同的操作系统可能不使用此字段) -
x52
:文件系统类型
接下来,我们将查看文件分配表。
文件分配表
FAT 文件系统的下一个组成部分是文件分配表,它紧接着 VBR。默认情况下,有两个文件分配表(FAT1 和 FAT2)。FAT2 是 FAT1 的副本。
文件分配表的目的是追踪集群并追踪哪些文件占用了哪些集群。每个集群在文件分配表中以集群 0 开始表示。文件分配表每个集群条目使用 4 个字节(32 位)。文件分配表将使用以下条目来表示集群的当前状态:
-
未分配:
x0000 0000
-
已分配:文件使用的下一个集群(例如,它表示集群 7 为
x0700 0000
) -
已分配:文件使用的最后一个集群(
xFFFF FFF8
) -
坏集群:不可用(
xFFFF FFF7
)
集群是文件系统能够寻址的最小分配单元。扇区是磁盘上的最小分配单元。一个集群由一个或多个扇区组成。如果你混淆了这两个术语,很容易产生困惑。考虑以下集群示例:
图 4.18:集群示例
随着用户向数据区添加文件,系统将更新文件分配表。一个文件可能占用一个或多个集群。此外,集群可能不是连续的,因此文件的数据可能分布在磁盘的不同物理位置;我们通常称之为碎片化。
在下图中,我们可以看到文件分配表的表示;在此场景中,我们有一个文件占用了三个集群:集群 4、集群 5和集群 6。你可以看到,集群 4指向集群 5,集群 5指向集群 6。集群 6的十六进制值表示文件结束(EOF):
图 4.19:非碎片化的文件条目
在以下图示中,我们可以看到文件分配表的类似表示,且做了一些修改。现在有两个文件,文件 1 占用了簇 4 和 6。我们可以看到,簇 4 指向包含文件数据的下一个簇,即 簇 6。这是文件碎片化的一个示例。文件 2 完全包含在 簇 5 的边界内。
簇 5 不会指向后续簇;相反,它具有 EOF 十六进制值:
图 4.20:碎片化文件条目
我们已经讨论了 FAT 的系统区,现在将讨论 FAT 文件系统的数据区。
数据区
根目录存放在数据区,因为当系统将其存储在系统区时,它无法增长到足以与大容量设备配合使用。根目录的关键组成部分是目录项。如果有文件、目录或子目录,就会有相应的目录项。
每个目录项的长度为 32 字节,帮助跟踪文件的名称、起始簇和文件大小(以字节为单位)。
在以下图示中,我们可以看到一个包含多个文件条目的 FAT32 目录。当文件系统遇到十六进制 00
时,它会停止寻找文件条目,之后的所有值都将被忽略:
图 4.21:FAT 目录项
在下面的 FAT 目录映射中,我们可以看到目录项的布局,以及带有特定偏移量高亮显示的短文件名(SFN)目录项:
图 4.22:FAT 目录映射
如果第一个字节是 xE5
,则文件系统会将该条目视为已删除。文件或目录名称的其余字节将保留,其他元数据也会保留。
短文件名必须符合以下规范:
-
允许八个字符;如果少于八个字符,则名称将用
x20
填充。 -
为文件扩展名分配三个字符(如果少于三个字符,则名称将用
x20
填充)。 -
不允许使用空格和以下字符:“+ * , . / : ; < = > ?[]|。
目录项始终以大写字母存储。属性字节(偏移量 x0B
)被视为打包字节,这意味着不同的值具有不同的含义。
以下图示显示,属性
标志中的位值可以组合,结果的十六进制值将反映这些组合。如果文件具有只读标志和隐藏标志,那么这将给我们一个值 0000 0011
,转换为十六进制后得到值 x03
:
图 4.23:打包字节
当我们查看前面 FAT 目录映射底部的示例时,我们会发现在偏移位置x0B
处有一个十六进制值为 20;当我们将该十六进制值转换为二进制时,得到 0010 0000
。这告诉我们该文件是一个归档文件。
我们也会遇到 长文件名(LFN);处理长文件名的方法稍微复杂一些。我们将在下一节讨论 LFNs。
长文件名
当用户创建一个长文件名(LFN)时,系统会生成一个符合 SFN 标准的别名。它会格式化这个别名,使得前 3 个字符会成为文件扩展名点后的扩展名。前 6 个字符会转换为大写并用于别名。然后,别名会添加一个 ~ 字符,并跟随一个数字。如果有多个文件具有相同的别名,数字会从 1 开始并逐渐增加。
下图显示了一个带有长文件名(LFN)的文件目录项;文件名为 long filename.txt
:
图 4.24:长文件名(LFN)
由于这是一个长文件名(LFN),文件系统将创建额外的目录项。在这个特定的例子中,将会有两个额外的目录项来方便使用 LFN。每个额外目录项的第一个字节是序列字节。右边的半字节是序列号。我们看一下前面图示的目录项,SFN 目录项上方的目录项的十六进制值为 x01
。这里,1
的值告诉我们这是序列中的第一个值。当我们移动到第二个目录项时,可以看到它的十六进制值为 x42
,右边的半字节告诉我们这是该 LFN 文件的第二个目录项。值的左边半字节 4
告诉我们这是文件的最后一个目录项。在每个 LFN 目录项中,你会发现属性字节是 x0F
。
但当一个文件被删除时会发生什么呢?你或许可以恢复文件及其相关的元数据。在接下来的部分,我们将讨论如何恢复已删除的文件。
恢复已删除的文件
当文件在 FAT 文件系统中被删除时,数据本身不会被改变。相反,目录项的第一个字符会被改为 xE5
,而文件分配表中的条目会被重置为 x00
。当文件系统读取目录项并遇到 xE5
时,它会跳过该条目,继续读取随后的条目。
要恢复已删除的文件,我们需要逆转文件系统删除文件的过程。记住,文件内容本身并没有改变,它们仍然物理地存储在它们分配的簇中。因此,我们现在需要逆向工程来恢复删除操作,并重新创建文件目录项以及文件分配表中的相关项。为此,我们需要找到文件的第一个簇、文件大小以及卷中簇的大小。
在下图中,我们有一个目录项,显示文件已被删除。我们可以看到目录项的开始位置是xE5
。(注意,这需要使用十六进制编辑器进行更改。)
然后,我们必须确定起始簇,x00``x08
(在图中显示为x08 x00
)。这个值表示簇编号 8。接着,要确定文件大小,请查看最后 4 个字节,x27 x00 x00 x00
(记住 FAT 文件系统以小端格式存储数据,这意味着最不重要的字节在左边,所以我们读取该值为x00 x00 x00 x27
,转换为十进制时,文件大小为 39 字节):
图 4.25:已删除的条目
现在,我们必须确定一个簇包含多少个扇区,以及每个扇区的大小。你需要去启动记录中获取这些信息。启动记录告诉我们每个扇区有 512 字节,每个簇有 8 个扇区,这样簇的大小为 4,096 字节(如下图所示):
图 4.26:启动记录
这意味着我们的文件将只占用一个单独的簇。然后,我们转到文件分配表,查看簇 8 的条目,并看到它已被清零:
图 4.27:已删除的 FAT
要恢复已删除的文件,执行以下步骤:
-
你需要将文件分配表中的条目从
x0000 0000
更改为xFFFF FFF8
或xFFFF FF0F
。如果这是一个较大的文件,你需要将文件分配表条目更改为指向下一个簇,直到你到达最后一个簇和文件大小的末尾。当你重新链接条目时,如果你发现一个标记为已分配的条目,而你本应找到未分配的条目,可能是你遇到了碎片化文件。另一种可能是,当簇被文件系统释放时,系统将新文件放入当前可用的扇区中,这会导致数据被覆盖。如果遇到这两种情况之一,你的选择不多。如果数据被覆盖,你将无法恢复。如果文件碎片化,你需要猜测下一个簇的位置,这在大容量设备上是不太可能的。 -
下一步是返回目录项,并将
xE5
替换为另一个字符。在替换目录项中文件名的xE5
字符时,要小心不要猜测字符是什么。如果选择了不正确的字符,可能会改变文件名的含义或产生偏差,这样会不正确。在恢复已删除文件时,建议将第一个字符替换为下划线或短横线,以避免对文件名的误解。
在恢复具有 LFN(长文件名)的文件时,必须将 LFN 重新链接到 SFN(短文件名)。这是因为当为容纳 LFN 而创建额外的目录时,系统会根据 SFN 的数据创建一个校验和。因此,当你更改 SFN 条目上的xE5
值时,你也需要对 LFN 目录条目的后续xE5
值使用相同的替代字符。将 LFN 链接到 SFN 是因为 SFN 目录条目包含了诸如日期和时间、起始簇以及文件大小等信息。
仍然有可能恢复磁盘上曾存在但在文件系统中不再有任何痕迹的数据。这些信息会存储在空闲空间中,稍后会在下一节中讨论。
空闲空间
现在是时候提到空闲空间了。记住,文件系统可以写入的最小单位是簇,簇由一个或多个扇区组成。我一直重复这一点,是因为我见过许多新手对两者之间的区别感到困惑。这一点非常重要,因为文件的大小各异;几乎没有文件会恰好适合簇的边界。因此,你会遇到文件溢出到下一个簇的情况。逻辑文件的末尾与簇边界之间的空间被称为“文件空闲”。这个空闲空间可能包含来自前一个文件的数据。直到这些数据被覆盖,它们才会消失,留给你进行检查。
你可能会发现文件、数字图像、聊天记录或电子邮件的痕迹;任何曾经存储在设备上的数据,在用户删除文件后,可能会在空闲空间中找到残留数据。
本节讲解完毕,FAT 文件系统部分结束;接下来是 NTFS。
理解 NTFS 文件系统
新技术文件系统(NTFS)是 Microsoft Windows 操作系统的默认文件系统。FAT32 存在一些显著的缺点,迫切需要一个更可靠和高效的文件系统,并且在管理上做出改进,以帮助 Microsoft 在企业环境中保持竞争力。他们最初为服务器环境设计了 NTFS;然而,随着硬盘容量的增加,它现在成为 Windows 操作系统在商业和消费市场中的默认文件系统。
NTFS 比 FAT 文件系统复杂得多;然而,它的总体目的保持不变:
-
记录文件的元数据,即文件名、日期时间戳和文件大小
-
标记文件占用的簇
-
记录哪些簇已分配,哪些簇未分配
NTFS 文件系统包括以下系统文件:
图 4.28:NTFS 表
要识别 NTFS 分区,我们需要查看 MBR 或 GPT,这取决于使用了哪种格式化方案。在下图中,我们可以看到硬盘的 MBR 和在引导代码后高亮显示的分区表:
图 4.29:NTFS MBR
查看分区表时,我们可以看到有一个单一的分区,并且在分区表开始处偏移十进制 11
的位置,我们可以看到十六进制值 07
。正如我们在本章前面讨论的那样,这是 NTFS 的文件系统标识符。
在 NTFS 格式化的分区中,我们看不到像 FAT 格式化分区那样的系统或数据区域。NTFS 中的一切都被视为文件,包括系统数据。当我们查看 VBR 时,可以看到它包含系统继续引导过程所需的信息:
图 4.30:NTFS VBR
VBR 中的信息是一个文件;$Boot
记录包含了我们在 VBR 中期望找到的所有信息。以下 $Boot
图示展示了 $Boot
文件的数据结构:
图 4.31:$Boot 记录
可以说,NTFS 文件系统中最重要的系统文件是 $MFT
(主文件表)。MFT 跟踪卷中的所有文件,包括它自身。它通过称为文件记录的文件条目跟踪 MFT 中的每个文件。每个文件记录都是唯一编号的,大小为 1,024 字节。每个文件记录以一个头部开始,头部包含 ASCII 文本 “FILE”,并具有十六进制的 FF FF FF FF
作为 EOF 标记。当文件被添加到卷时,会创建一个新的文件记录。如果文件已被删除,该记录会被清零并准备好再次使用。MFT 会寻找一个空的文件记录并在创建新记录之前使用它。文件记录可以很快被重用,这会覆盖文件记录中的先前数据。
如下所示的 NTFS 文件记录示例中,我们可以看到一个文件记录和文件头,文件头以 FILE 的 ASCII 值开始。如果记录已损坏或出现错误,你将看到 BAAD 的 ASCII 值。文件头大小为 56
字节:
图 4.32:NTFS 文件记录
在以下 NTFS 文件记录映射中,我们可以看到文件记录头的数据信息结构:
图 4.33:NTFS 文件记录映射
文件记录还包含称为文件属性的已定义数据块。这些数据块存储关于文件的特定类型信息。以下文件属性表显示了在几乎每个记录中可能看到的几个常见文件属性:
图 4.34:文件属性表
让我们详细看看这些属性。
$Standard_Information Attribute (0x10)
:文件属性位于文件头之后,包含有关文件的信息,有时还包括实际文件本身。以下图示展示了文件属性。前四个字节表示属性类型;在本例中,它是$10
标准信息属性,包含一般信息、标志、访问时间、写入时间、创建时间、所有者和安全 ID。它通过十六进制头x/10 00 00 00
进行标识。文件属性映射包含解码后的值:
图 4.35:$Standard_Information
属性
以下是你将在属性中找到的值的映射:
图 4.36:文件属性映射
$File_Name Attribute (0x30)
:下一个属性是$30
文件名属性。此属性存储文件名,并且总是常驻的。文件名的最大长度为 255 个 Unicode 字符。它通过十六进制头x/30 00 00 00
进行标识:
图 4.37:$File_Name
属性
以下是你将在属性中找到的值的映射:
图 4.38:文件名属性映射
$Data Attribute (0x80)
:此条目的下一个属性是$80
数据属性。数据属性包含文件的内容或指向卷中内容的指针。此属性即为文件数据本身。
如果数据属性是常驻的,我们只会看到属性头和常驻内容头。属性的常驻内容即文件数据。只有小文件才会有常驻数据属性。我们将在本章后面讨论常驻数据与非常驻数据的区别。
每个文件可能会有多个数据属性。在此记录中,第二个$80
数据属性,Dropbox,已向文件添加了一些信息:
图 4.39:$Data
属性
以下是你将在属性中找到的值的映射:
图 4.40:数据属性映射
当检查$Data Attribute 0x80
时,文件系统可能会将文件的内容存储在 MFT 文件记录中。由于文件记录为 1,024 字节,因此它必须是一个小文件。当文件的内容适合文件记录时,它被称为“常驻数据”:
图 4.41:常驻数据文件
在当前示例中,我们有一个名为resident.txt
的文件,大小为 23 字节。这比文件记录的 1,024 字节要小。要查看文件的数据,我们需要查看文件记录中的$Data Attribute 0x80
,如下所示:
图 4.42:常驻数据示例
检查属性时,我们可以看到在前面驻留数据示例中观察到的文件内容的 ASCII 和十六进制表示。当处理一个非驻留文件时,如下图所示,我们可以看到nonresident.txt
文件,其大小为 145 KB,超过了 1,024 字节的文件记录:
图 4.43:非驻留数据
当你查看文件的$Data Attribute 0x80
时,如前图所示,我们并没有看到文件的内容,而是看到了指向文件在卷边界内位置的指针。我们将其视为非驻留内容。一旦属性的内容变为非驻留,它将永远无法变为驻留内容。我们通常将文件记录中的属性指针称为“运行列表”,用于非驻留数据的运行:
图 4.44:非驻留数据示例
在$Data Attribute
0x80
中,你可以有单个数据运行或多个数据运行。解读数据运行的运行列表可能是棘手的。在以下运行列表中,我们有$Data Attribute 0x80
,其中包含两个运行列表:
图 4.45:运行列表
如果文件没有碎片化,那么你将会有一个指向数据运行的运行列表。如果文件被碎片化(这非常常见),那么你将会有多个运行列表,提供每个碎片的起始簇的信息。我已经提取了前面列表中标出的两个运行列表,并创建了如下图表:
图 4.46:运行列表图
第一个运行列表由十六进制值31 07 E8 E3 48
组成。取头部的第一个字节(x/31
),并加上左右半字节(3+1 = 4)。4 是运行列表条目的字节数(即x/07 E8 E3 48
)。
右边的半字节(x/1
)告诉我们,1 个字节表示该碎片所使用的簇的数量。我们在长度字段中找到了x/07
,这表示该碎片使用了 7 个簇。左边的半字节(x/3
)告诉我们,3 个字节(x/E8 E3 48
)将表示碎片的逻辑起始簇。在第一个运行结束时,我们有一个第二个运行列表x/31 14 44 47 17
。
像之前的运行列表一样,我们取头部的第一个字节(x/31
),并加上左右半字节(3+1 = 4)。4 就是运行列表条目的字节数(即x/14 44 47 17
)。右边的半字节(x/1
)告诉我们,1 个字节表示该碎片所使用的簇的数量。我们在长度字段中找到了x/14
,这表示该碎片使用了 20 个簇。
左边的半字节(x/3
)告诉我们,3 个字节(x/44 47 17
)将表示从前一个运行列表集群的偏移量。这个过程会一直进行,直到系统遇到 x/ 00 00 00 00
,这表示运行列表的结束。
这就是我们对 NTFS 世界的探险。如果你感到头疼,别担心,你并不孤单!这仅仅是文件系统的基础知识。如果你想深入了解,可以找到关于 NTFS 的整本书籍。
总结
在本章中,我们了解了物理磁盘如何构建和准备,以便存储数据。我们讨论了不同的分区方案及其如何处理逻辑分区的创建。我们还学习了文件系统的区别以及数据如何组织。
在下一章中,我们将学习计算机调查过程,以及如何分析时间线、分析媒体和进行字符串搜索数据。
问题
-
更新的计算机系统使用 BIOS 启动方法。
-
正确
-
错误
-
-
基于 UEFI 的计算机系统将使用 ____________ 来启动。
-
MBR
-
VBR
-
GPT
-
LSD
-
-
集群是硬盘上最小的存储单元。
-
正确
-
错误
-
-
MBR 格式的磁盘可以有超过四个主分区。
-
正确
-
错误
-
-
FAT32 格式的分区被划分为两个区域:一个是系统区域,另一个是 ___________ 区域。
-
磁盘
-
圆环
-
数据
-
设计师
-
-
在 FAT32 格式化的分区中,根目录位于系统区域。
-
正确
-
错误
-
-
在 NTFS 格式化的分区中,文件名存储在 _______________ 属性中。
-
标准信息
-
文件名
-
数据
-
安全描述符
-
答案可以在书的最后部分的评估栏目中找到。
深度阅读
Carrier, B. 文件系统取证分析。Addison-Wesley 出版社,宾夕法尼亚州雷丁市,2005 年 3 月(可通过www.kobo.com/us/en/ebook/file-system-forensic-analysis-1
获得)。
加入我们在 Discord 上的社区
加入我们社区的 Discord 空间,与作者和其他读者进行讨论:
第五章:计算机调查流程
成为数字取证检查员需要你有一个调查计划。例如,有一种所谓的“厨房水槽方法”——即请求检查的人说,我要所有的信息。然而,这种方法并不实际,因为最小的驱动器可能包含数十万页或事件。因此,尽管“厨房水槽方法”是一个计划,但它可能不是最有效的。
实际上,你的搜索方法将取决于你正在调查的犯罪类型,以及搜索范围是否有限制。例如,在某些调查中,司法机关可能会限制调查员访问数字证据,只能查看电子邮件信息,或者你可能仅限于在法医镜像中查找特定日期和时间。
本章将首先讲解时间轴分析,分析用户活动的时间性。接下来,我们将检查用户使用的存储容器。你还将了解字符串搜索,即通过匹配字符字符串在数据集中进行搜索。最后,在最后一节中,我们将分析从文件系统中删除的数据。
本章将介绍以下内容:
-
时间轴分析
-
媒体分析
-
字符串搜索
-
恢复删除的数据
时间轴分析
在调查过程中,你可能会发现看似显示被告有罪或无罪的遗留物。然而,我们不能仅凭遗留物的存在就推断嫌疑人有罪或无罪。相反,这些遗留物需要放在用户和系统活动的背景下进行分析。
例如,我被聘为一个案件的顾问;他们指控嫌疑人身体虐待自己的孩子。作为反对嫌疑人的证据之一是关于如何处理伤害的 Google 搜索次数过多。他们将这些搜索归咎于被告,即父亲。最具挑战性的证据是,在争议行为发生时,如何证明键盘背后的用户身份。由于这些项目出现在互联网历史记录中(我们将在第九章,互联网遗留物中深入讨论),我想检查搜索发生的时间背景。妻子是这台笔记本电脑的主要拥有者,但丈夫也是这台笔记本的常用用户。那么,如何将这些搜索归因于特定用户,尤其是在有多个用户使用同一台笔记本并且使用相同账户的情况下?
一个人的互联网浏览习惯几乎可以像指纹一样具有独特性。当我查看超过一百万行的互联网历史记录时,我能够区分笔记本电脑上的两个不同用户。我能够将社交媒体的使用与每个用户相关联,并将 Google 搜索归因于孩子的母亲。当她面对这些发现时,母亲承认她曾搜索如何处理孩子的伤势。在出示了证据和母亲的证词后,陪审团判定客户无罪,不构成虐待儿童罪。
假设在做出起诉决定之前他们进行了时间线分析,我相信父亲不会被起诉,因为唯一针对他的证据是从妻子的笔记本电脑中发现的数字证据。
你创建时间线以分析系统和用户行为的能力,让你能够对数字证据有更深入、更全面的理解。当我刚开始从事这个领域时,时间线是初步的,通常基于文件系统的 MAC 时间。MAC时间指的是修改时间、访问时间和创建时间,这些记录由文件系统在文件创建、编辑或访问时生成。仅使用 MAC 时间进行时间线分析的缺点是记录的时间可能不准确。例如,当文件从一个卷移动到另一个卷,或者用户使用第三方工具更改时间戳,并且时间戳依赖于系统时间时,就可能发生这种情况。
我们现在将使用多个来源来帮助我们确定系统中与特定证据相关的事件上下文。这些附加来源可能不像 MAC 时间那样容易被篡改,并且能够确定时间戳中的任何异常。例如,使用法医镜像中的多个资源,我们可以看到用户登录、启动可执行文件,并访问与可执行文件相关联的文件。这种访问多个来源的方法有助于我们确认并验证 MAC 时间提供的信息。
将多个参考框架应用于正在调查的事件,能帮助我们支持对事件的假设。例如,我们是否能够判断调查事件是由用户活动引起的,还是系统进程的结果?此外,使用所有可用的资源,如事件日志、文件系统日志或系统捕获的互联网历史记录,可以帮助我们深入细节,了解事件的上下文。
通过从多个来源收集数据点,你可以创建出罗布·李(Rob Lee)在 SANS 研究所所称的超级时间线,因为你需要筛选的大量数据点会使得这一过程更加复杂。
硬盘容量并没有变小,反而以惊人的速度在增长。用户和开发人员利用这种增加的容量来存储更多的数据,并增加可以追踪系统中发生事件的日志数量。在某些调查中,你可能不需要检查文件的内容;例如,在涉及非法图片的调查中,我无需查看文件的视觉内容。相反,为了回答一个用户是否知道某个特定文件的存在,我可以使用时间线分析来做出这个判断。
商业取证工具(以及开源工具)在创建时间线方面取得了许多进展。例如,曾经你需要使用多个工具来提取数据以创建时间线。现在,你只需使用一个工具就可以创建时间线。
注意
在本章中,我们将讨论日期和时间,这些将被转换为 UTC/GMT。始终注意你的数据集操作的时区以及它存储的时区。我在进行审查时使用 GMT/UTC 作为标准。
在本章中,我将演示使用几种工具,让你了解它们输出的区别,并讨论这些工具从哪里获取信息。
X-Ways
X-Ways Forensics 内置了一个非常强大的时间线创建工具,叫做事件列表。X-Ways 整合了多个来源的数据,如文件系统级别的时间戳、内部时间戳、浏览器历史记录、事件日志、注册表配置单元、电子邮件等。当你启动事件列表时,数据将按时间顺序呈现,形成时间线。事件列表是一条非常详细的时间线,包含大量信息,允许你看到你正在调查的事件的时间顺序。
注意
在你探索新工具的功能时,记得用已知的数据集来验证工具。我们将在本实验中使用 Digital Corpora 提供的取证镜像。你可以访问digitalcorpora.org/
并查看 2008 年 M–57 Jean 案例,获取更多信息。
在这种情况下,你正在调查一起数据泄露事件。有人将一份包含某组织机密信息的电子表格发布到竞争对手的网站上,而这份电子表格来自首席财务官(CFO)Jean 的计算机。在她的面谈中,Jean 表示她根据总裁 Allison 的要求,将这份电子表格通过邮件发送给了她。电子表格名为m57plan.xls
,可以在 Jean 账户的桌面上找到。该文件的 MD5 哈希值为e23a4eb7f2562f53e88c9dca8b26a153
,修改时间为2008-JUL-20 01:28:03 GMT,这与 Jean 关于她何时发送电子表格的陈述相符。
文件名和时间范围为我们提供了进行时间线分析的起点。当你进入 X-Ways Forensics 的用户环境时,选择事件列表图标:
图 5.1:X-Ways
如前图所示,当你选择日历选项时,它会显示日历界面,方便你深入查看特定日期。如果我不对事件列表中的结果进行筛选,那么会有超过一百万条记录需要我逐一解析。我的首选工作流程是从大的数据集开始,然后逐步筛选结果,以满足调查的需求。
当我将筛选范围缩小到 7 月 20 日时,我将结果减少到了 4,052 个事件,更加易于管理。
一旦筛选了结果,我们可以搜索文件名,看看发生了什么活动。第一个结果显示,在 01:27:42,系统为电子表格创建了一个链接文件。在接下来的截图中,你可以看到从 01:27 到 01:28 的用户活动。在 01:27 时,创建了一个预取文件(EXCEL.EXE-1C75F8D6.pf
),这表示用户启动了 Excel 程序并打开了电子表格,正好对应了链接文件的创建。
图 5.2:筛选结果
查看事件列表时,你可以看到法医工具获取并展示信息的来源。预取文件的创建始于 NT user.dat
文件的变更。工具会跟踪从内部文件元数据到操作系统工件的整个过程。我们可以跟踪并观察用户和系统层面的活动,记录下用户操作的全过程。
如果你查看时间戳 01:28:00,可以看到 Jean 发送了一条消息。在名称列中,我们可以看到邮件的主题,双击后可以查看邮件内容:
图 5.3:Jean 的邮件
我们可以看到 Jean 发出了邮件,收件人看似是 allison@M57.biz
,但实际上是发送到了 tuckgorge@gmail.com
。然后,我们可以根据文件类型进行筛选,在这种情况下是 .eml
文件,筛选结果如下:
图 5.4:Jean 的邮件头
查看发件人和收件人列,并按时间顺序排列数据,你可以大致了解攻击者与 Jean 之间的邮件通讯。看起来他们已经入侵了 Allison 的账户,因为我们可以看到“Alex”这个名字和与该账户关联的邮件地址 tuckgorge@gmail.com
。
使用 X-Ways Forensics 的事件列表功能可以帮助我们准确定位文件何时被篡改以及通过什么途径。现在我们可以将调查方向指向 Allsion 的计算机,以确定攻击者是否侵入了她的系统。根据这些初步结果,我认为攻击者通过网络钓鱼攻击瞄准了 Jean。
我喜欢 X-Ways Forensics 的一点是,它能够从传统来源收集日期和时间,并将这些信息与实际的证据(在本例中为电子邮件)结合起来。这为你的调查提供了更高的细节层次和背景。
X-Ways Forensics 文档列出了以下内容作为事件列表功能的信息来源:
如你所见,这展示了一个非常多样化的信息来源列表。然而,在用于分析时,它可以使调查员更加信赖他们在调查中报告的日期时间戳。
我发现法医套件也包含了时间线分析功能。我曾讨论过 X-Ways Forensics 及其通过事件列表功能创建时间线进行分析的能力。我列出了你可以用来分析时间线数据的一些其他法医套件。以下列表并不包含所有可用的法医套件:
-
Belkasoft Evidence Center: belkasoft.com/ec
-
Autopsy: www.sleuthkit.org/autopsy
-
Recon Lab: sumuri.com/software/recon-lab
-
PALADIN: sumuri.com/software/paladin
X-Ways 并不是唯一可以用来创建时间线的工具;你还可以使用一些开源工具。最常见的工具之一是Plaso/log2timeline,我们接下来将讨论它。
Plaso(Plaso Langar Að Safna Öllu)
Plaso(Plaso Langar Að Safna Öllu)是一个 Python 后端和log2timeline
工具的框架。log2timeline
是一个法医工具,它从系统中提取时间戳并创建一个所有事件的数据库,也叫超级时间线。
注意
你可以从github.com/log2timeline/plaso
下载 Plaso。
Plaso 适用于大多数操作系统,最初设计用于替代 Perl 版本的log2timeline
。然而,开发现在已经转向模块化,并且他们创建了多个由 Plaso 后台支持的 CLI 工具。
Plaso 支持的工具是通过命令行界面(CLI)激活的。尽管 CLI 可能会让用户感到害怕,但如果你慢慢来,逐步进行操作,你会发现 CLI 并不神秘。许多开源工具使用 CLI 而不是图形用户界面(GUI)。CLI 的核心由两部分组成:可执行文件和修饰符。一旦你掌握了 CLI 命令的特定修饰符,你会发现一切都能井然有序地运作。
让我们来谈谈 Plaso 中包含的工具:
-
image_export
-
log2timeline
-
pinfo
-
psort
-
psteal
image_export
image_export
将从设备、媒体镜像或法医镜像中导出文件内容。你可以使用多个参数来定义你希望提取的信息。
在 Windows 版本的可执行文件中,可执行文件以.exe
结尾。而在 macOS 中,可能会看到它以.sh
结尾。
使用–h
或--help
将给出完整的参数列表:
图 5.5:image_export
在屏幕下方,你将看到修饰符的详细解释。请注意,我只会涵盖最常用的选项;这里有更多的文档,我们将不再讨论:
-
--names NAMES
:对文件名的过滤。此选项接受一个用逗号分隔的字符串,表示所有文件名,例如,x NTUSER.DAT, UsrClass.dat
。 -
-w PATH
,--write PATH
:提取的文件应存储的目录。 -
--data PATH
:包含数据文件的目录路径。 -
-x EXTENSIONS
,--extensions EXTENSIONS
:对文件名扩展名的过滤。此选项接受多个用逗号分隔的值,例如,csv
,docx
,和pst
。
如果使用以下命令,它将把.xls
文件导出到files
文件夹中:
image_export --names 'm57plan.xls' C:\tools\plaso\image\jean.001 -w C:\tools\plaso\export\files
你可以看到前面命令的分解如下:
图 5.6:CLI 映射
在这里,使用image_export
命令,我们使用names
修饰符来查找特定文件。在此情况下,它是M57plan.xls
。
现在,你可以告诉可执行文件在哪里进行搜索;在此命令中,我们在取证镜像jean.001
中进行搜索(确保包含取证镜像所在位置的完整路径)。接下来,你可以指定将导出的文件发送到哪里。-w
修饰符将指定写入位置。
你会发现,这些修饰符与 Plaso 框架中的命令有一些共通之处。
log2timeline
log2timeline
是一个命令行工具,旨在从文件、目录、取证镜像和设备中提取基于时间的事件。它将创建一个数据库文件(.plaso
),然后可以通过各种工具进行分析。
如下图所示,-h
修饰符(帮助)将显示命令的选项。与之前一样,虽然有些详细解释没有显示,但它们能为这些命令提供额外的上下文。你应该能够从我们之前看的命令中识别出一些:
图 5.7:log2timeline
尝试使用info
修饰符,如下所示:
c:\tools\plaso>log2timeline.exe --info
你将看到所有支持的插件、解析器和输出模块的列表:
图 5.8:info 修饰符的结果
从前面的输出中,你可以看到一些预设包括从多个文件系统中收集工件。
在一个非常基础的层面上,你可以使用以下命令结构:
log2timeline OUTPUT INPUT
log2timeline
的一个特点是,输出文件是可执行文件的第一个修饰符,然后你再指定输入:
log2timeline C:\tools\plaso\export\files\jean.plaso C:\tools\plaso\image\jean.001
当命令执行时,你应该在屏幕上看到以下输出:
图 5.9:输出
当命令执行时,它会定位包含可执行文件依赖项的数据文件夹,然后搜索包含可能存储在系统中的工件信息的文件。这是一个默认文件夹,在你安装 plaso
时会自动安装。
现在我们有了一个 .plaso
文件,可以在 files
文件夹中找到它。在某些情况下,你可能不希望为每个选项都创建数据库文件,即不想“厨房水槽式”地处理所有内容。相反,你可能希望对时间线进行有针对性的检查,这时你需要使用过滤器。使用 -f
修饰符可以实现这一点。
注意
如果你想下载一些预制的过滤器,可以访问 github.com/mark-hallman/plaso_filters
。
我下载了预制的过滤器,并在 plaso
安装路径下创建了一个名为 filter
的文件夹。如以下截图所示,我将 plaso
安装在了 C
盘根目录下的一个名为 tools
的文件夹中:
log2timeline -f filter_windows.txt C:\tools\plaso\export\files\jeanfilter.plaso C:\tools\plaso\image\jean.001
如以下截图所示,工具能够在 artifacts
文件夹中找到我的过滤器,并创建了一个新的 Plaso 数据库文件:
图 5.10:过滤器
到目前为止,我们已经介绍了几个命令;然而,我们还有更多内容要讲解。框架中的下一个命令是 pinfo
。
pinfo
pinfo
是一个命令行,用于显示关于 Plaso 数据库文件(.plaso
)的信息。
plaso
数据库文件将包含以下信息:
-
用户执行工具时
-
执行工具时使用的选项
-
工具在预处理阶段获取的信息
-
数据库元数据
-
解析了什么内容以及使用的参数
-
提取的事件数量
-
标记事件
要了解更多关于前述选项的信息,请使用 -h
修饰符执行命令。虽然这些选项相似,但与其他工具相比,你的选择会少得多,正如下图所示:
图 5.11:pinfo
当你以最简单的形式使用 pinfo
命令时,将获得以下结果:
---------------------------------------------------------------
*********************** Plaso Storage Information ***********************
Filename: jeanfilter.plaso
Format version: 20190309
Serialization format: JSON
---------------------------------------------------------------
*********************************** Sessions *****************************
276a7520-999e-428b-a6b4-11fcf9cf987d : 2019-07-19T22:19:36.092703Z
---------------------------------------------------------------
如前面的输出所示,你可以查看文件的存储信息以及创建该文件所用的会话数量。
你可以将结果发送到标准输出,也就是显示器,或者使用 -w
修饰符将结果保存到一个文本文件中。对 .plaso
文件使用额外工具将生成 GUID 以及分析进行时的日期时间戳。
该工具还可以提供你正在检查的源系统的系统信息:
--------------------------------------------------------------------------
******* System configuration: 276a7520-999e-428b-a6b4-11fcf9cf987d *******
Hostname: N/A
Operating system: Windows NT
Operating system product: Microsoft Windows XP
Operating system version: 5.1
Code page : cp1252
Keyboard layout: N/A
Time zone: GMT
--------------------------------------------------------------------------
在验证数据库文件中的信息后,你可以继续执行下一个命令。
psort
psort
是一个命令行工具,允许你筛选、排序并分析 plaso
数据库文件的内容。就像其他命令一样,-h
修饰符将显示该命令的所有选项。在下面的 psort
截图中,你可以看到可用选项,并且你应该能识别出所有 plaso
架构中命令选项的共性:
图 5.12:psort
让我们讨论一些新的选项:
-o FORMAT, --output_format FORMAT, --output-format FORMAT
以下是可用的输出格式列表:
名称 | 描述 |
---|---|
dynamic |
将事件输出为分隔符(默认是逗号)分隔的值格式,支持动态选择字段。 |
elastic |
将事件输出到 ElasticSearch 数据库。需要 elasticsearch-py。 |
elastic_ts |
将事件输出到 ElasticSearch 数据库,以供 Timesketch 使用。需要 elasticsearch-py。仅供 Timesketch 后端使用。 |
json |
将事件输出为 JSON 格式。 |
json_line |
将事件输出为 JSON 行格式。 |
kml |
将含有地理数据的事件输出为 KML 格式。 |
l2tcsv |
将事件输出为 log2timeline.pl 的传统 CSV 格式,包含 17 个固定字段。 |
l2ttln |
将事件输出为 log2timeline.pl 的扩展 TLN 格式,包含 7 个固定字段。 |
null |
不输出事件。 |
rawpy |
以“原始”(或本地)Python 格式输出事件。 |
tln |
将事件输出为 TLN 格式,包含 5 个固定字段。 |
xlsx |
将事件输出为 Excel 电子表格(XLSX)。 |
当你使用 psort
进行处理时,可以将结果导出到 plaso
数据库之外。你可以使用多种选项导出数据以便分析。一个常见的导出格式是 l2tcsv
,它是 log2timeline
的传统格式,采用 .csv
工作表格式。
在创建 .csv
工作表时,你可能会遇到一个潜在问题,即如果你创建的文件太大,一些工具可能无法分析它,或者你无法用你喜欢的电子表格程序打开它。
--analysis list
:psort
默认安装了分析插件(你仍然可以创建自定义插件),允许你浏览数据库文件并提取和分析内容。
你可以使用 --analysis
list
修饰符查看完整的插件列表:
图 5.13:分析插件列表
如果我们运行该命令,它会遍历 plaso
数据库文件,标记在 tag_windows.txt
文件中已识别的特定事件(该文件是默认安装的一部分,可以在 data
目录中找到):
psort -o null --analysis tagging --tagging-file tag_windows.txt c:/tools/plaso/export/files/jean.plaso
处理完成后,它会显示已应用于数据库的标签数量:
************************** Analysis report: 0 **************************
String: Report generated from tagging
Generated on:2019-07-20T20:04:46.000000Z
Report text: Tagging plugin produced 9754 tags
---------------------------------------------------------------
此外,你还可以使用 --slice
修饰符过滤掉多余的数据。
注意
5 分钟是默认值。如果你想要更长或更短的时间切片,可以在DATE TIME
后添加--slice_size <VALUE>
来指定。
如果你发现了GET
事件,你可能希望通过观察发生在之前和之后的事件来为其提供上下文:
psort -q --slice '2008-07-20 01:26:17' c:/tools/plaso/export/files/jean.plaso -w c:/tools/plaso/export/files/jeansliceoutput.csv
该命令将创建一个csv
文件,包含时间戳前后各 5 分钟的事件。
框架中的最后一个工具是psteal
,我们接下来会讨论它。
psteal
psteal
是 plaso 框架中的最终 CLI 命令。它将log2timeline
和psort
命令结合在一起,通过一步操作提取和处理事件。这是一种典型的“万金油”方法,也可以称为“我想要所有的”,与框架中其他 CLI 命令相比,它有一个有限的修饰符选择。
再次提醒,-h
会为你提供命令的选项列表,具体内容如下截图所示:
图 5.14:psteal
至少需要指定源和输出。该过程将创建 plaso 数据库文件,并将其放置在 plaso 安装目录的根目录中。此位置允许你在命令完成后执行额外的标记、筛选或分析。创建的数据库文件的命名约定为<timestamp>-<source>.plaso
。
这是命令。它创建了一个几乎 1GB 大小的.csv
文件。然而,如果我将输出更改为.xlsx
,文件大小会减少到 35MB。所以,请记住,你正在处理和分析你的数据集:
psteal --source C:/tools/plaso/image/jean.001 -o l2tcsv -w c:/tools/plaso/export/files/jean.csv
我正在使用一个相对较小的 20GB 硬盘的法医镜像。试想一下,如果你使用的是 500GB 或 1TB 的硬盘,并且该硬盘已经使用了较长时间,会是什么情况。
现在我们已经创建了数据库文件并导出了与调查相关的数据集,接下来该做什么呢?是时候分析数据集,找出能够证明或反驳指控的证据了。你用来分析的工具可以是你喜欢的 Office 套件中的电子表格阅读器,也可以是专门为此目的设计的商业开源工具。
本书无法涵盖所有可供检查员使用的工具选项。我将突出显示一些可用的选项并为你总结这些工具。最终,数据的分析是检查员通过查看数据集并审查结果来完成的。再次强调,这都归结于对法医工具的验证/确认,确保它们提供准确的结果。
以下是一些工具:
-
ELK 堆栈:可以在
www.elastic.co
找到。它是三个开源项目的缩写:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是搜索和分析引擎,Logstash 是数据处理和摄取引擎,而 Kibana 是可视化工具。您可以选择下载这三个引擎并安装到您选择的操作系统中。提供了 macOS、Windows 和 Linux 版本。如果您不希望在自己的环境中托管这些系统,还可以选择付费使用云环境。 -
TimelineMaker Pro:可以在www.timelinemaker.com找到。它是一个专门设计用于创建时间轴图表的商业产品。通过这个工具,您可以导入使用 plaso 框架创建的 CSV 文件。
-
TimeSketch:可以在
github.com/google/timesketch
找到。它是一个开源的取证时间轴分析工具。它是基于 Linux 的。我已经将它安装在一个虚拟环境中,这样我就可以根据需要使用它。不同团队成员也可以共同使用它。您还可以从各种 plaso 框架输出选项中导入数据。 -
Aeon Timeline:可以在www.aeontimeline.com找到。它是一个专门设计用于创建可视化时间轴的商业产品。它将帮助您查看事件之间的关系。最初是为作家设计的,但也可以用来分析超时间轴。您可以导入使用 plaso 框架创建的 CSV 文件。
-
Timeline Explorer:可以在ericzimmerman.github.io/#!index.md找到。Timeline Explorer 是由 Eric Zimmerman 创建的开源平台,旨在提供一个无需使用 Microsoft Excel 即可读取 MAC 时间和 plaso 生成的 CSV 文件的工具。它并不是专门设计来查看非常大的 CSV 文件;事实上,Zimmerman 明确建议,最好打开较小且有针对性的时间轴,而不是一个巨大的时间轴。
媒体分析
您可以在多个维度上使用时间轴分析,例如网络分析、媒体分析、软件分析和硬件分析。网络分析是分析日志文件、跟踪文件以及用户与其设备之间的通信内容。媒体分析是分析物理存储设备,如硬盘、SSD 驱动器、U 盘或光盘存储。您将检查内容、分配的空间以及空闲空间。最后,在进行软件分析时,您将逆向工程恶意代码并分析保护代码,以防止潜在的外泄。
那么,让我们来看看媒体分析。您的数字调查的主要来源将是存储设备(如硬盘、SSD、USB 设备、光盘以及智能手机等移动设备)的取证映像。根据您的组织,您可能是负责创建取证映像的人,或者取证映像可能是由组织的其他部门提供给您的。请记住,取证映像是源设备的逐位复制。在大多数情况下,您不希望使用备份作为数字取证调查的源,因为备份不会包含存储设备上的所有信息。
存储设备可能包含四种不同类型的数据,您可能需要检查:
-
已分配空间:这是存储设备上被文件占用的空间。文件系统将该存储空间识别为已使用。
-
未分配空间:这是存储设备上未被文件占用的空间。文件系统将该存储空间识别为可用空间。
-
空闲空间:当数据存储在一个簇中时,如果文件没有完全填满簇,未被文件占用的剩余空间被称为空闲空间。
-
坏块/扇区/簇:这是磁盘上由于缺陷而被文件系统标记为坏的空间。它也可以被用户用来隐藏数据,以防被随意检查。
Brian Carrier 在他的论文《定义数字取证检查和分析工具》中描述了媒体分析的进展,内容如下:
-
磁盘:物理存储设备,如硬盘、SSD 或闪存介质。
-
卷:一个容器,由单个磁盘或多个磁盘组成。您可能会在单个磁盘上找到多个卷,或者一个卷可能跨越多个磁盘。您可能会看到“卷”一词与“分区”一词互换使用。Brian Carrier 将分区定义为仅限于单个物理磁盘,而卷是一个或多个分区的集合。
-
文件系统:这是在卷的边界内使用的,跟踪文件分配和簇的使用情况。
-
数据单元:文件系统可用的最小分配单元。在大多数情况下,这将是簇,或者在基于 UNIX 的系统中,它将是块。
-
元数据:这是关于数据的数据。它包括修改、访问和创建的日期时间戳,以及文件系统和某些应用程序跟踪的关于文件的其他信息。
在数字取证调查中的媒体分析目标是找到相关的证据,这些证据将支持或反驳您正在调查的指控。此外,在进行数字取证调查时,您可能会发现一些证据,它们会将您的注意力引导到其他位置。
现在,我们将讨论在数字取证调查过程中可能使用的一些不同分析技术。
字符串搜索
在你的数字取证调查过程中,可能会使用字符串或字节搜索。这个搜索技术在你有一个特定的关键词列表时使用。大多数商业和开源的取证工具都允许进行字符串搜索,并会搜索分配区、未分配区和文件空闲区。你可以使用特定的单词、符号或字母组合作为搜索条件。一般来说,你会希望在开始数字取证调查之前,先准备一些预定义的关键词列表。
你的关键词列表将属于以下类别之一:
-
通用关键词列表:这是你在每个案件中都会使用的关键词列表。这个列表还可以根据调查的主题进一步分类。例如,你可能会有一个用于调查欺诈活动的数字取证案件的关键词列表,也有一个用于调查非法图像的数字取证案件的关键词列表。
-
特定案件关键词列表:这是你将在特定数字取证调查中使用的关键词列表。在你准备进行数字取证调查时,你将根据参与者、地点以及有时参与者使用的俚语来确定关键词。例如,你可以有基于用户名、电子邮件地址、物理地址、电话号码、信用卡号码等的关键词。
备注
你应该避免使用那些通用的或具有其他含义的关键词。例如,如果你正在调查一起凶杀案,“kill”这个词看似是一个有效的搜索词。不幸的是,“kill”也是你在计算机系统中可能遇到的编程语言中的一个术语。这会导致大量的假阳性。理想情况下,目标是通过关键词列表帮助过滤掉无关数据,以便高效集中精力。
在你进行数字取证图像搜索时,可能会遇到不同的编码方案,例如以下几种:
-
美国信息交换标准代码 (ASCII) 是一种最初基于美国英语的字符编码方案,且限制为 256 个字符代码。
-
Unicode 是为了克服 ASCII 的限制而开发的。每个字符都有一个独特的 2 字节值,从而能够定义超过 65,000 个字符。
尽管关键词搜索非常强大,但它也有一个缺点,因为在根据关键词搜索内容时,它是非常字面上的。例如,如果你搜索一个单词,它不会找到替代拼写;也就是说,如果你搜索ally
,过滤器不会找到alley
。幸运的是,还有一种替代的搜索方法,叫做模式匹配/正则表达式。
正则表达式使用字符字符串来创建搜索模式,并找到所有与该模式匹配的实例。以下是一些常用符号及其在创建正则表达式时的含义:
-
星号符号(
*
):匹配前面的字符(或字符集)重复X
次。例如,ca*t
将返回匹配ct
、cat
、caat
和caaat
的结果。 -
井号(
#
):这将匹配一个数字(0-9)。 -
反斜杠(
\
):接下来的字符将按字面意思解释。\.
将被解释为句点。 -
脱字符(
^
):匹配文本的开始。例如,¹²³
会使匹配的结果以123
开头。 -
美元符号(
$
):匹配文本的结束。例如,123$
将导致匹配结果以123
结尾。 -
加号符号(
+
):重复前面的字符(或字符集)一次或多次。例如,ca+t
将返回匹配cat
、caat
和caaat
的结果。 -
大括号(
{…}
):重复前面的字符(或字符集)X
次(取决于大括号中的值)。 -
方括号(
[...]
):这将匹配方括号中的任何单个字符。例如,[b,c,d]
将匹配 b、c 或 d。 -
方括号 w/ ^ [^...]:这将匹配方括号中不包含的任何单个字符。例如,
[^b,c,d]
将匹配除 b、c 或 d 以外的任何字符。 -
方括号(范围)[..-..]:这将匹配给定范围内的任何字符。
[0-9]
将匹配从 0 到 9 的任何字符。 -
点号(
.
):点号可以代替任何字符。 -
问号(
?
):前面的字符可能会出现也可能不会出现。例如,.e01?
将返回.e0(x)
值。x
表示它可能会找到.e0
后的任何值。 -
管道符号(
|
):这匹配由管道符号(|
)分隔的任何一个字符集。例如,br(ead|ake|east)
将返回匹配bread
或brake
或breast
的结果。
以下是一些常见的模式匹配示例,可能对你有所帮助。
要搜索 IP 地址,你可以使用以下正则表达式:
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
\d
表示接下来的内容将匹配一个数字。大括号 {1,3}
表示数字可以是 1 到 3 位。\.
表示搜索 .
字符。\d{1,3}
模式将重复三次,直到获得 IPv4 地址的值。
要搜索美国电话号码,你可以使用以下表达式:
((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}
\(
将匹配开括号。\d{3}
将匹配三位数。\)
将匹配闭括号。这个模式将给出区域代码 (###)
,格式为 (###)
。其余的正则表达式将提供前面三位数字 \d{3}
、破折号 -
和最后四位数字 \d{4}
,这是美国电话号码的格式。如果电话号码不是按照 (###) ###-####
或 ###-###-####
格式提供的,你将无法得到匹配。
正则表达式是一个强大的工具,但它们也可能非常复杂。我喜欢使用正则表达式库(可以在 regexlib.com/Default.aspx
找到)来帮助我提升正则表达式技能。
那么,当用户从媒体中删除一个文件或文件夹时会发生什么呢?接下来我们来讨论当文件或文件夹被删除时会发生什么。
恢复已删除的数据
当文件在 FAT 文件系统中被删除时,数据本身并没有被改变。目录条目的第一个字符会被更改为xE5
,并且文件分配表条目会被重置为x00
。当文件系统读取目录条目时,如果遇到xE5
,它将跳过该条目,并开始读取后续条目。
要恢复已删除的文件,我们需要逆转文件系统删除文件的过程。记住,它并没有改变文件内容;它们仍然物理存在于它们分配的簇中。现在我们需要逆向工程删除操作,并重新创建文件条目和文件分配表中的条目。为此,我们需要找到文件的第一个簇、文件的大小以及卷中簇的大小:
图 5.15:已删除的条目
在上面的截图中,我们有一个目录条目,显示一个文件已被删除。我们看到目录条目开头的xE5
。(这需要使用十六进制编辑器进行修改。)接下来,我们必须确定起始簇,x00 x08
(显示为x08 x00
),即簇号8
。要确定文件大小,请查看最后四个字节(记住,FAT 文件系统以小端格式存储数据,这意味着最不重要的字节在左侧,因此我们读取的值是x00 x00 x00 x27
,而不是显示的x27 x00 x00 x00
),当我们将十六进制值转换为十进制时,得到文件大小为 39 字节。
现在我们需要确定一个簇由多少个扇区组成以及每个扇区的大小。你需要查看引导记录以获取这些信息。引导记录显示每个扇区有 512 字节,每个簇有 8 个扇区,这意味着簇大小为 4,096 字节:
图 5.16:引导记录
这意味着我们的文件只占用一个簇。接下来,我们查看文件分配表,并查看簇号 8 的条目,发现它已被清零:
图 5.17:已删除的 FAT
要恢复已删除的文件,请执行以下步骤:
-
你需要将文件分配表中的条目从
x0000 x0000
更改为xFFFF FFF8
或xFFFF FF0F
。如果这是一个较大的文件,你需要将文件分配表条目更改为指向下一个簇,直到你到达包含文件末尾的簇。如果你在到达文件末尾之前找到标记为已分配的条目,可能是你在处理一个碎片化的文件。另一种可能性是,在文件被删除时,簇被释放,新的文件数据被放置在这些可用空间中,这样就会导致旧数据被新文件的数据覆盖。 -
下一步是返回目录条目并将
xE5
替换为另一个字符。在替换目录条目中文件名的xE5
字符时,要小心不要猜测字符是什么。如果选择了错误的字符,可能会改变其含义或使新文件名产生偏差,这样是不正确的。
我建议在恢复删除的文件时,将第一个字符替换为下划线或破折号,以避免对文件名的误解。
在恢复长文件名的文件时,重要的是要将长文件名与短文件名重新链接。这是因为当为适应长文件名而创建附加目录时,系统会基于短文件名的数据生成校验和。当你更改了短文件名条目的xE5
值时,你还需要为长文件名目录条目的后续xE5
条目使用相同的替换字符。将长文件名与短文件名链接的原因是,短文件名目录条目包含诸如日期和时间、起始簇和文件大小等信息。
正如我们在第四章中讨论的,《计算机系统》,当在 NTFS 卷上创建文件/目录时,系统会在$MFT
文件中创建一个条目。MFT 记录将包含关于文件/目录的元数据;如果文件内容是非驻留的,那么$Bitmap
文件将更新,显示文件占用的簇已被分配。
当文件/目录被删除时,MFT 文件记录头中的序列计数会增加一位。记录的分配状态将从已分配更改为未分配。如果文件数据是非驻留的,系统会更新$Bitmap
文件,显示文件占用的簇现在是未分配的。
每个 MFT 文件条目将以文件的文件签名开始,你可以使用它作为搜索词,在未分配空间中定位 MFT 文件条目。直到磁盘上包含数据的簇被覆盖,我们才能恢复数据。
如果 MFT 文件记录未使用,则可以反向操作并恢复该文件。您可以解密文件记录,如我们在第四章,计算机系统中讨论的那样。如果文件存在于文件记录中,当您恢复 MFT 文件记录时,将恢复数据。如果数据是非驻留的,那么您将需要解密 MFT 文件记录,以确定数据是否连续并识别占用的簇。
如果系统已覆盖 MFT 文件记录,则无法恢复已删除的 MFT 文件记录数据或任何驻留数据。您可能可以恢复非驻留数据,但这取决于文件的大小和碎片化程度。一旦 MFT 记录被覆盖,您将失去有关数据运行和哪些簇包含数据的任何信息。
总结
在本章中,我们详细讨论了使用开源和商业取证工具进行时间线创建和时间线分析。我们深入探讨了利用商业取证工具 X-Ways Forensics 和开源 plaso 框架进行log2timeline
的使用。我们还提到使用“厨房水槽法”或针对数据集的定向检查。记住,我们不是分析文件的内容,而是分析与文件和操作系统及文件系统内的其他事件相关的时间线。
在下一章中,我们将讨论文件的内容,具体来说,是 Windows 工件。
问题
-
对考察员来说,了解证据收集时的时区非常重要。
-
正确
-
错误
-
-
在创建 _________ 列表时,您可以使用 X-Way Forensics 进行时间线分析。
-
时间线
-
日期/时间
-
事件
-
方
-
-
Plaso 是一个包含多少个工具的框架?
-
一
-
三
-
五
-
七
-
-
pinfo
会给你提供什么信息?-
考察员信息
-
数据库文件信息
-
取证机器信息
-
嫌疑人信息
-
-
log2timeline
是一个基于 ___________ 的工具。-
CLI
-
GUI
-
VFD
-
XYZ
-
-
psort
将给你 ___________。-
排序能力
-
过滤能力
-
连接能力
-
以上所有
-
-
您可以使用 Excel 电子表格进行时间线分析。
-
正确
-
错误
-
进一步阅读
您可以参考以下链接,获取更多关于本章内容的信息:
-
T. P. P. A. (2019 年 7 月 8 日). Plaso 文档. 取自 Plaso 项目:
buildmedia.readthedocs.org/media/pdf/plaso/latest/plaso.pdf
-
Carvey, H. (2014). Windows 取证分析工具包:针对 Windows 8 的高级分析技术;马萨诸塞州沃尔瑟姆:Syngress. 可在以下网址获取:
www.abebooks.com/servlet/SearchResults?sts=t&cm_sp=SearchF-_-home-_-Results&an=&tn=Windows+forensic+analysis+toolkit&kn=&isbn=
练习
数据集
Chapter 5 Emails.xlsx
Chapter 5 Carving.dd
所需软件
时间线探索器 - ericzimmerman.github.io/#!index.md
需要 Microsoft .NET 6 或更高版本。如果没有至少.NET 6,您会遇到错误。若有疑问,请安装它!如果计划运行任何 GUI 程序,请确保安装桌面运行时。
Autopsy - www.autopsy.com/
邮件练习
一名 m57.biz 外部人员从 Craigslist 购买了一台笔记本电脑。这台笔记本电脑包含儿童色情内容,该人员决定向警方报告。
调查人员能够追踪到这台笔记本电脑属于 m57.biz。当警方联系 m57.biz 的 CEO 时,CEO 报告称该笔记本电脑以及其他物品已从 m57 的库存中被盗。
m57 的 CEO 同意让警方调查员搜索 m57.biz 并对所有 m57.biz 电脑、公司电话及 USB 驱动器进行成像。
分析在Chapter 5 emails.xlsx
电子表格中找到的电子邮件,识别潜在嫌疑人及其活动时间线。
数据切割练习
-
启动 Autopsy 并开始一个新案件。
-
选择磁盘映像或虚拟机文件作为数据源。
-
导航到存储图像
Chapter 5 Carving.dd
的文件夹。仅选择以下导入模块:- PhotoRec Carver 嵌入式文件提取器
-
从下拉菜单中选择所有文件、目录和未分配空间。
分析结果。
加入我们社区的 Discord
加入我们社区的 Discord 空间,与作者和其他读者进行讨论:
第六章:Windows 人工制品分析
世界上大多数设备都运行 Microsoft Windows 操作系统,微软的操作系统市场份额接近 90%(netmarketshare.com/
)。根据我个人的经验,我检查过的 Windows 操作系统远远多于其他任何操作系统;macOS 是第二常见的操作系统,而 Linux 则排名第三。尽管你必须准备分析所有操作系统,但无论哪个操作系统在你所工作领域中最为常见,你应该将重点放在它上面。
本章将帮助你理解 Windows 操作系统以及你可能发现的人工制品。关于 Windows 操作系统有整本书籍讨论;本章的目标是让你了解在调查过程中可能遇到的更常见的操作系统人工制品。你将从用户配置文件入手,检查大多数用户数据所在的地方。接着,我们将研究 Windows 注册表,以识别 Windows 设置。你还将查看人工制品,以确定用户的活动并了解如何识别在系统上使用过的 USB 设备。最后,我们将在以下主题中全面覆盖这些内容:
-
了解用户配置文件
-
了解 Windows 注册表
-
确定帐户使用情况
-
确定文件知识
-
确定物理位置
-
探索程序执行
-
了解 USB/附加设备
操作系统管理硬件资源,并允许用户运行其他应用程序,这些程序本质上是操作系统环境中的程序。它可以成为一个宝贵的资源库,帮助我们在任何特定时刻重建用户或系统的活动。当我们讨论 Windows 操作系统时,这个话题可能涵盖多个版本。目前 Windows 操作系统的版本是 Windows 11,但 Windows 10 仍然占据大多数系统的份额。这并不意味着你检查的每一台系统上都安装了 Windows 10。即使在企业环境中,你仍然有可能检查到 Windows XP 客户端,尽管微软在 2001 年发布了它并且不再提供支持。
在本章剩余部分,我将重点讨论 Windows 7、8 和 10。然而,首先可能会提到 Windows XP,因为微软对该操作系统的遗留支持。
我想讨论的第一个问题是不同类型的用户配置文件,以及操作系统会将用户数据存储在哪里。
了解用户配置文件
当 Windows 操作系统安装时,它会创建一个默认的文件夹结构来存储用户和应用程序数据。有时,仅仅查看文件夹结构就能告诉你是否安装了某个版本。
当你寻找用户帐户配置文件时,位置可能会根据操作系统的版本而有所不同:
-
针对 Windows XP、WinNT 和 Win2000
C:\Documents and Settings\%UserName%
-
对于 Windows Vista、7、8 和 10
C:\Users\%UserName%
当用户首次登录系统时,系统会创建一个用户配置文件。此配置文件将用于任何后续的登录,并且现在成为用户在系统上活动的环境。微软定义了不同类型的用户配置文件:
-
本地用户配置文件:当用户首次登录计算机时,会创建此配置文件。您会在硬盘上找到该配置文件。当对配置文件进行更改时,这些更改将特定于用户并存储在本地计算机上。
-
漫游用户配置文件:此配置文件是由管理员创建的基于网络的配置文件。当用户登录到系统时,配置文件将被下载到本地主机。当在本地主机上对配置文件进行任何更改时,用户注销本地主机时更改也会同步到服务器副本。此配置文件类型消除了用户在登录网络中的不同主机时需要创建配置文件的要求。(此类型的配置文件仅在企业环境中存在。)
-
强制用户配置文件:此配置文件由网络管理员创建,用于在用户使用网络中的主机时锁定一组特定的设置。未经管理员批准,用户将无法更改该配置文件。用户对本地主机环境所做的任何更改将在用户注销本地主机时丢失。
-
临时用户配置文件:当系统加载用户配置文件时发生错误时,会创建此配置文件。用户注销时,配置文件将被删除。在运行 Windows 2000 及更高版本的计算机上,您会看到临时配置文件的使用。
每个用户配置文件都会有一个注册表哈希文件 —— NTUSER.DAT
—— 并且在用户登录时会映射到系统注册表项HKEY Current User。该注册表哈希包含用户的偏好设置和配置。
每个用户配置文件包含以下文件夹:
-
\Users\$USER$\Documents
-
\Users\$USER$\Music
-
\Users\$USER$\Pictures
-
\Users\$USER$\Videos
AppData
文件夹是一个隐藏文件夹,包含特定于用户的偏好设置和配置,并进一步分为三个子文件夹:
-
\Users\$USER$\AppData
-
\Users\$USER$\AppData\Local
-
\Users\$USER$\AppData\LocalLow
-
\Users\$USER$\AppData\Roaming
Roaming
文件夹包含可以在服务器环境中同步的数据。例如,Web 浏览器的收藏夹或书签将随着用户的登录在不同的工作站之间传递:
-
\Users\$USER$\AppData\Roaming\Microsoft\Windows\Cookies
-
\Users\$USER$\AppData\Roaming\Microsoft\Windows\Network Shortcuts
-
\Users\$USER$\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
-
\Users\$USER$\AppData\Roaming\Microsoft\Windows\Recent
-
\Users\$USER$\AppData\Roaming\Microsoft\Windows\SendTo
-
\Users\$USER$\AppData\Roaming\Microsoft\Windows\Start Menu
-
\Users\$USER$\AppData\Roaming\Microsoft\Windows\Templates
Local
文件夹包含与程序安装相关的数据。它是特定于工作站的,并且不会与服务器(在服务器环境中)同步。临时文件也会存储在这里:
-
\Users\$USER$\AppData\Local
-
\Users\$USER$\AppData\Local\Microsoft\Windows\History
-
\Users\$USER$\AppData\Local\Microsoft\Windows\Temporary Internet Files
LocalLow
文件夹包含低级别的访问数据,例如浏览器在受保护模式下运行时的临时文件。
这完成了我们关于用户账户的讨论,现在让我们转向注册表,它是 Windows 操作系统的核心和灵魂。
理解 Windows 注册表
Windows 注册表是 Windows 操作系统的核心,它将成为我们稍后章节中讨论的许多重要内容的来源。首先,我将提供注册表的高层次概览。然后,假设你想深入了解注册表的细节,强烈推荐哈兰·卡维(Harlan Carvey)的书籍 Windows Registry Forensics – Advanced Digital Forensic Analysis of the Windows Registry。哈兰·卡维也是工具 RegRipper 的开发者,这个工具是我们在本章节中将要使用的工具。
什么是注册表?微软将注册表定义为一个中央层级数据库。这个数据库用于存储关于用户、硬件设备和应用程序的配置信息。
但是,这对法医调查员意味着什么呢?Windows 在操作过程中不断引用注册表中的信息。注册表中的信息将包含每个用户的配置文件、已安装的应用程序、不同的文档类型以及文件夹和应用程序图标的属性设置。注册表还将包含关于系统硬件的信息,包括用于网络连接的端口信息。
哇,真是内容繁多,但简单来说,注册表包含了关于计算机系统几乎所有内容的信息。
注册表的组件位于 %SystemRoot%\System32\Config
文件夹中,称为 hive 文件。你会找到 SAM
、SECURITY
、SOFTWARE
和 SYSTEM
分支。以下是各个分支的简要描述:
-
SAM
分支是安全账户管理器,包含关于用户的登录信息。 -
SECURITY
分支包含安全信息,并可能包含密码信息。 -
SOFTWARE
分支包含关于应用程序信息和默认 Windows 设置的信息。 -
SYSTEM
分支包含关于硬件和系统配置的信息。
还有一个额外的 hive,NTUser.dat
,它存储在用户配置文件的根目录中。这个 hive 包含关于用户行为和设置的信息。
另一个 hive 格式的文件是UsrClass.dat
文件,它位于用户账户的\AppData\Local\Microsoft\Windows
文件夹中。你会找到关于用户访问控制(UAC)配置和关于图形用户界面(GUI)显示的用户体验的信息。
Hive 包括包含值、类型和特定数据或设置的子键。这将为我们提供参考框架,帮助我们探索注册表中包含的遗留物。
如下图所示,难以解读子键和值的含义以及它们代表的内容:
图 6.1:注册表编辑器显示 USBSTOR 注册表项
在浏览这些遗留物时,我将向你展示你将在注册表查看器中看到的视图,以及通过取证工具创建的更易读的解析版本。
在本章中,我们将使用一些开源工具:
-
RegRipper(可以从
github.com/keydet89/RegRipper3.0
下载),由哈兰·卡维(Harlan Carvey)创建。 -
埃里克·齐默尔曼(Eric Zimmerman)(他的作品可以从
ericzimmerman.github.io/#!index.md
下载)创建了几个开源工具来解析 Windows 遗留物。
我们会在几个类别中寻找遗留物。我喜欢使用 SANS 目录中对遗留物的描述,可以在digital-forensics.sans.org/community/posters
找到,具体如下:
-
账户使用情况
-
文件知识
-
物理位置
-
程序执行
-
USB/驱动器使用情况
-
浏览器使用(我们将在第九章,互联网遗留物中讨论)
在了解了用户档案后,我们将讨论一些能确定与用户账户相关的操作的遗留物。
确定账户使用情况
识别键盘后面的用户是进行数字取证检查时最难的任务之一。你需要解析许多遗留物来帮助做出这个判断。首先,你需要尽可能多地收集有关该用户账户的信息,并查看是否能将其与物理人物关联起来。你会希望尽可能多地了解该用户账户及其与正在调查事项相关的活动。接下来,我们将讨论一些来自基于 Windows 的操作系统的遗留物,这些遗留物可以帮助你确定并识别该账户的活动,从用户的最后一次登录或密码更改开始。
最后登录/最后密码更改
以下路径将包含有关系统上用户账户的信息:
C:\windows\system32\config\SAM\Domains\Account\Users
为了导航到包含用户账户信息的位置,我将使用埃里克·齐默尔曼的注册表浏览器。我已经从取证镜像中导出了注册表数据文件来运行注册表浏览器和 RegRipper。
在以下截图中,我们可以看到我已经打开了文件夹路径和子键,在Users子键中,有以十六进制名称命名的文件夹和一个名为Names
的文件夹。在Names
子键中,你会看到该计算机上帐户的列表:
图 6.2:注册表浏览器显示 USERS 键和子键
它列出了英文名称,因此易于读取。在显示的六个帐户中,一个已被删除(defaultuser0
),一个用户名为jcloudy
。jcloudy
子键的值将指向具有十六进制值的子键。在这里,jcloudy
指向x3E9
。
在子键x3E9
中,如下图所示,我看到有一个F和一个V值,在下面,我可以看到与用户密码相关的信息:
图 6.3:注册表子键 X3E9
为了简化,我们可以运行 RegRipper,看看是否能得到更易读取的输出。以下是jcloudy
帐户的输出示例:
图 6.4:jcloudy 帐户的 RegRipper 输出
RegRipper 解析数据并以易于读取的格式呈现。我们可以看到帐户何时创建,密码提示,用户最后一次登录时间,以及用户登录系统的次数。
当你查看用户名jcloudy
时,你可以看到数字1001
,在下面是一个标记为SID
的条目。
SID是 Windows 操作系统用于标识内部对象的安全标识符。这是 Windows 如何在内部寻址组件。在 SID 的末尾是相对标识符(RID),它是 SID 后的最后几位数字。例如,如果你看到500
作为 RID,那将标识该系统的管理员帐户。访客帐户的 RID 将是501
。在这种情况下,如下图所示,我们看到 RID 为1001
。这告诉我jcloudy
帐户是用户创建的,而不是系统通过自动化过程创建的帐户:
图 6.5:SID 的细分
在做考试时,最常查看的 SID 部分是 RID。我们可以将 RID 与特定的用户帐户关联。当用户在系统上创建帐户时,RID 会增加一个数字。例如,我们可能有一个用户user X
,其 RID 为1005
,如果我找不到1001
到1004
的帐户,可能是有人或某些东西删除了这些用户帐户。
我们正在通过注册表查找支持(或不支持)我们关于发生了什么的假设的证据。帮助确定系统上发生了什么的另一个信息来源是事件日志。
Windows 将事件分类为三种不同的类别:
-
系统:由 Windows 操作系统生成的信息
-
应用程序:本地计算机上应用程序生成的信息
-
安全:与登录尝试相关的信息
在 Windows Vista 到 Windows 10 中,我们可以在以下路径找到事件日志:
C:\Windows\System32\winevt\logs
当用户因被指控使用系统进行犯罪或不当行为而辩解时,常见的借口是其他人曾访问过他们的系统。远程桌面协议(RDP)是一种从另一位置访问主机的方法。安全日志将记录任何使用 RDP 协议的访问。你需要查找事件 ID 4778 和 4779,它们会显示服务连接/重新连接的时间和断开连接的时间。
你还可以搜索系统的登录类型。例如,当我们检查安全日志中的事件 ID 4624时,它将告诉我们登录的日期、时间、用户名和登录成功的方式。正如你在以下事件查看器的截图中看到的,你可以使用这个应用程序查看导出的日志文件。
一旦加载了你要查看的日志文件,你可以过滤结果,只显示与你的调查相关的事件:
图 6.6:事件查看器显示事件信息
登录类型也很重要。用户是在键盘前坐着,还是从远程站点登录的?事件 ID 4624
将标识用户使用的登录类型。在以下截图中,你可以看到事件查看器的输出,显示用户何时登录以及使用了哪种登录类型。
这里显示了用户的登录类型为 2,即“交互式”:
图 6.7:事件查看器显示登录类型
以下是 Microsoft 列出的其他登录类型及其描述:
图 6.8:Microsoft 登录类型
你可能还想建立尝试登录的事件,以确定攻击者是否入侵了账户。以下事件 ID 将帮助你做出这个判断:
-
4624
- 登录成功 -
4625
- 登录失败 -
4634
- 登录会话终止 -
4647
- 用户终止的登录会话 -
4648
- 用户尝试使用不同凭据登录 -
4672
- 用户使用管理员权限登录 -
4720
- 用户账户创建
可以在以下位置找到 Microsoft Windows 事件 ID 的完整列表:
www.ultimatewindowssecurity.com/securitylog/encyclopedia/
假设你看到很多失败的登录尝试,或者一个平时没有超级用户权限的用户被授予了管理员权限。在这种情况下,这些事件 ID 提供了额外的调查线索,帮助你确定发生了什么。
现在我们已经检查了用户的账户活动,接下来我们将讨论与用户账户文件访问相关的遗留文件。
确定文件知识
一些你调查的事件可能涉及非法图像、被窃取的数据或非法访问数据。你需要判断用户是否知道相关文件的存在,或者这些文件是否存在于用户的系统中。
现在我们将讨论一些你可以在 Windows 操作系统中找到的遗留文件,这些文件可以帮助你做出判断。
探索缩略图缓存
缩略图缓存是使用 Windows 资源管理器在缩略图视图中时创建的缩略图图像数据库。根据缩略图的大小,可能会有多个数据库,存储着相同的图像但大小不同。这取决于用户在 Windows 资源管理器中选择的视图。数据库中找到的图像并不能实质性地证明用户知道该图像存在于系统中。系统可以在用户不知情的情况下将缩略图添加到缓存中。缩略图缓存可以在用户的个人资料中找到,路径如下:
AppData\Local\Microsoft\Windows\Explorer
你的商业取证工具将能够顺利处理缩略图缓存。如果你想使用开源工具,可以使用缩略图查看器(可在 thumbcacheviewer.github.io/
下载)。
以下是缩略图查看器输出的示例:
图 6.9:缩略图查看器输出
如你所见,缩略图的文件名与源图像不同。为了识别创建缩略图的原始文件,我们需要查看 Windows 搜索索引数据库 Windows.edb
,该数据库可以在以下路径找到:
C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb
你将需要一个额外的工具来查找有关用于创建缩略图的图像的信息。你可以使用 ESEDatabaseView
(位于 www.nirsoft.net/utils/ese_database_view.html
)。
缩略图的名称是 96 5a be bc cc 2b f2 27
,由十六进制字符组成。为了在数据库中搜索,我们需要将这些值反转,因此我们将搜索 27 f2 2b cc bc be 5a 96
。我们要寻找的信息根据操作系统的不同,可能位于不同的位置。
-
在 Windows 7 系统上,你可能想要查看表
SystemIndex_0A
的内容。 -
在 Windows 8/10 计算机上,你可能想要查看表
SystemIndex_PropertyStore
的内容。
一旦我们将十六进制值输入到筛选器中,它将数据缩减为一行:
图 6.10:筛选后的数据库结果
在以下截图中,我们可以看到文件来自用户jcloudy
的桌面。图片的名称是MyTiredHead.jpg
:
图 6.11:数据库中的文件名显示
在以下截图中,当我们查看System_ThumbnailCacheID
字段时,可以验证这是正确的文件:
图 6.12:数据库中的缩略图名称
这完成了关于缩略图缓存的讨论。接下来,我们将探索由 Edge/Internet Explorer/文件资源管理器浏览器创建的人工制品。
探索微软浏览器
微软使用相同的方法记录用户的文件活动和 Internet Explorer/文件资源管理器/Edge 浏览器的互联网历史。此外,它还记录本地和远程文件访问。大多数商业取证工具可以轻松解析这些文件。根据版本,历史文件将位于以下位置:
图 6.13:IE 位置
在以下截图中,你可以看到用户正在使用 10/11 版本,因为存在WebCacheV01.dat
文件:
图 6.14:文件资源管理器显示 WebCacheV01.dat 文件
.dat
文件是一个 ESE 数据库。如果你想使用单次用途的取证工具,你可以将.dat
文件从取证镜像中导出,并使用开源取证工具如ESEDatabaseView
查看它。
(位于www.nirsoft.net/utils/ese_database_view.html
)
你需要导航到Containers
表。以下截图是来自 X-Ways Forensics 的输出:
图 6.15:X-Ways 显示 WebCache 的内容
如你所见,我们有一个日期和时间戳,以及查看的文件路径。我们看到有一个离线 HTML 文件(第一行),它位于用户的桌面上。我们看到用户打开了两个 PDF 文件、两个 JPEG 文件、一个 HTML 文件和一个 DOCX 文件。
还有一些额外的人工制品,显示了用户帐户访问了一个文件,我们接下来将讨论这些。
确定最近使用/最近访问
MRU(最近使用)是存储在用户NTUSER.DAT注册表中的一个最近使用文件的列表。当你打开一个应用程序并看到应用程序的历史记录列表时,这些文件就是 MRU 列表中的文件。注册表文件中存储着很多 MRU 列表。我们将讨论一些常见的存储位置。
来自用户 NTUSER.DAT 文件的 OpenSavePidlMRU 跟踪通过 Windows 公共对话框打开/保存的最后 20 个文件(这些是常见的 打开/另存为 对话框)。在以下示例中,我们可以看到用户最近使用的 20 个文件:
图 6.16:NTUSER.DAT 密钥的内容 - OpenSavePidlMRU
另一个需要查看的密钥是:
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
此密钥包含通过 Windows 资源管理器应用程序执行/打开的文件列表。你还将拥有子键,根据文件扩展名列出已执行/打开的文件。系统将按文件执行/打开的时间顺序存储这些条目。
查看密钥的最后一个条目/修改时间时,它将与列表中的最后一个条目对应。此密钥将跟踪最近打开/执行的 150 个文件。以下是该密钥的输出(为简洁起见,我只显示了顶级条目):
图 6.17:最近的文档条目
这是我之前描述的文件扩展名子键的一个示例,它显示了最近使用的 CSV 文件:
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.csv
图 6.18:NTUSER.DAT 密钥的内容 - Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs 中的 CSV 文件
这是我之前描述的文件扩展名子键的一个示例,它显示了最近使用的 DOCX 文件:
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.docx
图 6.19:NTUSER.DAT 密钥的内容 - Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs.docx
这是我之前描述的文件扩展名子键的一个示例,它显示了最近使用的 HTML 文件:
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.html
图 6.20:NTUSER.DAT 密钥的内容 - Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs.html
还有一个额外的子键,\Folder
,它列出了用户在系统上打开文件夹的时间,具体如下所示:
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\Folder
图 6.21:NTUSER.DAT 密钥的内容 - Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\Folders
可能有兴趣的条目包括 OneDrive 和 CloudLog。如果我在寻找特定文件的证据,目标可能将数据存储在云存储中。当我看到显示使用云存储的证据时,这就提供了额外的位置信息,我需要定位并获取这些数字证据,以继续我的数字取证调查。
如你所见,这些是查看用户访问了哪些文件的好证据,但如果用户删除了文件,会发生什么呢?这就引出了我们下一个话题,回收站。
查看回收站
回收站是微软为了保护用户免受错误操作的努力。它为用户删除文件时提供了一个中介步骤。Windows 会将文件移入一个称为回收站的暂存区。
回收站是一个隐藏的文件夹,存储在系统每个固定磁盘的根目录中。文件夹名为$Recycle.Bin
。在 NTFS 格式化的磁盘上,将会有以用户 SID 命名的子文件夹。这些子文件夹会在用户首次登录系统时创建:
-
$Recycle.Bin
S-1-5-21-2734969515-1644526556-1039763013-1001
当用户删除一个文件时,原始文件会被重命名,并成为Recycle.Bin
文件集的一部分。系统会将原始文件重命名为$R
,然后是六个随机的字母数字字符作为文件名,文件扩展名保持不变。系统会创建第二个文件,以$I
开头,后面跟着与$R
文件相同的六个字母数字字符。$I
文件也将与$R
文件具有相同的文件扩展名。
$I
文件将跟踪删除时间和原始文件位置的路径:
-
大小:4.9 MB
-
已移至回收站:
04/05/2018 02:20:17 +0 C:\Users\jcloudy\Desktop\Larry King_ Time to Repeal the 'Poorly Written' Second Amendment_files
如你所见,我们得到了原始文件的大小、用户删除文件的时间以及包括文件名在内的原始路径。
如果用户删除了一个目录,你仍然会保留该目录的$R
和$I
文件。$R
文件将包含所有子目录和所有具有原始名称的文件,如下图所示:
图 6.22:已删除的目录
用户可以清空回收站。当这样做时,文件系统会更新,标记这些簇现在可以重新使用。在系统覆盖数据之前,您可以从未分配的簇中恢复数据。请注意,$I
(在 NTFS 卷上)将是 MFT 中的常驻数据。NTFS 在重用 MFT 中的文件条目方面非常高效,因此很难恢复$I
文件中的信息。
如果回收站被清空,其他遗留物可能仍然引用该文件。接下来我们要讨论的内容是链接(LNK)文件。
理解快捷方式(LNK)文件
.lnk
文件是 Windows 操作系统用作快捷方式或链接到文件、应用程序或资源的文件。它是一种简单、易用的方法,让用户可以访问常用的文档或应用程序。链接文件将包含对数字取证调查员有用的信息,包括以下内容:
-
文件的 MAC 时间
-
文件大小
-
文件路径
-
卷详细信息
即使目标文件已被删除,这些信息仍将保留。每次双击文件或使用文件打开对话框时,系统都会创建一个链接文件。这些链接文件将存储在位于以下路径的Recent
文件夹中:
%Username%\Appdata\Roaming\Microsoft\Windows\
大多数商业取证工具可以分析链接文件。一个开源选项是 Eric Zimmerman 的 LECmd 工具(可以在ericzimmerman.github.io/
找到)。
当我们分析链接文件的内容时,我们可以看到大量可能对数字取证调查员有帮助的信息:
图 6.23:链接文件内容
我们可以看到目标文件是存储在用户桌面上的 Microsoft Word 文档。当我们查看字段 ID 列表时,我们还可以看到文件的内部元数据(MAC 值)。这些数据在试图将文件的知识与特定用户关联时可能非常重要。我们还可以看到系统创建链接文件的日期/时间。其他信息包括卷类型/序列号和主机名,这使我们能够将此链接文件与目标文件的特定位置关联起来。请注意,这是用户或系统管理员可以关闭的选项。与 LNK 文件类似的另一个工件是 JumpList。
解读 JumpLists
JumpLists 在 Windows 7 中引入,与Recent
文件夹非常相似(我们在 LNK 文件中讨论过)。它们允许用户从 Windows 任务栏访问常用/最近使用的文件。即使用户清空了Recent
文件夹,也不会清除 JumpLists 中存储的信息。
JumpLists 可以在以下路径中找到:
-
%UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\Automaticdesti nations
-
%UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations
JumpLists 有两种类型:
-
自动 – 系统创建的。记录有关文件使用的信息。
-
自定义 – 应用程序创建的。记录有关应用程序的任务特定信息。
在下方的截图中,你可以看到AutomaticDestinations
文件夹,文件夹内将包含包含 JumpLists 的文件:
图 6.24:JumpList 显示
系统根据 JumpLists ID 命名 JumpLists。例如,在前面的截图中,我们看到5d696d521de238c3.automaticDestinations-ms
。在 JumpLists ID 列表中搜索(可以在community.malforensics.com/t/list-of-jump-list-ids/158
找到)显示,这是 Google Chrome 浏览器的 JumpLists ID。
大多数商业取证工具都会解析出 JumpLists。一个开源选项是 Eric Zimmerman 的 JumpList Explorer。
以下是文件中包含的信息。你可以看到用户正在使用 Chrome 浏览器查看 PDF 文件和离线 HTML 文件。它还包含用户打开文件的日期/时间:
-
7 04/06/2018 03:56:32 +0 C:\Users\jcloudy\Desktop\LeftUsesBoycotts.pdf
-
6 04/06/2018 03:55:00 +0 C:\Users\jcloudy\Desktop\AMEN.pdf
-
5 04/05/2018 05:51:41 +0 C:\Users\jcloudy\Desktop\UKknifeBan.pdf
-
4 04/05/2018 05:48:40 +0 C:\Users\jcloudy\Desktop\SelfDefenseisMurder.pdf
-
3 03/30/2018 04:32:25 +0 C:\Users\jcloudy\Desktop\Cubs' Anthony Rizzo Praises Parkland Kids, Says 'It's too Easy to Get a Gun'.html
-
2 03/30/2018 04:29:48 +0 C:\Users\jcloudy\Desktop\Larry King_ Time to Repeal the 'Poorly Written' Second Amendment.html
-
1 03/27/2018 09:51:18 +0 C:\Users\jcloudy\OneDrive\Getting started with OneDrive.pdf desktop-pm6c56d
跳转列表是关于文件的工件;下一个工件将显示用户访问了哪些文件夹。
打开 shellbags
Shellbags 是一组注册表键,记录了用户通过 GUI 访问的文件夹和库的大小和位置。此外,你还可能找到显示用户与网络设备、可移动媒体或加密容器互动的工件。
你可以在名为USRCLASS.DAT
的注册表树中找到它们,该文件位于用户的AppData\Local\Microsoft\Windows
文件夹中。
大多数商业取证工具会解析USRCLASS.DAT
文件中的 shellbags,但工件的呈现方式会有所不同。我喜欢使用 Eric Zimmerman 的 Shellbag Explorer 作为开源替代方案。
在以下截图中,你可以看到用户通过 Windows GUI 访问的文件夹的图形表示。此截图来自 Shellbag Explorer:
图 6.25:Shellbag Explorer:shellbags 的图形表示
通过这个工件,你无法判断用户是否访问了文件夹内的任何文件。这个工件显示的是用户访问了该文件夹。从显示的信息来看,我看到用户正在使用三个云存储服务。我们之前已经见过关于 Box Sync 和 Dropbox 的工件,但这是我第一次看到关于 Google Drive 的相关信息。
在以下 RegRipper 输出中,我们可以看到访问日期和时间戳,以及第一次访问的日期/时间:
图 6.26:RegRipper 输出 Google Drive
如果受访者表示他们不知道文件/文件夹的位置,那么这个工件非常重要。这个工件是通过用户的操作生成的。下一个工件也可以用来显示用户对文件的了解。
理解预取
预取是微软引入的一项功能,用于提升用户在 Windows 操作系统中的体验。它通过预加载数据到内存中,提前满足用户或系统的需求,从而加快响应时间。你可以在以下路径找到预取文件:
%WINDOWS%\PREFETCH
这些文件的扩展名为 .pf
。此外,预取文件将包含与其关联的可执行文件的信息,例如可执行文件使用的文件列表、用户运行该可执行文件的次数以及用户上次运行该可执行文件的日期/时间。
大多数商业法证工具都会解析预取文件。对于开源选项,您可以使用 NirSoft 的 WinPrefetchViewtool。
(位于 www.nirsoft.net/utils/win_prefetch_view.html
)
在以下截图中,我们正在查看 WinPrefetchView
的输出。您可以看到日期和时间戳以及可执行文件的进程路径(请注意,由于系统监控预取文件的方法,您可能需要从创建/修改时间中减去 10 秒,以获取准确的时间):
图 6.27:WinPrefetchView 显示的预取文件
使用这些工件,您可以确定用户正在使用哪些应用程序,这可能会导致发现隐藏的分区、移动设备、加密容器或云存储。
随着操作系统的更改或更新,工件可能会移动或被删除。您需要保持更新,了解已知的变化。接下来我们将查看帮助我们确定系统物理位置的工件。
确定物理位置
知道系统的物理位置可能有助于您证明或反驳针对您正在调查的对象的指控。例如,曾经对某组织网络泄露事件进行过调查。由于该员工在解雇过程中曾有威胁,该前员工成为了攻击的嫌疑人。在对嫌疑人进行面谈时,他否认自己在该地区,并表示他当时不在本州。一位法官批准了对嫌疑人移动设备和笔记本电脑的搜查令。在对笔记本电脑进行法证分析时,检查员发现它已恢复到操作系统的新版本。未分配空间中的工件使我们相信该用户已擦除该设备(该用户用十六进制 00 字符覆盖了所有可用扇区)。嫌疑人没有篡改移动设备,且我们能够对设备进行分析。我们能够绘制出该设备在嫌疑人声称不在本州时所连接的 Wi-Fi 热点。当面对这些数字证据时,嫌疑人承认了自己忘记了手机,并表示它自动连接到了 Wi-Fi 热点。
现在我们将讨论一些您可以查看的系统工件,以帮助确定事件发生时的物理位置。
确定时区
系统的时区信息为你提供了一个起点,用于将记录的活动与事件发生的日期/时间进行关联。所有内部日期和时间戳将基于注册表中记录的时区信息。我们可以在系统 hive 中找到时区信息。相关的键位路径如下:
SYSTEM\CurrentControlSet\Control\TimeZoneInformation
这将通过 RegRipper 给出以下输出:
图 6.28:RegRipper 输出 - SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Tzres.dll
是时区资源的DLL
。你可以看到Bias
和ActiveTimeBias
字段,分别显示为300
和240
,即与 GMT 的时间偏移分钟数。然后是时区的常用名称,在这种情况下是东部标准时间
。
时区并不总是准确的——用户可以将时区设置为自己选择的区域。接下来我们将检查的文物可能有助于定位物理位置。
探索网络历史
了解嫌疑人连接过哪些网络,无论是有线还是无线,可能会为你提供关于他们在事件发生时位置的线索。你可以在Software hive
或操作系统管理的 XML 文档中找到相关信息。Wi-Fi 文档的路径如下:
C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces
该目录包含每个接口的子文件夹(使用 GUID 命名规则)。XML 文档将包含该接口连接过的网络的SSID(服务集标识符)。以下输出与您在 XML 文档中找到的信息一致:
图 6.29:WLAN 配置文件的 XML 输出
如你所见,网络的 SSID 是Net 2.4
,并且使用WPA2PSK
认证。
如果你访问注册表位置,你将找到包含网络信息的子 hive,比如Profiles
子键,它提供了嫌疑人连接的无线网络的更多信息:
SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList
以下是networklist
子 hive 的 RegRipper 输出:
图 6.30:RegRipper 输出 - SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList
注册表 hive 提供了更多信息,包括 MAC 地址、连接的日期和时间戳。我们还可以查看另一个日志文件:WLAN 事件日志。
理解 WLAN 事件日志
微软 Windows 也会记录无线连接的事件日志。该日志可以在以下路径找到:
C:\windows\System32\winevt\Logs\Microsoft-Windows-WLAN-AutoConfigOperational.evtx
该日志包含 SSID 信息、MAC 地址,以及连接的日期和时间戳。以下事件 ID 号可能与您的调查相关:
-
11000
- 无线网络关联 -
8001
- 已连接到无线网络 -
8002
- 无法连接到无线网络 -
8003
- 已断开与无线网络的连接 -
6100
- 网络诊断(系统日志)
注意
关于 Microsoft Windows 的所有信息,你可以在docs.microsoft.com/en-us/
找到。
以下输出与你在事件日志中看到的内容一致:
图 6.31:WIFI 访问事件日志
这是11000
事件 ID,表示无线连接的开始。因此,基于这个特定的痕迹,你可以表明在 2018 年 3 月 27 日 12:15:58(GMT),计算机SYSTEM
已连接到无线网络Net 2.4
。
如果你知道无线网络Net 2.4
的位置,你可以将这台计算机与该物理位置关联起来。
接下来,我们将讨论可以帮助我们确定用户是否执行了特定程序的痕迹。
探索程序执行
程序执行痕迹指示系统上运行过的程序或应用程序。用户可以直接触发执行,或者通过系统管理的自动启动/运行事件。一些类别与本章早些时候讨论的文件知识类别重叠。我不会在本节重新审视这些特定的痕迹。请注意,来自最近应用程序、JumpLists、MRU 和预取文件的痕迹也将包含有关程序/应用程序活动的信息。
确定 UserAssist
UserAssist
是用户NTUSER.DAT
文件中的一个注册表键,位于以下路径:
NTUSER.DAT\Software\Microsoft\Windows\Currentversion\Explorer\UserAssist
该密钥跟踪系统中启动的基于 GUI 的应用程序。系统使用 ROT 13 编码对密钥中的数据进行编码。RegRipper 将自动解码数据。以下是你将从 RegRipper 看到的输出:
图 6.32:NTUSER.DAT\Software\Microsoft\Windows\Currentversion\Explorer\UserAssist 的内容
如前面的输出所示,你可以看到最后一次执行的日期和时间戳,以及可执行文件的路径。括号中的数字表示用户/系统激活可执行文件的次数。接下来,我们将讨论 Shimcache,它也包含有关已执行程序的信息。
探索 Shimcache
这是 Shimcache 的默认位置:
SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache
Shimcache 用于跟踪已执行程序的兼容性问题。存储在此缓存中的一些信息如下:
-
文件路径
-
$Standard
信息属性修改时间 -
Shimcache 的更新时间
以下是你将从 RegRipper 看到的输出:
图 6.33:Shimcache 输出
在 Shimcache 中找到的痕迹可以为系统中发现的其他痕迹提供支持证据,即注册表、事件日志、文件系统等。
有时,用户会将程序或文件存储在便携设备中。下一组痕迹将涉及 USB 设备的使用。
理解 USB/附加设备
USB 设备存在若干安全风险。它们体积小、便于携带,是高容量存储设备,可能被用于从组织中窃取数据,或者用于将恶意软件传递给组织,从而破坏其安全协议。
作为一名数字取证调查员,你会想知道是否有任何 USB 设备连接到你正在检查的主机。接下来,我们将讨论一些 Windows 系统工件,帮助你识别主机上的 USB 设备使用情况。
接下来我们将查看两个注册表键的结果,第一个键可以在以下路径找到:
SYSTEM\CurrentControlSet\Enum\USB
这个注册表键识别连接到系统的 USB 设备,如下输出所示:
图 6.34:注册表键的内容 - SYSTEM\CurrentControlSet\Enum\USB
我们可以看到系统在不同时间连接了两台 USB 设备。我们有不同的卷序列号和系统访问设备时的最后写入时间。注册表中找到的卷序列号并不是物理设备的序列号。
注意
没有唯一卷序列号的设备将会在卷序列号的第二个字符上出现 &
。
接下来你需要查看的注册表键是:
SYSTEM\CurrentControlSet\Enum\USBSTOR
当我们查看 USBSTOR
中的值时,会得到关于设备的更多信息,包括设备的商业名称。我们还通过这两个 SYSTEM
hive 中的条目确认了设备的序列号:
图 6.35:注册表键的内容 - SYSTEM\CurrentControlSet\Enum\USBSTOR
在 SYSTEM
hive 中的 MountedDevices
键,路径为 SYSTEM\MountedDevices
,我们可以通过序列号将 USB 设备映射到系统中的驱动器字母:
图 6.36:注册表键的内容 - SYSTEM\MountedDevices
当我们分析数据时,可以看到有两个 USB 设备(序列号为 AA010215170355310594594
和 AA010603160707470215
)连接到系统。其中一个被识别为 D:
驱动器,第二个设备被识别为 E:
驱动器。
问题是否依然存在,究竟是哪个用户账户负责 USB 设备的使用?为了回答这个问题,我们需要从每个 USB 设备中提取 GUID,并将它们与用户的 NTUSER.DAT
文件进行比对。我们正在寻找的 GUID 是 3869c27a-31b8-11e8-9b12-ecf4bb487fed
和 5c3108bb-31c0-11e8-9b10-806e6f6e6963
。
RegRipper 还会分析 NTUSER.DAT
文件,并提供有关与用户账户关联的设备的信息:
图 6.37:注册表项内容 - Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
如你所见,我们在注册表条目中找到了两个 GUID,显示了设备最后挂载的时间。因此,我们现在可以说,jcloudy
账户登录时,用户使用了特定的 USB 设备。
总结
本章中,我们讨论了如何在基于 Microsoft Windows 的操作系统上定位文物,以确定受调查者在调查事项中的责任。你已经了解了不同类别的文物以及它们代表的用户/系统行为。运用你从本章学到的知识,你可以快速确定在你调查的时间框架内哪些账户处于活动状态,以及该事件是否涉及可移动存储设备。此外,你还了解了如何分析文物,以确定用户是否知道特定的文件或应用程序。最后,我们使用了几种商业和开源取证工具来访问这些文物。因此,你现在知道如何找到并分析在基于 Microsoft Windows 的操作系统上找到的数字证据。
下一章将讨论内存取证。
问题
-
你可以在何处找到注册表文件?
-
%SystemRoot%\System32\Config
-
%SystemRoot%\System32
-
%SystemRoot%\\Config\System32
-
%SystemRoot%\System64\Config
-
-
在检查日志文件时,哪个事件 ID 表示成功登录?
-
4624
-
4625
-
4672
-
4642
-
-
缩略图缓存是一个 ______________。
-
脚趾甲图像的数据库
-
缩略图图像的数据库
-
已删除缩略图图像的数据库
-
已删除图像的数据库
-
-
用户可以使用 Internet Explorer/Edge 查看文件。
-
真
-
错
-
-
在 LNK 文件中可以找到以下哪项?
-
卷序列号
-
路由器名称
-
删除日期
-
卷详细信息
-
-
以下哪种 Microsoft Windows 操作系统使用 JumpLists?
-
Windows 98
-
Windows ME
-
Windows 7
-
Windows 2000
-
-
在哪个注册表配置区可以找到与 USB 设备相关的文物?
-
NT USER.DAT
-
系统
-
软件
-
安全
-
答案可以在书本后面的 评估 部分找到。
进一步阅读
有关本章所涵盖主题的更多信息,请参考以下链接:
-
Altheide, C., Carvey, H. A., 和 Davidson, R. (2011). 使用开源工具的数字取证。阿姆斯特丹:Elsevier/Syngress(可在
www.amazon.com/Digital-Forensics-Open-Source-Tools/dp/1597495867
获取) -
Carvey, H. A. (2005). Windows 取证与事件恢复。波士顿:Addison-Wesley(可在
www.amazon.com/Windows-Forensics-Incident-Recovery-Harlan/dp/0321200985
获取) -
Bunting, S. (2012). EnCase 计算机取证:官方 EnCE:EnCase 认证检查员;学习指南。印第安纳波利斯,IN:Wiley(可在
www.amazon.com/EnCase-Computer-Forensics-Official-EnCE/dp/0470901063
获得)
练习
数据集
第六章 猫头鹰练习.e01
所需软件
Autopsy - www.autopsy.com/
情景
在一个猫头鹰交易和购买是非法的司法管辖区,两个用户正在讨论非法交易猫头鹰。一台属于一个试图非法购买猫头鹰的用户的计算机被作为证据收缴。要求你对数字证据进行分析。已经获取了取证镜像,准备好给你分析。你可以使用 Autopsy 或任何其他工具。
你可能需要查找的某些证据包括:
-
网络搜索
-
购物搜索
-
聊天客户端
-
电子邮件
-
文档
-
社交网络
-
操作系统证据
-
LNK 文件
-
回收站
-
Shellbag
可能的关键词:
-
猫头鹰
-
小猫头鹰
-
羽毛
-
鸟蛋
-
杂交
-
夜行性
-
巢穴
-
猫头鹰叫声
-
保护
-
翼展
加入我们社区的 Discord
加入我们社区的 Discord 空间,与作者和其他读者进行讨论:
第七章:RAM 内存取证分析
RAM 是一个重要的数字证据来源,但在历史上常常被忽视。随着我们对数字证据的了解不断深入,检查员意识到 RAM 中存在潜在的数字证据来源。最终,你将有一个额外的多吉字节信息来源需要检查,可能包含传统位置中不存在的数字痕迹。
本章将介绍内存的基础知识。然后,我们将了解不同的内存来源,并学习如何使用 RAM 捕获工具来捕获 RAM。在本章结束时,你将理解处理易失性内存的各种方法和工具。
本章将涵盖以下主题:
-
内存基础
-
随机存取内存
-
识别内存来源
-
捕获 RAM
-
探索 RAM 分析工具
内存基础
随机存取内存 (RAM) 包含什么信息?它将提供系统在关闭之前的当前运行状态信息。它将包含任何正在运行的程序信息;这些可能是合法的进程,也可能包含正在运行的恶意程序进程。如果攻击者已侵入主机,恶意程序可能驻留在 RAM 中。
你还会发现与主机与其他节点之间网络连接相关的信息。这可能是合法的点对点文件共享,也可能显示与攻击者主机的连接。这些连接是你可以追踪的线索。用户也可能正在共享非法图片。同样,连接到其他计算机将允许你跟踪并调查更多的用户,查明同样的犯罪。
如果用户使用云服务,我们可能永远无法在系统的物理磁盘中找到他们创建的数据。相反,我们可能只能看到以 RAM 形式托管在云中的数据证据。
RAM 是计算机系统中的“厨房桌”。用户/系统的任何操作都会访问 RAM。例如,每次鼠标点击和每次按下的键盘按钮都会通过 RAM 进行处理,并且你可以恢复整个文件、密码以及放入剪贴板的文本。所有这些都是潜在的数字证据来源。有时,你还能恢复用户创建的加密容器中的加密密钥。
2004 年,Rajib K. Mitra 因干扰警察无线电通讯而被定罪。调查结果没收了多件数字证据。主侦探 Cindy Murphy 在 2009 年得知,恢复仅存在于 RAM 中的加密密钥是可能的。Murphy 侦探回过头重新检查了证据,成功找到了 Mitra 用来保护加密容器的加密密钥。当 Murphy 侦探打开加密容器时,发现了许多非法图片,最终导致 Mitra 因持有这些图片而被定罪。
分析 RAM 与分析硬盘有何不同?RAM 是一个活跃运行系统的快照,而硬盘检查则是静态的。在检查硬盘时,我们已经关闭了系统,并正在检查物理设备上的数据。RAM 更加短暂,如果你在两个不同的时间点获取 RAM 的法医影像,你将得到不同的结果。捕获 RAM 中的数据会导致潜在证据的丢失。你在收集 RAM 时实际上是在改变证据。
那么,让我们来讨论一下什么是 RAM。
随机存取内存?
RAM 暂时存储在活动计算机系统上的工作数据/代码。与传统的存储设备(如硬盘)不同,数据可以以极快的速度在 RAM 上读取/写入。当前技术允许在一个集成电路芯片上制造 RAM 芯片,并使用金属氧化物半导体单元。存储在 RAM 芯片中的数据是易失性的。
当计算机系统断电时,我们会丢失易失性数据。这是“拔掉插头”战术不再推荐用于应对激活计算机系统的现场的一个重要原因。
你可能会遇到两种不同类型的 RAM:静态 RAM(SRAM)和动态 RAM(DRAM)。SRAM 被认为在速度和能效方面更优,而 DRAM 比 SRAM 更便宜。因此,SRAM 通常用于作为 CPU 的缓存内存,而 DRAM 则作为计算机系统的内存芯片。
以下是你在调查中可能遇到的 DRAM 芯片的表示:
图 7.1:DRAM 图像
不要将 RAM 与 只读内存(ROM)混淆。ROM 永久存储数据在内存芯片中,并且是非易失性的。
例如,32 位的微软 Windows 系统计算机内存限制为 4 GB,而 64 位的微软 Windows 系统计算机内存限制为 128 GB。这是一个相当显著的潜在证据,历史上尚未进行过分析。
为了让 CPU 访问存储在内存芯片中的数据/执行代码,必须为该数据的位置提供一个唯一的标识符。当我们开始检查原始内存转储时,我们将处理物理地址,这是内存转储的偏移量。
存储在 RAM 中的数据以 4 KB 大小的页面存储(但大小可以变化),当系统处理并添加/读取数据到 RAM 中的页面时,它们正在使用虚拟地址。
所有操作系统以相同的方式访问 RAM。因此,让我们讨论一些操作系统中常见的概念:
-
权限分离:权限决定了用户、用户帐户和进程可以访问的内容。它是一种访问控制形式,当操作系统使用时,它通过将用户和 CPU 内核的操作隔离来帮助提供系统的稳定性。操作系统在受信模式下运行,即内核模式,而用户应用程序则在不受信模式下运行,即用户模式,在系统中执行命令时。
-
系统调用:为了访问由操作系统内核控制的资源,用户应用程序必须请求访问。这是通过对内核进行系统调用来实现的。它是应用程序与操作系统之间的桥梁,使得不受信任模式在特定实例中变得可信。
-
进程管理:程序代码在内存中执行。操作系统负责管理进程。当前的操作系统作为多程序系统运行,允许多个进程同时执行。在分析内存转储时,我们正在查看在捕获时执行了哪些进程,并分析存储在 RAM 中的数据。
-
线程:一个进程可以有多个线程。线程是使用系统资源(如 CPU)的基本单位。当我们分析内存转储时,我们正在寻找进程的时间戳和起始地址,这有助于识别进程中的代码。
RAM 的内容可能包括系统中发生的或曾经发生过的事件的痕迹。它可以包括以下内容:
-
配置信息
-
输入的命令
-
密码
-
加密密钥
-
未加密的数据
-
IP 地址
-
上网历史
-
聊天记录
-
电子邮件
-
恶意软件
正如你所看到的,通过收集 RAM,可以获得大量有价值的证据。那么,在哪里可以找到存储在 RAM 中的数据呢?有几个不同的来源,接下来我们将讨论这些来源。
识别内存来源
如果你不是现场的调查员,且在收集 RAM 中的数字证据时,他们没有收集易失性数据,会发生什么?即便系统已经关闭,是否仍然可以访问 RAM?虽然你无法分析 RAM,但仍然可以检查其他包含存储在 RAM 中相同数据的来源。这个选项可能并不总是可行,具体取决于数字证据扣押时的具体情况。
你需要知道,在 RAM 中可能还包含有相同或相似数据的潜在额外来源。它们如下所示:
-
休眠文件(hiberfill.sys):休眠是指在关闭计算机电源的同时,仍然保持系统的当前状态。在 Windows 中,RAM 被压缩并存储在
hiberfill.sys
文件中。这样,系统可以完全关机,但当系统重新启动时,hiberfill.sys
文件的内容将重新加载到 RAM 中。注意
如果你正在检查一台笔记本电脑,休眠通常是通过关闭笔记本电脑来启动的。在台式机中,这将由用户手动启动。
hiberfill.sys
文件的文件头可能是hibr
、HIBR
、wake
或WAKE
。当系统重新启动时,文件头会被清零。hiberfill.sys
文件是一个压缩文件,必须在分析之前进行解压。在分析
hiberfill.sys
文件时,最后修改日期/时间戳将显示 RAM 内容被添加到该文件的时间。注意
如果你处于现场且无法进行实时内存捕获,另一种选择是将系统置于休眠状态,这样会创建
hiberfill.sys
文件,并保存系统当前的状态。 -
分页文件(pagefile.sys):分页是一种存储/检索数据的方法,使用虚拟内存文件在传统存储设备上存储与 RAM 芯片中使用的数据。虽然它的速度不如单独使用 RAM,但它允许程序超出物理内存的容量。当使用分页时,系统会以页面为单位传输数据。分页文件中存储的数据通常是内存中请求最少的数据。当对这些数据的请求被处理时,它会将数据重新放回物理内存。
注意
在 Windows 操作系统中,分页文件
pagefile.sys
存储在操作系统卷的根目录下。请注意,用户可以更改此位置。通常,分页文件的大小可以是系统物理内存的 1 到 3 倍。 -
交换文件(Swapfile.sys):在 Microsoft Windows 8 中,Microsoft 引入了
Swapfile.sys
文件。它与我们刚才讨论的分页文件类似,但有所不同。交换文件的创建是为了让操作系统可以用于处理挂起的现代 Windows 应用程序的分页操作。当应用程序挂起时,系统会将应用程序的所有数据写入交换文件中。这释放了物理内存中的空间,当应用程序恢复时,数据会被移回物理内存。 -
崩溃转储(memory.dmp):如果你使用过任何版本的 Microsoft Windows,你可能会遇到系统崩溃或 蓝屏死机(BSoD)。发生这种情况时,系统可能会创建内存转储,存储崩溃时系统状态的信息。
根据设置,你可能会得到以下几种类型之一:
-
完整内存转储:包含物理内存中的数据。(由于物理内存芯片的容量问题,这种方式并不常见。)
-
内核内存转储:只会包含处于内核模式下的数据页面。
-
小型转储文件:包含崩溃时运行的进程/加载的驱动程序信息。
SYSTEM
hive 中将包含一个键,用于确定在你正在检查的系统上存在的内存转储。你需要查看的键如下:
SYSTEM\CurrentControlSet\Control\CrashControl\CrashDumpEnable
转储文件将采用专有格式,并需要使用第三方工具进行转换(可在www.comae.com
下载)。到目前为止,我们已经讨论了提供内存来源的位置。最终,你需要捕获内存芯片中的数据,这是我们接下来的话题。
捕获 RAM
当决定从系统中捕获 RAM 时,必须考虑多个因素。最重要的问题是,在收集易失性数据时,你将改变系统的状态。
数字证据科学工作组(SWGDE)已探讨了易失性数据的收集,并提出了以下考虑事项:
-
用于收集内存数据的应用程序将覆盖一些内存内容。
-
工具及其相关文件越大,它覆盖的数据就越多。
-
系统可能会将 USB 设备驱动程序加载到内存中。
-
系统可能会将 USB 设备驱动程序加载到注册表中。
-
用于收集内存数据的应用程序将出现在一些最近使用的文件(MRUs)中。
收集 RAM 可能会导致系统死机或不稳定。因此,数字取证调查员必须了解该工具如何影响不同的操作系统。
在计算了风险与回报后,你决定继续并收集 RAM 内容。那么,你需要做些什么才能完成这项任务呢?最好决定选择哪种工具,它在你创建内存转储的环境中最适用。关于工具选择的一个考虑因素是该工具在系统上留下的痕迹有多大。
准备捕获设备
要成功地获取 RAM 镜像,你需要三样东西:
-
捕获设备(如 USB 设备)
-
访问系统
-
管理员权限
注意
记住,系统中安装的 RAM 数量将决定外部存储设备的大小。如果系统有 16GB 的 RAM,那么你的外部存储设备需要大于 16GB。内存转储的大小将与已安装的 RAM 容量相同。
在响应现场之前,你需要准备好外部存储设备。你的设备应该格式化为 NTFS 分区。这样可以避免如果你使用 FAT32 格式化设备时可能遇到的文件大小问题。
现在我们将讨论一些用于创建 RAM 原始取证镜像的工具。
探索 RAM 捕获工具
我将简要介绍一些用于捕获 RAM 的工具。还有其他商业和开源工具可供选择。我们可以写一本完整的书(实际上已经有这样的书)来介绍一些内存取证工具。本节的目标是为你提供概览和完成成功内存转储所需的技能,但请注意,你可以比我在本章中所讲的更深入地了解这些工具。
以下工具都是开源的,并且可以自由使用。
使用 DumpIt
DumpIt(可在 github.com/thimbleweed/All-In-USB/tree/master/utilities/DumpIt
上找到)最初由 MoonSols 开发。随后,Comae 维护了该项目。截至 2021 年,DumpIt 似乎已被整合到 Comae Platform V2.0 的闭门测试版中。它是 Win32dd
和 Win64dd
的结合体,打包成一个可执行文件。最终用户无法进行任何配置。这款工具快速、小巧、便携,并且对 RAM 的占用极少。
DumpIt 是所有工具中最简单的一个。创建外部设备并回应场景后,你需要按照以下步骤操作:
-
将你的 U 盘插入目标主机。
-
输入
cmd
(如下面的截图所示):
图 7.2:搜索栏
- 右键点击 命令提示符,以管理员身份运行(如下图所示):
图 7.3:以管理员身份运行
-
一旦命令提示符出现,导航到 U 盘上的文件夹,找到包含可执行文件的文件夹。然后你需要输入
cmd
命令并执行它。 -
系统将显示一个屏幕,展示物理内存的大小和设备上的空间。然后它会询问你是否继续。选择
y
,如下面的截图所示:
图 7.4:DumpIt 屏幕
- 安装的 RAM 大小将决定创建内存转储所需的时间。一旦该过程完成,程序会通知你成功:
图 7.5:DumpIt 成功
DumpIt 并不是唯一可用的工具。还有其他开源替代工具,如 FTK Imager,接下来我们将讨论它。
使用 FTK Imager
FTK Imager Lite(可在 accessdata.com
获取)是一个基于图形界面的工具,允许用户转储运行 Windows 32 位或 64 位操作系统的计算机系统的内存。这个工具易于使用,并且可以部署在 U 盘上。它还允许我们挂载二进制转储文件进行查看。由于是图形界面的,它对 RAM 留下了较大的足迹。
FTK Imager 也相对易于使用。记住,它是基于图形界面的,因此在从外部存储设备启动可执行文件时,它会在内存中覆盖比基于命令行的工具更多的数据。
一旦你回应了该场景,你需要执行以下操作:
-
将你的 U 盘插入目标主机。
-
如果 文件资源管理器 没有自动启动,请使用 Windows + E 快捷键打开它。
-
启动 FTK Imager,左键点击 文件,然后选择 捕获内存...,如下面的截图所示:
图 7.6:FTK Imager 菜单
-
Memory Capture窗口将会如以下截图所示出现。在这里,您可以填写目标路径:
图 7.7:FTK Imager 内存捕获
然而,请确保选择您的外部存储设备。
-
您还可以选择
pagefile
。没有理由不选择它。勾选该框,然后左键点击Capture Memory。 -
一旦工具完成操作,您将收到成功通知,如下图所示。此操作将把内存文件存储到您的外部存储设备上:
图 7.8:FTK Imager 成功
无论您使用哪种工具来收集内存,一旦收集完成,您需要获取刚刚创建的文件的哈希值。您不想使用嫌疑人的系统,因为任何发出的命令都会改变证据的状态。您将需要使用您的取证笔记本电脑或实验室的取证工作站来生成哈希值。
现在您已经创建了 RAM 的内存转储,接下来用什么工具来分析它呢?让我们来讨论一些可以用来分析 RAM 的工具。
探索 RAM 分析工具
就像我们分析来自传统存储设备的取证镜像一样,您有选择开源或商业软件的权利。选择哪个工具取决于检查员的个人偏好(有时还涉及预算),用以分析数据集。我们将介绍一些可用的工具,但这不是一个全面的列表。大多数商业工具都能分析内存文件;在这里,我们将讨论一些可用的开源选项:
-
Bulk Extractor:Bulk Extractor(可从
digitalcorpora.org/downloads/bulk_extractor
下载)扫描目标介质(磁盘镜像、文件、目录)并提取它认为有用的信息。它忽略文件系统结构,这使得它能够并行处理源数据集的不同部分。与传统的取证工具相比,这使得它非常快速。随着 Bulk Extractor 找到它认为相关的数据,它会生成一个艺术品的直方图。 -
Volatility:Volatility(可从
www.volatilityfoundation.org
下载)是一个开源框架,用于事件响应和恶意软件分析。Volatility 支持多种操作系统的内存转储。Volatility 非常强大,并且有许多插件可用。 -
VOLIX II v2:VOLIX II(可从
www.fh-aachen.de/en/people/schuba/forschung/it-forensik/projekte/volix-en
下载)是 Volatility 的图形用户界面前端。它允许您结合命令以增强可用性和速度。它省去了使用命令行界面的麻烦,并且使您可以通过点击和选择来实现相同的结果。
我们将讨论一些开源选项的使用。
使用 Bulk Extractor
让我们看看 Bulk Extractor 是如何工作的:
- Bulk Extractor 的文档列出了其输出的以下信息:
图 7.9:Bulk Extractor 输出选项
-
您需要左键单击 工具 并选择 运行 bulk_extractor… 来开始分析您的内存转储,如下图所示。当您运行 Bulk Extractor 时,查看器将显示出来:
图 7.10:Bulk Extractor 菜单 – 运行 bulk extractor 选项
然后,它将呈现 运行 bulk_extractor 菜单。
-
将工具指向您的图像文件位置和您希望使用的输出目录。如下面的截图所示,您可以看到 Bulk Extractor 工具使用的多个扫描器,它们用于在内存文件中查找证据:
图 7.11:Bulk Extractor 菜单选项以运行
您可以根据需要选中或取消选中特定的证据搜索项。
-
一旦您对设置感到满意,左键单击 提交运行 按钮以开始提取过程。一旦提取开始,它将呈现提取窗口,如下面的截图所示:
图 7.12:Bulk Extraction 窗口
- 左键单击 关闭 按钮以返回查看器。以下截图显示了 Bulk Extractor 查看器:
图 7.13:Bulk Extractor 查看器 – 提取的内容
在左侧,我们可以看到该工具恢复的具体证据。在前面的截图中,我选择了 email_histogram.txt
文件,它提供了该工具找到某个特定电子邮件地址的时间列表。通过查看直方图窗口,我可以看到它找到了 jcloudy1
电子邮件地址超过 8,000 次。当您浏览电子邮件列表时,可能会找到具有证据价值的邮件,以便在使用传统媒体时跟进。
Bulk Extractor 是一个快速高效的工具,用于提取您可以在调查中跟进的数据字符串。接下来我们将讨论的工具是 Volix II。
使用 VOLIX II
Volix 是 Volatility 框架的 GUI 前端。它使得不习惯使用 命令行界面(CLI)的用户操作起来更加简便。下载程序并首次启动后,它将呈现以下界面:
图 7.14:Volix 设置
然后,您将被指引到 Volatility 框架的位置。您可以使用独立的可执行文件或二进制文件来运行 Python 脚本。在这里,我已经下载了独立的可执行文件并将 Volix 指向它。
你可以选择的其他选项包括你希望使用的 Volix 语言。如果你有 VirusTotal API 密钥,你可以在该页面插入它。这将比较从 RAM 捕获的数据,并查看是否与 VirusTotal 跟踪的任何恶意软件匹配。
你还可以选择将 Volix 指向 John the Ripper 可执行文件。如果你想解码/解密可能存储在 RAM 中的潜在密码,请按照以下步骤操作:
- 一旦你选择了案例,选择新建。它会询问你要分析的内存文件的位置,如下图所示:
图 7.15:Volix RAM 位置
-
如果你点击报告,你可以指定 Volix 生成的报告文件路径。
-
一旦你选择确定,Volix 向导屏幕将出现。你现在可以选择通过问卷来确定你希望在内存文件上运行的选项。你还可以选择一个预创建的脚本来搜索特定的工件,如病毒检测或解密 SAM 哈希值,如下图所示:
图 7.16:VOLIX 向导
- 我选择了完整扫描。你可以在以下截图中看到结果:
图 7.17:Volix 扫描结果
从前面的截图中,你可以看到我选择了getsids
。在屏幕下方,它列出了在收集时内存中的 SIDs。
你要求它一次搜索多少个工件,会决定应用程序完成所需的时间。总体而言,与其他工具相比,这是一个相对快速的搜索。
总结
在本章中,你了解了从 RAM 中可以恢复的各种工件。你了解了可以用于收集过程的不同工具,以及可以用于分析的工具。记住,工具会随着技术不断变化,随着新操作系统的发布,你的主要工具可能无法收集到 RAM 数据。遇到这种情况时,一定要有备份计划。
现在你已经具备了识别和捕获符合最佳实践的 RAM 的技能。当你分析捕获到的 RAM 时,你可能会发现一些工件,显示出用户在系统上的活动,例如社交媒体工件、密码或加密密钥,这些都可以恢复。
你甚至可能会发现与用户使用电子邮件相关的信息,这将引导我们进入下一章,专门讲解电子邮件取证。
问题
-
以下哪些是 RAM 数据的来源?
-
物理内存
-
Pagefile.mem
-
Swapfile.page
-
ROM
-
-
当计算机进入睡眠状态时,哪个文件会被创建?
-
Pagefile.sys
-
Swapfile.sys
-
Hiberfill.sys
-
Hibernation.sys
-
-
你应该什么时候捕获 RAM?
-
每小时
-
每周
-
在每次数字取证调查中
-
当你认为它很重要时
-
-
通常来说,你需要多少项才能收集 RAM?
-
1
-
2
-
3
-
4
-
-
DumpIt 是一个图形界面工具。
-
正确
-
错误
-
-
在嫌疑人的计算机上安装 DumpIt 是可以接受的。
-
正确
-
错误
-
-
以下哪些是分析工具?
-
DumpIt
-
FTK Imager
-
Volatility
-
MD5 哈希
-
进一步阅读
Ligh, M. H., Case, A., Levy, J., & Walters, A. (2014). 记忆取证的艺术:检测 Windows 中的恶意软件和威胁,Linu。约翰·威利父子公司。(可在www.amazon.com/Art-Memory-Forensics-Detecting-Malware/dp/1118825098
获取。)
加入我们在 Discord 上的社区
加入我们社区的 Discord 空间,与作者和其他读者进行讨论:
第八章:电子邮件取证 - 调查技术
电子邮件只是全球互联网的一部分,已成为消费者和企业领域的日常资源。它已成为几乎每个工业化国家公民的主要通信工具之一。既然电子邮件已成为每个人日常生活的一部分,罪犯也将利用这一途径犯罪,并与同谋合作。
对于数字取证调查员来说,将电子邮件从目标追溯到源头可能是困难的。因此,数字取证调查员必须熟悉电子邮件生命周期中的方法和传递系统。当数字取证调查员成功确定电子邮件的来源时,这将引导他们对源头发现的数字证据进行进一步的取证调查。
在电子邮件调查中,你可以在哪里找到与电子邮件相关的数字证据?本地机器将保存目标版本的电子邮件,邮件服务器,访问电子邮件的设备(如手机),以及互联网服务提供商的日志。数字取证调查员必须知道哪些工具可以分析电子邮件及其复合文件,特别是某些邮件套件使用的邮箱文件。了解如何将这些信息呈现给非技术人员,对于传达调查员恢复数据的相关性至关重要。在本章结束时,你将了解用于发送和接收电子邮件的协议、如何解码电子邮件头以及如何分析客户端和基于 Web 的电子邮件。
本章将涵盖以下主题:
-
理解电子邮件协议
-
解码电子邮件
-
理解基于客户端的电子邮件分析
-
理解 WebMail 分析
理解电子邮件协议
电子邮件协议是一种标准,用于允许两个计算机主机之间交换电子邮件通信。当电子邮件被发送时,它从发送方的主机传输到邮件服务器。邮件服务器可以通过一系列中继转发电子邮件,直到它到达一个接近接收方主机的邮件服务器。接收方会收到一条通知,说明有邮件可用;接收方随后将联系邮件服务器以获取邮件。
用户通常使用电子邮件客户端访问邮件。电子邮件客户端可以使用不同的协议来访问邮件。现在,我们将讨论一些在进行数字取证调查时可能遇到的电子邮件协议。
理解 SMTP - 简单邮件传输协议
SMTP 是电子邮件传输的协议。它是基于 RFC 821 的互联网标准,但后来更新为 RFC 3207、RFC 5321/5322。
提示
RFC 代表“请求评论”。它用于互联网/通信技术中制定标准。RFC 可以来自不同的机构,例如互联网架构委员会/互联网工程任务组或独立研究人员。最初它是为了跟踪原始 ARPANET 的发展,但现在已经发展成关于互联网规范和通信协议的官方文档来源。
邮件服务器使用 SMTP 从访问互联网的所有位置发送和接收电子邮件消息。通常,您会在网络上找到一个利用传输控制协议(TCP)端口25的 SMTP 服务器。发送方到接收方的路径在下图中进行了概述:
图 8.1:通过 SMTP 发送的电子邮件示意图
当用户发送电子邮件时,邮件将从主机出发,经过一系列 SMTP 服务器,直到到达目标 SMTP 服务器。接收方需要使用不同的协议来检索电子邮件,这是我们接下来的话题。
我们将讨论的下一个协议是 POP3。
理解邮局协议
POP3 是标准化的协议,允许用户访问收件箱并下载电子邮件。POP3 专门设计用于接收电子邮件;该系统不允许用户发送电子邮件。此协议使用户在撰写、阅读或回复时可以离线,并可以根据用户的请求随时访问在线邮箱。请注意,您正在进行数字取证检查的电子邮件可能是唯一副本。用户可以选择不将电子邮件副本保留在服务器上。一旦电子邮件被下载,系统可以将其删除,以减少服务器上的存储空间。
您会发现 POP 使用端口110进行网络通信。
在下图中,您可以看到 SMTP-POP 过程的基本功能:
图 8.2:SMTP-POP 地图
在这里,您可以看到电子邮件的传输路径,如下所示:
-
电子邮件来自发送方。
-
SMTP 服务器将其转发到目标地址。
-
接收方从服务器收取电子邮件。接收方可以决定电子邮件副本是否保留在服务器上,或者在用户从服务器下载电子邮件时电子邮件是否被删除。
当我们查看下一个协议时,我们将讨论与 SMTP 相似的功能,但有一些显著的不同之处。我们将在下一节中讨论这些不同之处。
IMAP – 互联网邮件访问协议
IMAP是互联网邮件访问协议,是一种标准协议,供电子邮件客户端访问邮件服务器上的电子邮件。该协议设计用于允许多个客户端对收件箱进行完整的管理。在大多数情况下,电子邮件消息会保留在服务器上,直到用户将其删除。IMAP 比 POP 协议更新,但两者仍然是目前广泛使用的电子邮件标准。IMAP 和 POP 之间最显著的区别在于,POP 检索邮箱内容,而 IMAP 则是为远程访问邮箱而设计的协议。
在下面的图示中,你可以看到 SMTP-IMAP 流程的基本功能:
图 8.3:IMAP 地图
在这里,你可以看到电子邮件的传递路径:
-
电子邮件来源于发件人。
-
SMTP 服务器将其转发到目标地址。
-
收件人从服务器收取电子邮件。电子邮件的副本会保留在服务器上,直到用户明确删除它。
我们刚才讨论的三种协议通常用于电子邮件客户端和服务器之间的关系。用户在访问电子邮件时还可以选择另一种方式,称为基于 Web 的电子邮件,这是下一节的主题。
理解基于 Web 的电子邮件
基于 Web 的电子邮件是用户通过 Web 浏览器访问的服务。标准的 Web 邮件服务商有 Gmail、Yahoo Mail 和 Outlook/Hotmail。一些互联网服务提供商也提供用户可以通过 Web 浏览器访问的电子邮件账户。
用户删除的电子邮件存储在基于 Web 的电子邮件服务器上,通常会保留在服务器上,直到系统删除它们。基于 Web 的电子邮件的一个特点是,当用户删除电子邮件时,它会从收件箱移动到已删除/垃圾箱文件夹,并且仍然可以访问。然而,在电子邮件在已删除文件夹中保留一段设定的时间后,系统会永久将其从用户的收件箱中删除。
我们已经讨论了用户访问电子邮件服务的不同方法。然而,一旦你获得了可供检查的电子邮件数据集,你可能会发现电子邮件的内容是经过编码的。那么,如何解码电子邮件的内容以判断是否发生了犯罪/违规行为呢?
在下一个话题中,我们将解码电子邮件头部,以便你可以对你的调查工作做出明智的选择。
解码电子邮件
电子邮件具有许多独特的标识符,供数字取证调查员识别和追踪。邮箱和域名,以及消息 ID,将允许数字取证调查员向供应商送达司法批准的传票/搜索令,以跟进任何调查线索。
在本节中,我们将逐一解析电子邮件头部的各个部分,以便你可以决定如何进行调查。首先,我们将从讨论电子邮件信封开始。
理解电子邮件消息格式
绝大多数电子邮件用户只熟悉基本的电子邮件信息,如下所示:
Subject background checks
Date 07/19/2008 23:39:57 +0
Sender alison@m57.biz
Recipients jean@m57.biz
我们回到处理我们的朋友 Jean 的问题,通过查看这封邮件,我们可以看到几个通常与电子邮件相关的字段。在这里,我们知道主题是背景调查,用户发送邮件的日期和时间,发送者和收件人。
我们还可以看到邮件的内容,如下所示:
Jean,
One of the potential investors that I've been dealing with has asked me to get a background check of our current employees. Apparently they recently had some problems at some other company they funded.
Could you please put together for me a spreadsheet specifying each of our employees, their current salary, and their SSN? Please do not mention this to anybody.
Thanks.
(ps: because of the sensitive nature of this, please do not include the text of this email in your message to me. Thanks.)
当我们查看这封邮件时,似乎邮件是从Alison发送给Jean的。Alison 请求一个包含机密员工信息的电子表格。根据对这封邮件的基本检查,邮件的内容似乎没有什么与初始的假设相矛盾。
用户已经创建了收件人和发件人字段,以及邮件的主题和内容。系统从系统时间中推导出日期和时间,用户可以设置系统时间。
在典型的邮件信息下,另一层数据在进行调查时至关重要。这就是所谓的邮件头,它包含了关于特定邮件的来源、传输和目的地的信息。
大多数电子邮件客户端需要额外的命令来查看邮件头。例如,Gmail 需要你点击显示原始邮件才能查看邮件头。例如,以下是 Jean 从 Alison 收到的邮件头:
-----HEADERS-----
Return-Path: simsong@xy.dreamhostps.com
X-Original-To: jean@m57.biz
Delivered-To: x2789967@spunkymail-mx8.g.dreamhost.com
Received: from smarty.dreamhost.com (sd-green-bigip-81.dreamhost.com [208.97.132.81]) by spunkymail-mx8.g.dreamhost.com (Postfix) with ESMTP id E32634D80F for <jean@m57.biz>; Sat, 19 Jul 2008 16:39:57 -0700 (PDT)
Received: from xy.dreamhostps.com (apache2-xy.xy.dreamhostps.com [208.97.188.9]) by smarty.dreamhost.com (Postfix) with ESMTP id 6E408EE23D for <jean@m57.biz>; Sat, 19 Jul 2008 16:39:57 -0700 (PDT)
Received: by xy.dreamhostps.com (Postfix, from userid 558838) id 64C683B1DAE; Sat, 19 Jul 2008 16:39:57 -0700 (PDT)
To: jean@m57.biz From: alison@m57.biz
subject: background checks
Message-Id: 20080719233957.64C683B1DAE@xy.dreamhostps.com
Date: Sat, 19 Jul 2008 16:39:57 -0700 (PDT)
邮件头显示了邮件的来源以及它经过了哪些服务器。从底部开始,我们可以看到Message-Id
字段:
Message-Id: <20080719233957.64C683B1DAE@xy.dreamhostps.com>
Message-Id
字段包含每封已发送邮件的唯一 ID。当用户发送邮件时,邮件将从其接触的第一个邮件服务器接收消息 ID。该消息 ID 将是全球唯一的,因此不应该有其他邮件与相同的消息 ID。如果你发现不同的邮件包含相同的消息 ID,可能出现以下两种情况之一:
-
该邮件服务器不符合标准。
-
用户已更改了邮件。
当你查看消息 ID 时,你会看到一串随机的字母数字字符,以及@
符号和域名。有时,这串任意的字母数字字符包含一个日期/时间戳。从前面的例子来看,我们可以看到数字20080719233957
,它可以翻译为2008 年 07 月 19 日——年、月、日。23:39:57是电子邮件到达第一个服务器时的时间(GMT),按小时、分钟和秒表示。
我们可以从底部向上看到第一条Received行。此邮件经过三个不同的邮件服务器。在邮件到达目的地的过程中,每个邮件服务器都会在前一条Received行的顶部附加一条Received行。你可以从源头到目的地跟踪邮件路径。在这封邮件中,我们正在检查邮件接触的第一个服务器,具体如下:
Received: by xy.dreamhostps.com (Postfix, from userid 558838) id 64C683B1DAE; Sat, 19 Jul 2008 16:39:57 -0700 (PDT)
这是邮件触及的第一个服务器;我们有域名 dreamhostps.com
和用户 ID。下一步逻辑将是向 ISP 提交传票并识别用户 ID 558838
。最后,术语 Postfix
标识了邮件服务器。Postfix 是一个免费的开源邮件传输代理,可能是一个商业邮件服务器,或由潜在恶意行为者维护的邮件服务器。
接下来的两行 Received 标识了到达目的地的路径中的后续服务器:
Received: from smarty.dreamhost.com (sd-green-bigip-81.dreamhost.com [208.97.132.81])
by spunkymail-mx8.g.dreamhost.com (Postfix) with ESMTP id E32634D80F for <jean@m57.biz>;
Sat, 19 Jul 2008 16:39:57 -0700 (PDT)
Received: from xy.dreamhostps.com (apache2-xy.xy.dreamhostps.com [208.97.188.9])
by smarty.dreamhost.com (Postfix) with ESMTP id 6E408EE23D for <jean@m57.biz>;
Sat, 19 Jul 2008 16:39:57 -0700 (PDT)
在这两种情况下,我们现在得到了触及该邮件的具体服务器的 IP 地址(和服务器名称)。
有趣的是,当我们查看 Return-Path
字段时:
Return-Path: <simsong@xy.dreamhostps.com>
Return-Path
是发送无法投递的邮件的地址。Return-Path
还会覆盖用户看到的 From
字段。你会看到在邮件列表中使用这个字段,在那里你可以回复发帖的用户,而不是回复整个列表。
在你的调查中,你可能会遇到一些可选字段。这些字段通常以 X–
开头,如此处所示:
X-Priority: 3
X-Mailer: PHPMailer 5.2.9 (https://github.com/PHPMailer/PHPMailer/)
Message-Id: ff176aaf06e2f6958ada6e2d3c43b095@x3.netcomlearning.com
X-Report-Abuse: Please forward a copy of this message, including all headers, to abuse@mandrill.com
X-Report-Abuse: You can also report abuse here: http://mandrillapp.com/contact/abuse?id=30514476.1925a088d66f450cb25a4034f3ec6942 X-Mandrill-User: md_30514476
这些字段不是电子邮件协议标准的一部分。它们可以包含关于病毒扫描、垃圾邮件扫描或服务器信息等内容。如你所见,它提供了关于滥用(如垃圾邮件)相关的联系信息。你可能还会看到一个可选字段 X–Originating–IP
,它可能包含发送者的 IP 地址,当用户发送消息时。电子邮件提供商可以删除这些信息,并用服务器地址替代,当邮件从 Gmail 发送时就是这种情况。
关于 IP 地址的备注:IPv4 地址有两种类型:公有地址和私有地址。在邮件头中,你可能会看到这两种地址。然而,如果你看到的是私有 IP 地址,你无法识别出提供商(除非你在组织内部进行调查)。私有 IPv4 地址的地址方案如下:
-
10.X.X.X
-
127.X.X.X
-
172.16.X.X
-
192.168.X.X
我们将在下一部分讨论电子邮件附件。
邮件附件
MIME 是 多用途互联网邮件扩展 的缩写,这是允许电子邮件接受除了 ASCII 以外的文本、二进制附件、多部分消息体以及非 ASCII 基本头信息的互联网标准。当你查看邮件头时,你会看到 MIME 用以下方式表示:
MIME-Version: 1.0
一个例子如下:
MIME-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
在这里,我们可以看到内容类型是 HTML,并且接下来的这一行显示它使用了 7 位编码。如果有附件,我们还会看到 Base64 编码,它将二进制数据转换为 ASCII 文本。
系统会根据每个段落的数据类型分离邮件正文。例如,一个 JPEG 图像将与一个段落一起存储,而 ASCII 文本则存储在另一个段落中。此外,每个段落都会以一个 MIME 头开始,该头包含关键字 _PART_
。
既然我们已经讨论了电子邮件和邮件头,接下来需要看看用户可能使用的某些客户端来访问这些电子邮件。
理解基于客户端的电子邮件分析
用户可以访问多种电子邮件客户端来检索、阅读和发送电子邮件。根据你所处的消费者或商业环境,你可能会遇到不同的电子邮件客户端。在消费市场中,由于 Microsoft Outlook/Outlook Express 是预装在系统中的,因此它们会占据主导地位。此外,Microsoft Outlook 还随 Microsoft Office 套件一起提供。也有一些免费的选项,例如 Thunderbird 电子邮件客户端。
你可以通过导出客户端使用的容器并用安装在法医计算机上的电子邮件客户端打开它来进行电子邮件检查。另一种选择是使用为电子邮件检查创建的专用商业法医软件。更常见的法医套件通常会分析更常见的电子邮件客户端容器。
我们将在接下来的章节中讨论一些更常见的电子邮件客户端。
探索 Microsoft Outlook/Outlook Express
Outlook 将电子邮件信息存储在几种文件类型中,例如 pst
、.mdb
和 .ost
。我们将在用户的硬盘中找到 PST 文件,路径如下:
\Users\$USER$\AppData\Local\Microsoft\Outlook
OST 文件是一个离线文件,也可能存储在用户硬盘上,与 PST 文件在相同路径下。最后,你会在服务器上找到 MDB 文件。通常,在调查企业环境时会找到这个文件。
系统会将 Outlook 客户端使用的所有内容存储在 PST/OST 文件中。请注意,用户可以更改默认位置和命名约定。你不需要登录就可以访问 PST/OST 文件。
如果你需要从存储设备的未分配空间中提取 PST/OST 文件,可能需要处理文件碎片问题,因为 PST/OST 文件可能会非常大。
Microsoft 已用 Windows Live 替代了 Outlook Express。以下部分将提供关于此客户端的详细信息。
探索 Microsoft Windows Live Mail
从 Windows Vista 和 Windows 7 开始,Windows Live 成为 Windows 操作系统默认的电子邮件客户端。(请注意,Windows Live 已经停用,现在 Windows 10 包含 Windows Mail 作为默认客户端。Windows Mail 不会将电子邮件存储在硬盘上,电子邮件仅存在于云端。)客户端会将电子邮件消息存储在以下路径:
\Users\$USER$\AppData\Local\Microsoft\Windows Live Mail
用户还可以使用此客户端访问基于 Web 的电子邮件。Windows Live Mail 会下载这些账户的内容,并在用户的路径中创建文件夹结构。
客户端会将电子邮件作为 .eml
文件存储在 Windows Live Mail 文件夹中,如下所示:
图 8.4:Windows Live Mail 文件夹
如你所见,这个用户正在使用 Windows Live Mail 应用程序访问 Hotmail。你可以看到电子邮件地址little9@hotmail.com
,并且可以看到有 54 封电子邮件被存储在用户的文件夹中。
电子邮件采用标准的文本格式.eml
,任何取证工具都可以读取这种格式。或者,你也可以使用文本编辑器。下一个客户端也是非常流行且免费的:Mozilla Thunderbird。
Mozilla Thunderbird
Thunderbird 是由 Mozilla 提供的免费开源电子邮件客户端。Thunderbird 会将电子邮件存储在.MBOX
文件中。MBOX 格式是用于存储电子邮件的一种通用文件格式术语。它将文件夹中的所有电子邮件保存在一个单一的数据库文件中。默认情况下,检查者可以在以下路径中找到 MBOX 文件:
$USERNAME$\AppData\Roaming\Thunderbird\Profiles
以下是 Thunderbird 安装时会看到的文件夹结构:
图 8.5:Thunderbird 文件夹结构
配置文件名称由 Thunderbird 创建。用户安装的软件的发布版本也可以在此处查看。通过分析文件夹结构,我们将看到它包含有关崩溃的信息,并在发生崩溃时将数据存储在 minidump 中。此文件夹中可能还有日历数据和邮件箱。
在这里,用户使用 IMAP 协议访问他们的 Yahoo 邮件账户,文件夹中存储了 15 项内容。
当我们查看文件夹时,将看到以下文件:
-
Archive.msf
-
Archives.msf
-
Bulk Mail.msf
-
Draft.msf
-
Drafts.msf
-
INBOX
-
INBOX.msf
-
msgFilterRules.dat
-
Sent-1.msf
-
Sent.msf
-
Templates.msf
-
Trash.msf
MSF文件是邮件摘要文件,是电子邮件的一部分。电子邮件客户端 Thunderbird 将邮件数据存储在两个不同的部分。第一部分是 MBOX 文件,没有文件扩展名。MSF 文件是 Thunderbird 的索引文件,包含电子邮件头和摘要。Thunderbird 使用这些文件作为索引来定位存储在 MBOX 中的电子邮件。
在以下截图中,三封电子邮件被存储在 MBOX 中。当 X-Ways 解析收件箱时,电子邮件将具有.eml
文件扩展名:
图 8.6:Thunderbird 收件箱
MBOX 格式被许多电子邮件客户端使用,包括 Apple Mail、Opera Mail 和 Thunderbird。此外,大多数商业和开源取证工具套件将处理 MBOX 文件并提供访问电子邮件的功能。
虽然用户可以通过客户端访问他们的电子邮件,但另一种流行的选择是让用户无需使用客户端即可访问电子邮件:WebMail。
理解 WebMail 分析
随着我们从二十世纪过渡到二十一世纪,基于 Web 的电子邮件变得越来越流行。它易于访问,几乎不需要用户配置,并且可以从任何计算机访问。简单来说,WebMail 只是另一种用于进行浏览器分析的互联网工件(我们将在第九章,互联网工件中介绍互联网工件)。
服务提供商维护用户的电子邮件,并可能提供其他服务,如通讯录和日历。用户可以使用主机客户端访问基于网页的电子邮件。然而,我发现当内容由服务提供商托管时,使用主机客户端的用户是少数,这为数字取证调查员带来了额外的障碍。与内容相关的唯一证据可能存在于用户的互联网历史中,这些记录可能是碎片化的。如果数字取证调查员希望访问用户的基于网页的电子邮件内容,他们必须向服务提供商提交搜索令状(在美国如此,你的管辖区可能有不同要求)。你可能无法访问或恢复任何已删除的邮件,这将取决于每个服务提供商的具体情况。
假设数字取证调查员希望调查用户对基于网页的电子邮件的使用。在这种情况下,他们必须分析用户系统上的临时互联网文件或互联网缓存。临时互联网文件/缓存包含了用户在浏览器中查看过的图像、文本或任何网页组件。
他们的浏览器将这些信息保存在临时互联网文件/缓存位置,以提升用户体验。这样做可以通过更快的响应时间来展示页面内容,而不是不断重新下载内容,可以从缓存中提取并展示这些信息给用户。
Gmail 非常流行,当该服务首次部署其网页应用程序时,改变了 WebMail 的展示方式。不再是静态网页显示电子邮件内容和用户的电子邮件文件夹。相反,Gmail 动态地为每个用户即时生成内容。系统不再将图像文件和文本保存到用户的本地存储设备,而是使用了异步 JavaScript(AJAX)和 XML 文件。不幸的是,这种新方法使得调查员无法重建网页。
你仍然可以从互联网缓存以及其他潜在来源中恢复相关信息,如用户本地存储设备上的 RAM 或页面文件。你需要对电子邮件地址或与调查相关的术语进行关键词搜索。
在查看缓存之前,我想先查看已安装浏览器的互联网历史记录,看看用户是否访问过基于网页的电子邮件。对于 Chrome 浏览器,你可以在以下路径找到存储的历史记录,这些历史记录保存在名为History
的 SQLite 数据库中:
$USER$\AppData\Local\Google\Chrome\User Data\Default
History
数据库的分析显示,用户访问了 Gmail 的基于网页的服务,具体见下图:
图 8.7:电子邮件 - 历史记录
我们有日期/时间戳和电子邮件地址。该信息还显示,当用户访问服务时,收件箱中有两封未读邮件。
我在 Google Chrome 浏览器的互联网缓存中发现了这个,检查员可以在以下位置找到它:
$USER$\AppData\Local\Google\Chrome\User Data\Default\History Provider Cache
如下所示的 Chrome 缓存截图中,内容难以解读,并且没有给我们提供很多后续线索:
图 8.8:显示的 Chrome 缓存
如果我们继续搜索在缓存中找到的电子邮件地址badguyneedslove@gmail.com
,可能会找到其他证据,如下所示:
{"endpoint_info_list":[{"endpoint":"**smtp:badguy27@yahoo.com**",
"c_id":"d24c.2d00",
"c_name":"**Joe Badguy Smith**"},
{"endpoint":"**smtp:badguyneedslove@gmail.com**",
"c_id":"e80f.5b71","c_name":"**John Badguy Smith**"},
{"endpoint":"**smtp:yahoo@mail.comms.yahoo.net**",
"c_id":"624f.10f0","c_name":"**Yahoo! In********c.**"}]}****
****检查员可以在缓存中找到的这个证据提供了另一个电子邮件地址badguy27@yahoo.com
,以供进一步调查。不幸的是,电子邮件的内容仍然无法访问。
让我们看看 Firefox 缓存,看看它是否能提供更好的缓存和历史记录视图。
检查员可以在以下位置找到 Firefox 浏览器的缓存和历史记录:
$USERS$\AppData\Local\Mozilla\Firefox\Profiles\<profile>\cache2
Firefox 会将互联网历史和缓存存储在用户的个人资料中。你将看到的文件夹结构可能如下所示:
图 8.9:Firefox 文件夹结构
看起来,Firefox 缓存的视觉呈现并没有好多少:
图 8.10:Firefox 缓存
它没有提供大量信息,但它为我们提供了可以跟进的线索,进行进一步的调查。
在取证领域,你依赖的证据可能会随着软件的更新或操作系统的变化而迅速变化。要灵活运用调查技术,以便能够及时适应最新的技术,使你的调查获得成功。一旦你确定你的调查对象使用的是基于网页的电子邮件,最佳的做法是向服务提供商提交适当的司法文件,冻结账户并获取所需的内容。
总结
在本章中,我们讨论了标准电子邮件协议:系统使用 SMTP 发送电子邮件,而 POP 和 IMAP 用于接收电子邮件。IMAP 还包括用户可用于管理收件箱的功能。我们还讲解了电子邮件头信息以及组成头信息的各个组件。我们还讨论了 WebMail 和电子邮件客户端。
你现在具备了读取电子邮件头信息的技能,可以确定用户用于发送电子邮件的服务器以及系统用于发送和接收电子邮件的协议。在进行数字取证检查时,你现在能够识别出典型电子邮件客户端和基于网页的电子邮件的证据。
在下一章中,你将了解基于网页的电子邮件客户端之间的相似性。
问题
-
以下哪一项不是电子邮件协议?
-
HTML
-
POP
-
SMTP
-
IMAP
-
-
以下哪项允许用户管理他们的收件箱?
-
COC
-
POP
-
FreeBSD
-
IMAP
-
-
电子邮件头信息是由用户输入的信息创建的。
-
正确
-
错误
-
-
Thunderbird 将电子邮件存储在哪个文件中?
-
收件箱
-
发件箱
-
MBOX
-
信箱
-
-
哪个电子邮件客户端使用 PST 文件?
-
Thunderbird
-
Gmail
-
Yahoo Mail
-
Outlook
-
-
Windows Live Mail 被哪个客户端替代了?
-
Outlook Express
-
Outlook
-
Windows Mail
-
Windows Email
-
-
你总是能在用户的缓存中找到基于网页的电子邮件内容。
-
正确
-
错误
-
你将在本书的后面找到答案,位于评估部分。
进一步阅读
- Jones, R. (2006). Internet forensics: 北京:OReilly(可在
shop.oreilly.com/product/9780596100063.do
购买)
练习
数据集
Jean outlook.pst
所需软件
Autopsy - www.autopsy.com/
情境
一家公司 XYZ 有限公司发现一份包含机密信息的电子表格作为附件被发布在竞争对手网站的“技术支持”论坛上。
该电子表格来自 XYZ 有限公司的首席财务官 Jean 的电脑。
面谈
你的任务是调查机密信息泄露事件。为此,你将分别与 XYZ 有限公司的总裁和首席财务官,Alison 和 Jean 进行面谈。以下是他们面谈的摘录:
Alison(总裁):
-
我不知道 Jean 在说什么。
-
我从未向 Jean 索要电子表格。
-
我从未通过电子邮件收到电子表格。
Jean(首席财务官):
-
Alison 让我准备电子表格,作为新一轮融资的一部分。
-
Alison 让我通过电子邮件将电子表格发送给她。
-
这是我所知道的全部信息。
电子邮件账户
Alison(总裁):
alison@m57.biz
Jean(首席财务官):
jean@m57.biz
待回答问题
检查 Jean 的电子邮件——这些文件是如何出现在竞争对手的网站上的?使用 Autopsy(或你选择的工具)分析.pst
文件中包含的电子邮件。
加入我们在 Discord 上的社区
加入我们社区的 Discord 空间,与作者和其他读者进行讨论:
****
第九章:互联网痕迹
互联网已成为商业和消费环境中的主流。用户之间的数字通信是日常活动。如今,很少有家庭没有某种方式连接到互联网。学校还为小学生提供设备以连接互联网,来促进他们的教育。电子邮件地址、URL、社交媒体和文件共享都是用户可以参与的活动途径。是否遵循社会规范并被接受,或者是否越界进行犯罪活动,由用户自己决定。作为数字取证调查员,你的工作是调查他们在数字领域的活动。
在本章中,我们将讨论一些常见的浏览器和社交媒体网站及其提供的数字痕迹。我们还将讨论 P2P 文件共享工具、云计算服务及其数字痕迹。
我们将在以下主题中涵盖这些内容:
-
理解浏览器
-
社交媒体
-
对等网络(P2P)文件共享
-
云计算
理解浏览器
什么是浏览器?用户可以使用一个程序或应用程序通过万维网(WWW)访问网站。最好的浏览器一直是一个争论的话题,也可能是用户个人的选择。用户可以选择个性化浏览器,以提升他们访问 WWW 时的体验。
因此,这会产生许多数字痕迹,任何数字取证调查员都可以利用这些痕迹来重建用户的活动。此外,还会有日志、历史文件和缓存文件,数字取证调查员可以检查这些文件以识别不道德或犯罪活动。
和所有技术一样,浏览器也在不断更新和变化。用户体验通常是这些变化的关键,但最近,安全性也成为了一个重要的推动因素。虽然安全性增强并不是专门为了阻碍或妨碍数字取证调查,但它们确实产生了这样的效果。
接下来,我们将讨论你在调查过程中可能遇到的一些常见浏览器。这不是一个全面的列表,可能还有一些浏览器我们不会讨论,但你可能会遇到。
截至 2019 年 7 月,根据 W3Counter 的数据,Chrome 浏览器占据了 55%的市场份额,紧随其后的是 Safari 占 12%,Internet Explorer/Edge 占 8%,Firefox 占 6%。Chrome 在浏览器之战中处于领先地位,并且你可以在许多操作系统中找到 Chrome 浏览器。接下来,我们将讨论 Chrome 浏览器以及你在调查过程中可能遇到的数字痕迹。
探索 Google Chrome
Google Chrome 于 2008 年发布,并且在用户中非常受欢迎。它提供了快速高效的用户体验,且几乎没有遭遇漏洞攻击。Chrome 将大量数据存储在不同的数据库中,并提供在多个平台之间同步数据的选项。这意味着您可能会遇到在其他设备上生成的工件。那么,让我们深入了解 Chrome 浏览器的细节。
理解书签
我们将首先查看的工件是用户的书签。书签允许用户保存他们感兴趣的网页,并且可能为我们提供用户活动的线索。您可以在以下路径找到书签文件:
%USERS%/AppData/Local/Google/Chrome/User Data/Default/Bookmarks
该文件没有文件扩展名,并且是一个 JSON(JavaScript 对象表示法)格式的文件。JSON 是一种开放的标准文件和数据交换格式。
您可以在任何文本阅读器中打开该文件,它将显示文件内容,如下图所示的 JSON BBC 书签:
图 9.1:JSON BBC 书签
在这里,我们可以看到以下字段:
-
添加日期
-
上次访问的桌面
-
书签的名称
-
URL
但是,信息的呈现方式并不是很图形化。另一种方法是使用免费的文本查看器,如 Notepad++(可在notepad-plus-plus.org/
下载)和 JSON 插件。
这将使文件夹结构更易于阅读,如下图所示:
图 9.2:JSON 根文件夹
上图显示,根目录下有三个文件夹:bookmark_bar
、other
和 synced
。展开 bookmark_bar
文件夹时,显示出额外的 children
文件夹,如下图所示:
图 9.3:JSON 子文件夹
第一个文件夹仅用从零开始的数字标记。当我们展开 1
文件夹时,文件夹名称显示为 News
,并附有添加和修改的日期/时间戳。当打开 children
文件夹时,可以查看书签,如下图所示:
图 9.4:JSON 书签
日期/时间戳被编码在 Google Chrome 值中。要解码日期/时间戳,我喜欢使用开源工具 DCode(可在www.digital-detective.net/dcode/
下载)。DCode 也可以用于解密许多不同类型的日期/时间戳。
如下图所示,您可以看到工具已将 Google Chrome 值转换为更易读的格式:
图 9.5:用于翻译 Google Chrome 值的 DCode 工具
BBC News 书签添加于 2016 年 4 月 16 日,星期六,03:30:21 UTC。
仅仅存在一个有罪的书签可能不足以采取行动。为了支持这一假设,用户访问了书签指示的网页;你可能还需要查看其他文物。一个这样的文物就是历史文件,我们接下来将进行检查。
理解 Chrome 历史文件
Google Chrome 历史文件将位于以下路径:
%USERS%/AppData/Local/Google/Chrome/User Data/
该文件将没有文件扩展名,并且是一个 SQLite 数据库。大多数取证工具会查看数据库的内容。历史数据库包含大量关于用户活动的信息:
-
下载:
这将包括已下载文件的保存路径、下载来源的位置、下载的开始/停止时间以及下载文件的大小。
-
关键词搜索会跟踪用户通过 URL 地址栏输入的搜索词。
-
输入的 URL 将跟踪用户在地址栏中输入的 URL。
-
历史:
这将跟踪用户访问的 URL、访问该 URL 的次数以及访问时间。
在查看历史文件时,以下文本描述了用户的活动:
图 9.6:用户的 Chrome 历史
用户下载了一个名为Thunderbird Setup 68.0.exe
的文件,并将其保存在IEUser
的Downloads
文件夹中。我们还知道下载开始的时间是 16:14:38 UTC,并且知道下载在 16:14:40 UTC 完成。
图 9.7:用户的搜索历史
用户还进行了两个关键词搜索,具体如下:
用户搜索了Gmail
和Thunderbird
这两个词。搜索使用了 Google 搜索引擎,首先搜索了Gmail
。该搜索发生在 2019 年 8 月 28 日,而Thunderbird
的搜索发生在 2019 年 8 月 29 日。(我已删除部分 URL 以帮助格式化。)
以下是用户访问的网页列表:
图 9.8:用户的互联网历史
从历史文件中,我们可以看到用户搜索了Thunderbird这个词,随后几秒钟,用户访问了 Thunderbird 下载页面。在用户搜索Thunderbird之前,用户访问了两个不同的基于 Web 的邮箱账户。此外,我们还可以看到用户前一天晚上访问了 Yahoo 邮件和 Gmail。基于这一分析,我们已确定用户可能正在使用或至少可以访问的不同电子邮件地址。
接下来,关于浏览器文物,我们要讨论的是 Cookies。
Cookies
Cookie 是由网站创建并存储在用户系统上的数据集。Cookies 旨在跟踪用户的活动,例如将商品添加到购物车或记录用户访问的页面数量。需要注意的是,仅仅因为系统中存在 Cookie,并不意味着用户知情地访问了该网站。你需要寻找其他证据来支持用户活动的证据。
Google Chrome 的 Cookie 文件可以在以下路径找到:
%USERS%/AppData/Local/Google/Chrome/User Data/Default
该文件没有文件扩展名,且它是一个 SQLite 数据库。大多数取证工具都能查看该数据库的内容。以下截图是 X-Ways Forensics 的输出:
图 9.9:Cookies
虽然数据是可读的,但格式上仍有许多不尽如人意之处。一个第三方应用程序 Chrome Cookies View(可通过 www.nirsoft.net/utils/chrome_cookies_view.html
获取)将以更易读的格式解析数据,以下截图显示了该格式:
图 9.10:Cookie 视图
现在,列和数据已正确排列和格式化。该工具还将日期/时间戳从 Google Chrome 时间转换为 UTC 时间。Cookies 是跟踪用户活动的一部分,但缓存中也可能包含对你的调查有用的证据。
缓存
我们在第八章,“电子邮件取证 – 调查技巧”中讨论了缓存,仍然存在同样的问题,即当我们检查内容时,很难解读。现在有一个第三方工具,名为 Chrome Cache View(可通过 www.nirsoft.net/utils/chrome_cache_view.html 获取),它可以将数据转换为可读格式。以下截图是你可能看到的输出示例:
图 9.11:缓存视图
当你选择感兴趣的项目时,Chrome Cache View 允许你将信息导出为更容易阅读的格式,如下所示:
Filename : gmail.html
URL : https://www.google.com/gmail
Content Type : text/html
File Size : 0
Last Accessed : 8/28/2019 15:17
Server Time : 8/28/2019 15:17
Server Last Modified:
Expire Time :
Server Name : sffe
Server Response : HTTP/1.1 302
Content Encoding :
Cache Name :
Cache Control : private
ETag :
Server IP Address : 172.217.14.100
URL Length : 28 ==================================================
这更容易阅读和理解。你看到的仍然是相同的信息,只是呈现方式要好得多。
你可以看到文件名和访问网页的日期/时间。比较有趣的是服务器的 IP 地址。如果你在缓存中找到数据,例如非法图像,这可能会引导你找到托管原始图像的服务器。
现在,我们将讨论密码及其如何在 Chrome 浏览器中存储。
密码
密码可能是解锁不同文件或加密的关键。大多数用户会在多个不同的账户中重复使用相同的密码。恢复用户以前使用的密码,可以为你提供大量的信息。Chrome 提供了一个保存密码的选项。
你会在Logon Data
文件中找到密码信息,文件路径如下:
%USERS%/AppData/Local/Google/Chrome/User Data/Default
该文件没有文件扩展名,是一个 SQLite 数据库。它不包含用户账户的实际密码;而是存储每个账户的信息,这些信息用于加密密码。有一个第三方工具,Chrome Pass(可通过www.nirsoft.net/utils/chromepass.html
获取),它可以解密密码。
Google Chrome 浏览器是当前使用的头号浏览器。你可能会在用户系统上遇到多个浏览器。接下来我们要谈论的浏览器是 Internet Explorer,它是 Microsoft Windows 操作系统的默认浏览器。
探索 Internet Explorer/Microsoft Edge(旧版)
Internet Explorer 是 Microsoft Windows 操作系统的网页浏览器。自 1995 年以来,Microsoft 就将该浏览器与 Windows 操作系统一起发布。Internet Explorer 在 1990 年代是市场上的头号浏览器,但随着 2004 年 Firefox 发布和 2008 年 Google Chrome 发布,它的受欢迎程度逐渐下降。Internet Explorer 仍然包含在 Windows 10 中,但已被 Microsoft Edge 取代。
以下痕迹是针对 Microsoft Edge 旧版的,因为当前版本是基于 Chromium 的。Chromium 版本将包含基于 Google Chrome 的痕迹。
基于 Chromium 的 Edge 浏览器的痕迹默认位置是:
C:\Users\%USER%\AppData\Local\Microsoft\Edge\User Data\Default
你会发现一些典型的基于 Chromium 的浏览器的痕迹,例如收藏夹(JSON 文件)、缓存文件(Index、Datablock 和 Data 文件)、cookies(SQLite 数据库)以及历史记录(SQLite 数据库)。接下来,让我们深入了解你可能从用户在 Internet Explorer Edge(旧版)浏览器中的活动中恢复的痕迹。
收藏夹
与 Google Chrome 浏览器不同,Internet Explorer 将收藏夹保存为 URL 格式。Internet Explorer 保存收藏夹的默认路径如下:
%USER%/Favorites
所有的商业和开源取证工具都可以读取 URL 格式。下图展示了你可能会看到的典型数据结构:
图 9.12:IE 收藏夹
在检查存储在Favorites
文件夹中的收藏夹时,你还可以查看创建和修改的时间戳。这些时间戳是 URL 文件创建/修改的日期/时间。
当你检查 URL 文件时,可能会发现以下内容:
[DEFAULT]
BASEURL=http://christensminischnauzers.com/
{000214A0-0000-0000-C000-000000000046}
Prop3=19,2
[InternetShortcut]
URL=http://christensminischnauzers.com/IDList=
如你所见,它包含了 URL,这在网站涉及走私或用户活动时特别重要,这也支持你关于正在调查的事件的假设。
接下来,我们将检查用户的历史记录,看看是否能找到一些有趣的痕迹。
IE 历史记录
Internet Explorer 会跟踪用户的活动 20 天。这是默认设置,用户可以更改。如我们在第六章、Windows 证据分析中讨论的那样,Internet Explorer 还会在操作系统中跟踪一些用户活动。Internet Explorer 是 Windows 操作系统的一个重要组成部分,即使用户偏好使用其他浏览器,Internet Explorer 的历史记录中仍然可能有值得关注的证据。
Edge 和 Internet Explorer 10 及更高版本使用名为 WebCacheV01.dat
的 ESE 数据库,可以在以下路径找到:
%User%\AppData\Local\Microsoft\Windows\WebCache
要分析 WebCacheV01.dat
文件,我们将使用 ESEDatabaseView
(我们在第六章、Windows 证据分析中首次使用它)。从取证镜像中导出数据库进行分析。
您要查看的第一张表是 Containers
表,您应该会看到类似于以下截图的内容:
图 9.13:ESE 数据库显示的 Containers 表
数据库中有 16 张表,感兴趣的容器是表 12
、14
、15
和 16
。从表名来看,它们以 MSHist01
开头,后面跟着数字。
数字告诉我们历史文件是每日文件还是每周文件。在下图中,您可以看到表名的详细分解:
图 9.14:每日历史文件夹命名约定
该名称包含历史记录所涵盖的时间段。如上图所示,它包含的数据从 2019 年 8 月 29 日到 2019 年 8 月 30 日。在下图中,我们可以看到每周时间框架的分解:
图 9.15:每周历史命名约定
该数据涵盖的时间段为 2019 年 8 月 26 日至 2019 年 9 月 2 日。
对于 MSHist01
文件,Directory
字段下显示的文件路径是为了兼容旧版设置。如果按照该路径访问,您会找到一个名为 container.dat
的文件,但该文件不包含任何信息。
注意
对于其余条目,文件路径将包含与特定表相关的数据,可能与您的调查有关。
让我们查看表 12
的内容,如下图所示:
图 9.16:表 12 的内容
表 12
是每日历史文件,显示该日的五条记录。查看 URL 时,它并没有显示为互联网历史,而是显示了用户使用文件资源管理器访问的文件。用户访问了 Windows Mail
文件夹和 Download
文件夹。路径的末尾列出了具体的文件名。
日期和时间值是 Windows 64 位(大端)十六进制的十进制转换值。
要转换这些值,您需要执行以下操作:
-
获取十进制数字,
132115734791679663
-
将其转换为十六进制,
1D5 5E8F 917F 6EAF
接下来,您需要使用 DCode 获取日期/时间戳:
图 9.17:使用 DCode 工具转换 Windows 时间值
我们有用户的历史记录,但这是否表明用户自愿且知情地访问了历史记录中列出的网站?是否可能有些历史记录包含用户从未访问过的网站的引用?这些问题的答案是肯定的。通过弹窗和广告,历史文件中可能存在用户从未访问过的站点的引用。
为了帮助展示用户的意图,我们希望看到一个明确显示用户操作的遗留物。这就是我们接下来要讨论的——输入的 URL。
输入的 URL
当用户在地址栏中输入 URL 时,系统会在用户的 NTUSER.dat
文件中创建一个记录。以下输出来自 RegRipper
:
TypedURLs
Software\Microsoft\Internet Explorer\TypedURLs
LastWrite Time Tue Sep 3 17:29:58 2019 (UTC)
url1 -> http://bankrobbery.com/
url2 -> http://yahoo.com/
url3 -> http://gmail.com/
最近输入的 URL 是 url1
。系统只会列出每个 URL 一次。如果用户输入相同的 URL,系统会将该 URL 移到列表顶部,成为最新的 URL。使用 Internet Explorer 10 版本时,最大 URL 数量为 50。
有一个用于输入 URL 时间的注册表项;请参见以下截图中的 TypedUrlTime
:
图 9.18:TypedURLsTime 注册表项
URL 编号与输入的 URL 对应。十六进制值采用 Windows 文件时间格式;它表示用户在地址栏中输入 URL 的日期和时间。
另一个信息来源是缓存,我们接下来将讨论它。
缓存
我们在 IE 历史 部分分析的 WebCacheV01.dat
文件也处理缓存文件。您可以使用 ESEDatabaseViewer
来分析该数据库,但您还可以使用另一个工具——Internet Explorer Cache Viewer(可通过 www.nirsoft.net/utils/ie_cache_viewer.html
获取)。
以下截图(缓存视图)显示了查看器的输出:
图 9.19:缓存视图的输出
该工具将为您提供文件名和文件来源的 URL,以及日期/时间戳。系统会将这些文件存储在以下路径:
-
对于基于 Windows 7 的系统:
%USER%/AppData/Local/Microsoft/Windows/Temporary Internet Files\Content.IE5
Temporary Internet Files ├──Content.IE5 │ ├──OPDYBC4P │ ├──S97WTYG7 │ ├──Q67FIXJT │ ├──4MNQZMD8 │ ├──SCD1EGFC │ ├──34UZLM61 │ ├──V2I5AL1G │ └──5S4OGUTD
-
对于基于 Windows 8/10 的系统:
%USERS%/AppData/LocalLow/Microsoft/Windows/AppCache
Windows └──AppCache └──0Z1ZMDEH
%USERS%/AppData/Local/Microsoft/Windows/INetCache/IE
INetCache │ ├──Low │ │ ├──IE │ │ │ ├──4TENJ512 │ │ │ ├──9SKPYC9A │ │ │ ├──QMIGA2MM │ │ │ └──EP19S3JV
-
对于 Microsoft Edge 浏览器:
%USER%/AppData/Local/Packages/Microsoft.MicrosoftEdge_8wekyb3d8bbwe/AC
MicrosoftEdge │ │ ├ │ │ ├──Cache │ │ │ ├──9CG3K1S3 │ │ │ ├──IHCXX8UB │ │ │ ├──OOW222LO │ │ │ └──CENY1YGT
系统会随机生成子目录的命名,使用字母数字字符。
我们接下来要讨论的一个遗留物是 cookies。
Cookies
Edge 和 Internet Explorer 会将 cookie 文件保存为简单的文本文件。WebCacheV01.dat
也会跟踪 cookie 文件,如下图所示:
图 9.20:容器表的内容
表格 5
包含关于 cookie 的信息,并在下方截图中显示:
图 9.21:Cookies 表格的内容
就像我们检查历史记录时一样,日期/时间戳是 Windows 文件时间的十六进制转换的十进制数值。它还包含 URL 和存储在系统上的文件名。
Cookie 文件存储在以下路径:
-
对于 Internet Explorer:
%USER%/AppData/Roaming/Microsoft/Windows/Cookies/
-
对于 Microsoft Edge:
%USER%/AppData/Local/Packages/Microsoft.MicrosoftEdge_8wekyb3d8bbwe/AC/MicrosoftEdge/Cookies
当我们查看文件夹内容时,我们发现里面充满了文本文件,文件名是 Windows 使用的随机字母数字字符格式。以下输出是你可能会发现的典型内容:
Name Created Modified
06PC9CZM.txt 09/03/2019 17:29:48 09/03/2019 17:29:48
09BHTXJM.txt 09/02/2019 18:00:59 09/02/2019 18:00:59
09WSNIHD.txt 09/03/2019 17:29:27 09/03/2019 17:29:27
0W6YLVUJ.txt 09/02/2019 18:01:08 09/02/2019 18:01:08
0WBQAB4E.txt 09/02/2019 18:23:51 09/02/2019 18:23:51
16SUYNBJ.txt 09/03/2019 17:29:51 09/03/2019 17:29:51
1983DVP6.txt 09/02/2019 18:23:46 09/02/2019 18:23:46
28Z2GM8G.txt 09/03/2019 17:29:49 09/03/2019 17:29:49
2CM18GNC.txt 09/03/2019 17:29:38 09/03/2019 17:29:38
为了进行有效分析,你需要处理 WebCacheV01.dat
文件,以确定每个数据库条目关联的 cookie 文件。
以下是一个 cookie 文本文件的示例内容:
MR
0
c.msn.com/
1024
3308281856
30796639
4095225949
30760429
这个 cookie 来自 MSN 网站,正如我们之前讨论的,它会追踪用户的访问以及在访问时可能启用的任何偏好设置。
检查浏览器的 cookie 永远不会是决定性的证据,但你可以用它来支持你关于调查过程中发生事件的假设。
探索 Firefox
Firefox 是由 Mozilla 基金会开发的开源浏览器。Mozilla 在 2004 年发布了 Firefox,它是你在调查过程中可能会遇到的浏览器。我们将介绍一些你在检查中可能会遇到的常见证据。
配置文件
Firefox 提供的一个功能是使用多个配置文件。用户可以选择为浏览器创建多个配置文件,以便隔离他们的活动。你可以找到配置文件的路径如下:
%USER%/AppData/Local/Mozilla/Firefox
我发现了三个用户配置文件,它们如下所示:
Firefox
└──Profiles
├──tszci9zh.Badguy
│ ├──thumbnails
│ ├──safebrowsing
│ │ └──google4
│ ├──startupCache
│ ├──cache2
│ │ ├──entries
│ │ └──doomed
│ └──OfflineCache
这是 Badguy
配置文件:
├──fd8rnyou.BadGuy Needs Love
│ ├──startupCache
│ ├──cache2
│ │ ├──entries
│ │ └──doomed
│ ├──thumbnails
│ ├──safebrowsing
│ │ └──google4
│ └──OfflineCache
该配置文件的用户是BadGuy 需要爱
:
├──30nh3g6c.default-release
│ ├──startupCache
│ ├──cache2
│ │ ├──doomed
│ │ └──entries
│ ├──thumbnails
│ ├──OfflineCache
最后的配置文件是默认用户。
Firefox 创建配置文件时,会使用一个随机字母数字的八位前缀,后跟用户名。如果用户没有创建任何额外的配置文件,你将只看到 default-release 和默认用户名。这里,用户创建了两个额外的配置文件:
-
Badguy
-
Badguy 需要爱
在每个文件夹结构中,Firefox 会保存与每个配置文件相关的数据。
还有一个 profiles.ini
文件,位于以下路径:
%USER%/AppData/Roaming/Mozilla/Firefox/profiles.ini
profile.ini
文件的内容如下:
[Install308046B0AF4A39CB]
Default=Profiles/fd8rnyou.Badguy Needs Love
Locked=1
[Profile2]
Name=Badguy
IsRelative=1
Path=Profiles/tszci9zh.Badguy
Default=1
[Profile1]
Name=default
IsRelative=1
Path=Profiles/9wofgs9f.default
[Profile0]
Name=default-release
IsRelative=1
Path=Profiles/30nh3g6c.default-release
[General]
Startwithlastprofile=1
Version=2
[Profile3]
Name=Badguy Needs Love
IsRelative=1
Path=Profiles/fd8rnyou.Badguy Needs Love
Startwithlastprofile
字段显示应用程序启动时将使用哪个配置文件。这里显示的是 BadGuy
配置文件是默认配置文件。
我们现在继续查看缓存。
缓存
Firefox 会将缓存文件存储在每个配置文件下。文件路径将保持不变,正如我们在前一部分中讨论的那样:
%USER%/AppData/Local/Mozilla/Firefox/Profiles/%Profile%
Firefox
└──Profiles
├──tszci9zh.Badguy
│ ├──thumbnails
│ ├──safebrowsing
│ │ └──google4
│ ├──startupCache
│ ├──cache2
│ │ ├──entries
│ │ └──doomed
│ └──OfflineCache
Firefox 会将缓存存储在 cache2
配置文件中。你可以使用开源应用程序 MZcacheview
(可以在www.nirsoft.net/utils/mozilla_cache_viewer.html
下载)查看内容。结果与我们之前在其他浏览器中看到的非常相似。
Cookies
与 Internet Explorer 不同,Firefox 不会将浏览器的 Cookies 存储在单个文件中。Firefox 使用 SQLite 数据库来存储这些信息。你可以在以下路径找到 Cookies 数据库:
%USER%/AppData/Roaming/Mozilla/Firefox/Profiles/%Profile%
注意路径的变化。现在我们不再存储在Local
文件夹中,而是存储在Roaming
文件夹中。
你可以使用第三方开源应用程序 MZCookiesView(可以在www.nirsoft.net/utils/mzcv.html
下载)查看文件,或者使用任何 SQLite 数据库读取器。
接下来我们将讨论的物品是历史记录文件。
历史记录
Mozilla Firefox 在名为 places.sqlite
的 SQLite 数据库文件中跟踪浏览器历史记录。Firefox 还会在该数据库中记录用户输入的网址。你可以使用任何 SQLite 数据库工具读取该文件,或者使用第三方开源工具 MZHistoryView(可以在www.nirsoft.net/utils/mozilla_history_view.html
下载)。你可以在以下路径找到历史数据库:
%USER%/AppData/Roaming/Mozilla/Firefox/Profiles/%Profile%
以下截图显示了使用该工具时通常会看到的输出:
图 9.22:Firefox 历史记录显示在 MZHistoryView 中
注意
前面的 Firefox 历史文件截图只显示了几条记录。如果这是一次真实的调查,根据用户使用 Firefox 浏览器的时间长短,你可能会在历史记录文件中找到成千上万的记录。
第三条记录中显示了一个输入的网址。如果你双击该条目,将会弹出 属性
窗口,如下图所示:
图 9.23:输入的网址显示在第 3 条记录中
从前面的截图中,我们可以判断用户在 2019 年 9 月 3 日搜索了bad guy loving
这一短语。
密码将是我们接下来讨论的物品。
密码
Mozilla Firefox 为用户提供了保存密码的机会。Firefox 使用两个文件,key#.db
(我见过名为 key3
和 key4
的文件;需要注意你可能会遇到其他编号的文件)和 logins.json
,以加密格式存储密码。我们可以使用开源第三方工具 Password Fox(可以在www.nirsoft.net/utils/passwordfox.html
下载)解码密码。
你可以在以下路径找到这些文件:
%USER%/AppData/Roaming/Mozilla/Firefox/Profiles/%Profile%
在下图中,你可以看到 Password Fox 的典型输出:
图 9.24:在 PasswordFox 中显示的密码
我已在以下截图中删除了密码,但当您获得用户的密码和账户(当然需要适当的授权)时,这是非常有益的。如果您双击记录,它将打开属性
窗口,如下图所示,显示密码属性:
图 9.25:在 PasswordFox 中的密码属性
在我们分析内容时,似乎这是用户的 Gmail 账户,并且我们有密码创建、修改和使用的日期/时间戳。
书签
Mozilla Firefox 将用户的书签保存在 SQLite 数据库文件中。您可以在以下路径找到数据库文件:
%USER%/AppData/Roaming/Mozilla/Firefox/Profiles/%Profile%
您可以使用第三方开源工具 FavoritesView(可在www.nirsoft.net/utils/faview.html
下载)来执行此操作。
以下截图显示了 FavoritesView 应用程序的输出:
图 9.26:在 FavoritesView 中显示的收藏夹
您可以看到 Firefox 浏览器默认的书签。最后三项是用户添加的书签。我们有一个关于bad boys
的 Google 搜索,一个参考演员威尔·史密斯和马丁·劳伦斯的网页,最后一个是音乐团体 Inner Circle 的 YouTube 视频《Bad Boys》。
这就是我们对浏览器分析的总结。在下一部分,我们将开始查看社交媒体。
社交媒体
什么是社交媒体?社交媒体是通过虚拟社区在全球互联网中使用应用程序或程序来创建和分享信息、表达形式、意见、思想等。用户可以通过基于网络的技术,如移动设备应用程序,访问社交媒体。在某些情况下,用户可以将数据从一个平台同步到另一个平台。这些平台/应用程序很少要求用户支付费用,且非常易于使用。
虽然大多数社交媒体用户按照服务提供商的意图使用这些服务,但有些人却将这些新的通信媒介用于不良目的。在调查中,几乎没有社交媒体不发挥作用的情况。
用户的社交媒体交流为调查人员提供了一条数字线索,调查人员可以根据这些线索追踪。调查人员有时能够确定用户在事件发生时的日期/时间位置。或者,他们可能会找到嫌疑人与受害人之间的通信,这些通信导致了正在调查的事件。
作为一名数字取证调查员,你必须意识到社交媒体的存在以及数字证据中可能存在的潜在痕迹。搜索社交媒体时的一个重大挑战是,大多数社交媒体痕迹不会被保存到用户系统中。
这些应用将数据存储在服务提供商的云端,简单来说就是数据会存储在服务提供商的服务器上。
由于社交媒体应用的种类繁多且数量庞大,因此没有一份简单的检查清单可以涵盖所有情况。数字取证调查员在处理新的社交媒体技术或变化中的社交媒体技术时,必须灵活运用调查技巧。
本节的目标是让你熟悉一些当前的社交媒体应用,并为你的调查提供一个大致的计划。请记住,在进行社交媒体分析时,你可能有两个地方可以找到与你的调查相关的数字证据:用户系统和服务提供商。不要忽视向服务提供商送达适当的司法文书;通常情况下,他们会向你提供关于你的调查的广泛信息。
特定社交媒体的流行程度随着用户群体的变化而波动。一些年轻用户不愿与朋友一起使用 Facebook,因为他们的父母和祖父母也使用 Facebook。有些社交媒体应用可能会限制特定的地理位置;例如,KaKaoTalk 在韩国非常流行,但在美国的用户非常少。以下是一些你在调查中可能遇到的流行社交媒体应用的简短描述:
-
Facebook:最广泛的社交媒体应用,拥有近 20 亿用户。它将商业广告商和消费者用户的内容结合起来,使用起来非常简单。用户可以上传图像、录制视频、直播视频,并通过消息应用进行语音/视频/文本聊天。
-
Instagram:一种照片和视频共享社交媒体应用。用户可以分享照片、录制的视频和直播视频。用户还可以通过应用与其他用户聊天和评论。
-
Snapchat:一种视频/照片共享社交媒体应用。最初,当用户发送“快照”后,接收者查看完图像后,图像会从系统中删除。现在,用户可以选择保存“快照”。
-
Twitter:一种用于新闻、政治、体育、娱乐等的社交媒体应用。Twitter 允许最多 280 个字符的推文,较长的推文会通过后续消息链接呈现。
-
WhatsApp:一种允许用户进行语音/视频聊天的消息应用。
-
Tinder:一种基于位置的社交媒体应用,用作约会服务。用户可以“向右滑”或“向左滑”喜欢/不喜欢的个人资料。如果双方都“喜欢”对方,那么他们可以通过应用聊天。
-
GroupMe:这是一款群组消息应用。用户可以使用手机号码、Facebook 或 Twitter 账户登录该应用。用户可以分享照片、视频、位置和文本。
-
Kik:一款即时消息社交媒体应用。该服务提供商总部位于加拿大。它允许个人之间进行匿名通信。用户可以分享文本、照片和视频。据估计,美国约有 40% 的青少年使用该应用。Kik 于 2019 年被 MediaLab 收购。
-
Tumblr:一款博客/社交网络应用。用户可以将图片/视频发布到博客页面。
-
Reddit:这是一个新闻聚合和讨论型社交媒体应用。它涵盖了几乎所有可以想象的主题,包括非法活动。在 2019 年 7 月,它是美国访问量排名第五的网站。
-
TikTok:一款基于视频的社交网络应用。用户可以发布视频并进行“直播”活动。TikTok 在 2020 年是增长最快的第三大社交媒体品牌。
这不是你可能遇到的所有社交媒体应用的完整列表,也不是我会试图创建这样一个列表。随着技术的发展以及用户选择的增加,新的社交媒体应用将不断涌现。作为一名数字取证调查员,你不可能了解社交媒体应用的所有方面。你需要了解当前使用哪些社交媒体应用以及消费者和罪犯如何使用它们。有些社交媒体应用可能无法通过本地服务器访问;服务提供商将限制其仅限于移动设备。那么你如何确定你调查的对象是否正在使用社交媒体平台呢?网页浏览器历史记录将是必不可少的;他们可能通过网页浏览器或用户与服务提供商之间的电子邮件通信访问他们的个人资料/账户。你可能遇到的其中一个更受欢迎的社交媒体应用是 Facebook。
Facebook 是一个用户可以通过网络浏览器访问的社交媒体平台。分析这些数据可能会让你得到用户名或 Facebook 用户 ID。假设你分析了一个网址,如下所示:
当你查看网址时,相关于我们组织的部分是个人资料 ID,如下所示:
profile_id=1190817474
当你在Facebook.com
的末尾添加数字时,它会将你带到用户的 Facebook 页面。个人资料 ID 是一个唯一的数字,它会将你重定向到用户的 Facebook 用户名,如下图所示:
图 9.27:Facebook URL
一旦你获得了用户的 Facebook 个人资料 ID 号码和用户名,这些信息可以作为司法文书的一部分提供给服务提供商,用于访问存储在服务提供商服务器上的内容。
你还可以使用 Bulk Extractor 工具(我们在第七章《RAM 内存取证分析》中讨论过)。当你运行 Bulk Extractor 时,它也会找到个人资料 ID 号码,如下图所示:
图 9.28:Facebook 的 Bulk Extractor 输出
你可以使用 Bulk Extractor 对取证镜像或捕获的内存文件进行处理,以查找与社交媒体相关的证据。另一个你可能遇到的非常流行的社交媒体应用是 Twitter。
我们可以从域名直方图中过滤结果,如下图所示。在这里,我们可以看到用户访问了 Twitter 网页:
图 9.29:Twitter 的 Bulk Extractor 输出
Twitter 用户在注册时会有一个“用户名”和一个 UID(用户 ID)。用户可以随时更改他们的用户名,但 UID 将保持不变。如果我们有一个用户名为@badguyneedslove
的用户,然后他们将其更改为@badguy27
,UID 将保持不变。
在取证镜像中搜索术语twid
可以识别该账户的 UID。你还可以拿到用户的 Twitter 用户名并使用以下网站:gettwitterid.com
。
当你输入 Twitter 用户名时,它将提供 UID,具体如下图所示:
图 9.30:Twitter ID
我们输入了 Twitter 用户名badguyneedslove
,它为我们提供了 Twitter ID 1170432764291665920
,以及用户的全名(可能准确也可能不准确;请记住这是用户提供的信息)。
你调查所需的所有信息并不一定都能在用户的设备上找到;你可能需要联系服务提供商以获取存储在其服务器上的信息。
服务提供商
你调查所需的许多信息将由服务提供商保管。他们将拥有订阅者信息,如姓名、地址、年龄、使用日期/时间和 IP 地址。这些内容存储在服务提供商的服务器上。被扣押的计算机系统或移动设备可能不会包含你在调查中需要的所有信息。请向服务提供商提交适当的司法文书以获取该信息。司法框架将依据服务提供商所在的地区而有所不同。你需要满足该地区司法系统的所有要求。
Search.org 维护一个服务提供商列表和法律部门的联系信息,法律部门会接收完成的司法文件。一些服务提供商也在他们的网站上提供该信息。例如,服务提供商 Kik 创建了一个特定的网页(位于 web.archive.org/web/20201224090043/https://lawenforcement.kik.com/hc/en-us
),其中包含调查人员所需的所有信息,以便向他们递交额外的文件。
调查用户在社交媒体上的活动可能会很困难。你可能需要使用第三方软件,或者手动解析存储设备上的十六进制数据。即便付出所有这些努力,最终可能还得依赖于服务提供商的保存政策,才能获得你需要的信息,以使调查成功。互联网的另一个可能被犯罪利用的方面是 P2P 文件共享,这是我们接下来的话题。
P2P 文件共享
P2P 文件共享允许用户与 P2P 社区中的其他人共享文件。用户会与社区分享视频或音乐文件,但你几乎可以找到任何你能想象的文件类型。P2P 既有合法的用途,也有不合法的用途,具体取决于用户的搜索标准。这是一种广泛用于与其他 P2P 社区用户分享非法图像和视频的方式。用户可以选择多个 P2P 应用程序。我无法详细分析所有潜在的 P2P 应用程序,但我们会讨论一些你在调查中可能遇到的更常见的 P2P 应用程序。
P2P 应用程序允许用户成为网络中的一个节点。当用户安装应用程序时,他们可以指定想要在 P2P 网络上共享的文件/文件夹。然后,应用程序会创建一个共享文件/文件夹的索引,供 P2P 网络共享。当用户搜索 P2P 网络并找到他们想要下载的文件时,应用程序会识别出所有拥有该文件的节点。接着,应用程序会连接到这些节点,并开始从所有可用的节点下载文件片段。
当 P2P 应用程序共享文件/文件夹时,它会跟踪文件名和文件类型,并为文件创建 SHA-1 哈希值。这将是商业和开源取证工具使用的 SHA-1 哈希值的变体。P2P 版的 SHA-1 使用 Base32 编号系统创建哈希值,而取证工具使用 Base16 编号系统。Base16 编号系统使用字母数字字符 0–9 和 A–F,而 Base32 编号系统使用字母数字字符 A–Z 和 2–7。Chris Hurst 发布了如何使用 Python 将 Base32 值转换为 Base16(可在github.com/qbittorrent/qBittorrent/wiki/How-to-convert-base32-to-base16-info-hashes
查看)。
以下是 Chris Hurst 提供的 Python 代码:
>>> import base64
>>> b32Hash = "WRN7ZT6NKMA6SSXYKAFRUGDDIFJUNKI2"
>>> b16Hash = base64.b16encode(base64.b32decode(b32Hash))
>>> b16Hash = b16Hash.lower()
>>> print (b16Hash)
在数字取证领域工作一段时间后,您将了解到,您可能发现的痕迹取决于操作系统、P2P 应用程序以及用户是否修改了任何默认设置。
我们现在将调查一些您在数字取证调查中可能遇到的常见 P2P 应用程序。
Ares
Ares Galaxy 是一个开源 P2P 应用程序,利用去中心化网络配置(可在sourceforge.net/projects/aresgalaxy/
获取)。Ares 会在用户的本地配置文件路径中创建条目,如下所示:
%USER%\AppData\Local\Ares\
在Data
文件夹中,您将找到两个文件,ShareH.net
和ShareL.dat
。这些文件跟踪文件名、哈希值、文件下载的日期/时间戳以及文件的共享状态。这些文件已加密,但可以使用 Magnet Forensics AXIOM 取证工具解密(可在www.magnetforensics.com
获取)。
Ares 会在用户的NTUSER.dat
文件中创建条目,如下所示:
\ntuser (ROOT)\Software\Ares
当我们对NTUSER.dat
文件运行RegRipper
时,我们得到如下输出:
Software\Ares
LastWrite Time Sat Sep 7 21:48:04 2019 (UTC)
Stats.LstConnect: Mon Sep 8 15:51:07 2019 UTC
Personal.Nickname: Badguy27
General.Language: English
PrivateMessage.AwayMessage: This is an automatic away message generated by Ares program, user isn't here now.
Search Terms: Badguy movies
该应用程序存储最后一次连接应用程序的日期/时间戳、用户的昵称(这也可以是基于操作系统帐户用户名的自动生成字段),以及用户输入的最后 25 个搜索词。
根据用户安装的 Ares 版本,可能会更改NTUSER.dat
文件中的location/
信息。
eMule
eMule 是一个开源 P2P 应用程序,利用去中心化网络配置,作为 eDonkey2000 的替代方案,于 2002 年发布(可在www.emule-project.net获取)。当用户安装 eMule 时,它会创建一个eMule
文件夹,包含两个子文件夹,incoming
和temp
,如下所示:
Downloads
└──eMule
├──Incoming
└──Temp
在文件下载过程中,文件部分被存储在temp
文件夹中,当所有部分都下载完毕后,完整的文件将被移动到incoming
文件夹。这些文件夹默认是共享的,用户无法禁用它们。
eMule 将其配置文件存储在用户的本地配置文件中,如下所示:
%USER%\AppData\Local\eMule
在config
子目录中,您将找到preferences.ini
文件。该文件包含用户的昵称以及incoming
和temp
目录的位置,如下所示:
AppVersion=0.50a
Nick=http://emule-project.net
IncomingDir=C:\Users\IEUser\Downloads\eMule\Incoming
TempDir=C:\Users\IEUser\Downloads\eMule\Temp
如果用户未指定昵称,默认昵称为 URL 邮箱,即project.net
。
另一个值得关注的文件是shareddir.dat
和sharedfiles.dat
。shareddir.dat
将包含用户创建的共享目录,如下所示:
%USER%\Downloads\
在此案例中,用户还在共享他们的Downloads
文件夹。sharedfiles.dat
文件将包含当前正在共享的文件列表。输出可能类似于以下所示:
C:\Users\IEUser\Downloads\aresregular246_installer.exe
C:\Users\IEUser\Downloads\bad-guy-pictures-145577-3671477.png
C:\Users\IEUser\Downloads\eMule0.50a-Installer.exe
C:\Users\IEUser\Downloads\Shareaza_2.7.10.2_x64.exe
该文件指示用户正在共享三个可执行文件和一个 PNG 图片。
在preferences.dat
文件中,您将找到分配给每个用户的唯一标识号。它是一个 16 字节的十六进制值,如以下截图所示:
图 9.31:eMule 用户 ID
用户标识号已高亮显示。另外,注意每个标识号的第 6 和第 15 个字节中,您会看到值x/0E
和x/6F
。
AC_SearchStrings.dat
文件将存储用户输入的最后 30 个搜索词。在以下截图中,eMule 搜索词显示用户只搜索了术语charlie chaplin
:
图 9.32:eMule 搜索词
known.met
文件包含应用程序已下载的文件列表以及已共享的文件列表。您可能会发现一些文件名表示非法图像,这些图像已不再存在于用户的系统中。随着.met
文件大小的增加,应用程序将删除条目,以防止文件过大。
在以下截图中,您可以看到.met
文件的内容:
图 9.33:MetViewer
该文件将包含文件名、文件大小和文件共享的日期/时间戳,以及文件的哈希值。我使用了第三方开源取证工具 eMule MET Viewer(可以在www.gaijin.at/en/software/emulemetviewer
下载)。
我们将要查看的最后一个 P2P 应用程序是 Shareaza。
Shareaza
Shareaza 是一款开源的 P2P 应用程序,利用了去中心化的网络配置,并于 2004 年发布(可以在shareaza.sourceforge.net/
访问)。该应用程序将在用户的配置文件的Local
和Roaming
文件夹中创建一个名为Shareaza
的文件夹。以下是您将在用户配置文件中看到的文件夹结构:
%USER%\AppData\Local\Shareaza
%USER%\AppData\Local\Shareaza\Incomplete
%USER%\AppData\Roaming\Shareaza
%USER%\AppData\Roaming\Shareaza\Collections
%USER%\AppData\Roaming\Shareaza\Data
%USER%\AppData\Roaming\Shareaza\Torrents
在Data
文件夹中,您会找到一个名为Profile.xml
的文件,该文件包含用户创建的和应用程序创建的工件。用户可以完成个人信息,例如姓名、位置和性别,这些信息将被包含在 XML 文件中。
Shareaza 还会在用户的NTUSER.dat
文件中创建条目。它将创建一个 Shareaza 键,并包含许多子键。在Download
子键中,您将找到CollectionPath
和IncompletePath
条目。CollectionPath
是已完成文件的存储位置;IncompletePath
是存储未完成文件的位置。
在下面的截图中,我们可以看到以下条目:
图 9.34:Shareaza 路径
您还会在Search子键中找到用户输入的搜索词,如下图所示:
图 9.35:Shareaza 搜索
在Data
文件夹中,有一个名为Library1.dat
的文件,其中包含共享文件夹、共享文件以及部分下载文件的列表。还有一个适当命名为Library2.dat
的文件备份,如果第一个文件损坏,它将被使用。
云计算
什么是云计算?它是远程存储吗?它是远程服务器吗?它是远程服务吗?以上所有问题的答案都是“是”。基于云的服务每天都在越来越多的企业和用户中流行起来。作为数字取证调查员,您必须了解云计算中可能存在的证据。我们在本章中已经讨论了一些关于云计算工件的内容。现在,我们将讨论云计算的其他不同方面。在进行数字取证调查时,您可能会遇到不同的云计算服务模型。它们如下:
-
基础设施即服务 (IaaS):远程基础设施提供给客户使用,而服务提供商保持对硬件的所有权和控制。客户只需为所需的硬件/服务付费,并且可以根据需要灵活增加/减少硬件要求。
-
软件即服务 (SaaS):通过网络向客户提供应用程序。客户支付订阅费用给供应商使用软件。内容和用户文件存储在服务提供商的服务器上,但可以与组织内的其他成员共享使用。
-
平台即服务(PaaS):客户的操作系统通过云服务器提供给客户。用户可以安装自己的应用程序并维护软件的设置,而服务提供商负责硬件和操作系统的管理。客户负责其网络内的系统管理。
另一个需要考虑的是云资源的部署方式。共有四种选择:
-
公有云:一种云资源,向公众或特定组织成员提供。地方政府、大学或社区的某一部门可以提供公有云资源。
-
私有云:一种云资源,仅向特定成员提供。用户必须拥有特定权限才能访问该资源。例如,某个组织可能仅为员工维护一个私有云资源。
-
社区云:一种类似于私有云的云资源,用户由多个具有相似目标的组织组成。例如,某云服务提供商可能会限制对仅供多个执法机构使用的云资源的访问,仅限执法机构使用。
-
混合云:由两种或更多不同部署方式组成的云资源。
如你所见,云计算的使用可以直接影响你在本地系统上找到或未找到的工件。完全有可能在本地系统上找不到与你调查相关的任何工件,这就引出了一个问题,工件/证据在哪里?
这个问题的答案是:世界上任何地方。你可能在寻找的数据/工件可能存储在距离你一英里远的服务器上,也可能存储在几千英里外的其他司法管辖区内。调查硬件无法物理访问时,会给数字取证调查员带来重大问题。如果你是执法人员,且有搜查令,那么搜查令是否对存储在超出你管辖区范围的服务提供商的数据有效?对于企业调查员来说,搜查令不是一个选择,但如果数据存储在隐私期望与调查所在地不同的司法管辖区,访问数据时可能也会遇到问题。
在美国,这个问题一直争议到 2018 年,并将由美国最高法院决定。最终,问题在立法层面得以解决,国会澄清了《存储通信法》,并现在要求服务提供商提供请求的数据,无论信息“是否位于美国境内或境外。”
对于企业调查员,服务级别协议(SLA)应明确规定谁可以访问数据,并指明在进行数据采集时是否有任何限制。SLA 还应说明数据可能存储的位置,并解决数据存储在不同司法管辖区时如何解决法律冲突。
不同国家在隐私问题及刑事和/或民事程序方面提供不同的保护。一个司法管辖区内的犯罪行为,在存储数据的服务器所在的司法管辖区可能并不构成犯罪。在欧盟(EU)中,必须在访问欧盟公民的个人信息之前通知他们,并且必须获得他们的同意。
一旦你获得了进行数字取证调查所需的数据访问权限,你仍然需要遵循最佳证据处理实践。你可能会遇到保全链的问题;如何知道提供者是否使用了取证有效的方法来收集证据?你能验证该方法来证明他们收集了所有相关信息吗?你不希望对方在司法/行政程序中指控没有收集和呈交有利辩护的证据。
在进行数字取证调查时,有一些证据可以检查,以确定用户是否访问过任何基于云的应用程序。在本章中,我们讨论了 Web 浏览器的缓存,以及用户如果通过 Web 浏览器访问基于云的应用程序会发生什么。在第六章,Windows 证据分析中,我们讨论了检查预取文件。请记住,预取文件用于加速应用程序启动,并包含日期/时间戳,显示用户最后一次访问该资源的时间。
Dropbox 和 Google Drive 是消费者常用的两种基于云的存储选项。当用户安装 Dropbox 或 Google Drive 应用时,系统会创建一个文件夹,用户可以将数据同步到本地计算机和云端存储。当用户更改本地文件时,系统将更新云端存储中的文件。或者,用户可以通过基于 Web 的界面,使用共享或公共计算机上传/更改文件,系统将更新文件或上传到用户个人设备上的文件。
在使用 Dropbox 应用时,有两个数据库对数字取证调查员尤其重要:
-
config.dbx
:包含用户 ID、账户邮箱地址、账户用户名和dropbox
文件夹的路径。 -
filecache.dbx
:包含file journal
表,其中包括有关在本地主机和云存储之间同步的文件信息。该表将包含文件名、文件路径以及本地主机 ID 中的文件大小。本地主机 ID 是我们识别将文件放入 Dropbox 存储的主机的方法。
如果你正在调查一个使用基于云的存储 Google Drive 的用户,以下数据库可能会引起你的兴趣:
-
sync_config.db
:将包含本地主机上 Google Drive 文件夹的路径,显示是否正在同步 USB 设备,并显示与 Google Drive 帐户关联的电子邮件帐户。 -
snapshot.db
:local_entry
表将包含有关在本地主机和云存储之间同步的文件信息。这将包括卷的序列号、文件名、修改日期/时间戳、文件大小,并显示它是文件还是文件夹。 -
cloud_entry
表将包含文件名、修改日期/时间戳、文件大小,并显示用户是否将文件共享给其他用户。 -
Device_db.db
:external_devices
表将包含设备 ID、USB 设备标签、上传日期/时间戳,并显示用户是否已将设备同步到云存储。 -
device_files
表将包含 USB 设备的设备 ID、同步文件的文件名、文件路径,以及文件同步到云存储的日期/时间戳。
像大多数技术一样,基于云的计算正在迅速发展和变化。随着使用云技术的消费者数量增加,你在进行数字取证调查时需要检查的证据痕迹数量也将增加。在进行数字取证调查时,你必须始终牢记云计算的潜在使用。
总结
在本章中,我们重点讨论了用户使用 Web 浏览器时可能产生的痕迹。我们介绍了不同的 Web 浏览器并分析了社交媒体应用程序。我们讨论了各种社交媒体应用程序及其可能留下的痕迹。用户的系统上可能会留下极少的痕迹,但在用户的移动设备上或服务提供商手中可能会有更多痕迹。
我们还探讨了 P2P 文件共享以及这会在用户系统上留下哪些痕迹。现在你应该能够理解并识别不同的浏览器和可能出现的痕迹。你应该能够理解并识别最流行的社交媒体应用及其可能留下痕迹的常见位置。你还应该能够理解 P2P 文件共享网络的基本结构和操作,并熟悉典型的 P2P 文件共享客户端应用程序和痕迹。
在下一章中,我们将专注于报告写作。你可能能够找到每一个可能的证据,表明某个对象的有罪或无罪。然而,如果你无法编写一份技术性和非技术性读者都能轻松理解的报告,你将失去受众。如果读者无法理解你的报告,他们就永远无法知道你在调查过程中发现了哪些用户活动。
问题
-
Google Chrome 会将书签保存在什么类型的文件中?
-
JSON
-
文本
-
URL
-
XML
-
-
Google Chrome 历史记录文件是什么文件类型?
-
Word 文档
-
JPEG
-
SQLite 数据库
-
XML 数据库
-
-
Internet Explorer/Edge 会将输入的 URL 保存在哪个注册表文件中?
-
SOFTWARE
-
SYSTEM
-
SECURITY
-
NTUSER.DAT
-
-
什么是缓存?
-
一堆文件
-
一堆图片
-
网页浏览器存储的文件
-
用户存储的文件
-
-
什么是 cookies?
-
一顿美味的下午茶
-
文本文件
-
女童军卖的东西
-
发送电子邮件时创建的小文件
-
-
P2P 应用程序通常使用什么类型的服务器架构?
-
集中式
-
去中心化
-
IMAP 服务器
-
SQL 服务器
-
-
哪个 P2P 应用程序使用
ShareH.net
和ShareL.dat
文件?-
eMule
-
Shareaza
-
Ares
-
eDonkey
-
进一步阅读
Casey, E. (2017). 数字证据与计算机犯罪:法医科学、计算机与互联网。温哥华,B.C.:Langara College. 本书可在 www.amazon.com/Digital-Evidence-Computer-Crime-Computers/dp/0123742684
获取。
加入我们的 Discord 社区
加入我们社区的 Discord 空间,和作者及其他读者一起讨论:
第十章:在线调查
在线环境中有哪些信息是可以获取的?你是否已识别出一个潜在的嫌疑人?是否有数据库可以用来查找潜在目标的信息?是否可以使用在线资源进行诱捕行动?这些都是有效的问题,在大多数情况下,这些问题的答案是肯定的。当你要求某人查找关于某个个体的信息时,首先进行的搜索通常是通过 Google。Google 会给你提供很多信息,这些信息可能与搜索目标相关,也可能无关。Google 搜索会给你提供许多不同的线索,这些线索可能需要追踪,但也可能将你引入死胡同,无法提供任何有用的信息。
法律执行机构和私人组织正在进行在线调查。执法机构正在寻找犯罪活动,例如成年人试图性剥削儿童。私人组织则在筛选潜在的新员工,可能还在进行竞争对手的反对派研究,而高等教育机构则在研究即将入学的班级人数。我相信你也读到过有工作邀请或大学录取被撤销的案例,因为他们发现了用户曾在网上发布过贬低性或煽动性的言论。
本章将涵盖以下主题:
-
卧底调查
-
背景搜索
-
保存在线通讯
卧底调查
什么是在线调查?它是一组资源,还是用户在数字世界中的活动?在线调查是对互联网进行系统性搜索,以识别、保存、分析并报告与调查主题相关的信息。我们大多数人都熟悉有人因为在线发布的内容而被解雇的事情。可能是一个不合时宜的推文,一个在工作中拍摄的 TikTok 视频,或者一条可能被视为冒犯的 Facebook 帖子。
请考虑以下情况:2020 年和 2021 年发生的事情:
-
马里兰州因阿瑟·洛夫在 Facebook 上支持凯尔·里滕豪斯的言论而解雇了他。洛夫曾是马里兰州社区倡导办公室的副主任。解雇的原因是他的帖子包含了“分裂性的图像和言论”。洛夫随后提起了诉讼,称马里兰州侵犯了他的权利,他不应因在私人时间和个人社交媒体账户上发布的内容而受到惩罚。
-
“Eli”,一名星巴克的咖啡师,在他们将一段视频发布到社交媒体平台 TikTok 后被解雇。视频的内容包括了一段小品,展示了咖啡师们如何回应挑剔的顾客。Eli 表示,拍摄时没有顾客在场,未损坏任何公司设备,并且拍摄是在店铺关闭后进行的。星巴克回应称,Eli 被解雇是因为所有员工都应当“创造一个尊重、安全和欢迎的环境”。星巴克进一步表示,Eli“通过在 TikTok 上发布内容,展示了与星巴克使命价值观不符的行为,该内容显示员工在嘲笑顾客。”
-
第三巡回上诉法院表示,雇主可以基于社交媒体帖子解雇员工。此案件为“Ellis 诉纽约梅隆银行公司”。该名员工在其公开的 Facebook 账户上发布了几条支持对抗议者使用暴力的帖子,因此被解雇。雇主收到关于这些帖子的投诉后,进行了内部调查,并包括了对员工的面谈。调查结束后,银行因该员工违反了银行的社交媒体政策而解雇了她。银行认为这些帖子“具有攻击性,显示出糟糕的判断力,缺乏对他人的尊重,并鼓励暴力行为。”
开源信息可以是与您调查相关的信息宝库。
Michael Brazzell 编写了《开源情报技术》一书,该书深入探讨了如何将互联网作为资源。我将提供一个概述,但如果您想深入了解,我推荐阅读他的作品。
信息收集是隐秘在线调查的一个方面吗?是的,绝对是。非执法机构是否可以进行隐秘调查,还是仅限于政府特工的职权范围?不,非执法机构也可以进行隐秘的在线调查,原因多种多样,比如对竞争对手的反向研究、调查服务盗窃、与嫌疑“威胁行为者”互动以确认他们是否会针对该组织,或出于任何其他保护组织的原因。
隐秘平台
进行在线隐秘调查需要充分的准备。
在开始在线隐秘调查之前,首要考虑的是您将使用哪个平台与其他用户互动。您想使用个人的台式机/笔记本电脑、组织的设备,还是使用全新的台式机/笔记本电脑?无论您选择哪种方式,都要确保所选平台没有留下任何可能暴露隐秘调查员或组织真实身份的信息。确保没有以下内容:
-
间谍软件
-
恶意软件
-
跟踪 Cookie
-
网络缓存
如果你的平台上有上述任何项目,当你使用真实身份时,这些信息可能会危及你的卧底身份。
在决定使用哪个平台时,你需要确保该平台能够支持你的卧底身份。例如,如果你的卧底身份应该是一个精通使用命令行界面(CLI)的精英威胁行为者,但你只通过 Windows 10 的图形用户界面(GUI)与其他用户互动,那么这种不一致可能会导致你的可信度受到质疑。
另一个需要考虑的因素是,如果你的在线卧底活动导致了逮捕或在行政或民事环境中的诉讼,你所使用的平台将作为证据。如果你没有充分删除所有与真实身份相关的数据,这些信息有可能会被用来对付你。虽然在一个理想的世界中,显而易见的答案是只使用全新的设备,但不幸的是,这并非现实。当你使用曾经使用过的设备作为平台时,必须重新格式化并重新安装操作系统及任何需要的应用程序,以进行卧底在线调查。
完成上述过程后,卧底调查员必须专门使用该平台进行卧底在线调查。
你还需要确保你的网络连接是安全的。例如,你需要部署反恶意软件/杀毒解决方案来监控你的平台和网络连接。此外,你还需要使用虚拟私人网络(VPN)连接,这将帮助你掩盖位置。VPN 还会加密从平台到目的地的流量,使任何试图窃听你的流量的人无法读取。你可以使用多个免费的和付费的 VPN 服务,或者选择自己创建 VPN。
另一种保护你的在线卧底身份的方式是使用洋葱网络,也称为 Tor 网络。Tor 项目是一个非营利组织,使命是“通过创建和部署自由和开源的匿名和隐私技术,支持无限制的可用性和使用,促进其科学和普及理解,从而推动人权和自由。”Tor 项目维护着 Tor 网络。Tor 网络使用开源软件创建一个由志愿者支持的覆盖网络。Tor 网络帮助用户通过保护其在线活动来保持匿名。如果卧底人员需要使用或访问“暗网”,他们必须使用 Tor 网络。
一旦平台创建完成,下一步是创建卧底在线调查员的网络身份。
在线身份
创建一个在线身份需要什么?首先,你需要假装是另一个人,因此你应该有一个与普通用户相似的在线足迹。你需要确保你的隐秘在线身份能够经得起审查。
创建一个隐秘的在线身份的第一步是创建一个邮箱地址。显而易见的选择是使用像 Gmail 或 Yahoo 这样的免费邮箱提供商。使用免费的提供商将需要提供一个已建立的邮箱账户或非语音 IP(VoIP)电话账户。此外,某些提供商允许你创建一个临时邮箱地址用于验证目的。
临时邮箱地址是一种在在线互动中使用独特邮箱地址的方法。这种方法的优势在于,如果该地址被泄露或用于非法活动,用户可以快速取消它,而不会影响其他在线互动。
你将会找到免费和付费的临时账户选项。以下是一些临时邮箱提供商的样本:
-
Temp Mail
temp-mail.org/en/
-
Guerrilla Mail
www.guerrillamail.com/
-
Tutanota
tutanota.com/
-
ProtonMail
protonmail.com/
Guerrilla Mail 界面如下所示:
图 10.1:Guerrilla Mail 界面
Guerrilla Mail 是一个免费的服务。当你访问该网站时,它会自动生成一个用户名,然后你可以选择邮箱账户的域名。还有一个选项可以创建一个“Scramble Address”,用于为临时邮箱账户创建一个别名。
隐秘的在线调查员可能需要进行购买或向调查目标传送资金。在这种情况下,你不希望使用任何可以追溯到你真实身份或标识你所工作的组织的金融资源。在这种环境下,且受到这些限制的情况下,加密货币是非常合适的选择。加密货币使用加密的数据字符串,并通过区块链进行管理。区块链还充当“账本”,记录交易,包括加密货币何时转移给另一方。你将不会找到一个集中式的基础设施来维持加密货币;它是去中心化的过程,这保证了其匿名性。
比特币是一种去中心化的、开源的、点对点的虚拟货币,始于 2009 年。一些国家已将比特币视为法定货币,但大多数情况下,只有少数地方和国家政府在某些程度上使用它。比特币已被普通消费者所认识,因此现在越来越多的组织开始接受它。存储用户比特币需要一个比特币钱包。许多供应商提供用户的数字货币钱包。有许多类似比特币的数字货币可以选择。例如,在 2013 年,Billy Marcus 和 Jackson Palmer 发布了狗狗币。这被认为是第一个“表情币”,因为他们是开玩笑地创建它,用来讽刺投资者对加密货币的投机。狗狗币的官方标志是柴犬的面孔。
伪装身份调查员还可以使用个人对个人(P2P)交易的世界。这通常是通过移动设备或家庭计算机系统上的应用程序进行的转账。一些应用程序包括 Cash App、Venmo 和 Zelle。这些应用程序通常与用户的信用卡或银行账户相关联。
另一个选项是预付费信用卡/借记卡,它们不需要个人身份信息。
为了创建这个特定的伪装身份,我喜欢使用网站 Fake Name Generator(www.fakenamegenerator.com
)。该网站提供免费的服务,可以生成名字、地址、电子邮件地址、电话号码、母亲的娘家姓、信用卡号码、国家身份证号码,并可以根据任何地区、国籍或性别定制内容。在下面的截图中,你可以看到这个虚拟名字生成器的界面。
下拉菜单已展开,可以选择性别、名字类型和国家。如果你愿意,还可以创建特定类型的名字,例如美国人、德国人、哈比人、克林贡人和流行的忍者。在截图的主要部分,你可以看到生成的信息。
保罗·D·沃克(Paul D. Walker)这个名字是在肯塔基州创建的。我们还掌握了沃克的电话号码、生日、星座和一些在线信息。他们为这个虚拟身份创建了一个真实的电子邮件地址和用户名/密码。
图 10.2:Fake Name Generator 虚拟身份创建
以下截图展示了该虚拟身份的身体特征、工作信息和信用卡号码。网站声明他们使用了一个信用卡号码生成器来创建语法有效的信用卡号码。
然而,过期日期是随机生成的,信用卡前缀并不是有效的输入,以帮助防止欺诈。
图 10.3:虚拟身份的其余信息
潜伏的在线身份可能还需要一张图片来帮助增加身份的可信度。网站 This Person Does Not Exist (thispersondoesnotexist.com
)会生成一个随机的计算机生成的头像,你可以刷新页面生成不同的图像。
以下截图展示了该网站生成的部分图像。
图 10.4:来自 https://thispersondoesnotexist.com 的随机图像集
移动通讯接下来也会被匿名化。你可以使用多种物理和数字方法来保护潜伏调查员的真实身份。许多按需付费的移动电话供应商提供 1 到 3 个月的服务计划,有时还包括移动设备。通讯公司通常会将语音和数据服务捆绑销售。例如,Mint Mobile (www.mintmobile.com
)提供每月$15 的服务。如果需要移动设备,每月费用会增加到$20 至$44 之间。你可以选择接收 OnePlus n200 手机、三星 Galaxy A02 或苹果 iPhone SE。
一个数字化的选项是 Fake Caller ID (fakecallerid.io
),这是一款可以在苹果或安卓设备上使用的应用程序。该服务的价格从$9.95(60 积分)到$49.95(350 积分)不等。它允许用户创建虚假的来电显示,改变用户的声音,录音通话,将来电直接转入语音信箱,以及国际电话服务。
要录音通话,执法部门必须获得司法官员的批准,才能拦截电线、口头和电子通讯。假设你不是执法人员,在这种情况下,你仍然需要确定该州(这里是指美国,你所在的地方可能有不同的录音规定)是单方同意州还是双方同意州。单方同意州只需通讯渠道中的一方同意录音即可;双方同意州则要求通讯渠道中的双方都同意录音。美国仅有 12 个双方同意州。根据不同的州,可能有一些特定的要求。例如,俄勒冈州只要求一方同意电子通讯的录音,但要求面对面通讯时必须获得双方同意。
如果你曾经给供应商或组织打电话并收到提示称他们会录音以供培训使用的消息,他们会认为你保持通话即表示同意。如果你告诉组织的代表你不愿被录音,他们会迅速结束通话。
背景调查
在确定潜在目标后,在线调查员应开始对目标进行侦察。调查员需要熟悉在线和离线可用的资源。一些你可能会发现的信息包括以下内容:
-
个人标识符
-
物理位置
-
社交媒体活动
-
专业会员身份/活动
-
参与在线群组
你可能没有所有信息来识别目标的在线身份,并将其与实体身份连接起来。例如,如果目标有一个常见的姓氏,那么很难区分不同的约翰·史密斯。然而,识别目标的电子邮件地址可能帮助你从可能有数百万条结果的“约翰·史密斯”中区分出来。
即使有了电子邮件地址,你也可能得不到任何回应。例如,假设调查对象使用的电子邮件地址是“badguy27@yahoo.com
”,而你没有得到任何回应。这可能是因为电子邮件地址有错误、缺少字符或拼写错误。
下一步应该是验证电子邮件地址以确定其有效性。许多在线服务可以帮助你验证电子邮件地址。以下是一些服务。一些是收费的,而其他只需要你创建一个账户:
-
Email Hippo (
tools.emailhippo.com/
) -
Hunter (
hunter.io/
) -
验证电子邮件 (
verify-email.org/
) -
DeBounce (
debounce.io/
) -
Emailable (
emailable.com/
) -
Reacher (
reacher.email/
) -
WhoisXML API (
geekflare.com/email-verification-api/
)
在以下示例中,我使用了 WhoisXML API 服务。我输入了如下所示的电子邮件地址:
图 10.5:WhoisXML API 输入 badguy27@yahoo.com
WhoisXML API 提供了非常快速的响应。响应如下所示:
图 10.6:WhoisXML API 对 badguy27@yahoo.com 的响应
如你所见,电子邮件地址“badguy27@yahoo.com
”是有效的。接下来,你可能需要确定该电子邮件账户是否曾经被泄露。Pastebin (pastebin.com/
) 是一个允许用户创建公开帖子、"pastes" 的网站,这些内容以纯文本形式展示。用户通常会在此分享代码或任何其他基于文本的内容,如:
-
超过 Twitter 字符限制的内容(用户可以在 Pastebin 上提供完整内容的链接)
-
Google Docs 替代品
-
网站推广
-
分享源代码
-
转载被禁内容
-
分享从网络泄露中获得的数据集
-
分享来自暗网的内容/链接
来自索尼影业攻击、InfraGard 攻击和 Ring 入侵的内容都被发布到 Pastebin 上。
有几个在线资源可以检查一个电子邮件地址是否属于已泄露的数据信息集。以下是一些例子,虽然不全面,但可以作为样本参考。
-
PSBDMP (
psbdmp.ws/
) -
我是否被黑客入侵?(
haveibeenpwned.com/
) -
SpyCloud (
spycloud.com/
)
使用“我是否被黑客入侵?”,我输入了电子邮件地址“badguy27@yahoo.com
”,以确定该电子邮件账户是否涉及任何网络攻击或数据泄露。
图 10.7:我是否被黑客入侵?搜索 badguy27@yahoo.com
在下面的截图中,你会看到电子邮件地址“badguy27@yahoo.com
”曾涉及两次数据泄露,分别是 2008 年的 MySpace 数据泄露和 2020 年的 Gravatar 数据泄露。
图 10.8:我是否被黑客入侵?badguy27@yahoo.com 的结果
到目前为止,我们已确定该电子邮件地址有效,但可能已被泄露。如果你参与刑事调查,且此案件正在接受司法审理或裁决,对方律师可能会尝试使用“威胁行为者”防御。一个电子邮件地址涉及数据泄露,但并不意味着它已被泄露。如果你能够访问该对象的数字设备,你需要确保这些设备没有被入侵。
你需要采取积极措施,排除“威胁行为者”防御,以便对方不能先用这个防御。
在线调查员还可以使用用户名来帮助识别潜在的目标。用户在不同账户间使用相同用户名并不罕见。例如,在使用电子邮件地址 badguy27@yahoo.com
时,用户名“bad guy 27”可能会在 Gmail 或 AOL 等多个电子邮件提供商中使用。该用户还可能在 Facebook、Instagram 或 TikTok 等社交媒体中使用相同的用户名。因此,你在对目标进行背景调查时,需要使用“bad guy 27”或该用户名的变体。
Knowem (knowem.com) 是一个允许用户在多个平台上搜索用户名的网站。该网站的目标是帮助用户发现他们的商标、版权或品牌名是否未经许可被他人使用。
图 10.9:Knowem 搜索 badguyneedslove
一旦输入用户名并开始搜索,该服务将开始在社交媒体和其他网站上查找,并告诉你该用户名是否“可用”,如果“可用”一词被划掉并灰显,表示该用户名已在该网站上使用。
图 10.10:Knowem 搜索结果(badguyneedslove)
以下截图显示用户名“badguyneedslove”在多个网站上可用。我们寻找的结果是那些显示“available”字样被灰显的网站,例如 Facebook.com。
当我们添加用户名 URL www.facebook.com/badguyneedslove时,你将看到潜在目标的 Facebook 页面。
图 10.11:Facebook 和 Twitter 结果
通过 Google 搜索引擎进行个人搜索是完全允许的。只需要准备好筛选搜索结果,希望能找到目标的信息。有一些专门为搜索个人信息而设计的搜索引擎。这些搜索引擎通常允许你获取目标的基本信息,然后在提供任何深入的结果之前要求支付费用。以下是一些较为常见的个人搜索引擎,列表并不详尽。我建议使用多个个人搜索引擎,以确保获得最全面的信息。在我使用这些搜索引擎时,准确性因引擎不同而有所差异,但我会将所有结果汇总到一个文档中。
我发现了当前和过去的地址、当前和过去的固定电话和手机号码、直系和旁系家庭成员、当前和过去的账户,以及生日。在某些情况下,我还能够确定他们的选民登记信息和邻居。
我首先使用的个人搜索引擎是 True People Search (truepeoplesearch.com/
)。
图 10.12:True People Search – 搜索界面
在搜索 True People Search 时,你可以选择按姓名、电话号码或地址进行搜索。
当你选择搜索结果时,系统会显示目标的名字、年龄和出生年份、当前地址和电话号码。你还可以创建一张显示当前地址的地图,并获取与该目标关联的所有电话号码。(如下所示)
图 10.13:True People Search – 结果(姓名)
接下来,你将看到与该目标关联的以前的地址。这些地址将包括街道地址、城市、州和邮政编码,同时还会显示该地址与此人关联的月份和年份。(如下所示)
图 10.14:True People Search – 结果(地址)
接下来的字段将包含与对象相关的当前电子邮件地址。搜索引擎不会标明电子邮件地址的日期,这使得判断用户是否仍在使用这些电子邮件帐户变得更加困难。用户可以选择一个对话按钮,以查看可能与对象关联的其他电子邮件地址。记住,验证这些结果是你的责任;不能保证这些结果会返回到执行侦察的实际人身上。有时候,在对对象进行侦察时,你可能会遇到假阳性结果。
图 10.15:True People Search – 结果(电子邮件)
在报告的末尾(如下所示),你会找到可能的亲属、同事和商业信息列表。这些信息为你提供了额外的调查途径,帮助你确认或否定这些信息是否与正在调查的对象相关。
图 10.16:True People Search – 结果(可能)
有许多可供你进行人员搜索的服务。太多了,我无法在本书中列出所有服务。随着你了解哪些网站提供人员搜索,你可以开始创建自己喜欢的人员搜索引擎列表。
正如我之前所说,True People Search 是我使用的第一个人员搜索引擎之一。以下也会提供关于你搜索对象的信息。结果之间会有一些重叠;你需要分析这些结果,确定所提供的信息是否适用于你正在调查的对象。以下是我过去使用过的一些其他人员搜索引擎:
-
Whitepages –
www.whitepages.com/
-
ZabaSearch –
zabasearch.com/
-
People Search Now –
peoplesearchnow.com/
-
Spokeo –
www.spokeo.com/
接下来,我们将讨论如何保存你在线调查的各个方面,以便你能够正确记录你的努力,并在行政或司法程序中提供证据。
保存在线通信记录
如果你进行了调查,但未能记录你的努力,调查是否真的发生过?你记录调查努力的能力与调查本身同样关键。你必须在结果中记录你的努力,既包括积极的结果,也包括消极的结果。当在线调查员执行调查活动时,必须有文档记录。这个要求要求你要么追溯性地记录你的努力,要么在事情发生时实时记录。
屏幕截图是捕捉屏幕显示内容的有效方法。然而,截图必须聚焦于你所捕捉的物体或行为,才能使屏幕截图发挥作用。我的意思是,当进行屏幕截图时,捕捉的内容需要集中在重要的部分。例如,捕捉一个打开了六七个窗口的桌面并不能有效地向第三方传达重要信息。macOS 和 Windows 操作系统都可以原生截取屏幕显示内容。
在 macOS 中,你可以通过同时按下command键和空格键(
图 10.17:Spotlight 搜索 – “屏幕截图”
在 Windows 操作系统中,你可以使用截图工具,这个工具正在过渡到新的 Snip and Sketch 工具。这两个工具提供相同的功能。下面是你在使用截图工具或 Snip and Sketch 工具时可能遇到的界面示例。
图 10.18:MS Windows – 截图工具和 Snip and Sketch
另外,使用视频录制屏幕事件也是一个选择。在 macOS 系统中,你可以使用免费的实用工具 QuickTime Player。QuickTime Player 可以使用 USB 摄像头录制视频,并创建一个显示器显示内容的屏幕录制。如果你正在录音,请确保如果周围有同事,他们知道你正在录制。录制进行到 30 分钟时,如果某个同事在你展示证据时突然大声骂脏话,这可能会非常令人沮丧。
图 10.19:QuickTime Player 菜单
在使用 Microsoft Windows 时,你可以使用Windows 键 + Alt + R 来启动屏幕录制。一个小的录制小部件会出现。再次使用Windows 键 + Alt + R 停止录制,或者左键点击小部件上的停止按钮。会出现一个通知,游戏片段已录制。系统会将视频保存在用户的视频/捕获
文件夹中。
Edge 浏览器可以截取网页。使用键盘按下Control、Shift 和 S 键来调出该界面。
图 10.20:Edge 浏览器截图菜单
另一种通过浏览器保存显示数据的选项是工具 Hunchly(www.hunch.ly/
)。在线调查员通常会在浏览器中打开一个标签页并开始调查工作。当调查员发现新的调查线索时,会打开额外的标签页。随着调查的深入,会有许多标签页同时打开。如果调查员没有做好适当的笔记或文档记录,之后回去准确保存所看到的内容可能会非常具有挑战性。Hunchly 工具帮助避免了这个困境。调查员需要使用基于 Chrome 的浏览器并安装 Hunchly 应用程序。
该应用程序还将安装一个浏览器扩展。
图 10.21:Hunchly 扩展菜单
Hunchly 提供免费 30 天的试用期,之后你可以以非常合理的价格购买一年的许可证。
一旦你通过扩展激活 Hunchly,它将监控你从网页到网页的切换进度。如果你打开额外的标签页,Hunchly 也会记录这些网站。例如,在下面的截图中,你可以看到当前的案件,接下来你会看到查看的页面和搜索的指示器,以及这些标题下方的数字。在这次试运行中,我访问了十个网页并进行了六次搜索。
图 10.22:Hunchly 桌面
我访问的一个网站是美国养犬俱乐部(AKC)网站,我查看了迷你雪纳瑞犬种的信息。我还通过 Google 图像搜索查找了迷你雪纳瑞犬的相关图片。在下面的截图中,仪表板显示了我访问的页面,以及日期和时间戳。
图 10.23:Hunchly 历史
Hunchly 不仅仅收集网页的视觉内容,它还会收集嵌入的数据,如电子邮件地址、IP 地址、Google 分析数据,甚至在某些情况下,还包括 GPS 坐标。例如,在下面的截图中,你可以看到美国养犬俱乐部网页的预览,预览的正上方和中央位置有一个数据按钮。
图 10.24:Hunchly 预览
在这个案例中,已经从网站中恢复了 311 条数据记录。在下面的截图中,你可以看到 Google 分析、Facebook 跟踪、电子邮件地址和 IP 地址的记录。所有这些信息都嵌入在网站中。
图 10.25 Hunchly 数据视图
Hunchly 还允许用户将捕获的数据导出为 PDF 文件。如果需要传播调查行动,你可以创建一份纸质副本。
这只是一个可以用来捕捉网页的选项,你还可以使用以下其中的其他选项:
-
FireShot
getfireshot.com/
-
HTTrack
www.httrack.com/
-
Web2Disk
www.web2disk.com/
-
SiteSucker
ricks-apps.com/osx/sitesucker/index.html
-
X1 Social Discovery
www.x1.com/products/x1-social-discovery/
-
EyeWitness
github.com/FortyNorthSecurity/EyeWitness
这个清单并不详尽,可能还有其他工具具有相同的功能。一些工具可以免费使用,一些价格合理,而一些则非常昂贵。你的具体情况将决定你能够使用哪些工具。使用哪种工具并不重要;一些付费工具与免费的工具具有相同的功能。然而,付费工具提供的是附带的客户支持,而免费工具则可能需要你自己做研究来解决可能遇到的问题。最终的目标是熟练使用你所使用的工具。你还必须了解工具的视觉界面下发生的事情。
总结
在本章中,我们讨论了在线调查。我们研究了卧底操作以及如何创建在线调查员可以使用的虚拟身份。你绝对不想使用个人的在线身份进行调查。如果你调查的目标能够识别出你的真实身份,而且你一直使用的是个人在线身份,你可能会将自己置于危险之中。我们还研究了调查员可以使用的各种方法,以确定受调查对象并进行背景调查。一个人可能没有数字足迹,但我认为这不太可能。通过使用开源信息,你可能能够收集到该数据集,而不引起目标的注意。最后,你需要记录所有的调查工作。
你可以通过使用截图、视频和网站捕获来完成这一任务。现在你应该能够:
-
确定如何从在线来源收集个人信息
-
确定如何在线进行调查
-
确定如何保存互联网通信、视频、照片以及其他对案件重要的内容
在下一章中,我们将介绍网络基础知识。了解数据如何在互联网上传输,将对理解如何找到有助于证明或反驳你正在调查的指控的证据至关重要。
问题
-
你必须是执法人员才能进行在线调查。
-
正确
-
错误
-
-
进行在线卧底调查时,首要考虑的因素是什么?
-
内存
-
操作系统
-
平板
-
加密工具
-
-
以下哪项应该从卧底平台中移除?
-
间谍软件
-
恶意软件
-
Facebook
-
Cookies
-
-
什么可以用来掩盖你的位置信息?
-
Starbuck 的 WIFI
-
游客账户
-
虚拟私人网络
-
Mosaic 浏览器
-
-
以下哪项是一次性电子邮件提供商?
-
Temp Mail
-
Tal Shiar 邮件
-
秘密邮件
-
第三十一部分 邮件
-
-
以下哪项是 2009 年开始的点对点虚拟货币?
-
Trekcoin
-
Dogecoin
-
Bytecoin
-
比特币
-
-
谁可以授权执法机关拦截电话、口头和电子通讯?
-
法官
-
Admiral
-
州长
-
不需要授权
-
-
Email Hippo 提供什么服务?
-
验证电子邮件地址
-
验证电子邮件的内容
-
验证电子邮件的发件人
-
验证收件箱的位置
-
-
以下哪项不是用户使用 Pastebin 的原因?
-
超过 Facebook 字符限制的内容
-
网站推广
-
分享源代码
-
重新发布被禁内容
-
-
在 True People Search 上搜索之前,你需要授权吗?
-
正确
-
错误
-
深入阅读
Bazzell, M. (2018). 开源情报技巧:搜索和分析在线信息的资源。美国:Inteltechniques.com。
Troia, V. (2020). 追捕网络罪犯:黑客的在线情报收集工具与技术指南。印第安纳州印第安波利斯:John Wiley & Sons Inc.
加入我们在 Discord 上的社区
加入我们社区的 Discord 空间,与作者和其他读者进行讨论:
第十一章:网络基础
在你的职业生涯中,很少会遇到需要调查一台没有连接到网络的计算机。当我说“计算机”时,这包括了移动设备。台式机、笔记本电脑和移动设备都设计用来通过我们称之为“互联网”的网络共享信息。这样的设备有合法的用途,也有非法的用途。例如,使用这些设备的用户已知会录制自己实施犯罪行为的音频和视频。这些用户还会利用互联网研究他们未来计划执行的活动;这些活动包括犯罪行为。
也可能会有某个时候,你被要求调查一起犯罪案件,设备成为犯罪目标:服务器可能被黑客攻击,用户的移动设备可能被入侵,或者用户的在线存储可能遭到泄露。这些行为要求你了解设备如何在网络上进行通信。本章将讨论一些你需要了解的关于网络的基本信息,从理论概念到网络拓扑、地址分配以及一些基本协议,以增加你对网络的了解。我建议你准备 CompTIA Network+ 考试和 Security+ 考试。
本章将涵盖以下主题:
-
OSI 和 DOD 模型
-
网络硬件
-
常见的端口和协议
网络是建立在一套标准和模型之上的。如果网络中的客户端不遵守某个标准,就会缺乏通信。这样可以确保网络中的所有客户端都能互相通信。
配置网络的主要参考模型是开放系统互联(OSI)模型。开发人员使用 OSI 模型将通信拆分为不同的层,每一层在数据传输和接收中都有特定的角色。(如果你希望更详细地了解 OSI 标准,可以访问 www.iso.org/standard/20269.html
。)
开放系统互联(OSI)模型
这个参考模型只是开发人员在创建用户连接到网络的协议和设备时使用的参考。这个分层模型有一些优点,比如:
-
通信过程包括允许更容易开发和故障排除的组件
-
通过遵循标准,不同类型的设备和软件可以相互通信
-
一层的变化不会影响其他层
-
组件的标准化允许多个组织开发和部署组件
通过使用 OSI 模型,你可以让来自 Microsoft、Apple、UNIX 和 Linux 的主机连接并相互通信到同一个网络。如图 11.1所示,你可以看到 OSI 模型由七个不同的层组成。各层如下:
图 11.1:OSI 模型
你可以使用助记符来记住从第一层到第七层的顺序,例如“Please do not throw sausage pizza away(请不要扔掉香肠披萨)。”从第七层到第一层,可以使用助记符“All people seem to need data processing(所有人似乎都需要数据处理)。”
图 11.2:OSI 模型 – 各层功能
物理层(第一层)
物理层(第一层)负责在网络上不同主机之间创建路径。这可以是用于数据传输的物理拓扑。物理拓扑包括以太网网络,其中以太网电缆连接到主机和网络设备;数据传输的一个例子是 Wi-Fi 网络,其中数据通过无线电信号而非物理介质传输。该层负责传输数据和接收数据。此层还控制物理介质的规格以及主机与物理/传输介质之间使用的连接。
在此层级,你可能会遇到的一些设备包括:
-
中继器 – 接收并重新传输数据的电子设备
-
集线器 – 用于连接多个主机和网络设备的网络设备
-
调制解调器 – 用于编码和解码包含网络数据的信号的网络设备
数据链路层(第二层)
数据链路层(第二层)负责数据传输。它提供流量控制、错误通知以及连接到同一逻辑段的主机和网络设备之间的网络拓扑要求。此外,该层还负责将数据传递到正确的目的地。通过使用网络接口设备的物理地址(即 MAC 地址,媒体访问控制地址)来完成这一任务。数据链路层包含两个子层:
-
逻辑链路控制(LLC)– 负责识别网络层协议
-
媒体访问控制(MAC)– 负责数据包的定位和物理地址
在此层,数据被格式化成帧。
在此层级,你可能会遇到的一些设备包括:
-
网络适配器 – 允许主机连接到网络介质
-
桥接器 – 用于连接两个网络段的网络设备
-
无线接入点 – 用于创建有线网络和无线网络之间桥接的网络设备
网络层(第三层)
网络层(第 3 层)负责主机和网络设备的逻辑寻址,确定数据传输的最佳路径,并映射连接到网络的所有设备的位置。该层使用的逻辑寻址将取决于网络。你可能熟悉的最常见地址是分配给本地主机的 IP 地址。目前有两种不同版本的 IP 寻址可用:IPv4 和 IPv6。在此层,数据被格式化为数据包。
你在这一层可能遇到的一些设备包括:
-
路由器——一种网络设备,负责根据逻辑寻址(IP 地址)进行数据路由
-
交换机——一种可以根据逻辑寻址(通常,交换机被视为第 2 层设备,但某些交换机也具有在网络层工作的功能)的网络设备
传输层(第 4 层)
传输层(第 4 层)负责可靠的数据传输,包括建立/关闭虚拟连接,如主机和服务器之间的 HTTP 连接。多路复用数据流也在这一层进行处理。端口号和网络应用程序的使用是第 4 层的功能;一个例子是,网页流量被引导到端口 80(HTTP),而电子邮件流量则被引导到端口 25(SMTP)。在此层,数据被格式化为段。
你在这一层可能遇到的一些设备包括:
-
网关——一种网络设备,负责连接使用不同协议的两个网络。网关将充当两个不同网络之间的翻译器。
-
防火墙——一种网络设备,用于防止未经授权访问网络上的资源。
会话层(第 5 层)
会话层(第 5 层)负责创建、维护和关闭使用表示层协议的主机之间的数据会话。此层将利用以下模式协调网络中主机/服务器之间的数据流:
-
单工——数据只能单向传输
-
半双工——数据可以双向传输,但一次只能在一个方向上传输
-
全双工——数据可以同时在两个方向上传输
表示层(第 6 层)
表示层(第 6 层)负责将数据呈现给应用程序,并将应用程序使用的格式转换为网络传输格式。这可能包括编码方案,如 ASCII(美国信息交换标准代码)和 Unicode。
应用层(第 7 层)
应用层(第 7 层)为网络上的软件应用程序和主机提供接口。一个例子是系统之间的文件传输。这使得使用不同操作系统和文件系统的应用程序能够进行通信,并为用户提供服务。
封装
随着数据穿越协议栈的不同层次,每一层都会添加信息,目的地的相应层将读取这些信息。一个示例如图 11.3所示。左侧的主机向右侧的主机发送请求。数据在传输并沿协议栈传递时,每一层可能会向数据添加一个“头部”,将头部和前一层添加的数据封装在一起。当数据到达目标主机时,数据将被解封装,就像剥洋葱一样,直到它到达目的地。例如,如果请求是 HTTP 请求,则会向数据添加应用层头部。在传输层,TCP 头部会被添加,网络层会添加 IP 头部,而数据链路层则会创建以太网头部,将数据转换为帧。帧接着会沿物理层传输。在目的地,过程会被反转,每一层都会打开并读取相应层添加的信息。
图 11.3:封装
TCP/IP
虽然 OSI 模型是理论性的,但 TCP/IP 是当前网络环境中主导的一套实际协议。TCP/IP 是由美国国防部(DoD)创建的,目的是为了确保在灾难发生时通讯的完整性。因此,TCP/IP 也被称为 DoD 模型,由以下四个层次组成:
-
应用
-
传输
-
互联网
-
链路/网络接入
它可以映射到不同的 OSI 模型层,如图 11.4所示。
图 11.4:TCP/IP 模型与 OSI 模型的对比
链路/网络接入层对应于 OSI 模型中的物理层和数据链路层。此层定义了网络设备如何连接到网络。
互联网层对应于 OSI 模型中的网络层。此层负责数据的逻辑寻址和路由。
传输层对应于 OSI 模型中的传输层。此层负责在源和目的地之间建立连接。
应用层对应于 OSI 模型中的会话层、表示层和应用层。此层负责管理系统中不同应用的数据流。一些你可能遇到的服务包括 FTP 和 HTTP。
TCP/IP 是一套用于主机和网络设备连接时使用的协议。TCP/IP 的主要协议包括 TCP(传输控制协议)、IP(互联网协议)和 UDP(用户数据报协议)。
TCP 是一种面向连接的协议,这意味着在发送/接收数据之前,主机和服务器之间必须建立连接。这是通过三次握手来实现的。当主机想要与服务器通信时,它们会通过发送一个 SYN 数据包到服务器来发起连接。如果服务器可用,它会用一个 SYN/ACK 数据包响应主机。主机随后会用一个 ACK 数据包回应,连接就可以建立。这个过程如图 11.5所示。
图 11.5:TCP 三次握手
TCP 是一种传输层协议,用于确保数据的准确传输。每个数据包在从源到目的地的传输过程中都必须得到确认。如果数据包在传输过程中丢失,目的地将通知源端该数据包丢失,需要重新发送。因此,TCP 通信可能会经历延迟,并且不适合速度优先于准确性的通信通道。
UDP 是一种无连接的协议。TCP 需要在通信通道建立之前进行三次握手,而 UDP 不需要。因此,当使用 UDP 作为通信通道时,源端永远不会知道是否发生了数据包丢失,因为目的端没有追踪哪些数据包被发送的手段。一个例子是视频流媒体;如果发生数据包丢失,用户可能永远不会注意到,因为这不会影响视频的质量。
IPv4
IP 负责数据在网络中的传输和路由。目前,IP 第四版(IPv4)是该协议的主流版本,但 IPv6 正在逐步推出并被越来越多的组织使用。IP 还负责连接到网络时,主机使用的逻辑地址。IPv4 使用一个 32 位的地址方案,由 4 个字节组成,每个字节之间用点号(.
)分隔。
例如,8.8.8.8
是一个有效的 IPv4 地址。IP 地址会被分配到特定的类别。IP 地址的类别决定了网络上可以容纳多少个主机。
类别 | 地址范围 | 最大主机数量 | 私有 IP 范围 |
---|---|---|---|
A 类 | 1.0.0.1 - 126.255.255.254 |
16,777,214 主机 | 10.0.0.0 – 10.255.255.255 |
B 类 | 128.1.0.1 - 191.255.255.254 |
65,532 主机 | 176.16.0.0 – 172.31.255.255 |
C 类 | 192.0.1.1 - 223.255.254.254 |
256 主机 | 192.168.0.0 – 192.168.255.255 |
D 类 | 224.0.0.0 - 239.255.255.255 |
保留用于多播 | |
E 类 | 240.0.0.0 - 254.255.255.254 |
保留用于研究 |
表 11.1:IPv4 IP 地址类别
A 类网络将分配第一个八位字节给网络,其余三个八位字节用于网络上的主机(NNN.HHH.HHH.HHH
)。B 类网络将保留前两个八位字节用于网络,剩下两个八位字节用于主机(NNN.NNN.HHH.HHH
)。C 类网络将前面三个八位字节分配给网络,最后一个八位字节分配给主机(NNN.NNN.NNN.HHH
)。如果你运行的是 C 类网络,网络上最多只能有 256 个主机。
每个类别也有一组可以在内部网络中使用的私有 IP 地址,但不能通过外部路由器发送流量。这个 IP 地址范围用于封闭的本地网络。使用这些范围内的 IP 地址无法与本地网络以外的设备通信。通常,使用此 IP 地址范围的本地网络都位于路由器后面,并且正在使用网络地址转换(NAT)。
NAT 将私有 IP 地址映射到公共 IP 地址。这项技术用于节省地址空间,避免 IPv4 地址耗尽。NAT 允许路由器转换来自私有网络主机的流量,然后使用公共 IP 地址转发流量。当流量返回时,路由器将流量发送回主机。唯一暴露的 IP 地址是公共 IP 地址。
使用 NAT 网关的一个公共 IP 地址可以为整个私有网络提供服务,如图 11.6所示。
图 11.6:NAT 示例
端口号
端口是附加到 IP 地址上的 16 位数字,在计算机网络中使用。每个服务(或协议)都会指定一个端口号。端口号完成数据流的目的地或源网络地址。有些端口号被保留用于特定服务。低于 1024 的端口号通常称为“知名”端口号。大于 1024 的端口号称为临时端口。传输控制协议(TCP)和用户数据报协议(UDP)使用端口号。
IPv6
IPv6 的创建是为了应对使用 IPv4 时可用 IP 地址不足的问题。当 IPv4 被开发时,设计者无法预见到我们现在所处的互联世界。虽然 IPv4 可以提供超过 40 亿个 IP 地址,但由于网络设备的需求和可用性日益增加,最终这些地址将不够用。IPv6 是一个 128 位的寻址方案,可以为地球上的每个人提供大约 4000 个逻辑地址。IPv6 的设计者预见到了移动设备与物联网(IoT)之间的无线连接世界。IPv6 正在逐渐部署到连接网络的设备上,但在消费者世界中,它仍然不是主要的寻址方案。IPv6 基于十六进制编号系统,包含八组四个十六进制字符;每组之间用冒号分隔。
每组由四个数字组成,每个数字代表四位二进制位。每个段可以有从零到 FFFF 的十六进制值。一个 IPv6 地址的示例如图 11.7所示。
图 11.7:IPv6 地址
IPv6 地址被分为两个 64 位段。第一个段是网络部分,第二个段是节点部分,如图 11.8所示。
图 11.8:分隔的 IPv6 地址
IPv6 地址的网络部分用于数据的路由。节点部分标识主机的网络接口(节点),并来自于连接到网络的网络适配器的物理地址(MAC 地址)。
IPv6 地址的网络部分被分为 48 位的全局单播地址和 16 位的子网 ID,如图 11.9所示。
图 11.9:IPv6
IPv6 地址有三种不同的类别:
-
全局单播地址——该地址可以在互联网上路由(以 2001 开头)
-
唯一本地——用于内部网络,不可在互联网上路由
-
链路本地——既不可在本地路由,也不可在互联网上路由
IPv6 使用以下类型的寻址方案:
-
唯一本地地址——这些地址用于非路由目的。它们几乎是全球唯一的,因此不太可能与其他任何地址重叠。此外,设计唯一本地地址是为了替代站点本地地址;这允许在整个站点内通信,同时可以路由到多个本地网络。链路本地地址和唯一本地地址的区别在于,唯一本地地址可以在你的组织或公司内部进行路由。
-
多播——传递到多播地址的数据包会传递到由该多播地址标识的所有接口。有时人们称其为一对多地址。IPv6 中的多播地址始终以 FF 开头。
-
任播——类似于多播地址,任播地址标识多个接口。任播数据包只会传递到一个地址。
IPv6 地址也可以缩短。在 IPv6 中,一个组可以由全零组成。在这种情况下,地址中不需要写出所有的零,而是可以写一个零,这个零表示该组中的四个零(如图 11.10所示)。
图 11.10:IPv6 简写示例
以下是一些你在调查过程中可能遇到的协议。这些协议按 TCP/IP 协议栈的层次进行排序。
应用层协议
文件传输协议(FTP)(TCP 端口 20 和 21)
该协议允许用户通过基于 IP 的网络发送和接收文件。FTP 也是一个程序。当 FTP 作为协议使用时,应用程序用于启动 FTP 过程;当作为程序使用时,用户启动 FTP 过程。
安全外壳协议(SSH)(TCP 端口 22)
该协议允许在基于 IP 的网络中创建安全的 Telnet 会话。建立 SSH 连接后,用户可以像在远程主机前操作一样执行命令。SSH 通过加密技术在源主机和目标主机之间创建一个安全的隧道。
Telnet(TCP 端口 23)
该协议连接到远程主机,即终端。用户可以像在远程主机前操作一样执行命令。由于 Telnet 连接不安全,容易受到中间人攻击。
简单邮件传输协议(SMTP)(TCP 端口 25)
该协议是用于电子邮件传输的通信协议。邮件服务器使用 SMTP 发送和接收邮件。
域名服务(DNS)(TCP 端口 53,UDP 端口 53)
该协议用于将主机名解析为 IP 地址。例如,用户输入www.packtpub.com
比输入类似104.22.1.175
这样的 IP 地址要容易得多。
动态主机配置协议(DHCP)(UDP 端口 67)
该协议在主机加入网络时自动分配 IP 地址。这允许网络的自动管理,当主机进入和离开网络时,相关信息会自动更新。DHCP 服务器提供的信息包括 IP 地址、子网掩码、默认网关和 DNS 服务器的 IP 地址。
超文本传输协议(HTTP)(TCP 端口 80)
该协议用于浏览器与 Web 服务器之间的通信。
安全超文本传输协议(HTTPS)(TCP 端口 443)
该协议是 HTTP 的安全版本。它在浏览器和服务器之间创建了一个安全的通信通道。
远程桌面协议(RDP)(TCP 端口 3389)
该协议用于与另一个主机建立安全连接。它类似于 Telnet 和 SSH,但用户可以访问图形用户界面,而不是命令行。这是一个专有的微软协议。
传输层协议
传输控制协议(TCP)
一种面向连接的协议,用于可靠的数据传输。
用户数据报协议(UDP)
一种面向无连接的协议,用于快速传输数据;它不要求数据的可靠传输。
互联网层协议
互联网协议(IP)
互联网协议是 TCP/IP 栈中的互联网层,其他互联网层协议对其提供支持。该协议负责数据包的传输。其传输完全基于逻辑地址,也就是 IP 地址。IP 是面向无连接的协议。目前有两个版本,IPv6 和 IPv4。
互联网控制消息协议(ICMP)
ICMP 是 IP 的管理协议和消息服务。ICMP 可以提供有关网络问题的信息,例如:
-
目标不可达——当数据报无法到达最终目的地时,会生成此错误。
-
回显请求/回显应答——这是通过 Ping 命令生成的,用于测试网络连接。
-
超时(TTL)——当数据包未能在指定的跳数内到达目的地时,产生该错误。跳数是指数据包从一台路由器发送到另一台路由器的次数。
-
重定向——如果路由器能够确定更高效的路由,将生成重定向消息并发送给主机,以更新其路由表。
Ping 是一个用于识别网络问题的工具。Ping 会向目标发送一个数据包,然后跟踪目标服务器响应所需的时间。在以下示例中,我使用了ping
命令将数据包发送到 IP 地址104.22.1.175
,你可以看到服务器有响应,响应时间在 9 到 14 毫秒之间。
User@Server ~ % ping packtpub.com
PING packtpub.com (104.22.1.175): 56 data bytes
64 bytes from 104.22.1.175: icmp_seq=0 ttl=60 time=10.270 ms
64 bytes from 104.22.1.175: icmp_seq=1 ttl=60 time=9.949 ms
64 bytes from 104.22.1.175: icmp_seq=2 ttl=60 time=14.081 ms
64 bytes from 104.22.1.175: icmp_seq=3 ttl=60 time=13.323 ms
64 bytes from 104.22.1.175: icmp_seq=4 ttl=60 time=9.048 ms
64 bytes from 104.22.1.175: icmp_seq=5 ttl=60 time=9.077 ms
64 bytes from 104.22.1.175: icmp_seq=6 ttl=60 time=9.254 ms
如果 ping 命令不成功,将会显示“目标主机不可达”或“请求超时没有回复”的信息。这并不意味着存在连接问题;系统管理员可以选择阻止来自本地网络之外的 ICMP 流量,如下面的示例所示。
User@Server ~ % ping 192.168.86.22
PING 192.168.86.22 (192.168.86.22): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
ping: sendto: No route to host
地址解析协议(ARP)
ARP 用于将逻辑地址转换为物理地址。这是通过 ARP 向同一网络段上的主机发送广播消息来实现的。广播消息会询问网络接口设备是否具有特定的 IP 地址。如果网络接口设备分配了该 IP 地址,则它会回复 MAC 地址。ARP 是一种广播协议,所有网络段上的主机都能看到请求和回复。ARP 请求是不可路由的,这意味着 ARP 数据包无法跨越路由器边界。
互联网协议安全(IPSec)
IPSec 是一种安全协议,通过提供端到端加密和数据包认证来增强安全性。虚拟私人网络(VPN)在建立安全通信通道时会利用 IPSec。
概要
本章中,我们讨论了计算机网络的基础知识。首先,你了解了 OSI 模型和 TCP/IP(DoD)模型之间的区别。OSI 模型只是理论性的,没有物理实现。不要在有人提到 TCP/IP 模型时感到困惑,因为那是在谈论 TCP/IP 协议套件。我们还看了在网络环境中可能找到的不同类型的硬件,以了解集线器和路由器之间的区别。路由器是一个更加复杂的设备,负责将数据发送到下一跳。相比之下,集线器仅用于通过为额外的主机提供连接到网络的位置来扩展网络段。集线器不“做”任何事;它仅仅是网络的扩展。
你应该能够解释面向连接协议和无连接协议之间的区别,以及在什么情况下使用每种协议。例如,当数据吞吐量是主要考虑因素时,使用面向连接的协议可能不合适。目前的 IP 地址方案仍在使用中,但变化正在缓慢发生,IPv6 将成为主流协议。
现在,考官应该能够:
-
确定 OSI 模型和 TCP/IP(DoD)模型之间的区别
-
确定网络上正在使用的地址方案
-
理解公有 IP 地址和私有 IP 地址之间的区别
-
理解端口号和 IP 地址之间的区别
-
识别一些常用的协议和端口
在下一章中,我们将讨论报告写作。能够编写报告,使读者在使用非技术性语言的同时理解技术性主题,这一点至关重要。如果你不能书面解释你是如何完成考试文件的,这将影响你成为一名成功调查员的能力。
问题
-
OSI 模型有多少层?
-
5
-
6
-
7
-
8
-
-
DoD 模型中有多少层?
-
4
-
5
-
6
-
7
-
-
OSI 模型的第 1 层是什么?
-
应用程序
-
会话
-
网络
-
物理
-
-
以下哪个是第 3 层设备?
-
集线器
-
路由器
-
交换机
-
打印机
-
-
IPv4 地址有多长(以位为单位)?
-
16
-
32
-
64
-
128
-
-
IPv6 地址有多长(以位为单位)?
-
16
-
32
-
64
-
128
-
-
“2001:db8::8a2e:370:7334”是什么的例子?
-
MAC 地址
-
物理地址
-
IPv6 地址
-
加密密钥
-
-
以下哪项不是成功的 ping 命令的响应?
-
64 字节来自
104.22.1.175
-
ttl=60
-
time=10.270 ms
-
没有路由到主机
-
-
IP 的管理协议和消息服务是什么?
-
ICMP
-
DHCP
-
TYFMS
-
ARP
-
-
哪种协议允许创建一个安全的 telnet 会话?
-
FTP
-
HTTPS
-
SSH
-
IFYKYK
-
进一步阅读
Neil, I. (2018). CompTIA Security+认证指南:掌握 CompTIA Security+ SY0-501 认证的 IT 安全要点和考试主题。Packt 出版公司。
Davies, G. (2019). 网络基础:培养通过微软 Mta 网络基础考试 98-366 所需的网络技能。Packt Publishing Ltd.
加入我们在 Discord 的社区
加入我们社区的 Discord 空间,与作者和其他读者讨论:
第十二章:报告写作
我曾与一些喜欢深入到调查细节的检查员一起工作。没有人比他们更努力地检查数字证据,追踪数字痕迹,直到他们找到了所需的证据。他们聪明且才华横溢,如果我犯了数字犯罪,我是绝对不希望让他们来调查的。这与他们的调查能力无关,而完全与他们的报告写作能力有关。说他们的报告有缺陷,简直是轻描淡写。
报告写作是数字取证调查员可以做的最困难的事情之一。你必须将一个非常技术性的主题以一种非技术性的人能够理解的方式来解释,同时不能对潜在的用户或数字证据做出任何假设。
本章将涵盖以下主题:
-
高效的记笔记
-
撰写有价值的报告
高效的记笔记
你记笔记的能力将直接影响你撰写数字取证调查报告的能力。你的笔记将成为报告的基础。一个在我进行考试时深有感触的简单短语是如果你没有写下来,那就没有发生过。你的某次调查可能会持续数天甚至数月;你根本不可能记得在第 14 天你到底做了什么。
记笔记的基本要素应包括以下内容:
-
你何时做了某件事
-
你做了什么
-
你看到了什么
-
你为什么做了某件事
你的记笔记工作从你收到通知时就开始了,你必须赶到现场。这包括你收到通知的日期/时间,谁通知了你,以及你到达现场的时间。记录你采取的任何行动;如果你收集了易失性数据,系统中的 RAM,你是否改变了数字证据?答案是是的。在这里,为什么是至关重要的。为什么你要改变数字证据?在这里,答案很简单——因为如果不在那个时候收集证据,它将会丢失。
另一个例子是,如果你正在回应一个商业企业,数字证据是否包含在服务器环境中。你不能(在大多数情况下)关闭服务器来创建整个磁盘的取证镜像;你将不得不对相关文件创建一个逻辑取证镜像。同样,为什么的问题可能会被提问,你必须做出解释。
如果你正在调查的事项进入审判程序,对方律师将能够访问相同的数字证据和在调查过程中记录的笔记。他们将使用你的笔记和报告来重现你对数字证据的检查。他们试图查看是否能根据你的行动得到不同的结果或得出不同的结论。
你的笔记应该有多详细?笔记的格式通常是根据每个数字取证调查员的个性化需求而定的。基本的考虑标准应该是,如果几年后此事进入审判,你能记得调查的细节吗?
没有标准的笔记格式,但你应包含以下信息:
-
受调查对象的详细信息。
-
受调查事件中受害的个人或实体的详细信息
-
数字证据在现场的位置。
-
数字证据的具体信息,系统的品牌、型号、序列号、任何识别标志(还要包括损坏情况——曾有人声称系统是在被扣押后损坏的。如果你记录了扣押时系统的状况,这将削弱这些投诉的有效性)。
-
证据袋/封条的状况——如果有损坏或封条破损。
-
使用的取证硬件的详细信息,如固件/序列号。
-
使用的取证软件的详细信息,如版本号。
-
支持或不支持你关于发生了什么的假设的任何发现。
最少情况下,这些是你应该在笔记中包含的信息。你可以加入更多内容吗?绝对可以!
你应该使用什么媒介来做笔记?我更喜欢现场手写笔记,然后将笔记转入数字媒介。我的字迹不是最容易解读的,这也是为什么我采用这种方法。另外,数字照片也是一种做笔记的媒介。当记录系统状态或存储设备时,拍摄一张数字图像然后在完成报告时参考该图像非常直接。
每个组织/检查员会有自己的标准,关于需要记录的信息以及使用什么方法记录信息。无论你使用哪种方法,确保在整个调查过程中保持组织性和一致性至关重要。
如你所见,笔记是撰写报告的基础,这是我们下一个讨论的主题。
撰写报告
你报告的目的是记录你的取证检查结果。你的报告可能用于支持额外的调查工作。报告也可能用于刑事法院诉讼、民事法院诉讼或行政程序中。其他人可以使用你的发现来支持可能的原因听证会、大陪审团程序,或作为企业环境中行政处罚的依据。
你的报告将是提供证词的第一步,关于你正在调查的事项。对方会仔细审查你的报告,如果他们传唤你作证,准备好被问及你所撰写报告的内容。
在准备起草报告时,请确定您的受众是谁。假设您正在为信息主任、IT 安全部门或任何基于技术的团队编写报告。在这种情况下,您的报告应包含比面向律师、法官或陪审团的报告更详细的技术内容。如果您对每一个发现的证据都详细说明,您会失去非技术性的受众。虽然技术受众需要这些具体细节,并且如果您用非技术性的方式解释这些细节可能会让他们感到受辱,但完全有可能起草一份同时兼顾技术和非技术受众的报告。
以下是您可以遵循的通用模板:
-
行政信息
-
执行摘要
-
叙述部分
-
证据/技术细节
-
词汇表
行政部分将包含有关您调查的信息,具体包括以下内容:
-
机构名称、案件编号以及调查中的参与者。这将包括有关调查员、受害者和嫌疑人的信息。如果调查最初由其他机构开始,您还需要包括该组织的行政信息。请简要概述调查历史。
-
调查何时开始,您被分配到调查之前发生了什么事件?这可能包括谁接受了采访或讯问,或任何已准备并执行的搜查令。您需要提供在您参与之前的调查概要。包括您在调查/检查证据时所拥有的搜查权限。包括您正在调查的内容,即搜查的范围,以及是谁授权了搜查。如果数字取证检查是根据搜查令进行的,请将搜查令和用于作为证据/技术细节部分的宣誓书包括在内。
执行摘要是总结报告的一部分。报告的叙述部分将比执行摘要详细得多。读者在阅读完执行摘要后,应能够获得调查发生的总体概述。执行摘要应遵循以下指南:
-
应仅占报告的 10%
-
以简短、清晰、简洁的段落写成
-
应遵循与叙述部分相同的时间线
-
不应包括任何在叙述中未提到的信息
-
应包含您的发现/结论
这使得非技术性用户能够理解您在调查过程中采取了哪些行动,而不必涉及技术细节。例如,如果您在基于 Windows 10 操作系统的用户图片文件夹中发现了非法图像,您可以在执行摘要中这样报告:
您的非技术观众将完全理解您的意图。大多数消费者都熟悉 Windows 操作系统,以及如何访问和使用用户帐户中的Pictures
文件夹。在叙述部分,您可以包括更详细的解释,例如以下内容:
清晰度是您起草叙述时追求的目标之一。您不希望读者有疑问或对您的报告感到不清楚。由于您正在结合调查的技术和非技术方面,这可能很困难。您还不希望通过技术细节和缩写让读者感到不知所措。如果您在刑事司法环境中工作,并且起诉律师将阅读您的报告,您很可能需要向他们讲解技术方面的内容。在详细叙述中定义技术术语和概念。叙述需要多详细?
没有简单的答案。您应该详细描述叙述内容,向读者传达调查信息,这样即使您无法回答问题,法官、陪审团或律师也能理解。基于您叙述中的细节,是否能够重建您的调查?对方律师将有能力审查证据和您的报告。
如果没有足够的细节让他们重新创建您的操作,它会让他们有能力质疑您的结果。请记住,司法程序可能会在几个月或几年后进行。您的报告将成为您所在组织对调查过程中所发生事情的官方记忆。
您还需要确保叙述不带有偏见。您的目标是报告事实,而不是夸大或低估它们的重要性。在调查过程中,最困难的事情之一是识别键盘背后的实际人员。您将根据用户帐户的数字身份进行识别。您正在将用户帐户与操作键盘的物理人员关联起来,并使用其他数字证据源。
叙述应包含各种子部分,我们现在将逐一讨论。
已分析证据
在此部分,您将包括所有已审查的证据,包括制造商/型号、序列号等。如果是台式机/笔记本电脑,您应将硬盘列为一个独立但相关的项目。
以下是可能被审查的证据示例:
图 12.1:证据标签示例
在这个例子中,具体项目已经被识别并分配了组织识别号。我已经为 Compaq 笔记本分配了组织识别号“Tag1”。计算机中找到的任何存储设备也将包含相同的标签号。笔记本内部有一个 Toshiba 硬盘存储设备,因此它的组织识别号是“Tag1 HD001”。HD 是硬盘(hard disk)的缩写。如果笔记本有两个硬盘,第二个硬盘的组织识别号将是“Tag1 HD002”。如果在查封笔记本时,发现 USB 端口中插有一个 U 盘,则该 U 盘的组织识别号将是“Tag1 TD001”。TD 代表 U 盘。你还可以在描述字段中包含该物品的序列号(如果有的话)。
获取细节
本节将描述创建法医图像的获取过程,正如我们在第三章中讨论的,证据获取。首先,识别过程中使用的硬件或软件,并包含其序列号/版本号。你还应该包括硬件/软件验证的日期。你的叙述应包括你(或同事)创建法医图像的逐步分析。描述执行的步骤哪些按预期完成,哪些未按预期功能运行。如果法医图像的哈希值没有经过验证,请在报告中注明这一点,并说明你采取了哪些步骤来排除问题。最后,你必须了解创建法医图像过程中是否存在问题。未能识别这些问题可能会质疑你调查的全面性以及法医图像的分析。
分析细节
这一部分将构成你叙述的主要部分。你的分析不能只是你认为与调查相关的文件页的打印件。你必须分析文物,并向读者解释它为何与调查相关。包括截图以帮助读者参考你的解释。包括截图并不意味着可以省略对截图内容的解释。告诉读者截图的重要性,并解释它与调查的相关性。不要假设读者能够自行判断截图中哪些信息是重要的。你可以采用不同的方式来呈现你的分析,可以按时间顺序、按设备或按嫌疑人来呈现。没有对错之分。我的偏好是按时间顺序和主题来撰写报告。例如,对于作为桌面/笔记本系统盘的存储设备,我会先确立设备的所有权和使用情况。然后,我会继续调查该事件的具体文物。小心不要陷入过于技术化的描述,避免过于细节化。我会在你描述的具体证物中,详细说明技术描述部分。
例如,如果文物的日期/时间戳是相关的,你可以在叙述中提到用户在某年某月某日的某个时间访问了某个应用程序。然后,在下一部分中,你可以进一步详细说明文件记录中 MFT 的日期/时间戳的字节偏移。
在处理绝对性陈述或使用不必要的形容词时要小心。我曾经读过一篇报告,将用户的 Google 搜索描述为“令人不安”。你不应该对在进行数字取证检查时发现的行为/行动进行分类。你的职责是向事实查明者(法官/陪审团)提供事实,并允许他们做出判断。
在叙述的结尾,是呈现结论/发现的时刻。这是你在数字取证调查中提出你对主体责任的看法的地方。保持简洁明了——例如,根据我对以下证据的审查(列出你在数字取证过程中审查的项目),我的观点是……——然后基于你分析的文物陈述事实。你要避免使用任何煽动性/描述性的语言,保持客观和专业。
证物/技术细节
在你编写分析部分时,你将引用特定的证据。你应该将这些证据的截图放在证据/技术细节部分。这也包括你在检查过程中使用的取证工具的输出报告。如果你在叙述中引用了某个证据,你必须将它包括在证据/技术细节部分;同样,如果你在该部分有证据,你必须在叙述中引用它。我发现将证据和技术细节按我在叙述中引用的顺序整理会很有帮助。如果读者在阅读完叙述后查看证据,并且它们的顺序一致,能帮助他们更好地理解报告内容。
在下面的示例中,我已包括操作系统的所有者信息,以及安装日期/时间戳、时区和最后关机日期/时间戳:
图 12.2:证据示例
该信息的适当叙述如下:
该描述简明、真实且公正,这是报告的目标。
本节的最后部分将是一个软件/硬件使用情况的表格。你需要包括软件/固件的版本号,以便其他人可以重复你的检查。你还需要确保你所使用的软件的组织许可证是合法的。这个列表可以很简单,如下所示:
-
FTK Imager 3.0.0.1443
-
X-Ways Forensics 19.7
-
Paladin 7.05
-
Recon 3.14.1.12
曾经有过组织在检查过程中使用未经授权/盗版软件的情况。这种做法不推荐,并且可能会导致对你和你的机构的负面制裁。此外,使用未经授权/盗版软件可能会质疑你调查结果的有效性。
我无法强调,校对报告的重要性。你第一次(或第二次)写报告时不可能完美无缺。报告中会有语法、拼写和内容上的错误。因此,第一稿完成后,你应该请第二个人来校对报告。第二个人能够发现你遗漏的错误,并帮助判断报告各部分的衔接是否顺畅。你心中已经有了要表达的内容;第二位校对者将帮助你判断这些内容是否有效。第二位校对者还会从不同的角度审视报告的呈现方式,确保结论逻辑清晰、没有偏见。每当我校对同事的报告时,我会从对方的立场来看待它。我的目标是找到报告中的不一致或漏洞,以防对方在审判时加以利用。另一种选择是,在报告最终定稿后,你所在的组织可能会进行同行评审。上级或同事会审核你的报告和发现,以确保你遵循了适当的政策和程序,并且结论是基于事实的。
当报告传达给相关方时,应该以什么格式呈现?我个人倾向于将报告以数字签名的 PDF 格式提交。如果报告被修改,数字签名会失效。有些数字取证调查员会创建基于 HTML 的报告并将其刻录到光盘上,而其他人则使用取证工具的报告功能。你可以选择多种方式来呈现报告;你需要确保,如果需要在司法/行政程序中作证时,能够验证其内容。PDF 格式允许你通过数字签名进行验证,同时将报告和相关数据保存到光盘上,这样你就可以生成哈希值来确保没有人篡改内容。
总结
本章讨论了记录笔记及其重要性。你了解到,记录笔记是撰写报告的基础构建块。你明白了数字取证检查报告的构成及其应包含的信息。我们还讨论了技术性和非技术性读者可能会阅读你的报告,因此你需要考虑这一点来起草报告。通过这些,你能够有效地记录笔记并准备一份清晰简洁的报告。
在下一章中,我们将讨论调查的总结和报告写作,作为证人出庭作证。
问题
-
你应该在何时开始记录笔记 __________?
-
当你收到通知时
-
当你到达现场时
-
当你开始检查时
-
当你开始撰写报告时
-
-
你应该在笔记中包含哪些信息?
-
你早餐吃了什么
-
嫌疑人的鞋码
-
现场数字证据的位置
-
天气状况
-
-
有一个国家标准用于记录笔记。
-
正确
-
错误
-
-
在撰写报告时,应该考虑谁?
-
主管
-
警察局局长
-
地区检察官
-
读者
-
-
行政信息部分不包含哪些信息?
-
你的生日
-
机构名称
-
嫌疑人信息
-
证人信息
-
-
执行摘要不应超过报告的 25%。
-
正确
-
错误
-
-
你的报告草稿应该是什么样的?
-
详细
-
简洁
-
清晰
-
高效
-
答案可以在本书的后面找到。
进一步阅读
如需更多信息,请参考数字证据的法医检查,执法人员指南,网址:www.ncjrs.gov/pdffiles1/nij/199408.pdf
。
加入我们的 Discord 社区
加入我们社区的 Discord 空间,与作者和其他读者进行讨论:
第十三章:专家证人伦理
这是数字取证调查中的最后一步:作为调查员,你已收到传票,要求在司法或行政听证会上作证。现在是时候向公正的第三方——陪审团,解释你的行动和发现了。如果你无法有效作证,那么你在数字取证调查中发现的证据再好再强也无济于事。你必须能够作证并证明你的行动中的证据。
我认识一些讨厌作证的数字取证调查员。他们喜欢收集证据;他们喜欢进行检查并找到相关的证据,但是把他们带进司法/行政程序是非常困难的。第一次走进法庭,可能会让人感到害怕。你可能不了解规则或程序,也可能害怕犯错误。为了克服这些问题,你需要做好充分的准备。
本章将涵盖以下主题:
-
理解诉讼类型
-
开始准备阶段
-
理解简历
-
理解证词和证据
-
理解伦理行为的重要性
所以,让我们开始讨论如何准备在司法/行政程序中作证。
理解诉讼类型
有各种诉讼程序,你可能被召唤作证或提供证据。以下是基于美国的诉讼程序,你所在的司法管辖区可能有所不同。我们将讨论一些你可能遇到的更常见程序:
-
大陪审团:大陪审团是一个由公民组成的小组,负责调查潜在的犯罪行为,并决定这些行为是否需要提起刑事指控。大陪审团拥有传唤权,可以强制证词或请求物理证据。
-
提审:这是对刑事诉讼起诉书的正式宣读。被告在场,并被告知指控。在此听证会上,被告将对罪名作出认罪/不认罪的回应。
-
拘留听证会:这是在法官面前举行的听证会,用于决定被告在刑事司法程序进行过程中是否应被拘留/释放。
-
证据听证会:这是在法官面前举行的听证会,用于审查将要提交给陪审团的潜在证据。法官可以排除或限制可能提交的证据。
-
审判:这可能是刑事或民事案件。在此过程中,双方向事实裁定者(法官/陪审团)提交证据,你可能会在案件的主要部分以及判刑阶段作证。
-
宣誓证言:这是在法院之外进行的宣誓证言,通常用于民事诉讼程序中。通常不会有法官在场,只有律师和证人。宣誓证言的记录可能会在稍后的时间提交给事实裁定者。
如你所见,你可能会在多个场合被要求作证或参与其中。请将每个环节视为参与陪审团审判的过程。最终,无论你在系统的哪个方面作证,都不应有太大区别。你仍然需要以相同的方式做好准备。
法庭内有许多环节。让我们讨论一下你作为数字取证调查员可能会遇到的一些参与者:
-
法官:负责监督整个案件的最高权威。法官将在审判过程中裁定所有动议。
-
法庭记录员:负责制作案件正式记录的法院官员。
-
法庭书记员:负责法庭内行政事务的法院官员。
-
法警:负责维护法庭秩序和尊严的法院官员。
-
检察官:代表政府,提出控诉并展示政府案件的律师。
-
辩护律师:代表被告在法庭上进行辩护。
-
原告:在民事诉讼中,指控被告的行为对其造成伤害的一方。
-
被告:刑事或民事案件中的受审者。
-
陪审团:由市民组成的小组,负责判定被告的罪行或无罪。
-
证人:了解相关事件并能提供证据的个人。
作为数字取证调查员,你的角色可能是专家证人。被召唤作证可能会让人感到压力重重;请记住,你减轻这种压力的能力在于你的充分准备。准备的一部分将是熟悉整个过程及其参与者。你对本辖区刑事和民事程序的了解越多,处理这些过程时就会越自如。
该过程始于被告被逮捕或在刑事案件中签发逮捕令。被告在被逮捕后会被带到法官面前进行提审。随后举行初步听证,法官将决定是否存在合理的证据支持继续审判。或者,案件也可以提交大陪审团,由他们决定是否需要起诉。
在案件呈交审判前会有若干次听证会。一旦案件进入审判阶段,代表主权的检方将通过证据和证人的陈述来展示案件。辩方将在检方完成直接审问后,立即对每位证人进行交叉询问。
一旦政府提交完案件,辩方可以提出自己的案件,或者如果他们认为政府没有提供足够的证据来排除合理怀疑,也可以结束陈述。
一旦双方都结束陈述,法官将向陪审团提供如何进行审议的指示。
在你参与可能作证的程序之前,你必须做好准备。这不是你可以随便进入的,必须事先准备好。
开始准备阶段
作为一名数字取证调查员,你在司法/行政程序中的角色可以用两种方式来定义:
-
证人(也称为普通证人或事实证人):你将作证的是你所观察到的事件。你只是陈述你个人了解的事实,例如证据在哪里被发现。
-
专家证人:你可以作证陈述普通证人所能作证的一切,但现在你可以提供你的意见。你基于作为数字取证调查员的训练和经验形成你的观点。正是你提供意见的能力,使你成为一名专家证人。
你的准备工作从参与调查开始。你应该把每一个调查都当作最终会进入审判并且你需要作证的案件来看待。无论你在司法/行政程序中站在哪一方,从一开始就要与律师沟通。讨论他们为成功的结果所需要的内容。你需要了解程序中的所有参与者、嫌疑人、受害者和律师。让自己熟悉程序中的争议点。
举个例子,假设争议点是故意且明知地持有非法图像。哪些证据表明或不表明当事人自愿且明知地持有这些非法图像?在你努力回答这个问题时,一旦你发现能证明或反驳争议点的信息,你必须通知律师。
我几乎可以保证对方团队会有一位专家证人。你需要了解他们。你会想要审阅他们的简历,了解他们的经验、教育背景和认证。如果可能的话,回顾他们之前的证词。
我记得有一次,律师叫我作为专家证人在动议听证会上作证。在听证过程中,我在证人席上坐了超过 4 个小时,接受了控方、辩方和法官的提问。一旦我完成了证词,反方的专家证人被叫上了证人席。法官问的第一个问题是,“您听过奥廷格先生的证词了吗?对于他在证据状态上的意见,您有任何不同的看法吗?” 反方专家证人想了片刻,回答说,“没有。” 我要说,这对我来说是一个非常有力的时刻。看到我领域中的另一位专业人士在有争议的审判中验证我的发现和意见,是我一直追求的目标。
当你准备作证时,你需要回答以下问题:
-
案件的理论是什么?
-
我的理论是否符合案件的事实?
-
我的证词中,哪些事实是核心?
-
我可以确认或不能确认哪些事实?
我必须再次强调:在你上庭作证之前,请先审查你的报告和笔记。练习回答问题。准备阶段的关键是与律师合作,清楚了解证据的状态及你对证据的解读。在你被任命为案件中的专家证人之前,你需要获得法官的批准。
要开始审查过程,你需要提交一份简历,这是下一个主题。
理解简历
简历(也叫CV)是你编写的一份文件,概述了你的教育背景和工作经验、认证及会员资格以及专业组织。法院和律师在确定你是否符合专家证人的资格时,会使用你的简历来做出判断。简历的内容将包含一个关于你是如何成为专家的简介,它将突出你在该领域成为专家的所有经历。
在制作简历时没有特定的格式要求,但所有简历都会包含相同的内容,因为它记录了你职业生涯的历史。
简历的顶部将包含你的姓名和联系方式。这确保了你的姓名在整个过程中都能正确拼写,并在加入证人名单时使用。你还需要明确自己擅长的领域。如果律师、法官或法院书记员正在处理多个专家证人的案件,这有助于明确你可能需要提供的证言领域。你还需要包括联系电话、电子邮件地址和通讯地址。这样所有相关方都可以与你联系。此外,其他人可能会将你的简历分享给不同案件中的其他律师,他们会利用这些信息为你提供更多的机会。
注意
关于简历中使用的地址:你不应该包括家庭住址。你可能会在处理涉及暴力或可能面临监禁的案件中作证。无论你站在哪一方,可能都会有人对结果不满意。如果你为某个组织工作,使用该组织的地址。我建议,如果你是自由职业者,可以使用邮政信箱或私人邮箱。
接下来你需要编写一个个人简介的总结,概述你的职业生涯、教育背景和经验。
接下来是简历的主体部分,你将在此列出你的正式教育背景和工作经历。同样,你可以使用以下类别来组织呈现的信息:
-
正式教育:获得的学位和证书。
-
工作经历:与该领域相关的经历。
-
教学经验:这将与工作经历有所重叠。保持与案件相关的领域。
-
执照/专业会员资格:列出你所属的相关专业组织。如果政府要求持有执照,也请务必包括。
-
出版物:如果你曾撰写过书籍、白皮书、文章或博客,请标明出版社名称和地址,以及该项内容的出版日期。
-
奖励:如果你因在该领域的工作获得了奖项,请列出相关信息。
-
先前证词:你应该列出之前被任命为专家的案件。这不需要包含案件摘要;简洁地写出如US v Smith (2015)即可。
不要在简历中过度纠结于包括一切信息。你要确保内容与特定事项相关,并且与你作证时涉及的主题有关。你需要专注于与你领域相关的事项;无论你是否高中毕业,或在大学期间是否曾在快餐店工作,这些都不重要。你只需要提供法官和律师们判断你是否有资格作为专家证人的必要信息。
在撰写你的简历时,我不能强调得足够清楚,你必须避免添加不真实或不准确的信息。我理解你可能想要填充文档,让它看起来你是最佳人选。然而,如果你在简历上撒谎,并且在被任命为专家并作证后继续撒谎,当谎言被揭穿时,你可能会面临严重的后果。
注意
2016 年,政府逮捕了切斯特·奎托夫斯基(Chester Kwitowski),原因是他提供了关于教育背景、经验和证书的虚假信息。在他被逮捕时,辩护团队已聘请他为五个待决案件提供专家证言。他还在州法院和联邦法院提供了超过 50 次的专家证词。检察官确认奎托夫斯基声称获得的学位并不存在,也没有记录显示他完成了所宣称的专业认证。奎托夫斯基声称曾在 NASA 工作,但该组织否认与奎托夫斯基有任何合作或工作历史。奎托夫斯基还拥有将近 20 年的犯罪记录,包括殴打、家庭暴力以及持致命武器加重殴打。
在你被要求成为该领域的专家,并且你已经提交了简历后,可能会进行一次听证会来确定你是否符合专家资格。法警会让你宣誓,然后你将就座在证人席上。接下来,每位律师会提问,以评估你是否有资格成为此案的专家。在某些司法管辖区,法官也可能会提问。最后,法官会做出裁定,批准或不批准你作为专家出庭作证。
如果法官批准你,你将与请求你的律师紧密合作,帮助他们分析该案件的利弊。在审判当天,律师可能会召唤你作为证人作证,你将需要出庭作证。我们将在下一部分详细讨论这一点。
理解证词和证据
你正处于审判的阶段,被要求宣誓并承诺说出真相。然后你坐下,所有人的注意力集中在你身上。你可能会看到法官坐在你旁边,位置较高。对面可能有两张桌子。一张桌子上是起诉方,可能有一位或多位律师。另一张桌子上是辩护方,可能有一位或多位律师以及案件的被告。
可能还会有一个陪审团席位,里面坐着 12 位或更多的公民,他们的任务是确定被告是否有罪。现在,他们每一个人都在注视着你。这可能会带来一些压力。深呼吸一下,集中精力回答他们提出的问题。
你的证词将包括技术细节和你的专家意见。技术信息将包括你将复杂的技术问题用简单的术语解释清楚。这使得非技术性观众,包括法官和陪审团,能够理解发生了什么以及如何被描述。
你需要以缓慢、慎重的方式讲话。这样可以确保你的观众,包括陪审团和法庭记录员,能够理解你传达的概念。你还可以使用类比来帮助解释复杂的技术问题。
我记得几年前我参与过的一场审判。我是辩方在一起涉及数字证据和非法图像持有案件中的专家。在审查报告时,发现数字证据扣押方法存在问题。根据报告中的信息,计算机系统并未按照符合最佳实践的方式进行扣押。我在首席律师准备交叉询问负责扣押的主要代理人时,向他通报了这些问题。由于这位代理人在作证方面经验不足,因此在交叉询问时,代理人的作证效果并不理想。当律师开始讨论数字证据的扣押问题时,代理人承认自己违反了“首要指令”。
我问自己你心中正想的问题:什么是首要指令? 我对首要指令的唯一参考就是看《星际迷航》电视节目中的一些剧集。发生的事情是,律师将最佳实践与首要指令混淆,而代理人承认他违反了这一指令。
一旦审判结束,我和代理人一起喝咖啡,我问他为什么回答说他违反了首要指令。他说他只是被辩护律师的问题弄得心力交瘁,不想在陪审团或同行面前显得愚蠢。我能理解这一点。现在我们来讨论如何避免这种情况。
如果律师问你一个你不理解的问题,完全可以回答,“我不确定你在问什么。能否换个说法?” 或者 “我不知道。” 这些都是非常有效的回答。你也可能被问到一个超出你专业领域的问题。可以回答 “这个问题超出了我的专业范围” 或者 “这不是调查的一部分。”
律师喜欢问一些极其复杂的问题;你有权利——甚至有责任——对任何你不理解的问题要求澄清。有时,律师会问你一个需要叙述性回答的问题,但他们想要的是简洁的 “是” 或 “不是” 的回答。你的回答应该是,“这个问题不是‘是’ 或 ‘不是’ 的问题,而是一个需要更详细回答的问题。”
你的言辞并不是听众评判你可信度的唯一标准。你的外貌、语气和姿态都会向听众传达你的态度。例如,如果你穿着一套皱巴巴的西装,领带松垮,衬衫下摆不整,你的效果就不如穿着整齐的西装、系好领带、看起来专业并回答问题时表现得像个专业人士。
以下是你在作证时需要考虑的一些指导原则:
-
不要与律师争辩:你是一个公正的专业人士。你需要尽力回答问题。如果你和律师发生争论,这对听众理解证据没有帮助。实际上,他们可能会因为你看起来有偏见而轻视你的证词。
-
清晰而缓慢地说话:如果你的听众无法理解你说的内容,你作为证人的效果就大打折扣。
-
避免俚语和缩略语:记住,你正在将一个技术性话题翻译给非技术性观众。
-
不要做喜剧演员:不要开玩笑;这是一个严肃的场合。某人的自由可能会受到威胁,这不是开玩笑的地方。
-
听清楚整个问题:不要打断律师,也不要试图回答你认为他问的内容。只回答他实际问的问题。
记住,你是一个公正的倡导者。你的职责是根据证据帮助事实裁定者确定发生了什么。
数字证据在最初被用于司法程序时曾引发了一些证据规则方面的问题。因此,你需要遵循所有最佳实践来收集数字证据,以确保其完整性。通过展示你为确保数字证据完整性所做的努力,你可以减少法官排除数字证据的可能性。
所有的证据必须经过验证。这意味着必须有证人作证,证明他们了解正在呈现的证据。例如,如果一张照片作为证据被呈现,摄影师必须作证证明他们拍摄了这张照片。
对于数字证据,数字取证调查员必须作证呈现的证据是基于原始的精确和真实的副本。请记住,我们不希望在原始证据上进行数字取证检查。数字证据是脆弱的,因此我们需要创建一个可以使用哈希验证的精确和真实的副本。
为了证据能在法庭上被接受,必须是可靠且可信的,与案件事实相关,并且对所质疑的问题具有重要性。如果您以法庭认定为非法的方式收集证据,则该证据可能会被认为是有污点的,并且可以被排除在外。
当您(或您组织中的某人)收集数字证据时,您需要确保以您发现的状态保存原始证据。如果您收集了易失数据,请向法院解释您这样做的理由。收集易失数据将导致系统发生变化,并改变证据的原始状态。
如您所见,这个过程可能会让人感到不知所措。在进行数字取证调查时,您可能会遇到让您怀疑何为正确之事的情况。这是一个伦理困境,这也引出了我们下一个主题。
理解道德行为的重要性
您有责任进行尽职调查,诚实和客观地进行数字取证调查。您的个人和职业道德确定了您行为的基准。在进行数字取证调查时未能表现出道德行为可能导致证据被排除和/或导致您面临职业后果。
作为数字取证调查员,您拥有专业知识,但这种知识也可能被滥用。在进行数字取证检查期间,如果您发现潜在线索而未跟进,这是一种道德失范,可能会对您、第三方或您的组织产生影响。
伦理的定义是什么?它是指引导个人行为或活动的道德原则。它不是一个确定的标准;它将依赖于您的文化来确定什么是可以接受的,什么是不可以接受的。一个组织可以在专业环境中宣布一套专业的道德准则。
国际计算机调查专家协会(IACIS)是我所属的一个组织,因为我是其会员,我同意遵守他们的道德准则。
以下的道德准则来自于:
www.iacis.com/wp-content/uploads/2019/11/IACIS-Code-of-Ethics-and-Professional-Conduct-Ver-1.4.pdf
-
IACIS 人员将在其法律权限范围内向其他 IACIS 人员提供建议和帮助。
-
IACIS 人员在相互之间应保持诚实和道德。
-
IACIS 人员必须尊重董事会成员、同事以及因其 IACIS 会员身份或与 IACIS 主办或认可的活动相关而遇到的个人的权利和权威。
-
IACIS 人员在代表或代表 IACIS 行事时,其行为必须无歧视、诽谤、中伤或骚扰。每个人必须享有平等机会,无论年龄、种族、性别、性取向、肤色、信仰、宗教、国籍、婚姻状况、退伍军人身份、残疾或其他。
-
IACIS 人员不得歪曲自己的资质、雇佣、教育、培训和经验,或会员身份;也不得歪曲任何其他 IACIS 成员的资质、雇佣、教育、培训和经验,或会员身份。
-
IACIS 人员不得在没有董事会特定书面授权的情况下发布看似代表 IACIS 立场的公开声明。IACIS 人员不得实施任何职业不诚实行为。
-
IACIS 人员不得故意提交、协助或教唆提交剽窃或任何非原创作品,无论是在 IACIS 认证过程还是考试的任何阶段。这样做将被视为不诚实行为。
-
IACIS 人员有义务报告 IACIS 人员实施或涉嫌实施的不诚实行为。未能报告不诚实行为或涉嫌不诚实行为将被视为不诚实行为。
-
IACIS 人员的刑事定罪是对 IACIS 理想的严重冒犯,因此是不可容忍的。
-
IACIS 人员有义务与 IACIS 伦理委员会或 IACIS 调查团队成员指示下进行的任何调查或询问全面且诚实地合作。
这个伦理守则适用于所有数字取证调查员吗?不适用。一个组织的伦理守则只适用于该组织。你可以将这个框架应用到你的职业和个人环境中。你会注意到,唯一涉及数字取证调查的部分是规定 IACIS 人员不得实施任何职业不诚实行为。
这是一个广泛的声明,并没有明确界定什么是允许的或不允许的。在执行数字取证调查员职责时,自己判断什么是道德的。
国际数字取证检查员协会(ISFCE)在数字取证调查中的职业行为方面有一套更加具体的伦理守则。
以下伦理守则摘自www.isfce.com/ethics2.htm
,供您参考:
-
在履行指定职责时展现出承诺和勤奋。
-
在完成职业任务时展现出诚信。
-
在所有法医检查中保持最严格的客观性,并准确呈现结果。
-
根据已建立且经过验证的程序进行检查。
-
遵守最高的道德和伦理标准,并遵守 ISFCE 的行为规范。
-
在任何委员会、法院或程序前诚实作证。
-
避免任何可能明知存在利益冲突的行为。
-
遵守法院的所有法律命令。
-
彻底检查所有在委托范围内的证据。
这份道德规范包含了明确的语言,说明了被认证为认证计算机检查员(CCE)的成员在组织内允许或不允许做的事情。无论是成员还是非成员,在进行数字取证检查时都应遵循此行为规范。
在职业生涯中保持道德规范能够帮助你在调查过程中保持客观性。如果你无法保持公正,就不应参与调查。我最近参加了一个动议听证会,目的是决定是否任命我为专家。在他们询问我的资格、教育背景和经验后,接着问我对我所审查证据的状态的看法。在交叉审问中,控方告诉我:“作为专家,你的职责是发现证据中的错误。”我的回答是,作为专家,我的工作是查看是否能够重现检查过程并得出相同的结果和结论。如果我发现的信息对辩方或控方支持的理论不利,我会披露它,无论我被任命代表哪一方。对于数字取证,数据就是数据;对于数据意味着什么,不需要做过多解释。
随着培训和经验的积累,我建议你获得行业特定的认证。拥有认证并不意味着你就是一名出色的数字取证调查员。
认证表明你已经达到了该组织的最低标准。这并不意味着你不会犯错或得出错误的结论。它还确保你在跟进行业内的变化。五年前可以接受的标准,可能因为技术或法律的变化,现在已经不可接受了。在这个领域发展职业生涯时,你的培训永远不会停止。
伦理是指在无人监督时仍能做出正确的选择。如果你妥协了自己的伦理,可能会对你的职业生涯和调查产生负面影响。记住,你的目标是保持公正,向事实发现者呈现事实。你不是任何一方的拥护者,而你现在具备了实现这一目标的知识。
总结
在这一章中,你学习了如何为行政或司法程序提供证词。现在你可以识别不同的程序和参与者。你还可以创建简历,并区分简历与履历的不同。你还具备确保在进行数字取证调查和审查时,能够通过遵守道德规范来保持客观性和公正性的技能。
感谢你的努力,并感谢你通读我的书!我相信你能够将所学的技能应用到实际工作中。
问题
-
专家证人可以提供 _______________。
-
证词
-
事实
-
意见
-
传闻证据
-
-
准备工作从 ________________ 开始。
-
当你收到传票时
-
当你的上级告诉你开始时
-
当法官召唤你时
-
当你开始调查时
-
-
哪个法院职员代表主权?
-
法官
-
检察官
-
法庭记录员
-
法警
-
-
在审判中,谁是事实裁定者?
-
陪审团
-
大陪审团
-
法官
-
律师
-
-
以下哪项不应包含在简历中?
-
正规教育
-
教学经验
-
专业会员资格
-
薪水
-
-
以下哪项是你不理解的问题的合适回答?
-
我不知道。
-
你应该尝试猜测。
-
请求重复问题。
-
向法官寻求帮助。
-
-
为什么你应该遵守道德规范?
-
为了保持你的公正性
-
确保正确的一方获胜
-
确保被告被判有罪
-
保持认证
-
答案可以在本书的后面找到。
进一步阅读
参考以下资料以获取更多信息:
-
Smith, F. C., 和 Bace, R. G. (2003). 法医证词指南:作为专家技术证人的证词呈现艺术与实践。波士顿,马萨诸塞州:Addison-Wesley(可在
www.amazon.com/Guide-Forensic-Testimony-Presenting-Technical/dp/0201752794
获取) -
Poynter, D. (2012). 专家证人手册:诉讼顾问的技巧和技术。圣巴巴拉,加利福尼亚:Para Pub(可在
www.amazon.com/Expert-Witness-Handbook-Techniques-Litigations/dp/1568601522
获取)
加入我们在 Discord 的社区
加入我们社区的 Discord 空间,与作者和其他读者进行讨论:
第十四章:评估
第一章
-
错误
-
D
-
正确
-
D
-
B
-
B
-
A
第二章
-
D
-
错误
-
D
-
A
-
A
-
D
-
C
第三章
-
A
-
C
-
正确
-
C
-
正确
-
B
-
B
第四章
-
B
-
C
-
错误
-
错误
-
C
-
错误
-
B
第五章
-
正确
-
C
-
C
-
B
-
A
-
A
-
正确
第六章
-
A
-
C
-
B
-
A
-
A
-
C
-
C
第七章
-
A 和 B
-
C
-
C
-
C
-
B
-
B
-
B
第八章
-
A
-
D
-
B
-
C
-
D
-
C
-
B
第九章
-
A
-
C
-
D
-
C
-
B
-
B
-
C
第十章
-
B
-
B
-
B
-
C
-
A
-
D
-
A
-
A
-
A
-
B
第十一章
-
C
-
A
-
D
-
B
-
B
-
D
-
C
-
D
-
A
-
C
第十二章
-
A
-
C
-
B
-
D
-
A
-
B
-
C
第十三章
-
C
-
D
-
B
-
A
-
D
-
A, C
-
A
加入我们的 Discord 社区
加入我们的 Discord 空间,与作者及其他读者进行讨论: