糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 安卓恶意软件检测论文内容整理

安卓恶意软件检测论文内容整理

时间:2022-09-22 12:45:41

相关推荐

安卓恶意软件检测论文内容整理

Transferable Cost-Aware Security Policy Implementation for Malware Detection Using Deep Reinforcement Learning

一、提出背景

为了提高准确率,大家常常部署多个检测器来进行检测,虽然有效,但是在计算资源上是昂贵的,每个文件都需要由所有检测器分析,随之文件数量增多,处理时间和成本就更大。

二、提出方法

SPIREL框架,一种基于强化学习的有效恶意软件检测方法。

具体实现效果:给每个文件分配一组不同的检测器和不同的检测阈值集。

三、 贡献

SPIREL框架

框架通用——可用于所有类型的检测器

四、APK恶意软件检测综述

基于签名和ml的方法:对于基于ml的技术,这两个领域之间的主要区别源于为模型训练而提取的特征。深度学习:LSTM分析APK调用;深度学习静态分析基于集合的方法:将随机森林算法和逻辑回归算法结合分析API调用基于特征的分类框架:能够分析静态(如权限和隐藏的有效负载)和动态(API调用、安装的服务和网络连接)特性。

五、 强化学习综述

论文介绍了两个强化学习框架

一个基于规则的自适应恶意软件检测框架的概念证明,该框架使用了一个学习分类器和一个基于规则的专家系统[1]一项研究[2]建议使用RL对不同类型的恶意软件进行分类,利用一组反病毒软件常用的特征——>Wan等人提出了一种类似的方法[3]。 [1] Jonathan J Blount, Daniel R Tauritz, and Samuel A Mulder. . Adaptive Rule- Based Malware Detection Employing Learning Classifier Systems: A Proof of Concept. In IEEE 35th Annual ComputerSoftware and Applications Conference Workshops. IEEE, 110–115.[2] Sepideh Mohammadkhani and Mansour Esmaeilpour. . A new method for

behavioural-based malware detection using reinforcement learning. International

Journal of Data Mining, Modelling and Management 10, 4 (), 314–330.[3] Xiaoyue Wan, Geyi Sheng, Yanda Li, Liang Xiao, and Xiaojiang Du. . Rein-

forcement Learning Based Mobile Offloading for Cloud-Based Malware Detection.

In GLOBECOM - IEEE Global Communications Conference. IEEE, 1–6.

六、论文的方法

综述:提出了SPIREL,一个使用深度强化学习的安全策略实现。方法的目标是自动“学习”(即生成)最适合组织优先级和需求的安全策略。更具体地说,我们训练一个深度神经网络来动态地确定何时存在足够的信息来对给定的文件进行分类,以及何时需要更多的分析。

具体:策略:由分配给正确和不正确的文件分类的奖励和惩罚,以及使用计算资源的成本决定。

RL:探索各种检测器组合的有效性,并持续执行成本-效益分析来选择最优的安全策略。

agent:选择是通过调用恶意软件检测器进一步分析文件,还是为所分析的文件生成一个分类(恶意的或良性的)。

强化学习各组成部分介绍:

State:由K个恶意软件检测器组成环境

Action:动作大致分为三种:检测器的激活;判断软件恶意;判断软件良性。一共有K+2个操作数量,后两种操作将终止分析过程。

Rewards:奖励的设计需要使其反映组织在安全性和可用性方面的优先级,即检测过程中对错误的容错性和计算资源的成本。

①检测错误。我们考虑两种类型的错误:假阳性(FP),其中一个良性文件被标记为恶意(即假警报),假阴性(FN),其中一个恶意文件被标记为良性。

②计算资源。在这项研究中,我们选择运行探测器所需的时间作为其激活的近似成本。

七、 论文提出的四个APK检测器

manifest:通过分析其AndroidManifest.xml文件来检测恶意APK[1]。作者通过启发式评分机制选择了六个特征:权限、意图过滤器(动作)、意图过滤器(类别)、意图过滤器(优先级)、进程名和重新定义权限的数量。根据统计分析计算恶性程度评分,将文本特征转换为数值。然后利用上述特征训练决策树分类器。mmda:利用了从AndroidManifest.xml文件中提取的122个特性[2]:40个最常用的权限,40个最常用的硬件特性,40个最常用的操作,以及两个额外的特性——权限的数量和接收者操作的数量。这些特征被用来训练一个有100棵树的随机森林分类器。bytecode:该检测器对Dalvik字节码指令[3]进行频率分析。该检测器评估218个字节码指令的频率,并将它们作为特征使用。然后,训练一个包含100棵树的随机森林分类器对文件进行分类。dalvikapi:该检测器使用权限和Dalvik API调用来检测恶意的APK[4]。权限是从AndroidManifest文件中提取的;API调用使用以下过程提取:首先,将APK中的classes.dex文件转换为Java存档(JAR)文件。其次,从解压缩的JAR中提取所有的类文件。第三,类文件被反编译成包含所有API调用的Java文件。

[1] Ryo Sato, Daiki Chiba, and Shigeki Goto. . Detecting android malware by analyzing manifest files. Proceedings of the Asia-Pacific Advanced Network 36, 23-31 (), 17.

[2] Kun Wang, Tao Song, and Alei Liang. . Mmda: Metadata based malware detection on android. In 12th International Conference on Computational Intelligence and Security (CIS). IEEE, 598–602.

[3] Byeongho Kang, BooJoong Kang, Jungtae Kim, and Eul Gyu Im. . Android malware classification method: Dalvik bytecode frequency analysis. In Proceed- ings ofthe research in adaptive and convergent systems. 349–350.

[4] Patrick PK Chan and Wen-Kai Song. . Static detection of Android malware by using permissions and API calls. In International Conference on Machine Learning and Cybernetics, Vol. 1. IEEE, 82–87.

FAMD: A Fast Multifeature Android Malware Detection Framework, Design,and Implementation

一、框架简述

基于多种功能组合的Android恶意软件检测框架:FAMD(快速Android恶意软件检测)。首先从样本中提取permissions和Dalvik操作码序列,构建原始特征集;其次,采用N-Gram技术对Dalvik操作码进行预处理,并采用基于对称不确定性的快速相关滤波(FCBF)算法降维。最后,将降维特征输入到CatBoost分类器中进行恶意软件检测和族分类。

二、贡献

我们提出了一种快速的Android恶意软件检测框架——FAMD,该框架包括三个部分:构建恶意软件检测特征集,对特征进行降维预处理,并对处理后的特征进行恶意软件检测和族分类。目的是提高恶意软件检测的准确性,同时减少特征维度。在特征预处理方面,由于采用N-Gram方法对Dalvik操作码序列进行分割,特征维数较高。我们使用FCBF算法将特征的维数从2467降至500。在Android恶意软件检测和族分类中,首次采用CatBoost作为分类器。与其他基于GBDT的方法相比,CatBoost可以解决梯度偏差和预测偏移的问题,从而减少过拟合的发生,提高模型的分类精度和泛化能力。

三、 FAMD图形框架

四、 具体框架设计方法

APP数据集收集特征提取和预处理:使用反编译工具从AndroidManifest.XML文件和classes.dex文件中提取权限和原始操作码序列。基于N-Gram方法,从原始操作码序列中提取特定长度的操作码序列,并结合权限特征构造每个样本的特征向量。最后,构造特征矩阵,将每个应用程序作为一行,每个提取的特征作为一列。特征选择:采用FCBF算法对特征进行加权,构造特征子集。通过实验确定参数和子集特征数。(此处我们应该是使用强化学习恶意软件分类方法:使用基于梯度增强决策树的机器学习算法CatBoost作为分类器来检测恶意样本并对恶意软件族进行分类。

五、 特征提取方法具体说明

DALVIK操作码的处理:在本文中,我们通过删除不相关的指令,只保留7个核心指令集,并删除操作数来简化操作码。(如表一)根据上述映射,我们使用N-Gram来分割从应用程序中提取的操作码序列。例子如下:

原始操作码序列:move-object/from16, iget-object, invoke-virtual, goto, move-object/from16

“move-object/from16”序列对应“M”指令,“iget-object”对应“T”指令,“invoke-virtual”对应“V"指令," goto “对应” G "指令。因此,该序列被简化为“MTVGM”。

那么序列的3-Gram特征为{MTV},{TVG},{VGM}, 4-Gram特征为{MTVG}, {TVGM}, 5-Gram特征为{MTVGM}。

权限提取

新增内容:

Feature Selection for Malware Detection on the Android Platform Based on Differences of IDF Values

一、提出背景

Android是智能手机生态系统中最常被恶意软件攻击的移动操作系统,它的市场份额远远高于其竞争对手,应用程序的总数也要大得多。在正式或非官方的应用市场上发布之前检测恶意软件是非常重要的,因为典型的终端用户普遍存在安全不足。

二、主要内容

提出方法:

**一种新的特征选择方法:**利用权限、API调用和字符串作为特征。设计并实现了一种基于文档频率的特征选择方法Delta_IDF。

检测过程:

特征提取:

使用工具:androguard

Permissions:用androguard提取APK文件使用权限API Calls:计算每个API调用在每个样本的源代码中出现的次数,并计算与每个不同的API调用对应的术语频率(TF)和IDF值。Strings:利用androguard从APK文件中获取字符串

特征选择方法具体算法:

预备介绍

1.1. TF公式

TF=fi∑j=1nfjT F=\frac{f_{i}}{\sum_{j=1}^{n} f_{j}} TF=∑j=1n​fj​fi​​

fi : 某特征出现的次数分母:特征总数

1.2 IDF公式

IDF=log⁡10TCI D F=\log _{10} \frac{T}{C} IDF=log10​CT​

T是APK文件的总数,C是包含给定字符串的APK文件的数量。数学公式:

Delta−IDF⁡=IDFbenign−IDFmalware\operatorname{Delta_{-}IDF}=I D F_{\text {benign }}-I D F_{\text {malware }} Delta−​IDF=IDFbenign​−IDFmalware​

IDFbenign=log⁡10NnbI D F_{\text {benign }}=\log _{10} \frac{N}{n_{\mathrm{b}}} IDFbenign​=log10​nb​N​

IDFmalware=log⁡10NnmI D F_{\text {malware }}=\log _{10} \frac{N}{n_{\mathrm{m}}} IDFmalware​=log10​nm​N​

DeltaIDF=log⁡10Nnb−log⁡10Nnm=log⁡10nmnbDelta_IDF =\log _{10} \frac{N}{n_{\mathrm{b}}}-\log _{10} \frac{N}{n_{\mathrm{m}}}=\log _{10} \frac{n_{\mathrm{m}}}{n_{\mathrm{b}}} DeltaI​DF=log10​nb​N​−log10​nm​N​=log10​nb​nm​​选择方法:

利用Delta_IDF的计算结果,取最大值进行学习,根据恶意程度进行分类。

根据其Delta_IDF值进行排序后,可以选择高于第90百分位(前10%段)或第95百分位(前5%段)的特征。

Machine Learning for Android Malware Detection using Permission and API Calls

将permission和API(应用程序接口)调用相结合,并使用机器学习方法来检测恶意Android应用程序。

Opcode sequence analysis of Android malware by a convolutional neural network

提出了一种新型的Android手机恶意软件检测系统,该系统利用优化的深度卷积神经网络从操作码序列中学习。从反编译的Android文件中提取原始操作码序列,对优化后的卷积神经网络进行多次训练,从而有效学习特征信息,更准确地检测恶意程序。

Efficient Android Malware Detection Using API Rank and Machine Learning

从APK文件中提取API调用信息,然后分别生成两个被良性应用程序和恶意应用程序经常使用的API排序列表。在过滤掉两个列表的公共api之后,将两个列表合并为一个列表,最后通过机器学习方法训练模型。

如果觉得《安卓恶意软件检测论文内容整理》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。