设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 安全技术 >> 安全分析 >> 谈Safeseh如何保护VISTA用户内存安全
精品推荐
安全分析点击TOP10
·IEXPLORE.EXE大量占用内存的解决方法
·网上银行的安全性分析
·全面解开能上QQ但网页无法打开之谜
·某大型企业局域网安全解决方案
·黑客最青睐哪个?电脑端口作用大曝光
·军用计算机安全术语
·关于信息安全和安全漏洞的一些科普——从支付宝控件漏洞谈起
·面对用户滥用网络执法官等网管软件的破解方法
·阿里巴巴淘宝旺旺ActiveX远程栈溢出漏洞
·超级详细了解操作系统进程和病毒知识
安全技术点击TOP10
·主板芯片级维修技术资料
·Symantec AntiVirus防病毒服务器安装配置使用指南
·教你如何手动查杀“幽灵(I-Worm.Ghost)”病毒
·贴片元件标记对应型号资料
·主板芯片组详解
·在WindowsXP/2003下查看端口对应的进程
·主板点不亮(不显示)的BIOS修复两法
·计算机启动过程详解
·网吧如何禁止使用PP点点通
·主板开机原理
精选专题

谈Safeseh如何保护VISTA用户内存安全

作者: 来源: 时间:2007-3-13 13:56:14

谈Safeseh如何保护VISTA用户内存安全(1)

最近开始折腾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地址的技术不再可用。

Safeseh的实现过程

Safeseh本身的原理很简单,就是在编译器生成二进制IMAGE的时候,把所有合法的SEH函数的地址解析出来,在IMAGE里生成一张合法的SEH函数表,用于异常处理时候进行严格的匹配检查。基本过程如下(XP SP2和VISTA一样):

加载过程:加载IMAGE时,定位和读出合法SEH函数表的地址(如果该IMAGE是不支持Safeseh的,则这个SEH函数表的地址为0),使用shareuser内存中的一个随机数加密。

将加密的SEH函数表的加密地址,IMAGE的开始地址,IMAGE的长度,合法SEH函数的个数 作为一条记录放入ntdll的加载模块数据内存中。

共3页 9 7 [1] [2] [38 :>

谈Safeseh如何保护VISTA用户内存安全 相关文章:
谈Safeseh如何保护VISTA用户内存安全 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com