基于卷积神经网络恶意安卓应用行为模式挖掘
发布时间:2021-04-02 22:06
现有的安卓恶意应用检测方法所提取的特征冗余且抽象,无法在高级语义上反映恶意应用的行为模式。针对这一问题,提出一种可解释性检测方法,通过社交网络检测算法聚类可疑系统调用组合,将其映射为单通道图像,用卷积神经网络进行分类,并利用卷积层梯度权重类激活映射可视化方法发现最可疑的系统调用组合,从而挖掘理解恶意应用行为。实验结果表明,所提方法在高效检测的基础上,能够正确发现恶意应用的行为模式。
【文章来源】:网络与信息安全学报. 2020,6(06)
【文章页数】:10 页
【部分图文】:
系统总览Figure1Systemoverview
?API节点{<java.lang.RuntimeException:voidinit(java.lang.String)>,Normal}。它是java运行时异常处理API。大部分自定义的方法中包含异常处理。这种“超级节点”的存在,把原本不存在关系的敏感节点联系在一起,破坏了社区划分的结构。所以,在构建调用图时,需要过滤掉该节点再进行社区检测。笔者期望APK对应的特征图像的每一行排列一个社区,以便于卷积神经网络识别。但目前社区中包含的敏感节点数仍较多且分布离散。本文对每个社区再使用Louvian[12]算法进行一次划分。如表1和图2所示,二次社区划分之后的小社区中敏感节点数目集中在2~5。表1社区中敏感节点分布比例Table1Distributionratioofsensitivenodesinthecommunity平均值最小值25%50%75%最大值2.8111370图2社区中敏感节点数目分布统计Figure2Distributionstatisticsofthenumberofsensitivenodesinthecommunity根据上述分布结果,可以确定图像的宽度。本文选取图像宽度为4。这么做是基于这样的考虑,宽度选得过窄,过小的卷积核不能有效地提取模式信息;宽度选得过大,图像中需要填充的空白节点就会增多,从而导致图像的尺寸变大,卷积神经网络模型中参数增多,训练和检测分类时的开销都增大。3.4构建规则图像3.4.1敏感度计算本文按照敏感度由大到小将社区中敏感节点排列为规则图像。敏感度是一个统计值,借鉴了词频逆文本频率[13](TF-IDF,termfrequency-inversedocumentfrequency)的概念。TF-IDF旨在反映一个术语对语料库中某个文档的重要程度。衡量一个API的敏感度,即该API出现所代表的发生恶意行为的可能性大校基于这样的观察:敏感API,?
第6期张鑫等:基于卷积神经网络恶意安卓应用行为模式挖掘·39·现,而能够体现恶意行为的是剩余的6415个敏感API,其中,5597个敏感API的敏感度低于0.2,其余具有较强恶意程度区分度的敏感API仅为818个,约占总数的3%。图3敏感API敏感度分布Figure3SensitivitydistributionofsensitiveAPI3.4.2确定图像高度如图4所示,本文按照社区敏感度从大到小递减依次由上到下排列社区,同样地,大社区中划分的小社区也按照敏感度由上到下排序。而一个小社区中的敏感节点则按照敏感度由大到小递减依次从左到右排列到图像中。为了把整个图像像素更紧凑地排列,本文采用如下算法:大社区内的小社区并非严格由上到下排列,如果排列当前小社区后本行剩余的空白像素能够容纳下一个小社区,就在当前行排列下一个小社区;否则,另起一行。同时,为了保存大社区间的界限,大社区间强制换行隔开。这样,相当于将数目较小的小社区(通常是包含1到2个节点的)填充到大社区空隙中,既有效且紧凑地排列了像素,又保持了不同社区的界限。如上文所述,图像宽度确定为4。按照上述排列算法可以得到前述数据集的图像长度分布,如图5所示,98.12%APK的长度在800以下。考虑到API覆盖率和卷积网络模型运算量之间的平衡,本文将图像长度分为400、800、1200三档做了对比实验。实验指标为准确率和神经网络每秒浮点运算量(FLOPs,floatingpointoperations),实验结果如表2所示。由该表可以看出,图像长度从400增加到800提高了覆盖率,从而带来准确率的上升;800到1200的准确率基本不变,反而因为空白像素过量填充,导致模型的训练收敛?
本文编号:3116044
【文章来源】:网络与信息安全学报. 2020,6(06)
【文章页数】:10 页
【部分图文】:
系统总览Figure1Systemoverview
?API节点{<java.lang.RuntimeException:voidinit(java.lang.String)>,Normal}。它是java运行时异常处理API。大部分自定义的方法中包含异常处理。这种“超级节点”的存在,把原本不存在关系的敏感节点联系在一起,破坏了社区划分的结构。所以,在构建调用图时,需要过滤掉该节点再进行社区检测。笔者期望APK对应的特征图像的每一行排列一个社区,以便于卷积神经网络识别。但目前社区中包含的敏感节点数仍较多且分布离散。本文对每个社区再使用Louvian[12]算法进行一次划分。如表1和图2所示,二次社区划分之后的小社区中敏感节点数目集中在2~5。表1社区中敏感节点分布比例Table1Distributionratioofsensitivenodesinthecommunity平均值最小值25%50%75%最大值2.8111370图2社区中敏感节点数目分布统计Figure2Distributionstatisticsofthenumberofsensitivenodesinthecommunity根据上述分布结果,可以确定图像的宽度。本文选取图像宽度为4。这么做是基于这样的考虑,宽度选得过窄,过小的卷积核不能有效地提取模式信息;宽度选得过大,图像中需要填充的空白节点就会增多,从而导致图像的尺寸变大,卷积神经网络模型中参数增多,训练和检测分类时的开销都增大。3.4构建规则图像3.4.1敏感度计算本文按照敏感度由大到小将社区中敏感节点排列为规则图像。敏感度是一个统计值,借鉴了词频逆文本频率[13](TF-IDF,termfrequency-inversedocumentfrequency)的概念。TF-IDF旨在反映一个术语对语料库中某个文档的重要程度。衡量一个API的敏感度,即该API出现所代表的发生恶意行为的可能性大校基于这样的观察:敏感API,?
第6期张鑫等:基于卷积神经网络恶意安卓应用行为模式挖掘·39·现,而能够体现恶意行为的是剩余的6415个敏感API,其中,5597个敏感API的敏感度低于0.2,其余具有较强恶意程度区分度的敏感API仅为818个,约占总数的3%。图3敏感API敏感度分布Figure3SensitivitydistributionofsensitiveAPI3.4.2确定图像高度如图4所示,本文按照社区敏感度从大到小递减依次由上到下排列社区,同样地,大社区中划分的小社区也按照敏感度由上到下排序。而一个小社区中的敏感节点则按照敏感度由大到小递减依次从左到右排列到图像中。为了把整个图像像素更紧凑地排列,本文采用如下算法:大社区内的小社区并非严格由上到下排列,如果排列当前小社区后本行剩余的空白像素能够容纳下一个小社区,就在当前行排列下一个小社区;否则,另起一行。同时,为了保存大社区间的界限,大社区间强制换行隔开。这样,相当于将数目较小的小社区(通常是包含1到2个节点的)填充到大社区空隙中,既有效且紧凑地排列了像素,又保持了不同社区的界限。如上文所述,图像宽度确定为4。按照上述排列算法可以得到前述数据集的图像长度分布,如图5所示,98.12%APK的长度在800以下。考虑到API覆盖率和卷积网络模型运算量之间的平衡,本文将图像长度分为400、800、1200三档做了对比实验。实验指标为准确率和神经网络每秒浮点运算量(FLOPs,floatingpointoperations),实验结果如表2所示。由该表可以看出,图像长度从400增加到800提高了覆盖率,从而带来准确率的上升;800到1200的准确率基本不变,反而因为空白像素过量填充,导致模型的训练收敛?
本文编号:3116044
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/3116044.html