CN113282927B - 恶意代码检测方法、装置、设备及计算机可读存储介质 - Google Patents
恶意代码检测方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113282927B CN113282927B CN202110605584.5A CN202110605584A CN113282927B CN 113282927 B CN113282927 B CN 113282927B CN 202110605584 A CN202110605584 A CN 202110605584A CN 113282927 B CN113282927 B CN 113282927B
- Authority
- CN
- China
- Prior art keywords
- graph
- malicious code
- node
- code detection
- neural 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
- 238000001514 detection method Methods 0.000 title claims abstract description 98
- 239000013598 vector Substances 0.000 claims abstract description 131
- 238000000547 structure data Methods 0.000 claims abstract description 82
- 238000013528 artificial neural network Methods 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 45
- 238000005096 rolling process Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims 1
- 239000010410 layer Substances 0.000 description 58
- 238000013527 convolutional neural network Methods 0.000 description 14
- 239000011159 matrix material Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及智能决策和区块链技术领域,提供一种恶意代码检测方法、装置、设备及计算机可读存储介质,包括:获取样本数据,对预设的图卷积神经网络进行参数初始化;将样本数据输入至输入层,得到每个图节点的第一特征向量;将每个图节点的第一特征向量输入至隐藏层,得到每个图节点的第二特征向量;将每个图节点的第二特征向量输入至输出层,得到每个图节点的标签向量;根据每个图节点的第二特征向量和标签向量,调整图卷积神经网络的模型参数至图卷积神经网络收敛,得到恶意代码检测模型;获取待检测程序的目标系统信息,并基于目标系统信息,生成目标图结构数据;将目标图结构数据输入至恶意代码检测模型,得到待检测程序的恶意代码检测结果。
Description
技术领域
本申请涉及智能决策技术领域,尤其涉及一种恶意代码检测方法、装置、设备及计算机可读存储介质。
背景技术
随着互联网的快速发展,信息安全凸显的越来越重要,同时,恶意软件也呈现增长的态势,俨然成为威胁互联网安全的主要因素。传统的恶意代码检测技术主要依赖专业的研究人员进行恶意代码进行分析,定制恶意代码检测的规则,这样导致恶意代码的检测范围有限,只能检测到已知的恶意特征信息。面对日益变化的恶意代码,人工成本陡增,机器学习算法不断引入恶意代码检测的过程中,定制特征提取方式,从而转化为对应领域问题,利用有监督的方式进行训练,需要标注大量的恶意样本信息,标注数量越多识别效果越好,而现实应用环境中,能够进行有效标注的恶意代码数量较少,从而导致能够覆盖的恶意代码家族比较有限。因此,如何准确且快速的检测系统信息中是否存在恶意代码是目前亟待解决的问题。
发明内容
本申请的主要目的在于提供一种恶意代码检测方法、装置、设备及计算机可读存储介质,旨在提高检测恶意代码的准确性和效率。
第一方面,本申请提供一种恶意代码检测方法,包括:
获取样本数据,所述样本数据包括基于应用程序的系统信息生成的图结构数据;
对预设的图卷积神经网络进行参数初始化,其中,所述图卷积神经网络包括输入层、隐藏层和输出层;
将所述样本数据输入至所述输入层,得到所述图结构数据中的每个图节点的第一特征向量;
将每个图节点的所述第一特征向量输入至所述隐藏层,得到所述图结构数据中的每个图节点的第二特征向量;
将每个图节点的所述第二特征向量输入至所述输出层,得到所述图结构数据中的每个图节点的标签向量;
根据每个图节点的所述第二特征向量和所述标签向量,调整所述图卷积神经网络的模型参数直至所述图卷积神经网络收敛,得到恶意代码检测模型;
获取待检测程序的目标系统信息,并基于所述目标系统信息,生成目标图结构数据;
将所述目标图结构数据输入至所述恶意代码检测模型,得到所述待检测程序的恶意代码检测结果。
第二方面,本申请还提供一种恶意代码检测装置,所述恶意代码检测装置包括:
获取模块,用于获取样本数据,所述样本数据包括基于应用程序的系统信息生成的图结构数据;
参数初始化模块,用于对预设的图卷积神经网络进行参数初始化,其中,所述图卷积神经网络包括输入层、隐藏层和输出层;
生成模块,用于将所述样本数据输入至所述输入层,得到所述图结构数据中的每个图节点的第一特征向量;
所述生成模块,还用于将每个图节点的所述第一特征向量输入至所述隐藏层,得到所述图结构数据中的每个图节点的第二特征向量;
所述生成模块,还用于将每个图节点的所述第二特征向量输入至所述输出层,得到所述图结构数据中的每个图节点的标签向量;
调整模块,用于根据每个图节点的所述第二特征向量和所述标签向量,调整所述图卷积神经网络的模型参数直至所述图卷积神经网络收敛,得到恶意代码检测模型;
所述获取模块,还用于获取待检测程序的目标系统信息;
所述生成模块,还用于基于所述目标系统信息,生成目标图结构数据;
所述生成模块,还用于将所述目标图结构数据输入至所述恶意代码检测模型,得到所述待检测程序的恶意代码检测结果。
第三方面,本申请还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的恶意代码检测方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的恶意代码检测方法的步骤。
本申请提供一种恶意代码检测方法、装置、设备及计算机可读存储介质,本申请通过对预设的图卷积神经网络进行参数初始化,并调整图卷积神经网络的模型参数直至图卷积神经网络收敛,能够得到更加稳定和准确的恶意代码检测模型,通过收敛后的恶意代码检测模型对待检测程序的目标系统信息生成的目标图结构数据进行检测,使得检测结果更加准确,并提高了待检测程序的恶意代码检测的效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种恶意代码检测方法的步骤流程示意图;
图2为本申请实施例提供的一种生成图结构的场景示意图;
图3为图1中的恶意代码检测方法的子步骤流程示意图;
图4为本申请实施例提供的一种恶意代码检测装置的示意性框图;
图5为图4中的恶意代码检测装置的子模块的示意性框图;
图6为本申请实施例提供的一种计算机设备的结构示意性框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种恶意代码检测方法、装置、设备及计算机可读存储介质。其中,该恶意代码检测方法可应用于终端设备中,该终端设备可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请实施例提供的一种恶意代码检测方法的步骤流程示意图。
如图1所示,该恶意代码检测方法包括步骤S101至步骤S108。
步骤S101、获取样本数据,所述样本数据包括基于应用程序的系统信息生成的图结构数据。
其中,应用程序为终端设备上程序,例如,该终端设备为手机,该应用程序可以是设置、日历、相机、图库、微信和天气等等应用程序。
在一实施例中,获取应用程序的系统信息,并确定该系统信息中的进程信息、文件信息和访问关系;基于访问关系,并根据进程信息和文件信息,生成图结构数据。其中,该系统信息可以是系统中的源代码文件。
在一实施例中,获取应用程序的系统信息的方式可以为:获取终端设备的日志,从日志中包括目标应用程序的日志,得到目标日志,并将该目标日志作为目标应用程序的系统信息。通过获取终端设备的日志可以快速的获取到应用程序的系统信息。
在一实施例中,确定该系统信息中的进程信息、文件信息和访问关系的方式可以为:对该系统信息进行解析,得到进程信息、文件信息和访问关系。其中,对系统信息进行解析的方式可以根据实际情况进行确定,本申请实施例对此不做具体限定,例如,该系统信息为源代码,则读取该源代码中的进程标识、文件标识和访问逻辑关系,根据进程标识确定对应的进程信息,根据文件标识确定文件信息,以及根据访问逻辑关系确定访问关系。通过对系统信息进行解析可以准确的确定进程信息、文件信息和访问关系。
在一实施例中,基于访问关系,并根据进程信息和文件信息,生成图结构数据的方式可以为:根据访问关系确定每个进程信息的访问对象、被访问对象以及访问对象的依赖关系,同理根据访问关系确定每个文件信息的访问对象、被访问对象以及访问对象的依赖关系,根据每个进程信息的访问对象、被访问对象以及访问对象的依赖关系,以及每个文件信息的访问对象、被访问对象以及访问对象的依赖关系构建图结构,并根据图结构生成图结构数据。
示例性的,如图2所示,系统信息包括进程信息1、进程信息2、文件信息1和文件信息2,访问关系包括信息读取和信息修改,进程信息1读取文件信息1的数据,进程信息1修改文件信息2的数据,进程信息1读取进程信息2的数据,进程信息2读取文件信息2的数据。其中,在图结构中信息读取的数据传输方向是被读取信息者指向读取信息者,信息修改是的数据传输方向是读取信息者指向被读取信息者。根据上述信息可以确定如图2所示的文件信息1指向进程信息1的依赖关系,进程信息1指向文件信息1的依赖关系,文件信息2指向进程信息2的依赖关系,进程信息2指向进程信息1的依赖关系,以每个进行信息和文件信息作为节点,依赖关系作为方向,能够构建成如图2所示的图结构。
在一实施例中,根据图结构生成图结构数据的方式可以为:根据图结构数据确每个节点的重要性和节点方向,对每个节点重要性和节点方向进行聚合,得到每个节点的节点特征,根据所有的节点特征,得到图结构数据。通过确定节点的重要性和节点方向,并节点的重要性和节点方向进行聚合可以准确的得到节点特征,根据每个节点特征可以得到图结构数据。
在一实施例中,根据图结构数据确每个节点的重要性的方式可以为:获取预设重要性公式,其中,该预设重要性公式为 pi为节点i的重要性,c为衰减因子,dj为相关节点j的出度,A为邻接矩阵,pj为相关节点j的重要性,n为节点数量,基于在预设重要性公式,并根据节点数量、邻接矩阵、衰减因子、相关节点j的出度和相关节点j的重要性,生成每个节点的重要性。其中衰减因子是根据实际情况进行设置的参数,本申请实施例对此不做具体限定。通过该预设重要性公式可以准确的确定每个节点的重要性。在另一实施例中,当确定图结构中的节点不存在依赖关系,则该节点的重要性为0。
步骤S102、对预设的图卷积神经网络进行参数初始化,其中,所述图卷积神经网络包括输入层、隐藏层和输出层。
其中,预设的图卷积神经网络可以是半监督图卷积神经网络、自监督图卷积神经网络和图循环卷积神经网络,本申请实施例对此不做具体限定。
在一实施例中,图卷积神经网络包括输入层、隐藏层和输出层,该输入层包括第一预设数量的图卷积神经网络,隐藏层包括第二预设数量的图卷积神经网络,输出层包括第三预设数量的图卷积神经网络,其中,该第一预设数量、第二预设数量和第三预设数量可以根据实际情况进行设置,例如,第一预设数量为2、第二预设数量为3和第三预设数量为1,当图卷积神经网络为半监督的图卷积神经网络时,则输入层为双层半监督图卷积神经网络,隐藏层为三层半监督图卷积神经网络,输出层为单层半监督图卷积神经网络。
在一实施例中,输入层可以根据输入的样本数据输出对应的图结构数据中的每个图节点的第一特征向量,隐藏层可以根据输入的每个图节点的所述第一特征向量输出图结构数据中的每个图节点的第二特征向量,输出层可以根据输入的每个图节点的所述第二特征向量输出图结构数据中的每个图节点的标签向量。
步骤S103、将所述样本数据输入至所述输入层,得到所述图结构数据中的每个图节点的第一特征向量。
将样本数据中的图结构数据输入至输入层,对图结构数据中的每个节点进行编码,得到图结构数据中每个节点的第一特征向量。其中,将个节点进行编码转化为第一特征向量的方式可以根据实际情况进行选择,本申请对此不做具体限定。通过输入层可以准确的得到图结构数据中每个节点的第一特征向量。
需要说明的是,将样本数据中的图结构数据转化为图结构数据中的每个图节点的第一特征向量可以是在输入层进行转化,也可以是设置在输入层之外进行向量转化。通过灵活的设置图结构数据的转化方式,可以提高样本数据生成第一特征向量的效率。
步骤S104、将每个图节点的所述第一特征向量输入至所述隐藏层,得到所述图结构数据中的每个图节点的第二特征向量。
将每个图节点的第一特征向量输入至隐藏层,得到图结构数据中每个图节点点第二特征向量。具体地,获取预设卷积特征公式,其中,预设卷积特征公式为
Y为第二特征向量,A表示邻接矩阵,/>In为阶数为n的单位矩阵,/>为/>的转置,X为节点的第一特征向量,W为权重矩阵,基于该预设卷积特征公式,并根据邻接矩阵、n的单位矩阵、节点的第一特征向量和权重矩阵,得到每个节点的第二特征向量。根据该预设卷积特征、邻接矩阵、第一特征向量和权重矩阵可以准确的得到图结构数据中的每个图节点的第二特征向量。
步骤S105、将每个图节点的所述第二特征向量输入至所述输出层,得到所述图结构数据中的每个图节点的标签向量。
将每个节点的第二特征向量输入至输出层,得到图结构数据中的每个图节点的标签向量。具体地,获取预设标签公式,其中,该预设标签公式为Zi=argmaxj(Yi,j),Yi,j为每个节点的第二特征向量,Zi为每个节点的标签向量,基于该预设标签公式,并根据每个节点的第二特征向量,生成每个节点的标签向量。根据该预设标签公式和每个节点的第二特征向量,可以准确的确定图结构数据中的每个图节点的标签向量。
步骤S106、根据每个图节点的所述第二特征向量和所述标签向量,调整所述图卷积神经网络的模型参数直至所述图卷积神经网络收敛,得到恶意代码检测模型。
其中,该恶意代码检测模型为图卷积神经网络收敛后的神经网络模型,该恶意代码检测模块可以为半监督图卷积神经网络、自监督图卷积神经网络和图循环卷积神经网络,本申请实施例对此不做具体限定。
在一实施例中,如图3所示,步骤S106包括子步骤S1061至子步骤S1063。
子步骤S1061、根据所述每个图节点的所述第二特征向量和所述标签向量,确定图卷积神经网络的目标损失值。
在一实施例中,根据每个图节点的第二特征向量和标签向量,确定第一损失值;获取每个图节点标签的权重参数,并根据每个图节点标签的权重参数,确定第二损失值;对第一损失值和第二损失值进行加法运算,得到所述目标损失值。通过确定第一损失值和第二损失值,并根据第一损失值和第二损失值可以确定目标损失值。
在一实施例中,根据每个图节点的第二特征向量和标签向量,确定第一损失值的方式可以为:对每个图节点的第二特征向量和对应的标签向量进行乘法运算,得到每个图节点的第三损失值;将每个图节点的第三损失值进行累加,得到所述第一损失值。
在一实施例中,根据每个图节点标签的权重参数,确定第二损失值的方式可以为:确定每个图节点标签的权重参数的范数,得到多个第四损失值;对多个第四损失值进行累加,得到所述第二损失值。通过每个图节点标签的权重参数确定第二损失值,并通过第二损失值确定目标损失值,提高了模型损失值计算的准确性。
在一实施例中,获取预设损失值公式,其中,该预设损失值公式为
Floss为训练集,l为类别个数,Zi,j为训练集中节点i的标签的的第j个值的标签向量,Yij为节点i的标签向量的第j个值的第二特征向量,η为衰减因子,/>为权重矩阵,本模型是检测代码是否为恶意代码,因此有是恶意代码和非恶意代码两种情况,类别个数l为2,衰减因子η为根据实际情况进行设置,本申请对不做具体限定。基于该预设损失值公式,并根据训练集中每个节点的标签向量和第二特征向量,得到目标损失值。通过预设损失值公式和训练集中每个节点的标签向量和第二特征向量,可以快速的确定目标损失值。
子步骤S1062、根据所述目标损失值确定所述图卷积神经网络是否收敛。
确定目标损失值是否小于预设阈值;若确定目标损失值小于预设阈值,则确定图卷积神经网络已收敛;若确定目标损失值大于或等于预设阈值,则确定图卷积神经网络未收敛。其中,预设阈值可以根据实际情况进行设置,本申请实施例对此不做具体限定。
子步骤S1063、若所述图卷积神经网络未收敛,则继续输入样本数据进行图卷积神经网络训练直至所述图卷积神经网络收敛,得到所述恶意代码检测模型。
若图卷积神经网络未收敛,则图卷积神经网络需要继续进行训练,从而保证图卷积神经网络生成的恶意代码检测模型的检测的准确性。继续获取样本数据,并执行步骤S102至步骤S105进行参数初始化,调整图卷积神经网络的模型参数直至图卷积神经网络收敛,得到恶意代码检测模型。
步骤S107、获取待检测程序的目标系统信息,并基于所述目标系统信息,生成目标图结构数据。
在得到恶意代码检测模型之后,获取待检测程序的目标系统信息,根据目标系统信息,确定进程信息、文件信息和访问关系;基于访问关系,对进程信息和文件信息进行图结构构建,生成目标图结构数据。
具体地,对目标系统信息进行解析,得到进程信息、文件信息和访问关系,根据访问关系确定每个进程信息的访问对象、被访问对象以及访问对象的依赖关系,同理根据访问关系确定每个文件信息的访问对象、被访问对象以及访问对象的依赖关系,根据每个进程信息的访问对象、被访问对象以及访问对象的依赖关系,以及每个文件信息的访问对象、被访问对象以及访问对象的依赖关系构建图结构,并根据图结构生成目标图结构数据。
步骤S108、将所述目标图结构数据输入至所述恶意代码检测模型,得到所述待检测程序的恶意代码检测结果。
将目标图结构数据输入至恶意代码检测模型,得到每个图节点的标签向量,获取预设标签向量与恶意代码检测结果之间的映射关系表,根据每个图节点的标签向量和映射关系表,得到待检测程序的恶意代码检测结果。其中,该预设标签向量与恶意代码检测结果之间的映射关系表是预先根据标签向量与恶意代码检测结果建立的。根据每个图节点的标签向量通过该映射关系表可以准确的确定恶意代码检测结果。
示例性的,恶意代码检测模型输出节点1、节点2、节点3、节点4和节点5的标签向量,其中,节点1对应的是第一标签向量、节点2对应的是第二标签向量、节点3对应的是第一标签向量、节点4对应的是第二标签向量和节点5对应的是第一标签向量,根据每个节点的标签向量对应的映射关系表中的检测结果,第一标签向量对应的非恶意代码,第二标签向量对应的是恶意代码,因此,节点1、节点3和节点5是非恶意代码,节点2和节点4是恶意代码。
上述实施例提供的恶意代码检测方法,通过获取样本数据,样本数据包括基于应用程序的系统信息生成的图结构数据,系统信息包括进程信息、文件信息和访问关系;对预设的图卷积神经网络进行参数初始化,其中,图卷积神经网络包括输入层、隐藏层和输出层;将样本数据输入至所述输入层,得到图结构数据中的每个图节点的第一特征向量;将每个图节点的第一特征向量输入至所述隐藏层,得到图结构数据中的每个图节点的第二特征向量;将每个图节点的第二特征向量输入至所述输出层,得到图结构数据中的每个图节点的标签向量;根据每个图节点的所述第二特征向量和标签向量,调整图卷积神经网络的模型参数直至图卷积神经网络收敛,得到恶意代码检测模型;获取待检测程序的目标系统信息,并基于目标系统信息,生成目标图结构数据;将目标图结构数据输入至恶意代码检测模型,得到待检测程序的恶意代码检测结果。通过对预设的图卷积神经网络进行参数初始化,并调整图卷积神经网络的模型参数直至图卷积神经网络收敛,能够得到更加稳定和准确的恶意代码检测模型,通过收敛后的恶意代码检测模型对待检测程序的目标系统信息生成的目标图结构数据进行检测,使得检测结果更加准确,并提高了待检测程序的恶意代码检测的效率。
请参阅图4,图4为本申请实施例提供的一种恶意代码检测装置的示意性框图。
如图4所示,恶意代码检测装置200包括获取模块210、参数初始化模块220、生成模块230和调整模块240,其中:
获取模块210,用于获取样本数据,所述样本数据包括基于应用程序的系统信息生成的图结构数据;
参数初始化模块220,用于对预设的图卷积神经网络进行参数初始化,其中,所述图卷积神经网络包括输入层、隐藏层和输出层;
生成模块230,用于将所述样本数据输入至所述输入层,得到所述图结构数据中的每个图节点的第一特征向量;
所述生成模块230,还用于将每个图节点的所述第一特征向量输入至所述隐藏层,得到所述图结构数据中的每个图节点的第二特征向量;
所述生成模块230,还用于将每个图节点的所述第二特征向量输入至所述输出层,得到所述图结构数据中的每个图节点的标签向量;
调整模块240,用于根据每个图节点的所述第二特征向量和所述标签向量,调整所述图卷积神经网络的模型参数直至所述图卷积神经网络收敛,得到恶意代码检测模型;
所述获取模块210,还用于获取待检测程序的目标系统信息;
所述生成模块230,还用于基于所述目标系统信息,生成目标图结构数据;
所述生成模块230,还用于将所述目标图结构数据输入至所述恶意代码检测模型,得到所述待检测程序的恶意代码检测结果。
在一实施例中,如图5所示,所述生成模块230包括第一确定模块231、第二确定模块232和生成子模块233,其中:
第一确定模块231,用于根据所述每个图节点的所述第二特征向量和所述标签向量,确定图卷积神经网络的目标损失值;
第二确定模块232用于根据所述目标损失值确定所述图卷积神经网络是否收敛;
生成子模块233,用于若所述图卷积神经网络未收敛,则继续输入样本数据进行图卷积神经网络训练直至所述图卷积神经网络收敛,得到恶意代码检测模型。
在一实施例中,所述第一确定模块231,还用于:
根据所述每个图节点的所述第二特征向量和所述标签向量,确定第一损失值;
获取每个图节点标签的权重参数,并根据所述每个图节点标签的权重参数,确定第二损失值;
对所述第一损失值和所述第二损失值进行加法运算,得到所述目标损失值。
在一实施例中,所述第一确定模块231,还用于:
对每个图节点的第二特征向量和对应的标签向量进行乘法运算,得到每个图节点的第三损失值;
将每个图节点的第三损失值进行累加,得到所述第一损失值。
在一实施例中,所述第一确定模块231,还用于:
确定所述每个图节点标签的权重参数的范数,得到多个第四损失值;
对多个所述第四损失值进行累加,得到所述第二损失值。
在一实施例中,所述第二确定模块232,还用于:
确定所述目标损失值是否小于预设阈值;
若确定所述目标损失值小于预设阈值,则确定所述图卷积神经网络已收敛;
若确定所述目标损失值大于或等于预设阈值,则确定所述图卷积神经网络未收敛。
在一实施例中,所述生成模块230,还用于:
根据所述目标系统信息,确定进程信息、文件信息和访问关系;
基于所述访问关系,对所述进程信息和文件信息进行图结构构建,生成目标图结构数据。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述恶意代码检测装置的具体工作过程,可以参考前述恶意代码检测方法实施例中的对应过程,在此不再赘述。
请参阅图6,图6为本申请实施例提供的一种计算机设备的结构示意性框图。
如图6所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种恶意代码检测方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种恶意代码检测方法。
该网络接口用于通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,该总线比如为I2C(Inter-integrated Circuit)总线,存储器可以是Flash芯片、只读存储器(ROM,Read-Only Memory)磁盘、光盘、U盘或移动硬盘等,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取样本数据,所述样本数据包括基于应用程序的系统信息生成的图结构数据;
对预设的图卷积神经网络进行参数初始化,其中,所述图卷积神经网络包括输入层、隐藏层和输出层;
将所述样本数据输入至所述输入层,得到所述图结构数据中的每个图节点的第一特征向量;
将每个图节点的所述第一特征向量输入至所述隐藏层,得到所述图结构数据中的每个图节点的第二特征向量;
将每个图节点的所述第二特征向量输入至所述输出层,得到所述图结构数据中的每个图节点的标签向量;
根据每个图节点的所述第二特征向量和所述标签向量,调整所述图卷积神经网络的模型参数直至所述图卷积神经网络收敛,得到恶意代码检测模型;
获取待检测程序的目标系统信息,并基于所述目标系统信息,生成目标图结构数据;
将所述目标图结构数据输入至所述恶意代码检测模型,得到所述待检测程序的恶意代码检测结果。
在一个实施例中,所述处理器在实现所述根据每个图节点的所述第二特征向量和所述标签向量,调整所述图卷积神经网络的模型参数直至所述图卷积神经网络收敛,得到恶意代码检测模型时,用于实现:
根据所述每个图节点的所述第二特征向量和所述标签向量,确定图卷积神经网络的目标损失值;
根据所述目标损失值确定所述图卷积神经网络是否收敛;
若所述图卷积神经网络未收敛,则继续输入样本数据进行图卷积神经网络训练直至所述图卷积神经网络收敛,得到恶意代码检测模型。
在一个实施例中,所述处理器在实现所述根据所述每个图节点的所述第二特征向量和所述标签向量,确定图卷积神经网络的目标损失值时,用于实现:
根据所述每个图节点的所述第二特征向量和所述标签向量,确定第一损失值;
获取每个图节点标签的权重参数,并根据所述每个图节点标签的权重参数,确定第二损失值;
对所述第一损失值和所述第二损失值进行加法运算,得到所述目标损失值。
在一个实施例中,所述处理器在实现所述根据所述每个图节点的所述第二特征向量和所述标签向量,确定第一损失值时,用于实现:
对每个图节点的第二特征向量和对应的标签向量进行乘法运算,得到每个图节点的第三损失值;
将每个图节点的第三损失值进行累加,得到所述第一损失值。
在一个实施例中,所述处理器在实现所述根据所述每个图节点标签的权重参数,确定第二损失值时,用于实现:
确定所述每个图节点标签的权重参数的范数,得到多个第四损失值;
对多个所述第四损失值进行累加,得到所述第二损失值。
在一个实施例中,所述处理器在实现所述根据所述目标损失值确定所述图卷积神经网络是否收敛时,用于实现:
确定所述目标损失值是否小于预设阈值;
若确定所述目标损失值小于预设阈值,则确定所述图卷积神经网络已收敛;
若确定所述目标损失值大于或等于预设阈值,则确定所述图卷积神经网络未收敛。
在一个实施例中,所述处理器在实现所述基于所述目标系统信息,生成目标图结构数据时,用于实现:
根据所述目标系统信息,确定进程信息、文件信息和访问关系;
基于所述访问关系,对所述进程信息和文件信息进行图结构构建,生成目标图结构数据。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述计算机设备的具体工作过程,可以参考前述恶意代码检测方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请恶意代码检测方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种恶意代码检测方法,其特征在于,包括:
获取样本数据,所述样本数据包括基于应用程序的系统信息生成的图结构数据;
对预设的图卷积神经网络进行参数初始化,其中,所述图卷积神经网络包括输入层、隐藏层和输出层;
将所述样本数据输入至所述输入层,得到所述图结构数据中的每个图节点的第一特征向量;
将每个图节点的所述第一特征向量输入至所述隐藏层,得到所述图结构数据中的每个图节点的第二特征向量;
将每个图节点的所述第二特征向量输入至所述输出层,得到所述图结构数据中的每个图节点的标签向量;
对每个图节点的第二特征向量和对应的标签向量进行乘法运算,得到每个图节点的第三损失值;将每个图节点的第三损失值进行累加,得到第一损失值;获取每个图节点标签的权重参数,并确定所述每个图节点标签的权重参数的范数,得到多个第四损失值;对多个所述第四损失值进行累加,得到第二损失值;
对所述第一损失值和所述第二损失值进行加法运算,得到目标损失值;根据所述目标损失值确定所述图卷积神经网络是否收敛;
若所述图卷积神经网络未收敛,则继续输入样本数据进行图卷积神经网络训练直至所述图卷积神经网络收敛,得到恶意代码检测模型;
获取待检测程序的目标系统信息,并基于所述目标系统信息,生成目标图结构数据;
将所述目标图结构数据输入至所述恶意代码检测模型,得到所述待检测程序的恶意代码检测结果。
2.如权利要求1所述的恶意代码检测方法,其特征在于,所述根据所述目标损失值确定所述图卷积神经网络是否收敛,包括:
确定所述目标损失值是否小于预设阈值;
若确定所述目标损失值小于预设阈值,则确定所述图卷积神经网络已收敛;
若确定所述目标损失值大于或等于预设阈值,则确定所述图卷积神经网络未收敛。
3.如权利要求1-2任一项所述的恶意代码检测方法,其特征在于,所述基于所述目标系统信息,生成目标图结构数据,包括:
根据所述目标系统信息,确定进程信息、文件信息和访问关系;
基于所述访问关系,对所述进程信息和文件信息进行图结构构建,生成所述目标图结构数据。
4.一种恶意代码检测装置,其特征在于,所述恶意代码检测装置包括:
获取模块,用于获取样本数据,所述样本数据包括基于应用程序的系统信息生成的图结构数据;
参数初始化模块,用于对预设的图卷积神经网络进行参数初始化,其中,所述图卷积神经网络包括输入层、隐藏层和输出层;
生成模块,用于将所述样本数据输入至所述输入层,得到所述图结构数据中的每个图节点的第一特征向量;
所述生成模块,还用于将每个图节点的所述第一特征向量输入至所述隐藏层,得到所述图结构数据中的每个图节点的第二特征向量;
所述生成模块,还用于将每个图节点的所述第二特征向量输入至所述输出层,得到所述图结构数据中的每个图节点的标签向量;
调整模块,用于对每个图节点的第二特征向量和对应的标签向量进行乘法运算,得到每个图节点的第三损失值;将每个图节点的第三损失值进行累加,得到第一损失值;获取每个图节点标签的权重参数,并确定所述每个图节点标签的权重参数的范数,得到多个第四损失值;对多个所述第四损失值进行累加,得到第二损失值;对所述第一损失值和所述第二损失值进行加法运算,得到目标损失值;根据所述目标损失值确定所述图卷积神经网络是否收敛;若所述图卷积神经网络未收敛,则继续输入样本数据进行图卷积神经网络训练直至所述图卷积神经网络收敛,得到恶意代码检测模型;
所述获取模块,还用于获取待检测程序的目标系统信息;
所述生成模块,还用于基于所述目标系统信息,生成目标图结构数据;
所述生成模块,还用于将所述目标图结构数据输入至所述恶意代码检测模型,得到所述待检测程序的恶意代码检测结果。
5.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至3中任一项所述的恶意代码检测方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至3中任一项所述的恶意代码检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605584.5A CN113282927B (zh) | 2021-05-31 | 2021-05-31 | 恶意代码检测方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605584.5A CN113282927B (zh) | 2021-05-31 | 2021-05-31 | 恶意代码检测方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282927A CN113282927A (zh) | 2021-08-20 |
CN113282927B true CN113282927B (zh) | 2024-02-02 |
Family
ID=77282895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110605584.5A Active CN113282927B (zh) | 2021-05-31 | 2021-05-31 | 恶意代码检测方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282927B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765928B (zh) * | 2021-09-10 | 2023-03-24 | 湖南工商大学 | 物联网入侵检测方法、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784322A (zh) * | 2017-09-30 | 2018-03-09 | 东软集团股份有限公司 | 异常数据检测方法、装置、存储介质以及程序产品 |
CN110704842A (zh) * | 2019-09-27 | 2020-01-17 | 山东理工大学 | 一种恶意代码家族分类检测方法 |
CN111428874A (zh) * | 2020-02-29 | 2020-07-17 | 平安科技(深圳)有限公司 | 风控方法、电子装置及计算机可读存储介质 |
CN111860823A (zh) * | 2019-04-30 | 2020-10-30 | 北京市商汤科技开发有限公司 | 神经网络训练、图像处理方法及装置、设备及存储介质 |
CN112685739A (zh) * | 2020-12-31 | 2021-04-20 | 卓尔智联(武汉)研究院有限公司 | 恶意代码检测方法、数据交互方法及相关设备 |
WO2021087985A1 (zh) * | 2019-11-08 | 2021-05-14 | 深圳市欢太科技有限公司 | 模型训练方法、装置、存储介质及电子设备 |
-
2021
- 2021-05-31 CN CN202110605584.5A patent/CN113282927B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784322A (zh) * | 2017-09-30 | 2018-03-09 | 东软集团股份有限公司 | 异常数据检测方法、装置、存储介质以及程序产品 |
CN111860823A (zh) * | 2019-04-30 | 2020-10-30 | 北京市商汤科技开发有限公司 | 神经网络训练、图像处理方法及装置、设备及存储介质 |
CN110704842A (zh) * | 2019-09-27 | 2020-01-17 | 山东理工大学 | 一种恶意代码家族分类检测方法 |
WO2021087985A1 (zh) * | 2019-11-08 | 2021-05-14 | 深圳市欢太科技有限公司 | 模型训练方法、装置、存储介质及电子设备 |
CN111428874A (zh) * | 2020-02-29 | 2020-07-17 | 平安科技(深圳)有限公司 | 风控方法、电子装置及计算机可读存储介质 |
CN112685739A (zh) * | 2020-12-31 | 2021-04-20 | 卓尔智联(武汉)研究院有限公司 | 恶意代码检测方法、数据交互方法及相关设备 |
Non-Patent Citations (2)
Title |
---|
Jueun Jeon.《 Dynamic Analysis for IoT Malware Detection With Convolution Neural Network Model》.《 IEEE Access》.2020,全文. * |
罗荣辉等.《基于卷积神经网络的道路拥堵识别研究》.《 郑州大学学报(工学版) 》.2018,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113282927A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A semi-supervised convolutional neural network for hyperspectral image classification | |
CN110263152B (zh) | 基于神经网络的文本分类方法、系统及计算机设备 | |
CN109242002A (zh) | 高维数据分类方法、装置及终端设备 | |
CN110602113A (zh) | 一种基于深度学习的层次化钓鱼网站检测方法 | |
CN112131274B (zh) | 时间序列异常点的检测方法、装置、设备及可读存储介质 | |
Friedman | Contrast trees and distribution boosting | |
CN111949550B (zh) | 自动生成测试数据的方法、装置、设备及存储介质 | |
CN117874633B (zh) | 基于深度学习算法的网络数据资产画像生成方法及装置 | |
CN113282927B (zh) | 恶意代码检测方法、装置、设备及计算机可读存储介质 | |
CN116822651A (zh) | 基于增量学习的大模型参数微调方法、装置、设备及介质 | |
CN116663568A (zh) | 基于优先级的关键任务识别系统及其方法 | |
CN116089648A (zh) | 基于人工智能的档案管理系统及方法 | |
CN112470172B (zh) | 使用随机序列嵌入的符号序列分析的计算效率 | |
CN113360300B (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
CN118396930A (zh) | 眼底图像分析方法、系统、终端及计算机可读存储介质 | |
CN113095604A (zh) | 产品数据的融合方法、装置、设备及存储介质 | |
Kim et al. | Goodness-of-fit tests for binomial AR (1) processes | |
WO2020186380A1 (en) | Techniques to forecast future orders using deep learning | |
CN116432608A (zh) | 基于人工智能的文本生成方法、装置、计算机设备及介质 | |
CN113781180B (zh) | 一种物品推荐方法、装置、电子设备及存储介质 | |
CN113688206A (zh) | 基于文本识别的趋势分析方法、装置、设备及介质 | |
Fokianos | Density ratio model selection | |
Zdunek et al. | Distributed geometric nonnegative matrix factorization and hierarchical alternating least squares–based nonnegative tensor factorization with the MapReduce paradigm | |
CN118013377B (zh) | 森林智慧管理方法以及相关装置 | |
CN113837183B (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 |