网络流量分析与入侵检测:特征降维、深度学习与数据集评估
- Published on
使用朴素贝叶斯分类器进行特征降维的入侵检测
概述
本文讨论了应用特征降维技术来提高使用朴素贝叶斯分类器的入侵检测系统(IDS)性能的技术。主要观点和关键论点如下:
- 入侵检测是监控和分析计算机系统中的事件以检测安全问题的重要过程。特征选择或降维对于处理从网络收集的大量数据至关重要。
- 本文评估了三种标准特征选择方法的性能:基于相关性的特征选择(CFS)、信息增益(IG)和增益比(GR),并引入了一种称为基于特征活力的降维方法(FVBRM)。
- 在降维后的数据集上使用朴素贝叶斯分类器检测四种类型的攻击:探测、拒绝服务(DoS)、用户到根(U2R)和远程到本地(R2L)。
- 结果表明,使用提出的FVBRM方法选择的减少属性在设计高效有效的网络入侵检测系统(IDS)方面提供了更好的性能。
数据集:NSL-KDD
- 包含正常数据和22种不同类型的攻击。
- 攻击分为四类:DoS、Probe、R2L和U2R。
- 使用了62,986条记录进行训练和测试。
- 包含41个原始特征。
特征选择
基于相关性的特征选择(CFS):
- CFS评估和排序特征子集,而不是单个特征。它偏好与类高度相关但彼此相关性低的特征子集。
- 使用贪心搜索策略(如hill climbing和best-first search)来探索特征子集空间。
- 算法步骤:
CFS首先计算训练数据中特征-类和特征-特征的相关性矩阵。
然后CFS使用贪心搜索策略(如hill climbing和best-first search)搜索特征子集空间,找到最优的特征子集。
评估函数如下:
其中 是特征子集 与类的相关性, 是子集中特征的个数, 是子集特征与类的平均相关性, 是子集特征之间的平均相关性。
信息增益(IG):
- IG首先使用基于MDL的离散化方法将数值型特征离散化。
- 然后计算训练数据中各个特征对类别的信息增益。
- 信息增益越高,表示该特征对分类的贡献越大。
- IG倾向于选择具有更多取值的特征,因此存在一定偏好。
增益率(GR):
- 增益率(GR)是对信息增益(IG)的一种改进,通过归一化减少IG的偏好。
- 计算公式为: 其中, 是特征 的信息增益, 是特征 的熵。
基于特征活力的降维方法(FVBRM):
- 首先在全部41个特征上训练朴素贝叶斯分类器,记录其准确率、RMSE和平均TPR。
- 然后逐个删除一个特征,重新训练分类器,检查删除特征后的性能是否仍满足标准(准确率、RMSE、平均TPR)。
- 重复上述过程,直到不能再删除特征而性能仍然满足要求。最终得到的特征集就是FVBRM选择的重要特征子集(本文为24个特征)。
实验设置
- 分类器:朴素贝叶斯
- 评估指标:准确率、RMSE和平均TPR
- 攻击类型:探测、拒绝服务(DoS)、用户到根(U2R)和远程到本地(R2L)
实验结果
各方法选择的特征数量:
- CFS + BestFirst:10个特征
- GR + Ranker:14个特征
- InfoGain + Ranker:20个特征
- FVBRM:24个特征
性能对比(准确率、RMSE、平均TPR):
- CFS在准确率和TPR方面优于IG和GR。
- FVBRM展示了最佳的整体性能,具有最高的准确率和最低的RMSE。
结论
提出的FVBRM方法有效地减少了特征集,同时保持了高分类性能。该方法结合朴素贝叶斯分类器,为网络入侵检测提供了一种高效且有效的解决方案。
使用卷积神经网络进行恶意软件流量分类的表示学习方法
概述
本文提出了一种使用卷积神经网络 (CNN) 进行恶意软件流量分类的创新方法,旨在改进传统的特征提取技术。主要内容包括:
- 流量分类方法:文章从人工智能的角度对流量分类方法进行了分类,主要分为基于规则的方法(如端口和深度包检查)和经典机器学习方法(如统计特征和行为特征)。
- 表示学习的优势:作者认为,表示学习特别是深度学习能够克服经典机器学习方法在手工特征设计中的挑战。
- CNN的应用:本文利用CNN将原始流量数据直接转换为图像进行分类,省略了手工特征提取步骤。
- USTC-TFC2016数据集:作者创建了一个新数据集,包括恶意软件和正常流量数据,并研究了不同的流量表示方式(流和会话),以确定最佳方案。
- 实验结果:在两种分类场景中,使用三种分类器的平均准确率达到了99.41%,表明该方法具有较高的实用性。
- 创新点:这是首次将表示学习应用于使用原始流量数据进行恶意软件流量分类的研究。
数据集
本文使用了名为USTC-TFC2016的数据集,该数据集包含两部分:
- 恶意软件流量:包括10种恶意软件流量数据,这些数据由CTU研究人员在2011年至2015年真实网络环境中收集。部分流量过大时只使用了一部分,流量过小时则将同一应用程序的数据合并。
- 正常流量:包括10种正常流量数据,这些数据通过IXIA BPS网络流量模拟设备收集,涵盖了8类常见应用程序。
特征与数据预处理
本文采用CNN直接从原始流量数据中自动学习特征表示,而不是依赖手工设计的特征。数据预处理步骤如下:
- 数据拆分:将连续的原始流量数据(pcap格式)拆分为离散的流量单元(流或会话)。
- 数据匿名化:对流量数据进行匿名化处理,随机化MAC地址和IP地址。
- 数据标准化:统一截断或补齐数据至784字节长度。
- 图像转换:将字节数据转换为28x28像素的灰度图像。
- 格式转换:将图像转换为IDX格式文件,作为CNN的输入。
流量表示方式
研究比较了四种流量表示方式:
- 流 + 全部层
- 流 + 第7层
- 会话 + 全部层
- 会话 + 第7层
这些不同的表示方式对分类性能有显著影响。
实验设置与结果
实验场景
- 二分类:恶意软件流量 vs 正常流量
- 多分类:10类恶意软件流量 + 10类正常流量
分类器
- 卷积神经网络 (CNN)
- 支持向量机 (SVM)
- 随机森林 (RF)
CNN架构
- 输入层:28x28像素灰度图像
- 卷积层:2个卷积层,每层32个3x3卷积核,ReLU激活函数
- 池化层:2个2x2最大池化层
- 全连接层:1024个神经元,ReLU激活函数
- 输出层:Softmax分类器
训练参数
- 批量大小:50
- 学习率:0.0001
- 训练轮数:20,000
- 优化器:Adam
实验结果
- 二分类场景:
- CNN 平均准确率:99.41%
- SVM 平均准确率:98.97%
- RF 平均准确率:98.53%
- 多分类场景:
- CNN 平均准确率:99.14%
- SVM 平均准确率:98.48%
- RF 平均准确率:97.87%
- 流量表示方式比较:
- "流+全部层"表现最佳,平均准确率达99.41%
- "会话+第7层"表现最差,平均准确率为97.69%
- 计算效率:
- CNN 训练时间:约2小时(使用NVIDIA Tesla K40 GPU)
- CNN 分类1000个样本平均时间:0.03秒
结论
- 优越性能:CNN在恶意软件流量分类任务中表现出色,无需手工特征提取。
- 最佳表示方式:"流+全部层"的流量表示方式效果最佳。
- 实际应用潜力:该方法具有较高的准确率和良好的计算效率,具备实际应用的潜力。
数据集
在评估这些网络流量数据集的“重要性”时,可以考虑以下几个因素:实时性(数据的更新频率和相关性)、指纹提取的效果(数据集在实际应用中的表现)、以及近几年论文中使用的数据集(数据集的普及度和研究影响)。根据这些标准,我将对数据集进行排序和评价:
CICIDS2017 和 CICIDS2018 数据集
- 实时性:这两个数据集相对较新,涵盖了最新的攻击场景和防御措施。
- 指纹提取效果:提供了丰富的攻击类型和正常流量数据,对指纹提取和分类任务有很大帮助。
- 论文使用情况:这两个数据集被广泛使用于最新的入侵检测和网络流量分析研究中。
UNSW-NB15
- 实时性:数据集较新,包含了现代的网络攻击行为。
- 指纹提取效果:对现代攻击和正常流量分类有很好的表现。
- 论文使用情况:在现代网络安全研究中被频繁引用。
CTU-13
- 实时性:数据集相对较新,专注于僵尸网络流量。
- 指纹提取效果:提供了针对特定类型攻击的有价值数据。
- 论文使用情况:在针对僵尸网络和恶意软件的研究中有一定使用频率。
KDD Cup 1999 和 DARPA Intrusion Detection
- 实时性:数据集较旧,但仍然是经典的基准数据集。
- 指纹提取效果:对入侵检测系统的评估非常重要,但现代攻击类型可能较少。
- 论文使用情况:仍然在许多经典和基础研究中使用。
CAIDA 数据集
- 实时性:包含各种网络流量数据,涵盖广泛。
- 指纹提取效果:由于数据的多样性,指纹提取效果可能受到影响。
- 论文使用情况:在网络流量分析和研究中具有广泛应用。
Andrubis 数据集
- 实时性:包含了大量的Android应用流量数据。
- 指纹提取效果:对Android应用的分析具有高价值。
- 论文使用情况:对恶意软件检测和移动应用安全研究有很高的参考价值。
Browser 数据集
- 实时性:基于不同浏览器的流量数据,更新频率较低。
- 指纹提取效果:用于浏览器分类,效果良好。
- 论文使用情况:适用于特定浏览器的流量分析。
ReCon 数据集
- 实时性:包含多个应用版本的数据。
- 指纹提取效果:适用于应用版本的分析。
- 论文使用情况:主要用于应用版本分析研究。
Stratosphere IPS 数据集
- 实时性:包含了大量的僵尸网络流量数据。
- 指纹提取效果:专注于僵尸网络,效果较好。
- 论文使用情况:在僵尸网络相关研究中有一定使用。
Mirage 数据集
- 实时性:数据集提供了有限的包长度序列和流统计信息。
- 指纹提取效果:适合以载荷为主要输入的模型。
- 论文使用情况:用于特定流量特征的分析,较少被广泛使用。
Cross Platform 数据集
- 实时性:涉及多个APP版本的数据。
- 指纹提取效果:适合版本间分析。
- 论文使用情况:在版本间分析研究中使用。
Youtube 加密视频流量标题识别数据集
- 实时性:数据集用于识别加密视频流量。
- 指纹提取效果:适用于视频流量识别任务。
- 论文使用情况:主要用于特定视频流量识别研究。
NDSec-1 数据集
- 实时性:专注于各种网络攻击,数据较新。
- 指纹提取效果:对多种网络攻击有较好表现。
- 论文使用情况:在网络安全领域有一定应用。
WIDE Project
- 实时性:时间跨度大,但数据脱敏处理。
- 指纹提取效果:适合测量和流量分析,但缺少标签。
- 论文使用情况:在流量测量和分析研究中有应用。
Deep Fingerprinting 数据集
- 实时性:深度学习的数据集,包含大量样本。
- 指纹提取效果:对深度学习模型的指纹提取非常有效。
- 论文使用情况:用于深度学习领域的流量指纹研究。
AWF 模型
- 实时性:提供多种流量数据类型。
- 指纹提取效果:对cell序列的指纹提取效果好。
- 论文使用情况:在Tor流量分析研究中使用较多。
流量分析对抗实验数据集
- 实时性:由源码生成,包含多种流量混淆方法。
- 指纹提取效果:适合进行流量混淆和分类器测试。
- 论文使用情况:用于流量混淆和分类器研究。
USTC-TFC2016 数据集
- 实时性:专注于加密流量分类。
- 指纹提取效果:适合加密流量分类任务。
- 论文使用情况:主要用于加密流量分析研究。
CIC DoS 数据集
- 实时性:专注于DoS攻击类型。
- 指纹提取效果:对DoS攻击分类有效。
- 论文使用情况:在DoS攻击研究中有应用。
CSECICIDS2018 数据集
- 实时性:包含七种不同攻击场景。
- 指纹提取效果:适合多种攻击场景分析。
- 论文使用情况:用于多攻击场景研究。
Browser 数据集
- 实时性:收集了多种浏览器的流量。
- 指纹提取效果:用于浏览器识别任务。
- 论文使用情况:适用于浏览器分类研究。
ReCon 数据集
- 实时性:包含多个应用版本的数据。
- 指纹提取效果:适合应用版本分析。
- 论文使用情况:主要用于应用版本分析研究。