Google Beefs Linux在Android中核对内核防御
由于开发人员“将最新的Linux内核防御集成到操作系统中,未来版本的Android版本将更加有弹性。
Android的安全模型在很大程度上依赖于坐在其核心的Linux内核上。因此,Android开发人员一直有兴趣添加旨在防止可能恶意代码到达内核的新安全功能,这是操作系统最特权的区域。
一个较旧的例子是Android(Seandroid)的安全增强,这是一组内核附加组件和工具,通过实施访问控制来利用某些漏洞。
Seandroid基于NSA开发的Selinux项目,开始用于在Android 4.3(果冻Bean)中强制执行应用程序沙箱边界。
在一个博客帖子周三,杰夫·维护团队成员Jeff Vander Stoep揭示了一些最近的内核安全性添加,即即将推出的Android Nougat和未来的Android版本难以妥协。这些包括各种内存保护,以及旨在减少内核的攻击表面的变化。
一个新的配置选项称为config_debug_rodata段将内核内存分成多个部分,并限制了该内存是多少可写和可执行文件。攻击者需要可写和可执行的内存页面,以便通过漏洞利用将恶意代码注入它们,然后使用内核权限运行该代码。
另一个配置选项名为config_cpu_sw_domain_pan,防止内核直接访问用户空间内存,使攻击者更少控制他们的利用可以执行代码的位置。
Vander Stoep说,对基于堆栈的缓冲区溢出的对基于堆栈的缓冲区溢出溢出的保护漏洞漏洞溢出溢出,这也得到了提高。
通过阻止对用于性能监视的PET系统等调试功能的默认访问来减少内核的攻击表面。在不打破合法功能的情况下,也可以尽可能多地限制对IOCTL命令的访问。
“在Android上报告的大多数内核漏洞发生在驱动程序中,并使用IOCTL Syscall达到,”Vander Stoep说。
Android开发人员还强化了操作系统的媒体处理过程,这是过去一年的漏洞的源泉。这是通过称为SECCOMP的沙箱机制来完成的,该机构首先在Android棒棒糖中的Nexus设备上引入。使用Android Nougat,所有设备都需要SECCOMP支持。