0
点赞
收藏
分享

微信扫一扫

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



文章目录


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






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


在 ​​【Android 插件化】VAHunt 引入 | VAHunt 原理 | VAHunt 识别插件化引擎​​ 和

​​【Android 插件化】VAHunt 检测插件化引擎的具体细节​​ 博客中 , 简单介绍了如何检测插件化引擎 ;

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

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

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

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


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





二、恶意插件化应用特征


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

加载 APK 插件的常用路径 :


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


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


  • 安装应用 :​ 不经过用户同意 , 调用 ​​installApp()/installPackage()​​ 安装应用 , 并且静默安装 ;
  • 静默执行应用 :

  • 调用 ​​public void setComponentEnabledSetting (ComponentName componentName, int newState, int flags)​​ 方法 , 设置组件 ;
  • 为宿主应用窗口设置 ​​FLAG_NOT_TOUCH_MODAL​​ 标识 , 不阻塞触摸事件 , 运行时避免被用户发现 ;



举报

相关推荐

0 条评论