研究人员利用电压故障注入解锁矿卡,将 CMP 170HX 改造为 A100-80G
来源标题:Using voltage glitching to unleash the A100 in my mining card
一名研究人员在 GA100 芯片上发现电压故障注入漏洞,可烧录任意熔丝,从而将 CMP 170HX 8GB 矿卡改造成接近 A100-80G 的显卡。解锁后所有功能 SM 均启用(约 120-126 个,视芯片体质而定),性能比零售 A100 快约 1.2 倍,NVLink、PCIe Gen4 等被禁功能也可解锁。
以下正文由 AI 翻译自 Hacker News(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
View more blogs with the tag hardware, View more blogs with the tag security 本页内容摘要 致谢 GA100 版本 硬件限制无熔丝熔断 Floor sweeping(地板扫描) 实现 FF 熔断电压故障注入1. 所有熔丝均被感测为零 2. RIR 读取被扰乱 3. Goldilock 的毛刺 最终结果帧缓冲解锁 计算解锁 PCIe 代际 NVLink 未来方向 参考文献 脚注 本页内容 我在 GA100 裸片上发现了一个电压故障注入漏洞,允许操作者熔断任意熔丝。利用该漏洞,我将我的 CMP 170HX 8GB 显卡改造成了实际上的 A100-80G!此外,我解锁的显卡实际上比零售版 A100 快约 1.2 倍,因为所有功能正常的 SM 都被启用了(约 120-126 个,取决于芯片体质),而不是 NVIDIA 为所有量产 A100 显卡选择的良率安全的 108 个 SM。最后,CMP 被禁用的功能,如 NVLink、PCIe Gen4、NVJPG、NVDEC、MIG,都可以通过这种方法解锁,不过我并未专门测试 NVJPG/NVDEC/MIG。 以下是我的“A100-80G”的显示和运行情况。 $ nvidia-smi --query-gpu=index,pci.bus_id,pci.device_id,name,memory.total; nvidia-smi topo -m index, pci.bus_id, pci.device_id, name, memory.total [MiB] 0, 00000000:81:00.0, 0x20C210DE, NVIDIA Graphics Device, 81920 MiB 1, 00000000:C1:00.0, 0x20C210DE, NVIDIA Graphics Device, 81920 MiB GPU0 GPU1 CPU Affinity NUMA Affinity GPU NUMA ID GPU0 X NV12 0-127 0 N/A GPU1 NV12 X 0-127 0 N/A FP16 FMA 吞吐量TFLOP/s 零售版 A100 72.488 TFLOP/s 1.00× 硬件解锁的 CMP 170HX 85.858 TFLOP/s 1.18× 零售版 A100 0306090 零售版 A100 72.488 TFLOP/s;硬件解锁的 CMP 170HX 85.858 TFLOP/s,来自下方原始 OpenCL 输出。完整 OpenCL 输出。-----------------------------------------------------------------------------. |----------------.------------------------------------------------------------| | Device ID 0 | NVIDIA Graphics Device | | Device ID 1 | NVIDIA Graphics Device | |----------------'------------------------------------------------------------| |----------------.------------------------------------------------------------| | Device ID | 0 | | Device Name | NVIDIA Graphics Device | | Device Vendor | NVIDIA Corporation | | Device Driver | 610.43.03 (Linux) | | OpenCL Version | OpenCL C 3.0 | | Compute Units | 124 at 1410 MHz (7936 cores, 22.380 TFLOPs/s) | | Memory, Cache | 81338 MB VRAM, 3472 KB global / 48 KB local | | Buffer Limits | 20334 MB global, 64 KB constant | | Max Workgroup | 1024 threads | |----------------'------------------------------------------------------------| | Info: OpenCL C code successfully compiled. | | FP64 Compute (double, fma ) 11.287 TFLOPs/s (1/2 ) | | FP32 Compute (float , fma ) 22.781 TFLOPs/s ( 1x ) | | FP16 Compute (half2 , fma ) 85.858 TFLOPs/s ( 4x ) | | INT64 Compute (long , ab+c) 2.759 TIOPs/s (1/8 ) | | INT32 Compute (int , ab+c) 22.769 TIOPs/s ( 1x ) | | INT16 Compute (short2, a*b+c) 20.273 TIOPs/s ( 1x ) | | INT8 Compute (char4 , dp4a ) 81.169 TIOPs/s ( 4x ) | | Memory Bandwidth ( coalesced read ) 1883.17 GB/s | | Memory Bandwidth ( coalesced write) 2137.93 GB/s | | Memory Bandwidth (misaligned read ) 1460.81 GB/s | | Memory Bandwidth (misaligned write) 250.13 GB/s | | PCIe Bandwidth (send ) 13.10 GB/s | | PCIe Bandwidth ( receive ) 11.69 GB/s |
| PCIe Bandwidth ( bidirectional) (Gen3 x16) 11.58 GB/s |
|---|
| '-----------------------------------------------------------------------------' |
| NVIDIA 使用熔丝进行产品分级、安全功能以及其他有趣的访问控制功能——而关键在于,在 NVIDIA 裸片上熔断某些熔丝可以授予你更多访问权限,而不是更少。在正确设计的安全体系中,熔断的熔丝应始终导致更具限制性的状态,因为熔断的熔丝无法以经济可行的方式恢复。NVIDIA 的设计允许通过熔断更多熔丝来放宽限制! |
| 在本文中,我将介绍 GA100 裸片、其熔丝控制器、VFI 的使用以及未来的研究方向。我决定在此发布一些促成我研究的成果。 |
| 我的工作建立在 Jon Pry 以及许多其他人的先前研究之上,他们投入了大量时间来更好地理解 GA100 裸片。在另一位安全研究员独立发现同一漏洞之后,我披露了我的发现;我认为将这一信息公之于众符合公众的最佳利益。这些发现在本文发表之前已披露给 NVIDIA 的产品安全团队。 |
| GA100 是一款 NVIDIA 裸片,已用于近 20 种不同的 SKU——A100 是最知名的变体。我不会深入探讨每个 SKU,但会介绍与我的工作相关的 GA100 表现形式,涵盖 CMP 170HX 和 A100 的不同版本。 |
| 制造完成时,GA100 裸片拥有 128 个 SM、12 个 FBP、5 个 NVDEC 单元、一个 PCIe Gen4 x16 控制器,并且根据帧缓冲大小,附带 4-6 堆与裸片共封装的 HBM。NVIDIA 使用 eFuse 进行良率控制和产品分级——未分级的 GA100 根据缺陷测试和制造商需求转变为更具限制性的变体。 |
| 在产品分级最极端的表现形式之一中,CMP 170HX 是一款以太坊挖矿卡,名义上具有 8 或 10 GB 的应用可见帧缓冲容量,实际上板载分别约 80 和 40 GB 的 HBM!这项工作主要围绕如何完全解锁并使用该容量。先前的工作在通过软件方法解锁 GA100 方面取得了巨大进展;VFI 带我们走完了最后一英里。 |
| 那么,NVIDIA 如何利用熔丝从同一裸片生产数据中心 A100 和挖矿 CMP 卡?要理解这一点,我们需要更仔细地研究位于 GA100 上的熔丝控制器。 |
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。