1.基于层级DoI‑RNNs模型的安卓恶意软件动态检测方法,其特征在于,包括如下步骤:步骤一、利用若干安卓软件的运行时特征,训练基于层级DoI‑RNNs模型的分类器,建立基于层级DoI‑RNNs模型的安卓恶意软件动态检测方法的训练模型,包括步骤:
1)输入数据:输入安卓软件的各个时刻的运行时特征,data=
其中,x1,y1分别表示安卓软件时刻1的运行时特征,x2,y2分别表示安卓软件时刻2的运行时特征、......、xt,yt分别表示安卓软件时刻t的运行时特征;
其中,
2)输入标签true_label=1或0,其中标签true_label=1表示恶意,true_label=0表示正常;
3)针对时序特征x1,x2,......,xt,y1,y2,......,yt,分别计算时间步1‑t的x1至xt的导数 y1至yt的导数
4)针对时序特征x1,x2,......,xt,分别计算时间步1‑t的重置门rt、计算时间步1‑t的更新门ut、计算时间步1‑t的候选隐藏状态其中,重置门rt满足如下公式:
更新门ut满足如下公式:
候选隐藏状态 满足如下公式:
隐藏状态ht满足如下公式:
(n) (n)
其中, 表示时间步t的输入xt的n1阶导数d xt/dt 的权重,Whr表示时间步t‑1的隐藏状态ht‑1的权重,br表示时间步t的重置门rt的偏置; 表示时间步t的输入xt的n阶导数(n) (n)d xt/dt 的权重,Whu表示时间步t‑1的隐藏状态ht‑1的权重,bu表示时间步t的更新门ut的偏置;Wxh表示时间步t的输入xt的权重,Whh表示时间步t‑1的隐藏状态ht‑1的权重,bh表示时间步t的候选隐藏状态 的偏置;
采用相同的计算方式,针对时序特征y1,y2,......,yt分别计算重置门rt、计算时间步1‑t的更新门ut、计算时间步1‑t的候选隐藏状态 计算时间步1‑t的隐藏状态ht;
5)针对时序特征x1,x2,......,xt,计算注意力输出:outputx=attention(h1,h2,.......,ht),针对时序特征y1,y2,......,yt计算注意力层输出:outputy=attention(h1,h2,......,ht);
6)双向循环层输出出ht=bi_rnn(outputx,outputy),通过正向循环层和反向循环层的隐藏状态输出合并成为双向循环层的隐藏状态输出;
7)整合注意力层输出:output=attention(h1,h2,......,ht);
8)输出预测标签,利用softmax函数将数值类型的输出转换成为概率类型的输出;
9)if train==true或validation==true继续训练;
10)针对预测标签与真实标签结果执行代价函数运算;
11)梯度更新,生成训练模型;
针对训练数据集及验证数据集中的数据循环执行步骤2)至步骤11),直至训练模型趋于稳定;
步骤二、将测试数据集的数据输入到步骤一建立的训练模型内,通过预测标签的结果进行判定,若预测标签≈1,则为安卓恶意软件;预测标签=0,则为安卓正常软件。
2.根据权利要求1所述的基于层级DoI‑RNNs模型的安卓恶意软件动态检测方法,其特征在于,所述步骤一中的步骤3)中, 的计算公式为:一阶差分的计算公式如下所示:
二阶差分的计算公式如下所示:
高阶差分的计算公式同理上述一阶、二阶差分计算公式。