9. 数字取证 Digital-Forensics
数字取证流程(Digital Forensics Process)
四个核心阶段
- 识别(Identification)
- 确定存储关键数据的物理/数字对象(如计算机, 硬盘, 移动设备, 外接媒体等);
- 收集(Collection)
- 保护证据完整性, 建立链式监管(Chain of Custody), 记录证据哈希(Hash of Image)以验证来源;
- 分析(Analysis)
- 检查文件系统, 日志, 内存等, 恢复删除文件(Deleted Files)或残留数据(Slack Space);
- 报告(Reporting)
- 形成专家报告, 提供法律证据(Legal Evidence);
数据收集与保存(Data Collection & Preservation)
数据来源
- computer
- other harddrive
- monitor
- keyboard and mouse
- media (dvd, cd, usb)
- printer
- digital forensics did not replace traditional (physical) forensic analysis
- 需要确保数据的原始性, 任何经过操作的数据都不能完全展示当时的情况, 因此需要创建
forensic image (carefully created copy) 来进行保存 - Principle for collecting evidence
- Maintain a chain of custody
- physically secure items of evidence
- track possession step by step
- keep documentation (hash image) to trace evidence to the src
- Priotize collection by volatility
- 脆弱的数据首先保存
- RAM > disk > external media
- Maintain a chain of custody
2.1 法医镜像(Forensic Image)
- 定义: 全盘位对位拷贝(Bit-for-Bit Copy), 保留所有数据(包括删除文件, slack/internal fragmentation 空间);
- 工具:
dd if=/path/to/forensic/src of=/path/to/store- 需使用 写阻止器(Write-Blocker) 防止修改原始数据; (只允许 read)
- 从而防止分析的 pc 篡改数据
- 一般会额外计算一个 hash 来确保数据的完整性
2.2 内存取证(Live-Memory Forensics)
- 只将 ram 里面的数据进行复制
- 利用了 thunderbolt
(由英特尔(Intel)和苹果(Apple)共同开发的一种高速数据传输接口技术, 它集数据传输, 视频输出和供电于一体)
- 利用了 thunderbolt
- 冷启动攻击(Cold-Boot Attack): 通过物理重启并快速镜像未擦除的RAM数据;
- 一般情况下电脑重启会擦除 RAM 中的数据
- 虚拟化快照(VM Snapshot): 同时捕获内存与磁盘状态;
- 对于不可以重启的OS, 可以考虑 freeze disk+ram (mem chip) 并且移存至其他硬件设备
2.3 移动设备取证(Mobile Device Forensics)
- 挑战:
- 可能会被 无线电波 radio 连接进行数据篡改
- 远程擦除防御: 使用 法拉第袋(Faraday Bag) 屏蔽无线信号;
- 硬件级加密(Hardware-Backed Security)与取证工具对抗;
3. 存储结构与取证线索(Storage Structure & Clues)
- 低级别存储(Low-Level Storage)
- 块(Blocks): 存储设备基本单元(通常4KB);
- 文件系统(Filesystem): 通过 索引节点(I-Node) 管理文件元数据(Metadata)与块指针;
- 删除与残留数据
- 删除文件: 仅移除I-Node, 实际数据保留至被覆盖;
- 碎片(Fragmentation): 文件扩展导致的数据块分散, 可能暴露历史操作痕迹;
- 通过读取这些残留数据, 可以获得以前的数据, 这也是为什么可以删除恢复的原因
取证工具与技术(Forensic Tools & Techniques)
取证的起始步
- 如果当前设备开机了: 不能关机, 直接 image 当前状态
- 关机会导致部分有用的数据丢失
- 如果当前设备关机了: 不能开机, 直接用 write-blocker
等设备和额外的存储设备将当前数据转存复制
常用工具
- Encase: 商业级取证软件, 支持快速搜索与分析;
- Autopsy: 开源工具, 提供案例管理与数据恢复功能;
数据隐藏技术(Data Hiding Techniques)
- 加密(Encryption): 需密钥解密数据(如全盘加密);
- 混淆(Obfuscation): 修改代码结构以隐藏功能(常见于恶意软件), 使其难以被人类或自动化工具理解或分析;
- 通过改变代码结构, 插入无关逻辑, 打乱变量名等手段来干扰逆向工程
- 隐写术(Steganography): 在图像/音频的LSB(Least Significant Bits)中嵌入隐藏信息;
- 文件的"冗余"或"最低有效位"里嵌入信息;表面上文件看似正常, 但实际包含了隐藏内容
- 水印(Watermarking): 在文件中添加抗移除标记(用于追踪或反盗版);
- 在文件中嵌入可追溯的标记或"签名", 即使文件被复制或部分修改, 也能识别其来源或所有者
反取证技术(Anti-Forensic Techniques)
安全删除(Secure Deletion)
- 挑战: 闪存(Flash)因磨损均衡(Wear-Leveling)难以完全覆盖历史数据;
- 即使使用"安全擦除"或"覆盖写"等方法, 也可能在某些缓存, 日志, 交换分区, 备份或未覆盖到的磁盘扇区里留下残留
- 磨损均衡: flash 可用范围会大于 os (一些 os 认为无法写入的内存可以被 flash
访问)
- 策略:
- 加密数据后丢弃密钥;
- 这样没有 erase key 的困难
- 与其事后再尝试彻底删除数据, 不如在一开始就尽量避免数据被写入存储设备;
- 例如使用只在内存中运行, 不落盘的应用; 或采用端到端加密并减少日志记录; 或使用一次性匿名账号等方式, 尽量减少数据在系统上留下痕迹
- 物理销毁介质(如研磨芯片);
- 加密数据后丢弃密钥;
全盘加密(Full Disk Encryption, FDE)
- 实现:
- protects data at rest by encrypting every sector of a storage partition
using a secret key
- protects data at rest by encrypting every sector of a storage partition
- 风险: 冷启动攻击可窃取内存中的解密密钥;
- 攻击模型:
- 当物理设备被控制, 攻击者拥有物理权限但是没有key
- Windows Bitlocker
- MacOS FileVault
- similar iOS and Android Features
- 如何存储密钥?
- 密钥存储: 通过密码派生函数(KDF)或可信平台模块(TPM)保护密钥;
- KDF: , 其中 p 为用户指定的 PIN, 而 k 表示给硬盘
sector 加密的密钥- 缺点: 如果 boot 分区被加密了 OS 无法打开直到用户输入了 pin, OS
不开启则用户用不了 gui; server 没有 interface, os
没有开启则用户无法远程访问之
- 缺点: 如果 boot 分区被加密了 OS 无法打开直到用户输入了 pin, OS
- TPM: 给密钥加密通过一个可以信赖的中间平台 (trusted platform module),
这个平台防篡改, 并且测量 boot-time code, 这个平台只有在 kernel
没有被更改的情况下会发送key- 缺点: 启动的时候会将密钥复制到 ram 中, 会被 cold-boot attack
- KDF: , 其中 p 为用户指定的 PIN, 而 k 表示给硬盘
- 密钥存储: 通过密码派生函数(KDF)或可信平台模块(TPM)保护密钥;
预防数据记录
- Tails Linux: 默认只读模式, 避免写入敏感数据;
- 浏览器无痕模式(Incognito Mode): 不保存历史与缓存;
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
