基于图神经网络,dqn神经网络
基于深度DGA:高级细节
再现(Python ):GitHub地址
背景
由DGA引发的一系列…
DGA是一种逃避域名黑名单检测的技术手段。DGA接收种子的输入,生成大量伪随机域名,其中一些是注册为CC服务器域名的僵尸网络和恶意软件(称为恶意域名或DGA域名)。在找到注册域名维护者之前,可以选择所有可能的域名黑名单
Example:Cryptolocker
。这是DGA域名生成算法。
不同算法的字符分布
首先,Alexa是实际数据集(全球网络排名)。
Cryptolocker和ramnit在同一范围内基本相同(单种子计算)。通过连接Suppobox的英文词典中的随机词,反映出Alexa Top 1M分布之前的DGA检测模型更难正确分类文本。目标是
这是一个数据压缩算法。该模型由编码器、解码器和损失函数组成。
编码器:将输入转换为低维嵌入式(有损压缩)解码器:重构(解压缩)编码器的原始输入(目标)最小化原始输出和输入之间的失真)易于训练,无需标记)
自编码器
这是两种模式的对抗。
生成器:根据实际数据分布样本建立合成数据标识符。有必要接收样本并确定它是复合数据样本的目标还是实际数据样本。找到类似纳什均衡的均衡模型。(两个型号因为互相对抗很难进步)训练很难。回顾了本文在无监控架构下实现的生成自编码器和对抗网络的架构。
自编码器
生成对抗网络
目标:学习显示正确的Alexa域名。
编码器架构来自[Kim et al,2015],字符组合(2D/3D文法)max-Poole是通过嵌入和学习字符级语言建模中有效的每个域名的字符线性映射(20维空间)的卷积核生成的。
首先,先处理数据。(dga_reader.py).当你接受它时,每一行都是一个域名。接收到输入后,获取的DGA域名的最大长度为actual_max_word_length(为了方便下面的描述,这里假设获取的DGA域名的最大长度为60)。调用以下函数:
该功能
左图:自编码器中的编码器
目标:学习显示正确的Alexa域名。解码器:与编码器相反,删除maxpool的过程重复了域名中嵌入的最大长度域名长度(时间步长)序列。LSTM-高速公路网-当Softmax在最后一层卷积滤波器中被激活时,域名字符中会生成多个分布式实例,输入域名后会生成一个模型化的新域名。