[发明专利]一种Android系统Activity劫持风险检测方法及装置在审
申请号: | 201310195684.0 | 申请日: | 2013-05-23 |
公开(公告)号: | CN104182686A | 公开(公告)日: | 2014-12-03 |
发明(设计)人: | 何哲伟 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 系统 activity 劫持 风险 检测 方法 装置 | ||
技术领域
本申请信息安全技术领域,特别是涉及一种Android系统Activity劫持风险检测方法及装置。
背景技术
Android是一种以Linux为基础的开放源码操作系统,主要使用于智能手机、平板电脑等便携设备。该系统采用Java语言开发,包括操作系统、中间件、用户界面和应用软件等组成部分。随着Android系统的不断发展,各大硬件厂商也在不断推出各种基于Android系统的产品。目前,基于Android系统终端已经在市场上占有重要地位。
Activity是Android系统的一种基本组件,负责系统与用户之间的交互操作。在Android系统中,一个Activity相当于一个页面,该页面一方面用于向用户显示各种内容,另一方面还用于监听并响应用户的操作行为。
在Android系统运行过程中,各种系统服务或应用程序可能会创建多个Activity,而在某一时刻,系统仅允许一个Activity在前台运行,该Activity处于激活状态,其他Activity则处于暂停或停止状态。利用Android系统的这一特性,恶意程序可以通过创建Activity来实现以伪造页面替换真实页面,这种手段被称为Activity劫持,利用伪造页面,可以达到骗取点击、甚至盗取用户私有信息等目的。更为严重的是,这种手段利用了Android系统的Activity管理机制,具有很强的隐蔽性,无论是在实施劫持的前后还是过程中,者很难被用户发觉。
发明内容
为解决上述问题,本申请实施例提供一种Android系统Activity劫持风险检测方法及装置,技术方案如下:
本申请实施例提供一种Android系统Activity劫持风险检测方法,该方法包括:
在目标Activity进入激活状态之前,获取当前处于激活状态的Activity的特征信息;
根据所获取的特征信息,判断所述当前处于激活状态的Activity是否符合预设的安全特征;
如果否,则确定系统存在Activity劫持风险。
本申请实施例还提供一种Android系统Activity劫持风险检测装置,该装置包括:
特征获取模块,用于在目标Activity进入激活状态之前,获取当前处于激活状态的Activity的特征信息;
特征比较模块,用于根据所获取的特征信息,判断所述当前处于激活状态的Activity是否符合预设的安全特征;
风险判断模块,用于在所述特征比较模块判断结果为否的情况下,确定系统存在Activity劫持风险。
一般的Activity劫持手段,都会在盗取信息完毕后,将伪造的Activity结束,并且真实Activity会被重新激活,以此达到隐蔽的效果,使得普通用户难以发现异常状况。本申请所提供的技术方案,针对Activity劫持手段的上述特点,在真实Activity进入激活状态之前,加入对当前处于激活状态的Activity的检测步骤,通过判断检测到的Activity是否安全,进一步确定系统是否存在Activity劫持风险。
本申请所提供的技术方案,可以在不改变Android系统运行机制的前提下,直接通过扩展系统函数的方式实现,不仅实现简单,而且通用性强。在实际应用中,既可以对所有的Activity开启检测,也可以仅对个别关键Activity开启检测,从而实现对系统安全和性能的灵活调控。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例Android系统Activity劫持原理示意图;
图2为本申请实施例Android系统Activity劫持风险检测方法的流程图;
图3为本申请实施例Android系统Activity劫持风险检测方法的原理示意图;
图4为本申请实施例Android系统Activity劫持风险检测装置的结构图。
具体实施方式
Android系统通过一种称为Activity栈的方式来管理Activity,一个Activity实例的状态决定它在栈中的位置,在Android系统中,Activity拥有四种基本状态:
1)Active(激活)/Runing(运行):
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司;,未经阿里巴巴集团控股有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310195684.0/2.html,转载请声明来源钻瓜专利网。