高级 #security#forensics
数字取证
数字取证(Digital Forensics)从电子设备中收集和分析证据——硬盘取证恢复删除文件,内存取证分析运行中的恶意软件,网络取证追踪攻击流量
🔍 “案发现场”——但不在物理世界,在数字世界
一栋办公楼被盗了——刑警封锁现场、提取指纹、调取监控。
一个服务器被入侵了——安全分析师做同样的事:保护现场(镜像硬盘)、提取证据(日志、恶意文件)、追踪来源(IP、攻击链)。
这就是数字取证(Digital Forensics)——从电子设备中收集和分析证据,还原发生了什么。
🏪 **类比:厨房里的侦探”
厨房里发生了”火灾”(安全事件):
第一步:不要动现场(断开网络,防止攻击者破坏证据) 第二步:拍下”厨房布局”(内存快照——记录当前状态) 第三步:收集”锅碗瓢盆”(硬盘镜像——完整复制) 第四步:分析”起火原因”(日志分析——找到攻击源头)
📋 四种取证类型
| 类型 | 对象 | 能发现什么 | 常用工具 |
|---|---|---|---|
| 硬盘取证 | 磁盘镜像 | 删除的文件、隐藏的数据、加密容器 | FTK Imager, Autopsy |
| 内存取证 | RAM 快照 | 运行中的进程、网络连接、加密密钥 | Volatility |
| 网络取证 | 网络流量 | 攻击者的 IP、传输的数据、C2 通信 | Wireshark, tcpdump |
| 移动取证 | 手机 | 短信、位置、App 数据、通话记录 | Cellebrite |
🧰 关键取证技术
内存取证——最”紧迫”的取证
关机后内存中的数据就没了。所以第一步通常是获取内存镜像:
# 获取内存镜像(Linux)
# 用 LiME 工具
insmod lime.ko "path=mem.dump format=lime"
# 用 Volatility 分析
volatility -f mem.dump imageinfo
volatility -f mem.dump pslist # 列出所有进程
volatility -f mem.dump netscan # 查看网络连接
volatility -f mem.dump cmdscan # 查看命令历史
内存取证能发现:
- 正在运行的恶意软件(可能不在硬盘上——只在内存中)
- 加密密钥和密码(解密时需要)
- 隐藏的进程(Rootkit 隐藏的恶意行为)
硬盘取证——恢复”已删除”的文件
# 创建磁盘镜像(位对位复制)
dd if=/dev/sda of=/evidence/disk.img bs=4096
# 用 Autopsy(图形化取证工具)分析镜像
# 能发现:
# - 已删除但未被覆盖的文件
# - 浏览历史
# - 最近打开的文档列表
# - 未分配的磁盘空间中的残留数据
取证的关键原则
1. 不修改原始数据:
→ 使用写保护(Write Blocker)硬件
→ 数据分析在镜像上做,不在原始盘上
2. 证据链(Chain of Custody):
→ 谁、什么时间、在什么地点接触过证据
→ 每个环节都要记录——否则证据在法庭上不被采纳
3. 先易失性数据后持久性数据:
→ 内存(最易失)→ 网络连接 → 临时文件 → 硬盘
📝 小结
| 概念 | 一句话 |
|---|---|
| 数字取证 | 从电子设备中收集和分析证据——还原事件 |
| 硬盘取证 | 恢复已删除文件、分析残留数据 |
| 内存取证 | 捕获运行中的进程、密钥、网络连接 |
| 网络取证 | 还原攻击流量、追踪攻击源 |
| 证据链 | 记录每个接触证据的人和时间——法律要求 |
| 写保护 | 分析时不对原始数据做任何修改 |
🎯 思考题:为什么取证时要”先内存后硬盘”?如果你先关机再拔硬盘——哪些关键证据可能丢失了?
为什么先学这个? 网络安全板块到此全部结束!这是关于”保护”和”还原”的故事——从信息安全基础到攻击方法、从恶意软件分析到数字取证。接下来可以进入分布式系统板块继续学习。