(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111659063.4
(22)申请日 2021.12.31
(71)申请人 北京理工大 学
地址 100081 北京市海淀区中关村南大街5
号
(72)发明人 李建武 林宁
(74)专利代理 机构 北京正阳理工知识产权代理
事务所(普通 合伙) 11639
代理人 张利萍
(51)Int.Cl.
H04L 47/2483(2022.01)
H04L 47/2441(2022.01)
H04L 9/40(2022.01)
G06N 3/04(2006.01)
G06N 3/08(2006.01)
(54)发明名称
一种基于Tran sformer深度学习模型的加密
流量识别方法
(57)摘要
本发明公开了一种基于Tran sformer深度学
习模型的加密流量识别方法, 属于计算机网络安
全技术领域。 针对现有的基于深度学习的加密流
量识别方法存在识别率低、 训练周期长等问题,
本方法利用改进的intra ‑Transformer模型首先
提取出数据包内各字节的全局特征和局部特征,
然后利用inter ‑Transformer模型提取流中数据
包间字节的全局特征和统计信息的全局特征。 相
较于卷积神经网络, 考虑了输入的全局特征, 使
模型性能有较大的提升; 相较于循环神经网络,
能够并行化处理, 加速收敛, 减少训练时间。 本方
法仅利用流中部分相邻数据包便可对流进行分
类, 无需利用流中的大部分包, 即可实现快速识
别流量类型。 本方法在实时性与精度之间实现了
更好的平衡 。
权利要求书3页 说明书8页 附图3页
CN 114401229 A
2022.04.26
CN 114401229 A
1.一种基于Transformer深度学习模型的加密流 量识别方法, 包括以下步骤:
步骤1: 对现有数据集进行预处理, 将pcap文件按照五元组信息, 以流为单位进行划分,
取流中的任意M个相邻的数据包, 组成子流;
步骤2: 用改进的i ntra‑Transformer模型提取 数据包内的特 征, 包括以下步骤:
步骤2.1: 对处理后的数据包 的N个字节进行词嵌入, 将字节特征映射到d维向量空间,
获得数据包的词嵌入特 征F1, F1∈RN×d, 其中R表示矩阵中的实数;
步骤2.2: 将输入序列中的各字节的位置信息pos, 通过式1和式2编码为一个d维的位置
特征F2, F2∈RN×d, 具体如下:
F2(pos,2i)=si n(pos/10 0002i/d) (1)
F2(pos,2i+1)=cos(pos/10 0002i/d) (2)
其中, 2i表示偶数, 2i+1表示奇数;
步骤2.3: 将词 嵌入特征和位置编码特征进行合并, 获得Transformer模型的输入特征
F3, F3∈RN×d, 其计算方式如式3所示:
F3=F1+F2 (3)
步骤2.4: 采用多头自注意力方式, 从不同角度获得 数据包字节的全局依赖关系;
首先, 对F3进行三次线性变换, 分别获得查询向量Q、 键向量K和值向量V, 其 中, Q∈RN×d、
K∈RN×d、 V∈RN×d, N表示字节数; 三次线性变换分别为:
Q=F3WQ (4)
K=F3WK (5)
V=F3WV (6)
其中, W为一个d×d大小的矩阵; F3乘W表示做了一次线性变换;
然后, 计算各字节之间的关联矩阵score, score∈RN×N, 如式7所示:
其中,
为缩放因子, 用于缓解由于softmax 激活函数引入的梯度消失问题; T为矩阵
转置;
之后, 将关联矩阵与值向量V做矩阵乘法操作, 得到一个角度的全局 依赖关系, 即, 多头
自注意力机制中的一个头 head1, head1∈RN×d, 计算公式如下:
重复式4至8的操作, 获得h个不同的头, 即head1,head2,…,headh, 对h个头进行拼接操
作;
最后, 对拼接后的特 征进行线性变换, 得到特 征F4∈RN×d, 计算公式如下:
F4=concat(head1,head2,…,headh)W (9)
其中, concat表示矩阵拼接操作; F4即为从多个角度提取到的一个 数据包内字节的全局
依赖关系;
步骤2.5: 对F3和F4采用残差连接, 并进行层归一化操作, 得到特征F5, F5∈RN×d, 计算公
式为:权 利 要 求 书 1/3 页
2
CN 114401229 A
2F5=LayerNorm(F3+F4) (10)
其中, LayerN orm表示层归一 化;
步骤2.6: 对步骤2.5中的特征F5, 利用两个不同尺度的一维卷积, 同时为保证特征维度
的一致, 两种一维卷积核的数量均为d个, 最终分别得到网络获取的浅层局部特征F6和深层
局部特征F7, F6∈RN×d, F7∈RN×d;
然后, 利用Relu激活函数对其进行激活, 计算公式为:
F6=Relu(1dco nv(F5)) (11)
F7=Relu(1dco nv(F6)) (12)
其中, 1dco nv表示一维卷积;
步骤2.7: 将F7与F5进行残差连接后, 进行层归一 化操作, 获得 特征F8, F8∈RN×d:
F8=LayerNorm(F5+F7) (13)
步骤2.8: 将步骤2.4至步骤2.7重复K1次, 利用更深的网络, 提取更深层次的特征F9, F9
∈RN×d:
其中,
代表第K1次重复执 行步骤2.4至步骤2.7;
步骤2.9: 将基于改进的intra ‑Transformer提取的数据包内的特征F9输入给一个全连
接层, 全连接层的输出神经元个数等于向量空间维度 d, 得到特征F10, F10∈R1×d, 如式15所
示:
F10=FC(flat ten(F9)) (15)
其中, flat ten代表将二维特 征平铺成一个一维向量; FC代 表全连接;
步骤3: 用i nter‑Transformer模型提取 数据包间的特 征, 包括以下步骤:
步骤3.1: 对于有M个数据包的子流, 首先通过步骤2中的改进的intra ‑Transformer模
型提取M个数据包的包内特征, 即, 对于所有的包 执行步骤2.1至步骤2.9操作, 最终得到M个
特征:
将这M个特 征进行拼接, 得到i nter‑Transformer的输入特 征F11, F11∈RM×d:
步骤3.2: 将包的长度信息通过词嵌入方式, 映射到d维向量空间, 获得包长度的长度嵌
入特征F12, F12∈RM×d;
步骤3.3: 对于包间的相对位置信息, 同样使用同步骤2.2中的位置编码, 最终得到位置
编码特征F13, F13∈RM×2d;
步骤3.4: 将特 征F11、 F12和F13进行融合,得到特 征F14, F14∈RM×2d:
F14=concat(F11,F12)+F13 (18)
步骤3.5: 利用多头自注意力机制, 在流量层面从不同角度获得流中各个数据包间的全
局依赖关系, 最终得到特 征F15, F15∈RM×2d;
步骤3.6: 对F14和F15进行残差和层归一 化操作, 最终得到特 征F16, F16∈RM×2d;
步骤3.7: 将特 征F16输入给两层全连接层, 并用非线性激活函数激活;
第一个全连接层的输出神经 元个数为 4d, 输出特征F17,F17∈RM×4d;权 利 要 求 书 2/3 页
3
CN 114401229 A
3
专利 一种基于Transformer深度学习模型的加密流量识别方法
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 21:47:00上传分享