首页> 外文会议>Information and Communications Security >Encoding Function Pointers and Memory Arrangement Checking against Buffer Overflow Attack
【24h】

Encoding Function Pointers and Memory Arrangement Checking against Buffer Overflow Attack

机译:编码功能指针和内存安排检查以防止缓冲区溢出攻击

获取原文

摘要

Program counter is the only mechanism for processor to access instruction to execute. Protecting program counter is the fundamental defense for securing computer system. This paper presents a scheme of protecting program counter by encoding function pointers. In the scheme, every function address is encoded by linker. Compiler inserts instructions for decoding function addresses before call instruction. Encoding code pointers, function addresses as well as return addresses in stack frame, provides substantial coverage of protecting program counter. Several suggestions are also made to detect compromised code pointers at run-time without memory space for sensor mechanism. A demo Linux system has been under construction with the proposed scheme. Experimental data shows performance slowdown less than 10% when all return addresses and function addresses are encoded. With a Pentium Ⅲ processor of 866MHz, the overhead for each function call is on the order of nanoseconds. We plan to migrate parts of our code pointer encoding scheme from linker to dynamic linker, which should improve security and performance.
机译:程序计数器是处理器访问指令以执行的唯一机制。保护程序计数器是确保计算机系统安全的根本防御措施。本文提出了一种通过对函数指针进行编码来保护程序计数器的方案。在该方案中,每个功能地址均由链接器编码。编译器在调用指令之前插入用于解码功能地址的指令。编码代码指针,函数地址以及堆栈帧中的返回地址,为保护程序计数器提供了相当大的覆盖范围。还提出了一些建议,以在运行时检测损坏的代码指针而没有用于传感器机制的存储空间。带有建议方案的演示Linux系统已在构建中。实验数据显示,对所有返回地址和函数地址进行编码后,性能下降速度不到10%。使用866MHz的奔腾Ⅲ处理器,每个函数调用的开销约为纳秒。我们计划将代码指针编码方案的一部分从链接器迁移到动态链接器,这将提高安全性和性能。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号