DEP/ASLR 原理及攻击

本文深入探讨DEP(数据执行保护)和ASLR(地址空间布局随机化)两种安全机制,解释其工作原理以及如何在安全防御中发挥作用。DEP防止shellcode执行,ASLR则通过随机化地址空间来增加攻击难度。尽管如此,攻击者仍能通过ROP、未启用ASLR的模块、HeapSpray等技术进行绕过。Java Applet Spraying和JIT Spraying也是攻击者利用的手段,利用解释器的特性执行恶意代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.覆盖返回地址为jmp esp,执行shellcode,当函数返回,返回地址被覆盖为jmpesp,导致执行shellcode

  对付方法:引入Dep(data ExecutionPrevention 数据执行保护),堆,栈上的内存页属性为不可执行,执行会出错。

DEP

    数据执行保护(DEP)(Data Execution Prevention) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。在 Microsoft Windows XP Service Pack 2及以上版本的Windows中,由硬件和软件一起强制实施 DEP。
    支持 DEP 的 CPU 利用一种叫做“No eXecute 不执行”的技术识别标记出来的区域。如果发现当前执行的代码没有明确标记为可执行(例如程序执行后由病毒溢出到代码执行区的那部分代码),则禁止其执行,那么利用溢出攻击的病毒或网络攻击就无法利用溢出进行破坏了。如果 CPU 不支持 DEP,Windows 会以软件方式模拟出 DEP 的部分功能。 

Anti-Dep:

绕过Dep技术ROP(return oriented programming),ROP由一系列的 Gadget组成。所谓ROP Ga

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值