Skip to main content
QUICK REVIEW

[论文解读] Understanding Android Obfuscation Techniques: A Large-Scale Investigation in the Wild

Shuaike Dong, Menghao Li|arXiv (Cornell University)|Jan 5, 2018
Advanced Malware Detection Techniques参考文献 28被引用 39
一句话总结

本文对 Android 代码混淆技术——标识符重命名、字符串加密、Java 反射和打包——进行了大规模的实证研究,采用轻量级、基于机器学习的检测器对来自 Google Play、第三方市场和恶意软件数据库的 114,560 个真实 APK 进行分析。主要发现是,恶意软件作者更频繁地使用高级混淆技术(如字符串加密),而第三方应用的打包率高于 Google Play 应用,揭示了不同应用生态系统中混淆模式的显著差异。

ABSTRACT

In this paper, we seek to better understand Android obfuscation and depict a holistic view of the usage of obfuscation through a large-scale investigation in the wild. In particular, we focus on four popular obfuscation approaches: identifier renaming, string encryption, Java reflection, and packing. To obtain the meaningful statistical results, we designed efficient and lightweight detection models for each obfuscation technique and applied them to our massive APK datasets (collected from Google Play, multiple third-party markets, and malware databases). We have learned several interesting facts from the result. For example, malware authors use string encryption more frequently, and more apps on third-party markets than Google Play are packed. We are also interested in the explanation of each finding. Therefore we carry out in-depth code analysis on some Android apps after sampling. We believe our study will help developers select the most suitable obfuscation approach, and in the meantime help researchers improve code analysis systems in the right direction.

研究动机与目标

  • 理解 Android 混淆技术在现实世界中的实际部署情况,超越理论或工具特定的研究。
  • 识别四种主要混淆技术——标识符重命名、字符串加密、Java 反射和打包——在不同应用市场中的分布与普遍性。
  • 为合法开发者与恶意软件作者在混淆使用上的差异提供实证洞察。
  • 为开发人员选择有效的混淆策略以及研究人员改进静态分析工具提供指导。

提出的方法

  • 设计轻量级、高效的检测模型,结合机器学习与签名匹配技术,识别混淆模式,无需进行去混淆处理。
  • 为四种关键混淆技术构建检测器:标识符重命名、字符串加密、Java 反射和打包。
  • 在真实标注数据集上验证检测器,确保高准确率与高效率。
  • 将检测器大规模应用于从 Google Play、第三方市场和恶意软件仓库收集的 114,560 个 APK 数据集。
  • 对抽样应用进行深入的代码分析,以解释统计发现。
  • 使用统计分析与基于代码模式和特征的聚类技术检测混淆,无需依赖去混淆。

实验结果

研究问题

  • RQ1在真实世界的应用中,四种主要 Android 混淆技术——标识符重命名、字符串加密、Java 反射和打包——的普遍程度如何?
  • RQ2来自 Google Play、第三方市场和恶意软件源的应用在混淆使用上存在哪些差异?
  • RQ3与合法开发者相比,恶意软件作者最常使用哪些混淆技术?
  • RQ4混淆技术的有效性与采用模式在不同应用类别和市场之间如何变化?
  • RQ5这些混淆模式对静态代码分析和恶意软件检测有何影响?

主要发现

  • 恶意软件作者使用字符串加密的频率显著高于合法应用开发者,表明其在规避静态分析中的作用。
  • 第三方市场应用的打包率是 Google Play 应用的两倍以上,表明非官方市场中的反分析措施更强。
  • 标识符重命名在第三方应用中的使用频率高于恶意软件,这与‘其主要被攻击者用于混淆’的假设相矛盾。
  • 虽然标识符重命名等基础混淆技术在良性应用中较为常见,但字符串加密和打包等高级技术主要由恶意软件使用。
  • 研究揭示了混淆策略的明显分化:良性应用倾向于使用轻量级技术,而恶意软件则采用更复杂、更具抗分析能力的方法。
  • 结果表明,当前的代码分析工具在应对字符串加密和打包方面面临的挑战远大于标识符重命名,为未来工具设计优先级提供了依据。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。