安全黑客
当前位置:安全黑客文章资讯安全资讯黑客新闻
日期:2012-12-27 22:27:00  来源:本站整理

SMEP:它是什么和如何击败它在Linux[黑客新闻]

赞助商链接



  本文“SMEP:它是什么和如何击败它在Linux[黑客新闻]”是由安全黑客为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

http://www.flickr.com/photos/pinelife/733214124/来源: Flickr (CC)" />
奉化市于2011年5月16日,提交了一系列补丁的上游Linux内核实现了全新的英特尔CPU功能的支持:管理模式执行保护(SMEP)。启用此功能切换CR4寄存器中的一个位,其结果是CPU会产生一个错误时,ring0的试图执行代码的用户位标记的页面。

首先介绍一下背景,为什么这个功能是有用的。最主流的操作系统一样,Linux内核香草不利用x86的分割,而不是定义平板段描述符与涵盖整个4GB的地址空间的限制。此外,每个过程具有内核的页表条目的复制,导致在内核中的地址空间被映射在上部1GB的每一个用户进程。这些决定是出于性能方面的考虑:在每一个陷阱和内核到用户(或反之亦然)重装段选择复制操作引入了一个不可忽略的(但不一定是不可接受的)的性能损失,并具有完全独立的用户和内核地址空间,将须TLB的每一个陷阱,这是更昂贵的红晕。

这样做的结果是,内核是免费的不正确地访问驻留在用户空间中的数据,以及在用户区中的执行代码。除了使许多错误,依赖的内核错误使用用户数据的开发,这使得内核漏洞,简单地映射一个合适的有效载荷,有效载荷在用户空间和内核执行转移。

的的 PaX的项目的解决了这个问题,在一般的方式与一个功能叫做 PAX_UDEREF 。启用此功能时,大同利用的分割隔离用户和内核地址,如故障时,将产生错误的内核访问用户数据或代码。不幸的是,由于性能命中与重装段寄存器的事实,这涉及关键任务的代码,这是不可能的,这种解决方案将被接受的上游Linux内核。


来源: 


  以上是“SMEP:它是什么和如何击败它在Linux[黑客新闻]”的内容,如果你对以上该文章内容感兴趣,你可以看看安全黑客为您推荐以下文章:

  • SMEP:它是什么和如何击败它在Linux
  • 本文地址: 与您的QQ/BBS好友分享!

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    免责条款 - 广告合作 - 下载声明 - 欢迎投稿 - 友情连接 - 网站地图 -
    Copyright © 2012-2013 www.110hack.com. All Rights Reserved .