NFStream流量分析|特征提取|机器学习

项目简介

Repo: https://github.com/aouinizied/nfstream

Docs: https://www.nfstream.org/docs/

NFStream 是一个 Python 框架,提供了快速、灵活和富有表现力的数据结构,旨在使处理在线或离线网络数据既简单又直观。它旨在成为用 Python 进行实际的、真实的网络数据分析的基本高级构建块。此外,它还有一个更广泛的目标,即成为研究人员的通用网络数据分析框架,提供跨实验的数据再现性。

相关文章

网络设备排序

Ranking Network Devices for Alarm Prioritisation: Intrusion Detection Case Study

网络中的某些设备比其他设备更重要,重要网络设备的潜在问题可能比不太重要的设备的问题造成更大的损害。本文提出了一种方法,可以通过使用学习排序算法对各种设备报告进行排序,以帮助最终用户更轻松地检测更高优先级的警报。对学习排序算法用于使用自定义数据集增量训练模型,同时在单独的测试集上测试其准确性。预测测试数据集中前两个、五个、十个项目的排名显示模型准确性呈上升趋势。使用这种方法,我们能够实现超过 95% 的排名准确率,并在入侵检测系统案例研究中讨论了所提出的方法。

结合爬虫和深度学习进行恶意软件检测

Network Flows-Based Malware Detection Using A Combined Approach of Crawling And Deep Learning

随着社会越来越依赖互联网,每天都有更多的私人数据通过网络传输。不幸的是,这种流量容易受到各种威胁和漏洞的影响,包括诱骗用户破坏其系统或泄露敏感个人信息的网络钓鱼攻击。在这项研究中,我们提出了一种深度学习方法,使用从网络爬虫收集的数据检测恶意软件,该网络爬虫系统地向 Internet 上的良性和恶意网站发送请求。在应用程序对网络流进行分割并提取特征后,我们使用这些提取的高级网络流量特征来训练深度神经网络以识别良性和恶意流。最后,我们根据各种指标评估了我们的恶意软件检测方法,包括精度、召回率和 f1 分数。达到的 f1 分数为 0.924,验证了检测方案的整体性能。

image-20211124014411916

Generative Transformer:网络流量生成与分类

Generative Transformer Framework For Network Traffic Generation And Classification

我们介绍了适用于生成和分类任务的基于生成式 Transformer 的网络流量模型。只有数据包大小和数据包间时间序列用作流特征来统一两个任务的输入。源特征空间使用 K-Means 进行缩放和聚类,以形成离散序列作为模型输入。该模型可以在两种模式下进行训练:(i)自回归,用于网络流量生成,其中训练序列的第一个标记代表流类,(ii)作为网络流分类器。通过 Kolmogorov-Smirnov 统计对生成的流量进行评估表明,其质量与一阶马尔可夫链相当,该链是在每个流量类别上独立训练的。该指标测量源之间的距离,并生成经验累积分布等参数,如数据包大小、到达间隔时间、吞吐量和每个流在往返流量来源方向上的数据包数量。结果表明,使用来自不同域的外部流量来丰富数据集可以提高目标类上生成的流量的质量。实验结果表明,生成式预训练对交通分类任务的质量有积极的影响。在使用预训练模型作为线性算法的特征提取器的情况下,质量接近在原始序列上训练的随机森林。当所有模型参数都经过训练后,根据 F1 分类器的性能平均比集成高 4%。

image-20211124011231015
  • 方法
    • 一次会话双向网络流组成 stream matrix = [pkt_1, pkt_2, …, pkt_n]
    • 线性缩放:以字节为单位的数据包通过除以 1500(作为 IP 数据包的最大可能值)线性缩放,并且以微秒为单位测量的数据包间隔被对数化(除了等于 0 的值)
    • 流量开始、结束位标记 + Token + 数据包聚类L x 2 --> L + 2

基于神经网络的多类网络流量生成器和分类器

Multi-Class Network Traffic Generators and Classifiers Based on Neural Networks

我们引入了一个神经网络框架,该框架允许构建适用于流生成和分类任务的多类网络流量模型。数据包大小和数据包间时间序列是形成输入的唯一流特征。我们的方法有两个主要组成部分:数据包特征量化器和序列模型,我们分别使用 K-Means 算法和基于 Transformer 的模型在示例配置上对其进行了验证。此外,我们声称有可能将知识从生成转移到分类任务。发电机的流量质量的评估是通过 Kolmogorov-Smirnov 度量进行的,这些参数包括包大小、到达间隔时间、吞吐量和每个流在往返流量源方向上的包数。结果表明,所提出的多类模型与单个基于马尔可夫的单类模型的性能相当。至于分类任务,该模型优于 FS-NET 和传统的随机森林分类器。我们证明了在流量生成器和分类器之间执行知识转移程序(所谓的生成预训练)可以进一步提高流量分类任务的性能。我们还发布了代码、数据集和经过训练的模型。

Using Embedded Feature Selection and CNN for Classification on CCD-INID-V1 A New IoT Dataset

An Approach Based on Knowledge-Defined Networking for Identifying Video Streaming Flows in 5G Networks

Knowledge Discovery: Can It Shed New Light on Threshold Definition for Heavy‑Hitter Detection?

Collecting and analyzing Tor exit node traffic