数字取证与恶意软件分析全解析
在数字时代,数字取证和恶意软件分析变得至关重要。下面将详细介绍相关的概念、方法和实际操作。
数字取证相关概念
-
取证专家的职责
:
- 参与几乎各类案件,从盗窃、欺诈到谋杀等调查中,常需处理数字证据。
- 主要职责是检查数字证据,还可能协助房屋搜查、提供技术咨询、作为证人出庭以及协助审讯。
- 数字证据的范围 :所有能承载数字信息的设备都可能包含数字证据。
- 涉及的相关方 :包括下令检查的人、设备的所有者或使用者以及司法系统。
存储设备与文件相关知识
- 二级存储设备 :用于长期保存数字信息的设备,如硬盘、USB 闪存盘、闪存卡、CD、DVD 和磁带等,但不包括 RAM 和缓存内存。
- 文件删除与恢复 :文件从主文件表(MFT)中移除后,磁盘空间可重新分配,但在被覆盖前,可通过搜索文件签名轻松恢复。
- 驻留文件与非驻留文件 :驻留文件完全位于 MFT 中,而非驻留文件则不是。
- 数据存储差异 :不同应用程序存储数据的方式不同。
- 时区设置 :可使用注册表编辑器(regedit)查看计算机的时区设置。
- 哈希算法 :一种单向函数,输入数据后生成唯一的摘要。安全的哈希算法需具备抗碰撞性且不可逆。
文件元数据与日志文件分析
- 文件元数据 :由文件系统维护,提供文件的相关信息,如 NTFS 文件系统中会记录文件所有者、创建日期、修改日期、访问日期等。EXIF 信息是图片的额外元数据,通常包含相机品牌和型号、时间戳、设备序列号和拍摄地点的 GPS 坐标等。
- 元数据的作用 :有助于确定文件的来源、程序的使用频率等,还能显示计算机是否访问过远程存储或 USB 设备上的文件,为进一步检查提供线索。
- 缩略图缓存数据库 :当以缩略图模式显示包含图片的文件夹时,会为该文件夹创建缩略图缓存数据库,即使图片已删除,该数据库中仍可能保留其缩略图。
- 日志文件分析 :检查日志文件可了解计算机或特定程序的使用情况,许多重要事件会在操作系统或程序中留下日志记录,分析日志文件能提供程序或系统使用情况的信息,如判断计算机时钟是否正确以及时间设置是否更改。
- 分析时机 :当案件需要时进行分析,例如在涉及非法图像的犯罪调查中,虽计算机上未发现相关材料,但 USB 设备中存在,通过分析计算机可确定 USB 设备是否曾连接并用于查看图像。
加密攻击方法
- 解密攻击 :攻击加密算法或其实现,找到弱点以在不猜出正确密码的情况下解密数据。
- 暴力破解攻击 :尝试所有可能的密码,最终能找到正确密码,但速度极慢,对于长密码几乎不可行。
- 字典攻击 :使用预定义的潜在密码列表依次测试,速度较快,但仅当密码在字典中时有效。
-
创建字典的信息来源
:
- 特定语言的字典
- 泄露的数据库
- 个人传记信息汇编
- 文本索引
内存相关知识与操作
- 内存的重要性 :内存保存着计算机自上次重启以来的操作信息,还可能包含密码和已解密数据的加密版本等有价值的数据。
- 磁盘镜像 :对存储设备进行逐位复制,在法医检查中,建议创建磁盘镜像并分析镜像而非实际存储设备,以确保设备不被损坏。
- 易失性数据 :短期存储的数据,如 RAM 中的内容。
-
现场检查准备
:
- 准备一套预包装的工具。
- 了解目标嫌疑人的情况,以便预估现场情况。
- 与参与房屋搜查的警察等人员同步信息。
- 安全检查的意义 :确保被检查的计算机不受损害,通常能提高性能,且常受法律法规的强制要求。
法医检查的原则与流程
- 检查原则 :结果应客观呈现(无偏性),且实现结果的方式应清晰可重复,以确保犯罪调查和审判的公平性。在法医报告中,专家的结论应与客观发现明确区分。
-
检查流程
:
- 了解案件:研读案件相关信息。
- 分析问题/目的:明确调查人员对法医检查的期望。
- 获取基本信息:从被检查设备中获取用户和注册所有者等基本信息。
- 查找与目标相关的信息:根据步骤 2 确定的目标查找数据。
- 分析找到的信息:对发现的信息进行分析并得出结论。
- 报告结果:向调查人员呈现调查结果。
- 报告清晰性的重要性 :便于读者理解和解释检查过程中得出的结论。
- 云存储数据检查 :在大多数立法中,分析云存储(如 Dropbox)中的数据通常需要额外的授权。搜索令通常仅涵盖计算机或特定位置实际存储的数据,云存储中的数据不在其范围内。
图像与搜索相关操作
- 图像差异 :由于压缩方式不同,图像大小可能会有所差异。
- 图像工具 :可使用 FTK 成像器,该工具可从 AccessData 网站免费获取。
- 操作步骤选择 :操作步骤和顺序取决于具体案件。在某些情况下,可能先进行成像操作;在一些司法管辖区,法律可能预先规定只能收集二级存储设备的数据;常见情况是认为二级存储中的数据最重要,且计算机无法长时间用于其他任务时,优先进行成像操作。此外,如果认为重要证据可能位于页面文件中,应避免运行不必要的进程,以免因分页操作修改页面文件。
正则表达式与搜索差异
-
正则表达式含义
:
- 匹配任意长度的数字字符串。
- 匹配字符串 “.docx” 的任何出现。
- 匹配字母数字字符串后跟空格再跟另一个字母数字字符串,可能用于匹配名称,但会产生大量误报。
- 匹配字符串 “.exe” 或 “.bin”。
- 搜索差异原因 :索引搜索受噪声词、分隔符和索引包含字符的设置限制,而实时搜索会直接搜索案件中的所有数据。
密码攻击与破解方法
- 密码掩码 :用于表达密码模式,可用于构建暴力破解攻击或与字典攻击结合使用,例如在字典攻击中添加掩码,让 Hashcat 尝试字典中的每个单词后跟年份或数字。
- 解密攻击 :利用加密算法或其实现中的弱点,无需猜测密码即可破解加密内容。
- Hashcat 使用 :Hashcat 仅接受哈希值作为输入,因此需要先提取密码哈希值再传递给它。
- Inception 使用及问题 :通过 Firewire 将安装了 Inception 的计算机连接到目标计算机。若无法破解登录屏幕,可能是计算机在注销时禁用了 Firewire,或者 Inception 只能访问 4GB 的 RAM,若登录进程不在该范围内,攻击将失败。
- RAR 文件破解 :可搜索免费的 RAR 破解工具,使用包含密码的字典通常可以解决问题。由于 RAR 文件使用慢速加密算法,暴力破解耗时较长。使用 PRTK 时,可直接将文件添加到工具中并按说明操作;使用 Hashcat 时,需提取文件的密码哈希值并传递给它。
系统注册表与文件分析
- 注册表信息 :许多系统信息可在 Windows 注册表中找到。
- MBR 检查 :可通过 FTK 成像器检查主引导记录(MBR)获取相关数据。
- 文件删除原理 :文件本身通常未被删除,只是 MFT 中的条目被删除。
- ZIP 存档分析 :ZIP 存档是复合文件,需先展开才能进行全面分析。
- EXIF 数据 :图片中的元数据,包含如 GPS 坐标、拍摄设备型号等信息,对法医检查人员很有价值。
- 分区分析 :分析 MBR 以查看列出的分区之间是否存在间隙,若有间隙,需进一步检查其中的数据以查找分区签名。
远程控制与分析方法
- 远程控制分析的难度 :由于数据随时可能更改,法医检查只能描述检查时的准确情况,难以确定某些事件从未发生。要确定计算机未被远程控制,几乎需要分析所有可能的远程控制方式,这需要大量时间且难以期望法医专家了解所有方法。
- 时间线分析 :指出要关联到某个人的活动以及能识别该人的活动。若在某个有趣的操作执行时,能明显确定某人正在使用计算机,则很可能是该人执行了该操作。由于数据的匿名性,难以确定计算机始终由某人使用,但时间线分析可将某些事件与特定人员关联起来。
- 场景测试 :分析计算机以验证某个场景是否成立。例如,在远程控制的情况下,可分析计算机是否通过 TeamViewer 被远程控制,这种方法可缩小分析范围。使用嫌疑人的陈述作为场景进行测试,可证明或反驳其说法,作为定罪或无罪的证据。
内存分页与数据结构
- 分页的作用 :将内存中暂时不用的数据临时存储到二级存储设备上,当数据再次需要时,可重新调回内存。
- 内存分页分配 :内存被划分为页面,页面分配给各个进程。
- 虚拟内存 :由于物理内存中分配给进程的页面通常是碎片化的,为使进程将其内存视为连续块,每个进程都有自己的虚拟内存,虚拟内存可看作是进程私有的沙箱,它映射到分配给该进程的物理页面。
-
数据结构类型
:
- 链表:元素列表,每个元素的末尾是指向下一个元素的指针。
- 双向链表:与链表类似,但每个元素的开头也有一个指向前一个元素的指针。
- 循环链表:与链表类似,但最后一个元素包含一个指向第一个元素的反向链接。
恶意软件分析
- malfind 工具 :malfind 会查看反汇编代码,查找可疑的实际指令。但该工具常产生大量误报,因为并非所有可执行文件都是恶意的,可疑指令也不一定就是恶意的。因此,malfind 的输出需要进一步检查,可通过杀毒软件对其输出进行扫描。
- 分析示例 :在分析过程中,“cleansweep.exe” 进程从进程列表中就显得可疑,通过谷歌搜索可发现它可能是感染源。此外,恶意软件通常会感染合法进程,使恶意指令看起来合法并获取所需权限。因此,不仅要关注可疑进程本身,还要关注与其相关的进程。
实践任务
-
数据下载与分析
:从 “www.memoryanalysis.net/amf” 下载名为 “Sample009.bin” 的内存转储文件,使用 Volatility 回答以下问题:
- 运行 “pslist” 和 “psscan” 命令,检查 “psscan” 中是否有 “pslist” 未列出的进程,若有,指出该进程名称。答案是存在 “bash.exe” 进程,其 PID 为 1604。
- 解释 “pslist” 和 “psscan” 输出不同的原因。在内存中,进程以链表形式排列,“pslist” 依赖该链表识别进程,而 “psscan” 会扫描进程数据结构,因此能检测到试图隐藏或已终止的进程。
- 使用 “connscan” 命令确定是否存在可疑的网络连接。输出结果如下:
Volatility Foundation Volatility Framework 2.6
Offset P
ð Þ
Local Address
Remote Address
Pid
0x01e72590
192:168:128:128 : 1126
66:235:138:2 : 80
292
0x020ba510
192:168:128:128 : 1251
141:209:168:57 : 80
388
0x023c9448
192:168:128:128 : 1135
199:93:33:124 : 80
292
0x023f8008
192:168:128:128 : 1134
12:130:60:3 : 80
292
0x044c671a
115:37:0:0 : 28526
78:101:120:116 : 67
1952671086
0x0c36491e
116:101:73:112 : 25714
82:101:109:111 : 16740
1953723237
0x1b0fef80
9:0:0:0 : 25441
80:105:100:116 : 19567
1919897708
底部的三个连接看起来非常可疑。首先,本地 IP 地址异常且不同;PID 极高且不在进程列表中;远程地址使用的端口号也令人担忧,底部两个端口未注册,顶部连接注册为 BOOTP 和 DHCP,计算机与 DHCP 服务器建立开放连接不合理。
4. 对自己的计算机进行内存转储,并尝试确定是否感染了恶意代码,可与同行或老师讨论结果。
通过以上内容,我们全面了解了数字取证和恶意软件分析的相关知识和操作方法,这些方法在实际的数字安全和犯罪调查中具有重要的应用价值。
数字取证与恶意软件分析全解析
总结与操作流程梳理
为了更清晰地呈现上述内容,下面将关键操作和概念以表格和流程图的形式进行总结。
| 类别 | 详细内容 |
|---|---|
| 数字取证相关 | 取证专家职责、数字证据范围、涉及相关方 |
| 存储设备与文件 | 二级存储设备、文件删除与恢复、驻留与非驻留文件、数据存储差异、时区设置、哈希算法 |
| 文件元数据与日志 | 文件元数据、元数据作用、缩略图缓存数据库、日志文件分析、分析时机 |
| 加密攻击方法 | 解密攻击、暴力破解攻击、字典攻击、创建字典信息来源 |
| 内存相关 | 内存重要性、磁盘镜像、易失性数据、现场检查准备、安全检查意义 |
| 法医检查 | 检查原则、检查流程、报告清晰性、云存储数据检查 |
| 图像与搜索 | 图像差异、图像工具、操作步骤选择 |
| 正则表达式与搜索 | 正则表达式含义、搜索差异原因 |
| 密码攻击与破解 | 密码掩码、解密攻击、Hashcat 使用、Inception 使用及问题、RAR 文件破解 |
| 系统注册表与文件 | 注册表信息、MBR 检查、文件删除原理、ZIP 存档分析、EXIF 数据、分区分析 |
| 远程控制分析 | 远程控制分析难度、时间线分析、场景测试 |
| 内存分页与数据结构 | 分页作用、内存分页分配、虚拟内存、数据结构类型 |
| 恶意软件分析 | malfind 工具、分析示例 |
| 实践任务 | 数据下载与分析(pslist 和 psscan 对比、connscan 检查网络连接、内存转储检查恶意代码) |
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A([开始数字取证]):::startend --> B(了解案件):::process
B --> C(收集数字证据):::process
C --> D{证据类型}:::process
D -->|存储设备| E(分析存储设备与文件):::process
D -->|内存数据| F(分析内存相关信息):::process
D -->|文件元数据| G(分析文件元数据与日志):::process
E --> H(文件恢复与分析):::process
F --> I(内存分页与数据结构分析):::process
G --> J(时间线与场景分析):::process
H --> K(加密攻击与破解):::process
I --> L(恶意软件分析):::process
J --> M(远程控制分析):::process
K --> N(密码破解与解密):::process
L --> O(分析可疑进程与连接):::process
M --> P(确定是否被远程控制):::process
N --> Q(获取关键信息):::process
O --> R(识别恶意软件):::process
P --> S(关联事件与人员):::process
Q --> T(得出客观结论):::process
R --> T
S --> T
T --> U(撰写法医报告):::process
U --> V([结束]):::startend
操作步骤详细解析
以下对部分关键操作步骤进行更详细的解析。
法医检查流程
- 了解案件 :仔细研读案件的相关资料,包括案件的背景、调查的目的和重点等,确保对整个案件有全面的认识。
- 分析问题/目的 :与调查人员沟通,明确他们对法医检查的期望和具体要求,例如需要获取哪些类型的证据、解决哪些疑问等。
- 获取基本信息 :从被检查的设备中提取基本信息,如设备的用户、注册所有者、操作系统版本等。可以使用专业的工具和软件来完成这一步骤。
- 查找与目标相关的信息 :根据步骤 2 确定的目标,在设备中搜索相关的数据。这可能涉及到文件搜索、数据库查询等操作。
- 分析找到的信息 :对搜索到的信息进行深入分析,运用专业知识和技术手段,找出其中的关键线索和证据。
- 报告结果 :将分析结果以清晰、准确的方式呈现给调查人员,报告中应包括客观的发现和专家的结论,并明确区分两者。
恶意软件分析步骤
- 使用 malfind 工具 :运行 malfind 工具对内存转储文件进行分析,查找可疑的实际指令。
- 处理误报 :由于 malfind 可能产生大量误报,需要对其输出进行进一步检查。可以使用杀毒软件对输出进行扫描,以排除非恶意的指令。
- 关注可疑进程 :从进程列表中筛选出可疑的进程,如 “cleansweep.exe” 进程。通过网络搜索等方式了解这些进程的背景和可能的风险。
- 关联相关进程 :不仅要关注可疑进程本身,还要分析与其相关的进程,因为恶意软件通常会感染合法进程来隐藏自己。
常见问题解答
在数字取证和恶意软件分析过程中,可能会遇到一些常见的问题,以下是对这些问题的解答。
-
为什么 psscan 和 pslist 输出不同?
在内存中,进程以链表形式排列。pslist 依赖这个链表来识别进程,而 psscan 会扫描进程数据结构,因此它能够检测到那些试图隐藏自己不被列表显示或者已经终止的进程。 -
如何确定网络连接是否可疑?
可以从以下几个方面判断:本地 IP 地址是否异常、PID 是否在正常进程列表中、远程地址使用的端口号是否合理等。例如,在使用 connscan 命令的输出中,如果本地 IP 地址奇怪且不同,PID 极高且不在进程列表中,远程地址使用未注册或不合理的端口号,那么这些连接就可能是可疑的。 -
在内存转储中发现可疑指令后该怎么办?
首先,不要轻易下结论认为这些指令就是恶意的,因为 malfind 工具可能会产生大量误报。可以使用杀毒软件对这些指令进行扫描,进一步确认其是否为恶意代码。同时,结合进程列表和网络连接信息,分析这些可疑指令所在的进程和相关的网络活动,以获取更全面的信息。
总结与展望
数字取证和恶意软件分析是一个复杂而重要的领域,涉及到多个方面的知识和技术。通过本文的介绍,我们了解了数字取证的基本概念、存储设备和文件的分析方法、加密攻击与破解技术、内存分析和恶意软件检测等内容。在实际应用中,需要根据具体情况选择合适的方法和工具,并严格遵循操作流程和原则,以确保获取准确、可靠的证据。
随着信息技术的不断发展,数字取证和恶意软件分析也面临着新的挑战和机遇。未来,我们需要不断学习和掌握新的技术和方法,提高自己的专业水平,以应对日益复杂的数字安全问题。同时,加强与同行的交流和合作,共同推动数字取证和恶意软件分析领域的发展。
希望本文能够为读者提供有价值的参考,帮助大家更好地理解和应用数字取证和恶意软件分析技术。在实际操作中,如有疑问或需要进一步的帮助,建议咨询专业的数字取证专家。
超级会员免费看

被折叠的 条评论
为什么被折叠?



