CN112989342B - 恶意软件检测网络优化方法、装置、电子设备及存储介质 - Google Patents
恶意软件检测网络优化方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112989342B CN112989342B CN202110240154.8A CN202110240154A CN112989342B CN 112989342 B CN112989342 B CN 112989342B CN 202110240154 A CN202110240154 A CN 202110240154A CN 112989342 B CN112989342 B CN 112989342B
- Authority
- CN
- China
- Prior art keywords
- software
- feature
- probability
- feature extraction
- target 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
Links
Images
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/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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/047—Probabilistic or stochastic 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
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computer Security & Cryptography (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Virology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种恶意软件检测网络优化方法、装置、电子设备及存储介质,包括:对预先随机选择的软件进行特征提取以获取第一特征向量集合St;利用基于贪心算法和目标网络根据第一特征向量集合St选择的特征提取方式对软件进行特征提取以获取第二特征向量集合St+1;利用预先构建的恶意软件检测分类模型根据第一特征向量集合St和第二特征向量集合St+1分别确定软件在第一特征向量集合St中属于恶意软件的第一概率和软件在第二特征向量集合St+1中属于恶意软件的第二概率;比较第一概率的置信度和第二概率的置信度以得到反馈结果;以及根据反馈结果对目标网络进行优化。
Description
技术领域
本公开涉及模型优化技术领域,尤其涉及一种恶意软件检测网络优化方法、装置、电子设备及存储介质。
背景技术
相关技术中恶意软件检测方法通常采用静态分析和动态分析,随着互联网技术的不断发展,软件开发者对软件不断地进行更新迭代,应用市场以及其他不同渠道中会出现大量属于不同类别的恶意软件家族,不同变更的恶意软件样本。相关技术在恶意软件检测模型训练完成后,面对更新迭代后的恶意软件时存在着识别准确率低,可靠性差的问题。
发明内容
有鉴于此,本公开提出了一种恶意软件检测网络优化方法、装置、电子设备及存储介质。
基于上述目的,本公开提供了一种恶意软件检测网络优化方法,包括:
对预先随机选择的软件进行特征提取以获取第一特征向量集合St;
利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1;
利用预先构建的恶意软件检测分类模型根据所述第一特征向量集合St和所述第二特征向量集合St+1分别确定所述软件在所述第一特征向量集合St中属于恶意软件的第一概率和所述软件在所述第二特征向量集合St+1中属于恶意软件的第二概率;
比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果;以及
根据所述反馈结果对所述目标网络进行优化。
可选的,所述对预先随机选择的软件进行特征提取以获取第一特征向量集合St,进一步包括:
在软件数据库中随机选择所述软件;
根据预先选择的特征提取方式提取所述软件的第一特征;
对所述第一特征进行向量化操作以获取所述第一特征向量集合St。
可选的,所述利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1,之前还包括:
将所述第一特征向量集合St输入至所述目标网络中以得到所有所述特征提取方式所对应的网络输出值Q。
可选的,所述利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1,进一步包括:
基于所述贪心算法选择最大的所述网络输出值对应的所述特征提取方式;
对利用所述特征提取方式提取的所述软件的第二特征进行所述向量化操作以获取所述第二特征向量集合St+1。
可选的,所述比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果,进一步包括:
设置奖惩机制,并根据所述奖惩机制确定所述反馈结果;
所述奖惩机制,表示为
其中,R表示回报值,Pt表示所述第二概率的置信度,Pt-1表示所述第一概率的置信度,Software表示所述软件。
可选的,所述反馈结果,包括:正回报反馈和负回报反馈;
所述比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果,进一步包括:
响应于所述第一概率的置信度不大于所述第二概率的置信度,得到所述正回报反馈1;
响应于所述第一概率的置信度大于所述第二概率的置信度,得到所述负回报反馈-1。
可选的,所述根据所述反馈结果对所述目标网络进行优化,进一步包括:
根据所述反馈结果计算当前网络输出值q,所述当前网络输出值q表示为
q=rt+γ×max(Q'(St+1,at+1,θ'))
其中,rt表示当前回报值,at+1表示用于提取第二特征的特征提取方式,γ表示衰减参数,Q'表示at+1时的网络输出值;
根据所述所有所述特征提取方式所对应的网络输出值Q和所述当前网络输出值q确定均方差损失函数;所述均方差损失函数表示为
其中,m表示批处理数据的大小,θ表示所述目标网络的参数,at表示用于提取第一特征的特征提取方式;
根据所述均方差损失函数更新所述目标网络的参数θ以优化所述目标网络。
基于同一发明构思,本公开还提供了一种恶意软件检测网络优化装置,包括:
第一提取模块,被配置为对预先随机选择的软件进行特征提取以获取第一特征向量集合St;
第二提取模块,被配置为利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1;
概率确定模块,被配置为利用预先构建的恶意软件检测分类模型根据所述第一特征向量集合St和所述第二特征向量集合St+1分别确定所述软件在所述第一特征向量集合St中属于恶意软件的第一概率和所述软件在所述第二特征向量集合St+1中属于恶意软件的第二概率;
比较模块,被配置为比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果;
优化模块,被配置为根据所述反馈结果对所述目标网络进行优化。
基于同一发明构思,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述的恶意软件检测网络优化方法。
基于同一发明构思,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储电子装置的一组指令,该组指令用于使所述电子装置执行上述任意一项所述的恶意软件检测网络优化方法。
从上面所述可以看出,本公开提供的一种恶意软件检测网络优化方法、装置、电子设备及存储介质,包括:对预先随机选择的软件进行特征提取以获取第一特征向量集合St;利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1;利用预先构建的恶意软件检测分类模型根据所述第一特征向量集合St和所述第二特征向量集合St+1分别确定所述软件在所述第一特征向量集合St中属于恶意软件的第一概率和所述软件在所述第二特征向量集合St+1中属于恶意软件的第二概率;比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果;以及根据所述反馈结果对所述目标网络进行优化。本公开提供的方法对软件进行特征提取,利用强化学习以及反馈机制对恶意软件检测模型的识别结果进行反馈,自动化调整学习策略;通过与环境不断进行交互,再通过获得的反馈结果进行训练学习,动态更新目标网络的参数,充分利用强化学习的决策能力,对恶意软件检测的目标网络进行优化,进而选择出最优的特征提取方式,从而提高恶意软件检测模型的识别准确度和可靠性。
附图说明
为了更清楚地说明本说明书一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例所提供的一种恶意软件检测网络优化的示例性方法的流程示意图;
图2为本公开实施例的一种恶意软件检测网络优化环境的结构示意图;
图3为本公开实施例的一种恶意软件检测模型的分类网络的结构示意图;
图4为本公开实施例的一种恶意软件检测网络优化装置的结构示意图;
图5为本公开实施例的一种电子设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
如背景技术部分所述,相关技术中恶意软件检测方法通常采用静态分析和动态分析,随着互联网技术的不断发展,软件开发者对软件不断地进行更新迭代,应用市场以及其他不同渠道中会出现大量属于不同类别的恶意软件家族,不同变更的恶意软件样本。相关技术在恶意软件检测模型训练完成后,面对更新迭代后的恶意软件时存在着识别准确率低,可靠性差的问题。
相关技术中,恶意软件检测的方法一般有静态分析和动态分析。静态分析是在没有运行恶意代码时对其进行分析的技术,这种类型的方法一般通过解压缩然后反编译APK,这种方法相对动态分析的速度要快。
Android应用程序以APK的形式在应用市场上发布,在静态分析方面,APKtool用于反编译APK文件并进行解析androidmanifest.xml文件以提取权限、包名称、组件、环境等。Ida pro能够对APK文件进行反编译并解析获取共享库函数操作码和一系列的操作特征。安卓应用程序是用Java开发的。诸如idea等编译器能够将Java源代码转换为dex文件,这些文件可以在Android的Dalvik虚拟机上运行。Dex是一种文件格式,包含为Android编写的编译代码,可以由Dalvik虚拟机解释,但不能读取。为了将dex文件转换为可读格式,smali提供了smali语言的可读代码。Smalicode是java和Dalvik虚拟机之间进行解释的中间代码。它可以使用baksmali工具来编译类.dex获取smali文件因此来获取控制流图和代码功能等。在除了解析smali代码以进行特征提取外,它还可以访问Java源代码文件,以API调用的形式提取特性,它解压缩APK文件以获得.dex文件,我们可以使用dex2jar工具将dex文件转换为jar文件,然后使用JD-GUI工具将jar文件转换为java源文件。
动态分析的方法通过在特定的环境下执行整个APK文件,比如沙箱中。动态分析方法收集Android应用程序运行时的行为信息,并将其转换为特征。动态分析方法使用系统调用、文件访问信息、网络流量信息、加密操作、服务打开、电话呼叫、用户交互、系统组件和其他抗混淆的动态特性。此外,大多数研究者在有限的范围内收集恶意行为信息。恶意软件在此期间可能不会进行恶意活动,因此动态分析需要较长的时间来分析软件。
根据用于跟踪Android应用程序行为的技术不同,动态分析方法分为基于钩子的方法和基于日志的方法。基于日志的动态分析方法是在真实设备或Android模拟器中执行Android应用程序,以使用著名的日志工具来监视它们的行为。基于钩子工具的动态分析方法是在代码中嵌入监测点来记录执行过程中的应用活动。这些钩子可以监视Android应用程序的执行、收集有关行为的信息、跟踪执行的指令、检索事件序列或监视存储的数据流量。
但申请人通过研究发现,相关技术中静态分析的方法已经广泛应用在寻找恶意代码,在市场保护方面也越来越流行。但是静态分析的缺点主要是不适用于代码混淆的情况,在代码混淆的情况下通过静态分析方法很难识别出恶意软件。对于加壳或者加固的apk难以分析,无法分析由于动态行为而触发的问题,对于无法编译的代码难以分析等问题。并且随着现在编程技术的更新,诸如0day攻击使得静态分析的方法很难工作。
动态分析与静态分析不同,因为它是检测其行为以判断应用程序是恶意软件还是恶意软件否,它的主要缺点是需要消耗时间和资源,并且将产生可拓展问题,可能会对应用程序的性能产生负面影响,不能保证源代码的全部覆盖率,因为它的运行时基于用户交互或自动化测试的。
而申请人考虑到随着互联网技术的不断发展,软件开发者对软件不断地进行更新迭代,应用市场以及其他不同渠道中会出现大量属于不同类别的恶意软件家族,不同变更的恶意软件样本。有鉴于此,本公开实施例提供了一种恶意软件检测网络优化方法、装置、电子设备及存储介质,所述方法包括:对预先随机选择的软件进行特征提取以获取第一特征向量集合St;利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1;利用预先构建的恶意软件检测分类模型根据所述第一特征向量集合St和所述第二特征向量集合St+1分别确定所述软件在所述第一特征向量集合St中属于恶意软件的第一概率和所述软件在所述第二特征向量集合St+1中属于恶意软件的第二概率;比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果;以及根据所述反馈结果对所述目标网络进行优化。
本公开实施例提供的一种恶意软件检测网络优化方法、装置、电子设备及存储介质,通过对软件进行特征提取,利用强化学习以及反馈机制对恶意软件检测模型的识别结果进行反馈,自动化调整学习策略;通过与环境不断进行交互,再通过获得的反馈结果进行训练学习,动态更新目标网络的参数,充分利用强化学习的决策能力,对恶意软件检测的目标网络进行优化,进而选择出最优的特征提取方式,从而提高恶意软件检测模型的识别准确度和可靠性。
以下,通过具体的实施例进一步详细说明本公开的技术方案。
参考图1,因此本公开实施例提供的一种恶意软件检测网络优化方法,具体包括以下步骤:
S101:对预先随机选择的软件进行特征提取以获取第一特征向量集合St。
本实施例中,预先从软件数据集中随机选择软件M,对其进行特征提取以获取第一特征向量集合St,也可称为当前状态。其中,状态的设定是指基于强化学习的恶意软件检测方法通过对动作的选取,进行状态的转移,本申请中的状态设定为将恶意软件特征转化为向量的集合。
需要说明的是,对预先随机选择的软件进行特征提取以获取第一特征向量集合St,具体包括:在软件数据库中随机选择软件M;根据预先选择的特征提取方式提取软件M的第一特征;对第一特征进行向量化操作以获取第一特征向量集合St。其中,提取的特征可以为自编码特征等。
S102:利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1。
本实施例中,基于贪心算法(采用ε-greedy策略)根据得到的第一特征向量集合St选择特征提取方式,利用选择的特征提取方式对软件M进行特征提取以获取第二特征向量集合St+1。其中,特征提取方式也可称为动作,本申请中的动作是智能体所能够执行的所有动作的集合,定义为软件所采取的不同特征提取方法,每一次对软件进行特征提取的动作都会得到一个全新的状态,即新的特征向量集合。
进一步地,根据选择的特征提取方式提取软件M的第二特征,并对其进行向量化操作以获取第二特征向量集合St+1。
需要说明的是,利用基于贪心算法根据第一特征向量集合St选择的特征提取方式对软件进行特征提取以获取第二特征向量集合St+1,之前还包括:将第一特征向量集合St输入至目标网络中以得到所有特征提取方式所对应的网络输出值Q,所述网络输出值为目标网络处于预处理环境时,输出的所有可能的动作(也即所有特征提取方式)所对应的网络输出值。具体地,将第一特征向量集合St作为目标网络的输入,得到所有动作(即所有特征提取方式)所对应的网络输出值。
进一步地,基于贪心算法可以以概率ε随机选择当前的动作at(即特征提取方式)或以概率1-ε选择最大的网络输出值Qmax所对应的动作at max。本申请以采取选择最大网络输出值Qmax所对应的动作at max为例,采取该动作所对应的特征提取方式对软件M进行特征的提取,得到第二特征,将第二特征进行向量化处理,得到所对应的状态St+1(即第二特征向量集合)。
S103:利用预先构建的恶意软件检测分类模型根据所述第一特征向量集合St和所述第二特征向量集合St+1分别确定所述软件在所述第一特征向量集合St中属于恶意软件的第一概率和所述软件在所述第二特征向量集合St+1中属于恶意软件的第二概率。
本实施例中,获取相关技术中的恶意软件检测分类模型,将状态St+1以及状态St下的向量化特征输入获取的恶意软件检测分类模型,也即,将第一特征向量集合St和第二特征向量集合St+1输入至恶意软件检测分类模型,并计算该软件M在状态St+1和状态St下属于恶意软件的概率,分别得到软件M在第一特征向量集合St中属于恶意软件的第一概率和软件M在第二特征向量集合St+1中属于恶意软件的第二概率。
S104:比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果。
本实施例中,在得到第一概率和第二概率之后,通过比较第一概率的置信度和第二概率的置信度,从而得到反馈结果。进一步地,可以设置奖惩机制,并根据奖惩机制确定反馈结果,其中,奖惩机制,表示为
其中,R表示回报值,Pt表示所述第二概率的置信度,Pt-1表示所述第一概率的置信度,Software表示所述软件。
需要说明的是,奖惩机制也可称为回报函数,本公开在执行动作操作后,环境对智能体所选择的动作做出一定的评价,基于所接收到的回报信息,智能体进行策略的学习。也就是说,在智能体根据第一状态(即第一特征向量集合St)选择了最大网络输出值Qmax所对应的动作at max后,可以根据该动作(即最大网络输出值Qmax所对应的特征提取方式)获取第二状态(即第二特征向量集合St+1),并接收回报R。奖惩机制体现在对软件进行不同的动作后,即采取不同的特征提取方法后,是否对恶意软件的检测分类效果有所提高。以恶意软件正确分类的置信度为基本指标,对某一软件选择动作1后,状态转移到新的状态,对其进行检测,判断其是否为恶意软件,根据所判断的结果,对其进行相应的反馈回报。如果检测效果有所提高,则本方法的奖惩机制会反馈给智能体一定的正回报;如果检测效果有所下降,则本方法中的奖惩机制会反馈给智能体相应的负反馈。参考图2,基于强化学习的恶意软件检测模型优化方法的总体结构,包括智能体、环境、状态、动作以及回报;其中,环境的设定在本公开中是指所需要检测的软件数据集,其中包含待于区分的良性软件以及待于检测的恶意软件。智能体在该环境中实现学习和训练过程,得到能够获得最大回报的策略,即检测恶意软件效果最好的策略方式。
需要说明的是,反馈结果,包括正回报反馈和负回报反馈,响应于第一概率的置信度不大于第二概率的置信度,即Pt+1(Software)≥Pt(Software),得到正回报反馈1;响应于第一概率的置信度大于第二概率的置信度,即Pt+1(Software)<Pt(Software),得到负回报反馈-1。也就是说,当得到正回报反馈时,则证明基于贪心算法和目标网络根据第一特征向量集合St选择的特征提取方式比用于提取第一特征的特征提取方式更优,通过反馈可以将更优的特征提取方式进行挑选,经过多轮挑选能够得到最优的特征提取方式,从而使得对恶意软件的检测过程中特征提取过程的优化,进而优化整个恶意软件检测过程,达到更好的检测效果和恶意软件的识别效果。
进一步地,将上述步骤得到的第一特征向量集合St、第二特征向量集合St+1、通过比较第一概率的置信度和第二概率的置信度后得到的回报值Rt以及特征提取方式at存储到记忆库P中。
S105:根据所述反馈结果对所述目标网络进行优化。
本实施例中,根据比较第一概率的置信度和第二概率的置信度后得到的反馈结果,对目标网络进行优化。需要说明的是,根据反馈结果计算当前网络输出值q,当前网络输出值q表示为
q=rt+γ×max(Q'(St+1,at+1,θ'))
其中,rt表示当前回报值,at+1表示用于提取所述第二特征的特征提取方式,γ表示衰减参数,Q'表示at+1时的网络输出值。进一步地,根据所有特征提取方式所对应的网络输出值Q和当前网络输出值q确定均方差损失函数,均方差损失函数可以表示为
其中,m表示批处理数据的大小,θ表示目标网络的参数。根据均方差损失函数更新目标网络的参数θ以优化目标网络。具体地,使用均方差损失函数,通过神经网络的梯度反向传播更新目标网络的参数θ。
在一些可选的实施方式中,参考图3,恶意软件检测模型的分类网络可以包括输入层、隐含层和输出层的神经网络结构,输入是提取特征后的特征向量集合,输出为概率分布,根据概率分布能够判断当前软件所属于的类型(例如,良性软件和恶意软件)。具体的算法,包括以下步骤:
输入最大训练周期Imax,最大探索回合数Emax,每回合最大步数Smax,目标网络更新频率Eupdate,批处理数据量m,记忆池大小P。
若当前训练轮次小于最大训练周期Imax,且当前训练回合小于最大探索回合数Emax,则从软件的数据集中随机选择一组数据,根据特征提取方式提取软件的第一特征,对其进行向量化操作,即将得到的第一特征转换为神经网络能够进行处理的向量,也就是说将提取的第一特征转换为第一特征向量集合St。
若当前步数小于每回合最大步数Smax,且当前回合还没有结束,则根据目标网络计算每个预处理动作的Q值,根据贪心算法(采用ε-greedy策略)来选择动作(即所选择的特征提取方式),贪心算法具体策略可以为以概率ε随机选择当前的动作at(即特征提取方式)或以概率1-ε选择最大的网络输出值Qmax所对应的动作at max。
根据所选择的特征提取方式对软件进行特征提取,将得到的第二特征进行向量化转换,得到下一个状态(也即第二特征向量集合St+1);通过当前状态St与下一状态St+1计算回报值;将第一特征向量集合St、第二特征向量集合St+1、通过比较第一概率的置信度和第二概率的置信度后得到的回报值Rt以及特征提取方式at存储到记忆库P中。
从记忆库P中随机选择数据,计算网络输出值并更新目标网络参数θQ。
从上面所述可以看出,本公开提供的一种恶意软件检测网络优化方法、装置、电子设备及存储介质,包括:对预先随机选择的软件进行特征提取以获取第一特征向量集合St;利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1;利用预先构建的恶意软件检测分类模型根据所述第一特征向量集合St和所述第二特征向量集合St+1分别确定所述软件在所述第一特征向量集合St中属于恶意软件的第一概率和所述软件在所述第二特征向量集合St+1中属于恶意软件的第二概率;比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果;以及根据所述反馈结果对所述目标网络进行优化。本公开提供的方法对软件进行特征提取,利用强化学习以及反馈机制对恶意软件检测模型的识别结果进行反馈,自动化调整学习策略;通过与环境不断进行交互,再通过获得的反馈结果进行训练学习,动态更新目标网络的参数,充分利用强化学习的决策能力,对恶意软件检测的目标网络进行优化,进而选择出最优的特征提取方式,从而提高恶意软件检测模型的识别准确度和可靠性。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种恶意软件检测网络优化装置。
参考图4,所述恶意软件检测网络优化装置,包括:
第一提取模块,被配置为对预先随机选择的软件进行特征提取以获取第一特征向量集合St;
第二提取模块,被配置为利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1;
概率确定模块,被配置为利用预先构建的恶意软件检测分类模型根据所述第一特征向量集合St和所述第二特征向量集合St+1分别确定所述软件在所述第一特征向量集合St中属于恶意软件的第一概率和所述软件在所述第二特征向量集合St+1中属于恶意软件的第二概率;
比较模块,被配置为比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果;
优化模块,被配置为根据所述反馈结果对所述目标网络进行优化。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的恶意软件检测网络优化方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的恶意软件检测网络优化方法。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器510、存储器520、输入/输出接口530、通信接口540和总线550。其中处理器510、存储器520、输入/输出接口530和通信接口540通过总线550实现彼此之间在设备内部的通信连接。
处理器510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器520可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器520中,并由处理器510来调用执行。
输入/输出接口530用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口540用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线550包括一通路,在设备的各个组件(例如处理器510、存储器520、输入/输出接口530和通信接口540)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器510、存储器520、输入/输出接口530、通信接口540以及总线550,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的恶意软件检测网络优化方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的恶意软件检测网络优化方法。
本实施例的非暂态计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的恶意软件检测网络优化方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
上述对本公开特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (9)
1.一种恶意软件检测网络优化方法,包括:
对预先随机选择的软件进行特征提取以获取第一特征向量集合St;
利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1;
利用预先构建的恶意软件检测分类模型根据所述第一特征向量集合St和所述第二特征向量集合St+1分别确定所述软件在所述第一特征向量集合St中属于恶意软件的第一概率和所述软件在所述第二特征向量集合St+1中属于恶意软件的第二概率;
比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果;以及
根据所述反馈结果对所述目标网络进行优化;所述根据所述反馈结果对所述目标网络进行优化,进一步包括:
根据所述反馈结果计算当前网络输出值q,所述当前网络输出值q表示为
q=rt+γ×max(Q'(St+1,at+1,θ'))
其中,rt表示当前回报值,at+1表示用于提取第二特征的特征提取方式,γ表示衰减参数,Q'表示at+1时的网络输出值;
根据所有所述特征提取方式所对应的网络输出值Q和所述当前网络输出值q确定均方差损失函数;所述均方差损失函数表示为
其中,m表示批处理数据的大小,θ表示所述目标网络的参数,at表示用于提取第一特征的特征提取方式;
根据所述均方差损失函数更新所述目标网络的参数θ以优化所述目标网络。
2.根据权利要求1所述的方法,其中,所述对预先随机选择的软件进行特征提取以获取第一特征向量集合St,进一步包括:
在软件数据库中随机选择所述软件;
根据预先选择的特征提取方式提取所述软件的第一特征;
对所述第一特征进行向量化操作以获取所述第一特征向量集合St。
3.根据权利要求2所述的方法,其中,所述利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1,之前还包括:
将所述第一特征向量集合St输入至所述目标网络中以得到所有所述特征提取方式所对应的网络输出值Q。
4.根据权利要求3所述的方法,其中,所述利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1,进一步包括:
基于所述贪心算法选择最大的所述网络输出值对应的所述特征提取方式;
对利用所述特征提取方式提取的所述软件的第二特征进行所述向量化操作以获取所述第二特征向量集合St+1。
6.根据权利要求5所述的方法,其中,所述反馈结果,包括:正回报反馈和负回报反馈;
所述比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果,进一步包括:
响应于所述第一概率的置信度不大于所述第二概率的置信度,得到所述正回报反馈1;
响应于所述第一概率的置信度大于所述第二概率的置信度,得到所述负回报反馈-1。
7.一种恶意软件检测网络优化装置,包括:
第一提取模块,被配置为对预先随机选择的软件进行特征提取以获取第一特征向量集合St;
第二提取模块,被配置为利用基于贪心算法和目标网络根据所述第一特征向量集合St选择的特征提取方式对所述软件进行特征提取以获取第二特征向量集合St+1;
概率确定模块,被配置为利用预先构建的恶意软件检测分类模型根据所述第一特征向量集合St和所述第二特征向量集合St+1分别确定所述软件在所述第一特征向量集合St中属于恶意软件的第一概率和所述软件在所述第二特征向量集合St+1中属于恶意软件的第二概率;
比较模块,被配置为比较所述第一概率的置信度和所述第二概率的置信度以得到反馈结果;
优化模块,被配置为根据所述反馈结果对所述目标网络进行优化;所述根据所述反馈结果对所述目标网络进行优化,进一步包括:
根据所述反馈结果计算当前网络输出值q,所述当前网络输出值q表示为
q=rt+γ×max(Q'(St+1,at+1,θ'))
其中,rt表示当前回报值,at+1表示用于提取第二特征的特征提取方式,γ表示衰减参数,Q'表示at+1时的网络输出值;
根据所有所述特征提取方式所对应的网络输出值Q和所述当前网络输出值q确定均方差损失函数;所述均方差损失函数表示为
其中,m表示批处理数据的大小,θ表示所述目标网络的参数,at表示用于提取第一特征的特征提取方式;
根据所述均方差损失函数更新所述目标网络的参数θ以优化所述目标网络。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至6任意一项所述的方法。
9.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储电子装置的一组指令,该组指令用于使所述电子装置执行权利要求1至6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240154.8A CN112989342B (zh) | 2021-03-04 | 2021-03-04 | 恶意软件检测网络优化方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240154.8A CN112989342B (zh) | 2021-03-04 | 2021-03-04 | 恶意软件检测网络优化方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112989342A CN112989342A (zh) | 2021-06-18 |
CN112989342B true CN112989342B (zh) | 2022-08-05 |
Family
ID=76352738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110240154.8A Active CN112989342B (zh) | 2021-03-04 | 2021-03-04 | 恶意软件检测网络优化方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112989342B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109543406B (zh) * | 2018-09-29 | 2023-04-11 | 广东工业大学 | 一种基于XGBoost机器学习算法的Android恶意软件检测方法 |
US20200236131A1 (en) * | 2019-01-18 | 2020-07-23 | Cisco Technology, Inc. | Protecting endpoints with patterns from encrypted traffic analytics |
CN110245493A (zh) * | 2019-05-22 | 2019-09-17 | 中国人民公安大学 | 一种基于深度置信网络的Android恶意软件检测的方法 |
CN110378119A (zh) * | 2019-07-16 | 2019-10-25 | 合肥智瑞工程科技有限公司 | 一种恶意软件检测方法及系统 |
CN110765458B (zh) * | 2019-09-19 | 2021-06-08 | 浙江工业大学 | 一种基于深度学习的恶意软件图像格式检测方法及其装置 |
-
2021
- 2021-03-04 CN CN202110240154.8A patent/CN112989342B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112989342A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112417439B (zh) | 账号检测方法、装置、服务器及存储介质 | |
CN110263538B (zh) | 一种基于系统行为序列的恶意代码检测方法 | |
CN112860484A (zh) | 容器运行时异常行为检测、模型训练方法及相关装置 | |
CN108614970B (zh) | 病毒程序的检测方法、模型训练方法、装置及设备 | |
CN112005532B (zh) | 用于对可执行文件进行分类的方法、系统和存储介质 | |
US8572007B1 (en) | Systems and methods for classifying unknown files/spam based on a user actions, a file's prevalence within a user community, and a predetermined prevalence threshold | |
CN109905385B (zh) | 一种webshell检测方法、装置及系统 | |
CN111931179B (zh) | 基于深度学习的云端恶意程序检测系统及方法 | |
CN112148305B (zh) | 一种应用检测方法、装置、计算机设备和可读存储介质 | |
CN110619210A (zh) | 一种模拟器检测方法及系统 | |
US20190325316A1 (en) | Apparatus and methods for program synthesis using genetic algorithms | |
CN112989363B (zh) | 漏洞定位方法、装置、电子设备和存储介质 | |
CN115221516B (zh) | 恶意应用程序识别方法及装置、存储介质、电子设备 | |
CN111143178A (zh) | 用户行为分析方法、装置及设备 | |
CN115860836A (zh) | 一种基于用户行为大数据分析的电商服务推送方法及系统 | |
Zekany et al. | CrystalBall: Statically analyzing runtime behavior via deep sequence learning | |
CN112434296A (zh) | 一种安卓恶意应用的检测方法及装置 | |
CN115601629A (zh) | 模型训练方法、图像识别方法、介质、装置和计算设备 | |
CN114462040A (zh) | 一种恶意软件检测模型训练、恶意软件检测方法及装置 | |
CN117009967B (zh) | 一种恶意代码检测模型构建方法、系统及存储介质 | |
CN109753794A (zh) | 一种恶意应用的识别方法、系统、训练方法、设备及介质 | |
CN113626810A (zh) | 基于敏感子图的安卓恶意软件检测方法及系统 | |
CN112989342B (zh) | 恶意软件检测网络优化方法、装置、电子设备及存储介质 | |
CN110704614B (zh) | 对应用中的用户群类型进行预测的信息处理方法及装置 | |
CN112463778B (zh) | 基于大数据和应用程序的信息处理方法及大数据服务器 |
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 |