技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于多模态特征融合的Android恶意软件检测方法  >  正文

一种基于多模态特征融合的Android恶意软件检测方法

  • 国知局
  • 2024-07-31 22:57:47

背景技术:

1、随着移动互联网通信技术的迅猛发展和硬件设备性能的显著提升,移动设备及其应用已深入渗透到我们日常生活的各个方面。其中,android操作系统凭借其开源性以及易用性,在移动设备操作系统领域占据了广阔的市场。然而大量的用户也意味着众多的潜在受害者,众多攻击者也将android操作系统作为攻击目标,通过开发恶意软件来达到隐私窃取、系统破坏以及诱骗欺诈等目的。因此,有效检测android操作系统上的恶意软件已经成为学术界和工业界关注的重点。

2、基于静态检测的恶意软件检测技术是目前受到广泛关注的一种恶意软件检测方式。区别于动态检测方式,静态检测不需要在特定的沙箱环境下实际执行应用文件,在运算资源以及时间消耗上更具优势,同时也避免了触发恶意行为对分析环境或系统的造成损害。此外,静态检测过程中对原始文件中的所有代码及资源进行分析,往往可以关注到那些在实际执行时可能难以触发的分支路径,这为应用程序分析提供了一个更全面的视角。

3、最基础的静态检测技术是通过对比已知的恶意软件的签名(特征码)来识别恶意应用,这种方式可以快速的识别出已知的恶意软件,但是在面对新兴的恶意软件或是已有恶意软件变体的时候无法做到准确识别。目前,研究人员往往利用反编译技术将原始的apk文件反编译成为可读性较高的文件,并通过特征工程从中提取权限特征、操作码特征、api语义特征以及可视化的图片特征,结合机器学习技术完成恶意软件分析。然而传统的静态特征提取方式往往存在着不足,比如恶意软件可视化的图片特征直接将二进制转换为灰度图,这样可能会导致获取的可视化的图片中包含了大量的噪声信息;api序列往往通过动态执行apk来获取,这需要消耗大量的时间以及计算资源。此外现有的恶意软件检测技术往往只专注于某一种静态特征,这使得这类检测方法无法利用到各个模态特征之间信息的互补性。

技术实现思路

1、本专利针对上述的核心问题提出了一种基于多模态特征融合的android恶意软件检测方案,旨在解决一般的静态检测方法中所利用的单模态特征无法全面的表征应用文件特征的问题。通过特征工程从原始应用文件中可以提取的静态特征是多种多样的,不同的静态特征所考虑的侧重点不同。在应用权限上,恶意软件常常请求一些不常见或者不必要的权限;此外,恶意代码片段在程序结构以及功能块上与正常软件不同,这也导致它会在可视化的图像中表现出特定的纹理、形状和样式。同时,应用程序功能的实现依赖于底层api之间的调用关系,恶意行为的api调用序列也与正常软件之间有着明显的区别。综上所述,本专利拟采用权限特征,apk二进制文件的可视化图片特征以及api调用序列的语义特征三种模态的特征作为基本的单模态,并在三个模态的基础上构建融合特征用于最后的分类检测,通过使用各种模态之间的互补信息,提高最终检测模型的准确性和鲁棒性。针对传统的二进制灰度图存在大量无关噪声的问题,提出一种获取apk增强图像的方式,以期可以更全面准确的通过rgb图像来表征apk文件;针对api序列的获取,采用了从函数调用图获取api调用序列的方式,从而避免动态执行方式大量的计算资源的开销。

2、本专利所述的基于多模态融合的android恶意软件检测方法的整体结构如图1所示,主要由五部分组成,分别为:(1)数据收集模块,深度学习模型的训练需要大量的数据样本作为支撑,本专利从androzoo以及virusshare公开数据集中收集模型训练所需的原始数据样本。(2)数据预处理模块,通过逆向工程对原始的应用文件进行分析,将被编译成特殊二进制格式的androidmainfest文件解析成原本的格式,并通过反编译dalvik虚拟机的dex格式的执行文件来获取可读性更高的smail文件。为后续的特征提取做好准备。(3)特征提取模块,利用特征工程从反编译后的应用文件中获取本专利用到的单模态特征。由权限特征提取模块,增强apk可视化图片特征提取模块以及api序列语义特征提取模块三个子模块构成。权限特征提取模块通过解析androidmainfest配置文件来获取权限特征;增强apk可视化图片特征提取模块则在r、g、b三个通道中分别编码不同的信息,并通过神经网络模型来获取对应的图片特征。api序列语义特征提取模块则通过解析原始apk的函数调用图来获取api序列,并通过神经网络模型来提取语义特征。(4)特征融合模块,包括特征降维以及特征融合模块。特征降维模块目的是将高维的图片特征以及api语义特征降维至和权限特征相似大小的维度空间,避免在特征融合过程中产生维度爆炸的问题。特征融合模块则是负责将经过降维后三个相似大小的特征空间融合在一起,作为原始apk文件的统一表征,用于后续的分类检测。(5)检测分类模块,利用上一步获取到的融合特征来训练支持向量机,完成最终对恶意软件的检测。

3、本专利所述基于多模态特征融合的android恶意代码检测方法流程如图2所示,详细描述如下:

4、step 1:基于多模态特征融合的方案首先要对收集到的原始的apk文件进行反编译,并将反编译后获取的文件内容进行保存,包括原始的dex文件,反编译后的androidmainfest.xml文件以及smail文件。

5、step 2:从反编译后的文件内容中提取具体用到的权限信息,并根据dex文件以及opcode序列获取增强的apk应用文件可视化图片表征,解析原始文件的函数调用图,通过排除第三方api调用以及将api抽象为对应的包层次的方式来简化api调用图,

6、step 3:使用词频将上一步获取的权限信息转换为特征向量,并利用深度学习网络从增强的可视化图片中以及抽象后的api序列中提取特征向量。

7、step 4:利用自动编码器将高维的图像特征以及api语义特征降维至与权限特征空间相似大小的特征向量空间中,同时采用残差连接的方式,对三种模态的特征向量融合。

8、step 5:使用这些融合后的特征向量作为输入,对分类器进行训练。训练过程中分类器通过分析特征与对应标签之间的关系,学习如何区分不同的类别,在训练完成后,通过在验证数据集上评估模型的准确性、召回率以及f1得分等指标,并根据这些指标对训练过程中的超参数进行微调,以取得更好的结果。

9、step 6:在获取到经过充分训练和验证的模型后,就可以用于实际检测任务,新的数据实例通过step1-step4的过程获取对应的融合特征向量,step5中训练好的模型根据这个向量产生最终的检测结果,识别数据实例是恶意还是良性。

10、本专利所述的基于多模态特征融合的android恶意软件检测系统解决了传统的检测系统依赖于单模态特征无法全面对原始应用文件进行分析的问题。首先对apk文件进行反编译,通过androidmainfest文件获取权限特征,然后将原始的dex文件,dex文件的结构信息以及操作码序列编码至rgb图像的不同通道以增强可视化图片对原始apk应用文件的表征能力。通过对函数调用图进行简化和抽象,并采用拓扑排序方法提取api调用序列,获取经过简化且在最大程度上保留了原始api调用序列结构与语义特征的表示。最后通过特征融合网络将上述三种特征融合起来,用于最后检测模型的训练和分类。这种基于融合特征向量的分类器训练和检测方法允许系统从不同的特征中学习并利用这些特征的联合表示能力,从而在处理复杂和多变的数据时,比单一特征源的方法更加有效和准确,极大的提升了模型的准确率和鲁棒性。

本文地址:https://www.jishuxx.com/zhuanli/20240730/195499.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。