基于动态API的安卓高隐蔽型恶意软件检测方法与系统

专利检索2025-01-05  30


本发明属于安卓恶意软件检测,尤其涉及一种基于动态api的安卓高隐蔽型恶意软件检测方法与系统。


背景技术:

1、智能手机操作系统中,安卓系统的占比较大,且逐年递增。随着互联网的兴起,恶意软件的传播越来越广泛,安卓安全也面临着越来越严峻的挑战,日益复杂化的恶意软件正在给用户经济造成无法挽回的损失,因此阻止恶意软件的泛滥至关重要。

2、目前常见的安卓恶意软件检测方法主要有静态、动态和混合三种。

3、静态检测方法主要提取应用软件的静态资源,所需资源少,检测效率高,安卓恶意软件静态方法研究中使用了多种静态特征,比如权限特征,经统计得出良性软件和恶意软件对于危险权限的使用差别较大;api特征,良性软件和恶意软件中的api种类、数量和api调用序列的模式存在差异。

4、动态检测方法主要是收集软件运行时的多种特征进行检测分类,一般选择在沙箱环境或真实设备中运行安卓软件以提取所需特征,常见特征为系统调用或网络流量。主要是通过对目标软件在模拟器中运行时利用模拟点击、行为触发等方式,对特定特征进行监控和记录,通过监测到的动态特征结合机器学习模型进一步分析恶意软件和良性软件之间的差异性从而进行二分类。

5、混合方式则是同时使用动态特征和静态特征进行检测。

6、尽管现有的安卓恶意检测方法在不断发展和改进,但仍然还存在一些不足:

7、静态检测方法主要关注软件的静态特征,容易受到对抗性攻击,恶意开发者可以使用代码混淆等技术,使得提取的特征不再准确反映软件的实际行为,而且静态检测对于动态生成的恶意代码或通过远程服务器下载的恶意负载分析效果较差。

8、动态检测方法中,首先,沙箱检测的运行时间难以固定,为了获取更多有效特征则可能需要较长时间,在安卓软件大规模增长的情况下,单个软件的检测时长过长,影响大规模软件检测效率。其次,不同设备上软件行为的差异性增加了动态检测的复杂性。此外,对抗性攻击可能规避动态检测,包括检测运行环境和通过动态加载绕过检测。最后,动态检测难以捕捉长期隐匿行为,导致延迟恶意行为的发现。


技术实现思路

1、本发明的目的在于针对现有技术的不足,提供基于动态api的安卓高隐蔽型恶意软件检测方法与系统。

2、第一方面,本发明实施例提供了一种基于动态api的安卓高隐蔽型恶意软件检测方法,所述方法包括:

3、对待检测的安卓软件根据api选取标准进行特征提取,得到待检测的安卓软件的api行为序列;

4、将待检测的安卓软件的api行为序列输入至预先训练好的类自然语言处理模型,预测得到api特征化序列向量;将api特征化序列向量输入至预先训练好的分类层,得到方法级api序列;

5、利用词频-逆文档频率法对方法级api序列进行编码,将编码后的方法级api序列输入至预先训练好的序列分类器,得到安卓软件判断结果。

6、第二方面,本发明实施例提供了一种基于动态api的安卓高隐蔽型恶意软件检测系统,用以实现上述的基于动态api的安卓高隐蔽型恶意软件检测方法,所述系统包括:

7、特征提取模块,用于对待检测的安卓软件根据api选取标准进行特征提取,得到待检测的安卓软件的api行为序列;

8、行为预测模块,将待检测的安卓软件的api行为序列输入至预先训练好的类自然语言处理模型,预测得到api特征化序列向量;将api特征化序列向量输入至预先训练好的分类层,得到方法级api序列;

9、序列分类模块,利用词频-逆文档频率法对方法级api序列进行编码,将编码后的方法级api序列输入至预先训练好的序列分类器,得到安卓软件判断结果。

10、第三方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的基于动态api的安卓高隐蔽型恶意软件检测方法。

11、第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的基于动态api的安卓高隐蔽型恶意软件检测方法。

12、第五方面,本发明实施例提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现上述的基于动态api的安卓高隐蔽型恶意软件检测方法。

13、与现有技术相比,本发明的有益效果是:

14、(1)将待检测的安卓软件放入沙箱环境中运行,根据api选取标准动态提取运行过程中所出现的api行为序列;本发明在缩短沙箱运行时间的情况下进行准确api行为预测,从而解决动态检测过程中所使用资源过多,时间过长的这一缺陷。

15、(2)利用类自然语言处理模型对api行为序列按照固定长度序列上下文关联学习,从而达到在任一时段,任一缺失比例下进行序列预测的效果。本发明能够在运行时间不足、特征发掘不够的情况下,也能对安卓软件进行精准预测,并在大规模检测安卓软件时,不局限于运行时长的限制,大大节约检测的时间成本,提升检测效率。



技术特征:

1.一种基于动态api的安卓高隐蔽型恶意软件检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的一种基于动态api的安卓高隐蔽型恶意软件检测方法,其特征在于,api选取标准为选取关键系统调用、敏感信息访问、加密和安全性、反调试和反虚拟化、系统事件和状态变化、动态加载和反射、异常处理和错误报告以及系统权限变更相关的api。

3.根据权利要求1所述的一种基于动态api的安卓高隐蔽型恶意软件检测方法,其特征在于,类自然语言处理模型以及分类层的训练过程如下:

4.根据权利要求1所述的一种基于动态api的安卓高隐蔽型恶意软件检测方法,其特征在于,利用词频-逆文档频率法对方法级api序列进行编码包括:

5.根据权利要求1所述的一种基于动态api的安卓高隐蔽型恶意软件检测方法,其特征在于,所述序列分类器由依次连接的长短时记忆网络、池化层、激活层、全连接层、归一化层;

6.根据权利要求1所述的一种基于动态api的安卓高隐蔽型恶意软件检测方法,其特征在于,所述方法还包括:

7.一种基于动态api的安卓高隐蔽型恶意软件检测系统,其特征在于,用以实现上述权利要求1-6任一项所述的基于动态api的安卓高隐蔽型恶意软件检测方法,所述系统包括:

8.一种电子设备,包括存储器和处理器,其特征在于,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述权利要求1-6任一项所述的基于动态api的安卓高隐蔽型恶意软件检测方法。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的基于动态api的安卓高隐蔽型恶意软件检测方法。

10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-6中任一所述的基于动态api的安卓高隐蔽型恶意软件检测方法。


技术总结
本发明公开了基于动态API的安卓高隐蔽型恶意软件检测方法与系统,所述方法包括:对待检测的安卓软件根据API选取标准进行特征提取,得到待检测的安卓软件的API行为序列;将待检测的安卓软件的API行为序列输入至预先训练好的类自然语言处理模型,预测得到API特征化序列向量;将API特征化序列向量输入至预先训练好的分类层,得到方法级API序列;利用词频‑逆文档频率法对方法级API序列进行编码,将编码后的方法级API序列输入至预先训练好的序列分类器,得到安卓软件判断结果。本发明在大规模检测安卓软件时,不局限于运行时长的限制,大大节约检测的时间成本,提升检测效率。

技术研发人员:张帆,周童,赵新杰,郭世泽,许海涛,李振源,陈思,孙晓盼
受保护的技术使用者:浙江大学
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1148221.html

最新回复(0)