CCF A
用于物联网流量生成的知识图谱增强 GAN
Shuodi Hui, Huandong Wang, Zhenhua Wang, Xinghao Yang, Zhongjin Liu, Depeng Jin, and Yong Li. 2022. Knowledge Enhanced GAN for IoT Traffic Generation. In Proceedings of the ACM Web Conference 2022 (WWW '22). Association for Computing Machinery, New York, NY, USA, 3336–3346. https://doi.org/10.1145/3485447.3511976
概述
- 缺流量数据来提高物联网服务质量
- 大规模数据很难获取,况且还有隐私问题
- 现实中存在的IoT设备服务繁多,目前研究者合成的流量比较单一
本文通过GAN生成大规模物联网流量,通过知识图谱引入物联网设备的语义知识(如位置和环境信息)和网络结构知识。使用条件机制整合物联网设备知识和设备类型。使用LSTM和Self-Attention机制捕捉流量序列的事件相关性。
模型能够基于少量真实数据集上进行训练来生成真实的数据。
方法
黑色、蓝色和灰色的线分别表示真实数据、生成的数据和噪声的传输。
知识图谱的构建
从制造商、供应商和用户收集每台设备的基本信息。
物联网设备在知识图谱中被视为头部实体,
用户、平台、位置和环境信息被视为尾部实体。
使用TransE模型[5]来学习每个物联网设备的知识图谱嵌入(Knowledge graph embedding ,KGE) 。
生成器
生成器由三个子生成器构成:设备类别生成器 G C G^C GC、序列长度生成器 G M G^M GM、流量序列生成器 G T G^T GT
生成器构造需要满足三个要求:
- 引入物联网网络结构与语义知识
- 捕获设备类别与流量的相关性
- 捕获流量序列的长期和短期时间模式
以上三个需求,分别对应三个设计:
- 三个子生成器通过条件机制相互关联
- 条件机制与设备类别生成器 G C G^C GC、序列长度生成器 G M G^M GM结合
- 基于生成器结果 C i C_i Ci、 M i M_i Mi使用Self-Attention机制的LSTM生成流量序列 T i T_i Ti
条件机制是为了将物联网网络结构与语义知识引入生成的数据中,同时捕获设备类别对流量序列的影响
设备类别生成器 G C G^C GC、序列长度生成器 G M G^M GM用的是MLP Generator
流量序列生成器 G T G^T GT用的是带Self-Condition的LSTM Generator
判别器
考虑到以下两原因:
- Generator与Discriminator是对抗性的,强度应该相似
- 生成任务比鉴别任务更复杂
故使用MLP做鉴别器。
损失函数
使用带梯度惩罚的Wasserstein距离同时计算连续(generated device category)和离散(real category)数据
D ( O ) D(O) D(O)是真实样本O的判别结果, P r P_r Pr表示真实数据分布,
D ( O ^ ) D(\hat O) D(O^)是生成样本 O ^ \hat O O^的判别结果, P g P_g Pg表示生成数据分布
O ~ \widetilde O O 是在从真实数据和生成数据中取样的一对物体之间沿直线均匀地取样, D ( O ~ ) D(\widetilde O) D(O )是判别结果, P O ~ P_{\widetilde O} PO 表示数据分布
训练方式
生成器被训练以最小化损失,而鉴别器被训练以最大化损失。使用小批量处理来提高训练效率,在每次迭代中训练生成器之前,对鉴别器进行多次训练。
实验
与五个baseline做数据保真度(JSD)和应用价值(案例研究)做对比
测试了小数据集上知识图谱的有效性
数据集
从中国最大的移动网络运营商之一那里获得了为期三天的物联网流量
five Baselines
对变长输入的处理没看懂 T i j T_i^j Tij
-
Auto-regressive (AR) [12]。 根据前 j − 1 j-1 j−1个记录产生第 j j j个记录,只能产生固定长度序列。
-
Hidden Markov models (HMM)[13]。 与AR类似,我们对可变长度的设备类别使用 T i j T_i^j Tij条件反射来帮助HMM生成流量序列。由于设备类别 C i C_i Ci是直接从真实数据中采样的,所以我们忽略了AR和HMM的类别生成评估。
-
Long Short Term Memory (LSTM)[17]
-
Naive GAN[14]
-
DoppelGANger[23] 。 DobpelGAN是一种最先进的基于GAN的序列数据生成模型。
比较结果
这块粗看的
逼真度
真实数据和来自不同生成器的生成数据之间的JSD,其中较低的结果越好。粗体表示最佳(最低)的结果,下划线表示第二好的结果。
知识图谱和条件机制的重要性
对真实数据和来自不同生成器的生成数据之间的JSD进行分类,其中较低的结果越好。粗体表示最佳(最低)的结果,下划线表示第二好的结果。
生成数据训练分类模型的效果
对真实数据和从不同生成器生成的数据之间的JSD进行了分类,结果越低越好。粗体表示最佳(最低)的结果,下划线表示第二好的结果
这些都不是我目前关注的重点,我好奇的是,如何将Pcap文件处理为可以输入GAN网络的数组,以及,生成的输出数组如何变成Pcap。
这个Paper的代码在Github上就可以找到,但是并未给出如何处理Pcap的代码。
这篇论文的 5.2 节梳理了流量生成的发展史,瞅瞅有无开源代码库可复现?
网络流量生成
网络流量生成是一个长期存在的问题,传统上被应用于测试网络设备、网络服务和安全产品[48]。在早期阶段,网络流量可以基于网络流量模型(如泊松模型)、流量特征(如分组大小和分组到达分布[39])和网络协议(如TCP[43])生成,这些模型适用于网络性能测试,但无法生成高保真合成物联网流量数据集。
近年来,各种机器学习方法被应用于生成网络流量数据,例如基于自回归的模型**[6,45]**。随着GAN[14]在视频[42]、音频[47]、图像[46]等多个生成任务中取得了显著的效果,基于GAN的模型在网络流量生成[8]中越来越流行。
**Ring等人[33]**设计了三种基于不同的GANs预处理方法,将基于流的数据转换为连续的值,并生成在CIDDS-001数据集上训练的基于流的网络流量。该数据集是在一个使用OpenStack的虚拟环境中创建的,提供了丰富的参数,包括IP地址、端口号、TCP标志等。然而,在现实环境中难以获得所需的参数,这限制了该方法的应用。
**Dowoo等人[11]**提出用PcapGAN生成经过网络攻击数据和正常数据训练的pcap文件,用于入侵检测。
除了分别生成流量序列或属性外,**Lin等人[23]**提出DoppelGANger同时生成数据属性和特征序列,并在多个流量形式数据集上获得最新的结果,包括网络流量时间序列、地理分布的宽带测量和计算集群使用测量。
这些网络流量数据的生成模型为我们提供了生成物联网流量的经验。基于这些模型,我们的GAN框架生成现实和多样的物联网流量数据,通过网络结构和语义知识增强。
代码
https://github.com/tsinghua-fib-lab/NetworkTrafficGeneration/tree/master/IoT
我再去瞅瞅这五篇
-
[6] Alisson Assis Cardoso and Flávio Henrique Teles Vieira. 2019.
Generation of Synthetic Network Traffic Series Using a Transformed
Autoregressive Model Based Adaptive Algorithm. IEEE Latin America
Transactions 17, 08 (2019), 1268–1275. -
[45] Shengzhe Xu, Manish Marwah, and Naren Ramakrishnan. 2020. STAN:
Synthetic Network Traffic Generation using Autoregressive Neural
Models. arXiv preprint arXiv:2009.12740 (2020). -
[33] Markus Ring, Daniel Schlör, Dieter Landes, and Andreas Hotho. 2019. Flow-based network traffic generation using generative adversarial networks. Computers & Security 82 (2019), 156–172.
-
[11] Baik Dowoo, Yujin Jung, and Changhee Choi. 2019. PcapGAN: Packet Capture File Generator by Style-Based Generative Adversarial Networks. In 2019 18th IEEE International Conference On Machine Learning And Applications (ICMLA). IEEE, 1149–1154.
-
[23] Zinan Lin, Alankar Jain, Chen Wang, Giulia Fanti, and Vyas Sekar. 2020. Using GANs for Sharing Networked Time Series Data: Challenges, Initial Promise, and Open Questions. Proceedings of the ACM Internet Measurement Conference, 464–483.