随机内存为应用程序安全性增强? [英] Memory randomization as application security enhancement?

查看:192
本文介绍了随机内存为应用程序安全性增强?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近,我来到了吹捧的Windows 7的新防卫增强一个微软的文章具体做法是:

I recently came upon a Microsoft article that touted new "defensive enhancements" of Windows 7. Specifically:

  • 在地址空间布局随机化(ASLR)
  • 堆随机
  • 在堆栈随机

文章接着说,......一些防御是在核心操作系统和微软的Visual C ++编译器提供了其他的,但没有说明这些策略是如何将真正提高安全性。

The article went on to say that "...some of these defenses are in the core operating system, and the Microsoft Visual C++ compiler offers others" but didn't explain how these strategies would actually increase security.

谁知道为什么随机内存提高了安全性,如果在所有?难道其他平台和编译器使用类似的策略?

Anyone know why memory randomization increases security, if at all? Do other platforms and compilers employ similar strategies?

推荐答案

它通过使其难以predict那里的东西都在内存提高了安全性。相当多的缓冲区溢出通过将(例如)一已知的常规的地址在堆栈上,然后返回到它利用工作。这是更难做,不知道相关程序的地址。

It increases security by making it hard to predict where something will be in memory. Quite a few buffer overflow exploits work by putting (for example) the address of a known routine on the stack, and then returning to it. It's much harder to do that without knowing the address of the relevant routine.

据我所知,OpenBSD的是关于第一个做到这一点,最起码在相当知名的操作系统的个人电脑。

As far as I know, OpenBSD was about the first to do this, at least among the reasonably well-known OSes for PCs.

这篇关于随机内存为应用程序安全性增强?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆