jolanallen/oxiddd
GitHub: jolanallen/oxiddd
一款用 Rust 开发的高性能数字取证磁盘镜像工具,通过 NTP 时间戳认证和密码学绑定技术确保证据链的完整性与不可篡改性。
Stars: 0 | Forks: 0
# oxiddd

[](https://github.com/jolanallen/oxiddd/actions/workflows/ci.yml)
[](https://www.gnu.org/licenses/gpl-3.0)
**oxiddd** 是一款专为数字取证(forensics)设计的高性能磁盘数据获取工具。该工具使用 Rust 开发,是经典工具 `dc3dd` 的一个现代化、安全且优化的替代方案。
## 主要特性
* **性能优化**:采用带有对齐缓冲池管理(zero-copy)的多线程流水线架构。
* **直接 I/O 访问**:在 Linux 下使用 `O_DIRECT` 标志绕过内核缓存,确保吞吐量稳定并与硬件直接交互。
* **取证完整性绑定(Binding)**:独占的哈希方法,将二进制内容、目标文件名和精确时间戳绑定在一个唯一的签名中。
* **经认证的 NTP 时间戳**:通过 Google 的 NTP 服务器获取精确时间,以防止本地系统时钟被篡改。
* **双重同时哈希**:自动生成标准哈希(用于 Autopsy/EnCase 兼容性的位对位副本)和绑定取证哈希。
* **独立且静态**:编译为无动态依赖的静态二进制文件,适用于在受损系统上使用。
## 安装
### 前置条件
* Rust(最新稳定版)
* `musl-tools`(用于 Linux 静态构建)
### 编译
```
cargo build --release
```
### 静态构建(事件响应使用)
```
./build_static.sh
```
## 使用
该工具支持标准 CLI 标志语法(推荐用于自动补全)以及历史 `dd` 语法。
### 标准语法
```
sudo ./oxiddd --if /dev/sdb --of acquisition.dd --hash sha256
```
### DD 语法
```
sudo ./oxiddd if=/dev/sdb of=acquisition.dd hash=sha512 bs=8M
```
## 完整性算法
与标准工具不同,`oxiddd` 计算一个全局签名:
`SHA256( 磁盘内容 + 目标文件名 + NTP时间戳 )`
这种方法保证如果镜像被重命名或时间元数据被修改,取证哈希将不再匹配,从而确保保管链不可篡改。
## 许可证
本项目采用 **GPL-3.0** 许可证发布。有关更多详细信息,请参阅 `LICENSE` 文件。
标签:Autopsy, dd工具, EnCase, Forensics, Incident Response, NTP时间戳, O_DIRECT, Rust, SHA-256, Zenmap, Zero-copy, 二进制发布, 可视化界面, 司法取证, 哈希校验, 库, 应急响应, 开源工具, 数字取证, 数据完整性, 数据获取, 比特流复制, 磁盘取证, 磁盘镜像, 网络安全, 网络流量审计, 自动化脚本, 通知系统, 通知系统, 隐私保护, 静态编译