Adaptive Clustering-based Malicious TrafficClassification at the Network Edge论文阅读笔记
基于自适应聚类的网络边缘恶意流量分类-论文笔记
综述:
在本文中,提出了一种基于自适应聚类的入侵检测(ACID),这是一种新的恶意流量分类方法,也是一种部署在网络边缘的有效候选方法。该模型由引入的多个核网络组成,最优地分离不同类别的样本。并证明了ACID始终能够达到100%的准确率和f- score,以及0%的误报率,因此显著优于最先进的聚类方法和nids。
ACID是第一个基于深度学习的NIDS,它利用自适应聚类来最小化误报率,它对各种恶意流量类型都很健壮,并且可以在商品网关上原型化,用于在网络边缘进行实时威胁检测。
Ⅰ背景:
物联网设备和云服务的应用持续快速增长,迫切需要强大、高效的防御机制来保护网络基础设施和用户的私有数据。传统的安全措施,如防火墙、反病毒和基于规则的网络入侵检测系统(nids),已无法跟上最近和复杂的攻击,这些攻击利用漏洞绕过这些措施设置的周界防御[4]。特别是,广泛部署的ids存在许多缺点。
Ⅱ设计:
为了解决这些问题,本文提出了一种不依赖于分类器的高效自适应聚类入侵检测系统ACID。该设计采用了一种原始的基于多核的神经网络,使我们的NIDS能够很好地泛化,而不受小组数据包或训练数据集的不平衡性质所引起的任何小变化的影响。
目的:
①快速适应复杂的数据结构和模式,通过发现网络流的低维嵌入,以最佳地分离不同类 型的样本
②可部署在计算能力有限的设备上。
Ⅲ算法实现:
通过一种聚类算法来实现这一点,该算法从网络工作流特征的线性和非线性组合中学习低维嵌入,这使得清晰地分离这些流成为可能。通过将聚类网络中学习到的聚类中心与从分组序列中提取的统计和语义特征相结合,并将得到的特征向量输入分类器,我们有效地提高了NIDS的检测性能,同时最小化了误报率。
我们引入了一种新的监督自适应聚类(AC)技术来学习可以用来扩展给定数据集的特征的聚类中心。该方法提高了分类模型对异常值的鲁棒性和泛化能力。
基于这个聚类方法,作者团队设计了一个NIDS,它从原始数据包中提取一系列特征,用学习过的聚类中心扩展这些特征,并将它们提供给选择的分类器,以实现高可靠性的二值和多标签分类。
Ⅳ系统架构
•特征提取器模块:将原始网络数据包转换为报头和统计特征的向量,以及(可选的)有效载荷的语义表示(即额外的特征向量)
•自适应聚类模块:构建网络工作流特征的低维嵌入,并计算一组抽象属性,这些属性是属于相同流量类型的样本共有的
•分类模块:利用从网络流和聚类模块中提取的特征,提高检测率,减少离群值的影响。该模块纠正了通过聚类产生的任何错误分类,并可以进一步利用输入中的相关性。
·特征提取器
包括两个并行处理管道:
①一个报头分析器逻辑,构建一组报头和统计特征(包括源/目的端口号、包间到达 时间、流中的包总数等),提供一个紧凑的流量行为表示;
②通过word2vec和Text-CNN技术,构建有效载荷语义表示向量的可选词嵌入逻辑。
图解:拟议的ACID系统概述。
头和统计特征,以及(可选的)负载特征从原始网络数据包中提取,然后分组成双向 流。我们的AC模块接受这些流,计算聚类中心,并将它们添加到提取的特征中, 然后将得到的向量输入分类器以作最终决策。
·自适应聚类模块
该自适应聚类(AC)方法被设计成端到端可微的,训练是在小批量上执行的,通过这种方式,网络学习输入的低维表示,并计算相应的核中心。对于这种NIDS,会检索每个类的计算聚类中心,并使用它们来扩展其样本的特征,从而为每个数据点获得更多的特征。然后将这些组合的特征交给分类模块,以最终决定观察到的流量的性质。
目标:
•处理非常多高维数据点。•处理随机时间间隔的数据流。•快速有效地对多维空间 中最复杂的数据点进行聚类。•产生聚类中心。
·分类模块
使用分类模块以便来处理每个样本的组合提取的特征和聚类中心,并输出该流所属的推断流类。我们使用每个样本对应的聚类中心,而不是它的低维表示。这不仅提高了NIDS的准确性,而且还将离群值的影响降到最低。
理论支持:通过使用集群中心作为附加特性来引入增益。
定理----基于聚类的散度约简,整明过程见论文。
通过证明可以得知:使用聚类中心作为附加特征,可以减少同一组项目之间的 差异,从而提高分类器的决策能力。
在我们的实验中,我们将使用一个随机森林结构来对交通流进行最终的分类。 当然我们的聚类方法并不局限于NID,而是可以应用于任何其他分类任务。
Ⅴ详细解释
·自适应聚类
我们提出的自适应聚类(AC)方法建立在多个核网络之上,每个核网络学习自适应,以适应与我们想要分类的特定类型流量相关的一个可能的集群。
图解:自适应聚类网络的架构。
对于任何观察到的样本,不同的编码器会发现其最优的低维嵌入,而内核网络会学习外推其组成员的一般表示(即聚类中心)。通过使用编码器,我们的模型将输入特征的维数降低到任何期望的维数。而编码器的架构可以根据手头的任务来选择,使用一个简单的多层、前馈神经网络可以使模型实现。
在我们的设计中,每一层的编码器实现了activation-like正弦函数次 yt = wa sin(2πwf yt−1),yt−1是上一层的输出,wa和wf是权重向量相应大小的|wa|=1和|wf |=|yt−1|。所选择的正弦激活类函数使网络学习更快,适应复杂的数据结构。对于核网络,我们使用全连接神经模型,其输出通过软max函数,从而返回给定样本属于不同簇的概率集。
因此,对于核心网络,我们的目标是将编码器中的任何嵌入映射到代表样本属于其各自集群的似然估计的单个值。对于每个样本,这种映射通过一个深度神经网络完成,同时这些网络定义的核权值,即聚类中心,从所有样本的嵌入计算。
经过测试,使用我们的方法提供的集群中心作为分类器的特性可以增强隐私性,因为同一个类的所有成员都具有相同的特性值。在我们的实验中,我们使用相同的神经网络结构和相同的超参数。只有子网络的数量会改变,因为这是特定于任务的,并且对应于输出类的数量。
图解:样本数据集(上)及其表示和聚类中心(下)
这表明交流网络可以自动发现需要学习的最优核
Ⅵ实现
在Python 3.7中使用PyTorch和Scikit-Learn库实现了ACID。
对于我们的AC算法,我们使用了一组编码器,它们是全连接的神经网络,有3个隐藏层,分别包含500、200和50个神经元。输出层中的神经元数量等于期望的核维数,我们在实验中将其设置为10。核心网络也是完全连接的,有3个大小为100、50和30的隐藏层神经元,输入以256个小批量处理,我们使用Adam优化器以1e−4的学习速率训练模型。
Ⅶ绩效评估
我们首先用5个合成数据集来演示我们的AC算法在一般聚类任务上的性能,然后用3个公开的网络入侵数据集来评估ACID算法的性能。
·数据集合成数据集
我们生成了五个不同的人工数据集,涵盖了不同复杂程度的场景,包括聚类/组的数量、形状、模糊性和分布。从这五个方面的具体化分析,我们就可以比较我们的聚类方法与三种流行的聚类方法的性能,并确定其普遍学习能力。
·预处理
基于从原始数据包中提取的特征(包括数据包报头中的字段和统计属性),我们生成双向流,从而合并了比从单个数据包中观察到的更多的时间信息。每个流的第一个数据包决定它的方向,即向前(源到目的地)或向后(目的地到源)。
我们随机选取了预定义数量的恶意和良性流量样本。然后使用70/30分割比将预处理数据集划分为训练集和测试集。
预处理后的ISCX-IDS 2012数据集。
·评价指标
们使用了保留的测试集来计算混淆矩阵,基于这个矩阵,我们计算了真正(TP)、真负(TN)、假正(FP)和假负(FN)推理的数量。通过这些,我们得出了一些度量标准,使我们能够评估ACID的分类结果的质量,以及被考虑的基准产生的结果。
FAR:误报率
图解:本文提出的AC方法与三种常用基准在两圆、五圆、两月、斑点
和正弦/余弦数据集上的聚类结果比较。
·一般的聚类结果
从上图中可以看出,Spectral聚类在两圆两月数据集上得到了最优的结果,而DBSCAN在5个数据集中的3个数据集上表现得很好,即两圆、五圆和两月。这两种方法都在一定程度上对斑点进行了错误分类,并且始终未能正确地聚类正弦/余弦数据集。然而,k-Means聚类算法在所有这些任务上都系统地失败了。
相比之下,我们的AC方法完美地将所有数据集中的数据点聚在一起,而不考虑形状、分布或复杂性。
·网络入侵检测结果
我们对上述三个真实世界的数据集进行了二进制和多标签分类。
图解:使用ACID对KDD Cup ' 99数据集进行多标签分类的归一化混淆矩阵。
图解:在ISCX-IDS 2012数据集上使用ACID进行多标签分类的标准化混淆矩阵。
图解:使用ACID对CSE-CIC-IDS 2018数据集进行多标签分类的标准化混淆矩阵。
观察我们的结果,即使在一些网络流量可能非常相似的情况下,在使用内核和负载特性时,ACID正确地对100%的流量进行了分类。当不使用时,准确率仅略微下降。
·复杂性分析
我们计算了神经模型的参数数量和每次推理执行的浮点运算(FLOP)的数量,还分别测量了单个样品和128个样品的批次的推理时间,以计算通过ACID完整管道的数据包所进行的所有处理。
我们可以注意到,有效负载特性导致每个单流推断的执行时间提高了约2倍,而当使用比例较大的批处理时,它们可以证明成本更高几个数量级,这需要在部署在网络边缘时加以考虑。
·敏感性分析
·内核大小
图解:在ISCX-IDS 2012数据集上训练AC时,不同内核大小下损失函数值的演化。
·功能的重要性
为了更好地理解不同特征对分类结果的影响,我们分析了它们对这一过程的贡献程度。
图解:ISCX-IDS 2012数据集的分类过程中15个最重要的特征。从载荷中提取50个特征。
Ⅷ结论及未来方向
在本文中,介绍了一种基于自适应聚类(AC)神经网络的网络入侵检测(NID)的新方法,该方法在三种不同的数据集上实现了示例性能,在二进制和多标签流量分类任务。
我们的设计依赖于多个内核网络,学习数据样本的最佳嵌入,从而获得轻松区分不同类型网络流量的能力。通过大量的实验,我们已经证明了我们的聚类方法比现有方法的优越性,并提出了一个轻量级和有效的网络入侵检测系统(NIDS)的情况下,可以部署在有限的计算资源设备上,从而加强在网络边缘的防御。
Adaptive Clustering-based Malicious TrafficClassification at the Network Edge论文阅读笔记相关推荐
- Choosing Smartly: Adaptive Multimodal Fusion for Object Detection in Changing Environments论文阅读笔记
论文:https://arxiv.org/pdf/1707.05733v1.pdf Abstract 对象检测是在动态和变化的环境中运行的自动机器人的基本任务.机器人应该能够在存在传感器噪声的情况下也 ...
- Face-Morphing using Generative Adversarial Network(GAN)论文阅读笔记
题目:Face-Morphing using Generative Adversarial Network(GAN) 参考文章:原文地址 摘要: 讲解了GAN的基本原理以及利用GAN换脸的原理. 在像 ...
- 《Distilling the Knowledge in a Neural Network》 论文阅读笔记
原文链接:https://arxiv.org/abs/1503.02531 第一次接触这篇文章是在做网络结构的时候,对于神经网络加速,知识蒸馏也算是一种方法,当时连同剪纸等都是网络压缩的内容,觉得 ...
- Similarity and Matching of Neural Network Representations 论文阅读笔记
这是NIPS2021的一篇论文,文章主要是探究了通过一个stiching layer将两个已训练的不同初始化的相同结构的网络的某一层进行匹配的可能性. 前言 作者对 "什么情况下两个表征是相 ...
- 论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering,SENet,用于大规模子空间聚类的自表达网络
论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering. SENet--用于大规模子空间聚类的自表达网络 前言 摘要 ...
- 论文阅读笔记(5):Oracle Based Active Set Algorithm for Scalable Elastic Net Subspace Clustering
论文阅读笔记(5):Oracle Based Active Set Algorithm for Scalable Elastic Net Subspace Clustering,基于Oracle的可伸 ...
- 论文阅读笔记:《Hyperspectral image classification via a random patches network》(ISPRSjprs2018)
论文阅读笔记:<Hyperspectral image classification via a random patches network>(ISPRSjprs2018) 论文下载地址 ...
- Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文阅读笔记
Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文阅读笔记 目录 Arbitrary Style ...
- LiDAR-based Panoptic Segmentation via Dynamic Shifting Network(论文阅读笔记)
LiDAR-based Panoptic Segmentation via Dynamic Shifting Network(论文阅读笔记) 环形扫描骨干网络.动态漂移.一致性驱动的融合 一.重点内容 ...
最新文章
- 直播回顾 | 关于Apollo 5.0控制在环仿真技术的分享
- 敲山震虎?继MongoDB之后,AWS又对Elasticsearch下手了
- redis之zskiplist
- Ibatis.Net 学习手记一 简单的Demo
- USB Host Device And OTG
- Regsvr32 dll OCX时报错,LoadLibrary(Dllname) 内存访问失败。
- Linux GCC GDB 第一节
- PHP设计模式——桥接模式
- NB-IOT之一个完整的BC95 UDP从开机到数据发送接收过程
- Java SE、OpenJDK、Java EE、Java 框架、Java ME 等概念之间的区别
- 使用opencv进行车牌提取及识别
- Python读取文件找出重复元素
- linux mame 游戏下载,mame街机模拟器游戏 for linux
- 宝兰德BES安装及Springboot项目打包部署及websocket解决方案
- 问卷星问卷数据怎么快速导入SPSSAU?
- CSS背景切角的实现研究
- Zcash - 各种密钥和签名,你懂吗?
- 抢课php,科学网—抢课 - 卢文发的博文
- RabbitMQ如何防止消息丢失及重复消费
- 9.华为WLAN产品介绍_华为WLAN产品介绍
热门文章
- 操作系统实验(八):文件管理
- 聊聊 effects 与 reducers--React AntDesign Dva
- shell-判断是不是文件夹
- 浙江:杀人犯刑场突喊冤 检察官“刀下留人”(图)
- [18考研]如何给导师发邮件?(模版)
- 学会这十五招,斗地主想输都难
- 英语练习91 Society is changing rapidly.
- 【多线程】线程与进程、以及线程进程的调度
- 移植UCOSII注意的问题
- win7下运行Excel2007,出现“向程序发送命令时出现问题”的解决