在过去,很多防火墙对于DDoS攻击的检测一般是基于一个预先设定的流量阈值,超过一定的阈值,则会产生告警事件,做的细一些的可能会针对不同的流量特征设置不同的告警曲线,这样当某种攻击突然出现的时候,比如SYN flood,此时网络中SYN的报文会超过阈值,说明发生了SYN flood攻击。

但是当网络中的报文速率本身是这条曲线的时候,曲线自身就一直在震荡,在这样的曲线上如何检测异常?如何根据阈值检测攻击?真正的攻击又是哪一个点?

这个攻击几乎肉眼无法分辨。如果不是那个时间点真的出了攻击,也很难从曲线上找出来。要放大了才能看出来。

所有上述的攻击,人的肉眼可以发现出来,基本上都是因为人在观察曲线的时候对于曲线的平滑和不平滑的交界处非常敏感。攻击检测算法第一位的需求是要把人肉眼可以观察出来的波动,锯齿,突刺都检测出来。

除了上面的这些检测方法之外,还有一类,就是从整体上看历史流量情况,然后根据这个时刻的流量峰值来判断。

这种方法对历史流量进行学习,生成业务访问的流量模型,并将业务当前流量和模型作比较,出现明显偏差时就判断为DDoS攻击。这种方法对于流量比较稳定的业务比较有效。但是在我们实际的互联网业务中,发现检测效果非常的低,特别是云计算环境,每天的业务都不一样,因此检测效率较低。

看起来,要实现一个高精度的检测系统,无外乎几个条件:
1、采集目标IP的网络流量
2、对关注的指标进行存储,并描绘成曲线
3、对曲线进行攻击检测,在必要的时候告警通知运维人员

如果要对其进行量化的话则主要是两个指标:
1、误报率:在所有产生的告警中,有多少代表了真正的攻击
2、敏感度:在所有真正的攻击中,有多少被检测系统发现

为了降低误清洗率,我们又进一步的在alibeaver中提出了一种基于流量成分的检测算法,并且结合毫秒级的分光设备,实现了快速的ddos攻击检测。

实际的算法可能有N多的公式、函数和流程,我不是一个理论工作者,这里只用一个简单的例子来说明:
如下可以看到一个HTTP业务的正常情况和受攻击时的入方向流量成分。正常时的抓包:其中在协议层面上,SYN、ack、Fin、Rst、icmp等报文的比例在一定的范围之内。不管流量多大,只要业务不发生变化,其实总的比例都差不多。

而我们观察一次该业务被攻击时候的抓包,可以发现攻击发生的时候,某些成分的比例会急剧上升,也许有人会挑战我,攻击者也可以完全的模拟正常业务的请求来跟服务器进行交互,这样你的检测算法也就没用了,但是事实上是,这样做攻击者需要真正的真实IP,而且真实的交互会更快的暴露自己,虽然也没法做到像正常业务交互那样真实。

结论:这是一个典型的SYNflood攻击。通过对比正常情况和受攻击时的入口流量成分,可以看到攻击发生的时候网络中各个协议的占比发生了明显的变化。

摘自:https://xianzhi.aliyun.com/forum/mobile/read/77.html

DDos攻击的一些领域知识——(流量模型针对稳定业务比较有效)不稳定业务采用流量成本的检测算法,攻击发生的时候网络中各个协议的占比发生了明显的变化的更多相关文章

  1. 从kill-chain的角度检测APT攻击

    前言 最近一直在考虑如何结合kill chain检测APT攻击.出发点是因为尽管APT是一种特殊.高级攻击手段,但是它还是会具有攻击的common feature,只要可以把握住共同特征,就能进行检测 ...

  2. MDNS DDoS 反射放大攻击——攻击者假冒被攻击者IP向网络发送DNS请求,域名为“_services._dns-sd._udp.local”,这将引起本地网络中所有提供服务的主机都向被攻击者IP发送DNS响应,列举网络中所有服务

    MDNS Reflection DDoS 2015年3月,有报告叙述了mDNS 成为反射式和放大式 DDoS 攻击中所用媒介的可能性,并详述了 mDNS 反射式攻击的原理和相应防御方式.Q3,Akam ...

  3. WPF在3D Cad模型中利用TextureCoordinates实现颜色渐变显示偏差值的变化

    原文:WPF在3D Cad模型中利用TextureCoordinates实现颜色渐变显示偏差值的变化 注:最近在做3D机械模型重建方面的软件,需要根据光栅传感器采集的数据绘制3D图形,并显示出色差以及 ...

  4. 第三十五个知识点:给针对ECDLP问题的Pollard rho,Pollard "Kangaroo",parallel Pollard rho攻击的一个粗略的描述

    第三十五个知识点:给针对ECDLP问题的Pollard rho,Pollard "Kangaroo",parallel Pollard rho攻击的一个粗略的描述 我们的目标是对任 ...

  5. 【模型推理】量化实现分享一:详解 min-max 对称量化算法实现

      欢迎关注我的公众号 [极智视界],回复001获取Google编程规范   O_o   >_<   o_O   O_o   ~_~   o_O   大家好,我是极智视界,本文剖析一下 m ...

  6. 基于Shading Model(对光照变化一定不变性)的运动目标检测算法

    光照模型(Shading Model)在很多论文中得到了广泛的应用,如robust and illumination invariant change detection based on linea ...

  7. 【计算机视觉】基于Shading Model(对光照变化一定不变性)的运动目标检测算法

    光照模型(Shading Model)在很多论文中得到了广泛的应用,如robust and illumination invariant change detection based on linea ...

  8. 【模型推理】量化实现分享二:详解 KL 对称量化算法实现

      欢迎关注我的公众号 [极智视界],回复001获取Google编程规范   O_o   >_<   o_O   O_o   ~_~   o_O   大家好,我是极智视界,本文剖析一下 K ...

  9. 【模型推理】量化实现分享三:详解 ACIQ 对称量化算法实现

      欢迎关注我的公众号 [极智视界],回复001获取Google编程规范   O_o   >_<   o_O   O_o   ~_~   o_O   大家好,我是极智视界,本文剖析一下AC ...

随机推荐

  1. ie8及其以下版本兼容性问题之placeholder实现

    1. 普通浏览器下修改placeholder颜色 因为每个浏览器的CSS选择器都有所差异,所以需要针对每个浏览器做单独的设定. 示例: input::-webkit-input-placeholder ...

  2. 【Oracle】to_char技巧

    Select to_char(sysdate,'ss') from dual;      取当前时间秒部分 Select to_char(sysdate,'mi') from dual;      取 ...

  3. Photoshop显示RGB值问题

    Bmp与JPEG格式的不同之处在哪里? 使用OpenCV读写图像,然后由Photoshop显示时候结果并不相同,使用jpg格式的图像灰度值明显大于bmp格式,但jpg格式的显示信息是错误的. 过程: ...

  4. AI: DL方法与问题空间探索

    所谓问题的解决是生存参数空间的一种状态转移到另外一种状态,而目的状态恰好是主体所希望的.完成这种转换的一系列脚本变化过程叫做场景序列,也叫通路.驱动这一些列场景转换的主体参与过程,被称为主动执行.而主 ...

  5. 点击button 触发另一个button 事件

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs&quo ...

  6. java这个404你能解决吗?

    前言 本文首发于公众号[我的小碗汤]本公众号免费提供csdn下载服务,海量IT学习资源,如果你准备入IT坑,励志成为优秀的程序猿,那么这些资源很适合你,包括但不限于java.go.python.spr ...

  7. 小程序text组件内部上边距的问题

    index.wxml: <view class="slogan"> <text> 建立跨文化的全球视野,做世界公民 </text> </v ...

  8. spring-boot启动自动执行sql文件失效 解决办法

    在springboot1.5及以前的版本,要执行sql文件只需在applicaion文件里指定sql文件的位置即可.但是到了springboot2.x版本, 如果只是这样做的话springboot不会 ...

  9. 在 Linux 下判断系统当前是否开启了超线程

    转自: http://www.cnblogs.com/wjoyxt/p/4804293.html #lscpu Thread(s) per core: 2 Core(s) per socket: 6 ...

  10. php第八节课

    加载 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...