Measuring and Modeling the Label Dynamics of Online Anti-Malware Engines

https://www.usenix.org/system/files/sec20-zhu.pdf

本文使用一种数据驱动的方法来分类归因和验证常见的研究人员打标签方法。首先调查115篇使用VirtualTotal的学术论文,识别常见的方法。然后收集VT上超过14000个文件来自65个VT引擎的每日快照,持续超过一年时间。我们的分析验证了稳定文件中基于阈值标签聚合的好处,也指出了选择不当阈值的影响。展示了手动选择的新人引擎不总是表现良好,特定的一组引擎是相关的,不应该单独看待。最后,用经验表明特定的引擎无法对提交的文件进行深入分析,很容易产生假阳性。基于研究,作者为未来使用VT作为数据标注提供了建议。

Motivation

VT包含连接了多个引擎,可以用于给数据打标签。但是不同的安全引擎会产生分歧,无法判断给定的文件是否恶意,这就需要一定的聚合标签方法。目前大多数聚合方法都是凭研究员的直觉和经验,缺乏定量证据。

Methodology

本文采用了一种数据驱动的方法来分类归因和验证用于VT数据标注的方法。

  1. 分析过去11年中超过100篇研究论文来分类使用VT打标签方法
  2. 超过一年运行一个测量方法,收集VT上来自65个引擎的大量文件的标签。

目标是对已有的标签方法提供一个数据驱动的评估方案,并识别一些有问题的方法、建议更好的选择

有两个原则

  1. 使用第一次提交到VT的文件。允许从开始观测标签,不受历史影响。
  2. 每天重新扫描文件,动态跟踪文件的微调标签

构造了一个14423个文件的数据集,收集来自65个引擎的每日标签,目标是测量动态标签和引擎之间的关系。然后为了观测引擎标签的正确性,构造了一个更小的现实数据集,包含手动构造和验证的恶意软件和良性软件。总共收集了超过3亿个数据点。

结果

  1. 首先测量了单个引擎改变标签的频率,发现超过50%的标签改变了,非常短暂,第二天又会变回去。在文件和引擎中,标签变换非常广泛,即使过了一年,也还在变。并且展示了,如果阈值t设置的合适,基于阈值的合并方案非常有效。应用广泛的t=1不是个好阈值。
  2. 对不同引擎标签之间的关系机械能建模,测试已有工作的独立假设。通过对同一个文件的引擎的标签序列进行聚类,发现了有很强关系的机组引擎。通过因果关系模型,识别了更容易被其它引擎影响的引擎。结果展示了引擎不应该等价看待。
  3. 使用现实数据观测不同引擎的标签精准度,发现不同引擎之间非常不均匀的性能。已有工作中几个著名的引擎并不特别景区。在文件混淆时,引擎中的一个子集会产生假阳性,这指出了某些引擎缺少对于文件的分析,导致找到一种通用的好方法或阈值聚合标签很难

贡献

  • 调研了115个学术论文,分类了他们聚合VT标签的方法
  • 收集了超过14000个文件来自65个引擎的每日标签,持续超过一年。使用数据集归因验证了常用聚合方法,发布了数据集。
  • 测量了不稳定不一致标签的潜在影响,识别了有问题的方法,为未来使用VT的研究者提供了建议

https://sfzhu93.github.io/projects/vt/paper-list.html