在过去,很多防火墙对于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. Centos 自动删除日志文件的Shell代码

    #!/bin/bash # #判断文件夹内文件的大小,如果大于一定的数值,那么删除 # echo '判断文件夹内文件的大小,如果大于一定的数值,并且文件名称包含数字(年月日)的删除,那么删除' pat ...

  2. RecyclerView的基础用法

    为了让RecyclerView可以在所有的Android版本中都能使用,Android开发团队将RecyclerView定义在support.v7包当中.在使用该控件时需要打开当前Modile的bui ...

  3. 手动触发dom节点事件代码

    在爬代码过程中,碰到一个稀奇古怪的问题.需要手工修改select的值,然后手动触发select的change事件,但使用网络上查到的通过trigger.onchange()事件触发都不执行,没办法,只 ...

  4. Azure Service Bus

    Azure Service Bus  是类似Rabbit的一个队列的应用. 找了两个基本的教程 First(但是这个,没有写怎么去链接账户)  Sec:这个有   Third(讲的也很好) Windo ...

  5. 微服务常见安全认证方案Session token cookie跨域

    HTTP 基本认证 HTTP Basic Authentication(HTTP 基本认证)是 HTTP 1.0 提出的一种认证机制,这个想必大家都很熟悉了,我不再赘述.HTTP 基本认证的过程如下: ...

  6. 微信jssdk图片上传

    一.html页面如下: <div class="weui-cell"> <div class="weui-cell__hd"></ ...

  7. iconfont

    查看一些网站代码的过程中,会发现许多的图片是不是背景图片或者<img>,而是类似于下面这样: .iconfont{ font-family:"iconfont" !im ...

  8. tomcat8版本实现虚拟主机

    vim /etc/hosts192.168.30.21   www.crushlinux.com192.168.30.21   www.cloud.com [root@localhost ~]# cd ...

  9. Django 路由视图FBV/CBV

    路由层  url路由层结构 from django.conf.urls import url from django.contrib import admin from app01 import vi ...

  10. 博弈论题目总结(二)——SG组合游戏及变形

    SG函数 为了更一般化博弈问题,我们引入SG函数 SG函数有如下性质: 1.如果某个状态SG函数值为0,则它后继的每个状态SG函数值都不为0 2.如果某个状态SG函数值不为0,则它至少存在一个后继的状 ...