PaX的技术考古之旅
编程技术  /  houtizong 发布于 3年前   130
PaX是针对linux kernel的一个加固版本的补丁,它让linux内核的内存页受限于最小权限原则,是这个星球上有史以来最极端和最优秀的防御系统级别0day的方案,第1版的设计和实现诞生于2000年,那可是一个没有ASLR/RELRO/NX/CANARY/FORITY/PIE都没有的年代,这些今天意义上的现代mitigation技术不管是linux/windows/macosx都多少抄袭和模仿了PaX的设计和实现,但有很多朋友会问:既然这东东这么厉害,为什么不在linux mainline里?当年Linux内核不收PaX进入upstream是因为很多人觉得PaX不是那么的好维护,之后linux内核推出了LSM( Linux Security Module),LSM利用了一堆CAPABILITY的机制提供了一些限制用户态程序访问控制的接口,SELinux和Apparmor就是基于LSM开发的,注意LSM并不是一个传统意义上的linux kernel module,至少在2个地方不同于普通module:
1) 必须在bootloader启动内核时启动,不能在内核加载完后启动。
2) 不能同时启动2个LSM的实现。
但PaX Team是一群old school security hackers,他们认为LSM打破了"security as a whole"的哲学,所以宁愿单独维护一个patch,一直到今天。其实当人们谈到Gnu/Linux安全性比windows/OSX更好时,其实未必,至少linux内核社区并没有把安全性放在首位,Linus Torvalds从来都不是太care安全问题,不是吗?
当我们谈到PaX时都会写Grsecurity/PaX,这是怎么回事呢?PaX从一开始就主要关注如何防御和检测memory corruption,后来Grsecurity社区发现PaX和他们所关注的非常类似,所以就合并了,在很长的一段时间里PaX主要关注memory corruption,而Grsecurity则实现其他的功能包括RBAC,但到最近2个社区的工作开始模糊了:包括USERCOPY, STACKLEAK, RANDSTRUCT, etc..都是整个Grsecurity/PaX共同实现的特性。”"
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接