PaX
PaX是个非常BT的东西,好像天生就是缓冲区溢出的死对头,他严厉的审视每一种攻击方式,予以阻断。
*基于x86段式内存管理的数据段不可执行
*基于页式内存管理的数据段的页不可执行
*内核页只读{
-Const结构只读
-系统调用表只读
-局部段描述符表(IDT)只读
-全局段描述符表(GDT)只读
-数据页只读
-该特性不能与正常的LKM功能共存 }
*完全的地址空间随机映射{
-每个系统调用的内核栈随机映射
-用户栈随机映射
-ELF可执行映像随机映射
-Brk()分配的heap随机映射
-Mmap()管理的heap随机映射
-动态链接库随机映射 }
*还有诸如把动态链接库映射到0x00开始的低地址的其他特性
这里顺便提一下Phrack58上Nergal写过的<>,这篇大作里提到用伪造栈桢(Fakeframe)和dl-resolve()技术突破PaX若干保护的方法,这极有可能*nix应用层exploit技术中最高级的技术,Nergal解决了几个问题:Stack/Heap/BSS不可执行、mmap随机映射,显然这种高级的技术仍然无法无条件的突破PaX,所以在一个运行完全版PaX的Linux上,你想发动缓冲区溢出可能是没有机会的!!!
Grsecurity
Grsec内含PaX(这个更BT??汗~),和Lids一样grsec支持内核MAC(Madatory Access Control,强制访问控制),
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。