本文探讨了加密货币存储领域安全威胁的演变,重点关注用于泄露保护数字钱包的私钥和助记词的现代方法。现代加密货币生态系统面临着日益增长的网络攻击威胁,这些攻击旨在窃取作为数字钱包安全基础的私钥和助记词。攻击的复杂性和精密程度逐年提升,不仅利用软件漏洞,还利用现代移动设备的硬件漏洞。除了剪贴板劫持、键盘记录、二维码欺骗以及利用 BIP32/BIP39 钱包实现中的漏洞等传统威胁外,研究人员越来越多地发现窃取智能手机上存储的加密数据的新方法。
2025 年 10 月初,卡内基梅隆大学和几所美国大学的研究人员公布了一项研究成果,在科学界和密码学界引起了轰动。他们在 Android 操作系统中发现了一个严重漏洞,命名为“Pixnapping”,并注册为标识符 CVE-2025-48561。该漏洞允许攻击者逐步重建 Android 设备的屏幕内容,从而提取敏感的视觉信息,包括私钥、助记词,以及来自 Google Authenticator 等应用的一次性 2FA 认证代码。
研究人员发现的这一威胁依赖于 Android 软件与硬件层之间的深度交互——从系统 API 到 GPU 的图形压缩引擎。Pixnapping 结合了 GPU.zip 侧信道技术与 Android Intents 和窗口模糊 API 的合法使用,能够隐蔽地逐像素重建屏幕内容。这种方法将标准智能手机变成了潜在泄露用于管理数字资产(包括比特币 (BTC)、以太坊 (ETH)、莱特币 (LTC)、XRP 和其他加密货币)的关键信息的来源。
危险之处在于,用户无需授予攻击者任何权限——恶意应用可以在后台运行,对 Android 安全系统保持不可见。因此,攻击者可以在钱包备份或提现期间获得助记词的视觉访问权限,这实际上等同于完全控制受害者的加密资产。
此类威胁的组合——从 Pixnapping 攻击到通过 Rowhammer、Spectre、Meltdown 及相关侧信道方法造成的硬件泄露——凸显了在移动操作系统与金融技术交汇处重新思考安全策略的必要性。每一个像 CVE-2025-48561 这样的新漏洞都表明,移动访问加密货币的便利性与确保基础密码安全之间的平衡是多么脆弱。
解码后的交易 816760531f334651d711909a93a5959e74b3dbe126f50dbb6efb3e7d61f224ba 代表了研究工作的文档化证据,记录在比特币区块链的不可变账本中。对 RawTX 的结构分析揭示了比特币版本 1 交易的经典架构,其中包含一个关键元素—— OP_RETURN 字段,其中嵌入了指向 Pixnapping 攻击研究内容的 URL。

https://github.com/zoeir/Bitcoin-Message-Transaction
交易结构分解:
该交易使用来自前一笔交易的单一输入 (UTXO),并创建三个输出:第一个输出值为零,包含 OP_RETURN 消息(77 字节数据);第二个输出将 1000 聪 (0.00001 BTC) 转移到接收地址 12ib7dApVFvg82TXKycWBNpN8kFyiAN1dr ;第三个输出将 22,500 聪的找零返回给发送地址 1G84gkhBsBM9B5Xsqw2s9b6H1oqg4nPEiW 。交易费用为 1000 聪,这确保了网络矿工的优先处理。

010000000147ac1bf5cff92293f1244c141103dd1ec46ce260f117a8f8df00e6ad0cd4d15a000000008a47304402204f0c3c52b5941993d92e85bda70f93d15b76ad3af6ceab4a1bbb9b33f5432f38022079458bd4071e7c9ab7a3a9d6872083218becb935dbe8eba7862cc30d59db1da10141049a296066ca26625e22c5759a0ed00120e0183b52454b4e6155cd3855bd689f5231497de3552b9a7b976933a803b76632f6f2ac1134acf9af248e697d19a15abbffffffff0300000000000000004d6a4b7777772e626974636f696e6d6573736167652e72752f536f757263655f436f64652f5069786e617070696e675f41747461636b5f746f5f457874726163745f507269766174655f4b657973e8030000000000001976a91412d5a845f2b212ce0c3bd65a4035881d9219090e88ace4570000000000001976a914a5dfdff9f85277310a40d2978fb7040f7af8ca4b88ac00000000
加密签名与认证:
138 字节的 ScriptSig 字段包含基于 secp256k1 曲线的 ECDSA 签名,确认了发送方私钥的所有权。这验证了交易的合法性,并防止未经授权的支出。OP_RETURN 中解码的消息: ” www.bitcoinmessage.ru/Source_Code/Pixnapping_Attack_to_Extract_Private_Keys “ 作为区块链上的永久标记,将该交易与针对这一严重漏洞的科学研究联系起来。
CVE-2025-48561 是一个高严重性的严重漏洞,由加州大学伯克利分校、加州大学圣迭戈分校、华盛顿大学和卡内基梅隆大学的研究团队于 2025 年 2 月发现。Pixnapping 攻击展示了 Android 安全模型的根本性破坏,允许任意应用在无需任何特殊权限的情况下,对其他应用的视觉内容进行逐位重建。
针对 Android 设备的 Pixnapping 攻击三阶段示意图。Pixnapping 结合使用 Android API 和硬件侧信道 GPU (zip) 从设备屏幕提取视觉信息。该攻击利用三个关键的 Android 机制:通过 Android Intents 将其他应用的活动发送到渲染管线、对其他应用的像素执行图形操作(模糊),以及测量这些操作的副作用,这些副作用取决于像素颜色。 cylab.cmu+ 2
Pixnapping 基于 GPU.zip 漏洞,该漏洞由同一研究小组于 2023 年发现。此攻击利用现代 GPU 中基于硬件的图形数据压缩,这种压缩依赖于数据、对软件透明,并且存在于几乎所有现代 GPU 中。 cylab.cmu+ 2
图形数据压缩是集成 GPU (iGPU) 中的一项优化,可节省内存带宽并提高帧渲染性能。GPU.zip 攻击允许恶意网站从最新版 Google Chrome 中的 iframe 提取像素,从而违反浏览器的安全模型。 hertzbleed+ 1

Pixnapping 利用 SurfaceFlinger(负责显示和排列图形元素的 Android 系统进程)。恶意应用使用 Android Intents 启动目标应用,使其在屏幕上显示敏感信息。然后创建一个“掩蔽活动”——一个半透明覆盖层,隐藏目标应用,仅保留一个选定的像素透明。 bleepingcomputer+ 1
Pixnapping 攻击分三个主要阶段进行,每个阶段使用特定的 Android API 和系统调用: pixnapping+ 1
阶段 1:调用目标应用:
恶意应用使用 Android Intents 调用目标应用的导出活动,例如 Google Authenticator 或 Signal。此过程导致敏感信息(2FA 代码、种子)显示在屏幕上并传递到 SurfaceFlinger 渲染管线。 bleepingcomputer+ 1
阶段 2:诱导图形操作
:此阶段创建一层半透明 Android 活动,使用掩蔽、增强和编码技术来操纵受害者的单个像素。该攻击利用 Android 窗口模糊 API 对像素执行图形操作,并使用 VSync 回调以足够的精度测量渲染时间,从而提取单个像素值。 theregister+ 2
阶段 3:侧信道提取。
最后阶段使用 GPU.zip 侧信道逐个像素地窃取阶段 2 中处理的像素。通过测量由模式相关的 GPU 优化(如图像数据压缩)引起的渲染时间差异,攻击可以确定像素颜色信息。 gbhackers+ 1

自 Android 12 起可用的 Android 窗口模糊 API 提供了实现窗口模糊效果的功能。有两种类型的窗口模糊:背景模糊(创建磨砂玻璃效果)和后方模糊(模糊窗口后面的整个屏幕)。 source.android
Pixnapping 以以下方式滥用这些 API:
// Example code used in the attack (conceptual)
window.setBackgroundBlurRadius(blurRadius);
window.addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
WindowManager.LayoutParams.setBlurBehindRadius(blurRadius);
该攻击使用 windowIsTranslucent 创建半透明活动,并操纵背景可绘制对象的 alpha 通道以隔离单个像素。 source.android
为了精确测量渲染时间,Pixnapping 使用 VSync 回调。VSync(垂直同步)是一种将帧速率与显示器刷新率同步的信号。在 Android 上,这通过 Choreographer.VsyncCallback 实现。 blurbusters+ 1
// Conceptual example of using VSync callbacks
Choreographer.getInstance().postVsyncCallback(new Choreographer.VsyncCallback() {
@Override
public void onVsync(long frameTimeNanos) {
// Measuring time to extract pixel color
measureRenderingTime(frameTimeNanos);
}
});

研究人员在五台运行 Android 13-16 版本的设备上测试了 Pixnapping 攻击: cylab.cmu+ 1

Pixnapping 漏洞在各种 Android 设备上的测试结果
该攻击在 Google Pixel 6 上效果最佳,恢复 2FA 验证码的成功率达到 73%。三星 Galaxy S25 由于信号中存在“显著噪声”,表现出对该攻击的抵抗力。 bleepingcomputer+ 1
优化版本的攻击能够在不到 30 秒的时间内从 Google Authenticator 中提取 6 位数的 2FA 验证码。这一时间范围符合 TOTP 验证码标准的 30 秒有效期,使得该攻击具有实用性。 cylab.cmu+ 2
更复杂的数据需要更长的提取时间:
Pixnapping 对加密货币用户构成特别威胁。钱包助记词在屏幕上可见的时间比临时的 2FA 验证码更长,因此容易受到像素滑动攻击。虽然恢复完整的 12 词助记词需要相当长的时间,但如果用户在抄写助记词时将其保留在屏幕上,该攻击仍然可行。 currently.att.yahoo+3

研究人员提供了多个演示 Pixnapping 攻击的视频:
1. Pixnapping 基础演示
2. Tweakers 技术演示
研究结果已于 2025 年 10 月 13-17 日在中国台湾台北举行的第 32 届 ACM 计算机与通信安全会议(ACM CCS 2025)上正式发表。报告包括对攻击技术方面的详细分析以及实际示例的演示。 cylab.cmu+ 2
截至 2025 年 10 月,Google 和研究人员尚未发现 Pixnapping 漏洞在现实世界中被利用的证据。Google 表示:“我们尚未发现任何野外利用的证据。”然而,这并不排除攻击者秘密使用的可能性。 bleepingcomputer+ 1
研究人员确定了利用该漏洞的几种潜在场景:
1. 窃取 2FA 验证码。
最常见的场景是从 Google Authenticator、Authy 和其他 2FA 应用中窃取临时认证码。攻击者可以利用窃取的验证码绕过双因素认证,未经授权访问受害者的账户。 cylab.cmu+ 1
2. 入侵加密货币钱包。
一个特别危险的场景是窃取比特币和其他加密货币钱包的助记词。如果用户在屏幕上显示助记词以进行记录或验证,恶意应用可以逐步提取整个助记词,从而完全控制钱包。 currently.att.yahoo+ 2
3. 拦截私人通信。
该攻击可用于从 Signal 等加密消息应用中提取消息,即使启用了屏幕安全功能也是如此。这对依赖端到端加密安全性的用户构成严重威胁。 bleepingcomputer+ 1
虽然尚未检测到使用 Pixnapping 的特定恶意软件样本,但该技术可以集成到现有的 Android 木马家族中。例如,SpyAgent 恶意软件家族已经使用图像识别来窃取助记词密钥,而添加 Pixnapping 功能可以显著扩展其能力。 currently.att.yahoo+ 1

执行 Pixnapping 攻击的恶意应用无需在其 Android 清单文件中声明任何权限。这使得它在应用商店安全检查中与良性应用无法区分。 pixnapping+ 1
清单文件的基本结构:
xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application>
<activity android:name=".MaliciousActivity">
<!-- Without declaring any permissions -->
</activity>
</application>
</manifest>
攻击的关键组成部分是使用 Android Intent 来启动目标应用:
java:
// Conceptual example of target application activation code
Intent intent = new Intent();
intent.setAction("com.google.android.apps.authenticator2.AUTHENTICATE");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
研究人员分析了 Google Play 商店中近 10 万个应用,发现通过 Android Intent 调用的操作有数十万种,这表明该攻击具有广泛的适用性。 bleepingcomputer
提取单个像素的过程涉及创建具有特定配置的透明 Activity:
java:
// Conceptual example of creating a masking activity
Window window = getWindow();
WindowManager.LayoutParams params = window.getAttributes();
params.alpha = 0.99f; // Almost fully transparent
params.flags |= WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
window.setAttributes(params);
// Setting blur to induce graphical operations
window.setBackgroundBlurRadius(20);

像素提取后,使用类似于光学字符识别(OCR)的技术来重建原始内容。该算法分析提取像素的模式,并重建字符和数字。 pixnapping+ 1
Google 最初尝试在 2025 年 9 月的 Android 安全更新中修复该漏洞,方法是限制应用可触发模糊的 Activity 数量。该公司在一份安全公告中指出:“请求多次模糊的应用:(1)允许通过测量窗口之间的模糊时间窃取像素,并且(2)很可能是无效的。” bleepingcomputer+ 2
研究人员很快发现了一种绕过方法,通过改变时序特征恢复了攻击的有效性。该绕过方法目前仍处于保密状态,尚未公开披露。 pixnapping+ 2
Google 正在开发更全面的补丁,该补丁将在 2025 年 12 月的 Android 安全公告中发布。然而,研究人员指出,有效修复 Pixnapping 需要对 Android 核心机制进行更改,例如允许应用阻止其他应用在其敏感内容上叠加图层。 cylab.cmu+ 2
根本问题在于底层的侧信道 GPU.zip 仍未得到修补。截至 2025 年 10 月,尚无 GPU 制造商承诺修补 GPU.zip。这意味着即使有 Android 补丁,硬件漏洞仍然容易受到新攻击方法的影响。 pixnapping+ 1
三星已收到该漏洞的通知,并被警告 Google 的补丁不足以保护三星设备。该公司承认了该问题,但由于硬件复杂性,将其评为“低严重性”。 currently.att.yahoo+ 2

1. 及时更新:
研究人员的首要建议是在 Android 补丁发布后尽快安装。用户应启用自动安全更新,并定期检查新补丁。 cylab.cmu+ 1
2. 使用硬件钱包。
对于加密货币用户,最有效的保护是使用硬件钱包。硬件钱包将私钥和助记词离线存储,消除了通过屏幕攻击入侵的可能性。 tradingview+ 1
3. 避免显示敏感信息。
建议用户避免在联网设备上显示助记词或其他高度敏感的数据。如果必须存储助记词,请使用离线设备。 currently.att.yahoo+1

1. 叠加层保护:
开发者可以通过检测其他应用是否尝试在其应用之上创建透明图层来实现叠加层保护。这可以使用 bitdefenderWindowManager.LayoutParams.FLAG_SECURE 来完成。
2. 最小化显示时间。
关键信息应在屏幕上显示尽可能短的时间。例如,2FA 验证码可以在短暂间隔后自动隐藏。 bitdefender
3. 异常活动检测:
应用可以监控异常活动模式,例如频繁的模糊 API 调用或异常的叠加层行为。 bitdefender
1. Android 权限增强可能需要特殊权限才能访问模糊 API 及其他可在攻击中被利用的图形操作。 cylab.cmu
2. 应用隔离
加强应用之间的隔离可以防止其他应用通过图形操作访问像素。 bitdefender
3. 硬件解决方案
长期解决方案可能需要在 GPU 层面进行更改,以消除侧信道 GPU.zip。 pixnapping+1
在 Pixnapping 攻击(CVE-2025-48561)的背景下,该攻击利用 Android 硬件和软件机制在视觉上拦截助记词和私钥,考虑在更基础的硬件层面运作的额外攻击向量至关重要。 Phoenix Rowhammer 攻击 (CVE-2025-6202) 代表了利用 DRAM 内存物理特性的新一代攻击方式,允许攻击者操纵 DDR5 RAM 中的单个数据位,包括比特币钱包的关键密码数据结构。 github+ 4
苏黎世联邦理工学院计算机安全组(COMSEC)与谷歌于 2025 年 9 月联合发表的研究表明,尽管实施了先进的目标行刷新(TRR)保护机制,全球最大的 DRAM 制造商 SK 海力士生产的 DDR5 内存仍然容易受到 Rowhammer 攻击。Phoenix 代表了首个系统级的 Rowhammer 攻击,能够利用革命性的自 校正同步 技术绕过 DDR5 设备中部署的所有现代 TRR 方案。 linkedin+ 7
Rowhammer 是动态随机存取存储器(DRAM)中的一种硬件漏洞,源于现代内存芯片制造技术的物理限制。随着 DRAM 制造标准不断缩小(至 10 nm、7 nm 及以下),单个存储单元之间的物理距离显著减小,导致相邻存储行之间的电磁干扰增加。 kaspersky+ 6
位翻转诱导机制:
每个 DRAM 单元都是一个电容器,存储对应于逻辑值 0 或 1 的电荷。要向特定存储行读取或写入数据,需要执行 ACTIVATE 操作,该操作将目标行(攻击行/目标行)的电压电平提升到高水平,而相邻行(受害行)保持低电压电平。快速连续地重复激活同一存储行会产生电磁干扰,加速相邻行中电容器的放电,可能导致在下一次刷新周期之前位值自发变化(位翻转)。 tomshardware+ 6
电荷衰减的数学模型:
研究表明,受害行中位翻转的概率 PflipP_{flip}Pflip 取决于攻击行的激活次数 NactN_{act}Nact、刷新操作之间的时间 tREFt_{REF}tREF 以及单元之间的距离 dcelld_{cell}dcell:

其中 VaggrV_{aggr}Vaggr 是攻击行激活电压。现代 DDR5 模块默认平均每 3.9 µs 需要一次刷新命令,这是 DDR4 的两倍频率,正是为了对抗日益增强的 Rowhammer 效应。 arxiv+ 4
DDR4 TRR:第一代保护
从 DDR4 开始,DRAM 制造商实施了目标行刷新(TRR)机制——一组直接集成在 DRAM 芯片中的硬件计数器和逻辑,用于检测可疑的内存访问模式。TRR 基于两个关键参数运行:最大激活计数(MAC)——行激活的最大次数——以及最大激活窗口(t~MAW~)——计算激活次数的时间窗口。 csdn+4 youtube
当特定行的激活次数在时间窗口 t~MAW~ 内达到 MAC 阈值时,TRR 会自动为相邻受害行发起刷新操作,防止位翻转。然而,TRRespass 研究(2020)证明了该方案的一个关键漏洞:TRR 机制使用 采样 ——仅监控有限的内存行子集,而非同时监控所有行。Many-Sided Rowhammer 攻击利用了这一限制,同时激活多个攻击行(某些情况下多达 19 个),使 TRR 采样机制过载,允许“未被注意”的行继续锤击而不受刷新操作的对抗。 usenix+4 youtube
DDR5 增强型 TRR:增强的第二代保护
DDR5 引入了显著改进的 DRAM 内 TRR 电路,具有更复杂的检测和对抗算法。制造商实施了更频繁的刷新命令(每 3.9 µs 对比 DDR4 的 7.8 µs),集成了片上纠错码(ECC),以及更先进的激活跟踪机制。在 2025 年 9 月 Phoenix 发布之前,DDR5 被认为在生产环境中表现出对 Rowhammer 攻击的增强抵抗力,且“出乎意料的是,DDR5 在没有额外刷新控制命令的情况下实现了这一点。” comsec-files.ethz+5
同步问题与自校正机制
苏黎世联邦理工学院研究人员的一项关键发现是,当前最先进的同步方法会定期错过刷新命令,使其无法有效对 DDR5 发起 Rowhammer 攻击。Phoenix 通过两项革命性技术解决了这一问题: securityweek+ 2。
第一项技术:线程拆分。 锤击和同步访问被拆分到不同的执行线程中,以改进刷新检测。虽然相比最先进技术有所改进,但这种方法仍然无法在足够多的刷新间隔内维持同步,从而无法诱导位翻转。 github+ 1
第二项技术是自校正同步。 Phoenix 不是试图防止错过刷新命令,而是检测到错过的刷新并相应地重新同步模式执行。这项技术使 Phoenix 能够在整个刷新窗口内与刷新命令保持同步,这足以用新模式诱导位翻转。 security.googleblog+ 4
自校正同步的数学模型:
利用盲区绕过 TRR
Phoenix 利用了 TRR 机制中的盲区——行激活监控被削弱的时间和空间窗口。研究人员发现,TRR 采样器必须持续采样对同一组行的访问,从而允许(未被采样的)对其他行的访问在不受 TRR 刷新操作干预的情况下继续锤击。Phoenix 将访问模式与刷新命令同步,使受害行在关键时间点处于活动 TRR 监控区域之外。 vusec+ 7
测试配置与受影响设备
苏黎世联邦理工学院研究人员在 15 个由 SK 海力士制造、生产于 2021 年至 2024 年间的 DDR5 UDIMM 模块上测试了 Phoenix。所有测试设备均表现出对 Phoenix 的脆弱性,在每个模块上成功在数秒内诱导位翻转。测试在配备 AMD Zen 4 处理器的平台以及与 Antmicro 联合开发的基于 FPGA 的专用 Rowhammer 测试平台上进行。 theregister+ 8
Уязвимость CVE-2025-6202 зарегистрирована с базовым CVSS-скором 7.1 (High severity). Vulnerability description: «Vulnerability in SK Hynix DDR5 on x86 allows a local attacker to trigger Rowhammer bit flips impacting the Hardware Integrity and the system’s security. This issue affects DDR5: DIMMs produced from 2021-1 until 2024-12».thehackernews+5
AMD EPYC 8004、9004、9005 系列处理器;AMD EPYC 9004、9005 嵌入式系列;AMD Ryzen 6000、7000、7035、7040、7045、8000、8040、9000 系列;AMD Ryzen 9000HX 系列;AMD Ryzen AI 300、AI Max 300 系列;AMD Ryzen Threadripper 7000、9000;AMD Ryzen 嵌入式 7000、8000、9000 系列。amd
实际攻击场景与时间特征
研究人员展示了 Phoenix 的三种端到端利用场景: techradar+ 5
1. 页表项(PTE)操纵以实现权限提升: Phoenix 成功对页表项执行位翻转, 成功率达 100% ,从而获得对受限内存区域的未授权访问。这允许本地非特权攻击者修改自己的页表,获得对系统中所有物理内存的读写访问权限。 pmc.ncbi.nlm.nih+ 4
2. 从虚拟机中提取 SSH 密钥: Phoenix 展示了 73% 的成功率,可从同一物理服务器上共置的虚拟机中提取 RSA-2048 私有 SSH 密钥。这对云计算环境构成严重威胁,因为多个虚拟机共享同一物理内存。 kaspersky+ 5
3. 通过 sudo 二进制操纵实现 root 权限提升: Phoenix 通过 sudo 的内存中二进制操纵实现了 33% 的概率 获得 root 访问权限。在默认设置的普通系统上,完全提权至 root 大约需要 109 秒 (不到 2 分钟)。 linkedin+5
ECDSA 故障注入攻击的理论基础
椭圆曲线数字签名算法(ECDSA)是比特币中的基本密码原语,提供交易认证和数字资产所有权的证明。ECDSA 中的私钥是一个标量值 ddd(secp256k1 为 256 位),公钥由此计算得出:Q = d⋅GQ = d \cdot GQ = d⋅G,其中 GGG 是椭圆曲线的基点。 digital.wpi+ 7
ECDSA 签名结构:
对于哈希为 h=H(m)h = H(m)h=H(m) 的消息 mmm,签名由对 (r,s)(r, s)(r,s) 组成,其中:
其中 kkk 是随机 nonce,nnn 是 secp256k1 曲线上点群的阶。 securityboulevard+ 4
通过 Rowhammer 诱导位翻转的故障注入攻击
Rubber Mallet 的研究(arXiv:2505.01518,2025 年 5 月)表明,先进的 Rowhammer 技术可以 以显著高于此前记录的速度 诱导 多个相邻位翻转。关键的是,这些相关翻转能够实现有效的密码签名校正攻击,证明了此类翻转如何能够从 OpenSSL 实现中恢复 ECDSA 私钥,而单比特方法在此类场景中不可行。 arxiv+ 2
假设攻击者可以在签名操作之前诱导存储在 RAM 中的私钥 ddd 的最低有效位(LSB)发生位翻转。LSB 中的位翻转将导致以下两种结果之一: trailofbits+ 2
情况 1: 位 0 → 1,等同于 d′=d+1d’ = d + 1d′=d+1
情况 2: 位 1 → 0,等同于 d′=d−1d’ = d − 1d′=d−1
使用修改后的密钥 d′d’d′ 创建的签名可以使用修改后的公钥进行验证:
攻击者使用翻转后的私钥生成签名,然后使用 Q + GQ + GQ + G 和 Q − GQ − GQ − GQ − G 验证签名验证。如果签名使用 Q + GQ + GQ + G 验证通过,则原始位为 0;如果使用 Q − GQ − GQ − G 验证通过,则该位为 1。通过在其他位位置重复此过程(在位置 20、21、22、…、2255 2^0, 2^1, 2^2, …, 2^{255} 20, 21, 22, …, 2255 翻转位并使用 Q ±2i⋅GQ \pm 2^i \cdot GQ ±2i⋅G 进行验证),攻击者可以逐位重建整个私钥 ddd。 arxiv+ 5
在Kwong等人的论文(arXiv:2505.01518)中,研究人员成功演示了通过Rowhammer位翻转从OpenSSL实现中端到端提取ECDSA私钥。实验在多种DDR4 DRAM配置(Corsair Vengeance、G.SKILL Ripjaws)上进行,使用了TRRespass和BlackSmith Rowhammer工具。一个关键发现是局部位翻转的高频出现——多个位翻转聚集在同一DRAM行内。arxiv+ 2
Rahman等人(2023年)的一项研究(digital.wpi.edu)演示了通过对TLS服务器进行故障注入,在三星M378B5773DH0-2GB DRAM上攻击ECDSA密钥恢复的攻击。研究人员通过向服务器内存注入故障发起了29,918次连接,并成功收集了故障签名以恢复私钥。尽管256位ECDSA密钥大小远小于32,768位的内存页大小(大部分翻转位位于密钥之外),该攻击在足够多的尝试次数下仍然成功。 digital.wpi
在RAM中存储私钥及攻击向量
比特币钱包,无论是软件钱包还是部分硬件钱包,在执行关键操作时都不可避免地会将私钥加载到RAM中:签署交易、钱包初始化、从助记词派生密钥以及解密wallet.dat文件。即使使用AES-256-CBC加密来保护wallet.dat(如Bitcoin Core所做),私钥也必须临时解密并存储在RAM中以签署交易。 cryptodeeptech+ 6
针对比特币钱包的Rowhammer攻击威胁模型:
场景1:桌面系统上的本地攻击者。攻击者在受害者比特币钱包所在的同一台计算机上运行恶意应用程序。恶意进程在Bitcoin Core或其他钱包在签名操作期间存储解密私钥的内存区域中诱导Rowhammer位翻转。Phoenix展示了在DDR5系统上从高精度内存读取和写入任意数据的能力。 github+ 9
场景2:云/VPS共置攻击。许多比特币节点和钱包用户将服务托管在云平台上的虚拟专用服务器(VPS)上。Phoenix展示了从共置虚拟机中提取RSA-2048 SSH密钥的73%成功率。类似的攻击可能针对运行Bitcoin Core节点或其他钱包服务的虚拟机内存中存储的比特币私钥。 tomshardware+ 5
场景3:针对比特币移动钱包的Android设备Rowhammer攻击。Pixnapping(CVE-2025-48561)与潜在的移动LPDDR4/LPDDR5 Rowhammer变体的结合构成了多层威胁。尽管Phoenix专门针对桌面DDR5,但研究表明LPDDR4也包含TRR机制,并且可能容易受到改编版Rowhammer攻击。 wikipedia+ 1
假设一个256位比特币私钥ddd存储在内存地址AkeyA_{key}Akey处。Rowhammer攻击者可以在位iii(其中0≤i≤2550 \le i \le 2550≤i≤255)处诱导位翻转,将密钥修改为d′=d⊕2id’ = d \oplus 2^id′=d⊕2i(与2i2^i2i进行XOR运算)。为了恢复原始密钥,攻击者收集大量故障签名{(rj,sj)}\{(r_j, s_j)\}{(rj,sj)},每个签名使用密钥的不同位翻转版本dj′d_j’dj′生成。
使用格攻击方法(例如Hidden Number Problem求解器),攻击者可以以成功概率恢复ddd:
其中PflipP_{flip}Pflip是成功翻转目标位的概率,NsamplesN_{samples}Nsamples是收集到的故障签名数量。 pmc.ncbi.nlm.nih+ 3
ATTACKSAFE SOFTWARE和rowhammer_attack工具
加密货币安全生态系统包括用于分析Rowhammer相关漏洞的专用程序。GitHub仓库demining/Rowhammer-Attack演示了ECDSA签名故障差分分析的实际应用,用于从五种不同比特币钱包的交易中推导私钥。
实际使用示例:
./attacksafe -tool rowhammer_attack -open RawTX.txt -save SecretKey.txt该工具分析RawTX比特币交易并提取ECDSA签名参数(r,s)(r,s)(r,s)。如果检测到指示故障签名或nonce重用的模式,该工具将应用密码分析技术来恢复KKK密钥(nonce)或ddd私钥。 github
成功提取示例: github
Deployments ECDSA:
SecretKey = 0xe5fa9dccef88781e25e77bd1ea7830c0b33c57481b79007cda117da8139ea7c3
RawTX = 010000000104118e34a0d3c06c842d14707ed5f333d3ba1d35240086a4b5738a2fa810abec1d0000006a473044022004b1d0c7d278439811c27d9ff06b3bb0fd20d5cc90d97083266bdba7d0693bb20220282c6cea6b9ad6f4633596204ebad4716e2a086090faf62a6908bf63a1724ad501210335a395eca8191c43ccee4d91e98b9baef39476d7482cf636e5b71975c69feebdffffffff014e020000000000001976a914154813f71552c59487efa3b16d62bfb009dc5f1e88ac00000000“Deployments ECDSA”标签表示比特币区块链交易中的严重漏洞。HEX格式的密钥“K”表示用于生成签名的nonce。 github
开源基于FPGA的Rowhammer测试平台
Google和苏黎世联邦理工学院开发了专门的开源基于FPGA的测试平台,用于分析DDR5 Rowhammer漏洞。与Antmicro合作,创建了两个平台: security.googleblog
DDR5 RDIMM平台:用于测试服务器计算机中常见的Registered DIMM(RDIMM)内存的新型DDR5 Tester板。 security.googleblog
SO-DIMM平台:支持标准SO-DIMM引脚排列的版本,兼容工作站和终端用户设备中常见的现成DDR5 SO-DIMM内存条。 security.googleblog
这些平台可在GitHub(comsec.ethz.ch/phoenix)上获取,允许安全研究人员对各种DRAM配置的Rowhammer敏感性进行详细分析。 comsec.ethz+1
提高刷新率:安全性与性能之间的权衡
Phoenix研究人员建议将刷新率提高3倍(从3.9 µs降至约1.3 µs)作为有效的对抗措施。然而,这会导致8.4%的性能下降,对生产系统而言是显著的权衡。关键问题是,DRAM设备无法通过固件更新进行修补——该漏洞的硬件本质意味着受影响的内存模块在其整个生命周期内将始终保持脆弱状态。 techradar+ 5
ECC和片上ECC的有效性有限
Phoenix证明了DDR5内置的片上纠错码(ECC)无法阻止Rowhammer。片上ECC旨在纠正由DRAM单元自然退化引起的单位错误和部分多位错误。然而,Rowhammer可以在同一内存区域中诱导多个相关的位翻转,超出ECC的纠错能力。 reddit+ 7
无法进行追溯性硬件修复
与可以通过安全补丁修复的软件漏洞不同,Rowhammer代表了DRAM架构中一个根本性的物理问题。截至2025年10月,没有GPU或DRAM制造商承诺在芯片设计层面修复该硬件漏洞。这意味着数十亿使用受影响内存的设备在未来数年内仍将保持潜在脆弱状态。 pixnapping+12
加密货币持有者的多层安全策略:
1. 使用具有隔离内存的硬件钱包。使用配备铁电RAM(FeRAM)或安全元件的硬件钱包(Ledger、Trezor、BC Vault One),将私钥与系统主DRAM隔离。BC Vault One使用FeRAM存储私钥,提供与系统内存Rowhammer攻击的物理隔离。youtube itnext+ 3
2. 避免在DDR5系统上的热钱包中存储大量资产。在SK Hynix DDR5系统(2021-2024)上运行Bitcoin Core或其他软件钱包的用户应通过将主要资产转移到冷存储来最小化风险敞口。 github+ 3
3. 在气隙环境中隔离签名操作。对于高价值交易,请在隔离系统上使用离线签名,该系统永不连接网络且不运行不受信任的代码。 itnext+ 2
4. 定期进行内存审计和异常检测。监控系统内存中Rowhammer攻击特有的可疑访问模式(高频行激活、异常刷新模式)。 pmc.ncbi.nlm.nih+ 3
5. 在可用时升级到已修补的系统。虽然无法进行硬件修复,但未来的DDR5芯片(2024年后)可能包含改进的TRR机制。用户应关注DRAM制造商的安全公告,并在发布更安全的内存模块时更新硬件。 github+4
Pixnapping(CVE-2025-48561)和Phoenix Rowhammer(CVE-2025-6202)攻击的结合展示了加密货币安全威胁格局的关键演变。Pixnapping通过GPU.zip侧信道和窗口模糊API攻击Android硬件和软件层,以视觉方式拦截助记词。Phoenix通过电磁干扰诱导攻击DRAM的物理层,允许直接操纵内存中的密码密钥位。 bleepingcomputer+ 10
这两种攻击都通过利用无法修补的设备硬件特性绕过了传统的软件防护。对于比特币用户而言,这意味着必须从根本上重新思考威胁模型:密码安全性不再仅由ECDSA的数学复杂性或助记词的可靠性来保证——硬件的物理属性成为关键的攻击面。 arxiv+ 9
利用这些漏洞从丢失的比特币钱包中恢复私钥既代表了恢复服务的合法任务,也代表了攻击者的危险攻击向量。加密货币安全的未来需要一种整体方法,整合硬件级安全保证、密码实现的正式验证以及对新兴侧信道威胁的持续监控。 trailofbits+ 7
Pixnapping漏洞代表了移动攻击的重大演变,展示了现代性能优化如何被利用。该攻击对加密货币用户尤其危险,因为助记词被泄露可能导致资金的完全损失。 gbhackers
被利用漏洞的根本性质——使用合法的Android API和GPU硬件优化——表明完整的解决方案需要Google、设备制造商和GPU供应商的协调努力。 pixnapping+ 1
Pixnapping的研究强调了在实施新系统功能和硬件优化时考虑安全影响的关键重要性。随着移动设备成为管理数字资产的主要工具,防范此类复杂攻击对生态系统的安全至关重要。
预计Google的12月补丁将提供更强大的保护,但长期解决方案需要对Android架构以及可能的GPU硬件进行根本性改变。在此之前,用户应遵循安全建议,并在Android设备上处理加密货币资产时格外谨慎。
因此,Pixnapping漏洞(CVE-2025-48561)不仅仅是软件缺陷的又一个例子,而是对数字资产密码安全基础构成威胁的全新攻击类别的展示。研究表明,即使Android用户界面中视觉上不可侵犯的元素也可能成为关键数据泄露的来源——从私钥和助记词到保护加密货币钱包的一次性2FA代码。本质上,屏幕上的每个像素都成为密码认证链中的薄弱环节。
Pixnapping因其隐蔽性和多功能性而特别危险。该攻击不需要任何权限,能躲避用户察觉,并能够利用硬件侧信道GPU.zip将屏幕图像重建到单个像素级别。这使得任何Android设备都可能成为敏感数据泄露的潜在来源,包括存储在移动钱包中的比特币(BTC)、以太坊(ETH)、XRP、莱特币(LTC)和其他加密货币。
该攻击即使在最新版本的Android和现代GPU上也能生效,这表明移动系统架构中存在根本性漏洞,其中性能和视觉优化与隐私要求相冲突。Pixnapping打破了应用之间视觉隔离的假象,表明保护密码信息不仅需要考虑网络和逻辑漏洞,还必须考虑计算的物理和图形副作用。
为确保加密货币生态系统的稳定性,需要系统性措施:收紧Android安全策略、限制第三方应用访问底层图形API,以及修订GPU数据压缩的架构原则。没有这些屏障,即使最安全的加密算法也可能受到能够直接从屏幕窃取密钥的攻击。
最终,Pixnapping 对整个行业敲响了警钟:没有硬件和视觉隔离,密码学保护毫无意义。如果屏幕上显示的视觉数据可以被外部进程重建,那么屏幕上的每一个动画、每一句助记词或每一个二维码,都会成为资金泄露的直接渠道。对于加密货币用户来说,这意味着一点:即使私钥在屏幕上瞬间出现,也可能让他们失去全部数字资产。
本材料是为 CRYPTO DEEP TECH 门户网站创建的,旨在确保金融数据安全和椭圆曲线密码学 (secp256k1) 免受 ECDSA 弱签名的影响,应用于 BITCOIN 加密货币。软件开发人员不对使用本材料承担任何责任。
Telegram: https://t.me/cryptodeeptech
视频: https://youtu.be/qZvJUonp228
视频教程: https://dzen.ru/video/watch/68ff42ad9f0528014a4b1cf8
来源: https://cryptodeeptech.ru/phoenix-rowhammer-attack
