dns隧道攻击检测算法:

最近开始接触dns异常检测相关的内容,根据对dns特征提取方式的不同对近几年的dns tunneling攻击检测算法的相关论文进行了分类整理和总结,用于自身的学习回顾。

特征提取有意义:

2017:HARNESSING PREDICTIVE MODELS FOR ASSISTING NETWORK FORENSIC INVESTIGATIONS OF DNS TUNNELS

数据集:

自制数据集(不是原始的pcap文件,是只包含三维特征的文件):https://dx.doi.org/10.17045/sthlmuni.4229399.v1

构建方法:十折交叉验证

特征向量:

the IP Packet Length, the DNS Query Name Length and the DNS Query Name Entropy.

注意以上特征都是以包为单位而不是以会话为单位进行提取的,对单个包提取以上特征之后将会对整个会话中所有包计算三个值的平均值

提取代码:https://github.com/irvinhomem/TunnelFeatureExtractor

分类器:

KNN、决策树(CART算法)、SVM(Radial Kernel)、多项式神经网络MMM

2018:DNS Tunneling Detection Method Based on Multilabel Support Vector Machine

数据库部分:

公开数据集I. Homem and P. Papapetrou, Harnessing Predictive Models for Assisting Network Forensic Investigations of DNS Tunnels, 2017+自制部分正常数据集(会话划分方式未知)

特征提取部分:

IP包层次特征、传输层特征、应用层特征

特征向量:<DNS请求长度、IP发送包长度、IP响应包长度、编码后的DNS请求名长度、请求应用层信息熵、IP包信息熵、请求名信息熵>

特征离散化:欧几里得距离的K-means算法将多样化的小数离散为有限数值的集合(query本身好像也根据字符相似度做了一个聚类?

分类器部分

multilabel SVM(kernal SVM)对隧道攻击进行多分类

2019:Detecting abnormal DNS traffic using unsupervised machine learning

数据库:

公开数据集:Botsv1

splunk/botsv1. Splunk GitHub, 2020.

特征向量:

messagetype, transactionid, srcip, src_port, destip, dest_port, bytes, bytesin, bytesout, timejaken, transport, timestamps.

分类器:

四个无监督算法:k-means、GMM、DBSCAN、LOF

2021:A hybrid method of genetic algorithm and support vector machine for DNS tunneling detection

数据集:

Entropy-based Prediction of Network Protocols in the Forensic Analysis of DNS Tunnels

特征提取:

初始特征集->特征离散化->遗传算法选择最优特征向量

初始特征集:DNS request length, IP packet sender length, IP packet response length, encoded DNS query name length, request application layer entropy, IP packet entropy and query name entropy

遗传算法:按照初始特征数量随机一群二进制字符串(每一位代表一个特征的是否纳入考虑)用做GA算法的初始族群,每个conn算一个染色体

分类器:

二分类svm

特征提取无意义:

2019:A Byte-level CNN Method to Detect DNS Tunnels

问题定义:

dns二分类问题:正常or异常

dns包->特征向量->二分类网络

特征提取:

  • 定义数据包长度L(当dns包长于L字节时直接截断,直接截断的方法会不会漏掉后面的重要信息,长度决定是否合理?为什么不直接按照dns包规定的上限512字节对不足者进行填充?,若不足时不足的位置填充值256)

  • 按字节进行one-hot编码:由于每个字节的取值范围为0 ~ 256(本身是0 ~ 255,空值填充为256,则取值范围得到了扩大,一共可以取到257个值),因此每个字节将会转化为一个257维的向量;对整个数据包的每个字节进行one-hot编码后得到一个L×257的矩阵A

    one-hot编码:一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都有他独立的寄存器位,并且在任意时候只有一位有效,设置该字符对应的位为1,其他位为0

    one-hot编码矩阵存在的问题:

    • one-hot vector太大,在深度学习中,巨大的输入向量意味着神经网络的超大数量的权重。 如果你的词汇表中有M个单词,并且输入上的网络的第一层中有N个节点,则您需要使用MxN个权重来训练该层。 大量的权重会导致进一步的数据量和计算量的问题

    • one-hot编码后的向量间缺少有意义的关系。如果将RGB通道的像素值提供给图像分类器,那么谈论“相近”值是有意义的。 略带红色的蓝色接近纯蓝色,无论是在语义上还是在向量之间的几何距离方面。 但是对于索引1247的1的向量表示的“马”,与索引50,430为1的向量表示的“羚羊”的关系不比索引238为1表示的向量“电视”的更接近。

  • embending层:为了解决稀疏矩阵的问题,引入embending层,该层的输入是上一步得到的L×257的one-hot编码矩阵A,将该矩阵与一个大小为257×K的embending矩阵B相乘(矩阵B根据矩阵A的统计得到,第i行是A中第i列为1的行的个数,如上图所示),得到一个L×K的输出矩阵C

    embedding将大型稀疏向量转换为保留语义关系的低维空间。第一解决了向量空间高维度的问题,第二赋予了单词间几何空间距离大小的实际意义。

    分类网络:传统CNN

  • 总结:

    特征提取:

  • 以会话为单位:对会话中每个数据包单独提取特征,然后计算特征的平均值作为整个会话的代表

  • 以数据包为单位

  • 信息熵、数据包长度是最经典的特征选择,还可以提取多维特征然后利用算法选择最为有效的特征

    分类器部分:

    SVM、决策树、CNN、聚类(都是基础的二分类模型)

【论文阅读】DNS隧道攻击检测算法整合相关推荐

  1. dns隧道攻击原理及常用工具流量分析

    今天看到一个关于Lyceum组织的文章,这个组织擅长使用dns隧道攻击,这种攻击方式还是头一次听说,于是搜集了一些文章来看看. 原文https://www.cnblogs.com/HighnessDr ...

  2. 论文阅读笔记 | 三维目标检测——MV3D算法

    如有错误,恳请指出. 文章目录 1. 背景 2. 网络结构 2.1 提案投影网络 2.2 区域融合网络 3. 实验结果 paper:<Multi-View 3D Object Detection ...

  3. 【论文阅读】二.Webshell检测方法研究综述

    目录 一.论文题目 二.作者信息 三.论文地址 四.论文内容 1.webshell检测的分类 2.基于静态文本的检测 3.基于动态行为的检测 4.基于日志分析的监测 5.future works 一. ...

  4. FCOS论文复现:通用物体检测算法

    摘要:本案例代码是FCOS论文复现的体验案例,此模型为FCOS论文中所提出算法在ModelArts + PyTorch框架下的实现.本代码支持FCOS + ResNet-101在MS-COCO数据集上 ...

  5. 论文阅读笔记 | 三维目标检测——3DSSD

    如有错误,恳请指出. 文章目录 1. 背景 2. 网络结构 2.1 特征提取 2.2 边框生成 3. 实验结果 paper:<3DSSD: Point-based 3D Single Stage ...

  6. 论文阅读笔记 | 三维目标检测——PointRCNN

    如有错误,恳请指出. 文章目录 1. 背景 2. 网络结构 2.1 Proposal Generation 2.2 Proposal Refinement 3. 实验部分 3.1 kitti上的测评 ...

  7. 论文阅读笔记 | 三维目标检测——Complex-YOLO算法

    如有错误,恳请指出. 文章目录 1. 背景 2. 网路结构 3. 实验结果 paper:<Complex-YOLO: An Euler-Region-Proposal for Real-time ...

  8. 论文阅读笔记 | 三维目标检测——PartA2算法

    如有错误,恳请指出. 文章目录 0. 前言与补充知识 1. 背景 2. 相关工作 3. 网络结构 3.1 Part-aware stage Anchor-free Proposal Generatio ...

  9. 论文阅读笔记 | 三维目标检测——VoxelNet算法

    如有错误,恳请指出. 文章目录 1.背景 2. 网络结构 2.1 体素特征表示 2.2 卷积特征提取 2.3 RPN网络 3. 实验结果 paper:<VoxelNet: End-to-End ...

  10. 论文阅读笔记 | 三维目标检测——VoxelRCNN算法

    如有错误,恳请指出. 文章目录 1. 背景 2. 网络结构 Voxel Query Voxel ROI Pooling Accelerated Aggregation Loss Compute 3. ...

最新文章

  1. 《postfix邮件服务下mailq、postmap、postqueue 、 postsuper等用法》
  2. Linux Java Web 服务器搭建之tomcat安装
  3. 下载Google Play中的APK
  4. Wifi模块—源码分析Wifi热点扫描(Android P)
  5. java跳转_java 跳转语句
  6. Elasticsearch java api 基本搜索部分详解
  7. nginx实现网站url带参跳转 POST请求GET请求跳转
  8. 互联网金融业务中的风控
  9. 分布式系统概念与设计——阅读笔记(一)
  10. UCINET使用经验分享
  11. Weblogic10.3.6反序列化漏洞补丁更新
  12. go fyne 跨平台开发框架 gui 编程 抖音下载 去水印编程 学习交流
  13. C++学习第十课--构造函数详解、explicit与初始化列表笔记
  14. 百度杯”CTF比赛(十二月场)
  15. 零基础学摄影nbsp;人像摄影调节光…
  16. 《软件创富》 序:1997前后
  17. Educational Codeforces Round 137 (Rated for Div. 2)A~D题解
  18. sql 创建表,批量插入数据
  19. 视频教程-软考系统集成项目管理工程师视频教程(上)-软考
  20. 在Vs2017上集成osgearth3.2和qt5.9,并加载shp文件。

热门文章

  1. apple configurator 2 获取appstore ipa包
  2. 货捕头API接口,item_search - 根据关键词取商品列表
  3. 判断文本框输入中文超过10个英文数字超过20个
  4. 配置OpenWRTnbsp;校园网实现amp;nbsp…
  5. HDU 4826 双向DP
  6. html+css基础入门学习教程之HTML 样式
  7. 数据库设计----概念结构设计(概念模型、E—R模型、概念结构设计)
  8. Q-learning 算法工作原理
  9. Spring实战第五章idea复现
  10. 函数对称性常见公式_函数的对称性的常用结论