System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于安卓恶意软件分析,提供了一种基于双层语义融合机制的安卓恶意软件检测方法及系统。
技术介绍
1、随着移动互联网的发展和普及,智能手机已成为人们生活中不可或缺的一部分,安卓作为主流的移动端操作系统,有着庞大的设备装机量和用户群体,这使其成为了恶意攻击的主要目标,海量的应用软件丰富了用户的使用体验,但也为用户的隐私安全埋下了隐患,因此研究如何自动化的检测安卓恶意软件,保护用户的安全成为了亟需解决的问题。
2、传统基于规则和签名方式的安卓恶意软件检测难以抵抗零日攻击,即使是对恶意代码进行了简单修改也难以被有效检测,因此研究人员开始尝试使用人工智能的方式进行检测,其中基于异构图的检测方法尤为突出,其解决了传统神经网络无法挖掘样本之间潜在隐藏关系的问题以及同构图无法同时挖掘多维特征信息的问题。然而现有基于异构图的检测方法仍存在如下的技术问题:
3、1.现有方法特征提取时考虑到性能问题往往会忽视动态特征;而且构建图结构信息时,并未根据权限等级进行具体的细化,而是笼统的表示为apk使用了某种权限,但是这些权限具体的危险程度并未在图中进行体现。
4、2.现有研究需要依赖专家经验选择某些具有实际意义的元路径,并基于这些元路径将异构图转换为关于android apk的同构图信息再进行图表示学习,因此会导致异构图中特征节点自身语义信息缺失的问题。
技术实现思路
1、针对上述问题,本专利技术旨在提出一种基于双层语义融合机制的安卓恶意软件检测方法及系统,其能够
2、为了达到上述目的,本专利技术采用如下技术方案:
3、本专利技术提过了一种基于双层语义融合机制的安卓恶意软件检测方法,包括如下步骤:
4、步骤1:使用静态分析工具对android apk进行静态特征提取,得到特征与androidapk之间的关系,其中包括使用到的敏感api、权限、意图三类特征;
5、步骤2:对android apk进行动态分析,提取动态特征,监控apk运行过程中真实触发的敏感api及其触发次数,得到敏感api与权限之间的关系;
6、步骤3:根据步骤1和步骤2中提取到的特征与android apk之间的关系、敏感api与权限之间的关系,构建起以apk为中心的apk异构信息图;
7、步骤4:利用图嵌入方法生成特征类型节点语义信息和apk类型节点语义信息,其中特征类型节点语义信息包括敏感api类型节点语义信息、利用one-hot方法构建的权限类型节点语义信息、意图类型节点语义信息;
8、步骤5:利用基于双层语义融合机制的异构图神经网络对apk异构信息图中的结构信息、apk类型节点语义信息和特征类型节点语义信息进行学习和训练,得到有效的apk特征向量表示,该异构图网络模型将作为安卓恶意软件检测系统的分类模型;
9、步骤6:利用训练好的分类模型对待测android apk进行检测,得到其是良性样本或者恶意样本的分类结果。
10、上述方法中,所述步骤1的具体步骤为:
11、通过androguard静态分析工具对android apk进行逆向分析;
12、反编译apk中的dex文件,提取文件中定义的所有函数信息,并过滤出涉及到的敏感api;
13、反编译apk中的androidmanifest文件,提取所有权限和意图信息。
14、上述方法中,所述步骤2的具体步骤为:
15、将apk安装在沙箱环境中,并实际运行此应用程序,同时利用测试工具monkey自动化随机点击apk,以触发其更多的行为;
16、通过frida工具对所有敏感api进行插桩,在apk运行过程中触发到敏感api时,输出对应函数名的日志;
17、监控apk运行30秒期间,调用了哪些敏感api及其调用次数。
18、上述方法中,步骤3:构建异构图结构信息,包括以下步骤:
19、步骤3.1:根据步骤1和步骤2中提取到的静态和动态特征形成以apk为中心包含七种关系和四类节点类型的多关系细粒度异构信息图:
20、步骤3.2:对于敏感api特征,与apk类型节点形成静态提取时的包含关系和动态特征提取时的调用关系;
21、步骤3.3:对于权限特征,根据权限等级分为正常、签名、危险三种级别,与apk类型节点分别形成三种类型的权限关系;
22、步骤3.4:对于意图特征,与apk类型节点构建包含关系;
23、步骤3.5:对于敏感api与权限,根据调用敏感api时需要使用哪些权限,构建起关于敏感api与权限之间的关系。
24、上述方法中,七种关系包括:
25、r1:apk-正常-权限;
26、r2:apk-签名-权限;
27、r3:apk-危险-权限;
28、r4:apk-静态-敏感api;
29、r5:apk-动态-敏感api;
30、r6:apk-意图;
31、r7:权限-敏感api;
32、四类节点类型包括:
33、apk类型节点、敏感api类型节点、权限类型节点、意图类型节点;
34、对于权限特征,根据权限等级分为正常、签名、危险三种级别,与apk类型节点分别形成三种类型的权限关系r1、r2、r3;
35、对于敏感api特征,与apk类型节点形成静态提取时的包含关系和动态特征提取时的调用关系r4、r5;
36、对于意图特征,与apk类型节点构建包含关系r6;
37、对于敏感api和权限,根据调用敏感api时使用的权限,构建起关于敏感api与权限之间的关系r7。
38、所述步骤4的具体步骤为:
39、对于敏感api类型特征节点,根据其在android开发者文档中的所描述包名、类名、权限、输入参数类型、返回参数类型和抛出异常类型这些外部信息构建出以敏感api特征为中心的图结构,并将其输入到图嵌入算法transe,计算出每个敏感api的特征向量表示,将特征向量表示作为敏感api类型节点自身的语义表示;
40、对于权限、意图类型特征节点,直接用one-hot表示方法作为其自身的语义表示;
41、对于apk类型节点,使用敏感api、权限和意图构成的one-hot向量进行表示。
42、上述方法中,所述步骤5的具体步骤为:
43、确定异构图中所有涉及的元路径,从apk类型节点出发,挖掘所有长度小于等于2的元路径;
44、邻居节点信息聚合本文档来自技高网...
【技术保护点】
1.一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,包括如下步骤:
2.如权利要求1所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,所述步骤1的具体步骤为:
3.如权利要求1所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,所述步骤2的具体步骤为:
4.如权利要求1所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,步骤3:构建异构图结构信息,包括以下步骤:
5.如权利要求4所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,七种关系包括:
6.如权利要求1所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,所述步骤4的具体步骤为:
7.如权利要求1所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,所述步骤5的具体步骤为:
8.如权利要求7所一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,同类别元路径语义融合:利用注意力机制分别对APK、敏感API、权限、意图类别下的每一条元路径计算其贡献度,并
9.如权利要求7所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,跨类别元路径语义融合:对于四种元路径经过同类别语义融合后形成的四个视角的语义信息,再利用自注意力机制计算这四个视角之间的关系,并进行语义信息叠加,用于将多种不同类别元路径的语义信息融合到最终的APK节点表示中。
10.一种基于双层语义融合机制的安卓恶意软件检测系统,其特征在于,包括:
...【技术特征摘要】
1.一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,包括如下步骤:
2.如权利要求1所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,所述步骤1的具体步骤为:
3.如权利要求1所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,所述步骤2的具体步骤为:
4.如权利要求1所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,步骤3:构建异构图结构信息,包括以下步骤:
5.如权利要求4所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,七种关系包括:
6.如权利要求1所述一种基于双层语义融合机制的安卓恶意软件检测方法,其特征在于,所述步骤4的具体步骤为:
7.如权利要求1所述一种基于双层语义融合机制的安卓恶...
【专利技术属性】
技术研发人员:牛伟纳,张小松,刘星宇,王珂,李明阳,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。