本申请涉及恶意应用检测领域,且更为具体地,涉及一种恶意应用检测方法、装置、设备及存储介质。
背景技术:
1、恶意应用是一种在计算机或移动设备上运行的恶意软件程序。这些应用通常被设计用于进行各种不当行为,如盗取个人信息、传播恶意代码或操控设备。
2、恶意应用的目标是获取用户的敏感数据,例如个人信息、登录凭据和银行账户信息,并将这些数据发送给攻击者。此外,它们还会获取用户设备的权限,例如访问通讯录、相册、摄像头和麦克风等,以进行未经授权的操作。恶意应用还可能以显示大量广告的方式获取不当的收益,并且可能在用户不知情的情况下点击广告。这些应用可以通过各种技术来绕过传统的恶意应测方法,其中包括使用自签名证书和创建恶意应用的变种。这些技术使得使用应用的数字签名来验证应用的真实性的方法存在滞后性,因为恶意应用开发者不断改进他们的方法来逃避检测。由于恶意应用的不断演变和变种的出现,传统的签名检测方法已经变得不够可靠。
3、因此,需要一种优化的恶意应用检测方案。
技术实现思路
1、为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种恶意应用检测方法、装置、设备及存储介质,其采用基于人工智能的数据分析技术,通过对待检测应用的apk文件的字符信息、dex字节码、java层api数据、native层api数据和软件流量数据进行特征提取进而分析判断所述待检测应用是否为恶意应用。这样,综合考虑了多个方面的特征,有利于提高恶意检测的准确性。
2、根据本申请的一个方面,提供了一种恶意应用检测方法,其包括:
3、获取待检测应用的apk文件的字符串信息、dex字节码、java层api数据、native层api数据和应用流量数据;
4、对所述apk文件的字符串信息、dex字节码、java层api数据、native层api数据和应用流量数据列进行特征编码以得到风险评估特征矩阵;
5、基于所述风险评估特征矩阵,评估所述待检测应用是否为恶意应用。
6、在上述恶意应用检测方法中,所述对所述apk文件的字符串信息、dex字节码、java层api数据、native层api数据和应用流量数据列进行特征编码以得到风险评估特征矩阵,包括:对所述apk文件的字符串信息、dex字节码、java层api数据、native层api数据进行特征提取以得到安全敏感数据特征矩阵;对所述应用流量数据进行特征提取以得到流量灰度特征矩阵;融合所述安全敏感数据特征矩阵和所述流量灰度特征矩阵以得到所述风险评估特征矩阵。
7、在上述恶意应用检测方法中,所述对所述apk文件的字符串信息、dex字节码、java层api数据、native层api数据进行特征提取以得到安全敏感数据特征矩阵,包括:对所述apk文件的字符串信息、所述dex字节码、所述java层api数据、所述native层api数据进行预处理以得到预处理后apk字符串、预处理后dex字节码、预处理后api序列;将所述预处理后apk字符串、所述预处理后dex字节码和所述预处理后api序列构造成安全敏感数据矩阵;将所述安全敏感数据矩阵输入到安全敏感数据特征提取网络中以得到所述安全敏感数据特征矩阵。
8、在上述恶意应用检测方法中,所述对所述应用流量数据进行特征提取以得到流量灰度特征矩阵,包括:将所述应用流量数据进行预处理以得到流量灰度图像;将所述流量灰度图像通过流量特征提取网络以得到所述流量灰度特征矩阵。
9、在上述恶意应用检测方法中,所述安全敏感数据特征提取网络是循环神经网络,所述流量特征提取网络是深度残差收缩网络。
10、在上述恶意应用检测方法中,所述融合所述安全敏感数据特征矩阵和所述流量灰度特征矩阵以得到所述风险评估特征矩阵,包括:以如下融合公式计算所述安全敏感数据特征矩阵和所述流量灰度特征矩阵相对于目标分类函数的平滑隐特征表达以得到所述风险评估特征矩阵;其中,所述融合公式为:
11、
12、其中,m1表示所述安全敏感数据特征矩阵,m2表示所述流量灰度特征矩阵,t表示特征矩阵的转置,||·||2表示特征矩阵的二范数,||·||f表示特征矩阵的frobenius范数,表示矩阵相乘,分子与分母的除法表示为分子矩阵的每个位置的特征值除以分母位置的值,且指数函数表示对矩阵的每个位置的特征值进行指数运算,m3表示所述风险评估特征矩阵。
13、在上述恶意应用检测方法中,所述基于所述风险评估特征矩阵,评估所述待检测应用是否为恶意应用,包括:将所述风险评估特征矩阵输入到分类器以得到分类结果,所述分类结果用于表示所述待检测应用是否为恶意应用。
14、根据本申请的另一方面,提供了一种恶意应用检测装置,其包括:
15、应用数据获取模块,用于获取待检测应用的apk文件的字符串信息、dex字节码、java层api数据、native层api数据和应用流量数据;
16、应用数据特征编码模块,用于对所述apk文件的字符串信息、dex字节码、java层api数据、native层api数据和应用流量数据列进行特征编码以得到风险评估特征矩阵;
17、应用检测结果生成模块,用于基于所述风险评估特征矩阵,评估所述待检测应用是否为恶意应用。
18、根据本申请的再一方面,提供了一种电子设备,包括存储器和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如上所述的恶意应用检测方法。
19、根据本申请的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上所述的恶意应用检测方法。
20、与现有技术相比,本申请提供的恶意应用检测方法、装置、设备及存储介质,其采用基于人工智能的数据分析技术,通过对待检测应用的apk文件的字符信息、dex字节码、java层api数据、native层api数据和软件流量数据进行特征提取进而分析判断所述待检测应用是否为恶意应用。这样,综合考虑了多个方面的特征,有利于提高恶意检测的准确性。
1.一种恶意应用检测方法,其特征在于,包括:
2.根据权利要求1所述的恶意应用检测方法,其特征在于,对所述apk文件的字符串信息、dex字节码、java层api数据、native层api数据和应用流量数据列进行特征编码以得到风险评估特征矩阵,包括:
3.根据权利要求2所述的恶意应用检测方法,其特征在于,对所述apk文件的字符串信息、dex字节码、java层api数据、native层api数据进行特征提取以得到安全敏感数据特征矩阵,包括:
4.根据权利要求3所述的恶意应用检测方法,其特征在于,对所述应用流量数据进行特征提取以得到流量灰度特征矩阵,包括:
5.根据权利要求4所述的恶意应用检测方法,其特征在于,所述安全敏感数据特征提取网络是循环神经网络,所述流量特征提取网络是深度残差收缩网络。
6.根据权利要求5所述的恶意应用检测方法,其特征在于,融合所述安全敏感数据特征矩阵和所述流量灰度特征矩阵以得到所述风险评估特征矩阵,包括:以如下融合公式计算所述安全敏感数据特征矩阵和所述流量灰度特征矩阵相对于目标分类函数的平滑隐特征表达以得到所述风险评估特征矩阵;
7.根据权利要求6所述的恶意应用检测方法,其特征在于,基于所述风险评估特征矩阵,评估所述待检测应用是否为恶意应用,包括:
8.一种恶意应用检测装置,其特征在于,包括:
9.根据权利要求8所述的恶意应用检测装置,其特征在于,所述应用检测结果生成模块,用于:将所述风险评估特征矩阵输入到分类器以得到分类结果,所述分类结果用于表示所述待检测应用是否为恶意应用。
10.一种电子设备,包括存储器和耦接至所述存储器的处理器,其特征在于,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至7任一项所述的恶意应用检测方法。