摘要

由于Windows系统用户众多,针对于Windows系统的恶意软件层出不穷,但是目前对windows恶意软件的识别准确率不是很高,而且大多是单独基于API序列进行分析。这种方式只能捕捉恶意软件的行为时间信息,并无法获取其行为之间的拓扑结构和行为之间的联系。本文使用动态检测方式,将CUCKOO沙箱中得到的恶意软件的报告转化为图结构数据,并根据其API的多线程调用信息,得到该恶意软件的诸多子图。同时,本文还创新性对恶意软件调用的序列信息进行提取,根据其两边节点组成相应边节点。最终本文将得到的恶意软件图表示输入至图神经网络中进行学习,在经过TopK池化后读出至全连接层进行分类。本文使用的方法在分类准确率上相比于之前的方法有着非常大的提升,二分类测试集准确率达到了99.2%,超过恶意软件的其他方法。同时消融实验也显示了算法的有效性。