1.一种基于EPM‑MCNET神经网络的安卓恶意软件检测方法,其特征在于,包括:
S1、构建一个安卓软件RGB图像数据集D,D由若干个安卓软件RGB图像FI构成;
S2、构建并训练基于EPM‑MCNET神经网络的安卓恶意软件检测模型;该模型包括将安卓软件可视化为RGB图像部分和EPM‑MCNET神经网络部分;所述EPM‑MCNET神经网络包括输入层、中间层和输出层;中间层包括第一卷积归一化激活模块CBR1、第二卷积归一化激活模块CBR2,第一硬卷积归一化激活模块CBH1、第二硬卷积归一化激活模块CBH2,最大池化层、强化感知模块EPM、多尺度卷积模块MC,具体的模型训练步骤包括:S21、输入层接收D中的任意安卓软件RGB图像FI,并将FI传递至EPM‑MCNET神经网络的中间层;
S22、中间层中的CBR1模块接收到FI之后,对FI进行卷积、归一化处理和ReLU激活函数进行激活;输出特征图像T1;然后将T1输入至最大池化层进行降维,输出特征图像Fm1,并将其传递至CBH1模块中;
S23、CBH1模块接收到Fm1之后,对Fm1进行卷积、归一化处理和H‑Swish激活函数进行激活,输出特征图像T2;随后将T2输入至最大池化层进行降维,输出特征图像T3;接着将T3输入至EPM模块,以增强特征图像T3特定区域或特定通道的特征信息,输出特征图像Fm2;最后将特征图像Fm2输入至CBH2模块中;
所述将T3输入至EPM模块,以增强特征图像T3特定区域或特定通道的特征信息,输出特征图像Fm2,具体步骤包括:当将高度为H、宽度为W、通道数为C的三维特征图像T3输入至EPM模块后,同时被该模块的路径A和路径B接收;
对于路径A,分别采用全局最大池化、全局平均池化提取特征图像T3的特征信息,得到两个1×1×C的特征向量;接着,路径A将这两个特征向量逐元素求和,得到一个1×1×C的特征向量FA1;随后路径A通过多层感知机MLP1对特征向量FA1的每个通道进行权重赋值,得到一个尺寸为1×1×C的特征向量FA2;
对于路径B,分别采用全局最大池化、全局平均池化提取特征图像T3的特征信息,得到两个H×W×1的特征矩阵;接着,路径B将这两个特征矩阵逐元素求和,得到一个H×W×1的特征矩阵FB1;随后路径B通过多层感知机MLP2对特征矩阵FB1的不同区域进行权重赋值,得到一个H×W×1的特征矩阵FB2;
接着,EPM模块将FB2的尺寸重塑为1×1×HW,让特征向量FA2与特征矩阵FB2沿着通道维度进行叠加,输入到MLP3中进行权重赋值,输出尺寸为1×1×(HW+C)的特征向量F1;然后,将特征向量F1分割为特征向量F2和特征向量F3,其中的F2为1×1×C,F3为1×1×HW;将F2输入Sigmoid激活函数,得到权重向量MC,即特征图像T3中每个通道的重要程度;将特征向量F3的尺寸重塑为H×W×1,接着将F3输入Sigmoid激活函数,得到权重矩阵MS,即特征图像T3不同区域的重要程度;最后将特征图像T3与MC、MS相乘,得到特征增强的特征图像Fm2;具体公式为:其中,δ表示Sigmoid激活函数,⊙表示元素积操作,S表示沿通道维度分割特征向量,R表示重塑特征向量;
式(1)中,特征向量F1的计算公式如式(2)所示:
其中,M表示MLP,[,,]表示张量拼接操作,Max表示全局最大池化,Avg表示全局平均池化, 表示逐元素求和,R表示重塑特征向量;
S24、CBH2模块接收到Fm2后,对Fm2进行卷积、归一化处理和H‑Swish激活函数进行激活,输出特征图像T4;接着将T4输入至EPM模块中,输出特征图像Fm3,最后将特征图像Fm3输入至CBR2模块中;
S25、CBR2模块接收到特征图像Fm3,对Fm3进行卷积、归一化处理和ReLU激活函数进行激活,输出特征图像T5;然后将T5输入至最大池化层进行降维,输出特征图像T6;随后将T6输入至MC模块中,MC模块采用不同尺寸的卷积核对输入特征图像T6进行卷积操作,最终输出特征图像Fm4,并将其传递至输出层;
S26、输出层接收特征图像Fm4,判断该特征图像Fm4对应的安卓软件是否为安卓恶意软件,并将判断的结果输出;
S27、重复步骤S21‑S26,直到模型训练结束;训练结束后,得到基于EPM‑MCNET神经网络的安卓恶意软件检测模型;
S3、运用基于EPM‑MCNET神经网络的安卓恶意软件检测模型检测安卓软件,判断该安卓软件是否为安卓恶意软件。
2.根据权利要求1所述的基于EPM‑MCNET神经网络的安卓恶意软件检测方法,其特征在于,所述步骤S25,MC模块采用不同尺寸的卷积核对输入特征图像T6进行卷积操作,最终输出特征图像Fm4,具体内容包括:当将高度为H0、宽度为W0、通道数为C0的三维特征图像T6输入至MC模块后,同时被该模块的路径I、路径II、路径III接收;
对于路径I,首先采用尺寸为1×1的卷积核对特征图像T6进行卷积操作,然后进行归一化处理,ReLU激活函数激活以及最大池化层降维操作,最后输出尺寸为H’×W’×C1的特征图像F4;
对于路径II,首先采用尺寸为3×3的卷积核对特征图像T6进行卷积操作,接着进行归一化处理,ReLU激活函数激活,最后输出尺寸为H’×W’×C2的特征图像F5;
对于路径III,首先采用尺寸为5×5的卷积核对特征图像T6进行卷积操作,接着执行归一化处理,ReLU激活函数激活,最后输出尺寸为H’×W’×C3的特征图像F6;
将特征图像F4、F5、F6沿通道维度进行叠加,得到尺寸为H’×W’×C4的特征图像F7,其中C4=C1+C2+C3;最后将特征图像F7输入至卷积核尺寸为1×1的卷积层中进行卷积,输出尺寸为H’×W’×C’的特征图像Fm4。
3.一种基于EPM‑MCNET神经网络的安卓恶意软件检测系统,其通过权利要求1所述的一种基于EPM‑MCNET神经网络的安卓恶意软件检测方法实现,其特征在于,包括数据预处理模块、安卓恶意软件检测模型训练模块、安卓软件检测模块:所述数据预处理模块:构建一个安卓软件RGB图像数据集D,D由若干个安卓软件RGB图像FI构成;
所述安卓恶意软件检测模型训练模块:构建基于EPM‑MCNET神经网络的安卓恶意软件检测模型;该模型包括将安卓软件可视化为RGB图像部分和EPM‑MCNET神经网络部分;所述EPM‑MCNET神经网络包括输入层、中间层和输出层;中间层包括第一卷积归一化激活模块CBR1、第二卷积归一化激活模块CBR2,第一硬卷积归一化激活模块CBH1、第二硬卷积归一化激活模块CBH2,最大池化层、强化感知模块EPM、多尺度卷积模块MC,具体的模型训练步骤包括:第一步、输入层接收D中的任意安卓软件RGB图像FI,并将FI传递至EPM‑MCNET神经网络的中间层;
第二步、中间层中的CBR1模块接收到FI之后,对FI进行卷积、归一化处理和ReLU激活函数进行激活;输出特征图像T1;然后将T1输入至最大池化层进行降维,输出特征图像Fm1,并将其传递至CBH1模块中;
第三步、CBH1模块接收到Fm1之后,对Fm1进行卷积、归一化处理和H‑Swish激活函数进行激活,输出特征图像T2;随后将T2输入至最大池化层进行降维,输出特征图像T3;接着将T3输入至EPM模块,以增强特征图像T3特定区域或特定通道的特征信息,输出特征图像Fm2;最后将特征图像Fm2输入至CBH2模块中;
所述将T3输入至EPM模块,以增强特征图像T3特定区域或特定通道的特征信息,输出特征图像Fm2,具体步骤包括:当将高度为H、宽度为W、通道数为C的三维特征图像T3输入至EPM模块后,同时被该模块的路径A和路径B接收;
对于路径A,分别采用全局最大池化、全局平均池化提取特征图像T3的特征信息,得到两个1×1×C的特征向量;接着,路径A将这两个特征向量逐元素求和,得到一个1×1×C的特征向量FA1;随后路径A通过多层感知机MLP1对特征向量FA1的每个通道进行权重赋值,得到一个尺寸为1×1×C的特征向量FA2;
对于路径B,分别采用全局最大池化、全局平均池化提取特征图像T3的特征信息,得到两个H×W×1的特征矩阵;接着,路径B将这两个特征矩阵逐元素求和,得到一个H×W×1的特征矩阵FB1;随后路径B通过多层感知机MLP2对特征矩阵FB1的不同区域进行权重赋值,得到一个H×W×1的特征矩阵FB2;
接着,EPM模块将FB2的尺寸重塑为1×1×HW,让特征向量FA2与特征矩阵FB2沿着通道维度进行叠加,输入到MLP3中进行权重赋值,输出尺寸为1×1×(HW+C)的特征向量F1;然后,将特征向量F1分割为特征向量F2和特征向量F3,其中的F2为1×1×C,F3为1×1×HW;将F2输入Sigmoid激活函数,得到权重向量MC,即特征图像T3中每个通道的重要程度;将特征向量F3的尺寸重塑为H×W×1,接着将F3输入Sigmoid激活函数,得到权重矩阵MS,即特征图像T3不同区域的重要程度;最后将特征图像T3与MC、MS相乘,得到特征增强的特征图像Fm2;具体公式为:其中,δ表示Sigmoid激活函数,⊙表示元素积操作,S表示沿通道维度分割特征向量,R表示重塑特征向量;
式(1)中,特征向量F1的计算公式如式(2)所示:
其中,M表示MLP,[,,]表示张量拼接操作,Max表示全局最大池化,Avg表示全局平均池化, 表示逐元素求和,R表示重塑特征向量;
第四步、CBH2模块接收到Fm2后,对Fm2进行卷积、归一化处理和H‑Swish激活函数进行激活,输出特征图像T4;接着将T4输入至EPM模块中,输出特征图像Fm3,最后将特征图像Fm3输入至CBR2模块中;
第五步、CBR2模块接收到特征图像Fm3,对Fm3进行卷积、归一化处理和ReLU激活函数进行激活,输出特征图像T5;然后将T5输入至最大池化层进行降维,输出特征图像T6;随后将T6输入至MC模块中,MC模块采用不同尺寸的卷积核对输入特征图像T6进行卷积操作,最终输出特征图像Fm4,并将其传递至输出层;
第六步、输出层接收特征图像Fm4,判断该特征图像Fm4对应的安卓软件是否为安卓恶意软件,并将判断的结果输出;
第七步、重复上述第一步到第六步,直到模型训练结束;训练结束后,得到基于EPM‑MCNET神经网络的安卓恶意软件检测模型;
所述安卓软件检测模块:运用基于EPM‑MCNET神经网络的安卓恶意软件检测模型检测安卓软件,判断该安卓软件是否为安卓恶意软件。
4.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1‑2任一所述的基于EPM‑MCNET神经网络的安卓恶意软件检测方法的步骤。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1‑2任一所述的基于EPM‑MCNET神经网络的安卓恶意软件检测方法的步骤。