CN117034273A - 基于图卷积网络的安卓恶意软件检测方法及系统 - Google Patents
基于图卷积网络的安卓恶意软件检测方法及系统 Download PDFInfo
- Publication number
- CN117034273A CN117034273A CN202311090888.8A CN202311090888A CN117034273A CN 117034273 A CN117034273 A CN 117034273A CN 202311090888 A CN202311090888 A CN 202311090888A CN 117034273 A CN117034273 A CN 117034273A
- Authority
- CN
- China
- Prior art keywords
- api
- graph
- call graph
- api call
- nodes
- 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
- 238000005096 rolling process Methods 0.000 title claims description 14
- 239000011159 matrix material Substances 0.000 claims abstract description 68
- 238000001514 detection method Methods 0.000 claims abstract description 36
- 238000013507 mapping Methods 0.000 claims abstract description 11
- 230000006872 improvement Effects 0.000 claims abstract description 8
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 169
- 230000006399 behavior Effects 0.000 claims description 34
- 239000013598 vector Substances 0.000 claims description 10
- 238000005206 flow analysis Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 2
- 230000003542 behavioural effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012800 visualization 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
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
-
- 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)
- Computer Security & Cryptography (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出了基于图卷积网络的安卓恶意软件检测方法及系统,从Classes.dex文件中提取API调用图、操作码和敏感权限,基于API调用图与敏感权限特征的映射关系,得到敏感权限API,以所述敏感权限API作为所述API调用图的中心节点,生成简化后的API调用图;将简化后的API调用图基于节点的调用关系,生成邻接矩阵;将简化后的API调用图与操作码、第三方库的API、敏感权限相结合,得到行为特征矩阵;将邻接矩阵与行为特征矩阵输入到基于GCN改进的检测模型中,得到检测结果。充分利用了API的语义信息,在减少了复杂度的同时提高了检测精度。
Description
技术领域
本发明属于软件检测技术领域,尤其涉及基于图卷积网络的安卓恶意软件检测方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
Android恶意软件检测的现有分析技术分为两类:动态和静态。动态技术能够反映应用程序的运行时行为,从而为恶意软件检测提供重要线索。然而,提取动态功能需要监控应用程序的执行,这会导致开销和不便。相反,静态特征不需要执行应用程序。它们只能通过分析应用程序安装文件,即Android应用程序包APK来获得。在现有研究中,权限要求、意图操作和函数调用即API调用通常被用作恶意软件检测的静态特征。然而,这些静态特征无法准确描述应用程序的运行时行为,且单一特征容易受到混淆技术的干扰,影响检测效果。
此外,传统的机器学习算法和深度学习方法在处理图像结构上存在一些局限性。它们往往难以直接处理图像中的空间结构和像素关联性,由于图像数据的高维度特征表示,维度灾难和计算复杂性增加的问题也会影响它们的性能。因此,传统机器学习和深度学习方法在处理图像结构方面面临挑战,需要进一步改进来充分利用图像数据特点。
综上,如何充分利用软件运行的行为信息来提高软件检测的准确性是本领域技术人员需要解决的问题。
发明内容
为克服上述现有技术的不足,本发明提供了一种基于图卷积网络的安卓恶意软件检测方法及系统,通过API调用图、操作码和敏感权限特征相融合,得到行为级特征图,将所得到的行为级特征图基于软件检测模型进行分类检测,充分利用了API的语义信息,在减少了复杂度的同时提高了检测精度。
为实现上述目的,本发明的第一个方面提供一种基于图卷积网络的安卓恶意软件检测方法,包括:
对APK文件进行反编译生成Classes.dex文件,从Classes.dex文件中提取API调用图、操作码和敏感权限;
基于API调用图与敏感权限的映射关系,得到敏感权限API,以敏感权限API作为API调用图的中心节点,对API调用图进行简化;
将简化后的API调用图基于节点的调用关系,生成邻接矩阵;
将简化后的API调用图与操作码、第三方库的API、敏感权限相结合,得到行为特征矩阵;
将邻接矩阵与行为特征矩阵输入到基于GCN改进的检测模型中,得到检测结果。
本发明的第二个方面提供基于图卷积网络的安卓恶意软件检测系统,包括:
提取模块:对APK文件进行反编译生成Classes.dex文件,从Classes.dex文件中提取API调用图、操作码和敏感权限;
简化模块:基于API调用图与敏感权限的映射关系,得到敏感权限API,以敏感权限API作为API调用图的中心节点,对API调用图进行简化;
第一矩阵模块:将简化后的API调用图基于节点的调用关系,生成邻接矩阵;
第二矩阵模块:将简化后的API调用图与操作码、第三方库的API、敏感权限相结合,得到行为特征矩阵;
检测模块:将邻接矩阵与行为特征矩阵输入到基于GCN改进的检测模型中,得到检测结果。
本发明的第三个方面提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行基于图卷积网络的安卓恶意软件检测方法。
本发明的第四个方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行基于图卷积网络的安卓恶意软件检测方法。
以上一个或多个技术方案存在以下有益效果:
在本发明中,从Classes.dex文件中提取API调用图、操作码和敏感权限,基于API调用图与敏感权限特征的映射关系,得到敏感权限API,以敏感权限API作为API调用图的中心节点,生成精简后的API调用图;将简化后的API调用图基于节点的调用关系,生成邻接矩阵;将简化后的API调用图与第三方库的API、操作码和敏感权限进行结合,生成行为特征矩阵,充分利用了API的语义信息,将得到的邻接矩阵和行为特征矩阵输入到软件检测模型中进行检测,在减少了复杂度的同时提高了检测精度。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例一中安卓恶意代码检测方法的总体流程图;
图2为本发明实施例一中APK文件反汇编后筛选的调用图;
图3为本发明实施例一中得到的API-权限映射图;
图4为本发明实施例一中精简后得到的敏感子图;
图5为本发明实施例一中改进的GCN模型网络结构图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例公开了一种基于图卷积网络的安卓恶意软件检测方法,包括:
步骤1:对APK文件进行反编译生成Classes.dex文件,从Classes.dex文件中提取API调用图、操作码和敏感权限;
步骤2:基于API调用图与敏感权限的映射关系,得到敏感权限API,以敏感权限API作为API调用图的中心节点,对API调用图进行简化;
步骤3:将简化后的API调用图基于节点的调用关系,生成邻接矩阵;将简化后的API调用图与操作码、第三方库的API、敏感权限相结合,得到行为特征矩阵;
步骤4:将邻接矩阵与行为特征矩阵输入到基于GCN改进的检测模型中,得到检测结果。
本实施例的整体构思是:首先利用Androguard工具将APK文件反编译为dex文件,之后分别提取API调用图、操作码和敏感权限,以及补充第三方库的API,使用工具得到API-敏感权限映射,将敏感API权限作为API调用图的中心节点,得到简化的API调用图,将简化的API调用图基于节点的调用关系,生成邻接矩阵,将简化的API调用图与第三方库的API、操作码、敏感权限生成行为特征矩阵,然后邻接矩阵和行为特征矩阵输入到改进的GCN模型中进行分类。
在步骤1中,利用Androguard工具反编译APK文件生成DEX文件,Dex(DalvikExecutable)文件是Android应用的主要执行文件,其中包含了应用的字节码指令,Androguard工具使用DEX文件解析工具提取操作码特征。
如图2所示,在步骤1中,使用提取的DEX文件生成了GML(图模型语言)格式的文件;然后使用NetworkX工具可视化了这个GML文件,在可视化过程中,没有对节点进行任何筛选,直接生成API调用关系图。
在步骤2中,以API调用图的结构作为主结构,找到敏感权限API的调用图节点,以敏感权限API作为API调用图的中心节点对API调用图进行简化。
如图3所示,具体的,使用PSCout工具分析APK文件中的AndroidM anifest.xml文件,其中声明了应用所请求的权限。它从这些声明中提取敏感权限,以及与之相关的权限级别、权限组等信息;接着使用Axplorer工具API-敏感权限映射图,其中,Landroid/accounts/AbstractAccountAuthenticat or$Transport;->addAccount方法被调用必须声明访问android.permission.AC COUNT_MANAGER权限,它允许应用程序访问和管理设备上的账户和身份验证信息,例如添加、删除或修改设备上的账户,或者获取已经授权的账户的相关信息;使用LibRadar工具检测应用中的第三方库(TPLs),以识别属于独立功能模块的API。
将敏感权限的API作为API调用图的中心节点,首先设置跳数保留跳数内的全部邻居节点,然后对这些跳数内的全部节点进行语义信息识别和数据流分析,移除不相关和不关键的节点,达到对精简API调用图的目的。具体规则如下:
(1)对API调用图进行预处理,移除所有与中心API节点即敏感权限的API不连通的节点。
(2)对剩余节点,识别出所有用户自定义的API节点,先全部标记为保留。
(3)对第三方库API,根据库的功能类型建模,区分出关键型API与非关键型库API。
(4)移除没有被任何一个用户自定义API直接调用的第三方库非关键型API。
(5)在用户API之间进行数据流分析,判断用户API之间是否通过参数或全局变量交换了来自中心API节点的数据。
(6)如果数据流分析确定某用户API不可能获得中心API节点的数据,则可以移除这个用户API。
(7)在移除每个非关键节点后,判断剩余图是否还是全连通的,如果变成了不连通的,则需要将该移除的非关键节点重新标记为关键节点保留。
(8)重复第(4)-(7)步,直到不能再移除任何非关键节点为止。
如图4所示为一个调用图的精简过程,其中敏感权限的API节点定义为V_per,用户自定义API节点(V_user),第三方库API节点(V_lib),关键第三方库API节点(V_key),非关键第三方库API节点(V_nonkey)。
在步骤3中,将获得简化后的API调用图,结合操作码、敏感权限以及第三方调用库的API生成行为级特征图。
具体的,首先生成简化后的API调用图中图形结构的邻接矩阵(即API节点id的调用关系),假设经过简化后的API调用图还剩下m个API节点,那么邻接矩阵大小是m×m,对每对API节点i和j,如果存在调用关系,对应矩阵元素设为1,否则为0,最终可以构建出一个m×m的0、1邻接矩阵来表示简化后图的连接关系。
对于行为特征矩阵:对精简后的API调用图G进行遍历,对每个精简后的调用图节点n,统计它包含的操作码集合Ops(n)和次数Freq(op,n),其中op表示单个操作码,Freq(op,n)表示op在节点n中出现的次数。
将所有调用图节点n的(op,Freq(op,n))统计结果汇总,得到(op,Freq(op))作为操作码频次特征向量FV_opcode。
对精简后的API调用图G进行遍历,对每个节点n统计它是否包含敏感权限集合Perms(n)中的权限perm,如果包含则记为1,不包含记为0。将所有节点的统计结果整合,得到长度为敏感权限集大小的0、1向量FV_perms。
用同样的方法,对精简后的API调用图G进行遍历,统计每个节点是否包含第三方库API集合APIs(n)中的api,整合所有节点的统计结果,得到第三方库API特征向量FV_apis。
将上述三个特征向量按顺序拼接,即FV_final=[FV_opcode,FV_perms,FV_apis],形成最终行为特征矩阵。
这样FV_final矩阵融合了调用图节点的操作码频次、敏感权限调用和第三方API调用三方面信息。
步骤4、将步骤2构建的API调用图对应的邻接矩阵A,以及步骤3构造的行为特征矩阵X,分别输入到GCN模型中。其中,邻接矩阵A反映了API之间的调用关系;特征矩阵X融合了每个API节点的操作码、权限、第三方库调用等行为信息。GCN模型通过消息传递在图结构上进行节点嵌入的学习,并在两个矩阵的引导下,获得了整合拓扑结构和节点特征的图表示,以实现对样本行为的有效分类检测。
具体来说,首先根据简化后的API调用图的敏感API调用关系构建邻接矩阵,表示API之间的调用连接关系。然后将步骤3生成的行为特征矩阵与邻接矩阵,获得包含节点特征和结构信息矩阵,作为样本的图级特征表示。接着,将行为特征矩阵与邻接矩阵输入到改进后的GCN模型中,GCN模型通过聚合节点特征信息和利用结构信息进行图卷积操作,从而学习出整体行为级特征。最后,利用行为级特征进行恶意软件和良性软件的分类检测。这样通过结合邻接矩阵和特征矩阵作为GCN的输入,可以充分利用API调用关系和各维特征,从行为级得到更具可区分性的特征表示,提高恶意软件检测的效果。
在步骤4中在原先的GCN模型的基础上,使用ChebConv卷积层,在保留图结构的同时进行有效的特征传播,为了对池化后的特征进行更深入的处理,加入了LSTM和注意力机制,实现了对图数据的分类任务。图卷积神经网络(GCN)具有很强的表示图结构数据的能力。将Android恶意软件检测任务建模为敏感子图上的节点分类问题,并使用改进后的GCN来实现应用程序节点的角色建模和分类过程。
改进后的GCN网络模型总体结构如图5所示,首先调用了三层ChebC onv卷积层,在三层ChebConv每一层中间都使用激活函数和Dropout层即MLP技术来实现非线性转换和正则化,然后接入全局池化即平均池化和最大池化相结合,全局池化后加入简单的LSTM层获得基于权重的LSTM表示,之后经过注意力机制和全连接,最后经过softmax层获得最后的预测类别分数。
本实例使用公开的实验数据集良性应用程序来自加拿大网络安全研究所网站上的开放访问数据集——CICMalDroid数据集和Drebin数据集来对实验进行验证。
为了探究单一的API调用和与操作码和权限相结合的特征在神经网络中的检测性能,将基于API调用、基于API调用与操作码结合、基于API调用与权限结合以及API调用与操作码、权限结合的子图输入到本实施例改进的GCN模型中进行分类训练,探究使用单一特征与特征结合后的分类检测性能是否有区别,实验结果如表1所示。
通过观察表1可知,利用本发明的模型训练,单一特征和两种特征结合的效果各不相同,但是整体效果都不如使用调用图结构与操作码、权限结构构成的子图特征,其精准度可以高达98%,F1-score值也能达到98%。
为了探究本实施例提出的GCN模型的有效性,本实施例与其他的GCN分类检测模型进行了对比,得到的准确率、召回率、精准度和F1值如表2所示,从表中可以看出,与其他分类检测模型相比,本实施例的模型都拥有最高的评估值,所以本实施例提出的GCN模型的性能是高于其他模型的。
模型 | 精确率 | 召回率 | 准确率 | F1分数 |
GraphConv | 0.9593 | 0.9771 | 0.9681 | 0.9735 |
GATConv | 0.9646 | 0.9771 | 0.9759 | 0.9823 |
本实施例模型 | 0.9889 | 0.9805 | 0.9811 | 0.9847 |
实施例二
本实施例的目的是提供基于图卷积网络的安卓恶意软件检测系统,包括:
提取模块:对APK文件进行反编译生成Classes.dex文件,从Classes.dex文件中提取API调用图、操作码和敏感权限;
简化模块:基于API调用图与敏感权限的映射关系,得到敏感权限API,以敏感权限API作为API调用图的中心节点,对API调用图进行简化;
第一矩阵模块:将简化后的API调用图基于节点的调用关系,生成邻接矩阵;
第二矩阵模块:将操作码、第三方库的API、敏感权限相结合,得到行为特征矩阵;
检测模块:将邻接矩阵与行为特征矩阵输入到基于GCN改进的检测模型中,得到检测结果。
实施例三
本实施例的目的是提供一种计算装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
实施例四
本实施例的目的是提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行上述方法的步骤。
以上实施例二、三和四的装置中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.基于图卷积网络的安卓恶意软件检测方法,其特征在于,包括:
对APK文件进行反编译生成Classes.dex文件,从Classes.dex文件中提取API调用图、操作码和敏感权限;
基于API调用图与敏感权限的映射关系,得到敏感权限API,以敏感权限API作为API调用图的中心节点,对API调用图进行简化;
将简化后的API调用图基于节点的调用关系,生成邻接矩阵;
将简化后的API调用图与操作码、第三方库的API、敏感权限相结合,得到行为特征矩阵;
将邻接矩阵与行为特征矩阵输入到基于GCN改进的检测模型中,得到检测结果。
2.如权利要求1所述的基于图卷积网络的安卓恶意软件检测方法,其特征在于,利用Androguard工具对APK文件进行反编译生成Classes.dex文件;利用PSCout工具和Axplorer映射工具对API调用图与敏感权限进行映射分析。
3.如权利要求1所述的基于图卷积网络的安卓恶意软件检测方法,其特征在于,以敏感权限API作为API调用图的中心API节点,对API调用图进行简化,具体为:设置跳数保留跳数内敏感权限API的全部邻居节点,对于所设跳数内的节点进行语义信息识别和数据流分析,移除不相关和不关键的节点,对API调用图进行简化。
4.如权利要求3所述的基于图卷积网络的安卓恶意软件检测方法,其特征在于,对于所设跳数内的节点进行语义信息识别和数据流分析,移除不相关和不关键的节点,对API调用图进行简化,具体为:
S1:移除所有与中心API节点不连通的节点;
S2:对于剩余节点,识别出所有用户自定义的API节点,全部标记为保留;
S3:对于第三方库的API,根据库的功能类型建模,区分出关键型库A PI与非关键型库API;
S4:移除没有被任何一个用户自定义API直接调用的第三方库非关键型API;
S5:在用户API之间进行数据流分析,判断用户API之间是否通过参数或全局变量交换了来自中心API节点的数据;
S6:如果数据流分析确定某用户API没有获得中心API节点的数据,则移除这个用户API;
S7:在移除每个非关键节点后,判断剩余图是否还是全连通的;如果为不连通的,则需要将上一个移除的非关键节点重新标记为关键节点保留。
S8:重复S4-S7,直到不能再移除任何非关键节点为止。
5.如权利要求1所述的基于图卷积网络的安卓恶意软件检测方法,其特征在于,所述软件检测模块为改进的GCN模型,所述改进的GCN模型利用ChebConv卷积层对行为级特征图进行特征传播,利用LSTM和注意力机制对池化后的特征进行分类。
6.如权利要求1所述的基于图卷积网络的安卓恶意软件检测方法,其特征在于,将简化后的API调用图与操作码、第三方库的API、敏感权限相结合,得到行为特征矩阵,具体为:
统计简化后的API调用图的API节点所包含的操作码集合以及单个操作码出现的次数,根据每个节点的操作码集合和单个操作码出现的次数,生成操作码频次特征向量;
统计简化后的API调用图的API节点所包含的敏感权限,得到敏感权限特征向量;
统计简化后的API调用图的API节点所包含的第三方库API,得到第三方库API特征向量;
将操作码频次特征向量、敏感权限特征向量和第三方库API特征向量进行拼接,得到特征矩阵。
7.如权利要求1所述的基于图卷积网络的安卓恶意软件检测方法,其特征在于,将简化后的API调用图基于节点的调用关系,生成邻接矩阵,具体为:对于存在调用关系的API节点所对应的邻接矩阵的元素为1,对于不存在调用关系的API节点所对应的邻接矩阵的元素为0。
8.基于图卷积网络的安卓恶意软件检测系统,其特征在于,包括:
提取模块:对APK文件进行反编译生成Classes.dex文件,从Classes.dex文件中提取API调用图、操作码和敏感权限;
简化模块:基于API调用图与敏感权限的映射关系,得到敏感权限API,以敏感权限API作为API调用图的中心节点,对API调用图进行简化;
第一矩阵模块:将简化后的API调用图基于节点的调用关系,生成邻接矩阵;
第二矩阵模块:将简化后的API调用图与操作码、第三方库的API、敏感权限相结合,得到行为特征矩阵;
检测模块:将邻接矩阵与行为特征矩阵输入到基于GCN改进的检测模型中,得到检测结果。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一项所述的基于图卷积网络的安卓恶意软件检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的基于图卷积网络的安卓恶意软件检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311090888.8A CN117034273A (zh) | 2023-08-28 | 2023-08-28 | 基于图卷积网络的安卓恶意软件检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311090888.8A CN117034273A (zh) | 2023-08-28 | 2023-08-28 | 基于图卷积网络的安卓恶意软件检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117034273A true CN117034273A (zh) | 2023-11-10 |
Family
ID=88628139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311090888.8A Pending CN117034273A (zh) | 2023-08-28 | 2023-08-28 | 基于图卷积网络的安卓恶意软件检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117034273A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544423A (zh) * | 2024-01-09 | 2024-02-09 | 成都思维世纪科技有限责任公司 | 一种基于数据特征的api应用程序接口链路测绘方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631859A (zh) * | 2013-10-24 | 2014-03-12 | 杭州电子科技大学 | 一种面向科技项目的评审专家智能推荐方法 |
US20160219078A1 (en) * | 2015-01-16 | 2016-07-28 | Sri International | Multimodal help agent for network administrator |
US20180144132A1 (en) * | 2016-11-18 | 2018-05-24 | Sichuan University | Kind of android malicious code detection method on the base of community structure analysis |
US20180278635A1 (en) * | 2017-03-23 | 2018-09-27 | Korea Advanced Institute Of Science And Technology | Apparatus, method, and computer program for detecting malware in software defined network |
CN109711163A (zh) * | 2018-12-26 | 2019-05-03 | 西安电子科技大学 | 基于api调用序列的安卓恶意软件检测方法 |
CN114372266A (zh) * | 2020-10-15 | 2022-04-19 | 南京理工大学 | 基于操作码图的安卓恶意软件检测方法 |
CN114491529A (zh) * | 2021-12-20 | 2022-05-13 | 西安电子科技大学 | 基于多模态神经网络的安卓恶意应用程序识别方法 |
KR20220068859A (ko) * | 2020-11-19 | 2022-05-26 | 숭실대학교산학협력단 | 인접 행렬 기반의 악성 코드 탐지 및 분류 장치와 악성 코드 탐지 및 분류 방법 |
CN114780103A (zh) * | 2022-04-26 | 2022-07-22 | 中国人民解放军国防科技大学 | 一种基于图匹配网络的语义类代码克隆检测方法 |
CN114817924A (zh) * | 2022-05-19 | 2022-07-29 | 电子科技大学 | 基于ast和跨层分析的安卓恶意软件检测方法及系统 |
CN114844689A (zh) * | 2022-04-19 | 2022-08-02 | 尚蝉(浙江)科技有限公司 | 一种基于有限状态机的网站逻辑漏洞检测方法及系统 |
US20230177156A1 (en) * | 2021-06-07 | 2023-06-08 | Foundation Of Soongsil University-Industry Cooperation | On-device android malware detection method based on adaptive model through transfer learning, and recording medium and apparatus for performing the same |
CN116611063A (zh) * | 2023-05-15 | 2023-08-18 | 西北工业大学 | 一种基于多特征融合的图卷积神经网络恶意软件检测方法 |
US20230306112A1 (en) * | 2020-11-19 | 2023-09-28 | Foundation Of Soongsil University-Industry Cooperation | Apparatus and method for detection and classification of malicious codes based on adjacency matrix |
-
2023
- 2023-08-28 CN CN202311090888.8A patent/CN117034273A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631859A (zh) * | 2013-10-24 | 2014-03-12 | 杭州电子科技大学 | 一种面向科技项目的评审专家智能推荐方法 |
US20160219078A1 (en) * | 2015-01-16 | 2016-07-28 | Sri International | Multimodal help agent for network administrator |
US20180144132A1 (en) * | 2016-11-18 | 2018-05-24 | Sichuan University | Kind of android malicious code detection method on the base of community structure analysis |
US20180278635A1 (en) * | 2017-03-23 | 2018-09-27 | Korea Advanced Institute Of Science And Technology | Apparatus, method, and computer program for detecting malware in software defined network |
CN109711163A (zh) * | 2018-12-26 | 2019-05-03 | 西安电子科技大学 | 基于api调用序列的安卓恶意软件检测方法 |
CN114372266A (zh) * | 2020-10-15 | 2022-04-19 | 南京理工大学 | 基于操作码图的安卓恶意软件检测方法 |
KR20220068859A (ko) * | 2020-11-19 | 2022-05-26 | 숭실대학교산학협력단 | 인접 행렬 기반의 악성 코드 탐지 및 분류 장치와 악성 코드 탐지 및 분류 방법 |
US20230306112A1 (en) * | 2020-11-19 | 2023-09-28 | Foundation Of Soongsil University-Industry Cooperation | Apparatus and method for detection and classification of malicious codes based on adjacency matrix |
US20230177156A1 (en) * | 2021-06-07 | 2023-06-08 | Foundation Of Soongsil University-Industry Cooperation | On-device android malware detection method based on adaptive model through transfer learning, and recording medium and apparatus for performing the same |
CN114491529A (zh) * | 2021-12-20 | 2022-05-13 | 西安电子科技大学 | 基于多模态神经网络的安卓恶意应用程序识别方法 |
CN114844689A (zh) * | 2022-04-19 | 2022-08-02 | 尚蝉(浙江)科技有限公司 | 一种基于有限状态机的网站逻辑漏洞检测方法及系统 |
CN114780103A (zh) * | 2022-04-26 | 2022-07-22 | 中国人民解放军国防科技大学 | 一种基于图匹配网络的语义类代码克隆检测方法 |
CN114817924A (zh) * | 2022-05-19 | 2022-07-29 | 电子科技大学 | 基于ast和跨层分析的安卓恶意软件检测方法及系统 |
CN116611063A (zh) * | 2023-05-15 | 2023-08-18 | 西北工业大学 | 一种基于多特征融合的图卷积神经网络恶意软件检测方法 |
Non-Patent Citations (2)
Title |
---|
VINAYAKA: "Android_Malware_Detection_using_Function_Call_Graph_with_Graph_Convolutional_Networks", 《IN PROCEEDINGS OF THE 2021 2ND INTERNATIONAL CONFERENCE ON SECURE CYBER COMPUTING AND COMMUNICATIONS》, pages 23 * |
侯留洋: "融合多特征的Android恶意软件检测方法", 《信息网络安全》, pages 67 - 74 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544423A (zh) * | 2024-01-09 | 2024-02-09 | 成都思维世纪科技有限责任公司 | 一种基于数据特征的api应用程序接口链路测绘方法 |
CN117544423B (zh) * | 2024-01-09 | 2024-04-02 | 成都思维世纪科技有限责任公司 | 一种基于数据特征的api应用程序接口链路测绘方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kelenc et al. | Mixed metric dimension of graphs | |
US8161329B2 (en) | Generating random sequences based on stochastic generative model having multiple random variates | |
CN101751333A (zh) | 用于支援程序解析的方法、及其计算机程序以及计算机系统 | |
CN111090807B (zh) | 一种基于知识图谱的用户识别方法及装置 | |
CN117034273A (zh) | 基于图卷积网络的安卓恶意软件检测方法及系统 | |
CN111338622B (zh) | 供应链代码识别方法、装置、服务器及可读存储介质 | |
CN114036531A (zh) | 一种基于多尺度代码度量的软件安全漏洞检测方法 | |
CN115859302A (zh) | 源代码漏洞检测方法、装置、设备及存储介质 | |
CN116702157B (zh) | 一种基于神经网络的智能合约漏洞检测方法 | |
CN110990834B (zh) | 一种android恶意软件的静态检测方法、系统及介质 | |
Seng et al. | Why anomaly-based intrusion detection systems have not yet conquered the industrial market? | |
Qiang | Research on software vulnerability detection method based on improved CNN model | |
CN116707859A (zh) | 特征规则提取方法和装置、网络入侵检测方法和装置 | |
CN116361788A (zh) | 一种基于机器学习的二进制软件漏洞预测方法 | |
CN112487421A (zh) | 基于异质网络的安卓恶意应用检测方法及系统 | |
Rathore et al. | Image-based android malware detection models using static and dynamic features | |
CN114372266A (zh) | 基于操作码图的安卓恶意软件检测方法 | |
CN112200254A (zh) | 一种网络入侵检测模型生成方法、检测方法及电子设备 | |
KR102465307B1 (ko) | 화이트 리스트 생성 방법 및 이를 수행하는 사용자 단말, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 | |
CN115630754B (zh) | 智能网联汽车信息安全的预测方法、装置、设备及介质 | |
CN117272123B (zh) | 一种基于大模型的敏感数据处理方法、装置及存储介质 | |
Qin et al. | Smart contract vulnerability detection based on critical combination path and deep learning | |
CN116628699A (zh) | 基于多分类模型的DApp风险检测的方法、系统及装置 | |
CN112699250A (zh) | 知识图谱的构建方法、装置、可读存储介质及电子设备 | |
CN117056919A (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 |