1.一种基于自适应计算时间策略的恶意软件检测方法,其特征在于包括以下步骤:S1、对带有标签的Android软件的APK数据进行数据清洗,并对数据进行划分得到训练集、验证集和测试集;所述APK数据是指代对APK安装包进行解压,并对解压结果进行解析,从而提取出程序的多个特征,所述的多个特征包括系统调用、绑定器以及复合行为的调用频率;其中标签为恶意软件和良性软件;
S2、对步骤S1处理后的数据通过卷积神经网络Conv1d,将二维数据扩展维度成多维稠密向量,将原始特征之间的弱关联信息嵌入到连续向量空间中,生成一个序列簇矩阵;
S3、搭建基于自适应计算时间策略的恶意软件检测模型DACT‑Transformer,并使用训练集数据对模型进行训练;
所述基于自适应计算时间策略的恶意软件检测模型DACT‑Transformer包括Embedding层、N个Transformer编码层以及N个自适应计算层DACT;其中N=12;
所述Embedding层用于将输入序列经过Embedding扩展成尺寸为512维的特征向量;
第1个Transformer编码层接收所述Embedding层的输出,经过Transformer编码后的输出被复制成两份,分别输入到第2个Transformer编码层和第1个DACT层;
第n个Transformer编码层接收上一层Transformer编码层的输出,经过Transformer编码后的输出被复制成两份,分别输入到第n+1个Transformer编码层和第n个DACT层;其中2≤n≤N‑1;
第N个Transformer编码层接收上一层Transformer编码层的输出,经过Transformer编码后的输出输入到第N个DACT层;
第1个DACT层接收第1个Transformer编码层的输出,将其输入的矩阵经过Softmax和Sigmoid处理后得到中间预测结果yn和其置信度,再输出到第2个DACT层;
第n个DACT层接上一层Transformer编码层和DACT层的输出,将其输入的矩阵经过Softmax和Sigmoid处理后得到中间预测结果yn和其置信度,再输出到下一层DACT层;在每一层DACT中,当置信度达到一定范围区间后终止训练,将当前预测结果作为中间预测结果输出;2≤n≤N‑1;
第N个DACT层接第N个Transformer编码层和第N‑1个DACT层的输出,将其输入的矩阵经过Softmax和Sigmoid处理后得到最终预测结果yN;
所述Transformer编码层包括MultiHead Attention层和全连接层;所述MultiHead Attention层用于对输入的特征向量通过Self‑Attention计算注意力分布,得到一个矩阵;
所述全连接层用于所述MultiHead Attention层的输出经过归一化后,对特征进行非线性变换;
S4、用训练好的DACT‑Transformer模型对测试集数据进行检测;
S5、用测试好的DACT‑Transformer模型对验证集数据进行验证;
S6、利用验证好的DACT‑Transformer模型以实现Android软件的检测。
2.根据权利要求1所述的方法,其特征在于步骤S1中数据清洗的方法为:清洗缺失值、异常值,对数据的特征属性量化编码,对数据归一化处理。
3.根据权利要求1所述的方法,其特征在于步骤S1中数据清洗的方法为:
1)查找是否存在缺失值,若存在则继续判断缺失值个数是否大于预设阈值A,若是则认为缺失值过多,则选择与样本标签相同的样本集属性的平均数或众数填充缺失值,若否则认为缺失值较少,则可以删除缺失值所在的数据行;
2)检查是否存在异常值,若存在则继续判断异常值个数是否大于预设阈值B,若是则认为异常值过多,需分析异常值的原因并修改异常值,若否则认为异常值较少,删除包括异常值在内的数据行;
3)特征属性量化编码:在范围0‑m内对离散的特征属性进行编码,其中m+1表示软件类型总数;
4)采用的归一化方法是对每个特征进行如下约束,公式如下:
其中,Xi,norm表示第i个特征Xi的归一化结果,Xi,min、Xi,max分别表示第i个特征所在列的最小值、最大值。
4.根据权利要求1所述的方法,其特征在于步骤S3中所述基于自适应计算时间策略的恶意软件检测模型DACT‑Transformer中Transformer编码层具体是:
1)Multi‑head Attention层用于对输入的特征向量通过Self‑Attention计算注意力分布,得到一个矩阵:①信息输入:接收输入的特征向量q、k、v,其中q、k、v分别为矩阵X经过不同线性变换之后的结果,矩阵X=[x1,x2,...,xM]为步骤S2的序列簇矩阵或上一层Transformer编码层的输出结果;
②计算注意力分布α:通过q和k进行点积计算相关度,并通过softmax计算分数;令q=k=v,通过softmax计算注意力权重,公式如(1.2)所示;
αi=softmax(s(ki,q))=softmax(s(xi,q))#(1.2)其中αi为注意力概率分布,s(ki,q)为注意力打分机制;
③信息加权平均:注意力概率分布αi来解释在上下文查询qi时,第i个信息受关注程度,公式如(1.3)所示;
其中M表示矩阵X的维度;
2)经由Multi‑head Attention计算得出的序列矩阵,到达Add&Norm层,经过残差处理以及Normalization标准化;
3)经过标准化处理的序列矩阵,进入全连接层FeedForward,先将数据映射到高维空间再映射到低维空间,学习更抽象的特征;
4)全连接层FeedForward结束后再一次经过一层残差处理和标准化过程得到的结果矩阵。
5.根据权利要求1或4所述的方法,其特征在于步骤S3中所述基于自适应计算时间策略的恶意软件检测模型DACT‑Transformer中所述DACT层具体是:
1)从上一层Transformer编码层中获取到的中间值经过Softmax和Sigmoid处理后的到中间预测结果yn和表示当前层对其输出结果yn的置信度hn;
其中zi表示从Transformer编码层获取到的所有分类结果中的第i个分类结果,C表示从Transformer编码层获取到所有分类结果的总数;
2)建立一个协助确定停止条件的值pn,如(1.6)所示,当pn达到一定区间范围后,就可以停止训练后续模型块;
* d ru
Pr(ans ,n)(1‑pn) ≥Pr(ans ,n)+pnd#(1.7)an=ynpn‑1+an‑1(1‑pn‑1)#(1.8)
其中pn表示考虑前n‑1层的全部集合的不确定性,pn的值是相对于索引n单调递减并趋向于0,an表示辅助累加器变量,用于组合到第n个DACT层为止所有的中间输出y,以形成最* ru终结果Y,ans表示最好的中间输出y,d表示距离N剩余的步骤数量,ans 表示次好的中间输* *出y,Pr(ans ,n)表示在第n层时得到ans的概率。
6.一种实现权利要求1‑5任一项所述方法的恶意软件检测系统,其特征在于包括已经训练、验证、测试好的基于自适应计算时间策略的恶意软件检测模型DACT‑Transformer。
7.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1‑5中任一项所述的方法。
8.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1‑5中任一项所述的方法。