PEC-V:基于RISC-V协处理器的内存溢出防御机制

作者:张雨昕; 芮志清; 李威威; 张画; 罗天悦; 吴敬征*
来源:计算机系统应用, 2021, 30(11): 11-19.
DOI:10.15888/j.cnki.csa.008351

摘要

内存溢出攻击是计算机系统中历史悠久且依旧广泛存在的攻击手段,而指针加密技术可以有效阻止此攻击.通过软件手段实现这一技术的方式将导致程序运行效率的显著降低并且产生额外的内存开销.所以本文基于RocketChip的RoCC (Rocket Custom Coprocessor)接口实现一个加解密指针的协处理器PEC-V.其通过RISC-V的自定义指令控制协处理器加解密返回地址和函数指针等值达到阻止溢出攻击的目的. PEC-V主要使用PUF(Physical Unclonable Function)来避免在内存中储存加密指针的键值,所以此机制在保证了加密键值的随机性的同时也减少了访问内存的次数.实验结果显示, PEC-V能够有效防御各类缓冲区溢出攻击,且程序平均运行效率仅下降3%,相对既往方案显著提高了性能.