5

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

我不明白什么是堆栈随机化以及它如何防止这些攻击?

4

1 回答 1

4

代替堆栈随机化,消除(或更难)堆栈或缓冲区溢出的技术称为地址空间布局随机化(ASLR)。这背后的理论是尝试随机化项目在内存中的位置,以使注入恶意代码的任务更加困难。一些缓冲区溢出和堆栈溢出攻击依赖于知道项目在内存中的位置,以便能够注入可以进行有效内存引用的代码。

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

查看stackoverflow 上的此帖子,其中包含指向有关缓冲区溢出的更多信息的链接。

于 2012-07-01T01:52:27.493 回答