摘 要: | 空间内存错误是C语言程序中经常出现的一种漏洞。针对目前空间内存错误检测方法的性能开销高的问题,提出一种高效的空间内存错误检测方法 EBound。EBound使用动态指针边界检测方法检测程序中的空间内存错误,并使用静态污点分析方法来消除不必要的指针边界检查,从而降低了性能开销。EBound基于LLVM编译器实现,不需要对程序源代码进行修改。实验结果表明,EBound可以有效地防御利用空间内存错误进行的缓冲区溢出攻击。与当前比较好的空间内存错误检测方法 Soft Bound相比,EBound有更低的性能开销。
|