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

这篇博客汇总了多篇关于Android恶意软件检测的论文,探讨了使用深度学习和强化学习的方法。SPIREL框架通过深度强化学习实现安全策略,降低计算成本。FAMD是一个快速多特征检测框架,采用CatBoost分类器提高准确性。此外,还介绍了基于Delta_IDF的特征选择方法,以及卷积神经网络在操作码序列分析中的应用。
摘要由CSDN通过智能技术生成

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

一、提出背景

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

二、提出方法

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

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

三、 贡献

  • SPIREL框架

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

四、APK恶意软件检测综述

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

五、 强化学习综述

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

  1. 一个基于规则的自适应恶意软件检测框架的概念证明,该框架使用了一个学习分类器和一个基于规则的专家系统 [1]
  2. 一项研究 [2] 建议使用RL对不同类型的恶意软件进行分类,利用一组反病毒软件常用的特征——>Wan等人提出了一种类似的方法 [3]
  • [1] Jonathan J Blount, Daniel R Tauritz, and Samuel A Mulder. 2011. Adaptive Rule- Based Malware Detection Employing Learning Classifier Systems: A Proof of Concept. In 2011 IEEE 35th Annual ComputerSoftware and Applications Conference Workshops. IEEE, 110–115.
  • [2] Sepideh Mohammadkhani and Mansour Esmaeilpour. 2018. A new method for
    behavioural-based malware detection using reinforcement learning. International
    Journal of Data Mining, Modelling and Management 10, 4 (2018), 314–330.
  • [3] Xiaoyue Wan, Geyi Sheng, Yanda Li, Liang Xiao, and Xiaojiang Du. 2017. Rein-
    forcement Learning Based Mobile Offloading for Cloud-Based Malware Detection.
    In GLOBECOM 2017-2017 IEEE Global Communications Conference. IEEE, 1–6.

六、论文的方法

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

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

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

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

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

State:由K个恶意软件检测器组成环境
image-20211031190355286
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. 2013. Detecting android malware by analyzing manifest files. Proceedings of the Asia-Pacific Advanced Network 36, 23-31 (2013), 17.

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

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

[4] Patrick PK Chan and Wen-Kai Song. 2014. Static detection of Android malware by using permissions and API calls. In 2014 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图形框架

image-20210127134705009

四、 具体框架设计方法

  • 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}。
    image-20210127135440909

  • 权限提取


新增内容:

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

一、提出背景

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

二、主要内容

提出方法:

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

检测过程:

image-20210204102345764

特征提取:

使用工具:androguard

  1. Permissions:用androguard提取
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值