当前位置:网站首页>网络异常流量分析系统设计
网络异常流量分析系统设计
2022-07-27 12:52:00 【一只揪°】
为什么要监测分析异常流量?
网络管理人员都希望在网络性能突然下降的时候找到“真凶”所在,并迅速解决问题。利用网络异常流量监测的方法,可以非常直观地看到网络流量是否有突然增长或者突然下降的现象,并进一步分析是那些用户产生了最多的流量、使用了那些应用以至于网络运转出现性能问题。并根据最终分析的结果,网络管理人员可快速解决掉网络异常问题,保证网络的正常运行。
现有的网络异常流量监测方案
基于网络流量分类
基于端口、基于DPI、基于统计、基于行为基于统计
给出数据服从某种概率分布,通过不一致性发现异常数据
方法:混合模型、信号处理、PCA基于聚类
基本思想:对正常数据进行聚类,与正常据类结果差别较大判为异常;正常数据离聚类的形心更近,可以用距离来度量;小的聚类和稀疏的聚类被视为异常
方法:K-Means基于信息论
基于动态基线(统计)
基线的定义
将一天分成多个时段并将每天相同时段的正常流量计算其平均值。这些连续不同时段的流量平均值便形成了流量基线。
基线的重要性
基线反映了网络正常行为下所呈现的流量变化趋势,是一项重要的流量指标。如果网络中有异常流量发生,将直接反映于流量变化上。
动态基线分析监测程序
决定基线分析的对象与单元
网络进出流量所占带宽比率计算对象的基线值
b = a*y + (1-a)*b1制定动态分级告警规则
建立描述待检测流量和基线偏离程度的方程式:


说明流量异常的信息(受感染网络的异常流量的大小强度、持续时间以及部分异常流量细节)
首先计算流量偏离值;
根据流量排序,选择贡献较多流量偏差的主机;
累计偏离值,找出异常主机。
网络异常流量分析系统模型
流量异常检测
系统模型如图所示:
流量数据传输到预测器,输出流量预测值到检测器,检测器根据预测值以及数据分析后输出检测结果,如果有异常则发出警告。
预测器设计
预测方法:用线性回归方法预测流量值
预测模型首先对正常流量趋势进行拟合,当异常流量出现时能较好地做出反应,避免了样本不平衡与漏报的情况。但是由于流量波动的存在,导致某些正常的波动被识别为异常情况,阈值选取过大,可能会出现报警延迟或漏报;阈值选取过小,则可能会出现误报的情况。因此误报情况较多,该模型在初期实现了70%的准确率。
改进:被判定为异常值的值与正常值的最大值差距不大时,可能只是正常抖动,并非异常值,为了进一步解决误报情况,需要对误差值进行处理,采用了误差排序的方式,通过对误差进行降序排序E,对比误差序列间的差值情况D
检测器设计
残差 相对误差
使用基于残差的检测方法,需要我们针对不同的系统流量设置不同的阈值。
大部分系统白天流量大,相对波动小,下跌10%可能意味着比较严重的问题,而深夜流量小,相对波动较大,下跌30%才可能意味着存在系统故障。所以基于相对残差的检测方法也不能够设置统一的阈值来检测异常。
参考文献:
[1]郭炜. 基于动态基线的业务运营支撑网异常流量检测研究[C]//.2011年通信与信息技术新进展——第八届中国通信学会学术年会论文集.,2011:451-454.
[2]流量异常监测
边栏推荐
- Using ebpf to detect rootkit vulnerabilities
- Intranet penetration based on FRP -- SSH Remote connection to intranet server with the help of public server
- Relative positioning
- 面试官常问:如何手撸一个“消息队列”和“延迟消息队列”?
- [expression calculation] double stack: general solution of expression calculation problem
- Final solution for high collapse (no side effects)
- 51: Chapter 5: develop admin management services: 4: develop [add admin account, interface]; (only [user name + password, method]; [@t...] annotation controls transactions; when setting cookies, do yo
- Go语言系列:如何搭建Go语言开发环境?
- Redis summary: cache avalanche, cache breakdown, cache penetration and cache preheating, cache degradation
- How to debug JNI program
猜你喜欢

初学者入门:使用WordPress搭建一个专属自己的博客

Additional: [urlencoder.encode (string to be encoded, "encoding method");] (what is it?; why do we use this to encode when we set values in cookies?) (to be improved...)

Application of responsibility chain model in transfer accurate valuation

赋能金融风控加分项的这30个问题,您都搞懂了吗

From the perspective of it, the CIO of B2B industry talks about how to change from "cost center" to "growth center"?

MFC FTP创建多级文件夹、上传文件到FTP指定目录

SCI thesis writing

How can electric complete set enterprises do well in cost and profit management with the help of ERP system?

纵横靶场-图片的奥秘

QT excellent open source project 13: qscintilla
随机推荐
工具及方法 - 在线流程图描画
Eccv2022 | Ru & Google proposed to use clip for zero shot target detection!
JNI程序如何进行参数传递
SQL GROUP BY语句
Qt剪切板QClipboard 复制粘贴自定义数据
PAT乙级 1109 擅长C(详解)
面试考点:三种图的问题
【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(九)
MTK6765编译环境搭建
滑环设备怎么进行维护
Cute image classification -- a general explanation of the article "what are the common flops in CNN model?"
Unapp prevents continuous click errors
v-on基础指令
Poj2446 chessboard [maximum matching of bipartite graph]
[nuxt 3] (XII) project directory structure 2
【VSCode】SyntaxError: Cannot use import statement outside a module
Preliminary discussion on NetGen and Gmsh mesh generation of any multiple sub models of CAD based on osg+occ
uniapp防止连续点击出错
Will saffron become a safe and effective natural therapy for patients with arthritis?
Using ebpf to detect rootkit vulnerabilities