1.一种利用深度残差网络和字符级滑动窗口的DGA域名检测方法,其特征在于,包括以下步骤:S1,获取域名数据,对获取的域名数据进行预处理;
S2,对步骤S1中处理后的数据进行原始特征提取处理;
S3,对步骤S2中处理后的数据输入到深度残差网络层进行更深层次的特征提取;
S4,对其步骤S3中处理后的数据进行批标准化处理;
S5,对其域名进行分类。
2.根据权利要求1所述的利用深度残差网络和字符级滑动窗口的DGA域名检测方法,其特征在于,在步骤S1中对待处理数据进行预处理包括以下步骤:S11,对域名进行数值化处理,使用字符级词典把域名中每个字符映射成one-hot编码向量;
S12,将one-hot编码向量的V1维度向量映射成d维度。
3.根据权利要求1所述的利用深度残差网络和字符级滑动窗口的DGA域名检测方法,其特征在于,在步骤S2包括:定义 为一条DGA域名样本中第i个字符的字符向量;那么使用 代表输入的DGA域名;
然后定义k为滤波器的长度,引入 作为一个卷积滤波器感受野大小;对于句子中的每个位置j,都有一个带有k个连续字符向量的窗口向量wj,表示为:wj=[aj,aj+1,...,aj+k-1],然后滤波器m以’VALID’方式与每个位置窗口向量进行卷积,生成特征图 窗口向量wj的特征图的每个元素Aj的产生如下:Aj=f(wj⊙m+b),
对于长度相同n个滤波器,可生成n个特征图为每个窗口向量wj特征进行表示,W=[A1,A2,...,An]。
4.根据权利要求1所述的利用深度残差网络和字符级滑动窗口的DGA域名检测方法,其特征在于,在步骤S3中利用深度残差网络层进行特征提取的计算方法为:xl=x′l-1+H(xl-1),其中,x′l-1表示xl-1经过下采样后得到的值;
xl-1表示第l-1层残差块的输入;
H(xl-1)表示两层卷积层进行特征提取得到结果;
xl表示残差块第l层的输入。
5.根据权利要求1所述的利用深度残差网络和字符级滑动窗口的DGA域名检测方法,其特征在于,在步骤S4中批标准化的计算方法为:计算一个mini-batch大小的样本均值:其中,m表示输入样本的个数;
xi表示输入的第i样本;
μB表示样本均值;
计算一个mini-batch大小样本方差:其中,m表示输入样本的个数;
xi表示输入的第i样本;
μB表示样本均值;
σB表示样本方差;
对输入的第i样本xi归一化:
其中,xi表示输入的第i样本;
μB表示样本均值;
σB表示样本方差;
ε表示拟合参数;
表示归一化值;
其中,γ表示第一训练参数;
表示归一化值;
β表示第二训练参数;
yi表示经过Batch Normalization后得到值。
6.根据权利要求1所述的利用深度残差网络和字符级滑动窗口的DGA域名检测方法,其特征在于,在步骤S5中,对域名的分类方法为:其中,T表示矩阵的转置;
wj表示softmax函数的权重;
K表示多分类的类别数量;
P(y=j|x)表示样本向量x属于第j类DGA家族的概率;
比较P(y=1|x)、P(y=2|x)、P(y=3|x)、……、P(y=K|x)间的概率大小:若P(y=1|x)的概率最大,则置信度x属于第1类DGA家族;其中,P(y=1|x)表示样本向量x属于第1类DGA家族的概率,P(y=2|x)表示样本向量x属于第2类DGA家族的概率,P(y=3|x)表示样本向量x属于第3类DGA家族的概率,……,P(y=K|x)表示样本向量x属于第K类DGA家族的概率;
若P(y=2|x)的概率最大,则置信度x属于第2类DGA家族;
若P(y=3|x)的概率最大,则置信度x属于第3类DGA家族;
……;
若P(y=K|x)的概率最大,则置信度x属于第K类DGA家族。