扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
最近开始折腾VISTA,上个月在SST的BIOS沙龙SP2上讲过一点自己研究的心得加上收集到的一点资料混合起来的东西。会后几个朋友要资料,说实话,第一是VISTA在内存安全保护方面的改进是比较大的,涉及面比较广,而VISTA的研究也是才刚刚开始,关于VISTA的研究资料也是非常的少,每个改进都需要自己慢慢的去分析对比和研究。第二就是VISTA的安全越来越需要安全环境特别是编译器方面的配合,VISTA本身的库代码几乎全部是用.net编译器编译的,我使用的.net 2003也缺乏一些VISTA下支持的安全特性(估计MS有新的针对VISTA的开发环境),而且以前对.net的研究几乎没有,现在才开始找些.net的书来补习。第三就是目前我的工作也比较繁杂,研究VISTA的安全保护机制只是因为某一项工作的需要,并非是这项工作的主题,而我这个人又比较懒散,觉得只是分析机制,缺乏新创意的东西懒得动笔写。但是现在觉得好久没有写点东西出来了,又答应过一些朋友要发布的,想想还是慢慢凑一些东西出来吧,只是关于VISTA的研究是长期的工作,靠一人之力只能有一点研究就写一点吧。所以学当年小四的学习笔记形式写写,因为当然其中错误与偏漏之处难免,只能姑称之漫谈。
什么是Safeseh
以前堆栈溢出在的WINDOWS系统中一直都是安全问题的核心,其中覆盖seh的技术早为人熟知。Safeseh是一项保护和检测和防止堆栈中的seh被覆盖而导致利用的技术。
Safeseh是VISTA的新技术吗?
Safeseh并不是VISTA的新技术,Safeseh是xp sp2就已经引入的技术。但是由于Safeseh需要.net的编译器编译的image才支持,而xp sp2系统自身所带的库和执行程序都是非.net的编译器编译的,所以使得Safeseh在xp sp2上只能成为聋子的耳朵,xp sp2下,堆栈溢出只要覆盖seh的地址就能轻松饶过所有的保护机制。因此在xp sp2时代,关于Safeseh的研究从来不被重视,甚至对他的机理研究都存在很多错误,认为Safeseh只是屏蔽了数据段的地址,只要是库函数空间地址就是被许可的,一些Safeseh的操作被误解读成函数地址保护的操作。
为什么VISTA下Safeseh才开始发威VISTA自身带的系统库。
程序99%以上是用.net的编译器编译的,.net的编译器默认编译时候就会在IMAGE里产生对Safeseh的支持。因此VISTA下的应用加载的系统库几乎全是带有Safeseh支持的IMAGE,堆栈溢出发生时覆盖这些支持Safeseh模块的SEH都能被检查出来,使得覆盖堆栈中的SEH地址的技术不再可用。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者