[发明专利]基于静态检测的Android应用生物认证安全性方法有效
申请号: | 202010805666.X | 申请日: | 2020-08-12 |
公开(公告)号: | CN114077728B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 王超;张小松;李卷孺 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F21/32 | 分类号: | G06F21/32;G06F8/53 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 静态 检测 android 应用 生物 认证 安全性 方法 | ||
1.一种基于静态检测的Android应用生物认证安全性方法,其特征在于,包括:
步骤1)从待测的应用安装包中提取静态资源文件并收集得到应用基本信息;
步骤2)通过逆向工程,使用Soot分析工具与Soot-infoflow-android Android静态分析工具反编译应用安装包内的DEX文件,获得Jimple中间语言,并加载至全局内存空间;
步骤3)通过静态分析技术对应用程序生物认证接口使用情况进行生物认证接口安全性分析与第三方依赖库识别分析,以排除生物认证接口误用、生物认证接口与密码学对象配套使用误用,并通过异步回调得到应用自身生物认证接口实现安全性和/或其使用的生物认证依赖库的生物认证接口使用安全性;
所述的生物认证接口安全性分析,具体包括:
①从步骤2得到的全局内存空间获得反编译后的应用中间代码,对应用中存在的所有类进行枚举,并使用Android生物认证接口类签名与枚举的类的父类类名进行字符串匹配,初步过滤出应用中存在的继承了Android系统生物认证接口的类;
②通过递归搜索,检查初步筛选出的类重写的onAuthenticationSucceed回调方法中是否调用了回调参数结果对象中的getCryptoObject方法,从而判断应用程序调用生物认证接口是否安全;
③在步骤①得到的初步过滤结果中进行进一步过滤:
i)当在重写的回调方法中没有调用回调参数结果对象中的getCryptoObject方法,则认定该应用存在应用接口误用安全问题;
ii)当调用了getCryptoObject方法,则通过递归搜索,将Android提供的密码学方法签名与调用getCryptoObject方法后调用的特定密码学方法的签名进行字符串比对,进一步确定应用是否正确使用了密码学对象的相关方法与Android生物认证接口配套保证生物认证结果正确性;
所述的第三方依赖库识别分析,具体包括:
①从步骤2得到的全局内存空间获得反编译后的应用中间代码;
②对应用存在的所有类进行枚举,并使用Android生物认证接口类签名与枚举的类的父类类名进行字符串匹配,初步过滤出应用中存在的继承了Android系统生物认证接口的类;
③将过滤得到的类进行进一步分析:
a)将过滤得到的类签名与收集到的已知第三方依赖库中的关键类的签名进行比对,确定该类是否为已知第三方依赖库;
b)当不是已知的第三方依赖库,将过滤得到的类签名与该应用的包名进行比对,确定该类是否与应用的包在同一包中,从而确认该类是否存在于第三方依赖库或者其他厂商内部开发库中;
c)识别得到结果后,使用第二条生物认证接口安全性分析进一步确定该依赖库是否存在生物认证系统接口误用情况。
2.根据权利要求1所述的基于静态检测的Android应用生物认证安全性方法,其特征是,所述的步骤1具体为:将应用安装包作为ZIP加载至内存,并使用文件指针从内存中读取应用安装包中部分静态资源文件的动态链接库并通过字符串搜索匹配得到应用基本信息。
3.根据权利要求1所述的基于静态检测的Android应用生物认证安全性方法,其特征是,在反编译时采用黑名单配置避免Android SDK附带的与应用程序无关的类被同时反编译带来的性能损失。
4.根据权利要求1所述的基于静态检测的Android应用生物认证安全性方法,其特征是,在递归搜索中,使用类签名黑名单避免方法互相调用可能导致的潜在递归栈溢出风险。
5.根据权利要求1所述的基于静态检测的Android应用生物认证安全性方法,其特征是,所述的异步回调,通过创建多个线程并行运行达到异步代码分析,并将分析结果处理函数作为回调函数传入,在分析线程完成时调用该函数完成分析结果处理。
6.一种实现权利要求1-5中任一所述基于静态检测的Android应用生物认证安全性方法的系统,其特征在于,包括:基本信息分析模块、应用生物认证接口安全性分析模块与第三方生物认证依赖库安全性分析模块,其中:基本信息分析模块将应用安装包反编译加载至全局内存空间,应用生物认证接口安全性分析模块与第三方生物认证依赖库安全性分析模块分配到多个并行中线程读取全局内存空间中进行安全性分析,并通过异步回调分析结果处理函数传递分析结果继而整理为应用生物认证安全性分析报告。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010805666.X/1.html,转载请声明来源钻瓜专利网。