论文简介
原文题目:FS-Net: A Flow Sequence Network For Encrypted Traffic Classification
中文题目:FS-Net:一种用于加密流分类的流序列网络
发表会议:IEEE INFOCOM
发表年份:2019
作者:Chang Liu
latex引用:
@inproceedings{liu2019fs,
title={Fs-net: A flow sequence network for encrypted traffic classification},
author={Liu, Chang and He, Longtao and Xiong, Gang and Cao, Zigang and Li, Zhen},
booktitle={IEEE INFOCOM 2019-IEEE Conference On Computer Communications},
pages={1171--1179},
year={2019},
organization={IEEE}
}
摘要
随着人们对用户隐私和通信安全的重视,加密流量急剧增加,这给传统的基于规则的流量分类方法带来了巨大的挑战。将机器学习算法与人工设计特征相结合已经成为解决这一问题的主流方法。然而,这些功能在很大程度上依赖于专业经验,这需要大量的人力。这些方法将加密流量分类问题划分为分段子问题,不能保证最优解。本文将递归神经网络应用于加密流量分类问题,提出了流序列网络(Flow Sequence network, FS-Net)。FS-Net是一个端到端的分类模型,它从原始流中学习代表性特征,然后在统一的框架中对它们进行分类。此外,我们采用多层编码器-解码器结构,可以深入挖掘流的潜在序列特征,并引入重构机制,提高特征的有效性。我们在18个应用的真实数据集上进行的综合实验表明,FS-Net取得了优异的性能(99.14% TPR, 0.05% FPR和0.9906 FTF),优于目前最先进的方法。
存在的问题
将机器学习算法与人工提取的原始流量统计特征相结合成为加密流量分类的主流方法。显然,这种方法将加密流量分类问题分解为两个子问题,每个子问题的结果将直接影响最终的分类性能。另一种方法是设计一个端到端的模型,即将特征工程和模型训练结合成一个统一的模型。
论文贡献
- 提出了一个端到端FS-Net模型的加密流量分类。FS-Net由编码器、解码器、分类器和重构层组成,通过对原始流序列的特征学习和分类来识别流。
- 利用重构机制促进特征学习。通过保持重构序列和原始流序列尽可能相似,生成的特征可以包含更多的判别信息。
- FS-Net在真实网络流量数据上取得了出色的加密流量分类效果,并且优于几种最先进的方法。
论文解决上述问题的方法:
在本文中,我们使用了一个端到端的流序列网络(Flow Sequence Network, FS-Net)模型来进行加密流分类。这种端到端模型可以直接从原始输入中学习特征,学习到的特征由真实标签引导,从而提高性能。因此,它可以节省设计和验证功能的人力。
论文的任务:
加密流量多分类
1. 问题声明
假设总共有N个样本和C个应用程序。
- 第 p p p 个样本的序列表示: x p = [ L 1 ( p ) , L 2 ( p ) , … , L n p ( p ) ] x_p = [L_1^{(p)} ,L_2^{(p)},…, L_{n_p}^{(p)}] xp=[L1(p),L2(p),…,Lnp(p)],其中 n p n_p np为 x p x_p xp的长度, L i ( p ) L_i^{(p)} Li(p) 为时间步长 i i i的数据包值
- x p x_p xp的应用标签: A p A_p Ap, 1 ≤ A p ≤ c 1≤Ap≤c 1≤Ap≤c
- 目标:目标是建立一个端到端模型 ψ ( x p ) ψ(xp) ψ(xp)来预测一个恰好是真实标签 A p A_p Ap的标签 A p ^ \hat{A_p} Ap^
2. FS-net
-
嵌入层
给定一个有n个元素的流序列, x = [ L 1 , L 2 , … , L n ] x = [L_1, L_2,…, L_n] x=[L1,L2,…,Ln],每个元素 L i , i ∈ [ 1 , n ] L_i, i∈[1,n] Li,i∈[1,n]需要转换成一个 d d d维向量 E L i E_{L_i} ELi。最后得到嵌入序列 [ e 1 , e 2 , ⋅ ⋅ ⋅ , e n ] [e_1, e_2,···,e_n] [e1,e2,⋅⋅⋅,en],其中 e i = E L i e_i = E_{L_i} ei=ELi。
-
编码层
编码器层以流的嵌入向量为输入,生成压缩特征。编码器层由堆叠的双向gru (bi-GRU)组成。
-
解码层
解码器层采用另一种与编码器层类似的堆叠双gru网络。借鉴自编码器的架构,将基于编码器的特征向量 z e z_e ze在每个时间步长 t t t输入到解码器中
-
重构层
将解码器序列D输入重构层,生成元素集e上的概率分布,其中使用softmax分类器生成分布
-
dense层
将编码器和解码器的输出序列合并,并进行特征增强,最后进行一下压缩,具体如下:
其中 z e z_e ze为编码器输出, z d z_d zd为解码器输出
-
分类层
将压缩后的特征向量 z c z_c zc发送给类似于重构层的另一个softmax分类器,得到不同应用上的分布 q q q。取概率最大的应用作为预测标号 A A A。
-
Loss
最终的Loss为分类loss和重构loss的加权和。
3. 实验
对比实验:
FS-net消融实验:
-
重构层的作用:重构机制可以通过恢复输入序列来增强特征表示和识别能力。为了验证这一点,我们设计了一个模型的变体,它放弃了图2中的解码器层、重构层和重构损失,即只将基于编码器的特征向量ze传递给密集层进行分类。这种变体被称为FS-ND。
-
消息类型序列的作用:消息类型序列被用作传统的基于消息类型马尔可夫方法(即FoSM、SOCRT和SOB)的输入。为了便于比较,本文结合消息类型序列对FS-Net和FS-ND进行了测试,对应的方法记为FS-Net- s和FS-ND- s。
-
dense层的作用:FS-Net-SL、FS-ND-SL。
FS-net敏感性分析:
-
隐藏状态维数:
-
参数α:
总结
数据集
- Mampf: Encrypted traffic classiffication based on multi-attribute markov probability fingerprints
可读的引用文献
数据集与模型
- Mampf: Encrypted traffic classiffication based on multi-attribute markov probability fingerprints