CN115828242A - 基于大型异构图表示学习的安卓恶意软件检测方法 - Google Patents

基于大型异构图表示学习的安卓恶意软件检测方法 Download PDF

Info

Publication number
CN115828242A
CN115828242A CN202211579397.5A CN202211579397A CN115828242A CN 115828242 A CN115828242 A CN 115828242A CN 202211579397 A CN202211579397 A CN 202211579397A CN 115828242 A CN115828242 A CN 115828242A
Authority
CN
China
Prior art keywords
software
android
information
node
representation
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
Application number
CN202211579397.5A
Other languages
English (en)
Inventor
李林森
顾旸
邹福泰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202211579397.5A priority Critical patent/CN115828242A/zh
Publication of CN115828242A publication Critical patent/CN115828242A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种基于大型异构图表示学习的安卓恶意软件检测方法,从原始安卓软件应用包中提取元信息中的静态特征和动态特征以构建异构图,通过对异构图中每个安卓软件进行邻居节点采样,得到语义和结构信息,再通过对邻居节点进行归纳式的信息聚合和缩放生成每个安卓软件的矩阵表示,通过多模型训练和模型融合生成包含多个子检测器的检测模块,在实际在线检测阶段采用训练后的检测模块和对新出现的安卓软件的实时表示,实现安卓恶意软件实时细分检测。本发明通过提取静态和动态的混合特征,对图表示学习的生成方法进行改进,基于单一聚合器信息避免信息丢失的同时能够支持对未知安卓软件实时检测,同时基于多模型融合策略实现对安卓恶意软件的具体类别进行精确检测,达到了准确性、实时性和细分性效果。

Description

基于大型异构图表示学习的安卓恶意软件检测方法
技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种基于大型异构图表示学习的安卓恶意软件检测方法。
背景技术
随着智能手机的普及,安卓恶意软件数目激增且给用户造成巨大危害。传统的基于逆向工程的检测方法需要大量人力和时间资源,而现有的基于神经网络的方法仅能基于单个安卓软件的信息进行判断,随着安卓恶意软件的开发技术进步,效果越来越差;于是基于图神经网络的方法被提出以利用安卓软件之间的关联信息。但是现有的方法无法对未知的安卓软件进行实时检测,且现有的基于人工智能的方法均不能对安卓恶意软件所属的具体类别进行检测。现缺少实时的、细分化的安卓恶意软件检测方法。
发明内容
本发明针对现有技术无法同时兼顾静态和动态特征、对原始构图中不存在的安卓软件无法实时检测,即面对新出现的未知的安卓软件需要重新训练模型进行检测,无法达到实时性的效果、无法检测恶意软件的具体类别的不足,提出一种基于大型异构图表示学习的安卓恶意软件检测方法,通过提取静态和动态的混合特征,对图表示学习的生成方法进行改进,基于单一聚合器信息避免信息丢失的同时能够支持对未知安卓软件实时检测,同时基于多模型融合策略实现对安卓恶意软件的具体类别进行精确检测,达到了准确性、实时性和细分性效果。
本发明是通过以下技术方案实现的:
本发明涉及一种基于大型异构图表示学习的安卓恶意软件检测方法,从原始安卓软件应用包中提取元信息中的静态特征和动态特征以构建异构图,通过对异构图中每个安卓软件进行邻居节点采样,得到语义和结构信息,再通过对邻居节点进行归纳式的信息聚合和缩放生成每个安卓软件的矩阵表示,通过多模型训练和模型融合生成包含多个子检测器的检测模块,在实际在线检测阶段采用训练后的检测模块和对新出现的安卓软件的实时表示,实现安卓恶意软件实时细分检测。
所述的原始安卓软件包括:来自开源安卓恶意软件库和可靠安卓软件下载平台的良性软件库下载的原始安卓软件应用包(APK)。
所述的提取元信息是指:对于每一份APK文件,通过开源工具ApkTool进行浅层次解析并获取静态特征和动态特征,包括:该安卓软件的所属机构、该安卓软件所使用的签名、该安卓软件所使用的通用第三方库、该安卓软件所调用的安卓软件开发通用API和该安卓软件所请求的权限。
所述的异构图,包括六类节点,即安卓软件本身、机构名称、签名、第三方库名称、通用API名称和权限名称以及用于指示两个安卓软件之间的关系路径,其中:关系路径包括:某两个软件是否属于同一机构,某两个软件是否拥有同一签名,某两个软件是否调用同一API,某两个软件是否使用同一第三方库,某两个软件是否请求同一权限以及某两个API是否请求同一权限。
所述的邻居节点采样,与先前所有涉及的采样方法不同,单次采样的邻居跳数为二阶以上,即采样目标不仅包含该软件使用的第三方库,通用API,所申请的权限和所拥有的机构名和签名,还包含强相关的其他软件节点,以获取更丰富的语义和机构上的信息。采用基于重启的随机游走策略的采样方法,即从一个节点开始进行随机游走,每步行至下一个邻居节点时,都有大小为p的概率范围初始节点,并在采样过程中能够记录每个邻居节点与目标节点的关联性评分,从而优先选择在游走完成后关联性最高的部分邻居节点,从而能够获取与目标软件强相关的语义和结构信息。
优选地,在采样时会对采样邻居节点的总数目进行限制,确保对于大型安卓软件,采样太多从而引入过多的噪声,从而对每一类节点的采样数目都加以限制,确保能够采样到六种类型的每一类型的节点。
所述的归纳式的信息聚合和缩放是指:通过分类别进行同类型聚合,使用多种聚合器并行地获取不同角度的信息,以避免使用单一聚合器的信息损失的同时,通过缩放器对不同聚合器聚合后的信息进行缩减或者放大,以突出未发生信息丢失的聚合器结果,从而使得生成的表示具有更强的表达性,最终得到节点与矩阵表示函数之间的映射,该映射具有拓展性而不限制在原先构建的异构图上使用。
所述的实时表示是指:当面临新出现的未知安卓软件时,通过上述的邻居采样方法采集固定数目的邻居节点,通过邻居节点信息聚合和缩放所得到的映射函数,既可实时生成矩阵表示送入训练好的检测器进行实时检测。
所述的检测模块基于多个子检测器对每一类别进行检测,并通过模型融合策略融合各个子检测器的结果,并在融合结果为恶意软件时能够输出其所属的某一或某几个类别。
所述的子检测器,基于卷积神经网络的分类器,具体包括:卷积层、池化层和全连接层,最终通过Softmax函数生成输出层,输出层包含两个概率值指示为0或者为1的概率,满足两个概率之和为1,选取概率大的作为子检测器输出,同时产生置信度,在最终输出时,若某一安卓软件属于多个安卓恶意软件类别,则能够按照其置信度从高到低进行排序。
本发明涉及一种实现上述基于大型异构图表示学习的安卓恶意软件检测方法的系统,包括:数据抽取和图构建单元、节点采样单元、表示生成单元和检测器单元,其中:数据抽取和图构建单元从每个安卓APK文件中抽取关键的语义信息,并构建大型异构图以记录下不同安卓软件之间的关联信息;节点采样单元针对每个目标安卓软件及其关联信息采集包括安卓软件本身在内的所有类别的关联邻居节点并抽取出的强相关信息;表示生成单元通过四种聚合方法和一种信息缩放方法,对未发生信息丢失的聚合器进行放大,对发生信息丢失的聚合其结果进行缩小以突出不同安卓软件之间的差异性信息,生成目标安卓软件的矩阵表示;检测器单元基于生成的矩阵表示和数据标记方法,训练具有多个基于卷积神经网络和融合策略的子检测器,并输出恶意软件及其类别置信度的检测结果。
技术效果
相比现有方法均不能对新出现的未知安卓软件实时生成表示,本发明通过实时的安卓软件表示生成,能够获取到不同安卓软件之间的关联信息而不是仅关注单一的需要检测的目标软件,能够生成实时表示以达到实时检测效果,同时在构图时与先前方法不同,同时采集了静态特征和动态特征;本发明进一步基于多模型融合策略,不仅能区分是否为恶意软件,同时还支持输出恶意软件所属的具体类别,支持对目标软件输出所属的多个类别。
附图说明
图1为本发明流程图;
图2为异构图基本框架图;
图3为单一聚合信息丢失示意图;
图4为同类型节点信息聚合图;
图5为缩放器生成示意图;
图6为数据标注示意图;
图7为检测器结构示意图;
图8为模型融合策略示意图。
具体实施方式
如图1所示,为本实施例涉及一种基于大型异构图表示学习的安卓恶意软件检测方法,包括以下步骤:
步骤1)特征提取和异构图构建,具体包括:
1.1)从原始安卓软件应用包(APK)中提取静态特征和动态特征,并基于提取出的特征构建异构图,其中APK中所包含文件类型如表1所示,具体提取的特征为:权限、第三方库、签名、所属机构和API以及之间的关联信息,其中可从Manifest文件中直接提取请求权限列表和第三方库使用列表;可从META-INF目录中获取该安卓软件的签名信息,机构信息和对应证书;使用ApkTool可解析class.dex文件得到smali格式的逆向代码列表,并从中直接解析出调用标准API名称,并进一步获取安卓软件和API之间的调用关系。
表1
Figure BDA0003987479010000041
1.2)基于提取得到的5个特征,构建基础架构如图2所示的异构图。所述的异构图中共有上述六种类型节点,并且存在多种路径指示不同类型节点之间的关系,具体包括:6种类型的路径,即:某一安卓软件被某一签名所认证,某一安卓软件所属某一机构,某一安卓软件请求某一权限,某一软件调用某一API,某一安卓软件使用某一第三方库,以及基于通用API和权限关系映射得到某一API请求某一权限。
基于基础框架定义,长度为2的路径即可表示从观察单一安卓软件中获取不到的信息,例如常见路径软件A——权限B——软件C,即可指示软件A和C请求同一权限,从而能够获取不同安卓软件之间潜在的关联信息。
本实施例中所使用的符号及其说明如表2所示。
表2
Figure BDA0003987479010000042
步骤2)使用基于重启的随机游走策略进行邻居节点采样,具体包括:
2.1)任选一个节点i,在设定其游走的最远阶数k(本实施例中k取3)后开始游走,将其以一定的概率随机转移到其某一邻居节点,并反复迭代直至游走完成,得到两个节点的关联性评分,其中:转移概率和边的权重成正相关,且在每一步,会以概率p返回原点i。迭代稳定后,得到rij就是节点j关于节点i的相关性评分,最终可得到
Figure BDA0003987479010000051
其中:E为单位矩阵,
Figure BDA0003987479010000052
是标准化之后的图的连接权重矩阵,
Figure BDA0003987479010000053
为该节点的初始向量。
2.2)在采样过程中设定采样的邻居节点的总数限制K(本实施例中K取150)以避免采样过多的邻居节点,尤其是跳数过高的邻居节点带来冗余信息,同时对每个类型的节点的采样数目也增加上限设置,以确保能够采样到每个类型的邻居节点,最终对于每一个类型的节点,依据关联性从高至低评分选择与目标安卓软件强相关的邻居节点,完成邻居节点采样。
步骤3)如图5所示,基于采样到的邻居节点和目标节点本身,通过消息传递聚合邻居节点信息以生成目标节点的最终表示,即目标软件的异构图,其中每个节点的初始表示基于Word2Vec进行生成,从而能将词句转化为维度为d=128的向量,具体包括:
3.1)由于信息聚合后的结果无法区分原本不同的邻居节点信息,其中单一聚合器的信息丢失效果如图3所示,因此本实施例依据邻居节点的六种类型,通过四种聚合器分类别并行地进行同类型聚合,分别为:均值聚合器
Figure BDA0003987479010000054
其中:di=|N(i)|,di为节点的维度,N(i)表示节点i的某一类型的邻居;标准差聚合器
Figure BDA0003987479010000055
Figure BDA0003987479010000056
其中:μ(X)代表X的均值,∈是一个极小的偏移量以确保根号下的值大于0,ReLU(x)=max(0,x)为非线性激活函数;n阶矩聚合器
Figure BDA0003987479010000057
Figure BDA0003987479010000058
其中:通常取n的值为3或4,
Figure BDA00039874790100000512
为期望计算公式,在本实施例中同时取n=3和n=4,从而最终得到四个聚合器,即AGGmean、AGGstd、AGG3m和AGG4m
3.2)基于不同聚合器所得到的结果,进一步通过如图4所示的缩放器对于不同聚合器的结果赋予不同大小的权重以进行放大和缩减,即通过每一类型的聚合器的生成的向量表示来计算每一类型聚合器的权重以放大未发生信息丢失的聚合器结果而缩减发生信息丢失的聚合器结果,该权重基于Softmax函数进行计算,具体为Sw=Softmax(FC(Sum(Xp,t(v)),p=
mean,stdormn)),其中:t为某一特定类别,+Sum为求和函数,FC为全连接层,Softmax函数具体为:
Figure BDA0003987479010000059
其中:i表示每一纬度,在本场景中C=4,从而得到一个1×4维向量指示每一个聚合器对应的权重,将权重乘以对应的向量表示,即完成缩放器的功能,得到Xp,t,s(v)。
3.3)将缩放前后的向量一起送入注意力机制,基于注意力机制进行聚合,对于每一个类型的邻居节点集合,得到一个一维向量,具体为:
Figure BDA00039874790100000510
其中:F(v)为缩放前后向量集合加上目标节点初始向量表示后的并集,
Figure BDA00039874790100000511
其中:u是注意力机制的初始参数,LeakyReLU为非线性激活函数;将每个类型邻居节点集合的矩阵表示组合成一个矩阵作为该目标安卓软件的矩阵表示H(v),其维度为6×d,d为先前生成一维向量的维度,即128。
步骤4)对恶意软件的细分类别进行多标签输入输出的方式生成训练样本,并采用训练后的检测模块实时在线检测,具体包括:
4.1)如图6所示,多标签数据标注:用全0的向量来表示良性软件,一旦向量中出现多个维度为1,即意为该安卓软件被判定为多个类别的恶意软件。
4.2)如图7所示,基于模型融合策略,训练多个子检测器以生成最终到检测模块:基于步骤3生成的矩阵表示H(v),并将其作为待训练的子检测器的输入,将是否为该类别的恶意软件作为标签,是该类别恶意软件为1,否则为0。对于上述数据,基于卷积神经网络进行分类,通过设置可学习的过滤器,进行元素乘积求和的卷积操作,并采用最大池化进行下采样,并传入全连接层进行进行信息融合,增强信息表达,并最终基于Softmax函数完成二分类任务的训练。
4.3)如图8所示,通过融合策略将子检测器的检测结果融合:基于预定义的初始化函数即Init函数,将恶意软件的子类别和对应的子检测器一一对应的存入到两个列表当中,对于N类的恶意软件的子类型,融合后的Predict函数的输出为类别与0/1一一对应的的2×N维的矩阵,将其中横向第一维作为类别向量,横向第二维作为指示向量,均为1×N维向量,指示向量的每一维的值与类别向量中对应维度的子类别的检测器的结果对应,最终返回的结果为指示向量中值为1所对应的维度在类别向量中对应的子类别名称,从而达到多标签输出。
当指示向量中只存在一维为1时,该多标签多输出模型则退化为一个简单的多分类模型;当指示向量中所有维度全为0时,即表示所检测的目标软件为一良性软件。
本实施例融合策略后的恶意软检测模块能够向下兼容多个场景,即在面对目标软件本该只属于一个类别的恶意软件或是良性软件时,其本质则变为一个简单的多分类模型,而不局限于多标签输出的场景;但当目标软件属于多个恶意软件类别时,该检测器也能对多个标签进行输出。同时,检测器中并未训练针对于良性软件类别的子检测器,即只有在所有恶意软件类别的子检测器都认为该目标软件为良性软件时,才会输出其为一个良性软件,这本质上是模型融合策略中最常见的投票策略,在本实施例的场景中,通过严格的投票策略使得检测器判定为良性软件的可信度有所提升。
经过具体实际实验,基于两个安卓恶意软件的开源数据集(CCCS-CIC-AndMal-2020和Androzoo)和国内平台所采集的良性软件,其中各自的良性/恶意软件数目如表3所示。
表3
Figure BDA0003987479010000071
其中,本实施例中具体的细分类别的安卓软件数目和其简洁如表4所示:
表4
Figure BDA0003987479010000072
同时本实施例中还统计了top5的恶意软件多标签组合,如表5所示:、
表5
Figure BDA0003987479010000073
在划分数据集时,训练集和测试集的比例为8:2,基于四个评估指标进行评估,分别为精确率precision、召回率recall、F1评分值和受试者曲线下面积AUC,其中:
Figure BDA0003987479010000074
Figure BDA0003987479010000075
首先我们检测了对于恶意软件类别细分的检测效果,这在本实施例中首次提出,能够得到的实验数据如表6所示:
表6
Figure BDA0003987479010000081
同时对于先前的只检测是否为恶意软件的任务进行了效果评估,其结果如表7所示:
表7
Figure BDA0003987479010000082
实验所得到的数据显示本实施例效果达到预期,能够达到足够的准确性来判断是否为安卓恶意软件,以及判断为安卓恶意软件之后所属的具体类别。经过实际测试,当出现新的安卓软件时,从解析单一的APK包到将其融合进异构图的邻接矩阵中并生成对应矩阵表示并基于检测器生成最终的判断结果,总计平均耗时在1128ms左右,达到速度上的要求。同时,由于基于Softmax函数进行判断,能够在输出分类结果的同时输出对应的置信度评分,并将子检测器的结果按照置信度从高至低进行排序。
与现有技术相比,本方法通过恶意软件子类别的检测,并且在每个子类别上取得了较好的表现,使得检测结果更加细致的同时,基于图表示学习方法避免信息丢失,使得在原始的判断是否为恶意软件的任务上各项指标均接近于1,远超现有的所有方法。并且基于邻居采样策略和图表示学习方法,检测实效性得到保障,在面对新出现的未知安卓软件,相比于先前所有工作而言能够达到实时性的效果。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

Claims (8)

1.一种基于大型异构图表示学习的安卓恶意软件检测方法,其特征在于,从原始安卓软件应用包中提取元信息中的静态特征和动态特征以构建异构图,通过对异构图中每个安卓软件进行邻居节点采样,得到语义和结构信息,再通过对邻居节点进行归纳式的信息聚合和缩放生成每个安卓软件的矩阵表示,通过多模型训练和模型融合生成包含多个子检测器的检测模块,在实际在线检测阶段采用训练后的检测模块和对新出现的安卓软件的实时表示,实现安卓恶意软件实时细分检测。
2.根据权利要求1所述的基于大型异构图表示学习的安卓恶意软件检测方法,其特征是,所述的提取元信息是指:对于每一份APK文件,通过开源工具ApkTool进行浅层次解析并获取静态特征和动态特征,包括:该安卓软件的所属机构、该安卓软件所使用的签名、该安卓软件所使用的通用第三方库、该安卓软件所调用的安卓软件开发通用API和该安卓软件所请求的权限;
所述的异构图,包括:安卓软件本身、机构名称、签名、第三方库名称、通用API名称和权限名称以及用于指示两个安卓软件之间的关系路径,其中:关系路径包括:某两个软件是否属于同一机构,某两个软件是否拥有同一签名,某两个软件是否调用同一API,某两个软件是否使用同一第三方库,某两个软件是否请求同一权限以及某两个API是否请求同一权限。
3.根据权利要求1所述的基于大型异构图表示学习的安卓恶意软件检测方法,其特征是,所述的邻居节点采样,采样目标包括该软件使用的第三方库、通用API、所申请的权限和所拥有的机构名和签名以及强相关的其他软件节点,并采用基于重启的随机游走策略的采样方法,即从一个节点开始进行随机游走,每步行至下一个邻居节点时,都有大小为p的概率范围初始节点,并在采样过程中记录每个邻居节点与目标节点的关联性评分,从而优先选择在游走完成后关联性最高的部分邻居节点,从而能够获取与目标软件强相关的语义和结构信息。
4.根据权利要求1所述的基于大型异构图表示学习的安卓恶意软件检测方法,其特征是,所述的归纳式的信息聚合和缩放是指:通过分类别进行同类型聚合,使用多种聚合器并行地获取不同角度的信息,以避免使用单一聚合器的信息损失的同时,通过缩放器对不同聚合器聚合后的信息进行缩减或者放大,以突出未发生信息丢失的聚合器结果,从而使得生成的表示具有更强的表达性,最终得到节点与矩阵表示函数之间的映射,该映射具有拓展性而不限制在原先构建的异构图上使用。
5.根据权利要求1所述的基于大型异构图表示学习的安卓恶意软件检测方法,其特征是,所述的实时表示是指:当面临新出现的未知安卓软件时,通过上述的邻居采样方法采集固定数目的邻居节点,通过邻居节点信息聚合和缩放所得到的映射函数,既可实时生成矩阵表示送入训练好的检测器进行实时检测。
6.根据权利要求1所述的基于大型异构图表示学习的安卓恶意软件检测方法,其特征是,所述的检测模块基于多个子检测器对每一类别进行检测,并通过模型融合策略融合各个子检测器的结果,并在融合结果为恶意软件时能够输出其所属的某一或某几个类别;
所述的子检测器,基于卷积神经网络的分类器,具体包括:卷积层、池化层和全连接层,最终通过Softmax函数生成输出层,输出层包含两个概率值指示为0或者为1的概率,满足两个概率之和为1,选取概率大的作为子检测器输出,同时产生置信度,在最终输出时,若某一安卓软件属于多个安卓恶意软件类别,则能够按照其置信度从高到低进行排序。
7.根据权利要求1-6中任一所述的基于大型异构图表示学习的安卓恶意软件检测方法,其特征是,具体包括:
步骤1)特征提取和异构图构建,具体包括:
1.1)从原始安卓软件应用包(APK)中提取静态特征和动态特征,并基于提取出的特征构建异构图,提取的特征为:权限、第三方库、签名、所属机构和API以及之间的关联信息,其中可从Manifest文件中直接提取请求权限列表和第三方库使用列表;可从META-INF目录中获取该安卓软件的签名信息,机构信息和对应证书;使用ApkTool可解析class.dex文件得到smali格式的逆向代码列表,并从中直接解析出调用标准API名称,并进一步获取安卓软件和API之间的调用关系;
1.2)基于提取得到的特征,构建异构图:该异构图中共有上述节点并存在多种路径指示不同类型节点之间的关系,具体包括:6种类型的路径,即:某一安卓软件被某一签名所认证,某一安卓软件所属某一机构,某一安卓软件请求某一权限,某一软件调用某一API,某一安卓软件使用某一第三方库,以及基于通用API和权限关系映射得到某一API请求某一权限;
步骤2)使用基于重启的随机游走策略进行邻居节点采样,具体包括:
2.1)任选一个节点i,在设定其游走的最远阶数k后开始游走,将其以一定的概率随机转移到其某一邻居节点,并反复迭代直至游走完成,得到两个节点的关联性评分,其中:转移概率和边的权重成正相关,且在每一步,会以概率p返回原点i;迭代稳定后,得到ri,j就是节点j关于节点i的相关性评分,最终可得到
Figure FDA0003987477000000021
其中:E为单位矩阵,
Figure FDA0003987477000000031
是标准化之后的图的连接权重矩阵,
Figure FDA0003987477000000032
为该节点的初始向量;
2.2)在采样过程中设定采样的邻居节点的总数限制K以避免采样过多的邻居节点,尤其是跳数过高的邻居节点带来冗余信息,同时对每个类型的节点的采样数目也增加上限设置,以确保能够采样到每个类型的邻居节点,最终对于每一个类型的节点,依据关联性从高至低评分选择与目标安卓软件强相关的邻居节点,完成邻居节点采样;
步骤3)基于采样到的邻居节点和目标节点本身,通过消息传递聚合邻居节点信息以生成目标节点的最终表示,即目标软件的异构图,其中每个节点的初始表示基于Word2Vec进行生成,从而能将词句转化为维度为d=128的向量,具体包括:
3.1)依据邻居节点的六种类型,通过四种聚合器分类别并行地进行同类型聚合,分别为:均值聚合器
Figure FDA0003987477000000033
其中:di=|N(i)|,di为节点的维度,N(i)表示节点i的某一类型的邻居;标准差聚合器
Figure FDA0003987477000000034
其中:μ(X)代表X的均值,∈是一个极小的偏移量以确保根号下的值大于0,ReLU(x)=max(0,x)为非线性激活函数;n阶矩聚合器
Figure FDA0003987477000000035
其中:通常取n的值为3或4,
Figure FDA0003987477000000036
为期望计算公式,在本实施例中同时取n=3和n=4,从而最终得到四个聚合器,即AGGmean、AGGstd、AGG3m和AGG4m
3.2)基于不同聚合器所得到的结果,进一步通过缩放器对于不同聚合器的结果赋予不同大小的权重以进行放大和缩减,即通过每一类型的聚合器的生成的向量表示来计算每一类型聚合器的权重以放大未发生信息丢失的聚合器结果而缩减发生信息丢失的聚合器结果,该权重基于Softmax函数进行计算,具体为Sw=Softmax(FC(Sum(Xp,t(v)),p=mean,stdormn)),其中:t为某一特定类别,Sum为求和函数,FC为全连接层,Softmax函数具体为:
Figure FDA0003987477000000037
其中:i表示每一纬度,在本场景中C=4,从而得到一个1×4维向量指示每一个聚合器对应的权重,将权重乘以对应的向量表示,即完成缩放器的功能,得到Xp,t,s(v);
3.3)将缩放前后的向量一起送入注意力机制,基于注意力机制进行聚合,对于每一个类型的邻居节点集合,得到一个一维向量,具体为:
Figure FDA0003987477000000038
其中:F(v)为缩放前后向量集合加上目标节点初始向量表示后的并集,
Figure FDA0003987477000000039
其中:u是注意力机制的初始参数,LeakyReLU为非线性激活函数;将每个类型邻居节点集合的矩阵表示组合成一个矩阵作为该目标安卓软件的矩阵表示H(v),其维度为6×d,d为先前生成一维向量的维度,即128;
步骤4)对恶意软件的细分类别进行多标签输入输出的方式生成训练样本,并采用训练后的检测模块实时在线检测,具体包括:
4.1)多标签数据标注:用全0的向量来表示良性软件,一旦向量中出现多个维度为1,即意为该安卓软件被判定为多个类别的恶意软件;
4.2)基于模型融合策略,训练多个子检测器以生成最终到检测模块:基于步骤3生成的矩阵表示H(v),并将其作为待训练的子检测器的输入,将是否为该类别的恶意软件作为标签,是该类别恶意软件为1,否则为0;对于上述数据,基于卷积神经网络进行分类,通过设置可学习的过滤器,进行元素乘积求和的卷积操作,并采用最大池化进行下采样,并传入全连接层进行进行信息融合,增强信息表达,并最终基于Softmax函数完成二分类任务的训练;
4.3)通过融合策略将子检测器的检测结果融合:基于预定义的初始化函数即Init函数,将恶意软件的子类别和对应的子检测器一一对应的存入到两个列表当中,对于N类的恶意软件的子类型,融合后的Predict函数的输出为类别与0/1一一对应的的2×N维的矩阵,将其中横向第一维作为类别向量,横向第二维作为指示向量,均为1×N维向量,指示向量的每一维的值与类别向量中对应维度的子类别的检测器的结果对应,最终返回的结果为指示向量中值为1所对应的维度在类别向量中对应的子类别名称,从而达到多标签输出。
8.一种实现权利要求1-7中任一所述基于大型异构图表示学习的安卓恶意软件检测方法的系统,其特征在于,包括:数据抽取和图构建单元、节点采样单元、表示生成单元和检测器单元,其中:数据抽取和图构建单元从每个安卓APK文件中抽取关键的语义信息,并构建大型异构图以记录下不同安卓软件之间的关联信息;节点采样单元针对每个目标安卓软件及其关联信息采集包括安卓软件本身在内的所有类别的关联邻居节点并抽取出的强相关信息;表示生成单元通过四种聚合方法和一种信息缩放方法,对未发生信息丢失的聚合器进行放大,对发生信息丢失的聚合其结果进行缩小以突出不同安卓软件之间的差异性信息,生成目标安卓软件的矩阵表示;检测器单元基于生成的矩阵表示和数据标记方法,训练具有多个基于卷积神经网络和融合策略的子检测器,并输出恶意软件及其类别置信度的检测结果。
CN202211579397.5A 2022-12-08 2022-12-08 基于大型异构图表示学习的安卓恶意软件检测方法 Pending CN115828242A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211579397.5A CN115828242A (zh) 2022-12-08 2022-12-08 基于大型异构图表示学习的安卓恶意软件检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211579397.5A CN115828242A (zh) 2022-12-08 2022-12-08 基于大型异构图表示学习的安卓恶意软件检测方法

Publications (1)

Publication Number Publication Date
CN115828242A true CN115828242A (zh) 2023-03-21

Family

ID=85545645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211579397.5A Pending CN115828242A (zh) 2022-12-08 2022-12-08 基于大型异构图表示学习的安卓恶意软件检测方法

Country Status (1)

Country Link
CN (1) CN115828242A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116305995A (zh) * 2023-03-27 2023-06-23 清华大学 结构体系的非线性分析方法及装置、设备及介质
CN117113350A (zh) * 2023-09-11 2023-11-24 上海计算机软件技术开发中心 基于路径自适应的恶意软件检测方法、系统及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116305995A (zh) * 2023-03-27 2023-06-23 清华大学 结构体系的非线性分析方法及装置、设备及介质
CN116305995B (zh) * 2023-03-27 2023-11-07 清华大学 结构体系的非线性分析方法及装置、设备及介质
CN117113350A (zh) * 2023-09-11 2023-11-24 上海计算机软件技术开发中心 基于路径自适应的恶意软件检测方法、系统及设备
CN117113350B (zh) * 2023-09-11 2024-05-28 上海计算机软件技术开发中心 基于路径自适应的恶意软件检测方法、系统及设备

Similar Documents

Publication Publication Date Title
CN112003870B (zh) 一种基于深度学习的网络加密流量识别方法及装置
CN115828242A (zh) 基于大型异构图表示学习的安卓恶意软件检测方法
CN109510737A (zh) 协议接口测试方法、装置、计算机设备和存储介质
US11657601B2 (en) Methods, devices and systems for combining object detection models
August et al. AI naturalists might hold the key to unlocking biodiversity data in social media imagery
WO2019169978A1 (zh) 资源推荐方法及装置
Gao et al. Android malware detection via graphlet sampling
JP2011198364A (ja) 媒体文書へのラベル添加方法及び該方法を用いるシステム
CN108304328A (zh) 一种众包测试报告的文本描述生成方法、系统及装置
CN115035347A (zh) 图片识别方法、装置及电子设备
Chua et al. Problem Understanding of Fake News Detection from a Data Mining Perspective
CN112100452B (zh) 数据处理的方法、装置、设备及计算机可读存储介质
CN111444364B (zh) 一种图像检测方法和装置
CN111951008A (zh) 一种风险预测方法、装置、电子设备和可读存储介质
US11321843B1 (en) Adaptive machine learning system for image based biological sample constituent analysis
US11681966B2 (en) Systems and methods for enhanced risk identification based on textual analysis
CN111860655B (zh) 用户的处理方法、装置和设备
CN113935034A (zh) 基于图神经网络的恶意代码家族分类方法、装置和存储介质
Apoorva et al. Analysis of uniform resource locator using boosting algorithms for forensic purpose
CN111695031A (zh) 基于标签的搜索方法、装置、服务器及存储介质
CN111611981A (zh) 信息识别方法和装置及信息识别神经网络训练方法和装置
Banerjee et al. Quote examiner: verifying quoted images using web-based text similarity
Ampel et al. Disrupting Ransomware Actors on the Bitcoin Blockchain: A Graph Embedding Approach
CN117058432B (zh) 图像查重方法、装置、电子设备及可读存储介质
CN116383029B (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