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