面向 IoT 设备的基于 Sponge 的控制流保护
密码学与安全
2018-02-20 v1
摘要
物联网(IoT)中的嵌入式设备面临广泛的安全挑战。例如,软件攻击者在远程接口上执行代码注入与代码复用攻击,而对 IoT 设备的物理访问可篡改内存中的代码、窃取机密知识产权(IP),或发起故障攻击以操纵 CPU 的控制流。本工作中,我们提出基于 Sponge 的控制流保护(SCFP)。SCFP 是一种有状态的、基于 sponge 的方案,用于确保软件 IP 的机密性及其在 IoT 设备上的真实执行。在编译时,SCFP 以指令级粒度对软件加密并认证。执行期间,位于 CPU 取指与译码阶段之间的 SCFP 硬件扩展持续解密并认证指令。SCFP 中基于 sponge 的认证加密产生了细粒度控制流完整性,从而防范针对代码与控制流的代码复用、代码注入和故障攻击。此外,SCFP 可抵御内存中软件的任何篡改。为评估,我们用 SCFP 扩展了一个 RISC-V 核并流片了真实的片上系统(SoC)。该设计上 SCFP 在代码大小与执行时间上的平均开销分别为 19.8% 与 9.1%,从而满足嵌入式 IoT 设备的要求。
引用
@article{arxiv.1802.06691,
title = {Sponge-Based Control-Flow Protection for IoT Devices},
author = {Mario Werner and Thomas Unterluggauer and David Schaffenrath and Stefan Mangard},
journal= {arXiv preprint arXiv:1802.06691},
year = {2018}
}
备注
accepted at IEEE EuroS&P 2018