中文

RISC-V 二进制的通用标记方法

密码学与安全 2022-12-13 v1 硬件体系结构

摘要

随着开源指令集架构 RISC-V 的广泛流行,针对特定防御需求的定制化硬件安全方案日益普及。这些方案通常需要专门的编译器,能够在生成的二进制文件中插入元数据(称为标签),和/或利用新指令扩展 RISC-V 指令集架构。开发此类编译器可能繁琐且耗时。本文提出 COGENT,一种面向 RISC-V 架构的通用指令标签生成器。COGENT 能够为每条指令关联宽度可配置且可变(1 至 20 位)的标签,并可发出对控制流完整性(CFI)方案实现至关重要的标签。COGENT 将所有标签与标号编码为 nop 指令,从而提供完全的向后兼容性。我们在 SPEC CPU2017 基准测试套件的部分程序上评估 COGENT,报告在最低与最高标签覆盖率下二进制大小分别增加 29.3% 与 18.27%。此外,我们在商用现货(COTS)未修改 RISC-V 硬件上执行带标签程序,发现相对于向后兼容性的执行时间开销在最低与最高覆盖率下分别为 13.4% 与 5.72%。最后,通过一个案例研究,我们给出了 COGENT 可能的应用场景。

关键词

引用

@article{arxiv.2212.05614,
  title  = {Generic Tagging for RISC-V Binaries},
  author = {David Demicco and Matthew Cole and Gokturk Yuksek and Ravi Theja Gollapudi and Aravind Prakash and Kanad Ghose and Zerksis Umrigar},
  journal= {arXiv preprint arXiv:2212.05614},
  year   = {2022}
}