发新话题
打印

[讨论]数据执行保护

[讨论]数据执行保护

议题提交:Kernet
信息来源:邪恶八进制信息安全团队

最近在phrack网站上看到一篇文章叫Kernel-mode backdoors for Windows NT的,我准备把内容复制下来慢慢看,于是用ctrl+A全选,这时候出现了数据执行保护的错误并强行关闭了IE,Explorer进程也死了。我先是以为是复制的内容过大导致失败的,我又找了很多大的文章复制没有出现类似问题,原来是这篇文章的问题(实际上文章只是.txt格式的),XP却认为它可能从受保护内存上运行代码,于是强制关闭了IE。这个是不是跟杀毒软件也杀带病毒原代码的.txt文件是不是很相似?

早就听说XP SP2中安全设置提高并且加入了数据执行保护机制,但是一直没有接触过,最近遇到这个问题就仔细思考了一下并且找了些资料。

DEP(数据执行保护) 无法帮助防止有害的程序安装在计算机中,而是对程序进行监视,确定它们是否能够安全地使用系统内存。要执行监视操作,DEP 软件既可以独立运行,也可以与兼容微处理器协作,将某些内存位置标记为“不可执行”。如果程序尝试从受保护的内存位置运行代码(无论是否为恶意代码),DEP 均将关闭程序并发送通知。

也就是在受保护的内存中无论是否执行的代码无论安全不安全都会被DEP关闭,但是我看了一下,XP SP2的默认设置是仅为基本Windows程序和服务启用DEP,也就是说其它程序没有受DEP的保护,从系统属性-》高级-》性能设置-》数据执行保护中可以看到两个选项:
1.仅为基本Windows程序和服务起用DEP
2.为除下列选定程序之外的所有程序和服务起用DEP

也就是说,系统服务程序被溢出的可能减小,通过覆盖程序返回地址而执行Shellcode可能性减小。而且有的程序可能因为兼容性问题而被强制关闭。而且从XP开始系统增强了异常处理机制,以往从栈里覆盖SEH控制程序流程可能不可行了。这样就形成了新的挑战,怎样在强的安全机制下溢出系统并且执行我们的Shellcode?怎样溢出XP SP2和Win 2003?大家说说自己知道或者思考过的新的思想新的溢出技术。
岑夫子,丹丘生,将进酒,杯莫停!与君歌一曲,请君为我侧耳听!钟鼓馔玉不足贵,但愿长醉不愿醒!

TOP

既然如此,我们可以让代码不在堆栈中执行。
好像无敌贼寂寞翻译的一个文章中有说的。

TOP

发新话题