CN109617909A - 一种基于smote和bi-lstm网络的恶意域名检测方法 - Google Patents

一种基于smote和bi-lstm网络的恶意域名检测方法 Download PDF

Info

Publication number
CN109617909A
CN109617909A CN201910013192.2A CN201910013192A CN109617909A CN 109617909 A CN109617909 A CN 109617909A CN 201910013192 A CN201910013192 A CN 201910013192A CN 109617909 A CN109617909 A CN 109617909A
Authority
CN
China
Prior art keywords
domain name
character
vector
training set
lstm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910013192.2A
Other languages
English (en)
Other versions
CN109617909B (zh
Inventor
陈羽中
张毓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201910013192.2A priority Critical patent/CN109617909B/zh
Publication of CN109617909A publication Critical patent/CN109617909A/zh
Application granted granted Critical
Publication of CN109617909B publication Critical patent/CN109617909B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Character Discrimination (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种基于SMOTE和BI‑LSTM的恶意域名检测方法,包括以下步骤:对训练集中的域名进行数据预处理,得到域名字符序列训练集D;利用改进的SMOTE算法,对域名字符序列训练集D进行均衡化数据合成,得到增强均衡化的训练集D’;构造并初始化包含BI‑LSTM和全连接层的神经网络模型;将训练集D’中的域名转换为固定长度的表征向量;将步骤D得到的域名的表征向量输入到神经网络模型的BI‑LSTM层,得到域名的上下文向量;将域名的上下文向量输入到神经网络模型的全连接层,得到训练好的神经网络模型;将待判定的域名转换为字符序列,输入训练好的神经网络模型,输出判定结果。

Description

一种基于SMOTE和BI-LSTM网络的恶意域名检测方法
技术领域
本发明涉及网络安全领域,具体涉及一种基于SMOTE和BI-LSTM的恶意域名检测方法。。
背景技术
DGA(域名生成算法)是一种利用随机字符来生成C&C域名以逃避域名黑名单检测的技术手段。为了阻止产生DGA的C2(Command&Control)流量,安全组织必须首先通过逆向工程来发现DGA算法,然后生成给定种子的域列表,才能对恶意域名进行及时处置。DGA这项技术会大大增加打击和关闭中心结构僵尸网络(如Conficker-A/B/C僵尸、Kraben botnet等)的难度:僵尸网络为了躲避域名黑名单,通过使用该项技术动态生产域名。面对这种情况,检测人员需要检测识别出僵尸网络的DGA家族并掌握对应的域名生成算法和输入,以便对生成的域名及时进行处置;除此之外,在互联网上潜伏着许多恶意软件,一旦计算机受攻击遭到感染,恶意软件通常与命令和控制中心(Command&Control,C2)之间建立通信连接,从而使控制者通过C2服务器远程控制目标主机;然后,攻击者可以通过C2服务器联系受害者计算机上安装的恶意软件程序,通过DGA算法自动生成海量域名,然后从中选择一个或多个有效域名解析出IP地址,实现与C2服务器的通信,并接收恶意软件要执行的更新、操作和长传收集到的情报,或追踪其他的恶意行为。恶意行为者只需要注册少量的这些域就可以获得成功,防御者需要抢先在攻击者之前对这些域进行消除,注册或者列入黑名单。传统恶意软件分析师必须对用于生成域名的算法进行反向工程,这需要很大的人力和物力,以防止恶意软件与C&C服务器进一步通信。
在恶意域名检测的工作中,为了提升检测效率和检测准确率,已经出现了很多方法。从最初的黑名单过滤、DNS请求分析到传统机器学习以及神经网络构造分类器检测,基本上根据检测过程可以分为回归性检测和实时检测。
在全球网络信息化程度高速发展的大背景下,现有方法在面对数量巨大、来源多样的DGA域名下大多存在效率低下,检测准确率不理想和被动防御等问题。同时面对每天生成和联系的方式,这些域名的检测难度很大。
发明内容
有鉴于此,本发明的目的在于提供一种基于SMOTE和BI-LSTM的恶意域名检测方法,提升恶意域名检测的检测效率和检测准确率。
为实现上述目的,本发明采用如下技术方案:
一种基于SMOTE和BI-LSTM的恶意域名检测方法,包括以下步骤:
步骤A:采集若干正常域名和恶意域名,组成训练集;
步骤B:对训练集中的域名进行数据预处理,得到域名字符序列训练集D;
步骤C:利用改进的SMOTE算法,对域名字符序列训练集D进行均衡化数据合成,得到增强均衡化的训练集D’;
步骤D:构造并初始化包含BI-LSTM层和全连接层的神经网络模型;
步骤E:将训练集D’中的域名转换为固定长度的表征向量;
步骤F:将得到的域名的表征向量输入到神经网络模型的BI-LSTM层,得到域名的上下文向量;
步骤G:将域名的上下文向量输入到神经网络模型的全连接层,使用分类器计算每个域名属于标注的各类别的概率来训练模型参数,当神经网络模型产生的损失值迭代变化小于设定阈值不再降低或者达到最大迭代次数,则终止神经网络模型的训练,得到训练好的神经网络模型;
步骤H:将待判定的域名转换为字符序列,输入训练好的神经网络模型,输出判定结果。
进一步的,所述步骤B具体为:
步骤B1:创建一个Label数组用于存放域名的属性,并对训练集进行标注;
步骤B2:创建域名字符字典,将训练集中的域名转换为字符向量,得到域名字符序列训练集D。
进一步的,所述步骤B2具体为:
步骤B21:创建域名字符字典,并初始化为空,字典中每个元素为<c,f>形式,其中c为字符,f为字符的出现频次;
步骤B22:遍历训练集中的所有域名,对域名所包含的每个字符c,若字典中存在字符c,则更新域名字符字典中字符c的频次;若不存在,则添加<c,1>到域名字符字典中;
步骤B23:遍历域名字符字典,首先根据字符出现频次给每个不同的字符一个唯一的编号;若出现频次相同,则根据遍历到的顺序赋予不同的编号;遍历域名字符字典,将字符按照频次进行顺序排序,并根据其顺序分配编号,得到域名字符序列训练集D;
其中,字典包含占位字符’None’,用来将位置字符统一映射为占位字符,编号为0。
进一步的,所述步骤C具体为:
步骤C1:遍历域名字符序列训练集D,统计每个恶意域名生成算法DGAj的训练样本集Pj
其中j=1,2,...,M,M为恶意域名生成算法集合DGA的大小,DGAj表示DGA中的第j个恶意域名生成算法,Nj为DGAj所对应的样本集Pj的样本数;
步骤C2:若恶意域名生成算法DGAj的训练样本集Pj的样本数Nj小于指定阈值,则对Pj进行数据均衡化处理,将合成的数据添加到DGA域名字符序列训练集,得到增强均衡化的训练集D’。
进一步的,所述步骤C2具体为:
步骤C21:遍历恶意域名生成算法DGAj的训练样本集Pj,对训练样本集Pj中的每个域名样本pj (i),i=1,2,...,Nj,通过KNN算法得到pj (i)的K个最近邻域名样本;K个最近邻样本中的多数类的数量由K'表示,其中这里的多数类是指正常域名;
步骤C22:若K=K',即pj (i)的所有K个最近邻居都是多数类,则认为pj (i)是噪声并跳过;若0≤K'<K/2,则认为pj (i)远离样本分布的边界并跳过该样本;若K/2≤K'<K,即pj (i)的多数类邻居的数量大于其少数类邻居的数量,则认为pj (i)容易被错误分类,并对pj (i)执行步骤C23;
步骤C23:通过pj (i)和pj (i)的K个最近邻域名样本选择s个最近的邻居,合成s个样本,并将第j个合成样本的标签标记为DGAj;具体公式如下:
syntheticj=pi+rj*diffj(j=1,2,…,s)
其中,syntheticj是对于pi合成的第j个域名样本;diffj是pi和其第j个邻居的差值,即diff=||pi-pj||;rj是一个在0和1之间的随机数,是一个差值对合成样本的影响程度的参数;s是1到K之间的随机整数,表示由pi合成的样本个数;
步骤C24:将合成的数据添加到DGA域名字符序列训练集,得到增强均衡化的训练集D’。
进一步的,所述步骤E具体为:
对训练集D’中的域名m,使用字符嵌入工具将域名中的字符转化为序列向量形式,计算公式如下:
v=W*v'
其中,域名中每个字符根据步骤A3中创建的字符字典初始化为一个d’维的实数,v'是每个域名根据字符字典获得的实数向量;W为随机初始化的字符嵌入矩阵,W∈Rd*d’,用于将d’维实数向量映射为d维序列向量;v∈Rd,表示映射后的序列向量,d为字符序列的固定长度,该维度等于网络中LSTM层的LSTM单元个数。
进一步的,所述步骤F具体为:
将域名m看做字符序列,将序列向量按照字符次序依次输入到一个双向的长短期记忆网络中,对于长短期记忆网络的正向,依次输入x1,x2...,xL,对于长短期记忆网络的反向,则依次输入xL,xL-1,...,x1,其中,X={x1,x2...,xL},X表示域名,L为域名m中字符个数;计算每个字符在正向和反向的隐层状态值,将这些隐层状态值求平均,乘以权重矩阵,最后使用激活函数得到域名m的上下文向量,计算公式如下:
C=Sigmoid(oiWc)
其中,xi为域名m中第i个字符的向量值,表示域名m中第i个字符的在正向长短期记忆网络中的隐层状态向量,表示域名m中第i个字符在反向长短期记忆网络中的隐层状态向量,f为长短期记忆网络中对隐层状态的计算函数,hi为正向和反向状态向量的串联,o为隐层状态的平均值向量,oT为向量o的转置向量,Wc权重参数矩阵,Sigmoid为使用的激活函数,C为域名的上下文向量。
进一步的,所述步骤G具体为:
步骤G1:将得到的域名的上下文向量输入到DropOut层,并将DropOut层的输出输入到全连接层,使用softmax归一化,计算域名序列所属类别的概率。
计算公式如下:
y=fdense(Wdense*p+bdense)
其中,Wdense为全连接层权重矩阵,bdense为偏置项,fdense为激活函数,本专利中使用sigmod函数,y为域名序列向量p经过全连接层非线性转换的特征向量,向量维度为L,yi为y的第i维,p(yi)为预测为类别i的概率,0<p(yi)<1,L为类别的总数;
步骤G2:用交叉熵作为损失函数计算损失值,通过均方根随机梯度下降优化方法RMsprop计算所有的梯度的平方的平均值,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型。
进一步的,所述最小化损失函数计算公式如下:
其中,Loss是损失函数值,p(yi)为域名序列xi通过深度学习模型LSTM的输出结果的概率,为域名序列xi的实际标记结果的概率。当损失值迭代变化|Lossi-Lossi+1|<ε时终止深度学习模型的训练。
本发明与现有技术相比具有以下有益效果:
本发明基于SMOTE和BI-LSTM的恶意域名检测方法通过利用Bi-LSTM网络进行隐式提取特征,再利用逻辑回归分类器过滤出恶意域名,不仅解决了传统检测方法耗时长,开销大的弊端;同时避免了手工提取特征容易被规避的不足。同时,针对LSTM在面对海量非平衡数据集中少数恶意域名检测率低的问题,利用改进的少数类过采样技术(SMOTE)增加少数类恶意域名的样本数,从而产生均衡化数据。
附图说明
图1为本发明实施例的方法流程图。
图2是本发明实施例的步骤B的实现流程图。
图3是本发明实施例的步骤B2的实现流程图。
图4是本发明实施例的步骤C的实现流程图。
图5是本发明实施例的步骤G的实现流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本发明提供一种基于SMOTE和BI-LSTM的恶意域名检测方法,包括以下步骤:
步骤A:采集若干正常域名和恶意域名,组成训练集;
步骤B:对训练集中的域名进行数据预处理,得到域名字符序列训练集D;
步骤B1:创建一个Label数组用于存放域名的属性,并对训练集进行标注;
步骤B2:创建域名字符字典,将训练集中的域名转换为字符向量,得到域名字符序列训练集D。
步骤B21:创建域名字符字典,并初始化为空,字典中每个元素为<c,f>形式,其中c为字符,f为字符的出现频次;
步骤B22:遍历训练集中的所有域名,对域名所包含的每个字符c,若字典中存在字符c,则更新域名字符字典中字符c的频次;若不存在,则添加<c,1>到域名字符字典中;
步骤B23:遍历域名字符字典,首先根据字符出现频次给每个不同的字符一个唯一的编号;若出现频次相同,则根据遍历到的顺序赋予不同的编号;遍历域名字符字典,将字符按照频次进行顺序排序,并根据其顺序分配编号,得到域名字符序列训练集D;
其中,字典包含占位字符’None’,用来将位置字符统一映射为占位字符,编号为0。
步骤C:利用改进的SMOTE算法,对域名字符序列训练集D进行均衡化数据合成,得到增强均衡化的训练集D’;
步骤C1:遍历域名字符序列训练集D,统计每个恶意域名生成算法DGAj的训练样本集Pj
其中j=1,2,...,M,M为恶意域名生成算法集合DGA的大小,DGAj表示DGA中的第j个恶意域名生成算法,Nj为DGAj所对应的样本集Pj的样本数;
步骤C2:若恶意域名生成算法DGAj的训练样本集Pj的样本数Nj小于指定阈值,则对Pj进行数据均衡化处理,将合成的数据添加到DGA域名字符序列训练集,得到增强均衡化的训练集D’。
步骤C21:遍历恶意域名生成算法DGAj的训练样本集Pj,对训练样本集Pj中的每个域名样本pj (i),i=1,2,...,Nj,通过KNN算法得到pj (i)的K个最近邻域名样本;K个最近邻样本中的多数类的数量由K'表示,其中这里的多数类是指正常域名;
步骤C22:若K=K',即pj (i)的所有K个最近邻居都是多数类,则认为pj (i)是噪声并跳过;若0≤K'<K/2,则认为pj (i)远离样本分布的边界并跳过该样本;若K/2≤K'<K,即pj (i)的多数类邻居的数量大于其少数类邻居的数量,则认为pj (i)容易被错误分类,并对pj (i)执行步骤C23;
步骤C23:通过pj (i)和pj (i)的K个最近邻域名样本选择s个最近的邻居,合成s个样本,并将第j个合成样本的标签标记为DGAj;具体公式如下:
syntheticj=pi+rj*diffj(j=1,2,…,s)
其中,syntheticj是对于pi合成的第j个域名样本;diffj是pi和其第j个邻居的差值,即diff=||pi-pj||;rj是一个在0和1之间的随机数,是一个差值对合成样本的影响程度的参数;s是1到K之间的随机整数,表示由pi合成的样本个数;
步骤C24:将合成的数据添加到DGA域名字符序列训练集,得到增强均衡化的训练集D’。
步骤D:构造并初始化包含BI-LSTM层和全连接层的神经网络模型;
步骤E:将训练集D’中的域名转换为固定长度的表征向量;
对训练集D’中的域名m,使用字符嵌入工具将域名中的字符转化为序列向量形式,计算公式如下:
v=W*v'
其中,域名中每个字符根据步骤A3中创建的字符字典初始化为一个d’维的实数,v'是每个域名根据字符字典获得的实数向量;W为随机初始化的字符嵌入矩阵,W∈Rd*d’,用于将d’维实数向量映射为d维序列向量;v∈Rd,表示映射后的序列向量,d为字符序列的固定长度,该维度等于网络中LSTM层的LSTM单元个数
步骤F:将得到的域名的表征向量输入到神经网络模型的BI-LSTM层,得到域名的上下文向量;
将域名m看做字符序列,将序列向量按照字符次序依次输入到一个双向的长短期记忆网络中,对于长短期记忆网络的正向,依次输入x1,x2...,xL,对于长短期记忆网络的反向,则依次输入xL,xL-1,…,x1,其中,X={x1,x2...,xL},X表示域名,L为域名m中字符个数;计算每个字符在正向和反向的隐层状态值,将这些隐层状态值求平均,乘以权重矩阵,最后使用激活函数得到域名m的上下文向量,计算公式如下:
C=Sigmoid(oiWc)
其中,xi为域名m中第i个字符的向量值,表示域名m中第i个字符的在正向长短期记忆网络中的隐层状态向量,表示域名m中第i个字符在反向长短期记忆网络中的隐层状态向量,f为长短期记忆网络中对隐层状态的计算函数,hi为正向和反向状态向量的串联,o为隐层状态的平均值向量,oT为向量o的转置向量,Wc权重参数矩阵,Sigmoid为使用的激活函数,C为域名的上下文向量。
步骤G:将域名的上下文向量输入到神经网络模型的全连接层,使用分类器计算每个域名属于标注的各类别的概率来训练模型参数,当神经网络模型产生的损失值迭代变化小于设定阈值不再降低或者达到最大迭代次数,则终止神经网络模型的训练,得到训练好的神经网络模型;
步骤G1:将得到的域名的上下文向量输入到DropOut层,并将DropOut层的输出输入到全连接层,使用softmax归一化,计算域名序列所属类别的概率。
计算公式如下:
y=fdense(Wdense*p+bdense)
其中,Wdense为全连接层权重矩阵,bdense为偏置项,fdense为激活函数,本专利中使用sigmod函数,y为域名序列向量p经过全连接层非线性转换的特征向量,向量维度为L,yi为y的第i维,p(yi)为预测为类别i的概率,0<p(yi)<1,L为类别的总数;
步骤G2:用交叉熵作为损失函数计算损失值,通过均方根随机梯度下降优化方法RMsprop计算所有的梯度的平方的平均值,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型。
所述最小化损失函数计算公式如下:
其中,Loss是损失函数值,p(yi)为域名序列xi通过深度学习模型LSTM的输出结果的概率,为域名序列xi的实际标记结果的概率。当损失值迭代变化|Lossi-Lossi+1|<ε时终止深度学习模型的训练。
步骤H:将待判定的域名转换为字符序列,输入训练好的神经网络模型,输出判定结果。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (9)

1.一种基于SMOTE和BI-LSTM的恶意域名检测方法,其特征在于,包括以下步骤:
步骤A:采集若干正常域名和恶意域名,组成训练集;
步骤B:对训练集中的域名进行数据预处理,得到域名字符序列训练集D;
步骤C:利用改进的SMOTE算法,对域名字符序列训练集D进行均衡化数据合成,得到增强均衡化的训练集D’;
步骤D:构造并初始化包含BI-LSTM层和全连接层的神经网络模型;
步骤E:将训练集D’中的域名转换为固定长度的表征向量;
步骤F:将得到的域名的表征向量输入到神经网络模型的BI-LSTM层,得到域名的上下文向量;
步骤G:将域名的上下文向量输入到神经网络模型的全连接层,使用分类器计算每个域名属于标注的各类别的概率来训练模型参数,当神经网络模型产生的损失值迭代变化小于设定阈值不再降低或者达到最大迭代次数,则终止神经网络模型的训练,得到训练好的神经网络模型;
步骤H:将待判定的域名转换为字符序列,输入训练好的神经网络模型,输出判定结果。
2.根据权利要求1所述的一种基于SMOTE和BI-LSTM的恶意域名检测方法,其特征在于:所述步骤B具体为:
步骤B1:创建一个Label数组用于存放域名的属性,并对训练集进行标注;
步骤B2:创建域名字符字典,将训练集中的域名转换为字符向量,得到域名字符序列训练集D。
3.根据权利要求2所述的一种基于SMOTE和BI-LSTM的恶意域名检测方法,其特征在于:所述步骤B2具体为:
步骤B21:创建域名字符字典,并初始化为空,字典中每个元素为<c,f>形式,其中c为字符,f为字符的出现频次;
步骤B22:遍历训练集中的所有域名,对域名所包含的每个字符c,若字典中存在字符c,则更新域名字符字典中字符c的频次;若不存在,则添加<c,1>到域名字符字典中;
步骤B23:遍历域名字符字典,首先根据字符出现频次给每个不同的字符一个唯一的编号;若出现频次相同,则根据遍历到的顺序赋予不同的编号;遍历域名字符字典,将字符按照频次进行顺序排序,并根据其顺序分配编号,得到域名字符序列训练集D;
其中,字典包含占位字符’None’,用来将位置字符统一映射为占位字符,编号为0。
4.根据权利要求1所述的一种基于SMOTE和BI-LSTM的恶意域名检测方法,其特征在于:所述步骤C具体为:
步骤C1:遍历域名字符序列训练集D,统计每个恶意域名生成算法DGAj的训练样本集Pj
其中M为恶意域名生成算法集合DGA的大小,DGAj表示DGA中的第j个恶意域名生成算法,Nj为DGAj所对应的样本集Pj的样本数;
步骤C2:若恶意域名生成算法DGAj的训练样本集Pj的样本数Nj小于指定阈值,则对Pj进行数据均衡化处理,将合成的数据添加到DGA域名字符序列训练集,得到增强均衡化的训练集D’。
5.根据权利要求4所述的一种基于SMOTE和BI-LSTM的恶意域名检测方法,其特征在于:所述步骤C2具体为:
步骤C21:遍历恶意域名生成算法DGAj的训练样本集Pj,对训练样本集Pj中的每个域名样本pj (i),i=1,2,...,Nj,通过KNN算法得到pj (i)的K个最近邻域名样本;K个最近邻样本中的多数类的数量由K'表示,其中这里的多数类是指正常域名;
步骤C22:若K=K',即pj (i)的所有K个最近邻居都是多数类,则认为pj (i)是噪声并跳过;若0≤K'<K/2,则认为pj (i)远离样本分布的边界并跳过该样本;若K/2≤K'<K,即pj (i)的多数类邻居的数量大于其少数类邻居的数量,则认为pj (i)容易被错误分类,并对pj (i)执行步骤C23;
步骤C23:通过pj (i)和pj (i)的K个最近邻域名样本选择s个最近的邻居,合成s个样本,并将第j个合成样本的标签标记为DGAj;具体公式如下:
syntheticj=pi+rj*diffj(j=1,2,…,s)
其中,syntheticj是对于pi合成的第j个域名样本;diffj是pi和其第j个邻居的差值,即diff=||pi-pj||;rj是一个在0和1之间的随机数,是一个差值对合成样本的影响程度的参数;s是1到K之间的随机整数,表示由pi合成的样本个数;
步骤C24:将合成的数据添加到DGA域名字符序列训练集,得到增强均衡化的训练集D’。
6.根据权利要求1所述的一种基于SMOTE和BI-LSTM的恶意域名检测方法,其特征在于:所述步骤E具体为:
对训练集D’中的域名m,使用字符嵌入工具将域名中的字符转化为序列向量形式,计算公式如下:
v=W*v'
其中,域名中每个字符根据步骤A3中创建的字符字典初始化为一个d’维的实数,v'是每个域名根据字符字典获得的实数向量;W为随机初始化的字符嵌入矩阵,W∈Rd*d’,用于将d’维实数向量映射为d维序列向量;v∈Rd,表示映射后的序列向量,d为字符序列的固定长度,该维度等于网络中LSTM层的LSTM单元个数。
7.根据权利要求1所述的一种基于SMOTE和BI-LSTM的恶意域名检测方法,其特征在于:所述步骤F具体为:
将域名m看做字符序列,将序列向量按照字符次序依次输入到一个双向的长短期记忆网络中,对于长短期记忆网络的正向,依次输入x1,x2...,xL,对于长短期记忆网络的反向,则依次输入xL,xL-1,...,x1,其中,X={x1,x2…,xL},X表示域名,L为域名m中字符个数;计算每个字符在正向和反向的隐层状态值,将这些隐层状态值求平均,乘以权重矩阵,最后使用激活函数得到域名m的上下文向量,计算公式如下:
C=Sigmoid(oiWc)
其中,xi为域名m中第i个字符的向量值,表示域名m中第i个字符的在正向长短期记忆网络中的隐层状态向量,表示域名m中第i个字符在反向长短期记忆网络中的隐层状态向量,f为长短期记忆网络中对隐层状态的计算函数,hi为正向和反向状态向量的串联,o为隐层状态的平均值向量,oT为向量o的转置向量,Wc权重参数矩阵,Sigmoid为使用的激活函数,C为域名的上下文向量。
8.根据权利要求1所述的一种基于SMOTE和BI-LSTM的恶意域名检测方法,其特征在于:所述步骤G具体为:
步骤G1:将得到的域名的上下文向量输入到DropOut层,并将DropOut层的输出输入到全连接层,使用softmax归一化,计算域名序列所属类别的概率。计算公式如下:
y=fdense(Wdense*p+bdense)
其中,Wdense为全连接层权重矩阵,bdense为偏置项,fdense为激活函数,本专利中使用sigmod函数,y为域名序列向量p经过全连接层非线性转换的特征向量,向量维度为L,yi为y的第i维,p(yi)为预测为类别i的概率,0<p(yi)<1,L为类别的总数;
步骤G2:用交叉熵作为损失函数计算损失值,通过均方根随机梯度下降优化方法RMsprop计算所有的梯度的平方的平均值,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型。
9.根据权利要求8所述的一种基于SMOTE和BI-LSTM的恶意域名检测方法,其特征在于:所述最小化损失函数计算公式如下:
其中,Loss是损失函数值,p(yi)为域名序列xi通过深度学习模型LSTM的输出结果的概率,为域名序列xi的实际标记结果的概率。当损失值迭代变化|Lossi-Lossi+1|<ε时终止深度学习模型的训练。
CN201910013192.2A 2019-01-07 2019-01-07 一种基于smote和bi-lstm网络的恶意域名检测方法 Expired - Fee Related CN109617909B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910013192.2A CN109617909B (zh) 2019-01-07 2019-01-07 一种基于smote和bi-lstm网络的恶意域名检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910013192.2A CN109617909B (zh) 2019-01-07 2019-01-07 一种基于smote和bi-lstm网络的恶意域名检测方法

Publications (2)

Publication Number Publication Date
CN109617909A true CN109617909A (zh) 2019-04-12
CN109617909B CN109617909B (zh) 2021-04-27

Family

ID=66018071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910013192.2A Expired - Fee Related CN109617909B (zh) 2019-01-07 2019-01-07 一种基于smote和bi-lstm网络的恶意域名检测方法

Country Status (1)

Country Link
CN (1) CN109617909B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113327A (zh) * 2019-04-26 2019-08-09 北京奇安信科技有限公司 一种检测dga域名的方法及装置
CN110225030A (zh) * 2019-06-10 2019-09-10 福州大学 基于rcnn-spp网络的恶意域名检测方法及***
CN110417810A (zh) * 2019-08-20 2019-11-05 西安电子科技大学 基于逻辑回归的增强模型的恶意加密流量检测方法
CN110765898A (zh) * 2019-10-09 2020-02-07 东软睿驰汽车技术(沈阳)有限公司 一种图像中物体及其关键点的确定方法和装置
CN110852379A (zh) * 2019-11-11 2020-02-28 北京百度网讯科技有限公司 训练样本生成方法、装置以及电子设备
CN110955756A (zh) * 2019-12-04 2020-04-03 中电福富信息科技有限公司 基于深度学习的特定领域不良信息检测方法
CN111046673A (zh) * 2019-12-17 2020-04-21 湖南大学 一种用于防御文本恶意样本的对抗生成网络及其训练方法
CN111163472A (zh) * 2019-12-30 2020-05-15 浙江工业大学 一种基于生成式对抗网络的信号识别攻击的防御方法
CN111198995A (zh) * 2020-01-07 2020-05-26 电子科技大学 一种恶意网页识别方法
CN111935099A (zh) * 2020-07-16 2020-11-13 兰州理工大学 一种基于深度降噪自编码网络的恶意域名检测方法
CN112199503A (zh) * 2020-10-28 2021-01-08 南京信息工程大学 一种基于特征增强的非平衡Bi-LSTM的中文文本分类方法
CN112261169A (zh) * 2020-10-16 2021-01-22 重庆理工大学 利用胶囊网络和k-means的DGA域名Botnet识别判断方法
CN113051496A (zh) * 2019-12-27 2021-06-29 中国电信股份有限公司 训练用于分类统一资源定位符的分类器的方法及***
CN113709152A (zh) * 2021-08-26 2021-11-26 东南大学 一种具备高抗检测能力的对抗域名生成模型
CN113780368A (zh) * 2021-08-20 2021-12-10 浙江网安信创电子技术有限公司 一种基于增强高斯过程的恶意域名检测方法
CN113794689A (zh) * 2021-08-20 2021-12-14 浙江网安信创电子技术有限公司 一种基于tcn的恶意域名检测方法
CN114499906A (zh) * 2020-11-12 2022-05-13 清华大学 一种dga域名检测方法及***
CN114666077A (zh) * 2020-12-08 2022-06-24 北京中科网威信息技术有限公司 Dga域名检测方法及***、电子设备及存储介质
CN114726823A (zh) * 2022-05-18 2022-07-08 北京金睛云华科技有限公司 一种基于生成对抗网络的域名生成方法、装置和设备
CN115065567A (zh) * 2022-08-19 2022-09-16 北京金睛云华科技有限公司 用于dga域名研判推理机的插件化执行方法
CN116318845A (zh) * 2023-02-09 2023-06-23 国家计算机网络与信息安全管理中心甘肃分中心 一种正负样本比例不平衡条件下的dga域名检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530367A (zh) * 2013-10-12 2014-01-22 深圳先进技术研究院 一种钓鱼网站鉴别***和方法
CN106992969A (zh) * 2017-03-03 2017-07-28 南京理工大学 基于域名字符串统计特征的dga生成域名的检测方法
CN108156174A (zh) * 2018-01-15 2018-06-12 深圳市联软科技股份有限公司 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质
CN108595632A (zh) * 2018-04-24 2018-09-28 福州大学 一种融合摘要与主体特征的混合神经网络文本分类方法
CN109104441A (zh) * 2018-10-24 2018-12-28 上海交通大学 一种基于深度学习的加密恶意流量的检测***和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530367A (zh) * 2013-10-12 2014-01-22 深圳先进技术研究院 一种钓鱼网站鉴别***和方法
CN106992969A (zh) * 2017-03-03 2017-07-28 南京理工大学 基于域名字符串统计特征的dga生成域名的检测方法
CN108156174A (zh) * 2018-01-15 2018-06-12 深圳市联软科技股份有限公司 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质
CN108595632A (zh) * 2018-04-24 2018-09-28 福州大学 一种融合摘要与主体特征的混合神经网络文本分类方法
CN109104441A (zh) * 2018-10-24 2018-12-28 上海交通大学 一种基于深度学习的加密恶意流量的检测***和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗赟骞: "基于深度学习的集成DGA域名检测方法", 《网络与信息安全》 *

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113327A (zh) * 2019-04-26 2019-08-09 北京奇安信科技有限公司 一种检测dga域名的方法及装置
CN110225030B (zh) * 2019-06-10 2021-09-28 福州大学 基于rcnn-spp网络的恶意域名检测方法及***
CN110225030A (zh) * 2019-06-10 2019-09-10 福州大学 基于rcnn-spp网络的恶意域名检测方法及***
CN110417810A (zh) * 2019-08-20 2019-11-05 西安电子科技大学 基于逻辑回归的增强模型的恶意加密流量检测方法
CN110765898A (zh) * 2019-10-09 2020-02-07 东软睿驰汽车技术(沈阳)有限公司 一种图像中物体及其关键点的确定方法和装置
CN110765898B (zh) * 2019-10-09 2022-11-22 东软睿驰汽车技术(沈阳)有限公司 一种图像中物体及其关键点的确定方法和装置
CN110852379A (zh) * 2019-11-11 2020-02-28 北京百度网讯科技有限公司 训练样本生成方法、装置以及电子设备
CN110955756A (zh) * 2019-12-04 2020-04-03 中电福富信息科技有限公司 基于深度学习的特定领域不良信息检测方法
CN111046673A (zh) * 2019-12-17 2020-04-21 湖南大学 一种用于防御文本恶意样本的对抗生成网络及其训练方法
CN113051496A (zh) * 2019-12-27 2021-06-29 中国电信股份有限公司 训练用于分类统一资源定位符的分类器的方法及***
CN113051496B (zh) * 2019-12-27 2024-01-26 中国电信股份有限公司 训练用于分类统一资源定位符的分类器的方法及***
CN111163472B (zh) * 2019-12-30 2022-10-04 浙江工业大学 一种基于生成式对抗网络的信号识别攻击的防御方法
CN111163472A (zh) * 2019-12-30 2020-05-15 浙江工业大学 一种基于生成式对抗网络的信号识别攻击的防御方法
CN111198995B (zh) * 2020-01-07 2023-03-24 电子科技大学 一种恶意网页识别方法
CN111198995A (zh) * 2020-01-07 2020-05-26 电子科技大学 一种恶意网页识别方法
CN111935099A (zh) * 2020-07-16 2020-11-13 兰州理工大学 一种基于深度降噪自编码网络的恶意域名检测方法
CN112261169A (zh) * 2020-10-16 2021-01-22 重庆理工大学 利用胶囊网络和k-means的DGA域名Botnet识别判断方法
CN112199503A (zh) * 2020-10-28 2021-01-08 南京信息工程大学 一种基于特征增强的非平衡Bi-LSTM的中文文本分类方法
CN112199503B (zh) * 2020-10-28 2023-04-28 南京信息工程大学 一种基于特征增强的非平衡Bi-LSTM的中文文本分类方法
CN114499906A (zh) * 2020-11-12 2022-05-13 清华大学 一种dga域名检测方法及***
CN114499906B (zh) * 2020-11-12 2023-04-25 清华大学 一种dga域名检测方法及***
CN114666077B (zh) * 2020-12-08 2022-11-15 北京中科网威信息技术有限公司 Dga域名检测方法及***、电子设备及存储介质
CN114666077A (zh) * 2020-12-08 2022-06-24 北京中科网威信息技术有限公司 Dga域名检测方法及***、电子设备及存储介质
CN113794689A (zh) * 2021-08-20 2021-12-14 浙江网安信创电子技术有限公司 一种基于tcn的恶意域名检测方法
CN113780368A (zh) * 2021-08-20 2021-12-10 浙江网安信创电子技术有限公司 一种基于增强高斯过程的恶意域名检测方法
CN113709152A (zh) * 2021-08-26 2021-11-26 东南大学 一种具备高抗检测能力的对抗域名生成模型
CN114726823B (zh) * 2022-05-18 2022-08-30 北京金睛云华科技有限公司 一种基于生成对抗网络的域名生成方法、装置和设备
CN114726823A (zh) * 2022-05-18 2022-07-08 北京金睛云华科技有限公司 一种基于生成对抗网络的域名生成方法、装置和设备
CN115065567A (zh) * 2022-08-19 2022-09-16 北京金睛云华科技有限公司 用于dga域名研判推理机的插件化执行方法
CN115065567B (zh) * 2022-08-19 2022-11-11 北京金睛云华科技有限公司 用于dga域名研判推理机的插件化执行方法
CN116318845A (zh) * 2023-02-09 2023-06-23 国家计算机网络与信息安全管理中心甘肃分中心 一种正负样本比例不平衡条件下的dga域名检测方法
CN116318845B (zh) * 2023-02-09 2024-06-18 国家计算机网络与信息安全管理中心甘肃分中心 一种正负样本比例不平衡条件下的dga域名检测方法

Also Published As

Publication number Publication date
CN109617909B (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN109617909A (zh) 一种基于smote和bi-lstm网络的恶意域名检测方法
CN110225030B (zh) 基于rcnn-spp网络的恶意域名检测方法及***
Wang et al. Neural architecture search for robust networks in 6G-enabled massive IoT domain
CN107609399A (zh) 基于nin神经网络的恶意代码变种检测方法
CN112492059A (zh) Dga域名检测模型训练方法、dga域名检测方法、装置及存储介质
Li et al. Identifying overlapping communities in social networks using multi-scale local information expansion
CN112235434B (zh) 融合k-means及其胶囊网络的DGA网络域名检测识别***
CN110083125A (zh) 一种基于深度学习的机床热误差建模方法
CN110245683A (zh) 一种少样本目标识别的残差关系网络构建方法及应用
CN111859454A (zh) 防御基于图神经网络链路预测的隐私保护方法
CN115080383A (zh) 模型状态差分的深度神经网络测试用例生成方法
Ali et al. Classification of the Reynolds stress anisotropy tensor in very large thermally stratified wind farms using colormap image segmentation
CN114239083B (zh) 一种基于图神经网络的高效状态寄存器识别方法
CN114511452A (zh) 融合多尺度空洞卷积和三元组注意力的遥感图像检索方法
Kuok et al. Broad Bayesian learning (BBL) for nonparametric probabilistic modeling with optimized architecture configuration
Li et al. Sa-es: Subspace activation evolution strategy for black-box adversarial attacks
Li et al. Improving GAN-based calligraphy character generation using graph matching
Wang et al. Cross-view representation learning for multi-view logo classification with information bottleneck
Li et al. STADE-CDNet: Spatial–temporal attention with difference enhancement-based network for remote sensing image change detection
CN112261169B (zh) 利用胶囊网络和k-means的DGA域名Botnet识别判断方法
Jin et al. DANAA: Towards transferable attacks with double adversarial neuron attribution
CN116958809A (zh) 一种特征库迁移的遥感小样本目标检测方法
CN112261028B (zh) 基于胶囊网络和k-means的DGA僵尸网络域名检测方法
CN114722920A (zh) 一种基于图分类的深度图卷积模型钓鱼账户识别方法
CN115118451A (zh) 结合图嵌入知识建模的网络入侵检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210427

Termination date: 20220107

CF01 Termination of patent right due to non-payment of annual fee