什么是堆栈随机化以及它如何防止缓冲区溢出攻击?

时间:2012-07-01 01:13:12

标签: stack buffer-overflow

我从一本书中读到,缓冲区溢出可能被用作注入攻击系统攻击代码的方法。 堆栈随机化是防止此类攻击的有效方法之一。

我无法理解什么是堆栈随机化以及它如何防止这些攻击?

1 个答案:

答案 0 :(得分:2)

而不是堆栈随机化,称为Address space layout randomization (ASLR)的失败(或更难以实现)堆栈或缓冲区溢出的技术。这背后的理论是尝试随机化项目在内存中的位置,以使注入恶意代码的任务更加困难。一些缓冲区溢出和堆栈溢出攻击取决于知道项目在内存中的位置,以便能够注入可以进行有效内存引用的代码。

所有这些的困难在于,即使有这样的机制,仍然可以注入自包含的代码,在运行允许恶意代码执行时可以生成有效的相对内存引用。

Checkout this posting on stackoverflow,其中包含有关缓冲区溢出的更多信息的链接。