本篇博客为国际顶级综述期刊《IEEE Communications Surveys and Tutorials》(通信调查与教程)上的论文《Security Data Collection and Data Analytics in the Internet A Survey》梳理。
背景:网路攻击越来越复杂
课题研究:
措施:
现状:缺乏对网络安全数据采集和分析的全面综述
本文工作:调查有关安全数据的采集和分析方法
DDoS攻击的目的是阻止普通用户访问特定的网络资源。
蠕虫是一种自我复制和自我传播的恶意代码,通过网络传播。它们利用操作系统或已安装程序中的漏洞来攻击主机,并利用受感染的主机感染其他主机。
设计检测方法步骤:
4 类安全数据:
包级数据
特点:提供了网络活动的全部信息
优点:可检测到大多数网络攻击
缺点:
流级数据:流的统计信息
优点:
连接级数据:提供给定时间内两个 IP地址之间流量交换的全局信息
说明:可结合包级数据、流级数据,详细分析网络流量。
主机级数据:系统事件信息
说明:记录主机活动,并将其作为某些决策准据
表1 本文的调查与其他现有调查相比
涵盖主题 | [5] | [6] | [7] | [8] | [9] | [10] | [11] | [12] | [13] | [14] | 本文 |
---|---|---|---|---|---|---|---|---|---|---|---|
总结安全数据 | N | N | N | N | N | N | N | N | N | N | Y |
回顾数据分析方法 | Y | N | N | N | Y | Y | Y | Y | Y | N | Y |
提出数据分析方法的附加要求 | N | N | N | N | N | N | N | N | N | N | Y |
回顾DDoS攻击 | Y | Y | Y | N | N | Y | N | N | N | Y | Y |
回顾蠕虫攻击 | N | N | N | Y | Y | N | N | Y | N | N | Y |
建立数据类别和攻击类型之间的关系 | N | N | N | N | N | N | N | N | N | N | Y |
Y:讨论;N:未讨论
文章结构安排:
第二节介绍安全数据的主要类别,针对每种数据给出具体分类,并讨论不同类别数据在网络威胁检测方面的优缺点。
第三节讨论了用于检测攻击的安全数据分析方法,并提出了一些安全要求来评估分析方法的性能和质量。
第四节和第五节回顾了基于安全数据类别和应用数据分析方法的 DDoS 泛洪和蠕虫攻击检测方法
第六节讨论了一些尚未解决的研究问题以及未来的研究方向。
数据的重要性:
数据从根本上影响了检测方法的效率和准确性。
背景:不同类别的数据具有不同的应用场景
因此,在设计检测方法时首先需要考虑哪些类别的数据能够满足我们的需求
工作:对每类数据
目标:可以有效而明确地选择数据类别来满足检测方法的需求
介绍:
数据包收集软件库:(功能:协议分析器、包嗅探器、网络监视器等)
数据包收集工具:(免费)
常用的基于硬件的数据包收集方法:镜像模式(端口镜像可以用整个网络视图分析传入和传出数据包。但是镜像可能会导致数据包延迟、丢失或重新排序。因此,对于镜像端口来说,有足够的带宽是必不可少的)
源/目的IP地址:
源/目的端口:(源/目的端口存在于 TCP 和 UDP 协议中。不同的端口服务于不同的协议)
生存时间(TTL):(主要功能是限制数据包的传输距离。在稳定的网路环境下,主机之间的跳数处于一定的范围内)
时间戳:(发送/接收数据包的时间点)
数据包有效载荷:
数据包大小:(头部大小和有效载荷大小组成)
数据包数量:(使用最广泛,数据包数量急剧增加是 DDoS 攻击的一个指标)
根据数据包传输方向分为:进包数、出包数、双向包数
根据协议类型分类:
这些分类可与协议头部信息或其他信息自由组合,如来自源 IP 地址的传入TCP SYN 包的数量等
数据包速率:单位时间内传输的数据包数量
介绍:
包级数据缺陷:
为了提供网络流量宏观视图并解决数据包加密问题,引出流的概念
流:具有一个或多个相同属性的一连串数据包。这些相同的属性称为流键(秘钥),通常包括数据包头部信息、包内容和元信息(关于信息的信息,用于描述信息的结构、语义、用途和用法等)
例如:Cisco 路由器中引入的 NetFlow 的流键是<源IP地址,目的IP地址,源端口,目的端口,IP 协议,IP 服务类型和入口接口>
流聚合技术:使用一组预定义的流键来聚合数据包
根据网络管理员的需要,通过选择不同的流键,可以得到不同的网络流量聚集粒度
流应用:
流的数量:使用相同的流键聚合包而产生的不同流的数量。(例如,在主机端根据源地址、目标地址和协议类型聚合传入的数据包。在聚合的数据包中统计具有不同流键的流的数量)
流的类型:当流键由端口号或协议标识符组成时,可获取多种流,如 HTTP 流、DNS 流、ICMP 流、TCP(SYN,SYN-ACK,FIN等)流…
将流的数量和流的类型结合,可检测异常流量
正常 TCP 连接构建过程中:
这些平衡关系的突变表明存在攻击。
流的大小:流由一个或多个相同属性(流键)的数据包组成,流的大小就是流中的数据包数
流的方向:从特定的网络角度来看,数据包的传输分为传入(入站流量)和传出流量(出站流量)
流持续时间:从第一个数据包到达时间至流到期的时间
流的速率:每单位时间流(给定流(数据包共享一个或多个相同属性(流键)))的传输包数
介绍:
介绍:
数据类别 | 优势 | 劣势 |
---|---|---|
包级数据 | 1. 访问原始数据包数据,以便实现实时检测 2. 允许在有效载荷内容中进行模式匹配 3. 有关于网络活动的完整信息 |
1. 收集方法不适合高速网络 2. 涉及到私密敏感信息 |
流级数据 | 1. 独立于加密有效载荷 2. 采集方法适用于高速网络 3. 收集方法得到广泛部署且易于理解 |
1. 收集方法导致一些不可避免的延迟 2. 没有关于数据包载荷的信息 |
连接级数据 | 1. 提供给定时间内两个IP地址之间交换流量的全局信息 2. 与其他类别的数据一起使用时,检测性能良好 |
1. 收集方法需要跟踪每个连接状态 2. 与其他类别的数据分开使用时性能较差 |
主机级数据 | 1. 获得有关系统性能和行为的完整信息 2. 记录主机系统的任何内部更改 |
1. 与其他类别的数据分开使用时,具有较高的误报率 2. 收集方法占用主机端资源 |
分析:
优点:
缺点:
优点:
缺点:
优点:
缺点:
检测方法应该适应当前网络的变化而不是主要依赖于静态模型(即检测方法应该能够通过流量变化更新检测策略)
根据准确率和效率动态选择阈值(平衡假阳性和假阴性)
背景:在各种网络协议的下,存在多种 DDoS 泛洪和蠕虫攻击
DDoS 泛洪:独立于协议的方法检测一类 DDoS 泛洪攻击,而不是检测协议的相关攻击
蠕虫:独立于协议的方法在扫描和传播阶段检测已知和未知的蠕虫
网络安全度量:对网络安全的整体评价更需要一种通用的、普适的方法
介绍:
大量的合法用户在短时间内向服务器发送请求包(与 DDoS 泛洪和蠕虫攻击具有相似属性,但为合法流量)
- | DDoS泛洪攻击 | flash crowd |
---|---|---|
网络影响 | 拥挤 | 拥挤 |
服务器影响 | 过载 | 过载 |
流量 | 恶意的 | 合法的 |
对流量控制的反应 | 迟钝的 | 应答的 |
流量类型 | 任何 | 主要为 Web |
流量大小 | 任何 | 大量流量 |
预测 | 不可预测 | 大多可预测 |
攻击者通常在 flash crowd 发生时启动恶意活动,它可以隐藏在 flash crowd 下
目前迫切需要一种能够处理 flash crowd 的检测方法,以及能够识别伴随 flash crowd 带来的攻击
特性:分布式、协作
发起DDoS攻击的两种方法:
协议攻击(也称为漏洞攻击和杀手包攻击):利用协议或应用程序的漏洞,向受害者发送一些格式不正确的数据包,当处理这些的数据包时,受害者将崩溃
泛洪:最常见,这类攻击会淹没受害者,占用受害者的资源,无法为合法用户提供正常的服务
检测 DDoS 攻击(本文主要讨论)的两种方式:
DDoS 泛洪攻击的两种生成方式:
本部分主要讨论 SYN 泛洪(目前基于 UDP 协议主要用于发起反射泛洪攻击;ICMP 泛洪攻击容易被防火墙拦截)
a)使用数据包级数据
----------------------该部分由各文献的相关工作组成,详细内容可查看原文---------------------------
b)使用流级数据
c)使用连接级数据
表5 N/L-T DDOS 泛洪攻击检测方法的总结与比较
参考 | 安全数据集 | 分析方法 | DA | FA | SD | DT | PI | DFC | 备注 |
---|---|---|---|---|---|---|---|---|---|
[45] | 数据包数量 | 熵的变化 | 100% | 0% | N | N | N | T | 检测各种TCP SYN泛洪攻击 |
[46] | 数据包数量 | hillinger距离变化 | 93.99%-100% | 0% | N | Y | Y | N | 在线异常检测 |
[47] | 源地址和目标端口 | 熵的变化 | N.A. | N.A. | N | N | N | N | 使用KD-Tree使检测方法可扩展 |
… | |||||||||
[59] | 流的大小,流量持续时间等 | KNN与相关性分析 | 88.4%-96.7% | N.A. | Y | N | Y | N | 基于网格的方法减少计算负担 |
… | |||||||||
[67] | 数据包级的连接大小 | 数量变化 | 90% | N.A. | Y | N | Y | Y | 参数少 |
(DA:准确率;FA:误报;N.A.:无法获得)
示例:
表6 AL-DDOS 泛洪检测方法的总结与比较
参考 | 安全数据收集 | 分析方法 | DA | FA | SD | DT | PI | DFC | 备注 |
---|---|---|---|---|---|---|---|---|---|
… | |||||||||
[72] | 包的数量,包到达时间 | 模型相似度挖掘 | N.A. | N.A. | N | N | N | Y | 可用于处理繁重的主干网流量 |
… | |||||||||
[78] | 流的大小 | 流的相似度 | N.A. | N.A. | Y | N | Y | Y | 找到一个区分DDoS攻击的新特征 |
… | |||||||||
[84] | 包的数量,包的速率,包到达时间 | 增强的SVM算法 | 99.32% | N.A. | N | N | N | N | 具有字符串内核的增强型SVM有着高检测精度 |
… |
低速率 DDoS(Low-Rate DDoS)泛洪攻击:在特定的时间间隔(遵循周期脉冲的形式(开/关模式))内发送大量数据包,从而降低受害者服务器性能。
利用目标系统的漏洞:
LDDoS 泛洪攻击通过保持较低的平均速率将异常流量隐藏为合法流量(采用高速率 DDoS 泛洪攻击的检测方很难检测)
表7 LDDOS泛洪攻击检测方法的总结与比较
参考 | 安全数据收集 | 分析方法 | DA | FA | SD | DT | PI | DFC | 备注 |
---|---|---|---|---|---|---|---|---|---|
[94] | 源地址,包速率 | 距离变化 | 100% | 0% | N | N | Y | N | 可同时检测低速率和高速率的DDoS攻击 |
… | |||||||||
[98] | 流的大小 | 小信号模型 | 100% | 0% | Y | N | N | N | 发现频域中LDDoS攻击的属性 |
… | |||||||||
[100] | 流的速率 | 匹配攻击规则 | N.A. | N.A. | Y | N | Y | N | 忽略LDDoS攻击的特征 |
… |
分布式反射 DoS(DRDoS)泛洪攻击
通常,响应数据包的大小/数量比请求数据包的大小/数量大许多倍,将这种类型的 DRDoS 泛洪攻击称为反射放大 DDoS 泛洪攻击(放大 DDoS 泛洪攻击)
DRDoS 泛洪攻击优势
衡量 DRDoS 泛洪攻击的影响
放大DDoS泛洪攻击的检测方法:
表8 DRDOS泛洪攻击检测方法的总结与比较
参考 | 安全数据收集 | 分析方法 | DA | FA | SD | DT | PI | DFC | 备注 |
---|---|---|---|---|---|---|---|---|---|
… | |||||||||
[107] | 包的数量,包的大小 | SVM算法 | 89.74%-100% | 0%-8.33% | N | N | N | N | 在一定假设条件下检测DRDoS |
… | |||||||||
[112] | 源和目标地址,源和目标端口 | 匹配攻击规则 | N.A. | N.A. | Y | N | N | N | 检测本地DNS服务器上的DNS放大攻击 |
… |
链路泛洪攻击(也成交叉火力攻击)由僵尸网络发起,目的是切断 Internet 中特定的链路,将特定区域与其它区域断开连接
步骤:
链路泛洪攻击需要精心设计,但具有严重的攻击潜力
目前 DDoS 泛洪攻击的检测方法难以检测链路泛洪攻击的原因:
蠕虫是一种自我复制、自我传播的恶意代码,它们在没有人为交互的情况下在网络中传播
作用:危害系统、窃取敏感信息、拥塞网络并发动多种攻击
生命阶段:
蠕虫特性分类
检测方法:
表9 蠕虫攻击检测方法的总结和比较
参考 | 安全数据集 | 分析方法 | DA | FA | SD | DT | PI | DFC | 备份 |
---|---|---|---|---|---|---|---|---|---|
[120] | 包的数量 | CUSUM(累积和)算法 | N.A. | N.A. | N | N | N | N | 检测高速和低速扫描 |
[121] | 包的数量,包的大小,有效载荷,目标地址 | 距离变化和CUSUM算法 | 约80% | N.A. | N | N | N | N | 检测方法灵活,延迟时间短 |
… | |||||||||
[134] | 流持续时间,流大小,流方向,包大小等 | 加权线性核的SVM算法 | 约95% | 10% | N | N | Y | N | 使用两级分类器来解决数据质量问题 |
[135] | 流大小,源和目标端口等 | 分层聚类 | 99.5% | 1% | Y | N | N | N | 利用常见的传播行为来检测蠕虫 |
[137] | 流数量,源和目标端口 | KNN和朴素贝叶斯 | 85.64% | 1%-16% | N | N | N | N | 使用真实的蠕虫变种测试了这种方法 |
[138] | 包数量,操作日志 | ANN | 约90% | 0.04% | N | N | Y | N | 通过特征选择计数选择重要特征 |
… | |||||||||
[141] | 目标地址,目标端口 | 匹配攻击规则 | 100% | 0% | Y | N | N | N | 利用特定的转移行为来检测蠕虫 |
[143] | 包速率,速度包的到达时间间隔 | 匹配攻击规则 | N.A. | 0% | N | N | N | N | 能够检测零日和多态蠕虫 |
[144] | 目标地址,源和目标地址,包的数量 | 匹配攻击规则 | N.A. | 约1.5% | N | N | N | N | 检测终端主机上的蠕虫 |
… | |||||||||
[148] | 连接数 | 匹配攻击规则 | N.A. | N.A. | Y | Y | N | N | 具有检测隐身和未知蠕虫的能力 |
[153] | 每个链接中的包有效载荷 | 基于签名的检测 | N.A. | 约7% | N | N | N | N | 只检查每个链接中的前N个字节 |
参考文献:
[1] Jing X , Yan Z , Member S , et al. Security Data Collection and Data Analytics in the Internet: A Survey[J]. IEEE Communications Surveys & Tutorials, 2018, PP(99):1-1.