绕过PXN:Android ROP利用技术解析

需积分: 15 2 下载量 171 浏览量 更新于2024-08-16 收藏 2.1MB PPT 举报
"简单的rop可以很简单的绕过PXN机制,这是Android Root利用技术的一种方法,主要涉及Android系统安全、权限提升以及黑客攻击策略。本文由360冰刃实验室的安全研究员分享,他们专注于Linux内核驱动开发和Android内核漏洞的研究。文章探讨了如何在面对PXN(Permissions eXecute Never)这种内核安全机制时,通过ROP(Return-Oriented Programming)和JOP(Jump-Oriented Programming)技术进行绕过。" PXN机制是ARM架构下针对用户空间代码执行的一个安全防御措施,旨在防止处理器在内核模式下执行用户空间的代码,从而引发权限故障。它通过在ARM的第一级页表中设置PXN位来实现。自2014年起,随着智能手机的升级,PXN逐渐成为64位设备的标准配置,对传统的漏洞利用方式构成了障碍。 在没有启用PXN的情况下,攻击者通常会利用漏洞执行用户态的shellcode,实现提权、关闭SELinux或切换其上下文以获取更多权限,以及进行其他恶意操作。然而,一旦启用PXN,这种方法就会失效,因为处理器会阻止执行非内核态的代码。 为了绕过PXN,安全研究人员提出了多种策略。其中,通过ROP和JOP技术,可以在用户态读写内核数据,从而达到类似的效果。例如,可以通过构造rop链来修改addr_limit,使其允许访问整个虚拟地址空间。在具体的实例中,如CVE-2015-3636漏洞的利用,攻击者可以泄露栈指针地址,然后通过操纵addr_limit地址,将值设为0xFFFFFFFFFFFFFFFF,从而绕过限制。 这些技术的应用包括但不限于KeenTeam的《OwnyourAndroid!YetAnotherUniversalRoot》,其中展示了如何利用漏洞控制特定寄存器,构建rop链,并泄露栈指针,最后修改addr_limit,实现对内核的非法访问。 ROP和JOP技术的运用,尤其是它们在绕过PXN防护机制上的应用,是Android Root利用技术中的一个重要方面。通过这些技术,攻击者能够在面对更严格的系统安全措施时,依然找到漏洞利用的可能性。对于安全研究人员来说,理解并研究这些技术,有助于提高系统的安全性,防止恶意攻击。