【问题标题】:a simple example for showing the use of Data Execution Prevention (DEP) security feature显示使用数据执行保护 (DEP) 安全功能的简单示例
【发布时间】:2012-06-27 17:35:21
【问题描述】:

我发现很难弄清楚为什么我们需要 DEP!

Microsoft states这是关于 DEP 的:

DEP 的主要好处是有助于防止从数据中执行代码 页。

通常,代码不会从默认堆和堆栈执行。 硬件强制 DEP 检测从这些运行的代码 位置并在执行时引发异常。

软件强制 DEP 可以帮助 防止恶意代码被盗用 Windows 中异常处理机制的优势

这是什么意思?

你能给我一个简单的非代码示例吗?

【问题讨论】:

标签: .net windows security


【解决方案1】:

假设我是一名攻击者,我发现了一个漏洞,它(唯一)允许我在您的应用程序中设置 EIP(程序计数器)。 利用这一点的经典方法是编写一个小代码存根(“shellcode”)并将其作为一些参数发送到您的应用程序(例如,它可能被放入银行应用程序的“名字”字段中)。您的应用程序会将其存储在堆栈(或堆)缓冲区中,然后我可以设置 EIP - 使用我发现的漏洞 - 指向此缓冲区的开头。瞧,我的代码存根被执行,你的盒子被 pwned :)

使用 DEP,CPU 知道拒绝执行此数据的尝试,并且您会更安全一些。

在实践中它比这更复杂,但这就是它的要点。这有意义吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 2014-04-03
    相关资源
    最近更新 更多