【技术实现步骤摘要】
安卓应用指纹劫持风险检测方法、装置及电子设备
[0001]本专利技术涉及软件
,尤其是涉及安卓应用指纹劫持风险检测方法、装置及电子设备。
技术介绍
[0002]Activity是安卓应用核心四大组件之一,可以理解为一个包含各种组件的界面,Activity通过这些组件监听用户事件并做出响应。通常一个应用由多个Activity组成,每个Activity都负责与用户完成不同的交互任务。安卓系统通过栈结构维护应用Activity之间的顺序,当应用界面跳转时,相应的Activity入栈,当应用界面返回时,Activity则出栈。虽然栈结构中可以存放多个Activity,但只有栈顶的Activity处于激活状态,可以与用户交互。
[0003]指纹劫持攻击指诱骗用户进行指纹输入,并使用户在不知情的情况下授权其他目标应用程序中的敏感操作,即在用户与栈顶Activity交互输入指纹过程中,使得非栈顶的Activity也同时接受指纹信息,并完成其中认证功能的过程。现有研究表明,从安卓系统引入指纹认证功能以来,指纹劫持攻击问题一直存 ...
【技术保护点】
【技术特征摘要】
1.一种安卓应用指纹劫持风险检测方法,其特征在于,所述方法包括:若所述安卓应用声明了指纹权限,获取所述安卓应用的Activity组件信息;其中,所述Activity组件信息包括多个Activity;基于FlowDroid工具构建所述安卓应用对应的应用函数调用图;其中,所述应用函数调用图包括多个函数节点,所述函数节点包括:指纹认证函数节点、指纹输入终止函数节点以及每个所述Activity对应的创建状态函数节点和暂停状态函数节点;对每个所述Activity,均在所述应用函数调用图中,查找对应的所述创建状态函数节点和所述指纹认证函数节点之间是否存在路径;若是,将该Activity作为目标Activity;并对每个所述目标Activity,在所述应用函数调用图中,查找对应的所述暂停状态函数节点和所述指纹输入终止函数节点之间是否均存在路径;如果否,判定所述安卓应用存在指纹劫持风险。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述暂停状态函数节点和所述指纹输入终止函数节点之间不存在路径的所述目标Activity设置为风险点。3.根据权利要求1所述的方法,其特征在于,每个所述Activity还携带有标识信息,所述标识信息包括Activity名称、Activity所属包名称和Activity类别名称;所述方法还包括:基于Gephi软件在所述应用函数调用图中,搜索包含每个所述Activity的标识信息的函数节点,得到每个所述Activity对应的创建状态函数节点和暂停状态函数节点。4.根据权利要求1所述的方法,其特征在于,所述安卓应用声明了指纹权限的步骤之前,所述方法还包括:获取所述安卓应用的权限声明信息;根据所述权限声明信息判断所述安卓应用是否声明了所述指纹权限。5.根据权利要求4所述的方法,其特征在于,所述获取所述安卓应用的权限声明信息的步骤,包括:通过预设标签定位所述安卓应用的Manifest文件中每一项权限声明,并提取属性为android:name的值,得到所述安卓应用的权限声明信息;其中,所述预设标签为<use
‑
permission>标签。...
【专利技术属性】
技术研发人员:刘鹏举,杨东,王文庆,邓楠轶,李凯,董夏昕,介银娟,朱召鹏,王艺杰,崔鑫,
申请(专利权)人:华能集团技术创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。