Platform for Professionals

MythosX Anvil

MythosX Anvil 是独占裸机 L0 的 AMD SVM Hypervisor。它在 BIOS 固件阶段就进入 L0,Windows 启动时已经就位——此后 Windows、Hyper-V、HVCI 读到的 CPUID、PCIe 枚举、IOMMU 外观、TPM 呈现,都由 Anvil 定义。VAPA、无痕 HOOK、完整调试、八维时序对抗、SVM 嵌套、身份呈现、双通道隐身,这些能力都是同一个本体的组成部分。

  • Anvil 独占 L0
  • PCILEECH 兼容接入
  • 结构级防逆向

Platform

我们接管了 L0。Guest 以为那里只有硬件。

Anvil 常驻裸机。Windows、它的 Hyper-V、它的 HVCI,全是 Guest。但它读到的 CPUID、MSR、PCIe 枚举、IOMMU 外观、TPM 外观,都由 Anvil 呈现——与一台正常电脑的样子完全一致。它以为自己站在 L0。

  1. 01

    接入

    控制面兼容 PCILEECH 原有接口。既有基于 PCILEECH 的调用代码不需要重写,换一次构建就能连上 Anvil。

  2. 02

    驻留

    每次开机,Anvil 在 Windows 启动之前进入 L0 并取得 IOMMU、SVM、TPM 的全部控制权。Windows 起来时,Anvil 的能力已经全部就位。

  3. 03

    呈现

    从 CPUID 到 TPM 外观,Guest 看到的一切都来自 Anvil 的呈现层。分析师的调试在 Guest 看不见的层发生;合作方的软件在 Guest 看得见的层执行。

Core Capabilities

调试、HOOK、读写、时序,四件事都在 L0 做

分析样本、逆向目标、调试恶意行为需要的四类基础设施,Anvil 都在 Guest 看不到的那一层提供。工具侧继续用原来的调用方式,底层执行由 Anvil 接管。

VAPA

VA / PA 读写

按目标进程或物理地址读写内存。调用接口兼容 PCILEECH,地址翻译在 Anvil 内部完成,不走 Guest 页表,Guest 侧无法从页表项变化感知异常。

HOOK

无痕 HOOK 引擎

双视图 NPT + 影子落点,arm / drain / rollback 完整生命周期。只要不钩在热路径上,HOOK 的存在就是绝对无痕——隐蔽性由时序对抗模块统一消解。

DEBUG

完整调试引擎

影子断点、单步执行、异常观察。Guest 的 KD / WinDbg 看不到调试进行中,样本的反调试探测也没有东西可测——调试面根本不在 Guest 的地址空间里。

TIMING

完整时序对抗

CPUID、MSR、VMRUN、异常、TLB、缓存、内存访问、时序八个维度的平台保真。rdtsc 探针、延迟对比、异常触发率都落在真实裸机的分布内;上面的无痕 HOOK 带来的时序扰动也在这一层统一消解。

Nested Virtualization

Guest 不知道自己是 Guest

完整的 AMD SVM 嵌套。来宾 Windows 跑它的 Hyper-V、HVCI、WSL2,与在一台真硬件上没有可观测的差别。裸硅 SVM 的全部语义,Anvil 的嵌套层逐条承接,不做任何功能折扣。

嵌套合成
VMCB · 二级页表 · 中断
来宾 Hypervisor 的硬件请求全部按真实语义合成
兼容来宾
Hyper-V · HVCI · WSL2
来宾虚拟化栈并存运行,不互相抢控制权
最终权限
Anvil 掌控
来宾 Hypervisor 创建子来宾时,权限仍由 Anvil 合成

Dual Channel · Stealth

调试机和目标机之间,一条线都看不见

调试机和目标机之间走 DMA 卡 Mailbox 或 X520 两条通道,Anvil 全权接管双机链路。承载通讯的那块卡在 Guest 里查不到——不管用哪种方式查。

PCIe 层
config space 枚举对 Guest 完全缺席;总线扫描看不到该卡的任何 BDF。
端口 / 链路层
Link status、speed、ASPM 等端口状态面不呈现该端口;Guest 以为那个槽位是空的。
IOMMU 层
DTE 对该设备单独管辖,Guest 可见的 IOMMU 拓扑里查不到该 BDF,设备 DMA 不进 Guest 保护域。
软件层
驱动模型、设备管理器、WMI、PnP、ETW——Guest OS 任何渠道都观察不到这条通讯链路。

Trust Root

IOMMU、SVM、TPM 的控制权,全部在 Anvil 这边

系统上最硬的三件权限资源,Guest OS 的任何代码都碰不到。Guest 看到的 Secure Boot、IOMMU、TPM 都是 Anvil 按客户配置渲染出的呈现层——读出来的数值完全自洽,但对真实硬件没有任何写入权。

Guest 侧往 IOMMU 配置里写什么,都只会落到影子视图上,看似生效、实际空转。真实 IOMMU/DTE 的策略只听 Anvil 的。

IOMMU
Anvil 掌控
Guest 侧写入落影子视图
SVM
Anvil 掌控
来宾 Hyper-V / HVCI 嵌套在 Anvil 之上
TPM
Anvil 掌控
真实度量链 Guest 读不到

Required · Trust Anchor

使用 Anvil 的唯一入口:烧录 MythosX 指定 BIOS

任何运行 Anvil 的物理主机都必须烧录 MythosX 指定的 BIOS 文件。TPM 的度量链以这份 BIOS 为基准,云端 Quote 的核验以它为真实根——度量链一旦不符,Anvil 的解密器根本启动不了。换 BIOS、挪 Flash、丢进模拟器,无一例外。

唯一入口
必须烧录没有其它合法启动路径
度量基准
TPM Quote云端核验以此 BIOS 为真实根
物理绑定
真硅 EKQEMU/swtpm 过不了 AIK 激活

For Analysts

样本摸不到 Anvil 的特征。分析器长期有效。

你是逆向工程师、样本分析师。有一个常见担心:用一款分析器分析样本时,样本在对抗中反过来摸走分析器的特征,恶意作者拿到后推进下一版更新,这款分析器就逐步被认得、逐步失效。在 Anvil 上,这个担心不成立——本体结构级防逆向(见下一节六条路径),样本在 Anvil 之上既认不出当前的分析环境,也无法提取可供后续版本识别的任何指纹。今天能用的分析能力,明天依然能用。

Invisible Debug

调试动作不留检测触发点

影子断点、单步、异常观察,全部在 Guest 之外完成。Guest 的 KD / WinDbg 查不到调试进行中,样本内置的反调试也没有事件可触发——没有调试行为特征可供识别。

Identity

身份一键切换,不留稳定指纹

主板、系统、BIOS、机箱 SMBIOS 序列号族,盘序列号、PCIe DSN、MAC、MachineGuid、EDID——完整机器身份面随时切换。换一套可信身份,样本凑不出同一台机器两次,没有稳定硬件指纹可供回溯。

Fidelity

平台保真到真机的分布之内

CPUID、MSR、VMRUN、异常、TLB、缓存、内存访问、时序八个维度与真硬件一致。rdtsc 探针、延迟对比、异常触发率都落在真实裸机的分布内——没有 Anvil 平台特征可供识别。

Isolation

通讯载体对样本完全不呈现

调试机和目标机之间的 DMA / X520 卡在 Guest 里的任何面都不呈现。样本看到的是一台孤立的 Windows——没有外挂通讯载体可供推断。

For Vendors

破解版调不到 Anvil 底座,等于白破解

你是合作方团队。你的软件在客户机上跑在 Anvil 之上,核心能力——VAPA、无痕 HOOK、调试、嵌套、身份呈现、双通道——全部通过 Anvil 底座调用。破解者就算脱了壳、绕过授权,拿到的也只是空壳:合法 Anvil 环境只认有效度量链上的软件,破解版调不到底座,就跑不出任何实际能力。破了也用不了,等于白破。

  • Environment = Execution

    核心能力绑定在合法底座上

    你的软件就算被破解版脱壳、绕过授权跑起来,一旦向底座调用能力,Anvil 不会响应没有有效度量链的调用方——软件走不到任何实际动作。

  • Anti-Tamper

    任何一字节改动都断度量链

    合作方软件、STAGE 解密器、Anvil 本体——任一环节被改一个字节,TPM 度量链就断。链一断,这一靴是非法环境,云端拒签新资格,底座能力不再对它开放。

  • Cloud Attestation

    云端持续核验,合法性每靴重判

    每次开机,Anvil 把 TPM Quote 送到 MythosX 云端做新鲜度量核验。只有通过核验的 Anvil 才算合法底座——合法底座上,你的软件才能调到完整能力面。

  • Inherit

    全套底层能力都从 Anvil 来

    你的软件在 Anvil 之上直接调用 VAPA、无痕 HOOK、调试引擎、嵌套、身份呈现——原本自己要做的 L0 工程 Anvil 已经做完。这同时意味着:失去合法 Anvil,就失去这整套能力。

Anti-Extraction · Full Coverage

恶意分析师试过的每一条路,都走不通

提取、逆向、破解——六条已知路径,Anvil 在设计层面逐条拒绝。不是靠混淆堆料,也不是靠时序扰动,而是把每一条路径的物理前提直接堵死。这是 MythosX 对本体不被反向工程的底气。

① DMA 提取

IOMMU 自固件阶段起即独占

Anvil 在 BIOS 固件阶段就接管 IOMMU,没有任何 pre-boot attack 窗口。外接 PCILEECH、FPGA、Thunderbolt 还是板载恶意设备,DMA 对本体和受保护 MMIO 的访问从开机起就被 DTE 挡住。

② 改 IOMMU 配置

Guest 侧的 IOMMU 写入全落影子

Guest 内对 IOMMU 做任何配置——改页表、清 DTE、调权限——都落在影子视图上。读出来的数值完全一致,但真实的 IOMMU DTE 只接受 Anvil 的意图。

③ Guest 内提取

Anvil 本体对 Guest 完全不可见

Guest 的 CPU 普通访存经最终 NPT 查不到 Anvil 本体;读到的页是独立的可写假页。Guest 侧的任何工具——WinDbg、Pcileech 客户端、自写内核驱动、甚至在 Guest 里自建 Hypervisor——都看不到 Anvil 的内存。

④ QEMU / 模拟器

真硅 TPM 根堵死模拟环境

把本体丢进 QEMU + swtpm 跑?假 TPM 过不了云端 AIK 激活;没有活体证明就取不到本靴会话材料;没有会话材料解密器一步都走不下去。真硅 EK 根不在模拟器侧,这条路物理堵死。

⑤ 自读接口

调用 Anvil 读 Anvil:目标 guard 拒绝

就算调用方是合法的 VAPA/HOOK 使用者,身份也不被视作可信边界。每级地址翻译与最终窗口都过目标 guard,本体和受保护 MMIO 一律拒绝——合法接口无法反射出 Anvil 自己。

⑥ 冷启动残留

断电前清零,残留不含钥匙

Boot pass 完成即清 KP;关机前 Anvil 对本体敏感页主动清零。强制断电、拔内存、低温抽取 DRAM——残留的字节不含钥匙,也不含载荷明文。

六条路径,每条都在物理前提上拒绝。不是概率防御——是结构防御。

准备接入

既有项目基于 PCILEECH 构建的话,接口直接兼容。调试引擎、HOOK、嵌套、身份呈现——同一套接入点,连上就能用。规格、授权、BIOS 分发走 Telegram 一对一。

Telegram 一对一对接

L0 这一层,归你。
MythosX Anvil