基于完整性验证的Android权限提升攻击安全防御方法和装置制造方法及图纸

技术编号:15939264 阅读:40 留言:0更新日期:2017-08-04 21:56
本发明专利技术涉及一种基于完整性验证的Android权限提升攻击安全防御方法和装置,该方法包括:实时检测应用程序是否正在执行与敏感内核函数相关的系统调用;对系统调用要执行的敏感内核函数进行完整性验证;检测所述敏感内核函数相对应的内核函数指针的准确性和可靠性;判断所述内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令;对检测到的应用程序权限提升攻击行为进行告警和拦截。本发明专利技术实时检测恶意程序的权限提升攻击行为并进行告警和拦截,防止攻击行为对Android系统造成的破坏,有效保护了应用和数据的安全。本发明专利技术降低了权限提升漏洞给Android系统带来的安全威胁,提升了Android系统的安全性。

Android privilege promotion attack security defense method and device based on integrity verification

The invention relates to a device for promoting attack and security defense method based on integrity verification Android permissions, the method includes: detecting whether the application is executing system calls and sensitive kernel function; sensitive kernel function of the system calls to be executed for integrity verification; the accuracy and reliability of detection of the kernel function pointer sensitive kernel functions corresponding to the judgment; whether they have the privilege escalation attack features instructions memory area of the kernel function pointer; the detected application permission to improve the behavior of the attacks and blocking alarm. The invention detects the privileges of the malicious program in real time, improves the attack behavior, carries out alarm and interception, prevents the damage caused by the attack behavior to the Android system, and effectively protects the application and the data security. The invention reduces the security threat caused by the privilege lifting loophole to the Android system, and improves the security of the Android system.

【技术实现步骤摘要】
基于完整性验证的Android权限提升攻击安全防御方法和装置
本专利技术涉及信息安全
,具体涉及一种基于完整性验证的Android权限提升攻击安全防御方法和装置。
技术介绍
本部分向读者介绍可能与本专利技术的各个方面相关的
技术介绍
,相信能够向读者提供有用的背景信息,从而有助于读者更好地理解本专利技术的各个方面。因此,可以理解,本部分的说明是用于上述目的,而并非构成对现有技术的承认。权限提升攻击是一种利用Android系统漏洞非法提升应用程序运行权限的攻击方式。利用Android系统中的权限提升漏洞,恶意程序可以绕过Android平台的权限保护机制,将应用程序的运行权限从普通用户权限非法提升到更高级别的权限——系统用户权限或Root用户权限。通过权限提升攻击,恶意程序可以进一步实施恶意行为,例如窃取隐私、恶意扣费、远程控制等,严重威胁了用户的隐私与财产安全。现有的权限提升攻击防御技术主要有如下几种:源代码恶意特征匹配和基于策略的内核级防御机制。源代码恶意特征匹配防御方法过程是这样的:对应用程序进行反编译,获得程序源代码,与已知的权限提升攻击源码进行相似度计算,判断该应用程序是否存在权限提升攻击行为。源代码恶意特征匹配防御方法需要反编译以还原程序源代码。如果应用程序采用了混淆技术对源代码进行混淆,或者采用应用加固技术来对抗反编译,都会对该方法的实现产生干扰和影响。依赖于已知的权限提升攻击源码,不能防御新出现的、未知的权限提升攻击。基于策略的内核级防御机制过程是这样的:在Android内核层引入新的安全策略,设置Root特权程序白名单和关键资源列表。在Android系统运行期间,监视进程与服务对系统资源的访问请求,并根据安全策略选择拦截或放行:只允许Root特权程序白名单中的进程对关键资源列表内指定的资源进行操作,其余的一律拦截。由此限制非法获得Root权限的恶意进程访问受保护的系统资源,从而约束该进程的其它恶意行为。上述方法是在恶意进程已经非法获得Root权限后、试图访问关键资源时进行防御,而不是在进程尝试获得Root权限的过程中进行防御,因此防御效果具有一定的滞后性,不够及时。
技术实现思路
要解决的技术问题是如何提供一种基于完整性验证的Android权限提升攻击安全防御方法和装置。针对现有技术中的缺陷,本专利技术提供一种基于完整性验证的Android权限提升攻击安全防御方法和装置,可以增强内核层和整个Android系统的安全性。第一方面,本专利技术提供了一种基于完整性验证的Android权限提升攻击安全防御方法,包括:实时检测应用程序是否正在执行与敏感内核函数相关的系统调用;对系统调用要执行的敏感内核函数进行完整性验证;检测所述敏感内核函数相对应的内核函数指针的准确性和可靠性;判断所述内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令;对检测到的应用程序权限提升攻击行为进行告警和拦截。可选地,所述对系统调用要执行的敏感内核函数进行完整性验证包括:获取敏感内核函数对应的内核函数指针,然后进行空值判断;如果内核函数指针为空,则通过完整性验证,允许直接执行内核函数,访问硬件设备;否则,将内核函数指针作为参数,检测该内核函数指针的准确性和可靠性,实现完整性验证。可选地,所述检测敏感内核函数相对应的内核函数指针的准确性和可靠性包括:按照攻击特征库进行匹配,判断该内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令,并将判断结果返回。可选地,所述判断内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令包括:如果内核函数指针指向了用户空间,说明该指针遭遇非法篡改,应用程序存在权限提升攻击行为;或如果内核函数指针指向了堆内存空间,说明该指针遭遇非法篡改,应用程序存在权限提升攻击行为;或如果内核函数指针指向的内存区域包含修改进程权限证书的指令,应用程序存在权限提升攻击行为。可选地,还包括:新的权限提升攻击行为出现时,提取新的攻击特征,添加到特征库中更新攻击特征库。另一方面,本专利技术还提供一种基于完整性验证的Android权限提升攻击安全防御装置,包括:系统调用实时监测单元,用于实时检测应用程序是否正在执行与敏感内核函数相关的系统调用;完整性验证单元,对系统调用要执行的敏感内核函数进行完整性验证;攻击检测单元,用于检测敏感内核函数相对应的内核函数指针的准确性和完整性;判断该内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令;告警与拦截单元,用于对检测到的应用程序权限提升攻击行为进行告警和拦截。可选地,所述完整性验证单元包括:空值验证模块,用于获取敏感内核函数对应的内核函数指针,然后进行空值判断;如果内核函数指针为空,则通过完整性验证,允许直接执行内核函数,访问硬件设备;否则,将内核函数指针作为参数,检测该内核函数指针的准确性和可靠性,实现完整性验证。可选地,所述攻击检测单元,包括:特征匹配单元,用于按照攻击特征库进行匹配,判断该内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令,并将判断结果返回。可选地,所述特征匹配单元包括:权限提升攻击特征判断单元,用于,在内核函数指针指向了用户空间时,判定应用程序存在权限提升攻击行为;或在内核函数指针指向了堆内存空间时,判定应用程序存在权限提升攻击行为;或在内核函数指针指向的内存区域包含修改进程权限证书的指令时,判定应用程序存在权限提升攻击行为。可选地,还包括:攻击特征库更新单元,用于在新的权限提升攻击行为出现时,提取新的攻击特征,添加到特征库中更新攻击特征库。由上述技术方案可知,本专利技术提供的基于完整性验证的Android权限提升攻击安全防御方法,实时检测恶意程序的权限提升攻击行为并进行告警和拦截,防止攻击行为对Android系统造成的破坏,有效保护了应用和数据的安全。本专利技术降低了权限提升漏洞给Android系统带来的安全威胁,提升了Android系统的安全性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中Android系统调用流程示意图;图2为本专利技术一个实施例中一种基于完整性验证的Android权限提升攻击安全防御方法流程示意图;图3为本专利技术另一个实施例中一种基于完整性验证的Android权限提升攻击安全防御方法流程示意图;图4为本专利技术一个实施例中一种基于完整性验证的Android权限提升攻击安全防御装置示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。通过修改内核函数指针来劫持内核控制流是一种常见的权限提升攻击模式。恶意程序首先在内存空间中注入一段权限提升攻击代码;然后利用Android系统的权限提升漏洞定位并修改内核函数指针,使其指向本文档来自技高网
...
基于完整性验证的Android权限提升攻击安全防御方法和装置

【技术保护点】
一种基于完整性验证的Android权限提升攻击安全防御方法,其特征在于,包括:实时检测应用程序是否正在执行与敏感内核函数相关的系统调用;对系统调用要执行的敏感内核函数进行完整性验证;检测所述敏感内核函数相对应的内核函数指针的准确性和可靠性;判断所述内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令;对检测到的应用程序权限提升攻击行为进行告警和拦截。

【技术特征摘要】
1.一种基于完整性验证的Android权限提升攻击安全防御方法,其特征在于,包括:实时检测应用程序是否正在执行与敏感内核函数相关的系统调用;对系统调用要执行的敏感内核函数进行完整性验证;检测所述敏感内核函数相对应的内核函数指针的准确性和可靠性;判断所述内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令;对检测到的应用程序权限提升攻击行为进行告警和拦截。2.根据权利要求1所述的方法,其特征在于,所述对系统调用要执行的敏感内核函数进行完整性验证包括:获取敏感内核函数对应的内核函数指针,然后进行空值判断;如果内核函数指针为空,则通过完整性验证,允许直接执行内核函数,访问硬件设备;否则,将内核函数指针作为参数,检测该内核函数指针的准确性和可靠性,实现完整性验证。3.根据权利要求1所述的方法,其特征在于,所述检测敏感内核函数相对应的内核函数指针的准确性和可靠性包括:按照攻击特征库进行匹配,判断该内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令,并将判断结果返回。4.根据权利要求3所述的方法,其特征在于,所述判断该内核函数指针所指向的内存区域是否存在具备权限提升攻击特征的指令包括:如果内核函数指针指向了用户空间,说明该指针遭遇非法篡改,应用程序存在权限提升攻击行为;或如果内核函数指针指向了堆内存空间,说明该指针遭遇非法篡改,应用程序存在权限提升攻击行为;或如果内核函数指针指向的内存区域包含修改进程权限证书的指令,应用程序存在权限提升攻击行为。5.根据权利要求3所述的方法,其特征在于,还包括:新的权限提升攻击行为出现时,提取新的攻击特征,添加到特征库中更新攻击特征库。6....

【专利技术属性】
技术研发人员:朱大立李莹冯维淼杨莹金昊
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1