文献简介
文献标题:MalCertain Enhancing Deep Neural Network Based Android Malware Detection by Tackling Prediction Uncertainty
引用:Yang, Limin et al. "BODMAS: An Open Dataset for Learning based Temporal Analysis of PE Malware", IEEE Symposium on Security and Privacy (2021): 78-84.
代码:https://github.com/Dirtyboy1029/MALCERTAIN/
一、引言及重要信息
1.基于的思想
预测不确定性可以区分被正确分类和非正确分类的样本。
原文:Therefore, a simple way to enhance DNN-based Android malware detection is to draw on the idea that prediction uncertainty can distinguish different samples (correctly classified samples and incorrectly classified samples)
2.文献创新点
(1)已有文献的不足:只局限于单个或很少的不确定性评估指标。因此,这些不确定性估计是否会受训练数据的影响,以及如何将他们应用于提高模型准确率上也是不清楚的。
原文:However, these existing works are mostly limited to a single or few uncertainty assessment metrics. Thus, it is not clear if the uncertainty estimations are potentially subject to the bias of their training data, and what are the optimal way to integrate these estimations to improve the model accuracy.
(2)本文的贡献:
① 首次尝试利用基于dnn的Android恶意软件检测模型的预测不确定性特征来提高其模型准确性。【这些模型的正确和不正确预测之间的预测不确定性差异可以使用一些指标(例如,熵,KL散度)来检测。】
② 提出了一个新的框架MalCertain,以精确定位可能被基于dnn的Android恶意软件检测模型错误分类的样本,并纠正错误分类的预测以提高模型性能。
③ 通过对26,748个应用程序进行了广泛的实验,以评估MalCertain的有效性。【将MalCertain应用于两个最先进的基于dnn的Android恶意软件检测模型,当这些模型用于检测OOD样本时,MalCertain能够提高模型性能(准确性提高约21%,F1分数提高49%)。同时,MalCertain还可以提高这些模型识别对抗性样本的能力。】
二、研究方法
- 首先进行了一项特征研究(a characteristic study),旨在衡量哪种不确定性估计方法和指标可以区分基于dnn的Android恶意软件检测模型的正确和不正确预测。
原文:To this end, we first conduct a characteristic study that aims to measure which uncertainty estimation method and metrics can distinguish correct and incorrect predictions of DNN-based Android malware detection models (see § 3).
characteristic study具体步骤
(1)首先,训练一个基于dnn的Android恶意软件检测模型(DeepDrebin),并将该模型应用于包含OOD应用程序样本(即具有不确定性的数据)的测试数据集,以获得正确和不正确的预测。
==> 实验结论:
① 漏报率大于误报率。
② 模型性能表现不佳说明存在概念漂移。
(2)然后,使用现有的不确定性估计方法训练一组模型集合,将这些模型集合应用于测试数据集以获得它们的预测,并根据这些预测结果计算不确定性估计度量。【结果表明,所有这些指标都能有效区分正确和错误的预测。特别是,使用变分贝叶斯推理方法计算的Kullback-Leibler (KL)散度度量是识别错误预测的最佳方法之一。】
==> 详细步骤
① 为了估计这些预测的不确定性,我们选择了五种常用的方法来构建模型集合:(i) Epoch Ensemble, (ii)变分贝叶斯推断Variational
Bayesian Inference,(iii) Monte Carlo Dropout, (iv) Deep Ensemble和(v) Weighted Deep Ensemble。(使用相同的训练集训练5个不确定性估计模型集合)
② 为了定量评估预测的不确定性,我们选择了三个常用的指标:熵Entropy、KL散度(Kullback-Leibler divergence)和标准差(standard
deviation),它们都可以用来量化一组数据的分散程度。通常,度量值越大,表明集成中模型之间的分歧越大,因此不确定性越高。
==> 实验结果分析
① 根据样本是否被Base Model误分类,将样本分为两类。之后,我们计算了每个类别中每个样本的不确定度度量。
② 图2显示了正确分类样本(实线)和错误分类样本(虚线)的三个不确定性度量的CDF分布,每种颜色标记一种类型的模型集合。我们可以看到,所有的不确定性指标(熵、KL散度和标准差)在两种类型的样本中显示出显著不同的分布。错误分类样本的不确定度值一般大于正确分类样本的不确定度值。【这种差异对于VBI方法尤其明显,大约75%的正确预测的不确定性度量为0,而大约10%的不正确预测的不确定性度量为0。】
③ 因此,这些基于不同不确定性估计方法计算的不确定性度量可以作为区分可靠和不可靠预测的指标。这促使我们设计一种自动化的方法来标记不可靠的预测并纠正这些预测结果。
- 基于以上研究,提出了一个通用框架MalCertain,它找到了一种使用预测不确定性来提高基于dnn的Android恶意软件检测模型性能的最佳方法。
原文:Motivated by this study, we propose a general framework, MalCertain, which finds an optimal way of using prediction uncertainty to improve the performance of DNN-based Android malware detection models (see § 4)
MalCertain框架包含的实验步骤
(1)DNN Model Training:给定一个基于dnn的Android恶意软件检测模型(称为Base model), MalCertain首先在Base model上训练多个模型集合,并将Base model和这些模型集合应用到一个校正训练数据集上,以获得它们的预测结果。
==> 如何训练模型集合
微调模型参数,观察预测结果和微调前的预测结果是否存在很大不同。
原文:Given a classification model
标签:不确定性,model,预测,模型,恶意软件,样本,Base,Model,安卓 From: https://www.cnblogs.com/LucyNote/p/18146888