“你的电脑里藏着一台秘密的第二台电脑。我们找到了它,绘制了它的地图,并记录下了里面隐藏的东西。”
一个 Python 脚本。零依赖。直接与你的 Intel 管理引擎对话。
python scripts/heci_spy.py
# Requirements: Windows, Python 3.6+, Run as Administrator
它的功能:
刚刚在一台 Lenovo IdeaPad Gaming 3(i7-12650H,CSME 16.0.15.1735) 上运行:
MKHI v3.1 | FW 16.0.1735.15 | 8 partitions found | GEN.1B: 0x00C344CA (changes each run!)
我们确认:7/12 个 MKHI 命令有响应。ME 是活的,正在通信,并且在泄漏内存。
▶️ 观看 35 秒演示 — (右键另存为,或上传到 YouTube 以便内联播放)
这是首次公开披露 Intel CSME 16.x(Alder Lake)固件的完整内部结构,且这些结构是从真实硬件上解码得出的。
从未有人公开过:
全部来自一台搭载 Intel Core i7-12650H(第 12 代 Alder Lake) 的 Lenovo IdeaPad Gaming 3。
Intel 管理引擎(ME)是嵌入每一颗现代 Intel CPU 中的隐藏微控制器。它运行自己的操作系统,拥有自己的处理器(Synopsys ARC EM),并且 全天候运行 — 即使你的电脑完全关机。 大多数人知道它的存在。但几乎没有人真正探究过它的内部。
而这个项目做到了。
我们成功做到了:
IfwiRoot/ (THE ENTIRE FIRMWARE)
├── BiosRegion (Your BIOS — 24MB)
├── DescriptorRegion (Flash layout)
│ ├── FDBAR/ (Flash Database)
│ │ ├── FLASH_VALID_SIGNATURE
│ │ ├── FLMAP0-4 (Component maps)
│ │ └── EcRegionPointer ← EC firmware pointer
│ ├── PchStraps (PCH hardware config)
│ │ ├── PCH_Strap_DMI_OPDMI_TLS: "4 GT/s"
│ │ ├── PCH_Strap_DMI_OPD_LVO: "0.95 Volts"
│ │ └── PCH_Strap_FIA_LOSL0-3: USB3/PCIe config
│ ├── MipDesc/ (Management Engine descriptors)
│ │ ├── PmcStraps (PMC config — Type-C ports)
│ │ └── DbCStraps (Debug Capability)
│ ├── MasterAccessPermissions ← SECURITY LOCKS
│ ├── OEM (Lenovo OEM data)
│ └── VsccTable (SPI flash component table)
│
├── CseRegion (THE INTEL ME — 4.8MB)
│ ├── RomBypass ← HIDDEN BOOT MECHANISM
│ ├── RomBypassVector (Jump table)
│ ├── BPDT1/ (Boot Partition Table 1)
│ │ ├── FTPR (Fault Tolerant Recovery — 2.2MB)
│ │ ├── RBE (ROM Bypass Engine)
│ │ ├── PMC (Power Management)
│ │ ├── IOM (Intel Orchestrator Manager)
│ │ ├── NPHY (Network PHY firmware)
│ │ ├── IDLM (Dynamic Link Manager)
│ │ ├── TBTP (Thunderbolt — 40KB readable)
│ │ ├── OEM_KM (OEM Key Manifest — Lenovo's keys)
│ │ └── PCHC (PCH Configuration)
│ ├── BPDT3/
│ │ ├── NFTP (Non-Fault Tolerant — 436KB readable)
│ │ ├── ISHC (Integrated Sensor Hub — 88KB)
│ │ ├── IUNIT (Intel Unit firmware)
│ │ └── GBST (Performance Boost)
│ └── DATA_PARTITION/
│ ├── FLOG (Flash Log)
│ ├── ELOG (Event Log)
│ ├── EFS (Encrypted File System)
│ ├── FITC/ (Flash Image Tool Config)
│ │ ├── HmrfpoNvar (HMRFPO config)
│ │ ├── ConfigRulesNvar (Configuration rules)
│ │ ├── PavpHdcpNvar (DRM/ HDCP config)
│ │ ├── ChipsetInit (Chipset initialization)
│ │ ├── EomNvar (End-of-Manufacturing config)
│ │ ├── TbtConfigDataNvar (Thunderbolt config)
│ │ └── CameraGpioNvar (Camera GPIO config)
│ ├── HVMP (Hypervisor Management Policy)
│ ├── IVBP (Intel Verified Boot Policy)
│ ├── IMDP (Intel Management Data Path)
│ └── UTOK (Unit Token — device authentication)
│
├── EcRegion (Embedded Controller firmware)
├── GbeRegion (Gigabit Ethernet MAC)
└── SigningContainer (Intel signing blob)
// Platform Identification (at ME+0x29C134)
{
"StrapsProject": "adp_p_straps.xml",
"HarnessProject": "ADP-P PCH (w/ADL-P / M CPU) RDL v1.0.2.5",
"HarnessLabel": "v1.30 ADP-P (Harness #50)",
"SelectedRvp": "ADL-P DDR4 (ADL-P + ADP-P)"
}
// PCH Strap Configuration (at ME+0x29C523)
{
"PCH_Strap_DMI_OPDMI_TLS": "4 GT/s",
"PCH_Strap_DMI_OPD_LVO": "0.95 Volts",
"PCH_Strap_FIA_LOSL0": "USB3",
"PCH_Strap_FIA_LOSL1": "USB3",
"PCH_Strap_FIA_LOSL2": "PCIe",
"PCH_Strap_FIA_LOSL3": "PCIe"
}
// PMC Type-C Port Configuration (at ME+0x29C753)
{
"PD0_Type_C_Port_Enabled": "Yes",
"PD0_USB2_Port": "USB2 Port 2",
"PD1_Type_C_Port_Enabled": "No",
"PD2_Type_C_Port_Enabled": "No",
"PD3_Type_C_Port_Enabled": "No"
}
// BootGuard Profile (at ME+0x29D38F)
{ "BtGuardProfileConfig": 3 }
Intel On-Die Root CA (ODCA CA2)
│ https://tsci.intel.com/.../ODCA_CA2_CSME_Indirect.crl
└── signs
CSME ADL ROM CA0 (Root of Trust — CPU fuses)
│ Serial: 0x01 | SHA-256: 86474ecc2fc0c74b
│ BURNED INTO HARDWARE — CANNOT be changed
├── signs
│ CSME ADL SVN01 Kernel CA0 (Core ME OS)
│ └── signs CSME ADL PAVP 01SVN0 (DRM)
│ └── signs PAVP SGX CP0 + Playready
└── signs
CSME ADL PTT 01SVN0 (Platform Trust)
└── signs 3 PTT signing certificates
| 属性 | 值 |
|---|---|
| 笔记本 | Lenovo IdeaPad Gaming 3 15IAH7 (82S9) |
| CPU | Intel Core i7-12650H(第 12 代 Alder Lake) |
| ME 版本 | CSME 16.0.15.1735 |
| ME SKU | Consumer LP |
| ME 日期 | 2022-02-17 |
| 构建 | JMCN48WW |
| PCH | ADL Device 5182,Rev A1 |
Intel ME(也称为 Intel 管理引擎或 CSME)是嵌入在平台控制器中枢(PCH)中的自主子系统。自 2008 年以来,它一直存在于每一款 Intel 消费级芯片组中。
+-------------------------------------------------------+
| YOUR COMPUTER |
| |
| +-----------+ +-----------+ +---------------+ |
| | | | | | | |
| | Windows | | Linux | | Intel ME | |
| | (your OS)| | (maybe) | | (secret OS) | |
| | | | | | | |
| +-----------+ +-----------+ +---------------+ |
| | | | |
| +------- CPU ---+------- PCH ----+ |
| |
| You control this You NEVER see this |
+-------------------------------------------------------+
我们发现了构成 ME 内部操作系统的全部 29 个模块:
| 模块 | 大小 | 用途 |
|---|---|---|
kernel | 106 KB | 操作系统内核 — 秘密计算机的大脑 |
bup | 312 KB | 启动(Boot Up)— 电脑通电时首先运行的代码 |
syslib | 148 KB | 系统库 — 操作系统核心功能 |
loadmgr | 28 KB | 模块加载器 — 动态加载其他模块 |
vfs | 92 KB | 虚拟文件系统 — 管理 ME 内部存储 |
evtdisp | 16 KB | 事件分发器 — 处理中断和事件 |
maestro | 16 KB | 编排引擎 — 协调各子系统 |
| 模块 | 大小 | 用途 |
|---|---|---|
crypto | 216 KB | AES/RSA/HMAC — 加密 ME 所接触的一切 |
policy | 36 KB | 安全策略引擎 — 决定你能做什么 |
fpf | 20 KB | 熔丝保护(Fused Protection Fuses)— 硬件根密钥 |
rot.key | 2 KB | 信任根密钥 — ME 的加密身份 |
mca_boot | 16 KB | 启动认证 — 验证固件完整性 |
mca_srv | 28 KB | 运行时安全 — 持续监控系统 |