【Android 插件化】基于插件化的恶意软件的加载策略分析 ( 自定义路径加载插件 | 系统路径加载插件 | 用户同意后加载插件 | 隐藏恶意插件 )
文章目录
- 一、自定义路径加载插件
- 二、系统路径加载插件
- 三、用户同意后加载插件
- 四、隐藏恶意插件
一、自定义路径加载插件
插件化应用中 , 宿主应用 加载 插件 APK , 需要获取该插件 APK 文件路径 , 可以在 Assets 资源目录 , 也可以在 Android 内置存储 或 SD 卡存储控件中 ;
恶意插件 , 解密或从网络上下载后 , 也需要存放在一个文件目录中 ;
常见的自定义路径如下 :
分析上述 API 调用 , 搜索 APK 文件 , 并判断该文件是否是使用 插件化引擎 安装的插件 ;
这里的安装指的是将插件 APK 拷贝到指定的文件目录 ;
二、系统路径加载插件
恶意软件 会 诱导用户加载 系统中安装的 恶意软件 , 宿主应用没有向该系统路径写入数据的权限 ;
加载插件流程 :
首先 , 要请求获取包列表 ( Package List ) , 向用户显示该列表 ;
然后 , 引导用户选择列表中的应用执行 ;
最后 , 宿主应用可以从系统数据空间中选择 APK 文件 , 拷贝到自己的存储空间 , 也就是安装了该插件 ;
调用 PackageManager.getInstalledPackages()
方法 , 可以获取已安装的应用程序 , 可以从调用该方法为起点进行分析 , 继续向后分析 , 查看哪些应用被展示给了用户 , 恶意应用就在这些应用中 ;
三、用户同意后加载插件
基于插件化的 良性应用 , 如果要装载插件 , 需要弹出弹窗 , 请求用户同意 , 用户同意后 , 才能安装插件 ;
恶意应用 安装插件时 , 基本都是静默安装 , 不经过用户同意 , 并且安装后尽可能隐藏插件 ;
这里的安装插件指的是将插件存放在指定的位置 ;
定位插件安装界面 , 如果发现插件安装操作在 Activity 生命周期中进行操作 , 则说明该安装操作肯定是静默安装 , 没有征得用户同意 ;
如果插件安装界面 , 插件安装操作 , 都在 onClick 等 UI 交互方法中 , 说明该安装操作不是静默安装 ;
程序启动的 Activity , 一般都带有 android.intent.category.LAUNCHER
标识 ;
四、隐藏恶意插件
安装 良性应用 后 , 一般会让用户选择是否将应用图标添加到 Launcher 界面 , 如果选择是 , 则可以在主界面看到安装后的应用图标 ;
安装 恶意应用 后 , 恶意应用大多会将自己隐藏 , 并且在后台运行 ;
① 隐藏图标 : 恶意软件不在 Launcher 主界面显示应用图标 , 以及 Activity 界面 , 用户在 UI 界面中看不到该应用的任何信息 ;
修改清单文件 , 去掉
<category android:name=”android.intent.category.LAUNCHER” />
信息 , 就可以隐藏应用图标 ;
如下设置 , 也可以隐藏应用图标 :
getPackageManager().setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP
);
② 后台运行 : 恶意软件 作为服务在后台运行 ;
③ 界面透明 : 恶意软件 设置 FLAG_NOT_TOUCH_MODAL
标识 , 可以使主要布局透明 , 并且移除状态栏 , 标题栏 ;
分析 宿主软件 中 , 是否存在上述隐藏插件应用的行为 ;
参考 : VAHunt: Warding Off New Repackaged Android Malware in App-Virtualization’s Clothing
【Android 插件化】基于插件化的恶意软件的加载策略分析 ( 自定义路径加载插件 | 系统路径加载插件 | 用户同意后加载插件 | 隐藏恶意插件 )相关推荐
- 【Android 插件化】基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征
文章目录 一.基于插件化引擎 的 恶意应用 与 良性应用 区别 二.恶意插件化应用特征 一.基于插件化引擎 的 恶意应用 与 良性应用 区别 在 [Android 插件化]VAHunt 引入 | VA ...
- 【Android 插件化】插件化技术弊端 ( 恶意插件化程序的解决方向 | 常用的插件化虚拟引擎 )
文章目录 一.插件化技术弊端 二.恶意插件化程序的解决方向 三.常用的插件化虚拟引擎 一.插件化技术弊端 在之前的 Android 应用中 , 部分黑客将应用破解 , 植入自己的恶意代码 , 然后进行 ...
- 【Android 插件化】使用插件化引擎对应用进行重打包的恶意软件特征 ( 检测困难 | 成本低 | 恶意插件可更换 | 容易传播 )
文章目录 一.检测困难 二.成本低 三.恶意插件可更换 四.容易传播 一.检测困难 恶意软件开发者 , 开发一个插件化 宿主软件 , 将 APK 安装包直接以插件形式运行 , 同时还会将恶意代码放在另 ...
- 【Android 插件化】插件化简介 ( 组件化与插件化 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- android插件化、组件化、热补丁傻傻分不清
时至今日,国内的android技术可谓是走在世界前沿,这或许还得感谢这堵"墙"的作用,正所谓哪里有压迫哪里就有反抗啊 从2015年中旬,android插件化的兴起,到2016年底, ...
- login组件的两种用法_Android-模块化、组件化、插件化、热修复-组件化-组件间的通信(本地,下沉,bus,路由)...
延续上一篇 MonkeyLei:Android-模块化.组件化.插件化.热修复-组件化工程构建+页面路由多种方式实践 ,我们进行搞下组件之间的通信.比如登录成功后怎么通知其他页面刷新: 方式可能有很多 ...
- 洋洋洒洒688字带你彻底吃透Zuul的插件机制及定制化开发
Zuul的插件机制及定制化开发 Zuul的另外一个重要机制就是Filter动态加载机制.Zuul支持的动态Filter由Groovy代码编写,动态管理Groovy的File目录变更并动态编译和加载. ...
- php 织梦wap源码,织梦手机静态页生成插件 DEDE WAP静态化 手机端生成静态
织梦手机静态页生成插件 织梦手机端本身默认没有静态,很多客户都想做手机端静态,这次你们有福了, 织梦手机静态页生成插件是一个安装后,可以生成手机版静态页,提高手机版网页的访问速度,更加有利于SEO. ...
- 大型Android项目架构:基于组件化+模块化+Kotlin+协程+Flow+Retrofit+Jetpack+MVVM架构实现WanAndroid客户端
前言:苟有恒,何必三更眠五更起:最无益,莫过一日曝十日寒. 前言 之前一直想写个 WanAndroid 项目来巩固自己对 Kotlin+Jetpack+协程 等知识的学习,但是一直没有时间.这里重新行 ...
最新文章
- trogan连接不上_解决连接不上网(Connection not connected).doc
- 在QTP中申明XPath
- ubuntu 安装OpenBLAS
- 2017-2018-2 『网络对抗技术』Exp1:PC平台逆向破解 20165335
- 面向对象程序设计(Java)
- C#属性: 利用set实现递归
- Android开发之将Android SVG 转 VectorDrawable矢量图的方法
- Dubbo消费者代理的调用
- LeetCode刷题(24)
- 跨进程的 键盘钩子_Delphi下深入Windows编程之钩子原理一
- 中兴B860AV2.1-T刷机教程加固件
- MySQL的安装图解
- 剑指offer--46.47.发散思维能力
- python怎么获取向量中非零元素的行号
- SQL错误信息:已更新或删除的行值要么不能使该行成为唯一行、要么改变了多个行
- CentOS 7 查询CPU、内存、磁盘的使用情况
- A-Level经济真题(7)
- 后台怎么接收处理从url 客户端传来的json数据格式
- php 可视化模板编辑,MetInfo
- 跟西乔一起开脑洞,预测AIGC的终极形态