NX(No-eXecute)的实现分析

在计算机安全领域一个很经典的话题就是缓冲区溢出(Buffer Overflow).缓冲区溢出一般时候伴随着攻击者的篡改堆栈里保存的返回地址,然后执行注入到stack中的shellcode,攻击者可以发挥想象力仔细编写shellcode进行下一步的攻击,直到完全控制了计算机.这种攻击之所以能够成功主要原因就是因为stack里的shellcode的可执行.所以主要的防御手段(mitigation)就是禁止stack里数据的执行(noexecstack)

Linux内核自防护项目的初始文档

由于Mobile和IoT的趋势,越来越多的人开始关注这个基础架构中的基础架构和担心Linux的安全性会影响到未来重度依赖自由软件的IoT体系,由Kees Cook主导的应运而生,目标是为了让Linux内核本身具有对漏洞利用的防御能力,主要工作是参考的实现来移植或者重新实现类似的功能然后推进到Linux内核主线。随着Linux 4.6的发布,第一个加固patch合并到了主线,而Kees Cook也编写了这篇KSPP介绍的文档以让更多的人能了解和参与到KSPP中

关于RAP的FAQ

PaX/Grsecurity正式公布了针对Linux内核4.5里的新特性:RAP。RAP是一种在Linux内核层面上的CFI(控制流完整性)的实现,致力于完全消灭代码重用攻击这种漏洞利用的方式,RAP的发布是系统安全的又一里程碑,这意味着自2003年PaX team谈"未来"至今,只剩下data-only attack并未完全解决

(A/T/KT) - Sanitized GNU/Linux: a new way of bug hunter in FLOSS Community

As long as there is bugs, there will be vulnerablities. As long as there are vulnerablities, there will be regular/stable/weaponized exploits. Bug hunting is one of most important issues that we've been fighting for decades in FLOSS community. Addr/thread sanitizers are very powerful weapons for bug hunters to build their own Fuzzing platform] or can be integrated into the regression testing. In either ways, FLOSS community can get benefit from it;-)

PaX 早期设计文档概述

PaX 项目的目标是研究各种针对软件开发缺陷的防御机制,这些缺陷可以让攻击者针对被攻击任务所在的地址空间行任意读/写。这类缺陷还包括其他各种形式的(基于栈或堆的)缓冲区溢出漏洞、用户提供的格式化字符串漏洞,等等。