[发明专利]检测APK运行时被注入恶意代码的方法、终端设备及存储介质有效
申请号: | 201711180978.0 | 申请日: | 2017-11-23 |
公开(公告)号: | CN107808096B | 公开(公告)日: | 2019-12-17 |
发明(设计)人: | 刘星;魏丽珍;梁煜麓;罗佳 | 申请(专利权)人: | 厦门安胜网络科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 35218 厦门市精诚新创知识产权代理有限公司 | 代理人: | 方惠春 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 apk 运行 注入 恶意代码 方法 终端设备 存储 介质 | ||
本发明检测APK运行时被注入恶意代码的方法,根据安卓安装包运行时被注入恶意代码的是通过修改安卓系统虚拟机中java方法的数据结构来实现的这个原理,来进行安卓安装包运行时被注入恶意代码的检测。通过检测应用的关键方法在虚拟机中的存储数据结构是否改变来检测安卓安装包运行时是否被注入恶意代码,检测结果更加准确有效。
技术领域
本发明涉及系统安全技术领域,具体是一种检测安卓安装包运行时被注入恶意代码的方法、终端设备及存储介质。
背景技术
Xposed是android系统上一个通用的hook框架,能对运行中的系统或安卓安装包(APK)自身的应用程序编程接口(api)进行挂钩(hook),改变api本身的参数或执行逻辑,被广泛使用在系统UI美化、系统功能定制等方面。由于其功能强大,因此也被应用到恶意代码注入,修改APK的正常的运行逻辑(例如:APK付费功能破解、APK私有数据窃取等),导致用户数据、隐私泄露等安全问题。
因此,要及时有效的检测出类似xposed的hook框架(即被恶意代码注入),保证APK运行环境的完整性至关重要。现有的检测手段虽然能检测出类似xposed的hook框架,但其未能从根本上解决问题,很容易被欺骗,导致检测结果不准确。
现有检测方法有:1、获取已安装的app列表,是否包含xposed相关APK。2、通过检测应用/proc/self/maps文件,查看是否有xposed相关的包被加载。3、对关键函数的调用栈进行回溯,检测调用栈是否有xposed相关方法。因为xposed加载的模块优先于应用本身启动,所以会hook相关函数,修改函数数据和执行逻辑,隐藏自身;也可以通过重新编译,修改自身包名称隐藏自身。因此容易导致检测结果不准确。
发明内容
为了解决上述问题,本发明提供一种检测安卓安装包运行时被注入恶意代码的方法、终端设备及存储介质,能有效的检测出APK在运行过程中是否被xposed等hook框架注入恶意代码。
本发明一种检测安卓安装包运行时被注入恶意代码的方法,包括如下步骤:
S1:启动安卓安装包(APK),进入S2步骤;
S2:注册一个native方法M,其内存地址为m,进入S3步骤;
S3:获取M的存储起始地址:在M的native代码中通过调用java本地接口(jni)函数,获取到该方法的jmethodID,其中jmethodID为方法在java虚拟机里对应数据结构的存储起始地址,进入S4步骤;
S4:扫描M的jmethod指向的内存地址(即M的内存地址),判断其是否等于m,若是,则进入S5步骤;若否,则重复执行S4;
S5:获取m的相对偏移S,进入S6步骤;
S6:设置需要检测的安卓安装包的关键方法为M0,判断M0是否为native方法,若是,则设置M0对应的native内存地址是m0,进入S7步骤;若否,则表明M0为java方法,进入S7步骤;
S7:通过获取M0的jmethodID,即M0在java虚拟机里对应数据结构的起始地址P0,进而获取相对P0偏移为S的地址中的数据A(当M0为native方法时,定义相对P0偏移为S的地址中的数据为A)或D(当M0为java方法时,定义相对P0偏移为S的地址中的数据为D),若M0为native方法时,进入S8步骤;若M0为java方法时,进入S9步骤;
S8:判断A是否等于m0,若是,则进入S10步骤;若否,则进入S11步骤;
S9:判断D指向的内存页面是否可执行,若否,则进入S10步骤;若是,则进入S11步骤;
S10:判定关键方法M0未被挂钩(hook),即对应的安卓安装包(APK)运行时未被注入恶意代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门安胜网络科技有限公司,未经厦门安胜网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711180978.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种解锁方法和移动终端
- 下一篇:针对特定测试样本的隐写分析方法