转自:http://www.airghc.top/2016/11/10/Dection-DDos/

最近研究了一篇论文,关于检测DDos攻击,使用了深度学习中 栈式自编码的算法,现在简要介绍一下内容
论文下载

讨论班讲解pdf-by airghc

ppt

DDOS: Distributed Denial of Service(分布式拒绝服务)
Purpose:
disrupting transactions and access to databases
The attack on the application layer can disrupt services such as the retrieval of information or
search function[4] as well as web browser function, email services and photo applications
Accompanies:
Usually The attack had been carried out in two stages.First, Transport layer DDos attack was
carried out to get access on to the web server In the second stage an AL-DDos attack was
launched.
Difference:
以去银行办业务举例:
网络层 ddos 是让去往银行的道路交通变得拥堵,无法使正真要去银行的人到达;常利用协议为网络层的,
如 tcp(利用三次握手的响应等待及电脑 tcp 连接数限制)等
应用层 ddos 则是在到达银行后通过增办、询问业务等等各种“合法要求”来消耗银行的业务资源,如利用
http(查看所有网页、占用资源大的网页如:视频等或让网站处理复杂数据如:校验、计算等)
两者本质都是消耗资源,使服务器无法为真实用户提供服务
Mitigation 缓和
hijacked 被劫持,被绑架
1 很严重,检测的难度很大,很难预先阻止,不同的几种 ddos 攻击类型
2 相关的工作,介绍了目前基于模式识别的检测方法,主要分成两类,序列化模式识别和统计模式识别,
同时说明了目前方法的缺陷
3 所有已经存在的方法不能检测所有类型的 al-ddos 攻击,因为很少特征能够用于分类正常流量和攻击流
量,所以作者使用了深度学习的方法进行特征学习,从有限的样本中得到更多的抽象特征,本论文使用了
栈式自编码的算法进行特征学习
4 目标方法先不说,等后面详细介绍
5 结论 经过统计结果得到方法的正确率达到了 98.99%
Three types:
Session flooding: the attacker sends a session connection request at a huge rate than benign
user
Request flooding: in on session, the attacker make a huge number of requests than benign
user
Asymmetric Attack: the attacker makes requests with very high workloads such as
downloading of big files or response to some database intensive query
Sequential pattern recognition:
HsMM: Hidden Semi Markov Model (隐半马尔可夫模型)描述正常网页用户的浏览习惯从合法用户所做
出的请求序列中学习得到,从而预测合法的用户要获取一个页面所做出的一些序列化请求顺序,通过计算
正常用户所做行为的熵当做一个参数去测量用户的合法性
Random walk graph:创建正常用户的随机行走图,通过使用雅可比行列式测量待检测的用户行为和刚才
的随机行走图之间的相似程度来判断合法性
Statistical pattern recognition:
Trust Management: 通过访问用户的 ip 地址历史记录,分配给用户信任等级,如果用户在历史记录中表
现良好,那么就会分配给他更高的信任等级Hierarchical Clustering(分层群聚):检测会话泛洪攻击有四个特征
单次会话中平均请求对象大小
请求速度
会话中对象的访问频率
平均转换概率
RFV: 计算正常 traffic 和攻击 traffic 的熵的不同来检测 AL-DDoS 攻击
AutoEncoder:
Deep Learning 最简单的一种方法是利用人工神经网络的特点,人工神经网络(ANN)本身就是具有层
次结构的系统,如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参数,得到每
一层中的权重。自然地,我们就得到了输入 I 的几种不同表示(每一层代表一种表示),这些表示就是特
征。自动编码器就是一种尽可能复现输入信号的神经网络。
如上图,我们将 input 输入一个 encoder 编码器,就会得到一个 code,这个 code 也就是输入的一个表
示,那么我们怎么知道这个 code 表示的就是 input 呢?我们加一个 decoder 解码器,这时候 decoder
就会输出一个信息,那么如果输出的这个信息和一开始的输入信号 input 是很像的(理想情况下就是一样
的),那很明显,我们就有理由相信这个 code 是靠谱的。所以,我们就通过调整 encoder 和 decoder
的参数,使得重构误差最小,这时候我们就得到了输入 input 信号的第一个表示了,也就是编码 code 了。
因为是无标签数据,所以误差的来源就是直接重构后与原输入相比得到。
那上面我们就得到第一层的 code,我们的重构误差最小让我们相信这个 code 就是原输入信号的良好表达
了,或者牵强点说,它和原信号是一模一样的(表达不一样,反映的是一个东西)。那第二层和第一层的
训练方式就没有差别了,我们将第一层输出的 code 当成第二层的输入信号,同样最小化重构误差,就会
得到第二层的参数,并且得到第二层输入的 code,也就是原输入信息的第二个表达了。其他层就同样的
方法炮制就行了
Stacked autoencoder

DDos攻击,使用深度学习中 栈式自编码的算法的更多相关文章

  1. 深度学习中交叉熵和KL散度和最大似然估计之间的关系

    机器学习的面试题中经常会被问到交叉熵(cross entropy)和最大似然估计(MLE)或者KL散度有什么关系,查了一些资料发现优化这3个东西其实是等价的. 熵和交叉熵 提到交叉熵就需要了解下信息论 ...

  2. zz详解深度学习中的Normalization,BN/LN/WN

    详解深度学习中的Normalization,BN/LN/WN 讲得是相当之透彻清晰了 深度神经网络模型训练之难众所周知,其中一个重要的现象就是 Internal Covariate Shift. Ba ...

  3. 深度学习初探——符号式编程、框架、TensorFlow

    一.命令式编程(imperative)和符号式编程(symblic) 命令式: import numpy as np a = np.ones(10) b = np.ones(10) * 2 c = b ...

  4. 深度学习中常见的 Normlization 及权重初始化相关知识(原理及公式推导)

    Batch Normlization(BN) 为什么要进行 BN 防止深度神经网络,每一层得参数更新会导致上层的输入数据发生变化,通过层层叠加,高层的输入分布变化会十分剧烈,这就使得高层需要不断去重新 ...

  5. 深度学习中的Data Augmentation方法(转)基于keras

    在深度学习中,当数据量不够大时候,常常采用下面4中方法: 1. 人工增加训练集的大小. 通过平移, 翻转, 加噪声等方法从已有数据中创造出一批"新"的数据.也就是Data Augm ...

  6. 深度学习中优化【Normalization】

    深度学习中优化操作: dropout l1, l2正则化 momentum normalization 1.为什么Normalization?     深度神经网络模型的训练为什么会很困难?其中一个重 ...

  7. 深度学习中dropout策略的理解

    现在有空整理一下关于深度学习中怎么加入dropout方法来防止测试过程的过拟合现象. 首先了解一下dropout的实现原理: 这些理论的解释在百度上有很多.... 这里重点记录一下怎么实现这一技术 参 ...

  8. 关于深度学习中的batch_size

    5.4.1 关于深度学习中的batch_size 举个例子: 例如,假设您有1050个训练样本,并且您希望设置batch_size等于100.该算法从训练数据集中获取前100个样本(从第1到第100个 ...

  9. 深度学习中Dropout原理解析

    1. Dropout简介 1.1 Dropout出现的原因 在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象. 在训练神经网络的时候经常会遇到过拟合的问题 ...

随机推荐

  1. MTK刷机工具Flash_Tool部分4032错误解决办法

    MTK刷机工具Flash_Tool部分4032错误解决办法 先说明一点,这个办法不是万能的,我测试解决了以下两种情况下的4032: 1.本来正常的开发板,因为一次刷机失败后就一直变4032了 2.新开 ...

  2. JDBC: 批量处理提高SQL处理速度

    引用:忘了 当需要成批插入或者更新记录时.可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理.通常情况下比单独提交处理更有效率 JDBC的批量处理语句包括下面两个方法: a ...

  3. (转)i686只是cpu的指令等级,包括32bit和64bit

    i代表intel系列的cpu 386 几乎适用于所有的 x86 平台,不论是旧的 pentum 或者是新的 pentum-IV 与 K7 系列的 CPU等等,都可以正常的工作! 那个 i 指的是 In ...

  4. dubbo之泛化实现

    实现泛化调用 泛化接口调用方式主要用于客户端没有 API 接口及模型类元的情况,参数及返回值中的所有 POJO 均用 Map 表示,通常用于框架集成,比如:实现一个通用的服务测试框架,可通过 Gene ...

  5. 2星|《10W+走心文案是怎样炼成的》:标题党。实际是台湾创意总监的一些人生感悟和两三个很一般的创意文案

    10W+走心文案是怎样炼成的 作者是台湾人,曾在台湾奥美担任创意总监,做过一些广告.本书是他的一些经验介绍. 总体来说是标题党,作者的广告基本是电视广告,跟文案也有关系,估计播放量也很容易过10W+, ...

  6. react和vue对比

    相同点 都支持服务器端渲染 都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent规范 数据驱动视图 都有支持native的方案,React的 ...

  7. :before和:after结合使用

    <div class="slider-block" id="block" style="left: 15.5px;" data=&qu ...

  8. git_安装与配置

    安装 windows平台安装 在windows平台安装git,需要下载exe.文件,下载地址:https://gitforwindows.org/,双击下载的.exe文件,按照提示进行安装,安装完成后 ...

  9. safari浏览器click事件要点击两次才有响应出现闪烁

    闪烁问题 由于在iOS Safari上click事件存在300ms响应延时,所以为touch事件添加样式,会和click事件默认样式叠加而产生闪烁问题. 因为ios safari浏览器中对触摸事件的响 ...

  10. 08.Web服务器-2.HTTP协议介绍

    HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF ...