Alc*_*ott 5 stack buffer-overflow
我从一本书中读到,缓冲区溢出可能用作注入将攻击系统的漏洞利用代码的方式。和堆栈随机化是防范此类攻击的有效途径之一。
我不明白什么是堆栈随机化及其如何防止这些攻击?
消除堆栈或缓冲区溢出(或使其变得更加困难)的技术称为地址空间布局随机化(ASLR),而不是堆栈随机化。其背后的理论是尝试随机化项目在内存中的位置,以使注入恶意代码的任务变得更加困难。一些缓冲区溢出和堆栈溢出攻击依赖于了解项目在内存中的位置,以便能够注入可以进行有效内存引用的代码。
所有这一切的困难在于,即使有了这样的机制,仍然有可能注入自包含代码,这些代码可以在运行时进行有效的相对内存引用,从而允许恶意代码执行。
查看stackoverflow 上的这篇文章,其中包含有关缓冲区溢出的更多信息的链接。