[论文解读] Android Malware Clustering using Community Detection on Android Packages Similarity Network
该论文提出Cypider,一种可扩展的无监督框架,用于Android恶意软件聚类与指纹识别。该框架通过APK特征构建相似性网络,并应用社区检测以识别恶意社区。其在检测恶意社区方面实现了60–80%的覆盖率和85–99%的精确率,社区指纹在识别恶意软件家族和良性应用方面准确率达86–94%。
The daily amount of Android malicious applications (apps) targeting the app repositories is increasing, and their number is overwhelming the process of fingerprinting. To address this issue, we propose an enhanced Cypider framework, a set of techniques and tools aiming to perform a systematic detection of mobile malware by building a scalable and obfuscation resilient similarity network infrastructure of malicious apps. Our approach is based on our proposed concept, namely malicious community, in which we consider malicious instances that share common features are the most likely part of the same malware family. Using this concept, we presumably assume that multiple similar Android apps with different authors are most likely to be malicious. Specifically, Cypider leverages this assumption for the detection of variants of known malware families and zero-day malicious apps. Cypider applies community detection algorithms on the similarity network, which extracts sub-graphs considered as suspicious and possibly malicious communities. Furthermore, we propose a novel fingerprinting technique, namely community fingerprint, based on a one-class machine learning model for each malicious community. Besides, we proposed an enhanced Cypider framework, which requires less memory, x650, and less time to build the similarity network, x700, compared to the original version, without affecting the fingerprinting performance of the framework. We introduce a systematic approach to locate the best threshold on different feature content vectors, which simplifies the overall detection process.
研究动机与目标
- 应对每日新增10,000多个恶意应用带来的Android恶意软件分析可扩展性挑战。
- 减少对人工分析和基于签名的检测的依赖,这些方法在面对混淆或零日恶意软件时会失效。
- 实现对已知恶意软件变种和此前未见(零日)恶意软件家族的自动化检测。
- 开发一种轻量级、高效的框架,可在不牺牲检测准确率的前提下扩展至大规模数据集。
- 提出一种基于一类机器学习的新型社区指纹技术,以提升恶意软件家族识别能力。
提出的方法
- 通过将每个Android应用表示为特征向量,并在任一特征上具有高相似度的应用之间建立连接,构建相似性网络。
- 应用社区检测算法提取高度连接的子图,解释为潜在的恶意社区。
- 提出“恶意社区”概念——共享共同特征(尤其是代码或组件)的应用很可能属于同一恶意软件家族。
- 为每个检测到的社区开发基于一类机器学习模型的社区指纹,以实现高效的恶意软件家族识别。
- 优化框架的内存和时间效率,与原始版本相比,相似性网络构建时间减少约700倍,内存使用量降低约650%。
- 系统性地确定不同特征向量的最优相似度阈值,以简化并提升检测准确率。
实验结果
研究问题
- RQ1在Android APK的相似性网络上应用社区检测,能否有效识别恶意应用集群,包括变种和零日恶意软件?
- RQ2与现有基于相似度的恶意软件检测方法相比,所提出的Cypider框架在效率和准确率方面表现如何?
- RQ3基于一类学习模型的社区指纹在多大程度上能检测已知恶意软件家族,并将其与良性应用区分开来?
- RQ4如何为不同特征向量选择最优相似度阈值,以最大化检测覆盖率和精确率?
- RQ5该框架能否在大规模数据集(如110,000个应用)上保持高性能和低资源消耗?
主要发现
- Cypider在单次检测迭代中实现了60–80%的恶意软件数据集覆盖率,恶意社区识别精确率达85–99%。
- 与原始版本相比,框架将相似性网络构建时间减少了约700倍,内存使用量降低了约650%,且未降低指纹识别性能。
- 社区指纹对恶意软件家族的检测准确率达86%,对一般恶意软件为93%,对良性应用为94%。
- 系统性的阈值选择过程简化了检测流程,并提升了不同特征集之间的一致性。
- 该框架通过在多样化APK特征上检测高相似度聚类,成功识别出重打包恶意软件和零日威胁。
- 在110,000个应用的数据集上评估显示,社区检测约在60秒内完成,证明了其高可扩展性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。