【笔记】DVa Extracting Victims and Abuse Vectors from Android Accessibility Malware

DVa: Extracting Victims and Abuse Vectors from Android Accessibility Malware

DVa:从 Android 辅助功能恶意软件中提取受害者和滥用媒介

原文地址:https://www.usenix.org/system/files/usenixsecurity24-xu-haichuan.pdf

Android 无障碍功能 (a11y) 服务被恶意软件广泛滥用,用于进行设备内货币化欺诈。现有的缓解技术侧重于恶意软件检测,但忽略了向用户提供已经发生的滥用行为的证据,并忽略了通知受害者以促进防御。我们开发了 DVa,这是一种基于动态受害者引导执行和滥用向量引导符号分析的恶意软件分析管道,以帮助调查人员发现 a11y 恶意软件的目标受害者、特定于受害者的滥用向量和持久性机制。我们部署了 DVa 来调查感染了 9,850 个 a11y 恶意软件的 Android 设备。从提取中,DVa 发现了 215 名独特的受害者,平均有 13.9 个虐待程序。DVa 还提取了 a11y 服务授权的 6 种持久化机制。

Android's accessibility service(Android的无障碍服务):A11y

a11y是"accessibility"的缩写,指的是一种辅助功能服务,旨在帮助有特殊需求的用户更容易地使用移动设备。Android的a11y服务允许特定的应用程序模拟用户的交互行为,例如点击屏幕、输入文字等,同时也能读取屏幕上显示的内容,如按钮的标签和文本框的内容。

这个服务本身是为了帮助视障或其他有特殊需求的用户更方便地操作手机,但不幸的是,这也给了恶意软件可乘之机。恶意软件可以利用这些能力,执行不需要用户直接参与的操作,比如在用户不知情的情况下点击广告、输入虚假信息等。

什么叫设备内的货币化欺诈(on-device monetization fraud)

这个应该翻译成"设备端变现欺诈"更好一点。

"设备上的欺诈性货币化"是指恶意软件通过在用户设备上执行某些操作来非法获利的行为。例如,恶意软件可能会:

  1. 点击广告: 恶意软件可以模拟用户的点击行为,从而为攻击者产生广告收入。
  2. 应用内购买: 在某些情况下,恶意软件可能会模拟用户的购买行为,导致用户无意中为恶意软件作者带来利益。
  3. 数据泄露和盗窃: 恶意软件可能会窃取用户的敏感信息,如用户名、密码、信用卡信息等,并将其出售给第三方。

论文中指出,现有的安全措施主要集中在检测和删除恶意软件上,但这些措施往往忽略了为用户提供已经发生的滥用行为的证据,以及通知受害者以帮助他们采取防御措施。因此,作者开发了DVa,这是一个基于动态受害者引导执行和滥用向量引导符号分析的恶意软件分析管道,旨在帮助调查人员:

  • 确定a11y恶意软件的目标受害者。
  • 揭示针对特定受害者的滥用向量。
  • 理解恶意软件如何通过a11y服务实现在用户设备上的持久性。

通过这些分析,DVa能够帮助用户和应用程序开发者了解恶意软件的攻击方式,并采取相应的防御措施。

本文开发了 DVa1,这是一种恶意软件分析管道,用于发现 a11y 恶意软件的目标受害者和特定于受害者的滥用媒介。它可以作为 Google Play Protect 的后端恶意软件分析服务运行,在用户设备上检测到 a11y 恶意软件时激活。

  • 借助恶意软件 APK,DVa 采用一种新颖的轻量级受害者建模和重建方法来指导恶意软件揭示其目标受害者 (§3.1)。

  • 使用动态执行跟踪,DVa 进一步利用滥用向量引导的符号执行策略来识别滥用例程并将其归因于受害者 (§3.2)。

  • 最后,DVa 检测 a11y 授权的持久性机制 (§3.3),以了解恶意软件如何阻碍合法查询或删除尝试。

开源地址

CyFI-Lab-Public/DVa: DVa: Extracting Victims and Abuse Vectors from Android Accessibility Malware (github.com)

DVa 由一个用于分析恶意软件的主要静态符号执行模块 和一个用于帮助加载恶意负载的外围动态分析框架组成。

相关推荐
努力变厉害的小超超2 小时前
ArkTS中的组件基础、状态管理、样式处理、class语法以及界面渲染
笔记·鸿蒙
aloha_7896 小时前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
dsywws7 小时前
Linux学习笔记之vim入门
linux·笔记·学习
A-超10 小时前
vue3展示pag格式动态图
笔记
帅得不敢出门10 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
u01015265810 小时前
STM32F103C8T6学习笔记2--LED流水灯与蜂鸣器
笔记·stm32·学习
weixin_5182850510 小时前
深度学习笔记10-多分类
人工智能·笔记·深度学习
丘狸尾10 小时前
ubuntu【桌面】 配置NAT模式固定IP
笔记
王俊山IT11 小时前
C++学习笔记----10、模块、头文件及各种主题(二)---- 预处理指令
开发语言·c++·笔记·学习
慕卿扬11 小时前
基于python的机器学习(二)—— 使用Scikit-learn库
笔记·python·学习·机器学习·scikit-learn