arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1709.02746cs.OScs.CR
收藏

FreeGuard:一个更快的安全堆分配器

FreeGuard: A Faster Secure Heap Allocator

Sam Silvestro, Hongyu Liu, Corey Crosser, Zhiqiang Lin, Tongping Liu

摘要:

尽管多年来软件安全性有所改善,但与堆相关的攻击仍然是一个严重的威胁。一个原因是许多现有的内存分配器在许多方面都有不足。例如,面向性能的分配器被设计为具有非常有限的针对攻击的对策,但是安全分配器通常遭受显著的性能开销,例如,运行速度慢10倍。因此,本文介绍了FreeGuard,一个安全的内存分配器,防止或减少了广泛的堆相关的攻击,如堆溢出,堆过度读取,使用后释放,以及双重和无效的自由。FreeGuard与默认的Linux分配器具有相似的性能,平均开销不到2%,但在安全性保证方面提供了显着的改进。FreeGuard还解决了现有安全分配器的多个实现问题,例如可扩展性问题。实验结果表明,FreeGuard是非常有效的防御各种堆相关的攻击。

英文摘要:

In spite of years of improvements to software security, heap-related attacks still remain a severe threat. One reason is that many existing memory allocators fall short in a variety of aspects. For instance, performance-oriented allocators are designed with very limited countermeasures against attacks, but secure allocators generally suffer from significant performance overhead, e.g., running up to 10x slower. This paper, therefore, introduces FreeGuard, a secure memory allocator that prevents or reduces a wide range of heap-related attacks, such as heap overflows, heap over-reads, use-after-frees, as well as double and invalid frees. FreeGuard has similar performance to the default Linux allocator, with less than 2% overhead on average, but provides significant improvement to security guarantees. FreeGuard also addresses multiple implementation issues of existing secure allocators, such as the issue of scalability. Experimental results demonstrate that FreeGuard is very effective in defending against a variety of heap-related attacks.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑