Android 插件化基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 插件化基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征相关的知识,希望对你有一定的参考价值。
一、基于插件化引擎 的 恶意应用 与 良性应用 区别
在 【Android 插件化】VAHunt 引入 | VAHunt 原理 | VAHunt 识别插件化引擎 和
【Android 插件化】VAHunt 检测插件化引擎的具体细节 博客中 , 简单介绍了如何检测插件化引擎 ;
下一步就需要在检测出插件化引擎之后 , 检测该应用是否是恶意应用 ;
大多数基于插件化的 恶意应用 , 都会对 恶意插件 加密 , 或从网络中下载 ;
恶意软件的宿主应用 , 一般会以静默方式加载插件 , 并且将下载或解密后的恶意插件 , 隐藏起来 ;
下图是 基于插件化引擎 的 恶意应用 与 良性应用 区别 :
- 良性应用 : 获取到插件应用后 , 会让用户选择是否安装运行插件 , 如果用户同意 , 安装运行插件 , 如果用户拒绝 , 不安装插件 ; 执行插件 APK 时 , 以正常的 UI 界面执行 ;
- 恶意应用 : 获取到插件 APK 路径后 , 不经过用户同意 , 以静默方式安装运行插件 , 并且将插件隐藏起来 ;
二、恶意插件化应用特征
恶意软件 解密 或 下载 恶意插件后 , 通常会隐藏恶意插件 ;
加载 APK 插件的常用路径 :
- 从自定义路径加载插件 : 从如下路径中获取插件 APK ;
- 从系统路径加载插件 : 获取安装的应用
getInstalledPackages()
, 或执行Runtime().exec(“pm list packages”)
命令 , 获取安装的 APK 文件 ;
静默执行插件的行为总结 : 静默安装和执行恶意插件 ;
- 安装应用 : 不经过用户同意 , 调用
installApp()/installPackage()
安装应用 , 并且静默安装 ; - 静默执行应用 :
- 调用
public void setComponentEnabledSetting (ComponentName componentName, int newState, int flags)
方法 , 设置组件 ; - 为宿主应用窗口设置
FLAG_NOT_TOUCH_MODAL
标识 , 不阻塞触摸事件 , 运行时避免被用户发现 ;
- 调用
以上是关于Android 插件化基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征的主要内容,如果未能解决你的问题,请参考以下文章
Android 插件化现有的针对插件化恶意应用的解决方案 | 插件化应用开发推荐方案
Android 插件化VAHunt 引入 | VAHunt 原理 | VAHunt 识别插件化引擎
Android 插件化插件化技术弊端 ( 恶意插件化程序的解决方向 | 常用的插件化虚拟引擎 )
Android 插件化VAHunt 检测插件化引擎的具体细节
Android 插件化使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件化引擎中 )
Android 插件化使用插件化引擎对应用进行重打包的恶意软件特征 ( 检测困难 | 成本低 | 恶意插件可更换 | 容易传播 )