首页> 中国专利> 基于API调用序列行为多视角融合的恶意软件检测方法

基于API调用序列行为多视角融合的恶意软件检测方法

摘要

一种基于API调用序列行为多视角融合的恶意软件检测方法,在离线阶段根据待测软件的API调用序列分别生成API关系图和API簇多阶转移矩阵作为训练样本;通过基于图卷积对比网络模型分别从API关系图中提取存在性特征向量,从API簇多阶转移矩阵中提取转移特征向量并通过分类器的分类结果计算损失函数并用反向传播算法优化模型,从而在在线阶段进行多视角融合的恶意软件检测。本方明融合软件的API存在性特征与API转移特征用于恶意软件检测分类,能够在真实情况下取得良好的分类表现。

著录项

  • 公开/公告号CN115982706A

    专利类型发明专利

  • 公开/公告日2023-04-18

    原文格式PDF

  • 申请/专利权人 上海交通大学;

    申请/专利号CN202211720629.4

  • 发明设计人 吴鹏;高墨涵;潘理;

    申请日2022-12-30

  • 分类号G06F21/56;G06F18/24;G06N3/084;G06F18/214;G06F18/25;G06N3/045;G06N3/0464;

  • 代理机构上海交达专利事务所;

  • 代理人王毓理;王锡麟

  • 地址 200240 上海市闵行区东川路800号

  • 入库时间 2023-06-19 19:30:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-05

    实质审查的生效 IPC(主分类):G06F21/56 专利申请号:2022117206294 申请日:20221230

    实质审查的生效

说明书

技术领域

本发明涉及的是一种信息安全领域的技术,具体是一种基于API调用序列行为多视角融合的恶意软件检测方法。

背景技术

恶意软件是任何旨在对计算机造成破坏或者占用目标计算机资源的程序,在进入计算机后会用可执行代码,脚本等方式对目标计算机网络造成损害。应用程序编程接口(API)调用是一种典型的动态特征,基于API调用的恶意软件检测方法能够有效的检测分类恶意软件。

现有的基于深度学习的恶意软件检测方法主要使用循环神经网络对API调用序列进行分类。这类方法通常需要对过长的API序列进行截断,这导致API调用信息的丢失,也导致其在学习复杂的长序列时效果不佳。循环神经网络需要大量带标签数据进行训练,且对数据平衡性要求较高,所以该方法在各个类别的样本量极不均衡的不平衡数据集上表现不佳,也无法应对标签稀缺的半监督训练场景。

发明内容

本发明针对现有通过静态特征的恶意软件检测技术容易受到加密、封装、加壳等手段的欺骗且不能捕捉恶意软件更加深层的行为特征,导致误报率高的缺点,提出一种基于API调用序列行为多视角融合的恶意软件检测方法,融合软件的API存在性特征与API转移特征用于恶意软件检测分类,能够在真实情况下取得良好的分类表现。

本发明是通过以下技术方案实现的:

本发明涉及一种基于API调用序列行为多视角融合的恶意软件检测方法,在离线阶段根据待测软件的API调用序列分别生成基于节点互信息(PMI)的API关系图和基于嵌入向量相似度的API关系图作为训练样本;通过基于图卷积对比网络模型分别从API关系图中提取存在性特征向量,从API簇多阶转移矩阵中提取转移特征向量并通过分类器的分类结果计算总损失函数并用反向传播算法优化模型,从而在在线阶段进行多视角融合的恶意软件检测。

所述的API调用序列是指:待测软件s

所述的API关系图,以API作为节点,基于API之间的关系构建边并计算边权重,包括基于节点互信息(PMI)的API关系图和基于嵌入向量相似度的API关系图。

所述的基于PMI的API关系图,通过以下方式构建:根据节点互信息定义API之间的边权重,API节点对a

所述的基于嵌入向量相似度的API关系图,通过以下方式构建:基于API嵌入的余弦向量相似度构建API之间的边,API节点对a

所述的从API关系图中提取存在性特征向量,具体包括:

步骤1)使用基于图卷积对比网络模型分别得到基于节点互信息(PMI)的API关系图和基于嵌入向量相似度的API关系图中的存在性特征向量

步骤2)基于混合正样本策略构建正样本集合P

步骤3)计算API存在性特征对比损失函数L

步骤4)将z

所述的API簇是指:根据word2vec算法得到待测软件的API嵌入向量,再使用K-means对API嵌入向量进行聚类,最后将API调用序列中的API名称替换为簇编号得到API簇序列。

所述的API簇多阶转移矩阵是指:两组具有不同API簇位置顺序的API簇多阶转移矩阵,用于记录API簇之间的多跳转移关系,构建方法具体为:将API簇序列视为马尔可夫链,将API簇视为状态,计算得到API簇序列的转移概率矩阵,转移概率矩阵的n次幂即为API簇之间的n阶转移矩阵,将1至3阶转移矩阵按通道拼接得到多阶状态转移矩阵。

所述的从API簇多阶转移矩阵中提取转移特征向量,具体包括:

步骤a)构建不同API簇位置顺序的多阶状态转移矩阵M

步骤b)计算API转移特征对比损失函数L

步骤c)将

所述的总损失函数L=L

本发明涉及一种实现上述方法的系统,包括:API存在性特征提取单元、API转移特征提取单元以及特征融合单元,其中:API存在性特征提取单元根据API关系图,进行图对比学习,得到软件的API存在性特征向量,API转移特征提取单元根据API簇多阶转移矩阵,在不同位置顺序的多阶状态转移矩阵间展开基于卷积神经网络的对比学习,得到软件的API转移性特征,特征融合单元融合了软件的API存在性特征与API转移特征,借助分类器得到软件的分类结果。

技术效果

本发明基于节点互信息(PMI)与嵌入向量相似度构建两种API关系图,并使用图对比网络在两种关系图中提取API存在性特征,充分利用API之间复杂而丰富的关联关系;使用混合正样本选择策略定义图对比网络中的正样本集合,根据TF-IDF向量相似度定义出正样本对后引入标签信息进行微调以更好的适应半监督学习场景;将1至3阶转移矩阵按通道拼接得到API簇多阶状态转移矩阵,并使用基于卷积神经网络的对比网络在不同位置顺序的多阶状态转移矩阵间提取API转移特征以挖掘软件更为深层的API转移特征。与现有技术相比,本发明能够在不平衡数据集中与带标签样本稀缺时准确检测出恶意软件。

附图说明

图1为本发明流程图。

图2为实施例系统示意图。

具体实施方式

如图1所示,为本实施例涉及一种基于API调用序列的多视角融合恶意软件检测方法,包括如下步骤:

步骤1、输入软件集合

步骤2,根据API调用序列构建基于节点互信息的图G

节点互信息通过查看两个API的共现频率来衡量它们之间的相关性。值为正表示语料库中API的语义相关性较高,而值为负表示语料库中的语义相关性很小或没有。因此,本实施例在具有正PMI值的API对之间添加边。基于节点互信息的图中API节点对a

word2vec由Mikolov等人于2013年在“Efficient estimation of wordrepresentations in vector space”中提出,能够通过上下文推断来得到词汇的表征向量,让具有相似功能的词汇在高维空间中彼此靠近。在通过word2vec得到API嵌入后,我们通过计算表征空间中的距离为每个API选定功能最接近的n个邻居,在它们之间添加边。基于嵌入向量相似度的图中API节点对a

步骤3,基于图卷积对比网络模型从两种API关系图中学习软件的存在性特征向量z

为上述特征中的共享一致性特征,本实施例使用图对比学习框架来提取软件的API存在性特征。首先,本实施例使用两个多层感知机(MLP)分别将它们映射到计算损失函数的空间:

API存在性特征的对比损失函数为:

步骤4,根据API调用序列构建两组具有不同API簇位置顺序的API簇多阶转移矩阵,记录API簇之间的多跳转移关系。本实施例在用word2vec得到每个API的嵌入向量后使用k-means算法进行聚类,并通过将API调用序列中的API替换为包含该API的簇名称把原始的API调用序列转换为API簇序列。本实施例中API的聚类数量为200。

本实施例将API簇视为状态构建马尔科夫链,每个软件的API调用序列都对应一个API簇的转移概率矩阵。转移概率矩阵描述的是两个API簇之间的单跳转移关系。有些软件为隐藏自己的目的,可能会在两次重要的API调用之间插入一些“噪声”API。因此,为表达API之间这种远距离转移关系,本实施例使用n阶转移概率矩阵,即原转移概率矩阵的n次幂计算API之间的n阶转移矩阵,并将1,2,3阶转移矩阵拼接得到多阶状态转移矩阵。

步骤5,基于卷积对比学习框架从两组API簇多阶转移矩阵学习软件的转移特征向量z

步骤6,构建分类器并输入串接后的API存在性特征与API转移特征,基于分类结果定义总损失函数L=L

本实施例将软件的API存在性特征向量z

经过具体实际实验,在以下环境设置下进行实施:CPU Intel(R)Xeon(R)CPU E5-2630 v4@2.20GHz,GPU NVIDIA TITAN RTX,RAM 128.00GB,操作系统centos7,仿真环境python。

在五个真实的恶意软件数据集上进行实验来评估算法的效率和效果。五个真实恶意软件数据集为ACMD,ACSAC,Malapi2019,csv9和apimds。ACMD包含13887个文件的行为信息,调用记录89806693条,涉及操作系统内308个API。数据集中恶意文件的类型有感染型病毒、木马程序、挖矿程序、DDOS木马、勒索病毒等。ACSAC包含5000个正常软件的行为信息,以及5079个恶意软件的信息,恶意文件的类型有感染型病毒、木马程序、挖矿程序、DDOS木马、勒索病毒等。Malapi2019包含7107个恶意软件信息,涉及病毒、后门程序、DDOS程序等8种恶意类型。Csv9数据集包含100个正常软件样本和452个恶意软件样本,恶意程序类型包括木马程序,后门程序,蠕虫病毒与感染性病毒四种类型。Apimds包含17125个恶意软件的行为信息,其中:包含九种恶意软件类型。本实施例将每个软件在执行过程中调用的API按照时间顺序拼接成一个API调用序列。

本实施例在仿真实验中用MINES表示。将本实施例与四个其他的恶意软件检测方法进行仿真对比。这四个方法如下,Gao等人于2022年在国际会议《InternationalConference on Information and Communications Security》上发表的“MalwareDetection with Limited Supervised Information via Contrastive Learning on APICall Sequences”中提出的SCLMD方法,使用基于循环神经网络的多次注意力机制提取API调用序列的时序信息特征向量,使用图注意力机制得到软件节点的结构性特征向量,在两种特征向量之间展开对比学习得到软件的表征向量进行分类。Gao等人于2021年在《Computers&Security》上发表文章“GDroid:Android malware detection andclassification with graph convolutional network”中提出的GDroid方法,Chai等人于2020年在《International Wireless Communications and Mobile Computing》上发表文章“LGMal:A joint framework based on local and global features for malwaredetection”中提出的LGMal方法,Enrico等人于2016年在《Network and DistributedSystem Security Symposium》上发表论文“Mamadroid:Detecting android malware bybuilding markov chains of behavioral models”提出MaMadroid方法。本实施例的参数设置如下,选用70%的数据作为训练集,10%作为验证集,20%作为测试集。学习率设置为0.0001,训练批次大小为100,温度系数τ设置为0.5,每个软件的表征向量设置为256.

表1为本实施例和多个已有方法在ACMD、ACSAC、Malapi2019、csv9和apimds五个数据集上的恶意软件检测分类性能对比。

与现有技术相比,本方法在ACMD、ACSAC、Malapi2019、Csv9、Apimds数据集中相比于次优算法分别提升了9.69%、7.27%、34.55%、5.78%、3.52%。值得注意的是MINES在Malapi2019数据集下取得了最大的领先。Malapi2019中软件的API序列长度普遍较长,其中包含大量噪声,而且不同种类API之间数量差异巨大,属于典型的不平衡数据集。本方法基于两种方法构建了API关系图来描述API之间复杂而丰富的关联关系,在性能上优于图构建方式单一的GDroid、LGMal与SCLMD。本方法构建了API簇序列的多阶状态转移矩阵来描述API转移关系,并采用基于卷积神经网络的对比网络提取API转移特征,在性能上优于仅对转移概率矩阵使用主成分分析(PCA)的MaMadroid。

将本实施例与上述四个恶意软件检测方法在标签稀缺的情况下进行仿真对比。随机选取20%、10%与5%的训练样本开放标签,其余样本均将标签屏蔽掉,以此模拟带标签样本稀缺的半监督训练环境。仍将数据集的10%作为验证集,20%作为测试集。

表2为本实施例和多个已有方法在ACMD数据集上在带标签数据较少情况下的恶意软件检测分类性能对比。

与现有技术相比,本方法在20%、10%、5%的标签开放率的情况下相较于次优算法分别提升了7.73%,7.93%和5.39%。本方法使用图对比网络与基于卷积神经网络的对比网络提取软件的API存在性特征与API转移特征,对比网络是一种自监督训练框架,无需标签信息就可以训练。同时,本方法采用混合正样本选择策略定义图对比网络的正样本集合,可以充分利用有限的标签信息指导训练。以上原因导致本方法相较于其他方法在标签稀疏的情况下性能有大幅领先。

上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号