🌐 语言 / Languages
English ·
Українська ·
Deutsch ·
Français ·
Español ·
Polski ·
Português ·
中文 ·
日本語
面向游戏服务器管理员的 Windows 硬件与取证完整性扫描器。
IronTrace 收集平台安全、PCI/PCIe/USB 设备、驱动程序及可选取证信号的相关证据,并生成可解释的完整性评估。它帮助您审查一台机器,不会因单一异常发现就判定某人为作弊者,也没有自动封禁路径。
| 通道 | 版本 |
|---|---|
| 应用程序 | 0.7.0(Phase 6 — Forensic Integrity Scan) |
| 报告 schema | 1.6 |
| API | v1 |
| 驱动协议 | 2 |
| 参考 DB schema | 2 |
终端用户(已发布构建或 dotnet run):
- 在 Windows 10/11 x64 上启动 IronTrace。
- 在主页选择扫描模式:
- Admin Scan — 面向服务器管理员的硬件扫描,可选取证深度。
- Self-Audit — 面向玩家的扫描;自动将 HTML 报告保存到桌面。
- 在结果页查看 verdict 与 findings。
- 导出 JSON、上传到 IronTrace 服务器,或开始新扫描。
开发者:
git clone <repo-url> dma-guard
cd dma-guard
dotnet restore IronTrace.sln
dotnet build IronTrace.sln -c Release
dotnet test IronTrace.sln -c Release
dotnet run --project src/IronTrace.App -c Release当 data/reference/ 下存在捆绑的参考 DB 时,扫描可离线运行。提升权限为可选项(asInvoker);仅在需要更详细的 Code Integrity / DeviceGuard 信息时以管理员身份运行。
IronTrace 将纯硬件扫描与取证配置文件分开。取证层受隐私门控;内存扫描需明确选择并依赖外部工具(见下文)。
| 模式 | WPF 按钮 | CLI --profile |
取证层 | 典型用途 |
|---|---|---|---|---|
| 仅硬件 | Admin Scan(不勾选取证复选框) | hardware-only |
无 | PCI/USB/驱动基线 |
| 完整取证 | Admin Scan + 进程/内存复选框 | full-forensic |
全部(已安装工具且加 --memory 时含内存) |
深度管理调查 |
| 自检 | Self-Audit | self-audit |
Execution、BYOVD、HWID、overlay、进程清单 | 玩家透明报告 |
| 主机 rig | — | console-rig |
Self-Audit + 采集卡/输入焦点 | 直播场景中的副机 |
取证层(Phase 6):
| 层 | 检查内容 | 授权 |
|---|---|---|
| 0 | Prefetch/BAM/ShimCache、BYOVD deep、HWID cross-source、overlays | Self-Audit / Full Forensic 默认开启 |
| 1 | 进程/服务清单、持久化(任务、Run 键) | IncludeProcessInventory 复选框或配置文件默认 |
| 2 | 通过 hollows_hunter 子进程的内存完整性 | IncludeMemoryScan 复选框或 CLI --memory |
未安装 hollows_hunter 时跳过第 2 层,其余照常运行。工具缺失时 UI 会显示提示。
dotnet run --project src/IronTrace.App -c Release| 控件 | 用途 |
|---|---|
| Admin Scan | 硬件扫描;勾选进程或内存复选框时变为 Full Forensic |
| Self-Audit | 取证自检配置;将 HTML 保存到 %USERPROFILE%\Desktop\ |
| Include process/service inventory | 第 1 层 — 列出运行中的进程与服务(隐私 opt-in) |
| Include memory scan via PE-sieve | 第 2 层 — 仅在已安装 hollows_hunter 时启用 |
| Include PnP device history | 隐私 opt-in;将历史 PCI 条目与 watchlist 关联 |
- Verdict — 保守风险引擎输出(
Normal…HighRisk,永不自动封禁)。 - Forensic banner — 适用时的高层次取证摘要。
- Export report — 带隐私开关的 JSON(默认序列号哈希,非原始序列号)。
- Upload to server — 向 IronTrace 实例发起 challenge/nonce + HMAC。
- Browse devices / Findings — 深入查看 PCI/USB 与单项 findings。
用于自动化、CI 或管理脚本的无界面扫描:
dotnet run --project src/IronTrace.Cli -c Release -- scan --profile self-audit --output report.json# Full forensic + memory (requires hollows_hunter in artifacts/tools/)
dotnet run --project src/IronTrace.Cli -c Release -- scan --profile full-forensic --memory --output report.json
# Hardware baseline only
dotnet run --project src/IronTrace.Cli -c Release -- scan --profile hardware-only --output report.json| 标志 | 说明 |
|---|---|
--profile |
hardware-only · full-forensic · self-audit · console-rig |
--output |
JSON 报告路径(默认:cwd 中带时间戳的文件) |
--html |
可选 HTML 路径(Self-Audit 会在 JSON 旁自动生成 .html) |
--memory |
启用第 2 层内存扫描(仅 full-forensic) |
发布二进制名称:irontrace.exe(来自 IronTrace.Cli publish)。
IronTrace 不捆绑内存扫描工具。选择启用时,以外部子进程启动 hollows_hunter 并解析 JSON stdout。无进程内内存 API;报告中不含内存转储。
| 组件 | 许可 | 随 IronTrace 分发? |
|---|---|---|
| hollows_hunter | BSD-2-Clause | 否 |
pe-sieve(pe-sieve64.dll) |
BSD-2-Clause | 否 |
-
从上游 release 下载 64 位 Windows 构建。
-
放入仓库开发路径:
artifacts/tools/hollows_hunter64.exe artifacts/tools/pe-sieve64.dll已发布应用请在可执行文件旁使用
tools/文件夹。 -
重启 IronTrace — 主页黄色 "Memory scan tool not found" 横幅应消失,内存复选框变为可用。
若在管理 bundle 中再分发 hollows_hunter/pe-sieve,请保留上游 BSD-2-Clause 声明。见 THIRD_PARTY_NOTICES.md 与 docs/research/pe-sieve-hollows-hunter.md。
本地运行服务器:
dotnet run --project src/IronTrace.Server -c Release
# → http://localhost:5188/admin使用 PostgreSQL:
docker compose up -d
dotnet run --project src/IronTrace.Server -c Release上传流程:客户端请求 challenge → 用 HMAC 签名报告 → 服务器存储扫描 → 管理员在 /admin 中分诊(Pending / Accepted / Rejected / NeedsInfo)。开发用 bootstrap API 密钥与 plain HTTP 仅用于本地 — 生产前请轮换密钥并使用 HTTPS。详情:docs/api/README.md。
- 读取 OS 构建与平台安全:Secure Boot、TPM、VBS、HVCI、Kernel DMA Protection、hypervisor 标志
- 清点主板/BIOS 身份、PCI/PCIe 设备与 USB 设备
- 通过离线
pci.ids/usb.ids数据库解析厂商/设备名称 - 列出驱动并与离线 LOLDrivers 快照匹配(BYOVD 类证据,本身不构成 verdict)
- 快照 Code Integrity Operational 日志(提升权限时细节更多)
- 可选通过
IronTrace.Driver的内核 PCI 证据(实验室 test-signed;无驱动时优雅降级) - Safe challenge policy(默认 deny;不重置设备)及在能力可用时的 PCIe DOE 检测
- 通过 TBS 尽力获取 Measured Boot PCR 快照(仅作证据,非 attestation)
- 保守风险引擎 → 带导出隐私开关的版本化 JSON 报告(schema 1.6)
- DMA watchlist、多信号
DMA_SIGNAL_CLUSTER、可选 PnP 历史 - Phase 6 取证:execution artifacts、进程清单、BYOVD deep、HWID cross-source、overlay/AI-vision 信号
- 可选上传到 IronTrace 服务器供人工管理审查
- 非密码学证明。 用户态 PCI/USB ID 可被伪造;内核证据提高置信度但不证明诚实。见 threat model。
- 非间谍软件。 不收集浏览器历史、文档、密码、按键、截图或任意进程内存转储。
- 非 DMA 工具包。 可选 KMDF 驱动仅执行有界的 PCI 证据 IOCTL(driver boundary)。
- 非作弊工具供应商。 PCILeech、BYOVD 利用套件与 HWID spoofer 仅在
docs/research/下作研究用途。
WPF / CLI
→ Windows + Hardware collectors
→ optional KernelEvidence / MeasuredBoot
→ optional Forensic pipeline (Phase 6)
→ SafeChallengePolicy + DoeSpdmDetector
→ local reference DBs (pci.ids, usb.ids, LOLDrivers)
→ RiskEngine → JSON report (schema 1.6)
→ optional Upload (challenge + HMAC) → Server /admin
IronTrace.Driver 使用 Visual Studio + WDK 构建(非 dotnet)。CI 仅运行用户态测试。
解决方案布局:
| 路径 | 角色 |
|---|---|
src/IronTrace.App |
WPF 桌面客户端 |
src/IronTrace.Cli |
无界面扫描器 |
src/IronTrace.Server |
上传 API + 管理 UI |
src/IronTrace.Core |
扫描编排 |
src/IronTrace.Forensics |
Phase 6 收集器 |
src/IronTrace.Hardware / IronTrace.Windows |
平台与设备收集器 |
src/IronTrace.RiskEngine |
Findings 与 verdict |
data/reference/ |
离线 pci/usb/loldrivers DB |
artifacts/tools/ |
可选 hollows_hunter(不在 git 中) |
- Windows 10/11 x64
- .NET 10 SDK(
global.json固定版本带) - Docker(可选)— 本地服务器栈的 PostgreSQL
- Visual Studio + WDK(可选)— 仅用于
IronTrace.Driver
dotnet restore IronTrace.sln
dotnet build IronTrace.sln -c Release
dotnet test IronTrace.sln -c Releasedotnet publish src/IronTrace.App -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o artifacts/publish/win-x64终端用户机器使用 self-contained 发布时无需 .NET 运行时。
data/reference/ 下的捆绑 DB 使扫描在无网络时仍可用。使用导入器重建:
dotnet run --project tools/HardwareDbImporter -- --mode pci --input path\to\pci.ids --output data/reference/pci-reference.db
dotnet run --project tools/HardwareDbImporter -- --mode usb --input path\to\usb.ids --output data/reference/usb-reference.db
dotnet run --project tools/HardwareDbImporter -- --mode loldrivers --input path\to\loldrivers --output data/reference/loldrivers-reference.db另支持 gen-keys / sign-manifest 用于签名参考更新包。见 docs/database/REFERENCE_DB.md。
- 证据优于指控 · unsupported 不等于可疑
- 未实现功能不伪造「success」
- JSON 导出默认序列号哈希,非原始序列号
- 服务器上传永不发送原始序列号;用户先确认 consent
- 上传 API 密钥优先 DPAPI 存储而非明文配置
- 管理审查仅为人工分诊
完整策略:docs/security/PRIVACY.md。
IronTrace 附带离线参考数据(pci.ids、usb.ids、LOLDrivers)— 见 THIRD_PARTY_NOTICES.md。
内存扫描工具(hollows_hunter、pe-sieve)为第三方、BSD-2-Clause、不捆绑 — 若需第 2 层内存扫描请单独安装。
| 阶段 | 状态 | 说明 |
|---|---|---|
| 1 Foundation | Done (0.1.0) | WPF 应用、PCI 清单、风险引擎、导出 |
| 2 Universal integrity | Done (0.2.0) | USB、驱动、LOLDrivers、CI 日志、签名 ref 更新 |
| 3 Server challenge MVP | Done (0.3.0) | Challenge 上传、/admin、Docker Postgres |
| 4 Kernel evidence | Done (0.4.0) | KMDF 实验室驱动、协议 v2、报告 schema 1.3 |
| 5 Active verification | Done (0.5.x) | Challenge policy、DOE/PCR、DMA triage/BAR/DSN |
| 6 Forensic integrity | Done (0.7.0) | Self-Audit、Full Forensic、可选 hollows_hunter |
版本通道相互独立:应用、报告 schema、API、参考 DB、驱动协议。见 docs/architecture/PHASED_ROADMAP.md。
| 主题 | 链接 |
|---|---|
| 架构 | docs/architecture/ARCHITECTURE.md |
| 分阶段路线图 | docs/architecture/PHASED_ROADMAP.md |
| 驱动边界 | docs/architecture/DRIVER_BOUNDARY.md |
| 驱动实验室 | src/IronTrace.Driver/README.md |
| API 与上传 | docs/api/README.md |
| 威胁模型 | docs/security/THREAT_MODEL.md |
| 隐私 | docs/security/PRIVACY.md |
| 参考 DB | docs/database/REFERENCE_DB.md |
| pe-sieve / hollows_hunter | docs/research/pe-sieve-hollows-hunter.md |
| 研究索引 | docs/research/README.md |
| 贡献指南 | CONTRIBUTING.md |
| 安全策略 | SECURITY.md |
IronTrace — 专有软件。见 LICENSE。
第三方数据与工具 — THIRD_PARTY_NOTICES.md。
Discord: twinkipro
安全问题请私下报告(见 SECURITY.md)。在修复就绪前请勿为可利用漏洞公开开 issue。
