CN117113350B - 基于路径自适应的恶意软件检测方法、系统及设备 - Google Patents
基于路径自适应的恶意软件检测方法、系统及设备 Download PDFInfo
- Publication number
- CN117113350B CN117113350B CN202311162448.9A CN202311162448A CN117113350B CN 117113350 B CN117113350 B CN 117113350B CN 202311162448 A CN202311162448 A CN 202311162448A CN 117113350 B CN117113350 B CN 117113350B
- Authority
- CN
- China
- Prior art keywords
- path
- sample
- software
- nodes
- data
- 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
Links
- 230000002787 reinforcement Effects 0.000 claims abstract description 67
- 238000001514 detection method Methods 0.000 claims abstract description 45
- 238000012549 training Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000002159 abnormal effect Effects 0.000 claims abstract description 4
- 239000000203 mixture Substances 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 50
- 230000009471 action Effects 0.000 claims description 43
- 239000013598 vector Substances 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000006978 adaptation Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 47
- 238000012512 characterization method Methods 0.000 description 9
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种基于路径自适应的恶意软件检测方法、系统及设备,涉及软件检测领域,该方法包括:对软件样本数据进行逆向编译后提取相关细粒度信息特征;该信息特征包括APP与API间的调用特征、API与API间的调用特征以及API与Permission的调用特征;基于以上相关细粒度信息特征构建异构图数据;基于异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径;采用训练集训练异构图嵌入模型,得到恶意软件检测模型;训练集中样本数据由各样本路径和各样本路径对应的软件类型构成;根据待检测的软件数据和恶意软件检测模型,得到待检测的软件数据对应的类型。本发明提高了检测精度的同时提高了检测速度。
Description
技术领域
本发明涉及软件检测技术领域,特别是涉及一种基于路径自适应的恶意软件检测方法、系统及设备。
背景技术
当前,智能通讯设备数量越来越多,但恶意软件数量也在不断增长,且传播的途径也越来越多,这给社会经济和网民个人信息安全造成了极大的危害。根据迈克菲安全实验室统计,迄今为止全世界共有超过150亿个恶意软件,这导致恶意软件对移动端通讯设备有着极大的威胁。
据Symantec安全公司统计每五个软件中就有一个存在恶意行为,而这些包含恶意的软件会通过恶意程序窃取用户的个人和财产信息,从而导致个人信息泄露和财产损失。因此,针对恶意软件检测早已引起了广泛且持续的关注。传统的检测方法关注于恶意软件离散特征,例如统计样本的中API出现的频率等。但是,这些方法无法挖掘样本的内在结构特征,无法提升检测模型的检测精度,很难准确发现海量软件程序中的恶意软件行为,并且难以确定其该样本属于哪个恶意家族和类别,仍然是当前恶意软件检测中最重要的挑战之一。为了有效地挖掘这些恶意软件中的潜在特性,现有机器学习的研究工作中尝试将恶意软件中的应用程序接口(Application Program Interface,API)和权限等特征进行简单的统计量化后带入到训练模型中进行学习。通常特征单一的量化方式无法挖掘出特征间的交互信息,并且机器学习模型提取的特征也难以挖掘出APP中内在的结构特性。因此,这些传统机器学习方法的训练和检测速度虽然较快,但是它们的检测精度的上限较低,模型的整体预测性能没有深度学习方法效果好。
深度学习模型是当前性能表现最好的恶意软件检测方法,这些检测模型能够很好地拟合恶意软件的恶意特征,预测精度也是现有工作中最高的。但是,现有的深度学习模型也存在以下一些问题。
首先,由于深度学习是一个黑盒模型,所以研究人员将所有能提取的特征都带入到模型进行计算。以单一的API特征为例,其数量就有上千万个。因此现有的研究工作尝试使用一些方法来限制数据特征的范围。例如,使用API敏感数据集来限制API特征的数量,但该方法会导致一些样本的特征丢失,因为该样本可能并不包含敏感API特征,并且随着时间的变化,很多敏感API早已被黑客利用其他的方法替代了,所以有效的特征提取是深度学习模型的关键问题。
其次,现有的深度检测模型在特征构建的过程,挖掘的特征方式复杂且低效。以当前预测精度最高的异构图数据模型为例,研究人员提取的HinDroid检测模型能通过构建APP与API异构图的固定路径模型提取样本的路径信息。但是,这些元路径需要人为构建,该构建过程需要检测人员丰富的经验,即使这样也无法避免遗漏或者设计出错误的元路径。
发明内容
本发明的目的是提供一种基于路径自适应的恶意软件检测方法、系统及设备,提高了检测精度的同时提高了检测速度。
为实现上述目的,本发明提供了如下方案:
一种基于路径自适应的恶意软件检测方法,包括:
对软件样本数据进行逆向编译后进行特征提取,得到相关细粒度信息特征;所述相关细粒度信息特征包括APP与API间的调用特征、API与API间的调用特征、以及API与Permission间的调用特征;
基于所述相关细粒度信息特征构建异构图数据,所述异构图数据包括节点的集合、边的集合、节点的类型集合和边类型集合,节点的类型包括APP节点、API节点及API调用的Permission节点;
基于所述异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,各所述样本路径均以一个APP节点开头;
采用训练集训练异构图嵌入模型,得到恶意软件检测模型;所述训练集中样本数据由各所述样本路径和各所述样本路径对应的软件类型构成;所述软件类型包括恶意软件和非恶意软件;
将待检测的软件数据转换为异构图数据中的节点得到待检测软件的节点,采用已训练好的强化学习模型从所述待检测软件的节点中提取出待检测软件的节点路径,将节点路径输入所述恶意软件检测模型,得到所述待检测的软件数据对应的类型。
可选地,基于所述异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,各所述样本路径均以一个APP节点开头,具体包括:
将路径节点的选择视为马尔可夫决策过程,将所述异构图数据中的边作为所述强化学习中的动作,将所述异构图数据作为所述强化学习中的环境数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径。
可选地,所述马尔可夫决策过程采用四元组表示,所述四元组包括节点连接的路径序列集合、下一步路径选择动作的集合、当前路径的下一个节点的选择策略和所述强化学习的奖励函数。
可选地,所述强化学习采用Double DQN模型:
所述Double DQN模型的动作价值函数表示为:
其中,Q()表示动作价值函数,st表示时间步t的样本路径状态,at表示时间步t选择的下一步样本路径节点选择,st+1表示时间步t+1的路径状态,at+1表示时间步t+1选择的下一步样本路径节点,θ和θ′均为动作价值函数中的可训练参数,γ为折扣因子,表示期望函数,R(st,at)表示路径奖励函数,st∈S,at∈A,S表示由节点连接的路径序列集合,A表示下一步路径选择动作的集合。
可选地,所述强化学习的损失函数表示为:
其中,表示所述强化学习的损失函数,/>表示强化学习时间步t+1的动作价值。
可选地,训练所述异构图嵌入模型的损失函数表示为:
其中,表示训练所述异构图嵌入模型的损失函数,yv表示第v个样本路径的标签向量,Et[v]表示第v个样本路径的预测向量,Vp表示所述训练集中的路径集合。
本发明公开了一种基于路径自适应的恶意软件检测系统,包括:
样本数据处理模块,用于对软件样本数据进行逆向编译后进行特征提取,得到相关细粒度信息特征;所述相关细粒度信息特征包括APP与API间的调用特征、API与API间的调用特征、以及API与Permission间的调用特征;
异构图数据构建模块,用于基于所述相关细粒度信息特征构建异构图数据,所述异构图数据包括节点的集合、边的集合、节点的类型集合和边类型集合,节点的类型包括APP节点、API节点及Permission节点;
强化学习模块,用于基于所述异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,各所述样本路径均以一个APP节点开头;
异构图嵌入模型训练模块,用于采用训练集训练异构图嵌入模型,得到恶意软件检测模型;所述训练集中样本数据由各所述样本路径和各所述样本路径对应的软件类型构成;所述软件类型包括恶意软件和非恶意软件;
软件检测模块,用于将待检测的软件数据转换为异构图数据中的节点得到待检测软件的节点,采用已训练好的强化学习模型从所述待检测软件的节点中提取出待检测软件的节点路径,将节点路径输入所述恶意软件检测模型,得到所述待检测的软件数据对应的类型。
本发明还公开了一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据所述的基于路径自适应的恶意软件检测方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明基于异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,从而构建训练集去训练异构图嵌入模型,得到恶意软件检测模型,降低人为因素的影响,提高了检测精度,由于本发明中样本路径通过强化学习确定,从而提高了检测速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于路径自适应的恶意软件检测方法流程示意图;
图2为本发明实施例提供的一种基于路径自适应的恶意软件检测方法直观流程示意图;
图3为本发明实施例提供的一种基于路径自适应的恶意软件检测方法原理图;
图4为本发明实施例提供的生成恶意软件检测模型的架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于路径自适应的恶意软件检测方法、系统及设备,提高了检测精度的同时提高了检测速度。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1
如图1和图2所示,本实施例提供的一种基于路径自适应的恶意软件检测方法,包括如下步骤。
步骤101:对软件样本数据进行逆向编译后进行特征提取,得到相关细粒度信息特征;所述相关细粒度信息特征包括APP与API间的调用特征、API与API间的调用特征、以及API与Permission间的调用特征。
其中,步骤101具体包括:从测试数据库中将待检测的软件(以安卓应用样本数据为例)提取出来,并对其进行逆向编译及特征提取等预处理操作。首先使用Androguard或APKTool逆向编译工具对该安卓应用样本数据进行逆向编译,获取其中相关细粒度信息特征并用于样本异构图数据的构建,信息主要包括APP与API、API与API间以及API与Permission间等相关样本特征。
步骤102:基于所述相关细粒度信息特征构建异构图数据,所述异构图数据包括节点的集合、边的集合、节点的类型集合和边类型集合,节点的类型包括APP节点、API节点及API调用的Permission节点。
其中,步骤102中,构建基于训练和测试样本数据的异构图数据G=(V,E,N,R’),V是APP、API及Permission节点的集合,E是APP-API、API-API、APP-Permission及API-Permission等边的集合,N为节点的类型集合,R’是边类型的集合。以上异构图共计三种不同类型的节点以及四种不同的异构图节点边。异构图的边即强化学习中的Action,且异构图数据作为强化学习的环境数据。
步骤103:基于所述异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,各所述样本路径均以一个APP节点开头。
其中,步骤103具体为:利用强化学习从异构图数据中为每个样本提取出最优的样本路径表征(样本路径),各所述样本路径均以一个APP节点开头。一个样本对应一个软件APP。
步骤102之后,为了对每个节点进行信息表征便于分类计算,因此需要构建样本路径。
所述强化学习采用Double DQN模型。
其中,步骤103具体包括:
将路径节点的选择视为马尔可夫决策过程(MDP),将所述异构图数据中的边作为所述强化学习中的动作,将所述异构图数据作为所述强化学习中的环境数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径。
所述马尔可夫决策过程采用四元组(S,A,P,R)表示,S为路径状态的有限集合,即由节点连接的路径序列集合;A为下一步路径选择动作的有限集合,即异构图的边;P是根据当前路径状态确定下一步动作概率分布的决策策略,即路径的下一个节点的选择策略,R表示强化学习中的奖励函数,其传统的强化学习的动作价值函数如公式(1)所示:
P(at|st):S×A→(0,1) (1);
其中,P(at|st)表示根据当前路径状态确定下一步动作概率分布的决策策略,st表示时间步t(当前时间)的路径状态,at表示时间步t(当前时间)选择的下一步路径,st∈S,at∈A,S表示由节点连接的路径序列集合,A表示下一步路径选择动作的集合。
强化学习中的奖励函数R,即选择某个节点作为路径一部分,其对于检测模型的影响,并将其构建为强化学习的奖励函数,如公式(2)所示:
其中,Eva(st,at)为异构图嵌入模型学习到的节点表示在下游分类任务取得的性能,表示异构图嵌入模型最后z轮训练性能提升均值,则奖励函数R(st,at)值的大小表示图嵌入模型对恶意软件检测任务提升性能的变化幅度。Eva(sj,aj)表示是第j步的强化学习的模型性能,例如模型的预测精度,sj表示强化学习第j步的状态,aj表示强化学习第j步的动作。
随后,结合深度强化学习网络和奖励函数公式(2)优化MDP的公式(1),在每一个时间步长t,强化学习的智能体基于当前的状态st采取动作at,并且观察下一步状态st+1,以及奖励R(st,at)。此外,本发明模型使用的强化学习为经典模型DQN的改进模型Double DQN,主要解决的是DQN价值函数选择和评估一个动作的价值会出现过高估计的问题,其基本思想是利用bellman公式作为交互来更新动作价值函数,如公式(3)所示:
所述Double DQN模型的动作价值函数表示为:
其中,Q()表示动作价值函数,st表示时间步t的路径状态,at表示时间步t选择的下一步路径,st+1表示时间步t+1的路径状态,at+1表示时间步t+1选择的下一步路径,θ和θ′均为动作价值函数中的可训练参数,γ为折扣因子,表示期望函数,R(st,at)表示奖励函数,st∈S,at∈A,S表示由节点连接的路径序列集合,A表示下一步路径选择动作的集合。
θ适用于当前决策策略的动作选择,θ'用来评估当前的状态的价值。γ是平衡短期和长期的折扣因子,值越低对回报影响越大。其意义在于,在当前状态st确定时,求余下状态at+1下的动作集合使动作方程的值最大化。
因此基于以上的公式,本发明中的任意样本APP节点vi在时间步长为t的样本路径设计过程包含三个阶段:
第一步,从异构图中APP节点开始,根据动作a2计算公式(3)得到状态s2,即以APP节点为起点长度为1的路径。
第二步,结合公式(3)重复第一步的操作,对任意步长为i的路径,可以根据当前状态预测动作ai来连接异构图中的节点,从而延长样本的节点路径,其中其中,a表示的是强化学习中的动作行为Action,该公式的意思是选择使强化学习中Q值最大的Action,作为下一步的行为,在本发明中即选择路径节点的选择。
第三步,在第t步时,路径状态由st延长为st+1,该路径构建完成。以上路径生成的损失函数如公式(4)所示:
所述强化学习的损失函数表示为:
其中,表示所述强化学习的损失函数。
即Double DQN模型的预测值与真实值间的最小差值函数作为Double DQN模型的损失函数,并通过反向传播来优化参数θ,θ′,是强化学习t+1步的Q值。当Double DQN模型拟合后,该损失函数达到最小值。
步骤104:采用训练集训练异构图嵌入模型,得到恶意软件检测模型;所述训练集中样本数据由各所述样本路径和各所述样本路径对应的软件类型构成;所述软件类型包括恶意软件和非恶意软件。
一个样本路径对应一个软件APP。
在获取经过强化学习训练后,每个样本都会生成一个APP开头的样本路径,利用异构图嵌入模型将这些路径序列进行聚合表征,转化为向量进行下游任务的预测。
首先是节点向量的转化,如公式(5)所示,再将节点聚合为路径的向量,如公式(6)所示。获取节点和路径的有效表示后,带入下游任务的分类器中,进行样本路径向量的分类,即恶意软件样本的分类。以下是信息聚合的主要流程。
首先,由于异构图中包含了APP、API和Permission三种不同类别的节点,并且在初始的向量映射中,三者维度不一,所以需要将异构图节点映射到同一向量空间中,其计算过程如公式(5)所示:
E[i]=Wi*nodei,i=1,2,3 (5);
其中,E[i]和nodei为第i种节点变化的前后向量映射,nodei为向量映射前第i种节点的向量,E[i]为向量映射后第i种节点的向量,Wi为第i种节点的向量变换矩阵。节点类型包括APP节点、API节点及Permission节点。
当获得样本路径P的时候,通过公式(6)计算其路径向量表示:
其中,表示样本路径P的路径向量,G(j)表示路径P中vj的联通图节点,vj表示节点j,s∈{1,2,…t}为执行聚合的聚合器id,同理s-1为执行聚合的聚合器id,Att和Agg是不同的激活函数,Et[i]表示经过深度聚合器t的节点i的向量映射。最后,样本更新的Et[i]数据包含周围节点的聚合信息,检测模型将这些数据作为输入,通过反向传播,不断优化异构图嵌入模型的参数。其中,该异构图嵌入模型使用交叉熵损失函数来进行训练,如公式(7)所示。
训练所述异构图嵌入模型的交叉熵损失函数表示为:
其中,表示训练所述异构图嵌入模型的损失函数,Yv表示第v个样本路径的标签向量,Et[v]表示第v个样本路径的预测向量,Vp表示所述训练集中的路径集合。
步骤105:将待检测的软件数据转换为异构图数据中的节点得到待检测软件的节点,采用已训练好的强化学习模型从所述待检测软件的节点中提取出待检测软件的节点路径,将节点路径输入所述恶意软件检测模型,得到所述待检测的软件数据对应的类型。
本发明的技术效果主要分为以下三点:1.本发明的检测精度更高。2.本发明的检测速度更快。3.无需人为构建元路径。
首先,对于本发明的检测精度,对比了之前的两类研究工作:传统机器学习模型以及基于异构图数据的深度检测模型。实验表明,本发明在公开数据集中对于恶意软件的分类任务中,预测精度能提升2%-15%不等。此外,对于恶意软件二分类的检测精度达到95.7%。
此外,对于模型的检测速度,本发明与主要的异构图数据的深度检测模型的检测速度相比,本发明的检测速度远优于深度学习模型。因为基于异构图数据的深度检测模型需要人为构建多个元路径,并计算每个路径对结果的影响,从而确定路径向量融合权重,所以消耗时间更多。
最后,本发明方法对检测人员更友好,无需检测人员去理解专家定义的元路径机构,并且该模型没有元路径的限制,检测模型能探索更多的样本路径的表征结构。
本发明提出了基于强化学习的路径自适应生成的恶意软件检测方法,从而避免生成元路径,直接为每个样本生成路径表征。首先,检测模型通过提取有效的软件内在结构特征,如API与Permission权限信息,提取出APP与API间、API与API间、API与Permissions间以及APP与Permissions间的调用关系,共同构建出APP-API-Permissions的异构图数据。随后,检测模型对每一个样本进行路径生成,并以样本的检测结果作为奖励函数,进行路径选择的强化学习,从而自适应生成检测效果最优的样本路径表征。该方法能够通过生成APP-API-Permissions的异构图数据,有效地保留了样本的结构特征。此外,样本路径自动生成避免了研究人员人为构建元路径的麻烦,有监督的生成路径表示方法不仅能规避生成错误路径,并且提升检测模型的精度。
实施例2
本实施例提供的一种基于路径自适应的恶意软件检测系统,包括:
样本数据处理模块,用于对软件样本数据进行逆向编译后进行特征提取,得到相关细粒度信息特征;所述相关细粒度信息特征包括APP与API间的调用特征、API与API间的调用特征、以及API与Permission间的调用特征。
异构图数据构建模块,用于基于所述相关细粒度信息特征构建异构图数据,所述异构图数据包括节点的集合、边的集合、节点的类型集合和边类型集合,节点的类型包括APP节点、API节点及Permission节点。
强化学习模块,用于基于所述异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,各所述样本路径均以一个APP节点开头。
异构图嵌入模型训练模块,用于采用训练集训练异构图嵌入模型,得到恶意软件检测模型;所述训练集中样本数据由各所述样本路径和各所述样本路径对应的软件类型构成;所述软件类型包括恶意软件和非恶意软件。
软件检测模块,用于将待检测的软件数据转换为异构图数据中的节点得到待检测软件的节点,采用已训练好的强化学习模型从所述待检测软件的节点中提取出待检测软件的节点路径,将节点路径输入所述恶意软件检测模型,得到所述待检测的软件数据对应的类型。
实施例3
本实施例提供的一种基于路径自适应的恶意软件检测系统,包括:
静态APP特征提取模块(1),其用于根据使用者输入的APP逆向编译获取的API特征、API及Permission权限等特征。
异构图数据特征生成模块(2),其用于根据样本APP-API、API-API、APP-Permission及API-Permission等节点边共同构建的异构图数据。
路径自适应获取表征模块(3),其主要利用强化学习,解决MDP的节点选择问题,为每一个样本生成独有的路径序列。在获取每个样本的路径序列后,带入到HGNN表征模型中,进行数据表征。
恶意软件训练模块(4),与路径自适应获取表征模块(3)连接,其用于针对恶意软件样本数据表征进行模型训练,主要是将路径序列转化为向量,并获取模型的相关参数
恶意软件检测模块(5),与恶意软件训练模块(4)连接,其用于针对恶意软件样本数据表征的检测分类,最终检测出恶意软件。
如图3和图4所示,一种基于路径自适应的恶意软件检测系统的工作流程如下。
步骤(1):从本地化的恶意软件数据库提出软件数据,并将相关软件数据的导入到本系统中,进行预处理。
步骤(2):数据预处理模块识别步骤(1)中采集到的原始APP数据包含的所有软件信息。模块需要先对软件进行逆向编译,提取软件的API和Permission权限等特征信息,并构建异构图数据,提取出API的调用序列,并结强化学习对样本的节点路径进行生成。最后,结合深度学习对样本路径特征进行向量嵌入,得到最终样本的特征向量。
步骤(3):训练模型模块,将步骤(2)预处理后的节点数据作为输入特征,使用优化的深度模型进行模型的训练输出。
步骤(4):结合训练模型挖掘出敏感特征APP-API,通过特征的重要性对样本进行家族恶意软件的结果研究。
步骤(5):利用敏感特征和路径自适应检测模型对样本进行分类,得出恶意软件和良性软件。
图4中HetGNN异构图嵌入模型。
实施例4
本实施例提供的一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据实施例1所述的基于路径自适应的恶意软件检测方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种基于路径自适应的恶意软件检测方法,其特征在于,包括:
对软件样本数据进行逆向编译后进行特征提取,得到相关细粒度信息特征;所述相关细粒度信息特征包括APP与API间的调用特征、API与API间的调用特征、以及API与Permission间的调用特征;
基于所述相关细粒度信息特征构建异构图数据,所述异构图数据包括节点的集合、边的集合、节点的类型集合和边类型集合,节点的类型包括APP节点、API节点及API调用的Permission节点;
基于所述异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,各所述样本路径均以一个APP节点开头;
采用训练集训练异构图嵌入模型,得到恶意软件检测模型;所述训练集中样本数据由各所述样本路径和各所述样本路径对应的软件类型构成;所述软件类型包括恶意软件和非恶意软件;
将待检测的软件数据转换为异构图数据中的节点得到待检测软件的节点,采用已训练好的强化学习模型从所述待检测软件的节点中提取出待检测软件的节点路径,将节点路径输入所述恶意软件检测模型,得到所述待检测的软件数据对应的类型;
基于所述异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,各所述样本路径均以一个APP节点开头,具体包括:将路径节点的选择视为马尔可夫决策过程,将所述异构图数据中的边作为所述强化学习中的动作,将所述异构图数据作为所述强化学习中的环境数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径;
所述马尔可夫决策过程采用四元组表示,所述四元组包括节点连接的路径序列集合、下一步路径选择动作的集合、当前路径的下一个节点的选择策略和所述强化学习的奖励函数;
所述强化学习采用Double DQN模型:
所述Double DQN模型的动作价值函数表示为:
其中,Q()表示动作价值函数,st表示时间步t的样本路径状态,at表示时间步t选择的下一步样本路径节点选择,st+1表示时间步t+1的路径状态,at+1表示时间步t+1选择的下一步样本路径节点,θ和θ'均为动作价值函数中的可训练参数,γ为折扣因子,表示期望函数,R(st,at)表示路径奖励函数,st∈S,at∈A,S表示由节点连接的路径序列集合,A表示下一步路径选择动作的集合。
2.根据权利要求1所述的基于路径自适应的恶意软件检测方法,其特征在于,所述强化学习的损失函数表示为:
其中,表示所述强化学习的损失函数,/>表示强化学习时间步t+1的动作价值。
3.根据权利要求1所述的基于路径自适应的恶意软件检测方法,其特征在于,训练所述异构图嵌入模型的损失函数表示为:
其中,表示训练所述异构图嵌入模型的损失函数,yv表示第v个样本路径的标签向量,Et[v]表示第v个样本路径的预测向量,Vp表示所述训练集中的路径集合。
4.一种基于路径自适应的恶意软件检测系统,其特征在于,包括:
样本数据处理模块,用于对软件样本数据进行逆向编译后进行特征提取,得到相关细粒度信息特征;所述相关细粒度信息特征包括APP与API间的调用特征、API与API间的调用特征、以及API与Permission间的调用特征;
异构图数据构建模块,用于基于所述相关细粒度信息特征构建异构图数据,所述异构图数据包括节点的集合、边的集合、节点的类型集合和边类型集合,节点的类型包括APP节点、API节点及Permission节点;
强化学习模块,用于基于所述异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,各所述样本路径均以一个APP节点开头;
异构图嵌入模型训练模块,用于采用训练集训练异构图嵌入模型,得到恶意软件检测模型;所述训练集中样本数据由各所述样本路径和各所述样本路径对应的软件类型构成;所述软件类型包括恶意软件和非恶意软件;
软件检测模块,用于将待检测的软件数据转换为异构图数据中的节点得到待检测软件的节点,采用已训练好的强化学习模型从所述待检测软件的节点中提取出待检测软件的节点路径,将节点路径输入所述恶意软件检测模型,得到所述待检测的软件数据对应的类型;
基于所述异构图数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径,各所述样本路径均以一个APP节点开头,具体包括:将路径节点的选择视为马尔可夫决策过程,将所述异构图数据中的边作为所述强化学习中的动作,将所述异构图数据作为所述强化学习中的环境数据,采用强化学习从所述异构图数据中为每个样本提取出一个样本路径;
所述马尔可夫决策过程采用四元组表示,所述四元组包括节点连接的路径序列集合、下一步路径选择动作的集合、当前路径的下一个节点的选择策略和所述强化学习的奖励函数;
所述强化学习采用Double DQN模型:
所述Double DQN模型的动作价值函数表示为:
其中,Q()表示动作价值函数,st表示时间步t的样本路径状态,at表示时间步t选择的下一步样本路径节点选择,st+1表示时间步t+1的路径状态,at+1表示时间步t+1选择的下一步样本路径节点,θ和θ'均为动作价值函数中的可训练参数,γ为折扣因子,表示期望函数,R(st,at)表示路径奖励函数,st∈S,at∈A,S表示由节点连接的路径序列集合,A表示下一步路径选择动作的集合。
5.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据权利要求1至3中任一项所述的基于路径自适应的恶意软件检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311162448.9A CN117113350B (zh) | 2023-09-11 | 2023-09-11 | 基于路径自适应的恶意软件检测方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311162448.9A CN117113350B (zh) | 2023-09-11 | 2023-09-11 | 基于路径自适应的恶意软件检测方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117113350A CN117113350A (zh) | 2023-11-24 |
CN117113350B true CN117113350B (zh) | 2024-05-28 |
Family
ID=88812663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311162448.9A Active CN117113350B (zh) | 2023-09-11 | 2023-09-11 | 基于路径自适应的恶意软件检测方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117113350B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117708821B (zh) * | 2024-02-06 | 2024-04-30 | 山东省计算中心(国家超级计算济南中心) | 基于异构图嵌入的勒索软件检测方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115828242A (zh) * | 2022-12-08 | 2023-03-21 | 上海交通大学 | 基于大型异构图表示学习的安卓恶意软件检测方法 |
CN116204882A (zh) * | 2023-01-05 | 2023-06-02 | 北京航空航天大学 | 基于异构图的Android恶意软件检测方法及装置 |
WO2023110625A1 (fr) * | 2021-12-15 | 2023-06-22 | Orange | Procédé d'entraînement d'un agent autonome mettant en œuvre un algorithme d'apprentissage par renforcement, agent autonome associé |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210256401A1 (en) * | 2020-02-18 | 2021-08-19 | Crowdstrike, Inc. | Embedding networks to extract malware family information |
-
2023
- 2023-09-11 CN CN202311162448.9A patent/CN117113350B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023110625A1 (fr) * | 2021-12-15 | 2023-06-22 | Orange | Procédé d'entraînement d'un agent autonome mettant en œuvre un algorithme d'apprentissage par renforcement, agent autonome associé |
CN115828242A (zh) * | 2022-12-08 | 2023-03-21 | 上海交通大学 | 基于大型异构图表示学习的安卓恶意软件检测方法 |
CN116204882A (zh) * | 2023-01-05 | 2023-06-02 | 北京航空航天大学 | 基于异构图的Android恶意软件检测方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于API和Permission的Android恶意软件静态检测方法研究;杨鸣坤;罗锦光;欧跃发;慕德俊;;计算机应用与软件;20200412(04);全文 * |
杨鸣坤 ; 罗锦光 ; 欧跃发 ; 慕德俊 ; .基于API和Permission的Android恶意软件静态检测方法研究.计算机应用与软件.2020,(04),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN117113350A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659744B (zh) | 训练事件预测模型、评估操作事件的方法及装置 | |
Vinayakumar et al. | Deep android malware detection and classification | |
Sharma et al. | Reusability assessment for software components | |
CN117113350B (zh) | 基于路径自适应的恶意软件检测方法、系统及设备 | |
CN117175588B (zh) | 基于时空相关性的用电负荷预测方法及装置 | |
Yin et al. | A real-time dynamic concept adaptive learning algorithm for exploitability prediction | |
US10410140B1 (en) | Categorical to numeric conversion of features for machine learning models | |
Lou et al. | Classification-based prediction of network connectivity robustness | |
CN118393329B (zh) | 一种用于测试ai芯片在模型训练和推理表现的系统 | |
Ibrahim et al. | Fractional calculus-based slime mould algorithm for feature selection using rough set | |
Yang et al. | Improving certified robustness via statistical learning with logical reasoning | |
Zhen et al. | DA-GNN: A smart contract vulnerability detection method based on Dual Attention Graph Neural Network | |
Chen et al. | Exploring optimization of semantic relationship graph for multi-relational Bayesian classification | |
CN110688368A (zh) | 一种构件行为模型挖掘方法与装置 | |
Liu et al. | Learning dynamic temporal graphs for oil-production equipment monitoring system | |
CN115567305A (zh) | 基于深度学习的顺序网络攻击预测分析方法 | |
CN114500075A (zh) | 用户异常行为检测方法、装置、电子设备及存储介质 | |
An et al. | Relative Keys: Putting Feature Explanation into Context | |
Oh et al. | Application TadGAN to Detect Collective Anomaly in Power Usage Data | |
Shatnawi | Identifying threshold values of change-prone modules | |
Shafiabady et al. | Qualitative Evaluation on Software Maintainability Prediction Models | |
CN118368088A (zh) | 基于机器学习算法的网络安全事件分类方法和系统 | |
CN116433387A (zh) | 风险预测方法、装置、计算设备及可读存储介质 | |
Wang et al. | Data Leakage Behavior Recognition Based on Cyclical Learning Rate based Long-Short Term Memory | |
Khan et al. | A Structural-Semantic Approach Integrating Graph-Based and Large Language Models Representation |
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 |