论文阅读笔记2021-7-5

USENIX
Measuring and Modeling the Label Dynamics of Online Anti-Malware Engines
https://www.usenix.org/system/files/sec20-zhu.pdf

这篇文章主要对VT的识别结果进行了分析,就实验结果来说,只选取一部分识别引擎的结果作为判别标准会更稳定,且需要隔一段时间再次提交文件观察识别结果,如果识别结果在短期内没有出现频繁翻转,则可以将其作为判定标准

第一章
1.作者指出现阶段常用的VirusTotal工具,其中不同的审查引擎具有一定的相关性,因此在面对精心构造的部分恶意软件时会发生误报
2.作者指出有些识别恶意软件的引擎相关性较大,具有相同的识别结果,因此在使用VirusTotal时仅通过平均加权的方法识别各个引擎的识别结果是不准确的

第二章
1.作者还例举了一些常见的研究员在分析识别结果时候的方法,如阈值法,一般以50%为界限,也有的论文以1为阈值,即只要有引擎报恶意,则判定为恶意软件。有的研究者则是只仅关注比较知名的识别引擎结果,或是直接采用VirusTotal的结果
论文阅读笔记2021-7-5
2.作者指出大部分论文只是简单实用了VirusTotal的识别结果,大多数研究人员只 拍摄了 VirusTotal 结果的一张快照,而没有考虑可能的结果变化(比如今天识别为良性软件在之后会被识别为恶意软件)。
论文阅读笔记2021-7-5
第三章
1.作者介绍了实验方法,即提交新的软件样本给VT来识别,以减少之前识别结果的影响
作者特意选择了样本,以便: (1) 在 2018 年 8 月 31 日(即第 1 天),大约一半 的样本(7,197 个)具有来自至少一个引擎的“恶意标签”; (2) 另一半样本 (7,226) 具有来自所有引擎的“良性”标签。 2018 年 8 月 31 日之后,作者利用 rescan API 让 VirusTotal 引擎每天扫描 14,423 个 文件,并使用报告 API 查询最新的扫描结果。2018 年 8 月 31 日到 2019 年 9 月 30 日,作者每天为这 14,423 个文件调用 VirusTotal 的重新扫 描 API。所有文件都是 32 位的。 5,798 个文件为 Win32 DLL 文件,其余为 Win32 EXE 文件。关于文件 大小,超过95%的PE文件在4KB到4MB的范围内。在396天的数据采集期内,成功采集了378天(95.5%)的数据。
2.作者通过具 CodeVirtualizer和Themida来创建新的恶意软件集和良性软件集

第四章
1.VT的检测每日检测结果如下,其中1代表为恶意,0代表非恶意
论文阅读笔记2021-7-5
2.作者定义了一种“危险翻转”,即第一天VT的检测结果出来后,第二天VT的检测结果不一样,说明VT在这一天内更改了识别结果,VirusTotal 上超过一半的翻转是危险翻转。
可以通过在连续三天内向 VirusTotal 提交相同的文件来识别危险翻转。(即VT的识别结果不确定,以此证明其结果不一定可靠)
论文阅读笔记2021-7-5
3.作者指出约67%的危险翻转,是因为引擎模型更新(即版本号不一样),也有可能是版本号和实际部署速度不统一造成的,剩下的约30%作者指出难以对其翻转的原因进行分类

第四章
1.作者对之前提到的VT结果处理方法进行了分析。如下图所示到第 x 天到数据收集结束(蓝线代指所有的65 个识别引擎),其中VirusTotal 标签没有改变的文件的百分比。例如,当 x = 50 时, 只有 9.37% 的文件是稳定的,这意味着所有这些文件的标签都没有 从第 50 天开始没有发生翻转现象。
论文阅读笔记2021-7-5
如果删除15个引擎,留下50个识别引擎,则有43.19%的文件未发生翻转
2.作者指出等待更长的时间并不能保证从单个引擎获得更稳定的标签,除非只参考一小部分引擎的识别结果
3.作者指出通过阈值法来判断恶意软件时,当阈值太小或太大,翻转现象会严重影响标签的聚合结果。但如果阈值的范围选择合理(2-39) , 聚合标签会更稳定。
4.作者对不同引擎的结果进行了聚类分析,以判断这些引擎的相似性,方法是通过每天的识别结果(比如100010001这样的,1就是当天判断为恶意,0是当天判断为)计算二进制距离来确定相似度,不过实际还要复杂一些:计算10翻转次数,01翻转次数,连续0和连续1这几个片段出现的次数,首先确定一个bin size,假设选择 bin size S = 7,那么 的标签序列 “ 01000000000000” 可 以 分 为 “ 0100000” 和 “0000000”两个 bin。对应的特征每个bin 的向量分别为 [1, 1, 1, 5] 和 [0, 0, 0, 7]。之后计算两个向量的余弦相似度
5.作者指出当这个距离的阈值为0.01时可以取得较好的分类结果,说明这些引擎的标签决策具有很强的相关性。这些引擎的识别结果不应单独处理,而且许多引擎的识别结果会受到大厂识别引擎的影响(微软,360等)
论文阅读笔记2021-7-5
其中引擎i对引擎j的影响也可以量化计算,其中被动影响量化计算为pi, j = |Ai2 j |/|Ai |,其中|Ai |是对应标签连续7位一样的情况,如标签为1时,序列是“111111111100011111”时候,|Ai |为4,因为连续的七个1从左往右可以移4位。|Ai2 j |文中没有举例详细说明,从上限文来看应该是上文提到的计算不同引擎相速度的向量算法

第五章
1.不同识别引擎间的被动影响总体上较弱。但当良性标签被翻转为恶意时,被动影响相对较强。
2. 良性文件中的混淆很容易导致 VirusTotal 引擎误报(因为混淆操作被认为是恶意软件逃避检测的行为)。一般大厂的引擎在遇到经过混淆处理的文件时倾向于认定为恶意文件。不过作者也指出如果确定良性文件没有经过混淆操作,使用小阈值(如60个引擎中3个报恶意即判断为恶意)来判断恶意软件可以平衡精度和recall。
3.作者指出VT的在线版和桌面版识别结果不一样,在线版更好

上一篇:CSS Backgrounds(背景)i火吧css


下一篇:前端苹果官网html+css