CN114491525B - 基于深度强化学习的安卓恶意软件检测特征提取方法 - Google Patents

基于深度强化学习的安卓恶意软件检测特征提取方法 Download PDF

Info

Publication number
CN114491525B
CN114491525B CN202111543550.4A CN202111543550A CN114491525B CN 114491525 B CN114491525 B CN 114491525B CN 202111543550 A CN202111543550 A CN 202111543550A CN 114491525 B CN114491525 B CN 114491525B
Authority
CN
China
Prior art keywords
reinforcement learning
deep reinforcement
learning model
android
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111543550.4A
Other languages
English (en)
Other versions
CN114491525A (zh
Inventor
方智阳
李美瑾
曾琪
杨涛
伍胤玮
程露玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan University
Original Assignee
Sichuan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan University filed Critical Sichuan University
Priority to CN202111543550.4A priority Critical patent/CN114491525B/zh
Publication of CN114491525A publication Critical patent/CN114491525A/zh
Application granted granted Critical
Publication of CN114491525B publication Critical patent/CN114491525B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于深度强化学习的安卓恶意软件检测特征提取方法,涉及软件与信息***安全技术领域,包括样本获取步骤、深度强化学习模型构建步骤以及模型训练步骤,用于在使用机器学习方法检测安卓恶意软件时对输入特征进行降维,利用Double Deep Q‑learning Network算法,创建环境并构造智能体,智能体与环境交互过程中,不断将已选取特征输入安卓恶意软件分类器得到检测准确率作为反馈,逐步优化特征选择策略,最终达到从原始提取的安卓特征总集合中除去冗余、无关的特征,实现特征降维。

Description

基于深度强化学习的安卓恶意软件检测特征提取方法
技术领域
本发明涉及软件与信息***安全技术领域,确切地说涉及一种基于深度强化学习的安卓恶意软件检测特征提取方法。
背景技术
随着新一代网络信息技术的不断发展,越来越多的人开始使用互联网,互联网开始影响着生活的方方面面,然而,互联网的发展也加速了恶意软件的传播,恶意软件是指实现了攻击者恶意目的的软件,经常通过互联网传播,是存在损害用户利益的行为是判定软件是否为恶意软件的依据。
而随智能手机的不断发展,越来越多的人选择使用智能手机,搭载安卓***的智能手机始终占据了市场的很大份额,安卓***的恶意软件能够求取用户隐私信息、获取用户利益、远程控制达到非法个人目的。自2013年以来,安卓操作***一直占据着移动操作***市场的统治地位,这个平台的开源性和开放性是的安卓平台成为恶意软件攻击的热门目标。根据Trend Force最新发布数据,2020年智能手机的总产量为12.5亿部,Android占据了78.4%的市场份额。然而,由于广泛分布和开源特性,除了官方Android Market之外,Android应用程序还可以从未知、不受信任和潜在恶意的第三方下载和安装,这使得该平台成为恶意软件攻击的目标。根据360安全于2020年2月28日发布的2019年Android恶意软件专项报告显示,2019年该平台在移动端拦截新恶意软件样本约180.9万个,平均每天拦截约5000个新移动恶意软件样本,因此,对于恶意安卓软件的分析研究刻不容缓。
现有技术中,机器学习等人工智能方法在恶意安卓软件检测中的应用,解决了传统基于签名的检测技术不能识别未知恶意软件的缺点,减小了恶意软件签名库的更新和维护成本,但安卓***反编译后提取的静态特征数量庞大,机器学习分类器训练和检测时计算开销大、效率和准确率低下。因此,在将特征集合输入机器学习分类器前,需要利用有效的最优特征子集选择方法进行数据降维,以提高恶意安卓软件检测的效率。
在安卓最优特征子集选择中,根据选择指标是否独立于分类器的准确度,特征算法可以分为包装类(Wrapper-based)、过滤类(Filter-based)两种方法。对于基于过滤类的特征提取方法(如Information Gain,Relief F等),选择指标与分类器的准确率结果无关,而在基于包装类的算法中(如FFSR,Wrapper Subset Eval等),直接使用分类器的精度来评估生成的特征子集并改善选择方法。但是,基于包装类的特征提取方法计算开销大,在数据集庞大时效率低下,但基于过滤类的特征提取方法忽略了分类器反馈的不同特征之间的相关性,从而在处理高维特征向量时可能选择出大量冗余特征。
为了在恶意安卓软件检测效率上取得突破,需要有一种新方法利用包装类特征提取方法通过分类器准确率反馈来改善选择方式的特点,同时解决该特征提取方法存在的难以探索有效特征子集组合的问题。
发明内容
本发明目的在于针对上述问题,提供一种基于强化学习的特征提取方法、通过除去冗余和无关特征实现数据降维,从而降低机器学习检测器的计算开销、提高恶意安卓软件检测效率的安卓恶意软件检测特征提取方法。
本发明提供的这一种基于深度强化学习的安卓恶意软件检测特征提取方法,包括样本获取步骤、深度强化学习模型构建步骤以及模型训练步骤;
所述样本获取步骤,从Android平台的Androzoo以及Drebin数据集中获取若干不同的良性和恶意的APK样本,并通过所述APK样本进行对特征提取和特征向量化处理得到样本集合;
进一步的,所述样本获取步骤中,获取APK样本后还需对其进行数据清洗,具体的,是通过Androguard工具对所述APK样本进行解析,同时通过APK Tool工具对所述APK样本进行反汇编,删除解析失败和反汇编失败的样本。
优选地,所述样本获取步骤中,所述特征提取,是通过Android Manifest.xml文件提取出经过数据清洗后的APK样本的457个重要权限特征和126个意图特征,同时根据反汇编生成的smail格式文件语法特征,将APK样本中Method字段基本块所包含的Dalvik字节码指令按照设定的转换规则进行转换,然后使用N-gram技术获取样本的N-gram特征集合,含500个N-gram特征。原始特征集合共1083个特征。
更为具体的,所述样本获取步骤中,特征向量化处理,是将所述APK样本采用二进制特征向量进行表示,向量中“1”表示权限特征、意图特征或N-gram特征在APK文件中存在,“0”则表示APK文件中不存在权限特征、意图特征和/或N-gram特征。
所述深度强化学习模型构建步骤,选择Double Deep Q-Learning算法作为深度强化学习模型,选定基于机器学习算法的、用于检测恶意安卓软件的分类器模型,并定义所述深度强化学习模型的学习动作空间与状态空间,设定奖励机制,并初始化所述深度强化学习模型以及其决策网络的超参数;
优选地,所述Double Deep Q-Learning算法包含两个结构一致、激活函数均使用ReLU激活函数的前馈深度Q网络,分别为当前主网络和目标网络,其中,当前主网络用于训练学习、目标网络用于输出选择动作的Q值引导智能体做出决策。
进一步的,所述强化学习模型构建步骤中,定义所述深度强化学习模型的学习动作空间与状态空间,深度强化学习模型的行动主要是从安卓原始特征集中选择一个新的特征加入到自身的状态中,具体的:
设定在探索模式下,所述深度强化学习模型智能体从样本集合中随机选择一个尚未被选择的特征加入到自身的状态中;
设定在利用模式下,所述深度强化学习模型智能体的选择由决策网络引导执行,决策网络结合先验阈值经验和深度强化学习模型的当前状态,从样本集合中选择一个尚未被选择过的、最优的特征加入到自身的状态中;
且设定深度强化学习模型每次选择有ε的概率处于探索模式下,有1-ε的概率处于利用模式,其中
Figure BDA0003415017650000041
式中,n是当前训练的轮次,M是设定的总训练轮次,p是一个设定的需要调整的上限。
更为优选地,在本技术方案中,所述深度强化学习模型的决策网络为长短期记忆网络,决策网络的输入是深度强化学习模型的状态,输出是一个用于表示每个特征置信度的向量。
更为具体的,在本技术方案中,所述深度强化学习模型的决策网络有两个,一个为当前主网络,另一个为目标网络,在经过设定的训练轮次后,当前主网络的参数值将被同步到目标网络中。
且在所述强化学习模型构建步骤中,设定奖励机制,具体的,是对深度强化学习模型选择的特征进行恶意软件分类的准确率评价,通过学习环境定义设置深度强化学习模型在探索模式下进行选择的特征总集合,并对深度强化学习模型每次的选择结果进行评估,是将深度强化学习模型在其当前所处的模式下执行选择动作,并返回深度强化学习模型的下一个所处模式,如图2所示。所述分类器模型根据深度强化学习模型的当前模式和本次模式下的选择动作、将深度强化学习模型的检测准确率作为指标返回作为其本次选择动作的奖励,在奖励机制中,为了让智能体能够更好地学到最优特征选择知识,对奖励机制做如下设定:将深度强化学习模型当前所处模式下已选择的特征和进行选择的方式输入到所述分类器模型中,分类器模型利用深度强化学习模型当前选择的特征对样本集合中的样本进行分类,将输出的分类结果准确率作为当前动作的奖励值,并把状态值和输入的状态、动作作为一次经验加入深度强化学习模型的经验回放池中。
优选地,所述超参数的初始化,具体的,决策网络的超参数设置为:
折扣系数gamma=0.99;
Q-Learning网络的更新间隔为2500步更新一次;
单次输入网络的最小样本数量为32个;
采用经验回放机制,经验回放池的大小为200,000;
开始采用经验回放机制的时机为算法执行了50,000步以后;
网络隐藏层神经元个数为256个;
所述模型训练步骤,启动所述深度强化学习模型进行学习训练,训练过程中损失深度强化学习模型按照设定数量从其经验回放池中选取学习经验更新其决策网络,当深度强化学习模型观测到在探索模式下和利用模式下选择的特征达到设定数量后结束当前轮次的训练,然后根据设定的训练轮次循环对深度强化学习模型进行学习训练,完成全部轮次的训练后,将识别准确率最高的特征子集作为最终选取的最优特征子集。
与现有技术相比,本发明这种技术方案基于强化学习模型能够可以利用已有探索经验快速寻找下一个合适特征的特点,结合了包装类特征提取方法根据分类器准确率进行选择改善的特点、快速寻找最优特征子集的优势,创造性的提出了这种能够快速、高效、准确的识别出安卓***恶意软件的智能识别方法。采用机器学习模型和高级自学习网络的融合实现自动化智能化的检测,避免了人工特征选择对安卓特征语义的破坏,通过强化学习自动地筛选出对安卓恶意软件检测最有效的特征集合,过滤无关和冗余特征,在保证准确率的同时实现减小计算开销和计算时间。
本发明的方法通过强化学***台的恶意软件检测。
综合而言,本发明方法与其他安卓恶意软件检测特征提取方法相比,充分利用了分类器准确率来改善下一步的特征选择策略,考虑了特征之间的相关性影响;同时又结合强化学习的“利用-探索”策略解决了传统wrapper-based方法在数据集过大时的时间开销问题;最终在保证较高检测准确率的情况下,提升了安卓恶意软件分类器的检测效率。
附图说明
本发明的前述和下文具体描述在结合以下附图阅读时变得更清楚,其中:
图1是本发明安卓恶意软件检测的总流程示意图;
图2是本发明深度强化学习进行软件特征提取的示意图;
图3是本发明深度强化学习模型决策网络结构示意图;
图4是本发明决策网络和分类器模型检测效果示意图。
具体实施方式
下面通过具体的实施例来进一步说明实现本发明目的技术方案,需要说明的是,本发明要求保护的技术方案包括但不限于以下实施例。
实施例1
作为本发明一种最基本的实施方案,如图1所示,本实施例提供的这一种基于深度强化学习的安卓恶意软件检测特征提取方法,包括样本获取步骤、深度强化学习模型构建步骤以及模型训练步骤,具体设计中充分利用了分类器准确率来改善下一步的特征选择策略,考虑了特征之间的相关性影响;同时又结合强化学习的“利用-探索”策略解决了传统wrapper-based方法在数据集过大时的时间开销问题;最终在保证较高检测准确率的情况下,提升了安卓恶意软件分类器的检测效率。
具体的,所述样本获取步骤,是从Android平台的Androzoo以及Drebin数据集中获取若干不同的良性和恶意的APK样本,并通过所述APK样本进行对特征提取和特征向量化处理得到样本集合,样本集合中将良性的和恶意的安卓软件进行特征量化的处理,为后续的自动化识别提供了标准,同时也兼顾了机器学习的特性,提高了学习效率和效果。
所述深度强化学习模型构建步骤,选择Double Deep Q-Learning算法作为深度强化学习模型,选定基于机器学习算法的、用于检测恶意安卓软件的分类器模型,分类器模型用于根据深度强化模型学习训练过程中的选择结果对样本进行分类,从而根据分类情况直观的评价模型的选择结果准确率,以便后续的调优;定义所述深度强化学习模型的学习动作空间与状态空间,即模型在设定的状态下进行指定方式的选择和处理动作,固定动作模式以便学习训练,设定奖励机制作为本次特征选择动作的反馈,并初始化所述深度强化学习模型以及其决策网络的超参数;Double Deep Q-Learning算法使用两个网络计算Q-learning的值函数并对其收敛过程进行了证明,在兼顾Q-Learning算法最大的累计期望奖励的目标前提下克服了Q-Learning算法由于受到大规模的动作值过估计而出现不稳定和效果不佳等现象。
模型训练步骤,启动所述深度强化学习模型进行学习训练,训练过程中损失深度强化学习模型按照设定数量从其经验回放池中选取学习经验更新其决策网络,当深度强化学习模型观测到在探索模式下和利用模式下选择的特征达到设定数量后结束当前轮次的训练,然后根据设定的训练轮次循环对深度强化学习模型进行学习训练,完成全部轮次的训练后,将识别准确率最高的特征子集作为最终选取的最优特征子集,即得到最佳的识别结果。
这种技术方案基于强化学习模型能够可以利用已有探索经验快速寻找下一个合适特征的特点,结合了包装类特征提取方法根据分类器准确率进行选择改善的特点、快速寻找最优特征子集的优势,创造性的提出了这种能够快速、高效、准确的识别出安卓***恶意软件的智能识别方法。
并且采用机器学习模型和高级自学习网络的融合实现自动化智能化的检测,避免了人工特征选择对安卓特征语义的破坏,通过强化学习自动地筛选出对安卓恶意软件检测最有效的特征集合,过滤无关和冗余特征,在保证准确率的同时实现减小计算开销和计算时间。
实施例2
作为本发明一种最基本的实施方案,如图1所示,本实施例提供的这一种基于深度强化学习的安卓恶意软件检测特征提取方法,包括样本获取步骤、深度强化学习模型构建步骤以及模型训练步骤,具体设计中充分利用了分类器准确率来改善下一步的特征选择策略,考虑了特征之间的相关性影响;同时又结合强化学习的“利用-探索”策略解决了传统wrapper-based方法在数据集过大时的时间开销问题;最终在保证较高检测准确率的情况下,提升了安卓恶意软件分类器的检测效率。
具体的,所述样本获取步骤,是从Android平台的Androzoo以及Drebin数据集中获取若干不同的良性和恶意的APK样本,并对APK样本进行数据清洗,具体的,是通过Androguard工具对所述APK样本进行解析,同时通过APKTool工具对所述APK样本进行反汇编,删除解析失败和反汇编失败的样本。
APK样本清洗完成后,需对APK样本进行特征提取,具体的,是通过AndroidManifest.xml文件提取出经过数据清洗后的APK样本的457个重要权限特征和126个意图特征,同时根据反汇编生成的smail格式文件语法特征,将APK样本中Method字段基本块所包含的Dalvik字节码指令按照设定的转换规则进行转换,然后使用N-gram技术获取样本的N-gram特征集合,含500个N-gram特征。原始特征集合共1083个特征。
提取得到特征后还需进行特征向量化处理,具体的,是将所述APK样本采用二进制特征向量进行表示,向量中“1”表示权限特征、意图特征和/或N-gram特征在APK文件中存在,“0”则表示APK文件中不存在权限特征、意图特征和/或N-gram特。例如,所述特征提取时提取了457个权限特征、126个意图特征以及在恶意样本中出现频率高500个N-gram特征,特征总集合共计1083个特征,使用二进制特征向量表示对应的APK样本,向量中“1”表示该特征在APK文件中存在,“0”则表示不存在。
接下来,所述深度强化学习模型构建步骤,是选择Double Deep Q-Learning算法作为深度强化学习模型,并且所述Double Deep Q-Learning算法包含两个结构一致、激活函数均使用ReLU激活函数的前馈深度Q网络,分别为当前主网络和目标网络,其中,当前主网络用于训练学习、目标网络用于输出选择动作的Q值引导智能体做出决策。
然后需要选定基于机器学习算法的、用于检测恶意安卓软件的分类器模型,分类器模型用于根据深度强化模型学习训练过程中的选择结果对样本进行分类,从而根据分类情况直观的评价模型的选择结果准确率,接着需定义所述深度强化学习模型的学习动作空间与状态空间,深度强化学习模型的行动主要是从安卓原始特征集中选择一个新的特征加入到自身的状态中,具体的:
设定在探索模式下,所述深度强化学习模型从样本集合中随机选择一个尚未被选择的特征加入到自身的状态中;
设定在利用模式下,所述深度强化学习模型的决策网络结合先验阈值经验和深度强化学习模型的当前状态,从样本集合中选择一个尚未被选择过的、最优的特征加入到自身的状态中;
且设定深度强化学习模型每次选择有ε的概率处于探索模式下,有1-ε的概率处于利用模式,其中
Figure BDA0003415017650000091
式中,n是当前训练的轮次,M是设定的总训练轮次,p是一个设定的需要调整的上限。
并且优选地,在本技术方案中,所述深度强化学习模型的决策网络为长短期记忆网络,如图3所示,决策网络的输入是深度强化学习模型的状态,输出是一个用于表示每个特征置信度的向量。
更为优选地,在本技术方案中,所述深度强化学习模型的决策网络有两个,一个为当前主网络,另一个为目标网络,在经过设定的训练轮次后,当前主网络的参数值将被同步到目标网络中。
还需设定奖励机制,而所述奖励由当前选择特征输入分类器的准确率确定,具体的如图2所示,是对深度强化学习模型选择的特征进行恶意软件分类的准确率评价,通过学习环境定义设置深度强化学习模型在探索模式下进行选择的特征总集合,并对深度强化学习模型每次的选择结果进行评估,是将深度强化学习模型在其当前所处的模式下执行选择动作,并返回深度强化学习模型中代理人的下一个状态。所述分类器模型根据深度强化学习模型的当前模式和本次模式下的选择动作、将深度强化学习模型的检测准确率作为指标返回作为其本次选择动作的奖励,在奖励机制中,为了让智能体能够更好地学到最优特征选择知识,对奖励机制做如下设定:将深度强化学习模型当前所处模式下已选择的特征和进行选择的方式输入到所述分类器模型中,分类器模型利用深度强化学习模型当前选择的特征对样本集合中的样本进行分类,将输出的分类结果准确率作为当前动作的奖励值,并把状态值和输入的状态、动作作为一次经验加入深度强化学习模型的经验回放池中。
完成上述设置后,初始化所述深度强化学习模型以及其决策网络的超参数,将决策网络的超参数初始化为:
折扣系数gamma=0.99;
Q-Learning网络的更新间隔为2500步更新一次;
单次输入网络的最小样本数量为32个;
采用经验回放机制,经验回放池的大小为200,000;
开始采用经验回放机制的时机为算法执行了50,000步以后;
网络隐藏层神经元个数为256个;
最后,所述模型训练步骤,启动所述深度强化学习模型进行学习训练,训练过程中损失深度强化学习模型按照设定数量从其经验回放池中选取学习经验更新其决策网络,当深度强化学习模型观测到在探索模式下和利用模式下选择的特征达到设定数量后结束当前轮次的训练,然后根据设定的训练轮次循环对深度强化学习模型进行学习训练,完成全部轮次的训练后,将识别准确率最高的特征子集作为最终选取的最优特征子集,这里以LSTM(Long Short-term Memory)为决策网络,以DT为分类器模型,模型训练完成后检测效果如图4所示,其中横坐标为选择特征数量,纵坐标为准确率,顶部虚线为选择全部特征的准确率,可以看出,采用本方法的识别准确率较高且状态稳定,从含有1083个特征的原始特征总集合中提取6-24个特征用于恶意安卓软件检测准确率均保持在0.90以上,在提取24个特征时达到了最高准确率0.955,对比使用所有特征输入检测,在降低了大量计算开销的情况下保留了较高的准确率。

Claims (10)

1.一种基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于:包括样本获取步骤、深度强化学习模型构建步骤以及模型训练步骤;
样本获取步骤,从Android平台的Androzoo以及Drebin数据集中获取若干不同的良性和恶意的APK样本,并通过所述APK样本进行对特征提取和特征向量化处理得到样本集合;
深度强化学习模型构建步骤,选择Double Deep Q-Learning算法作为深度强化学习模型,选定基于机器学习算法的、用于检测恶意安卓软件的分类器模型,并定义所述深度强化学习模型的学习动作空间与状态空间,设定奖励机制,并初始化所述深度强化学习模型以及其决策网络的超参数;
模型训练步骤,启动所述深度强化学习模型进行学习训练,训练过程中损失深度强化学习模型按照设定数量从其经验回放池中选取学习经验更新其决策网络,当深度强化学习模型观测到在探索模式下和利用模式下选择的特征达到设定数量后结束当前轮次的训练,然后根据设定的训练轮次循环对深度强化学习模型进行学习训练,完成全部轮次的训练后,将识别准确率最高的特征子集作为最终选取的最优特征子集。
2.如权利要求1所述的基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于:所述样本获取步骤中,获取APK样本后还需对其进行数据清洗,具体的,是通过Androguard工具对所述APK样本进行解析,同时通过APKTool工具对所述APK样本进行反汇编,删除解析失败和反汇编失败的样本。
3.如权利要求2所述的基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于:所述样本获取步骤中,所述特征提取,是通过AndroidManifest.xml文件提取出经过数据清洗后的APK样本的457个重要权限特征和126个意图特征,同时根据反汇编生成的smail格式文件语法特征,将APK样本中Method字段基本块所包含的Dalvik字节码指令按照设定的转换规则进行转换,然后使用N-gram技术获取样本的N-gram特征集合,含500个N-gram特征,原始特征集合共1083个特征。
4.如权利要求3所述的基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于:所述样本获取步骤中,特征向量化处理,是将所述APK样本采用二进制特征向量进行表示,向量中“1”表示权限特征、意图特征或N-gram特征在APK文件中存在,“0”则表示APK文件中不存在权限特征、意图特征和/或N-gram特征。
5.如权利要求1所述的基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于:所述Double Deep Q-Learning算法包含两个结构一致、激活函数均使用ReLU激活函数的前馈深度Q网络,分别为当前主网络和目标网络,其中,当前主网络用于训练学习、目标网络用于输出选择动作的Q值引导智能体做出决策。
6.如权利要求1所述的基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于,所述强化学习模型构建步骤中,定义所述深度强化学习模型的学习动作空间与状态空间,具体的:
设定在探索模式下,所述深度强化学习模型智能体从样本集合中随机选择一个尚未被选择的特征加入到自身的状态中;
设定在利用模式下,所述深度强化学习模型智能体的选择由决策网络引导执行,决策网络结合先验阈值经验和深度强化学习模型的当前状态,从样本集合中选择一个尚未被选择过的、最优的特征加入到自身的状态中;
且设定深度强化学习模型每次选择有ε的概率处于探索模式下,有1-ε的概率处于利用模式,其中式中,n是当前训练的轮次,M是设定的总训练轮次,p是一个设定的需要调整的上限。
7.如权利要求1或6所述的基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于:所述深度强化学习模型的决策网络为长短期记忆网络,决策网络的输入是深度强化学习模型的状态,输出是一个用于表示每个特征置信度的向量。
8.如权利要求7所述的基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于:所述深度强化学习模型的决策网络有两个,一个为当前主网络,另一个为目标网络,在经过设定的训练轮次后,当前主网络的参数值将被同步到目标网络中。
9.如权利要求1所述的基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于:所述强化学习模型构建步骤中,设定奖励机制,具体的,将深度强化学习模型当前所处模式下已选择的特征和进行选择的方式输入到所述分类器模型中,分类器模型利用深度强化学习模型当前选择的特征对样本集合中的样本进行分类,将输出的分类结果准确率作为当前动作的奖励值,并把状态值和输入的状态、动作作为一次经验加入深度强化学习模型的经验回放池中。
10.如权利要求1所述的基于深度强化学习的安卓恶意软件检测特征提取方法,其特征在于,所述超参数的初始化,具体的,决策网络的超参数设置为:
折扣系数gamma=0.99;
Q-Learning网络的更新间隔为2500步更新一次;
单次输入网络的最小样本数量为32个;
采用经验回放机制,经验回放池的大小为200,000;
开始采用经验回放机制的时机为算法执行了50,000步以后;
网络隐藏层神经元个数为256个。
CN202111543550.4A 2021-12-16 2021-12-16 基于深度强化学习的安卓恶意软件检测特征提取方法 Active CN114491525B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111543550.4A CN114491525B (zh) 2021-12-16 2021-12-16 基于深度强化学习的安卓恶意软件检测特征提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111543550.4A CN114491525B (zh) 2021-12-16 2021-12-16 基于深度强化学习的安卓恶意软件检测特征提取方法

Publications (2)

Publication Number Publication Date
CN114491525A CN114491525A (zh) 2022-05-13
CN114491525B true CN114491525B (zh) 2023-04-07

Family

ID=81493604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111543550.4A Active CN114491525B (zh) 2021-12-16 2021-12-16 基于深度强化学习的安卓恶意软件检测特征提取方法

Country Status (1)

Country Link
CN (1) CN114491525B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114943077B (zh) * 2022-05-19 2023-04-07 四川大学 基于深度强化学习的恶意pdf文件对抗样本生成方法
CN116824207B (zh) * 2023-04-27 2024-04-12 国科赛赋河北医药技术有限公司 一种基于强化学习模式的多维病理图像分类和预警方法
CN116934050A (zh) * 2023-08-10 2023-10-24 深圳市思特克电子技术开发有限公司 一种基于强化学习的电力智能调度***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941828A (zh) * 2019-11-13 2020-03-31 辽宁大学 基于AndroGRU的安卓恶意软件静态检测方法
CN111552971A (zh) * 2020-04-30 2020-08-18 四川大学 基于深度强化学习的恶意软件家族分类规避方法
CN112633245A (zh) * 2020-12-31 2021-04-09 西安交通大学 基于深度强化学习模型的行星齿轮箱故障诊断方法
CN113095501A (zh) * 2021-05-08 2021-07-09 重庆大学 一种基于深度强化学***衡分类决策树生成方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2789243A1 (en) * 2009-03-13 2010-09-16 Rutgers, The State University Of New Jersey Systems and methods for the detection of malware
US9465940B1 (en) * 2015-03-30 2016-10-11 Cylance Inc. Wavelet decomposition of software entropy to identify malware

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941828A (zh) * 2019-11-13 2020-03-31 辽宁大学 基于AndroGRU的安卓恶意软件静态检测方法
CN111552971A (zh) * 2020-04-30 2020-08-18 四川大学 基于深度强化学习的恶意软件家族分类规避方法
CN112633245A (zh) * 2020-12-31 2021-04-09 西安交通大学 基于深度强化学习模型的行星齿轮箱故障诊断方法
CN113095501A (zh) * 2021-05-08 2021-07-09 重庆大学 一种基于深度强化学***衡分类决策树生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Qi Zeng等.DroidRL:reinforcement learning driven feature selection for android malware detection.《Cryptography and Security》.2022,1-11页. *
耿嘉炫.基于强化学习的入侵检测***生成方案.《现代计算机》.2021,第27卷(第24期),58-66页. *

Also Published As

Publication number Publication date
CN114491525A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN114491525B (zh) 基于深度强化学习的安卓恶意软件检测特征提取方法
Yumlembam et al. Iot-based android malware detection using graph neural network with adversarial defense
CN108718310B (zh) 基于深度学习的多层次攻击特征提取及恶意行为识别方法
CN111600919B (zh) 智能网络应用防护***模型的构建方法和装置
CN111538989B (zh) 基于图卷积网络和主题模型的恶意代码同源性分析方法
CN112492059A (zh) Dga域名检测模型训练方法、dga域名检测方法、装置及存储介质
CN113221112B (zh) 基于弱相关集成策略的恶意行为识别方法、***和介质
Zhang et al. Malicious code detection based on code semantic features
CN110119621B (zh) 异常***调用的攻击防御方法、***及防御装置
CN114511330A (zh) 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及***
CN111737688B (zh) 基于用户画像的攻击防御***
Song et al. Generating fake cyber threat intelligence using the gpt-neo model
CN111159588B (zh) 一种基于url成像技术的恶意url检测方法
CN110290101B (zh) 智能电网环境中基于深度信任网络的关联攻击行为识别方法
CN116484274A (zh) 一种针对神经网络算法投毒攻击的鲁棒训练方法
CN115774875A (zh) 基于差分隐私联邦深度学习的安卓恶意应用检测方法
CN112149121A (zh) 一种恶意文件识别方法、装置、设备及存储介质
CN113836526B (zh) 一种基于改进免疫网络算法的入侵检测方法及其应用
CN115473734A (zh) 基于单分类和联邦学习的远程代码执行攻击检测方法
CN114840834A (zh) 一种基于步态特征的隐式身份认证方法
CN114091021A (zh) 一种用于电力企业安全防护的恶意代码检测方法
CN113420293A (zh) 一种基于深度学习的安卓恶意应用检测方法及***
CN113409014A (zh) 基于人工智能的大数据业务处理方法及人工智能服务器
CN112487430A (zh) 一种Android恶意软件检测方法
Huang et al. Research on Malicious URL Identification and Analysis for Network Security

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant