CN114817925A - 基于多模态图特征的安卓恶意软件检测方法及系统 - Google Patents
基于多模态图特征的安卓恶意软件检测方法及系统 Download PDFInfo
- Publication number
- CN114817925A CN114817925A CN202210544808.0A CN202210544808A CN114817925A CN 114817925 A CN114817925 A CN 114817925A CN 202210544808 A CN202210544808 A CN 202210544808A CN 114817925 A CN114817925 A CN 114817925A
- Authority
- CN
- China
- Prior art keywords
- graph
- features
- generating
- android
- authority
- 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.)
- Granted
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/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- 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
- 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
-
- 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)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出了一种基于多模态图特征的安卓恶意软件检测方法及系统,主要解决现有基于图的检测技术中对于恶意程序特征挖掘不全面以及对挖掘到的特征利用不充分等问题。主要方案包括:静态特征和动态特征等;分别对上述特征进行分析,并将其转换为图结构特征,通过多模态图特征实现应用程序行为的全方面表征;分别对每个维度的图结构特征使用图嵌入方法实现其向量化;基于注意力机制,将上述所有维度的图结构特征向量输入到图神经网络中进行训练和学习;将训练好的检测模型用于对Android恶意软件进行检测与识别。
Description
技术领域
本发明属于恶意代码分析技术领域,提供了一种基于多模态图特征的安卓恶意软件检测方法及系统。
背景技术
随着互联网技术的不断发展和智慧城市理念的不断贯彻,安卓操作系统因其开源性、可扩展性等优点,逐渐成为了移动终端设备中搭载最广泛的操作系统。因此,安卓系统的安全问题成为了关乎广大用户们隐私与财产安全的关键,安卓软件也成为了黑客们攻击的主要目标。
目前在Android恶意软件检测与分类方法的研究中,图神经网络显示出很大的潜力,成为了近期的研究热点,因为在对特征的表示中,图结构能极大程度地对行为进行表示和存储,而图神经网络能够更好地挖掘和学习图结构数据中的信息,包括图节点自身的信息以及图的拓扑信息。
在文献《GDroid: Android malware detection and classification withgraph convolutional network》中,Gao等人将应用程序和API映射成一个大的异构图,将原始问题转换为节点分类任务,然后通过GCN对异构图进行嵌入和后续的分类。该方法存在以下缺点:(1)仅使用了单一的API特征信息,在对恶意行为信息的捕捉上不是很全面;(2)在对API特征信息的利用上主要是基于API来构建APP之间的关系,而没有很好的挖掘函数调用中的信息;(3)分类依据主要是根据APP对API调用使用的相似程度来实现,如果样本具有复杂的恶意行为可能会对自身甚至周围样本的分类结果产生影响。
在文献《HAWK: Rapid Android Malware Detection Through HeterogeneousGraph Attention Networks》中,Hei等人将Android实体和行为关系建模为一个异构信息网络,利用其丰富的语义元结构来表示隐含的高阶关系。该方法存在以下缺点:
(1)仅使用了静态特征信息,在对恶意行为信息的捕捉上不是很全面;
(2)在对特征信息的利用上主要是基于行为特征来构建APP之间的关系,而没有很好的挖掘特征本身的信息;
(3)分类依据主要是根据APP在各个维度上的相似程度来实现,如果样本具有复杂的恶意行为可能会对自身甚至周围样本的分类结果产生影响。
发明内容
针对上述问题,本发明旨在提出一种基于多模态图特征的安卓恶意软件检测方法及系统,能够对安卓恶意软件进行混合分析,获取到多维度的特征,从而能够对恶意行为进行全方面的建模;能够对多维度的特征进行一个充分的表示,较好地表示了特征自身的信息以及特征间关联性与依赖性;能够对多模态图特征信息进行充分的平衡与学习,从而得到性能优良的智能分类器。
为了达到上述目的,本发明采用如下技术方案:
一种基于多模态图特征的安卓恶意软件检测方法,包括如下步骤:
步骤1:对AndroidAPK文件进行静态分析,使用静态分析工具获取其静态特征,得到权限特征、API、类、接口特征、.SO文件特征以及组件特征;
步骤2:对AndroidAPK文件进行动态分析,使用动态分析沙箱获取其动态特征,得到系统调用特征;
步骤3:以步骤1得到的静态特征与步骤2得到的动态特征作为多维度特征进行处理,对于多维特征中的每一种特征基于每一种特征的依赖关系将每一种特征转化为图结构特征数据,得到多维度图结构特征。其中,多维度的特征可以更全面地表征恶意软件的行为,而图结构特征能够极大程度地保存行为信息,不仅仅有节点特征,还有表示节点间关系的拓扑特征;
步骤4:使用图嵌入方法对步骤3中获取到的多维度图结构特征进行向量化处理,得到多维度图特征向量,相比于其他的向量化方法,图嵌入方法能够保留图的拓扑信息;
步骤5:使用注意力机制和图神经网络对步骤4中获取的多维度图特征向量进行学习,得到训练好的智能分类器,注意力机制能够平衡各维度图特征向量对判断的重要性,从而即全面又有所侧重的学习行为信息;
步骤6:使用训练好的智能分类器对待测AndroidAPK进行分类,得到该APK的分类结果。
上述技术方案中,所述步骤3的具体步骤为:
对于步骤1和步骤2中获得的每一种特征,基于每一种特征的依赖关系生成图结构特征数据:
对于权限特征,根据权限类型生成权限星图;
对于API、类和接口特征,根据调用关系分别生成不同粒度的控制流图;
对于.SO文件特征,使用二进制分析工具Angr生成Native层控制流图;
对于组件特征,使用组件分析工具生成组件间通信图;
对于系统调用特征,根据系统调用顺序生成系统调用图。
上述技术方案中,所述步骤4的具体步骤为:
对于步骤3中获得的每一种图结构特征,使用图嵌入方法生成图结构向量:
对于权限星图,以权限星图的图拓扑结构和权限种类作为图特征,通过图嵌入生成权限图向量;对于安卓应用程序中权限的类型(普通、危险、签名/特权三类权限),根节点首先连接几个类型节点,然后权限节点再根据其属于哪个类型连接到类型节点上,整体呈星状
系统调用图:
对于控制流图,以控制流图的图拓扑结构和对应的API、类和接口种类作为图特征,通过图嵌入生成不同粒度的控制流图向量;
对于Native层控制流图,以Native层控制流图的图拓扑结构和调用函数名作为图特征,通过图嵌入生成Native层控制流图向量;
对于组件间通信图,以组件间通信图的图拓朴结构和组件类型作为图特征,通过图嵌入生成组件间通信图向量;组件是Android应用程序的基本构建块,主要使用的组件有:activity、services、broadcastreceievers和contentreceivers,每个应用程序中可能会有多个组件。对于系统调用图,以系统调用图的图拓扑结构和系统调用种类作为图特征,通过图嵌入生成系统调用图向量;根据系统调用日志中的事件顺序,从系统调用1到系统调用2间建立有向边,然后2-3,……直至遍历完所有系统调用,其中每一种系统调用都是一个节点。
拓朴结构就是图中的节点与边的连接关系,表明图的一个结构信息,也可以理解成图的形状。
上述技术方案中,所述步骤5的具体步骤为:
对于步骤4获得的多维度图特征向量中的每一种图特征向量,使用注意力机制调整不同种类的图特征向量的权重,通过图神经网络学习图特征向量中保存的应用程序行为信息,得到训练好的神经网络智能分类器。
本发明还提供了一种基于多模态图特征的安卓恶意软件检测系统,包括:
程序分析模块:用于对AndroidAPK文件进行混合分析,提取静态特征与动态特征,得到多维度特征;
图构造模块:用于对程序分析模块提取到的多维度特征进行处理,将多维度特征转化为图结构表示,得到多维度图特征,然后使用图嵌入方法对多维度图特征信息进行向量化,得到多维度图特征向量;
分类模块:用于对多维度图特征向量进行学习,通过注意力机制与图神经网络得到训练好的智能分类器,并将训练好的智能分类器用于Android恶意软件的检测与识别,输出分类结果。
上述技术方案中,所述程序分析模块的具体实现为:
对AndroidAPK文件进行静态分析,通过反汇编分析工具Androguard获取静态特征权限特征、、API、类、接口特征、、.SO文件特征、以及组件特征、;
对AndroidAPK样本进行动态分析,通过动态分析沙箱DroidBox获取动态特征系统调用特征。
上述技术方案中,所述图构造模块的具体实现为:
对于程序分析模块中获取的每一种特征,基于其依赖关系生成图结构特征数据:
对于权限特征,根据权限类型生成权限星图;
对于API、类和接口特征,根据调用关系分别生成不同粒度的控制流图;
对于.SO文件特征,使用二进制分析工具Angr生成Native层控制流图;
对于组件特征,使用组件分析工具生成组件间通信图;
对于系统调用特征,根据系统调用顺序生成系统调用图;
对于上述每一种图结构特征,使用图嵌入方法生成图结构向量:
对于权限星图,以权限星图的图拓扑结构和权限种类作为图特征,通过图嵌入生成权限图向量;
对于控制流图,以控制流图的图拓扑结构和对应的API、类和接口种类作为图特征,通过图嵌入生成不同粒度的控制流图向量;
对于Native层控制流图,以Native层控制流图的图拓扑结构和调用函数名作为图特征,通过图嵌入生成Native层控制流图向量;
对于组件间通信图,以组件间通信图的图拓朴结构和组件类型作为图特征,通过图嵌入生成组件间通信图向量;
对于系统调用图,以系统调用图的图拓扑结构和系统调用种类作为图特征,通过图嵌入生成系统调用图向量。
所述分类模块的具体实现为:
对于图构造模块生成的每一种图特征向量,使用注意力机制调整不同种类的图特征向量的权重,通过图神经网络学习图特征向量中保存的应用程序行为信息,得到训练好的神经网络智能分类器;然后使用训练好的智能分类器对待测AndroidAPK进行分类,得到该APK的分类结果。
上述技术方案中,所述分类模块的具体实现为:
对于图构造模块生成的每一种图特征向量,使用注意力机制调整不同种类的图特征向量的权重,通过图神经网络学习图特征向量中保存的应用程序行为信息,得到训练好的神经网络智能分类器;然后使用训练好的智能分类器对待测AndroidAPK进行分类,得到该APK的分类结果。
在本发明中,多模态图特征可扩展到更多的特征,比如动态分析中可能会获取到的内存信息以及静态分析中可能获取到的数据流信息等。
在本发明中,使用注意力机制和图神经网络来对各个维度的图特征信息进行学习,也可以使用集成学习的方式来对各个维度的图特征训练基分类器,本发明综合考虑了训练成本以及部署难易程度选择了前者。
本发明同现有技术相比,其有益效果表现为:
一、本发明提出了一种多模态特征的恶意行为表征方法,从动态和静态两个角度全方面、多维度的对恶意行为进行建模。
二、本发明对每个维度的特征均处理转化为图结构数据,图结构数据能极大程度存储特征自身信息以及特征间的依赖关系,并使用图嵌入方法对每个维度的特征信息进行向量化。
三、本发明使用注意力机制和图神经网络来对多个维度的图特征向量进行训练与学习。其中图神经网络不仅考虑了图的节点特征信息,同时考虑了图的拓扑信息,从而能够对图结构数据进行更好地处理;同时注意力机制也能平衡各个维度特征的重要性。
附图说明
图1是本发明整体工作流程的示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,现在对本发明进行实例说明,具体步骤如下:
一种基于多模态图特征的安卓恶意软件检测方法,包括如下步骤:
步骤1:对AndroidAPK文件进行静态分析,使用静态分析工具获取其静态特征,得到权限特征、API、类、接口特征、.SO文件特征以及组件特征;
步骤2:对AndroidAPK文件进行动态分析,使用动态分析沙箱获取其动态特征,得到系统调用特征;
步骤3:以步骤1得到的静态特征与步骤2得到的动态特征作为多维度特征进行处理,对于多维特征中的每一种特征基于每一种特征的依赖关系将每一种特征转化为图结构特征数据,得到多维度图结构特征。其中,多维度的特征可以更全面地表征恶意软件的行为,而图结构特征能够极大程度地保存行为信息,不仅仅有节点特征,还有表示节点间关系的拓扑特征;
步骤4:使用图嵌入方法对步骤3中获取到的多维度图结构特征进行向量化处理,得到多维度图特征向量,相比于其他的向量化方法,图嵌入方法能够保留图的拓扑信息;
步骤5:使用注意力机制和图神经网络对步骤4中获取的多维度图特征向量进行学习,得到训练好的智能分类器,注意力机制能够平衡各维度图特征向量对判断的重要性,从而即全面又有所侧重的学习行为信息;
步骤6:使用训练好的智能分类器对待测AndroidAPK进行分类,得到该APK的分类结果。
上述技术方案中,所述步骤3的具体步骤为:
对于步骤1和步骤2中获得的每一种特征,基于每一种特征的依赖关系生成图结构特征数据:
对于权限特征,根据权限类型生成权限星图;
对于API、类和接口特征,根据调用关系分别生成不同粒度的控制流图;
对于.SO文件特征,使用二进制分析工具Angr生成Native层控制流图;
对于组件特征,使用组件分析工具生成组件间通信图;
对于系统调用特征,根据系统调用顺序生成系统调用图。
上述技术方案中,所述步骤4的具体步骤为:
对于步骤3中获得的每一种图结构特征,使用图嵌入方法生成图结构向量:
对于权限星图,以权限星图的图拓扑结构和权限种类作为图特征,通过图嵌入生成权限图向量;
对于控制流图,以控制流图的图拓扑结构和对应的API、类和接口种类作为图特征,通过图嵌入生成不同粒度的控制流图向量;
对于Native层控制流图,以Native层控制流图的图拓扑结构和调用函数名作为图特征,通过图嵌入生成Native层控制流图向量;
对于组件间通信图,以组件间通信图的图拓朴结构和组件类型作为图特征,通过图嵌入生成组件间通信图向量;组件是Android应用程序的基本构建块,主要使用的组件有:activity、services、broadcastreceievers和contentreceivers,每个应用程序中可能会有多个组件。
对于系统调用图,以系统调用图的图拓扑结构和系统调用种类作为图特征,通过图嵌入生成系统调用图向量;
拓朴结构就是图中的节点与边的连接关系,表明图的一个结构信息,也可以理解成图的形状。
上述技术方案中,所述步骤5的具体步骤为:
对于步骤4获得的多维度图特征向量中的每一种图特征向量,使用注意力机制调整不同种类的图特征向量的权重,通过图神经网络学习图特征向量中保存的应用程序行为信息,得到训练好的神经网络智能分类器。
本发明还提供了一种基于多模态图特征的安卓恶意软件检测系统,包括:
程序分析模块:用于对AndroidAPK文件进行混合分析,提取静态特征与动态特征,得到多维度特征;
图构造模块:用于对程序分析模块提取到的多维度特征进行处理,将多维度特征转化为图结构表示,得到多维度图特征,然后使用图嵌入方法对多维度图特征信息进行向量化,得到多维度图特征向量;
分类模块:用于对多维度图特征向量进行学习,通过注意力机制与图神经网络得到训练好的智能分类器,并将训练好的智能分类器用于Android恶意软件的检测与识别,输出分类结果。
上述技术方案中,所述程序分析模块的具体实现为:
对AndroidAPK文件进行静态分析,通过反汇编分析工具Androguard获取静态特征权限特征、、API、类、接口特征、、.SO文件特征、以及组件特征、;
对AndroidAPK样本进行动态分析,通过动态分析沙箱DroidBox获取动态特征系统调用特征。
上述技术方案中,所述图构造模块的具体实现为:
对于程序分析模块中获取的每一种特征,基于其依赖关系生成图结构特征数据:
对于权限特征,根据权限类型生成权限星图;
对于API、类和接口特征,根据调用关系分别生成不同粒度的控制流图;
对于.SO文件特征,使用二进制分析工具Angr生成Native层控制流图;
对于组件特征,使用组件分析工具生成组件间通信图;
对于系统调用特征,根据系统调用顺序生成系统调用图;
对于上述每一种图结构特征,使用图嵌入方法生成图结构向量:
对于权限星图,以权限星图的图拓扑结构和权限种类作为图特征,通过图嵌入生成权限图向量;
对于控制流图,以控制流图的图拓扑结构和对应的API、类和接口种类作为图特征,通过图嵌入生成不同粒度的控制流图向量;
对于Native层控制流图,以Native层控制流图的图拓扑结构和调用函数名作为图特征,通过图嵌入生成Native层控制流图向量;
对于组件间通信图,以组件间通信图的图拓朴结构和组件类型作为图特征,通过图嵌入生成组件间通信图向量;
对于系统调用图,以系统调用图的图拓扑结构和系统调用种类作为图特征,通过图嵌入生成系统调用图向量。
所述分类模块的具体实现为:
对于图构造模块生成的每一种图特征向量,使用注意力机制调整不同种类的图特征向量的权重,通过图神经网络学习图特征向量中保存的应用程序行为信息,得到训练好的神经网络智能分类器;然后使用训练好的智能分类器对待测AndroidAPK进行分类,得到该APK的分类结果。
实施例
步骤1:构建数据集,收集安卓良性样本1600个,恶意样本1600个,共计3200个样本,按照8:1:1的比例划分为训练集、验证集与测试集,同时保证每个集合中良性样本与恶意样本的数量比均为1:1;
步骤2:对数据集中的所有样本进行处理,包括以下步骤:
步骤2.1:对AndroidAPK文件进行静态分析,使用静态分析工具获取其静态特征,得到权限特征、API、类、接口特征、.SO文件特征以及组件特征;
步骤2.2:对AndroidAPK文件进行动态分析,使用动态分析沙箱获取其动态特征,得到系统调用特征;
步骤2.3:以步骤2.1得到的静态特征与步骤2.2得到的动态特征作为多维度特征进行处理,对于多维特征中的每一种特征基于每一种特征的依赖关系将每一种特征转化为图结构特征数据,得到多维度图结构特征;
步骤2.4:使用图嵌入方法对步骤2.3中获取到的多维度图结构特征进行向量化处理,得到多维度图特征向量;
步骤3:使用注意力机制和图神经网络对步骤2中获取的数据集样本多维度图特征向量进行学习,得到训练好的智能分类器;
步骤4:使用训练好的智能分类器对待测Android APK(未知分类)进行分类,得到该APK的分类结果,包括以下步骤:
步骤4.1:对AndroidAPK文件进行静态分析,使用静态分析工具获取其静态特征,得到权限特征、API、类、接口特征、.SO文件特征以及组件特征;
步骤4.2:对AndroidAPK文件进行动态分析,使用动态分析沙箱获取其动态特征,得到系统调用特征;
步骤4.3:以步骤4.1得到的静态特征与步骤4.2得到的动态特征作为多维度特征进行处理,对于多维特征中的每一种特征基于每一种特征的依赖关系将每一种特征转化为图结构特征数据,得到多维度图结构特征;
步骤4.4:使用图嵌入方法对步骤4.3中获取到的多维度图结构特征进行向量化处理,得到多维度图特征向量;
步骤4.5:将样本的多维度图特征向量输入到训练好的智能分类器模型中,输出该Android APK的分类结果,即良性或恶意。
Claims (8)
1.一种基于多模态图特征的安卓恶意软件检测方法,其特征在于,包括如下步骤:
步骤1:对AndroidAPK文件进行静态分析,使用静态分析工具获取其静态特征,得到权限特征、API、类、接口特征、.SO文件特征以及组件特征;
步骤2:对AndroidAPK文件进行动态分析,使用动态分析沙箱获取其动态特征,得到系统调用特征;
步骤3:以步骤1得到的静态特征与步骤2得到的动态特征作为多维度特征进行处理,对于多维特征中的每一种特征基于每一种特征的依赖关系将每一种特征转化为图结构特征数据,得到多维度图结构特征;
步骤4:使用图嵌入方法对步骤3中获取到的多维度图结构特征进行向量化处理,得到多维度图特征向量;
步骤5:使用注意力机制和图神经网络对步骤4中获取的多维度图特征向量进行学习,得到训练好的智能分类器;
步骤6:使用训练好的智能分类器对待测AndroidAPK进行分类,得到该APK的分类结果。
2.根据权利要求1所述的一种基于多模态图特征的安卓恶意软件检测方法,其特征在于,所述步骤3的具体步骤为:
对于步骤1和步骤2中获得的每一种特征,基于每一种特征的依赖关系生成图结构特征数据:
对于权限特征,根据权限类型生成权限星图;
对于API、类和接口特征,根据调用关系分别生成不同粒度的控制流图;
对于.SO文件特征,使用二进制分析工具Angr生成Native层控制流图;
对于组件特征,使用组件分析工具生成组件间通信图;
对于系统调用特征,根据系统调用顺序生成系统调用图。
3.根据权利要求1所述的一种基于多模态图特征的安卓恶意软件检测方法,其特征在于,所述步骤4的具体步骤为:
对于步骤3中获得的每一种图结构特征,使用图嵌入方法生成图结构向量:
对于权限星图,以权限星图的图拓扑结构和权限种类作为图特征,通过图嵌入生成权限图向量;
对于控制流图,以控制流图的图拓扑结构和对应的API、类和接口种类作为图特征,通过图嵌入生成不同粒度的控制流图向量;
对于Native层控制流图,以Native层控制流图的图拓扑结构和调用函数名作为图特征,通过图嵌入生成Native层控制流图向量;
对于组件间通信图,以组件间通信图的图拓朴结构和组件类型作为图特征,通过图嵌入生成组件间通信图向量;
对于系统调用图,以系统调用图的图拓扑结构和系统调用种类作为图特征,通过图嵌入生成系统调用图向量;
拓朴结构就是图中的节点与边的连接关系,表明图的一个结构信息,也可以理解成图的形状。
4.根据权利要求1所述的一种基于多模态图特征的安卓恶意软件检测方法,其特征在于,所述步骤5的具体步骤为:
对于步骤4获得的多维度图特征向量中的每一种图特征向量,使用注意力机制调整不同种类的图特征向量的权重,通过图神经网络学习图特征向量中保存的应用程序行为信息,得到训练好的神经网络智能分类器。
5.一种基于多模态图特征的安卓恶意软件检测系统,其特征在于,包括:
程序分析模块:用于对AndroidAPK文件进行混合分析,提取静态特征与动态特征,得到多维度特征;
图构造模块:用于对程序分析模块提取到的多维度特征进行处理,将多维度特征转化为图结构表示,得到多维度图特征,然后使用图嵌入方法对多维度图特征信息进行向量化,得到多维度图特征向量;
分类模块:用于对多维度图特征向量进行学习,通过注意力机制与图神经网络得到训练好的智能分类器,并将训练好的智能分类器用于Android恶意软件的检测与识别,输出分类结果。
6.根据权利要求5所述的一种基于多模态图特征的安卓恶意软件检测系统,其特征在于,所述程序分析模块的具体实现为:
对AndroidAPK文件进行静态分析,通过反汇编分析工具Androguard获取静态特征权限特征、、API、类、接口特征、、.SO文件特征、以及组件特征、;
对AndroidAPK样本进行动态分析,通过动态分析沙箱DroidBox获取动态特征系统调用特征。
7.根据权利要求5所述的一种基于多模态图特征的安卓恶意软件检测系统,其特征在于,所述图构造模块的具体实现为:
对于程序分析模块中获取的每一种特征,基于其依赖关系生成图结构特征数据:
对于权限特征,根据权限类型生成权限星图;
对于API、类和接口特征,根据调用关系分别生成不同粒度的控制流图;
对于.SO文件特征,使用二进制分析工具Angr生成Native层控制流图;
对于组件特征,使用组件分析工具生成组件间通信图;
对于系统调用特征,根据系统调用顺序生成系统调用图;
对于上述每一种图结构特征,使用图嵌入方法生成图结构向量:
对于权限星图,以权限星图的图拓扑结构和权限种类作为图特征,通过图嵌入生成权限图向量;
对于控制流图,以控制流图的图拓扑结构和对应的API、类和接口种类作为图特征,通过图嵌入生成不同粒度的控制流图向量;
对于Native层控制流图,以Native层控制流图的图拓扑结构和调用函数名作为图特征,通过图嵌入生成Native层控制流图向量;
对于组件间通信图,以组件间通信图的图拓朴结构和组件类型作为图特征,通过图嵌入生成组件间通信图向量;
对于系统调用图,以系统调用图的图拓扑结构和系统调用种类作为图特征,通过图嵌入生成系统调用图向量。
8.根据权利要求5所述的一种基于多模态图特征的安卓恶意软件检测系统,其特征在于,所述分类模块的具体实现为:
对于图构造模块生成的每一种图特征向量,使用注意力机制调整不同种类的图特征向量的权重,通过图神经网络学习图特征向量中保存的应用程序行为信息,得到训练好的神经网络智能分类器;然后使用训练好的智能分类器对待测AndroidAPK进行分类,得到该APK的分类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210544808.0A CN114817925B (zh) | 2022-05-19 | 2022-05-19 | 基于多模态图特征的安卓恶意软件检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210544808.0A CN114817925B (zh) | 2022-05-19 | 2022-05-19 | 基于多模态图特征的安卓恶意软件检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114817925A true CN114817925A (zh) | 2022-07-29 |
CN114817925B CN114817925B (zh) | 2023-04-07 |
Family
ID=82515775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210544808.0A Active CN114817925B (zh) | 2022-05-19 | 2022-05-19 | 基于多模态图特征的安卓恶意软件检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817925B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186702A (zh) * | 2023-02-24 | 2023-05-30 | 中国科学院信息工程研究所 | 基于协同注意力的恶意软件分类方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684840A (zh) * | 2018-12-20 | 2019-04-26 | 西安电子科技大学 | 基于敏感调用路径的Android恶意软件检测方法 |
CN111241544A (zh) * | 2020-01-08 | 2020-06-05 | 北京梆梆安全科技有限公司 | 一种恶意程序识别方法、装置、电子设备及存储介质 |
CN111523117A (zh) * | 2020-04-10 | 2020-08-11 | 西安电子科技大学 | 一种安卓恶意软件检测和恶意代码定位系统及方法 |
US20210092140A1 (en) * | 2019-09-24 | 2021-03-25 | Vectra Ai, Inc. | Method, product, and system for detecting malicious network activity using a graph mixture density neural network |
CN112883378A (zh) * | 2021-03-30 | 2021-06-01 | 北京理工大学 | 图嵌入与深度神经网络相融合的安卓恶意软件检测方法 |
CN113360912A (zh) * | 2021-08-09 | 2021-09-07 | 四川大学 | 恶意软件检测方法、装置、设备及存储介质 |
CN114169364A (zh) * | 2021-11-18 | 2022-03-11 | 南京邮电大学 | 一种基于时空图模型的脑电情感识别方法 |
CN114491529A (zh) * | 2021-12-20 | 2022-05-13 | 西安电子科技大学 | 基于多模态神经网络的安卓恶意应用程序识别方法 |
-
2022
- 2022-05-19 CN CN202210544808.0A patent/CN114817925B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684840A (zh) * | 2018-12-20 | 2019-04-26 | 西安电子科技大学 | 基于敏感调用路径的Android恶意软件检测方法 |
US20210092140A1 (en) * | 2019-09-24 | 2021-03-25 | Vectra Ai, Inc. | Method, product, and system for detecting malicious network activity using a graph mixture density neural network |
CN111241544A (zh) * | 2020-01-08 | 2020-06-05 | 北京梆梆安全科技有限公司 | 一种恶意程序识别方法、装置、电子设备及存储介质 |
CN111523117A (zh) * | 2020-04-10 | 2020-08-11 | 西安电子科技大学 | 一种安卓恶意软件检测和恶意代码定位系统及方法 |
CN112883378A (zh) * | 2021-03-30 | 2021-06-01 | 北京理工大学 | 图嵌入与深度神经网络相融合的安卓恶意软件检测方法 |
CN113360912A (zh) * | 2021-08-09 | 2021-09-07 | 四川大学 | 恶意软件检测方法、装置、设备及存储介质 |
CN114169364A (zh) * | 2021-11-18 | 2022-03-11 | 南京邮电大学 | 一种基于时空图模型的脑电情感识别方法 |
CN114491529A (zh) * | 2021-12-20 | 2022-05-13 | 西安电子科技大学 | 基于多模态神经网络的安卓恶意应用程序识别方法 |
Non-Patent Citations (3)
Title |
---|
刘宏超等: "基于图特征的恶意代码检测和分析技术研究" * |
李自清;: "基于函数调用图的Android恶意代码检测方法研究" * |
谭茹涵等: "基于图像特征融合的恶意代码检测" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186702A (zh) * | 2023-02-24 | 2023-05-30 | 中国科学院信息工程研究所 | 基于协同注意力的恶意软件分类方法和装置 |
CN116186702B (zh) * | 2023-02-24 | 2024-02-13 | 中国科学院信息工程研究所 | 基于协同注意力的恶意软件分类方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114817925B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753800B (zh) | 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统 | |
Yuxin et al. | Malware detection based on deep learning algorithm | |
CN106503558B (zh) | 一种基于社团结构分析的Android恶意代码检测方法 | |
Gao et al. | Android malware detection via graphlet sampling | |
CN109614795B (zh) | 一种事件感知的安卓恶意软件检测方法 | |
CN113011889B (zh) | 账号异常识别方法、系统、装置、设备及介质 | |
Wang et al. | LSCDroid: Malware detection based on local sensitive API invocation sequences | |
CN113360912A (zh) | 恶意软件检测方法、装置、设备及存储介质 | |
CN111881446B (zh) | 一种工业互联网恶意代码识别方法及装置 | |
CN116010947A (zh) | 一种基于异质网络的Android恶意软件检测方法 | |
Zhao et al. | Android malware identification through visual exploration of disassembly files | |
CN114817924B (zh) | 基于ast和跨层分析的安卓恶意软件检测方法及系统 | |
CN114817925B (zh) | 基于多模态图特征的安卓恶意软件检测方法及系统 | |
CN113468524A (zh) | 基于rasp的机器学习模型安全检测方法 | |
CN113407495A (zh) | 一种基于simhash的文件相似度判定方法及系统 | |
Ban et al. | Fam: Featuring android malware for deep learning-based familial analysis | |
CN117574371B (zh) | 面向边缘计算平台熵敏感调用特征的恶意代码检测系统 | |
Shi et al. | SFCGDroid: android malware detection based on sensitive function call graph | |
CN117527369A (zh) | 基于哈希函数的安卓恶意攻击监测方法及系统 | |
Congyi et al. | Method for detecting Android malware based on ensemble learning | |
CN113971283A (zh) | 一种基于特征的恶意应用程序检测方法及设备 | |
CN113626817B (zh) | 恶意代码家族分类方法 | |
CN110674497A (zh) | 一种恶意程序相似度计算的方法和装置 | |
CN112100621B (zh) | 一种基于敏感权限和api的安卓恶意应用检测方法 | |
CN114491530B (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 |