偷看CPU的保险箱:skitter-creek-bath-salts从C6 stash挖出的5个隐藏寄存器

发布时间:2026/10/9 0:34:30

偷看CPU的保险箱:skitter-creek-bath-salts从C6 stash挖出的5个隐藏寄存器 偷看CPU的保险箱skitter-creek-bath-salts从C6 stash挖出的5个隐藏寄存器【免费下载链接】skitter-creek-bath-saltsUnlocking _everything_ on the CPU with DRAM scrambling项目地址: https://gitcode.com/gh_mirrors/sk/skitter-creek-bath-saltsskitter-creek-bath-salts 是一个用 DRAM scrambling内存地址打乱技术解锁 CPU 保护区域的开源安全研究项目它重编程内存控制器的底层地址翻译让 PSP 私有内存、SMM、微码补丁以及 CPU 深睡时藏起来的 C6 stash保险箱一览无余。这篇文章带你快速看懂它是如何从 C6 stash 里挖出 5 个平时看不见的 CPU 寄存器状态以及为什么这 5 个寄存器只是开胃菜。C6 stash是什么CPU深睡前的寄存处CPU 核心进入 C6 深度休眠时会被断电寄存器状态无处安放——于是 CPU 会把每个核心的完整 x86 架构上下文寄存到 DRAM 顶部的一段隐藏保留区里等唤醒时再恢复。这一段内存就是C6 stash位于物理内存顶端TOP_MEM 之上对操作系统、ring-0 甚至 CPU 自身都不可见在 AMD Family 16h 平台上它是一块8 MiB的保留区从 userspace/dram_carveouts.c 可以看到它紧挨着 8 MiB 的 PSP 私有内存两者加起来就是内存顶部的保险箱区每个休眠核心占一个16 KiB 保存区测试机上 4 个核心分别落在CC6_BASE {0, 0x4000, 0x8000, 0xc000}。换句话说CPU 把最私密的寄存状态明文放在了 DRAM 的电容里只是钥匙地址翻译藏在内存控制器深处。一张表看懂从C6 stash挖出的5个寄存器作者对每个核心保存区的逐字节扫描先顺手命中了这 5 个经典 x86 状态以下为例测平台上 core 0 的值完整命令见 README.md 的 C6 章节保存区偏移寄存器/状态挖出的值core 00x8b0GS 基址 / per-cpu base0xffff9be4e36000000x9a0CR3页表根0x0fd460000x9b8IA32_APIC_BASE0xfee009000xa38可变 MTRRbase/mask0x6f000000 / …08000xb10保存的 RIP0xffffffff8f3a0029有意思的细节藏在 APIC_BASE 那一列4 个核心里只有 core 0 的值是0xfee00900BSP 位被置位其余三个都是0xfee00800——引导处理器和它的三个打工AP就这样在保险箱里被当场抓包。但这 5 个寄存器 ring-0 本来就能读真正让研究者兴奋的是保存区里其他东西ring-0 根本摸不到、也从未被公开文档讨论过的 CPU 内部寄存器状态正躺在那里等人行走。三步解锁如何读取C6保护内存完整命令清单整个流程分三步工具都在 userspace/ 目录跑之前请确认目标平台项目只在 AMD Family 16h 上验证过平台自检./userspace/platform_check——不在支持列表上的机器直接退出避免白折腾定位保险箱sudo ./userspace/dram_carveouts --region cc6会输出CC6_BASE和CC6_SIZEuserspace/dram_carveouts.c 里封装了CC6 位于 TOP_MEM0这一布局规则倒出数据用 userspace/dram_dump.c 通过已求解的别名映射读取sudo ./userspace/dram_dump --protected-pa $CC6_BASE --length 0x10000 \ $(printf -- --map %s data/maps/2x4gb_*.map) cc6.bin映射文件data/maps/下的.map是破解钥匙由 analysis/gather_aliases.py 收集地址别名、再交给 analysis/unspaghettify.py 用 z3 解出。仓库自带多种内存配置1x1gb ~ 2x4gb的现成映射按你机器的 DIMM 布局选对应前缀即可没有匹配的拓扑就按 USAGE.md 自己烤一份。为什么这些寄存器只是冰山一角C6 stash 保存区里最值钱的其实是0x1800 处的微码补丁副本核心掉入 C6 时易失的微码 RAM 会熄灭CPU 把加载中的补丁存进 stash唤醒时重新灌回——所以这一份副本正是核心下次醒来要执行的东西。作者从 stash 里抠出 0x5f0 字节后与系统固件里的微码比对fam16h 命中 68/94 个数据块确认抓到了正在跑的微码详见 README.md。再往下就是 userspace/dram_poke.c 的主场读得进去的别名同样写得进去。PSP 私有内存fTPM 的 RSA 引擎就住在这里、SMM 的 SMRAM都已被同一套 DRAM scrambling 管道逐一解锁——正如项目口号所说翻转内存控制器最后一个环节的一位保险箱里的一切都敞开了。动手前的检查清单与注意事项✅ 仅在自己的硬件上做实验DRAM_RW会实时改动内存控制器状态系统可能不稳定务必备好断电重启手段✅ 全程需要 root 权限先跑./userspace/platform_check排除不支持的平台✅ 想从零构建环境git clone https://gitcode.com/gh_mirrors/sk/skitter-creek-bath-salts后执行make构建 kernel/spaghettify.ko 内核模块与全部用户态工具✅ 完整工具链参数与原理见 USAGE.md快速上手示例见 README.md。一句话总结CPU 把秘密交给 DRAM 保管却忘了最底层的地址翻译可以被重编程。skitter-creek-bath-salts 证明保险箱的锁装在一致视图上而打乱坐标之后锁形同虚设。 【免费下载链接】skitter-creek-bath-saltsUnlocking _everything_ on the CPU with DRAM scrambling项目地址: https://gitcode.com/gh_mirrors/sk/skitter-creek-bath-salts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/9 0:29:30

V100 16G跑27B量化模型实测:理论极限与标题水分的差距

先别急着高兴。我在硬件群里看到“单卡 V100 16G 跑 Qwen3.8-27B 量化:1000 t/s prefill、60 decode、256K 上下文”这个标题时,第一反应不是“老卡又封神”,而是“这数字到底怎么算出来的”。V100 是 2017 年的 Volta 架构,16GB …

2026/10/9 0:29:30

AI资讯日更工作流:结构化、可审计、面向开发者的技术简报系统

1. 项目概述:这不是一份“新闻稿”,而是一套可复用的AI资讯日更工作流“2026-09-28 AI最新资讯日报”这个标题乍看像一张过期报纸的存档,但真正有经验的人一眼就能看出——它根本不是内容成品,而是一个高度结构化的日期占位符领域…

2026/10/9 0:29:30

RAG系统验收别只看一个指标:从多选题命中率到多维评测的实战复盘

上一周我们团队在药企客户现场做 RAG 系统验收。同一个知识库、同一批测试问题、同一条模型链路,内部自动化评测跑出来的多选题命中率是 95 分,业务方换了一套更严格的评分规则复核,成绩掉到 85 分。会议室里的气氛一下就紧张了。这个差距不是…

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/8 10:03:20

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 0:04:27

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略当数万字的学位论文初稿经历开题、实验、问卷与多轮文献梳理最终成形时,绝大多数研究生都会面临一道全新的形式审查关卡:AIGC 疑似度排查。在高校毕业审核流程中,盲审前的文本检测通…

2026/10/9 0:04:27

食堂节能改造源头工厂,商用厨房设备焕新方案广受好评

商用厨房作为餐饮经营、单位供餐的核心后勤阵地,其设备配置、动线规划与运维体系直接决定后厨作业效率、运营成本与合规性。从基础的灶具、制冷存储设备,到油烟净化、水处理等配套系统,每一个环节的合理性都与食品安全、能耗管控、消防安全挂…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑