【Android 插件化】基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征

文章目录

  • 一、基于插件化引擎 的 恶意应用 与 良性应用 区别
  • 二、恶意插件化应用特征





一、基于插件化引擎 的 恶意应用 与 良性应用 区别



在 【Android 插件化】VAHunt 引入 | VAHunt 原理 | VAHunt 识别插件化引擎 和
【Android 插件化】VAHunt 检测插件化引擎的具体细节 博客中 , 简单介绍了如何检测插件化引擎 ;

下一步就需要在检测出插件化引擎之后 , 检测该应用是否是恶意应用 ;

大多数基于插件化的 恶意应用 , 都会对 恶意插件 加密 , 或从网络中下载 ;

恶意软件的宿主应用 , 一般会以静默方式加载插件 , 并且将下载或解密后的恶意插件 , 隐藏起来 ;

下图是 基于插件化引擎 的 恶意应用 与 良性应用 区别 :

  • 良性应用 : 获取到插件应用后 , 会让用户选择是否安装运行插件 , 如果用户同意 , 安装运行插件 , 如果用户拒绝 , 不安装插件 ; 执行插件 APK 时 , 以正常的 UI 界面执行 ;
  • 恶意应用 : 获取到插件 APK 路径后 , 不经过用户同意 , 以静默方式安装运行插件 , 并且将插件隐藏起来 ;
    【Android 插件化】基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征_第1张图片




二、恶意插件化应用特征



恶意软件 解密 或 下载 恶意插件后 , 通常会隐藏恶意插件 ;

加载 APK 插件的常用路径 :

  • 从自定义路径加载插件 : 从如下路径中获取插件 APK ;
    【Android 插件化】基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征_第2张图片
  • 从系统路径加载插件 : 获取安装的应用 getInstalledPackages() , 或执行 Runtime().exec(“pm list packages”) 命令 , 获取安装的 APK 文件 ;

静默执行插件的行为总结 : 静默安装和执行恶意插件 ;

  • 安装应用 : 不经过用户同意 , 调用 installApp()/installPackage() 安装应用 , 并且静默安装 ;
  • 静默执行应用 :
    • 调用 public void setComponentEnabledSetting (ComponentName componentName, int newState, int flags) 方法 , 设置组件 ;
    • 为宿主应用窗口设置 FLAG_NOT_TOUCH_MODAL 标识 , 不阻塞触摸事件 , 运行时避免被用户发现 ;

你可能感兴趣的:(插件化,android,插件化)