一. 背景
当近年来,在使用深度学习技术进行风险检测的应用场景中,虽然分类器在Android/PE恶意软件、代码漏洞及网络入侵检测中表现出色,但其缺乏透明度,导致行为语义无法有效传达给安全专家。这使得虽然模型能自动化检测风险,但在后续分析中,专家仍需大量手动工作来理解预测标签背后的决策依据。因此,研究可解释风险检测系统(ERDS)对安全分析至关重要。
当前ERDS通过结合分类器与特征归因(FA)方法来解释模型行为,但FA的后验性质导致其对分类器数据和模型做了通用假设,产生了近似误差。尤其是,图像和文本领域的FA方法不适合风险检测分类器。即便有针对安全应用的定制方法,它们可能计算成本高且不适用于所有风险检测任务。此外,FA多停留在特征空间层面,忽略了用户的理解水平,与用户认知存在差距。
为解决这些问题,《FINER: Enhancing State-of-the-Art Classifiers with Feature Attribution to Facilitate Security Analysis》[1]提出FINER框架,旨在生成高保真度和可理解性的解释。该框架通过多任务学习策略提升解释保真度,并引入任务相关知识来增强解释的可理解性,整合了模型开发者、FA设计师和安全专家的努力。
二. 论文概述
图1 现有的ERDS架构
现有ERDS通过结合分类器与一个解释器进行简单的组合如图1,其中分类器部分可以视作由三步构成:a提取特征,φ向量化,分类器模型如DNN,RNN得到最终分类结果C.
其中解释器的部分则整体是依靠FA算法构建一个分类器的拟合函数g为每个特征分配重要性分数,并且设置阈值从输入特征中选择那些重要性超过阈值的特征作为解释。
这种结构的ERDS解释结果的好坏全部依靠FA算法,而FA算法本身又具有不可避免的近似误差以及解释低级特征的问题。
因此在FINER架构的设计中,模型解释的任务不再单纯依靠解释算法本身来完成,而是被分解成由三个不同的角色协同合作的过程。这三个角色包括了模型开发者、特征归因设计者以及安全专家。这样的设计旨在通过多方协作,共同提升风险检测分类器解释的保真度和可理解性,从而更好地支持下游的安全分析工作。
图2 FINER架构
模型开发者(R1):负责通过解释来重新训练模型,引导模型依据易于理解的高级特征进行分类(M1)。此过程包括数据增强与多任务训练:
1.数据增强:使用由安全专家 (R2) 提供的领域调整数据,随机选取解释器,仅对高级特征进行解释。具体解释操作取决于所选解释方法的不同:基于扰动的方法仅在与高级特征相关的低级特征上进行扰动;而基于梯度的方法则先计算所有特征的重要性,再选择与高级特征相关联的低级特征。根据解释结果,移除高风险特征的样本或仅保留这些高风险特征的样本作为增强数据,与原始训练数据混合使用。
2.多任务训练:利用上述增强数据与原始数据混合进行训练,相当于在训练过程中引入了三个正则项,这些正则项分别用于约束模型在面对缺乏关键特征的正样本时做出负样本的决策,在面对包含关键特征的正样本时做出正样本的决策,以及在面对所有负样本时做出负样本的决策。这样做的目的是引导模型更多地依据高风险的高级特征来进行分类。具体公式如下:
安全专家(R2):负责从当前数据中提取易于理解的高级特征(M4),并对模型开发者 (R1) 提供的模型及特征归因算法工程师 (R3) 提供的解释结果进行效果评估(M3)。
图3 负责生成具有任务感知能力的模型解释算法图
特征归因算法工程师(R3):负责生成具有任务感知能力的模型解释(M2)。该部分具体的算法流程如图3这一过程主要包括两个部分:域调整及集合解释:
1.域调整:根据安全专家 (R2) 提供的高级特征,对每个高级特征进行向量化处理,并寻找与其对应的低级特征向量。如果发现相同的特征,则保存这些高级特征,并建立高级特征与低级特征之间的映射关系,类似于文本与其关键字之间的关系。
2.集合解释:比较使用所有特征与仅去除部分高重要性高级特征时模型的预测效果。模型性能下降(MPD)越大,说明这种方法越准确。通过MPD进行归一化处理,得到最终用于加权各解释器结果的权重 w。MPD的具体公式如下:
三. 实验评估
论文使用三种数据驱动的分类器进行研究:DR-VGG、DAMD 和 VulDeePecker。
数据集包括用于漏洞检测的23,307个良性/36,396个恶性PE文件,以及用于PE恶意软件检测的29,313个安全/10,444个易受攻击的代码小工具。对于Android恶意软件检测,由于原有数据集过小且过时,研究人员收集了一个包含12,807个良性/4,742个恶意Android应用的新数据集,时间跨度为2017年至2019年。数据集被分为80%的训练集和20%的测试集。
表1 解释方法的基础信息
在实验中使用了表1中列出的所有解释器。在评估指标方面分为两个部分,一个是模型解释性评价和全局保真度评价。
模型解释性评价:此评价用于选择特定风险检测分类器的模型函数。具体来说,此过程涉及到使用解释器在测试数据集上进行重要性成分(IC)演绎,即改变测试样本中的解释成分,观察模型预测的变化。演绎的百分位数(percentile)作为阈值,确定了被改变的程度。然后定义平均模型预测(AMP)作为评价指标,即在给定的解释器集合G和测试数据集X上,对所有可能的解释器产生的改变样本的预测结果求平均。AMP值越低,说明模型的解释性越好,因为这表示通过掩盖重要性成分,模型预测的风险概率显著下降,即模型的行为更加容易被理解。
全局保真度评价:此评价主要用于在已知任务特定工作负载时,找出表现更佳的解释器。这里的工作负载指的是解释器可以处理的最大IC数量k。评价过程首先过滤掉IC大小小于等于k的样本,得到新的样本集合。然后,计算在剩余样本上每个(集成)解释器的平均最大预测差异(MPD),MPD值越低表示解释器对模型预测的近似能力越好,即解释器生成的解释越接近模型真实的行为。
图4 在不同数量的掩蔽ICs下测量的模型预测下降(MPD)
图5 在掩蔽IC的不同百分位数下测量的平均模型预测(AMP)
四. 参考评价
从技术创新的角度来看,FINER不仅提高了解释的保真度可理解性,还可以灵活地适应新的方法,对于特定的安全应用程序,可以通过吸收更专门设计的解释方法来实现更大的保真度提高。
然而,FINER框架也存在一些值得改进或深入探讨的方面。首先,论文主要关注了良性应用程序场景下的解释保真度和可理解性问题,而在面对攻击时,FINER的健壮性是一个重要而复杂的安全议题。有动机的对手可能对分类器和解释器执行逃避攻击或后门攻击,这需要在未来的研究中加以考虑。此外,更新分类器以平衡鲁棒性和分类/解释准确性也将成为一项关键任务。外,FINER展示了其在多种风险检测任务中的有效性,但其应用范围主要集中在已达到先进性能的深度学习分类器上,如Android/PE恶意软件检测等任务。并没有在如僵尸网络和垃圾邮件检测中验证表现。
在真人评估方面,尽管FINER利用了几个人工注释的样本并通过收集安全专家的反馈来评估恶意软件解释的有用性,但大规模的真人评估仍然是一个挑战。一方面,人工注释需要专业知识且耗时费力,导致难以构建大规模的注释数据集;另一方面,由于ERDS涉及多学科交叉研究,如何制定统一的人类参与评估标准尚无定论。
五. 后记和展望
未来的研究应关注FINER在对抗攻击环境下的表现,并探索如何在保证模型鲁棒性的同时维持高解释质量。此外,为了解决大规模真人评估的难题,需要开发更加高效且标准化的评估方法,以充分利用用户反馈来优化模型输出。总的来说FINER框架通过提高风险检测分类器的解释保真度和可理解性,还是在安全分析领域展现出了非常显著的优势。
更多前沿资讯,还请继续关注绿盟科技研究通讯。
如果您发现文中描述有不当之处,还请留言指出。在此致以真诚的感谢。
参考文献
[1]Yiling He, Jian Lou, Zhan Qin, and Kui Ren. 2023. FINER: Enhancing State-of-the-art Classifiers with Feature Attribution to Facilitate Security Analysis. In Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security (CCS '23). Association for Computing Machinery, New York, NY, USA, 416–430. https://doi.org/10.1145/3576915.3616599.
内容编辑:创新研究院 舒展
责任编辑:创新研究院 舒展
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...