关键词:
恶意软件检测
静态分析
安卓恶意软件检测
函数调用图
摘要:
现今,随着移动互联网的蓬勃发展,安卓平台上的恶意软件呈现出愈发隐蔽、多样化的趋势,给用户的信息安全带来了严重威胁。恶意软件的制作者利用各种技术手段,包括代码混淆、动态加载、反调试等,使得其在安卓设备上的植入变得更加难以察觉和防范。传统的安卓恶意软件检测方法虽然在一定程度上能够应对已知类型的恶意软件,但面对不断涌现的新型变种和未知攻击手段时往往束手无策。在这样的背景下,传统的基于特征工程的恶意软件检测方法逐渐显露出一些局限性。静态分析主要依赖于应用的静态特征,如权限请求、代码签名等,但这些特征易受恶意软件的伪装和欺骗,导致误报率较高。动态分析则需要在真实环境中模拟应用的执行,并监视其行为,但这种方法可能会影响应用的性能和用户体验,并且无法完全保证检测结果的准确性。因此,如何有效地提高安卓恶意软件检测的准确性和鲁棒性成为了当前研究的重要课题。
为了解决这些问题,本文的工作如下:
(1)为解决单一函数调用图难以揭示恶意软件深层次语义信息的问题,本文提出了一种基于增强敏感API信息的安卓恶意软件检测方法。该方法对调用图节点进行内部节点与外部依赖节点的双分类,分别采用操作码序列与API包进行语义与外部依赖关系的信息补充。紧接着引入敏感API列表的TF-IDF重要性度量,筛选出前200个关键API作为节点附加属性,以增强模型对恶意行为的识别能力。经信息增强的调用图通过图卷积神经网络进行深度学习与分类,实验证明该方法显著提升了检测性能。
(2)针对函数调用图的复杂度过高导致训练时时间过长的问题文提出了一种新的精简调用图和改进的基于图卷积神经网络的方法。该方法使用筛选后的敏感API确定函数调用图的敏感节点,为了进一步丰富和精确评估各个节点的重要性,本文还引入了Page Rank算法进行节点权重计算。通过Page Rank,可以基于节点在整个调用网络中的影响力来判定其重要性,并优先保留这些具有高重要性的节点,从而保证即使在精简后的调用图中,依然能够反映出程序的关键结构与行为特征。在分类模型中使用改进后的图卷积神经网络模型,即结合Graph SAGE与LSTM算法,通过在公共数据集上实验。结果显示提出的方法可以有效减少时间和GPU占用,并提高了检测精度。