← 返回信息流
AI 资讯Hacker News·3 天前

解读红外图像中的SRAM特征并建立可信度边界

原标题:On Reading SRAMs in IR Images, and Establishing Bounds on Trust

速览

该研究探讨了利用红外成像技术读取SRAM物理特征的方法。通过建立可信度边界,该技术有助于识别硬件来源并增强系统安全性。

AI 深度解读

通过红外图像读取 SRAM 并建立信任边界

背景

在计算机安全领域,建立对硬件的信任至关重要。传统的可信启动(Trusted Boot)流程通常要求对系统中所有已知内存位的状态进行清零、打乱模式并计算哈希值。这一过程旨在限制恶意代码或外来代码在系统中隐藏的可能性。

然而,仅依靠软件层面的检查存在局限性。设计者可以通过物理手段“隐藏”内存,例如在芯片中插入额外的几 KB RAM。对于像 Baochip-1x 这样尺寸的芯片,这种微小的内存增加不会显著影响芯片面积,其功耗变化也容易被制造公差所掩盖。此外,通过“秘密敲门”寄存器(仅在接收到正确指令序列时才激活内存),可以防止通过暴力扫描地址空间来发现这些隐藏内存。这种隐蔽的 RAM 可以规避安全测量,成为执行恶意操作的有效基础。

上个月展示的“Name Ware”案例证明,尽管非破坏性的红外(IR)成像技术在 22nm 节点上无法解析单个比特单元,但它仍然能够约束 SRAM 宏(Macro)中的比特数量。这使得最终用户能够验证开源 RTL 系统(如 Baochip-1x)中声称的 RAM 与实际制造的是否一致,从而为系统的安全操作(如清零和测量所有已知 RAM 位的状态)提供强有力的边界约束。

核心内容

红外成像与 SRAM 宏的结构解析

红外成像可以通过物理测量为芯片上的 SRAM 总量设定上限。在 Baochip-1x 的案例中,简单的物理红外检查彻底消除了系统中存在额外 RAM 宏的可能性,因为即使是最低端的家用 IRIS 设备也能观察到 RAM 块——相对于红外扫描的分辨率,最小的 RAM 块显得非常巨大。

为了深入理解为何难以隐藏额外的内存,文章详细解析了 SRAM 宏的内部结构。以 Baochip-1x 中构成 RV32 数据缓存元素的 rdram1kx32 RAM 宏(“Macro D”)为例:

  1. 基本参数:这是一个双端口(1读/1写)RAM,组织形式为 1024 x 32 位。
  2. 视觉特征:在旋转至标准“教科书”方向后(列垂直,行水平),微图中较亮的区域富含金属,较暗的区域富含晶体管。晶体管密集的 RAM 阵列对应于中央脊柱两侧的八个深色矩形。
  3. 中央脊柱:这是电路设计中的常见模式。将电路一分为二可以将最大线长减半。这种镜像布局允许围绕中心轴实现完美对称。
  4. 地址解码器:沿宏中心可以看到两排地址解码器。这一结构可作为判断单端口还是双端口 RAM 宏的标志。
  5. 列感测放大器与驱动器:位于底部边缘。由于每列电路共享 4 个比特的电路,其间距较宽,即使在红外波长下也清晰可见。通过计数,可以确定宏每半部分有 16 个比特,总共 32 个比特。
  6. 中继器(Repeaters):RAM 被细分为四个明显的黑色行,中间夹杂着点状“金属丰富”区域。这些是中继器,用于减少 RAM 单元与其驱动器之间导线的最大长度。由于 RAM 阵列中的导线为了最大密度而采用最小宽度,其电阻较大,行为更像电阻链而非理想导线。插入中继器有助于提高性能。
  7. 存储单元推断:虽然实际存储单元太小无法直接看到,但可推断其总存储量为 256 位 x 16 位。实际组织形式为 (4×64)x16 位。即每个列电路连接到 4 个比特,低位地址用于选择这 4 个比特,而 6 位地址用于在 64 行中进行选择。

不同 RAM 宏的变体

文章还对比了其他两种 RAM 宏的结构:

  • bioram1kx32(“Macro A”):这是一个单端口 1kx32 RAM。其中央脊柱由单端口地址解码器组成,底部边缘有镜像对称的 2×16 位数据输入/输出驱动器/感测放大器。核心存储单元布局为 (64×4)x16,但没有中继器。单端口结构满足了 BIO 所需的时序,无需通过中继器牺牲密度,但代价是较低的 IPC(每时钟周期指令数),因为读写阶段是分离的。该设计优先考虑保持核心小型化。
  • aoram1kx36(“Macro E”):这是一种密度优化的 RAM 宏。其结构与前两者不同:地址解码器占据中间的黄色“脊柱”,列驱动器/解码器也主要位于中间而非边缘。虽然对于如此小的 RAM 块,密度优化的优势不明显,但可以推断行深为 512,组织形式为 128×4。读者可以通过观察更大的 ifram32kx36 宏来了解其结构如何随着规模扩大而有利地扩展。

制造工艺对布局的影响

在现代硅工艺中,整个芯片上的 RAM 宏始终保持相同的方向。随着节点尺寸减小,晶体管栅极的方向规则日益严格。晶圆厂针对晶体管栅极相对于基础硅晶体晶格的单一方向和间距进行了超优化以提高良率。晶体管栅极并非“绘制”,而是通过亚波长干涉图案“雕刻”而成。因此,无需担心寻找以奇怪角度或方向构建的 RAM。

隐藏额外内存的可能性分析

基于对 SRAM 宏结构的理解,文章分析了攻击者隐藏少量额外内存的可能性:

  1. 额外比特:每个 SRAM 比特都伴随一些开销电路。由于电路层面的原因,无法仅铺设额外的微小 SRAM 单元而不支持解码器、放大器和驱动器电路。因此,即使是最小的“额外” RAM 宏也会因周围的所有开销电路而变得显眼。
  2. 加宽数据路径:在所有情况下,我们都能清楚地看到 SRAM 中的列数。因此,通过向数据路径添加比特来加宽 SRAM 将明显表现为额外的列驱动器。
  3. 增加行:这是棘手的情况。虽然无法分辨单个比特,但文章指出增加行也会受到结构约束(原文在此处截断,但逻辑上暗示增加行也会改变宏观结构或需要额外的解码逻辑,从而可能被检测到)。

关键要点

  • 物理测量的必要性:软件检查无法发现通过“秘密敲门”寄存器隐藏的内存,物理红外成像提供了验证硬件真实性的关键手段。
  • SRAM 宏的可观测性:即使是最低端的红外设备也能观察到 RAM 宏,因为相对于红外分辨率,最小的 RAM 块依然巨大。
  • 结构特征作为指纹
    • 中央脊柱(地址解码器)可用于区分单端口和双端口 RAM。
    • 列驱动器的间距和可见性允许直接计数比特宽度。
    • 中继器(点状金属区域)的存在与否反映了性能与密度的权衡。
  • 隐藏额外内存的难度
    • 开销电路(解码器、驱动器)使得微小的额外 RAM 难以隐藏。
    • 加宽数据路径会留下明显的列驱动器痕迹。
    • 增加行也会改变宏观结构,难以完美融入现有布局而不被察觉。
  • 工艺一致性:现代制造工艺确保所有 RAM 宏具有统一的方向和布局规则,消除了因方向不同而隐藏内存的可能性。
  • 信任边界的确立:通过红外成像确认 SRAM 总量,可以为可信启动中的内存清零和状态测量提供严格的边界,防止恶意代码利用未计数的内存区域。

意义与影响

这项研究展示了物理侧信道分析在硬件安全验证中的强大作用。对于开源硬件(如 RISC-V 处理器)而言,代码开源并不等同于硬件实现完全透明。通过红外成像等非破坏性物理测量,用户可以独立验证芯片的物理实现是否与 RTL 描述一致,从而填补了软件审计与硬件信任之间的空白。

具体影响包括:

  1. 增强硬件信任:为终端用户提供了验证芯片是否包含未声明的隐藏内存(可能用于后门或恶意功能)的方法。
  2. 支持可信计算基(TCB)的完整性:通过确立 SRAM 总量的物理
查看原文 →bunniestudios.com