高级 #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. 先易失性数据后持久性数据:
   → 内存(最易失)→ 网络连接 → 临时文件 → 硬盘

📝 小结

概念一句话
数字取证从电子设备中收集和分析证据——还原事件
硬盘取证恢复已删除文件、分析残留数据
内存取证捕获运行中的进程、密钥、网络连接
网络取证还原攻击流量、追踪攻击源
证据链记录每个接触证据的人和时间——法律要求
写保护分析时不对原始数据做任何修改

🎯 思考题:为什么取证时要”先内存后硬盘”?如果你先关机再拔硬盘——哪些关键证据可能丢失了?

为什么先学这个? 网络安全板块到此全部结束!这是关于”保护”和”还原”的故事——从信息安全基础到攻击方法、从恶意软件分析到数字取证。接下来可以进入分布式系统板块继续学习。