抗取证工作流套件
对抗物理取证工作流和相关套件
本片文章说明了如何对抗数据从物理层面恢复取证,同时说明相关套件
1. 简介
在 Windows 的常见文件系统(尤其是 NTFS)上,删除行为做的主要都是从文件系统中移除“索引与元数据”,而不是立即把磁盘上的二进制内容抹掉。所以在没有被新数据覆盖之前,文件存在被恢复的可能性。
为了避免落盘数据被取证,同时保持对文件系统工作方式的兼容,设计了该工作流。
工作流的核心目的是
- 安全性:体现为数据不可被取证,数据加密存储
- 易用性:加解密,存储和删除需要易用,争取不产生额外的动作开销。
- 一致性:工作流在不同环境中的数据保持一致性和可预期
2. 加密套件
使用 fs-encrypt 作为加密套件,其核心特性是
- CLI方式进行加密解密,方便集成和兼容
- 高安全性,使用AES-256-GCM/Argon2id/随机 Nonce加密数据
- 高压缩率:采用 Zstandard (zstd) 算法的最高压缩级别,尽可能节省存储空间
3. 擦除套件
使用 SDelete 进行安全擦除,其核心特性是
- Windows兼容,可以在主流Windows上面直接使用
- CLI兼容,可以使用CLI或Windows自带的引用系统直接使用
- 可靠性,Windows官方工具更加可靠
需要注意的是,SDelete是微软针对NTFS的工具,在其他文件系统的安全性无法确定。
同时,如果存储的硬盘是SSD,那么安全性可能根据主控不同而无法保障数据被完全清除,由于SSD的主控对读写行为的优化不同,SDelete只能保障在HDD旋转盘中的扇区被复写从而达到抗取证的目的。
如果SSD的主控对于空间分配,数据清理和GC的策略不同,那么SDelete可能仍然无法发挥作用。
4. Git钩子
利用Git Hook来把相关流程嵌入到工作流中。
成品仓库