文章目录
一、多开原理
二、使用插件化技术的恶意应用
三、插件化的其它风险
四、应用开发推荐方案
一、多开原理
插件化的优点就是可以实现应用的多开 , 利用该多开虚拟化引擎 , 用户可以同时登录多个 新浪微博 ;
其原理是 被多开 的应用 , 不需要安装 , 被多开的应用运行在虚拟化引擎中 , 即 宿主应用 , 被多开的应用就是 插件应用 ;
虚拟化引擎 + 应用 A 与 直接运行的应用 A , 二者之间肯定是不冲突的 ;
二、使用插件化技术的恶意应用
恶意应用 目前广泛使用 插件化技术 , 将 恶意行为 封装到插件中 , 如 盗取用户数据 ; 该恶意的插件 APK 被加密后放在应用的资源文件 , 或从网络上下载 , 对应用静态分析 , 很难识别出该应用是恶意应用 ;
PluginPhantom 的恶意插件是加密的 , HummingBad 的 恶意插件 是从网络上下载的 , 静态分析无法识别出恶意插件 ;
反病毒扫描程序 和 重打包检测程序 , 都无法检测出使用了插件化技术之后的恶意软件 ;
HummingBad 使用了 DroidPlugin 虚拟化引擎 , 进行广告欺诈 ;
使用 虚拟化引擎 ( 插件化 ) 对 APK 应用进行重打包 : 开发一个宿主软件 , 将 APK 文件当做插件加载运行 , 宿主软件植入恶意代码 , 或者使用 插件方式 植入恶意代码 , 这样在不修改 APK 文件的前提下 , 就完成了对 APK 应用的重打包操作 , 达到了目的 ;
三、插件化的其它风险
权限升级 : 宿主应用 与 插件应用 UID 相同 , 宿主应用中会定义一百多权限 , 此时如果恶意应用获取了这些权限 , 肯定会带来不可预知的风险 ; 如 泄露隐私 ;
网络钓鱼 : 用户在插件 APK 的操作 , 以及输入的数据 , 宿主应用都可以获取到 , 如果输入账号 , 密码 , 则直接就被钓鱼了 ;
四、应用开发推荐方案
作为应用程序开发者 , 可以采用一些手段 , 避免自己的应用运行在 虚拟化引擎 中 , 防止用户权益受损 ;
如果 应用 运行在插件化引擎中 , 可以通过一些特征进行判断 , 参考 【Android 插件化】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件化引擎中 )