Skip to main content
QUICK REVIEW

[论文解读] Maat: Automatically Analyzing VirusTotal for Accurate Labeling and Effective Malware Detection

Aleieldin Salem, Sebastian Bănescu|arXiv (Cornell University)|Jul 1, 2020
Advanced Malware Detection Techniques参考文献 35被引用 7
一句话总结

Maat 提出了一种基于机器学习的自动化方法,利用 VirusTotal 扫描报告生成稳定且准确的 Android 应用标记策略,克服了临时阈值方法的局限性。与基于阈值的标记方法相比,Maat 在标记准确性和下游恶意软件检测模型的有效性方面均表现更优。

ABSTRACT

The malware analysis and detection research community relies on the online platform VirusTotal to label Android apps based on the scan results of around 60 antiviral scanners. Unfortunately, there are no standards on how to best interpret the scan results acquired from VirusTotal, which leads to the utilization of different threshold-based labeling strategies (e.g., if ten or more scanners deem an app malicious, it is considered malicious). While some of the utilized thresholds may be able to accurately approximate the ground truths of apps, the fact that VirusTotal changes the set and versions of the scanners it uses makes such thresholds unsustainable over time. We implemented a method, Maat, that tackles these issues of standardization and sustainability by automatically generating a Machine Learning (ML)-based labeling scheme, which outperforms threshold-based labeling strategies. Using the VirusTotal scan reports of 53K Android apps that span one year, we evaluated the applicability of Maat's ML-based labeling strategies by comparing their performance against threshold-based strategies. We found that such ML-based strategies (a) can accurately and consistently label apps based on their VirusTotal scan reports, and (b) contribute to training ML-based detection methods that are more effective at classifying out-of-sample apps than their threshold-based counterparts.

研究动机与目标

  • 解决使用 VirusTotal 扫描报告对 Android 恶意软件缺乏标准化、可持续的标记策略的问题。
  • 克服由于 VirusTotal 动态调整扫描器集合和版本变化导致的基于阈值标记方法的不稳定性。
  • 开发一种自动化方法,为研究数据集生成可靠且时间一致的标记策略。
  • 评估基于机器学习的标记方法是否相比基于阈值的方法能提升下游恶意软件检测模型的性能。
  • 为更有效的 VirusTotal 恶意软件分析提供关于扫描器正确性和稳定性的可操作见解。

提出的方法

  • 收集并分析 2018–2019 年间约 53,000 个 Android 应用的 VirusTotal 扫描报告。
  • 从扫描报告中提取特征,包括单个扫描器输出和聚合统计信息,用于训练机器学习模型。
  • 训练一个机器学习模型(例如随机森林或类似模型),基于扫描器信号预测应用标记(恶意/良性)。
  • 使用置信度分数评估标记稳定性,并识别随时间保持一致可靠的扫描器。
  • 使用性能指标将基于机器学习的标记策略与多种基于阈值的策略(例如 ≥1、≥2、≥10 个扫描器)进行比较。
  • 通过使用样本外测试集,评估基于机器学习的标记对训练下游检测模型(例如 Drebin 分类器)的影响。

实验结果

研究问题

  • RQ1当 VirusTotal 动态更改其扫描器集合时,基于阈值的标记策略表现如何?
  • RQ2能否自动生成基于机器学习的标记策略,使其在准确性和稳定性上优于基于阈值的方法?
  • RQ3在不同数据集和时间段内,VirusTotal 上哪些扫描器在检测 Android 恶意软件方面始终正确且稳定?
  • RQ4与基于阈值的标记相比,使用基于机器学习生成的标记是否能提升下游恶意软件检测模型的性能?
  • RQ5在 VirusTotal 扫描报告中,标记稳定性在多大程度上与标记正确性相关?

主要发现

  • Maat 的基于机器学习的标记策略在长时间范围内保持高度一致的准确性,而基于阈值的策略由于 VirusTotal 的动态扫描器集合变化而性能下降。
  • 在所有评估的时间窗口中,基于机器学习的标记策略在标记准确性上均优于表现最佳的基于阈值的策略(例如 ≥10 个扫描器)。
  • 不存在适用于所有数据集的通用正确扫描器集合;最优扫描器集合取决于数据集构成和时间周期。
  • 发现 BitDefender 及其他扫描器被 VirusTotal 替换为效果较差的版本,导致 Android 恶意软件检测准确率下降。
  • 尽管大多数扫描器在时间上保持稳定的标记,但标记稳定性并不能保证正确性,因为部分稳定的扫描器实际上不准确。
  • 使用 Maat 生成的标记训练的恶意软件检测模型(例如 Drebin 分类器)在样本外恶意软件上的分类准确率显著高于使用基于阈值标记训练的模型。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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