CN113886821A - 基于孪生网络的恶意进程识别方法、装置、电子设备及存储介质 - Google Patents
基于孪生网络的恶意进程识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113886821A CN113886821A CN202111020311.0A CN202111020311A CN113886821A CN 113886821 A CN113886821 A CN 113886821A CN 202111020311 A CN202111020311 A CN 202111020311A CN 113886821 A CN113886821 A CN 113886821A
- Authority
- CN
- China
- Prior art keywords
- behavior
- twin network
- malicious
- training
- similarity
- 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.)
- Pending
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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/044—Recurrent networks, e.g. Hopfield 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于孪生网络的恶意进程识别方法,包括:获取反映客户端的进程行为的序列化日志作为原始样本,并以各个进程行为类型作为原始样本添加的标签,所述反映客户端的进程行为的序列化日志包括该进程运行过程中的API或系统调用的日志;所述进程行为包括非恶意进程行为和不同类型的恶意进程行为;对各个原始样本进行序列化处理得到相应进程的行为特征向量;利用所述行为特征向量进行孪生网络训练;利用训练得到的孪生网络对待检测行为进程进行恶意行为进程识别,以得到所述待检测行为进程的标签。
Description
技术领域
本申请涉及信息安全技术领域,特别是涉及一种基于孪生网络的恶意进程识别方法、装置、计电子设备及存储介质。
背景技术
随着互联网技术的不断发展,网络上恶意程序的数目也在不断激增,远程访问木马(RAT,remote access Trojan)便是其中一种数目不断持续增长的恶意程序,入侵者可以利用RAT来在受感染的计算机上进行绝大部分的恶意操作,如监视用户行为、激活系统的摄像头和录音录像、传播病毒和其他恶意软件、访问机密信息和密码等,危害十分巨大。
当前,已经有一些工作来对RAT恶意程序的行为进行识别。
对RAT病毒而言,传统的检测方法主要是基于规则来对其进行入侵检测,但这种基于特征的检测技术,恶意软件可以通过混淆、变形来规避检测,利用规则和特征库来进行检测,只能检测出目前已知的RAT病毒行为,而对于未知的RAT或者利用混淆来做过处理的已知RAT,基于规则的方法都对此无能为力,无法将其检测出来。
近年来,基于网络流量的分析技术显示出高效性和低占用率,机器学习的算法在其中发挥着重要的作用。然而,针对RAT木马网络行为识别这一应用,目前的研究较少考虑进程执行记录的时间顺序,且RAT恶意行为样本本身数据量较少,且分布不平衡,对现有的机器学习检测器的分类效果有很大的影响,导致目前的研究对于木马的识别率较低。
机器学习的一般机制是使用在先前准备的训练样本上学习的统计模型对未来数据进行预测。在大多数情况下,模型的泛化能力是由足够数量的训练样本来保证的。然而,在许多实际应用中,人们可能只被允许访问很少的新类别的训练数据,在有限的范围内,每个新类别只有极少数样本。因此,如何从很少的训练数据中学习到一个相对高检出率的模型就成为了一个很大的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种基于孪生网络的恶意进程识别方法。
本发明的一种基于孪生网络的恶意进程识别方法,所述方法包括:
获取反映客户端的进程行为的序列化日志作为原始样本,并以各个进程行为类型作为原始样本添加的标签,所述反映客户端的进程行为的序列化日志包括该进程运行过程中的API或系统调用的日志;所述进程行为包括非恶意进程行为和不同类型的恶意进程行为;
对各个原始样本进行序列化处理得到相应进程的行为特征向量;
利用所述行为特征向量进行孪生网络训练,并利用训练得到的孪生网络对待检测行为进程的行为特征向量进行恶意行为进程识别,以得到所述待检测行为进程的标签。
作为优选,对各个原始样本进行序列化处理得到相应进程的行为特征向量包括:
用精简与恶意行为无关调用栈的方法和/或压缩循环重复序列的方法对各个原始样本进行特征选取以去除冗余特征;
对各个经过特征选取的原始样本进行序列化处理得到相应进程的行为特征向量。
作为优选,所述利用所述行为特征向量进行孪生网络训练包括:
构建孪生网络模型,其包括用于处理输入的两个相似空间映射网络分支;
将所述行为特征向量进行两两组合形成输入对,将各个输入到该孪生网络模型中进行模型训练,输出所述输入对对应的两个特征嵌入向量,并根据该两个特征嵌入向量计算得到输入对的相似度估计值;
将输入对的相似度估计值和相似度真实值输入到孪生网络损失函数中计算损失,通过梯度反向传播优化孪生网络模型的权重参数矩阵和偏差参数矩阵,直至损失不再下降,得到训练好的孪生网络模型。
进一步优选,所述损失函数是输入对的相似度估计值和相似度真实值的交叉熵。
作为优选,所述利用训练得到的孪生网络对待检测行为进程的行为特征向量进行恶意行为进程识别包括:
针对每一类进程,利用所述训练得到的孪生网络确定该类进程的行为特征向量被孪生网络映射后的特征嵌入向量,并利用中心函数对所述每一类进程的特征嵌入向量进行加和平均得到各类的平均映射中心;
将待检测行为进程的行为特征向量输入到所述训练得到的孪生网络得到映射后的特征嵌入向量;
计算待检测行为进程的特征嵌入向量和各个平均映射中心的相似度,并将所述的相似度估计值与预设的相似度阈值进行比较,若大于预设值,则将平均映射中心对应的标签作为待检测行为进程的标签。
作为优选,所述方法还包括将所述行为特征向量分为训练集和验证集,所述训练集中的行为特征向量用于进行孪生网络训练,所述验证集中的行为特征向量用于确定所述预设的相似度阈值。
进一步优选,所述确定所述预设的相似度阈值包括:
将所述验证集中的行为特征向量输入两两组合形成输入对,并将各个输入到训练得到的孪生网络得到相似度估计值;
设定相似度阈值的初始值,并根据相似度阈值的初始值确定各个输入对的标签是否相同,若所述输入对的标签的正确率不满足预设条件,则调整相似度阈值直至满足预设条件,并确定满足所述预设条件的相似度阈值作预设的相似度阈值。
本发明还提供了一种基于孪生网络的恶意进程识别装置,包括:
第一模块,用于获取反映客户端的进程行为的序列化日志作为原始样本,并以各个进程行为类型作为原始样本添加的标签,所述反映客户端的进程行为的序列化日志包括该进程运行过程中的API或系统调用的日志;所述进程行为包括非恶意进程行为和不同类型的恶意进程行为;
第二模块,用于对各个原始样本进行序列化处理得到相应进程的行为特征向量;
第三模块,用于利用所述行为特征向量进行孪生网络训练;
第四模块,用于利用训练得到的孪生网络对待检测行为进程进行恶意行为进程识别,以得到所述待检测行为进程的标签。
本发明还提供了一种电子设备,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至7中任一项所述的恶意进程识别方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的恶意进程识别方法。
本发明利用孪生网络模型,大大降低传统方法训练检测器所需要的数据量,使其在少量的样本数据中仍然可以取得与传统方法使用大量样本相近的结果,使得模型能够通过很少的训练数据来完成较高的恶意进程检测率或识别率。
附图说明
图1为本发明的基于孪生网络的恶意进程识别系统的结构示意图。
图2为本发明的基于孪生网络的恶意进程识别方法的流程图。
图3为孪生网络工作原理示意图。
图4为本发明的本发明的一实施例中基于孪生网络的恶意进程识别装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是未作特殊说明,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请中先进行如下定义:
RAT:远程访问木马(RAT,remote access Trojan)是一种恶意程序,入侵后能对受感染电脑能进行管理控制
API:应用程序接口(Application Programming Interface),是一种计算接口,定义多个软件中介之间的交互,以及可以进行的调用(call)或请求(request)的种类,如何进行调用或发出请求,应使用的数据格式,应遵循的惯例等规范。
本申请提供的恶意进程识别方法适用于具有检测设备和待检测设备的系统中。在一个实施环境中,检测设备和待检测设备可以为同一设备。在另外一个实施环境中,检测设备和待检测设备为不同设备,且一个检测设备可以同时检测多台待检测设备。
通常,检测设备为服务端,待检测设备为客户端。在此情况下,该识别方法可以应用于如图1所示的应用环境中。其中,客户端102通过网络与服务端104通过网络进行通信。其中,客户端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑,服务端104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
客户端102为恶意进程可能侵入的主机,客户端上运行进程日志收集器和简单的日志清洗和处理程序,将清洗好的数据发送给服务器进行检测器的训练。也可直接从服务器上下载固定的模型参数,在本地进行检测。
服务器104用于接收客户端发来的进程日志序列数据,并完成数据去冗余和特征提取。在完成进程行为特征的学习,并将进程日志序列转换为进程行为特征向量后,利用孪生网络技术进行检测,输出结果并将结果返回给客户端102。服务器104也可存储好相应的模型参数,供客户端下载并在本地使用。
本发明恶意进程识别方法首先在各客户端主机上运行数据收集器收集该主机上运行的进程及进程在运行过程中的调用栈和系统调用日志作为原始数据集。将日志进行简单处理之后发送给服务器端。服务端首先对于原始数据集进行特征选择以进行去冗余处理,移除与恶意进程检测无关的日志记录,并重点提取与恶意进程检测相关的进程日志事件。完成特征选择之后,服务端利用基于深度神经网络的进程行为分析模型,将各个进程的日志序列转化为能够体现进程行为特征的数学向量。最后,采用了孪生网络技术,对于进程行为特征向量进行检测,利用较少的训练样本,准确识别出具有恶意行为的进程。
图2是本发明提供的一种基于孪生网络的恶意进程识别方法,本实施例可适用于根据各参与方的本地聚类信息高效、可靠地进行联邦数据聚类处理的情况,该方法可以由联邦数据聚类装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机设备中,与其他参与方设备配合使用。相应的,如图2所示,该方法包括如下操作:
S201,获取反映客户端的进程行为的序列化日志作为原始样本,并根据进程的功能分类为各个原始样本添加的标签,进程的功能分类以人工统计作为主要获取来源,所述反映客户端的进程行为的序列化日志包括该进程运行过程中的API或系统调用的日志;所述进程包括至少1个类别的恶意进程和至少2个类别的非恶意的进程;
所述标签用来表示进程的类别。总体来说进程类别包括恶意进程和非恶意进程两大类。其中恶意RAT包括远程桌面访问、键盘记录、下载并执行等;非恶意进程的种类较多,包括网络与安全、文字处理、音乐播放、视频播放、网络存储下载、游戏、系统进程、邮件应用等。
本实施例中标签在训练阶段由研究人员手动添加。
在客户端上安装并运行进程日志收集器,客户端收集到日志数据后,从数据中提取反映客户端的进程行为的序列化的日志作为原始样本。每一进程的序列化日志作为一个原始样本。
本实施例中,以客户端运行的进程在每个时刻所调用的win32API调用栈和系统调用反应客户端的进程行为的序列化的日志,每个时刻所调用的win32API调用栈和系统调用按照时间顺序排列,即可得到进程执行的事件序列。
在另一优选实施例中,还包括对获取反映客户端的进程行为的序列化的日志进行预处理以去除一些无关信息(如调用栈地址,动态链接库路径等),并合并一些功能相近的事件,降低后续步骤的分析难度。
本发明中各类进程按类别分类,具体可分为6类,如表1所示,其中正常行为表格中未示出,仅给出恶意行为的分类。每个分类中样本的标签相同,标签可自定义。
表1
S202,服务端对各个原始样本进行特征选取以去除冗余特征;
在一个实施例中,采用压缩循环重复序列服务端对原始样本进行特征选取,其核心思想是如果一段连续序列由完全相同的子序列重复多个周期构成,则只保留一个周期的子序列。如果两个系统调用的调用栈和系统调用完全相同,则这两个系统调用代表了程序循环结构中同一系统调用的两次触发,当循环体被多次执行时,仅保留一次便可以获取该段时间进程的行为信息。该算法主要运用了贪心算法的思想,主要体现在一旦检测到有循环结构出现,就立刻合并检测到的循环结构。作为优选,本实施例中先合并压缩较短的循环体,再合并压缩较长的循环体,直到检测不到循环体存在。这种做法可以有效合并长度不同的具有周期性的子序列。
下面将结合简单示例说明压缩循环体的方法。假设原始样本为AAABBBAAABBB,若先压缩较长的循环体再压缩较短的循环体,压缩较长的循环体后得到AAABBB,然后再压缩较短的循环体得到AB;若先压缩较短的循环体再压缩较长的循环体时,先压缩较短的循环体后得到ABAB,再压缩较长的循环体得到结果为AB。
在另一示例中,原始样本为AAABCCABBBBBBBBBBC,采用前者无法合并,采用后者则可分布合并,最终结果为ABC。
在另一个实施例中,采用一精简与恶意行为无关调用栈的方法对原始样本进行特征选取。本实施例中识别与恶意行为无关的调用栈和系统调用的主要思想是,寻找在不同进程中都广泛出现的调用类型,保留仅在某些恶意RAT进程中出现频率较高的调用类型。
本实施例中精简与恶意行为无关调用栈的方法对原始样本进行特征选取具体包括如下步骤:
步骤S31,计算原始样本中各个进程的API或系统调用的恶意行为关联指数,其中API或系统调用a的恶意行为关联指数采用如下公式计算:
MBIa=log(W/Wa+1)
其中,W为原始样本中的进程总数,Wa为原始样本中所有进程中包含API或系统调用a的个数;
步骤S32,删除原始样本中将恶意行为关联指数小于预定阈值的API或系统调用。
本实施例中该预定阈值的取值范围为(0,1],进一步优选为0.1。
从恶意行为关联指数的计算公式可以得出,恶意行为关联指数越高,证明这个API或系统调用在进程中出现的次数越稀有,在特定类别进程中出现的概率越高,即对区分进程的行为特征更有帮助。
需要说明的是,采用压缩循环重复序列服务端对原始样本进行特征选取和精简与恶意行为无关调用栈的方法对原始样本进行特征选取的方法可以配合使用,能够达到更好的特征提取效果。在此基础上,优选先采用精简与恶意行为无关调用栈的方法对原始样本进行特征选取,然后再采用压缩循环重复序列服务端对原始样本进行特征选取。
S203,服务端对各个经过特征选取的原始样本进行序列化处理得到相应进程的行为特征向量;
近年来,有大量工作旨在基于进程日志或事件序列对进程的行为加以分析,其中包括许多深度学习领域的方法,如LSTM和Doc2vec等。
本实施例中由此进行拓展,将自然语言处理中的多种文本分析算法加以改进,用于分析进程日志序列解析进程行为特征。本实施例中服务端将经过特征提取的原始样本进行序列化处理得到进程行为特征向量具体如下:
本实施例中运用深度神经网络将进程日志序列看做长文本,利用n-gram模型对经过特征提取的原始样本进行序列话处理得到代表进程行为特征的向量(及行为特征向量)。
需要说明的是,可以用深度学习模型Doc2vec分析进程日志序列,获取进程的行为特征向量。事实上,此处的序列特征提取模型Doc2vec可以换为其他相关的特征提取模型,如SBERT或Sent2vec等。Doc2vec保证了输出特征向量维度的一致性,使得后续的检测和分类过程更加简便。
S204,利用所述的非恶意行为的行为特征向量进行孪生网络,包括:
构建孪生网络模型,其包括用于处理输入的两个相似空间映射网络分支;
将所述行为特征向量进行两两组合形成输入对,将各个输入到该孪生网络模型中进行模型训练,输出所述输入对对应的两个特征嵌入向量,并根据该两个特征嵌入向量计算得到输入对的相似度估计值;
将输入对的相似度估计值和相似度真实值输入到孪生网络损失函数中计算损失,通过梯度反向传播优化孪生网络模型的权重参数矩阵和偏差参数矩阵,直至损失不再下降,得到训练好的孪生网络模型。
所述损失函数是输入对的相似度估计值和相似度真实值的交叉熵。
基于网络孪生网络(Prototypical Network),对该网络的输入部分进行改进,使其能够从传统的图像识别领域转换到进程行为特征识别领域。
如图3所示,孪生网络有两个输入(Input1和Input2),将两个输入样本序列进入两个神经网络(Network1 and Network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。
然后通过Loss的计算,评价两个输入的相似度。对于输出的相似度预测值和相似度真实值计算距离也就是损失函数,损失函数可以是输出和真实值的交叉熵来反应预测和真实值之间差别,这样就可以通过梯度下降在反向传播来更新参数。
孪生网络模型的编码器是权重共享的,得到特征input1和input2之后,可以直接使用cosine距离、欧式距离得到两个进程的相似度,然后通过梯度反向传播来优化模型参数,直至其能达到较好的进程区分准确率。
然后在检测给定的待检测样本时,神经网络可以将该样本与测试集中的样本配对并且选择出最有可能和测试集同类别的样本,因此我们需要的神经网络模型的输入是两个不同进程的API序列数据,然后输出它们之间属于同一类别的可能性。
S205,利用训练得到的孪生网络对待检测行为进程进行恶意行为进程识别,以得到所述待检测行为进程的标签。
所述利用训练得到的孪生网络对待检测行为进程的行为特征向量进行恶意行为进程识别包括:
针对每一类进程,利用所述训练得到的孪生网络确定该类进程的行为特征向量被孪生网络映射后的特征嵌入向量,并利用中心函数对所述每一类进程的特征嵌入向量进行加和平均得到各类的平均映射中心;
将待检测行为进程的行为特征向量输入到所述训练得到的孪生网络得到映射后的特征嵌入向量;
计算待检测行为进程的特征嵌入向量和各个平均映射中心的相似度,并将所述的相似度估计值与预设的相似度阈值进行比较,若大于预设值,则将平均映射中心对应的标签作为待检测行为进程的标签。
在具体实施时,为了保证识别的准确率,所述的相似度阈值可以根据实际应用场景调整。调整可以依据经验值设置,也可以通过算法进行调优,通过算法调优时,所述方法还包括将所述行为特征向量分为训练集和验证集,所述训练集中的行为特征向量用于进行孪生网络训练,所述验证集中的行为特征向量用于确定所述预设的相似度阈值。
所述确定所述预设的相似度阈值包括:
将所述验证集中的行为特征向量输入两两组合形成输入对,并将各个输入到训练得到的孪生网络得到相似度估计值;
设定相似度阈值的初始值,并根据相似度阈值的初始值确定各个输入对的标签是否相同,若所述输入对的标签的正确率不满足预设条件,则调整相似度阈值直至满足预设条件,并确定满足所述预设条件的相似度阈值作预设的相似度阈值。
本发明通过训练过程得到了能够很好的将进程行为进行相似度区分的模型,同一类进程被模型映射到了相近的区域,而不同的行为则被映射为距离较远的空间位置中,然后将每一类进程中的所有数据被模型映射后的位置利用中心函数做加和平均,得到各类的平均映射中心。对于新来的待检测的进程数据,其被模型做映射后得到的位置为S,会将S与所有的进程中心P做相似度衡量,并将其归属到正确的类别中,以判断新的进程是否为RAT进程中的某一类恶意行为(即PHF),或者将其判断为是benign进程。通过将孪生网络引入到了RAT恶意进程的识别过程中,我们关注的不再是恶意进程每个恶意行为的独有特征,而侧重于就将恶意进程和操作系统中的benign进程进行区分,通过对比不同类别进程的相似度来区分恶意与良性进程。本发明的识别方法关注恶意进程与benign进程的差别对比,孪生网络能够衡量两个输入的相似程度,进而判断其是否为同一所属类别,这样做能使得我们更大限度的提高数据的利用率,使得我们能够在更少RAT信息的情况下做到高准确率的恶意进程识别。
需要说明,本发明的识别方法中待检测样本可能有多个标签。
每一类样本的平均映射中心不变可以求取一次后系统保留。由于在实际应用过程中,RAT的种类和数据在不断增加,可以设定一定的条件,定期更新每个类别的样本,进而完成模型更新,以保证识别结果的准确性。
需要说明,本发明的识别方法中每一类样本的平均映射中心不变可以求取一次后系统保留。由于数据在不断增加,设定一定的条件,定期更新每个类别的样本,进而完成模型更新,以保证识别结果的准确性。
此外,本发明在本发明公开的示例性实施例中,还公开了一种基于孪生网络的恶意进程识别装置,如图4所示,该装置包括:
第一模块,用于获取反映客户端的进程行为的序列化日志作为原始样本,并以各个进程行为类型作为原始样本添加的标签,所述反映客户端的进程行为的序列化日志包括该进程运行过程中的API或系统调用的日志;所述进程行为包括非恶意进程行为和不同类型的恶意进程行为;
第二模块,用于对各个原始样本进行序列化处理得到相应进程的行为特征向量;
第三模块,用于利用所述行为特征向量进行孪生网络训练;
第四模块,用于利用训练得到的孪生网络对待检测行为进程进行恶意行为进程识别,以得到所述待检测行为进程的标签。
其中,所述第二模块采用压缩循环重复序列服务端对原始样本进行特征选取;或,
采用精简与恶意行为无关调用栈的方法对原始样本进行特征选取。
本实施例的恶意进程检测装置中第一模块主要实现数据采集功能,安装在客户端,其余模块无特殊要求,既可以在客户端也可以在服务器端。
上述中恶意进程检测装置各模块的具体细节已经在对应的联邦贡献度计算方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了恶意进程检测装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本发明公开的示例性实施例中,还提供了一种能够实现上述恶意进程识别方法的电子设备,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述的恶意进程识别方法。
此外,在本发明公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的恶意进程识别方法。
应当理解,本实施例的计算机设备包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的程序或者从存储部分加载到随机访问存储器1003中的程序而执行各种适当的动作和处理。在RAM中,还存储有系统1000操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的终端中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
以上具体示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种基于孪生网络的恶意进程识别方法,其特征在于,所述方法包括:
获取反映客户端的进程行为的序列化日志作为原始样本,并以各个进程行为类型作为原始样本添加的标签,所述反映客户端的进程行为的序列化日志包括该进程运行过程中的API或系统调用的日志;所述进程行为包括非恶意进程行为和不同类型的恶意进程行为;
对各个原始样本进行序列化处理得到相应进程的行为特征向量;
利用所述行为特征向量进行孪生网络训练;
利用训练得到的孪生网络对待检测行为进程进行恶意行为进程识别,以得到所述待检测行为进程的标签。
2.如权利要求1所述的基于孪生网络的恶意进程识别方法,其特征在于,对各个原始样本进行序列化处理得到相应进程的行为特征向量包括:
用精简与恶意行为无关调用栈的方法和/或压缩循环重复序列的方法对各个原始样本进行特征选取以去除冗余特征;
对各个经过特征选取的原始样本进行序列化处理得到相应进程的行为特征向量。
3.如权利要求1或2所述的基于孪生网络的恶意进程识别方法,其特征在于,所述利用所述行为特征向量进行孪生网络训练包括:
构建孪生网络模型,其包括用于处理输入的两个相似空间映射网络分支;
将所述行为特征向量进行两两组合形成输入对,将各个输入到该孪生网络模型中进行模型训练,输出所述输入对对应的两个特征嵌入向量,并根据该两个特征嵌入向量计算得到输入对的相似度估计值;
将输入对的相似度估计值和相似度真实值输入到孪生网络损失函数中计算损失,通过梯度反向传播优化孪生网络模型的权重参数矩阵和偏差参数矩阵,直至损失不再下降,得到训练好的孪生网络模型。
4.如权利要求3所述的基于孪生网络的恶意进程识别方法,其特征在于,所述损失函数是输入对的相似度估计值和相似度真实值的交叉熵。
5.如权利要求3所述的基于孪生网络的恶意进程识别方法,其特征在于,所述利用训练得到的孪生网络对待检测行为进程的行为特征向量进行恶意行为进程识别包括:
针对每一类进程,利用所述训练得到的孪生网络确定该类进程的行为特征向量被孪生网络映射后的特征嵌入向量,并利用中心函数对所述每一类进程的特征嵌入向量进行加和平均得到各类的平均映射中心;
将待检测行为进程的行为特征向量输入到所述训练得到的孪生网络得到映射后的特征嵌入向量;
计算待检测行为进程的特征嵌入向量和各个平均映射中心的相似度,并将所述的相似度估计值与预设的相似度阈值进行比较,若大于预设值,则将平均映射中心对应的标签作为待检测行为进程的标签。
6.如权利要求5所述的基于孪生网络的恶意进程识别方法,其特征在于,所述方法还包括将所述行为特征向量分为训练集和验证集,所述训练集中的行为特征向量用于进行孪生网络训练,所述验证集中的行为特征向量用于确定所述预设的相似度阈值。
7.如权利要求6所述的基于孪生网络的恶意进程识别方法,其特征在于,所述确定所述预设的相似度阈值包括:
将所述验证集中的行为特征向量输入两两组合形成输入对,并将各个输入到训练得到的孪生网络得到相似度估计值;
设定相似度阈值的初始值,并根据相似度阈值的初始值确定各个输入对的标签是否相同,若所述输入对的标签的正确率不满足预设条件,则调整相似度阈值直至满足预设条件,并确定满足所述预设条件的相似度阈值作预设的相似度阈值。
8.一种基于孪生网络的恶意进程识别装置,其特征在于,包括:
第一模块,用于获取反映客户端的进程行为的序列化日志作为原始样本,并以各个进程行为类型作为原始样本添加的标签,所述反映客户端的进程行为的序列化日志包括该进程运行过程中的API或系统调用的日志;所述进程行为包括非恶意进程行为和不同类型的恶意进程行为;
第二模块,用于对各个原始样本进行序列化处理得到相应进程的行为特征向量;
第三模块,用于利用所述行为特征向量进行孪生网络训练;
第四模块,用于利用训练得到的孪生网络对待检测行为进程进行恶意行为进程识别,以得到所述待检测行为进程的标签。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至7中任一项所述的恶意进程识别方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的恶意进程识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111020311.0A CN113886821A (zh) | 2021-09-01 | 2021-09-01 | 基于孪生网络的恶意进程识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111020311.0A CN113886821A (zh) | 2021-09-01 | 2021-09-01 | 基于孪生网络的恶意进程识别方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886821A true CN113886821A (zh) | 2022-01-04 |
Family
ID=79011575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111020311.0A Pending CN113886821A (zh) | 2021-09-01 | 2021-09-01 | 基于孪生网络的恶意进程识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886821A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492768A (zh) * | 2022-04-06 | 2022-05-13 | 南京众智维信息科技有限公司 | 一种基于小样本学习的孪生胶囊网络入侵检测方法 |
CN115242487A (zh) * | 2022-07-19 | 2022-10-25 | 浙江工业大学 | 一种基于元行为的apt攻击样本增强及检测方法 |
-
2021
- 2021-09-01 CN CN202111020311.0A patent/CN113886821A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492768A (zh) * | 2022-04-06 | 2022-05-13 | 南京众智维信息科技有限公司 | 一种基于小样本学习的孪生胶囊网络入侵检测方法 |
CN114492768B (zh) * | 2022-04-06 | 2022-07-15 | 南京众智维信息科技有限公司 | 一种基于小样本学习的孪生胶囊网络入侵检测方法 |
CN115242487A (zh) * | 2022-07-19 | 2022-10-25 | 浙江工业大学 | 一种基于元行为的apt攻击样本增强及检测方法 |
CN115242487B (zh) * | 2022-07-19 | 2024-04-05 | 浙江工业大学 | 一种基于元行为的apt攻击样本增强及检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241418B (zh) | 基于随机森林的异常用户识别方法及装置、设备、介质 | |
WO2022095352A1 (zh) | 基于智能决策的异常用户识别方法、装置及计算机设备 | |
CN111612041A (zh) | 异常用户识别方法及装置、存储介质、电子设备 | |
CN111526119B (zh) | 异常流量检测方法、装置、电子设备和计算机可读介质 | |
CN110162970A (zh) | 一种程序处理方法、装置以及相关设备 | |
CN113011889B (zh) | 账号异常识别方法、系统、装置、设备及介质 | |
CN110348471B (zh) | 异常对象识别方法、装置、介质及电子设备 | |
CN111145779B (zh) | 一种音频文件的目标检测方法及相关设备 | |
CN110855648A (zh) | 一种网络攻击的预警控制方法及装置 | |
CN113886821A (zh) | 基于孪生网络的恶意进程识别方法、装置、电子设备及存储介质 | |
KR102359090B1 (ko) | 실시간 기업정보시스템 이상행위 탐지 서비스를 제공하는 방법과 시스템 | |
CN117240632A (zh) | 一种基于知识图谱的攻击检测方法和系统 | |
CN113315851A (zh) | 域名检测方法、装置及存储介质 | |
CN115759748A (zh) | 风险检测模型生成方法和装置、风险个体识别方法和装置 | |
KR102352954B1 (ko) | 예측 자동 회귀 기반 실시간 기업정보시스템 사용자 이상행위 탐지 시스템 및 방법 | |
CN113312619B (zh) | 基于小样本学习的恶意进程检测方法、装置、电子设备及存储介质 | |
CN113656391A (zh) | 数据检测方法及装置、存储介质及电子设备 | |
CN112989295A (zh) | 用户识别的方法和装置 | |
CN114338187B (zh) | 基于决策树的终端安全检测方法及装置 | |
CN117370548A (zh) | 用户行为风险识别方法、装置、电子设备及介质 | |
CN114925365A (zh) | 一种文件处理方法、装置、电子设备及存储介质 | |
CN114330987A (zh) | 电力监控系统运维行为分析方法、装置及计算机设备 | |
CN113627514A (zh) | 知识图谱的数据处理方法、装置、电子设备和存储介质 | |
CN112417007A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN112597498A (zh) | 一种webshell的检测方法、系统、装置及可读存储介质 |
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 |