DDoS攻击流量检测方法
检测分类
1)误用检测
误用检测主要是根据已知的攻击特征直接检测入侵行为。首先对异常信息源建模分析提取特征向量,根据特征设计针对性的特征检测算法,若新数据样本检测出相应的特征值,则发布预警或进行反应。
优点:特异性,检测速度快,误报率低,能迅速发现已知的安全威胁。
缺点:需要人为更新特征库,提取特征码,而攻击者可以针对某一特征码进行绕过。
2)异常检测
异常检测主要是检测偏离正常数据的行为。首先对信息源进行建模分析,创建正常的系统或者网络的基准轮廓。若新数据样本偏离或者超出当前正常模式轮廓,异常检测系统就发布预警或进行反应。由于检测系统是根据正常情况定制描绘出系统或网络的正常轮廓,对于外部攻击,攻击者很难在攻击时不偏离正常轮廓,因此很容易被异常检测系统侦测到;同理,异常检测系统也可以检测来自内部的攻击。另外,异常检测系统还有能力检测以前未知的攻击。
缺点:首先只有对初始系统进行训练,才能创建正常的轮廓模型;其次,调整和维护轮廓模型也较为复杂和耗时,创建错误的轮廓模型可能导致较高的误报率。最后,一些精心构造恶意攻击,可利用异常检测训练系统使其逐渐接受恶意行为,造成漏报。
优点:异常检测旨在发现偏离,而不是具体入侵特征,因而通用性较强,对突发的新型异常事件有很好的预警作用,利于人们宏观防御,目前大部分网络异常流量检测系统均采用异常检测系统
异常流量检测算法
1)基于统计学的异常流量检测
基于统计学的异常流量检测,会假设当前网络环境处于一个似稳态的状态中。算法会在前期收集和整理大量正常流量数据,通过对历史流量数据进行统计分析或者数据变换设置初始阈值,然后对当前网络流量数据进行计算,通过与初始阈值进行对比,判断当前网络是否发生异常。如果当前网络流量数据某一统计信息超出相应阈值,则代表出现了异常流量
常用的网络流量特征有字节数、分组数、流计数、审计记录数据、审计事件的数量、间隔事件、五元组(协议、源 IP 地址、目的 IP 地址、目的端口以及目的 IP 地址)以及资源消耗事件等。
缺点:1意攻击者可通过逐渐增大恶意流量,来欺骗自适应阈值算法,使其接受恶意流量不发生报警。 2基于统计的方法还需要假定当前网络环境变化情况是一个似稳态的过程,而网络的访问具有突发性,算法还不能很好地应对目前分布式网络精心构造的攻击流量,无法满足低速攻击 LDOS 等异常流量的识别要求。3基于统计方法的异常检测无法应对 0day 漏洞攻击和一些较新颖的攻击
2)基于数据挖掘的异常检测
基于数据挖掘的异常检测,利用数据挖掘技术从海量网络流量中分析挖掘各类流量的特征信息,采用自动或半自动的建模算法,发掘出能够反映当前网络状况的特征参数如相关性(Relationship)、模式(Pattern)或者趋势(Trend)等,从更高的抽象层面揭示数据的潜在隐藏特性,以此来判断网络的异常行为情况。
目前常用的如生成归纳规则、模糊逻辑、遗传算法、神经网络、深度学习等。
3)基于机器学习的异常检测
异常流量的识别本质上是一个分类问题,该分类问题通常以学习为前提。基于机器学习的异常流量检测,是先前经验的高度抽象与模型的表达,特点在于建立模型。不同的网络流量特征,如字节数、平均包大小、分组数量、最大分组长度、流持续时间、到达时间间隔等均可以作为建模对象。
贝叶斯网络、聚类、支持向量机、马尔可夫模型等都已经广泛应用。
目前,基于机器学习的异常流量检测还处在发展阶段,综合利用各种聚类、分类、深度学习等算法的优点,扬长避短,提高网络异常流量的识别率,已经成为一种潮流。
摘自《基于云平台的分布式拒绝服务(DDoS)攻击检测技术研究 》
DDoS攻击流量检测方法的更多相关文章
- DDOS攻击(流量攻击)防御步骤
DDOS全名是Distributed Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击,DDOS 最早可追溯到1996年最初,在中国2 ...
- DDos攻击的常见方法及防御方法
什么是DDoS? DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡 ...
- 工信部公示网络安全示范项目 网易云易盾“自适应DDoS攻击深度检测和防御系统”入选
本文由 网易云发布. 工信部官网 2017年年底,经专家评审和遴选,中华人民共和国工业和信息化部(以下简称“工信部”)公示了2017年电信和互联网行业网络安全试点示范项目,网易云易盾的“自适应DDo ...
- 自家服务器防止DDoS攻击的简单方法
DDoS攻击并不是新技术,该攻击方式最早可以追溯到1996年,2002年时在我国就已经开始频繁出现.在DDoS攻击发展的这十几年间,DDoS攻击也在不断变化.数据显示,最大规模的DDoS攻击峰值流量超 ...
- 被DDOS攻击的解决方法
在DDOS分布式借"机"堵塞正常访问的非法攻击中,任何技术高手都成了文科生.只能用非专业的方法解决.DDOS攻击的重心是堵塞服务器,给域名解析访问造成困难,被攻击后我们可以采用以下 ...
- 大数据DDos检测——DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然! 和一个句子的分词算法CRF没有区别!
DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然!——和一个句子的分词算法CRF没有区别!注:传统DDos检测直接基于IP数据发送流量来识别, ...
- DDos攻击的一些领域知识——(流量模型针对稳定业务比较有效)不稳定业务采用流量成本的检测算法,攻击发生的时候网络中各个协议的占比发生了明显的变化
在过去,很多防火墙对于DDoS攻击的检测一般是基于一个预先设定的流量阈值,超过一定的阈值,则会产生告警事件,做的细一些的可能会针对不同的流量特征设置不同的告警曲线,这样当某种攻击突然出现的时候,比如S ...
- DDOS攻击与防御简单阐述,列出DDOS的攻击方法和防御方法
参考1:https://www.hi-linux.com/posts/50873.html#%E7%BD%91%E7%BB%9C%E5%B1%82-ddos-%E6%94%BB%E5%87%BB 什么 ...
- 2018上半年DDoS攻击报告:流量峰值达1.7Tbps
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 2018年上半年DDoS攻防仍如火如荼发展,以IoT设备为反射点的SSDP反射放大尚未平息,Memcached DDoS又异军突起,以最高可 ...
随机推荐
- C++的一些小Tip
string转数字: 一种是转换为char*后再使用atoi:atoi(s.c_str()).这个方法的神奇之处在于,如果s是负数也能顺利转化,但是,在leetcode显示,自己先判断是不是负数的话计 ...
- Python——plot可视化数据,作业8(python programming)
subject1k和subject1v的形状相同 # -*- coding: utf-8 -*- import scipy.io as sio raw_K = sio.loadmat('Subject ...
- 【linux】统计文件夹中文件行数
统计当前目录下,排除venv目录,剩余所有py文件的行数 wc -l `find -path ./venv -prune -o -name '*py'`
- Android Studio打开项目,停在gradle的解决方案
之所以停留,是因为打开项目时,Android Studio解析项目使用的gradle,并下载对应版本的gradle,但是由于下载gradle的服务器在国外,这个下载速度非常不稳定,从而导致停留在这一步 ...
- 上传jar包到maven中央仓库过程中遇到的一些问题总结!
网上有很多相关教程, 我按步骤一步步走下来, 都还算顺利, 简单列举一下步骤以及其中需要注意的几个点(不详细, 不适合当教程) 第一步: 到https://issues.sonatype.org/se ...
- Java 模拟http请求
package ln; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRea ...
- ThreadLocal, HandlerThread, IntentService
1. ThreadLocal用法详解和原理https://www.cnblogs.com/coshaho/p/5127135.html // ThreadLocal methods: public T ...
- Java List根据对象的某个属性合并list
package com.test; import java.util.ArrayList; import java.util.List; public class FileTest { public ...
- 在react-native项目中使用iconfont自定义图标库(android)
1. 安装react-native-vector-icons yarn add react-native-vector-icons react-native link 如果没有关联成功的话,可以参考官 ...
- Codeforces 628F 最大流转最小割
感觉和昨天写了的题一模一样... 这种题也能用hall定理取check, 感觉更最小割差不多. #include<bits/stdc++.h> #define LL long long # ...