arXiv:2201.00757
各个引擎之间并不是独立的,引擎的强相关性可能会导致准确度的下降。引擎的相关有多种可能:
同一家公司的不同产品
产品检测能力向领先厂商学习
厂商将技术授权给其他厂商
在 n 个反病毒引擎、m 个文件的情况下,检出与家族分类可形成两个矩阵(注:家族名称使用 AVClass 提取)。
需要定义指标衡量二者相似,二者结果相同的情况除以二者都存在的情况。定义指标衡量二者变化同步性:
在反病毒引擎共识符合一阶交互的情况下,使用时间 Rank-1 相似矩阵(R1SM-T)算法来反映时序数据中一阶交互的变化。算法如下所示:
利用 VirusShare 的 25100286 个样本,查看其对应的 VirusTotal 扫描报告。查询在 2015 年 12 月至 2016 年 5 月之间进行,受限于扫描频率限制,每个样本只有一个扫描报告。
扫描日期(横跨十年的范围)的统计如下所示:
VirusTotal 的结果中有 93 个反病毒引擎,所有引擎的扫描量如下所示:
检出矩阵与分类矩阵如下所示:
检测同步性与分类同步性如下所示:
检出矩阵的 R1SM 分解如下所示,分解产生 16 个分量覆盖矩阵 60.596%,即四成矩阵无法解释。
如下显示了 R1SM=0.85 时聚类情况:
可以明显看出相同厂商的不同产品,如 TrendMicro 与 TrendMicro-Housecall、PandaB3 与 PandaBeta。以及一些大家公认的检测相似:BitDefender、Emsisoft 与 GData;McAfee、McAfee-GW-Edition 与 Microsoft;Avast、AVG 与 Fortinet。
分类矩阵的 R1SM 分解如下所示,分解产生 21 个分量覆盖矩阵 58.394%,即四成矩阵无法解释。
如下显示了 R1SM=0.7 时聚类情况:
Fortinet 和 McAfee 在 2019 年宣布联合开发端点安全解决方案,可能二者确实存在某种技术共享。
R1SM-T 模型经过超过五百万次的迭代训练,检出数据平均能解释 73.709%,分类数据平均能解释 67.196%。每月变化如下所示:
根据解释性,威胁情报的共享一开始局限在小群体间,但是后来信息共享变得无处不在。
分解的第一个组件如下所示:
很多原因都会产生较大的波动情况:
2014 年 11 月的 Alyac,2015 年的 Norman 等加入或者退出 VirusTotal。
2010 年 2 月到 7 月,K7 TotalSecurity 10.0 版本
厂商之间的技术合作、收购剥离与 SDK 类型的检测能力整合都会导致引擎的结果存在极大的相似性,而这在类似 VirusTotal 的场景中是十分重要的。多引擎扫描的共识与演化,近几年也被业界所重点关注,并且有一系列研究发布。在选择检测引擎时,如果选择了极为相似的检测引擎,是否还能达成当初想要构建多引擎检测能力的目标呢?