浙江大学学报(工学版), 2026, 60(3): 624-632 doi: 10.3785/j.issn.1008-973X.2026.03.018

计算机技术、控制工程

基于关系嵌入的物联网未知攻击检测方法

李智慧,, 邓琨,, 许聪源

1. 嘉兴大学 信息科学与工程学院,浙江 嘉兴 314001

2. 浙江理工大学 信息科学与工程学院(网络空间安全学院),浙江 杭州 310018

3. 天津大学 电气自动化与信息工程学院,天津 300072

Method for detecting unknown IoT attack based on relational embedding

LI Zhihui,, DENG Kun,, XU Congyuan

1. College of Information and Engineering, Jiaxing University, Jiaxing 314001, China

2. School of Information Science and Engineering (School of Cyber Science and Technology), Zhejiang Sci-Tech University, Hangzhou 310018, China

3. School of Electrical and Information Engineering, Tianjin University, Tianjin 300072, China

通讯作者: 邓琨,男,副教授. orcid.org/0000-0002-6377-9205. E-mail: dengkun@hrbeu.edu.cn

收稿日期: 2025-03-14  

基金资助: 国家自然科学基金资助项目(62302197);浙江省自然科学基金资助项目(LQ23F020006);嘉兴市科技计划资助项目(2024AY40010);中国博士后科学基金资助项目(2024M752366).

Received: 2025-03-14  

Fund supported: 国家自然科学基金资助项目(62302197);浙江省自然科学基金资助项目(LQ23F020006);嘉兴市科技计划资助项目(2024AY40010);中国博士后科学基金资助项目(2024M752366).

作者简介 About authors

李智慧(2002—),男,硕士生,从事小样本物联网入侵检测研究.orcid.org/0009-0007-4494-2111.E-mail:lzs1902@163.com , E-mail:lzs1902@163.com

摘要

针对传统深度学习方法难以准确检测出未知类别攻击的问题,提出基于小波变换和关系嵌入的小样本物联网入侵检测方法. 该方法利用小波变换来增强主干网络对全局信息的捕捉能力,使用基于关系嵌入的小样本算法计算样本的关系向量,通过余弦相似度函数进行分类. 在公开数据集CICIOT2023和BotIoT上验证了所提方法对未知类别攻击检测的能力. 在5-way 5-shot设置下的检测准确率分别是93.5%和99.3%,在5-way 10-shot设置下的检测准确率分别是93.12%和99.33%.

关键词: 小样本 ; 小波变换 ; 关系嵌入 ; 入侵检测 ; 物联网(IoT)

Abstract

A few-shot IoT intrusion detection method combining wavelet transform with relational embedding was proposed in order to address the challenge of accurately detecting unknown attack categories in traditional deep learning approaches. Wavelet transform was utilized to enhance the backbone network’s ability to capture global information. A relational embedding-based few-shot algorithm was employed to calculate sample relation vectors. Classification was performed through cosine similarity functions. Experimental validation was conducted on public dataset CICIOT2023 and BotIoT to demonstrate the capability of method in detecting unknown attack categories. Detection accuracies of 93.5% and 99.3% were achieved under 5-way 5-shot settings, while 93.12% and 99.33% accuracies were obtained in 5-way 10-shot configurations.

Keywords: few-shot ; wavelet transform ; relational embedding ; intrusion detection ; Internet of Thing (IoT)

PDF (975KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

李智慧, 邓琨, 许聪源. 基于关系嵌入的物联网未知攻击检测方法. 浙江大学学报(工学版)[J], 2026, 60(3): 624-632 doi:10.3785/j.issn.1008-973X.2026.03.018

LI Zhihui, DENG Kun, XU Congyuan. Method for detecting unknown IoT attack based on relational embedding. Journal of Zhejiang University(Engineering Science)[J], 2026, 60(3): 624-632 doi:10.3785/j.issn.1008-973X.2026.03.018

在物联网(IoT)领域中,由于攻击类型的多样性和复杂性,收集足够多的标注样本变得异常困难. 此外,IoT环境中的新型攻击和未知威胁不断涌现,传统的模型很难适应这种快速变化的威胁环境[1-2]. 开发能够在小样本条件下有效检测未知类别攻击的IoT入侵检测模型变得至关重要[3].

为了实现这一目标,研究者们正在探索多种方法来增强小样本物联网入侵检测模型的泛化能力. 这些方法包括元学习[4]、迁移学习[5]、数据增强[6]和类增量学习[7]. Lu等[8]提出基于与模型无关的元学习(model-agnostic meta-learning,MAML) 的元学习入侵检测方法,该方法有效解决了小样本学习样本不足的问题. Shi等[9]提出基于MAML的方法,通过引入学会遗忘(learn to forget,L2F)衰减机制,解决了MAML强制共享初始化导致任务之间发生冲突,无法快速收敛到最优位置的问题. Yan等[10]提出通过短时傅里叶变换将一维网络流量转换为图像的新型数据处理方法. Du等[11]将小样本类增量学习应用到入侵检测系统中,提出分支融合策略的少样本类增量入侵检测系统. Di Monda等[12]针对现有网络入侵检测系统(network intrusion detection system,NIDS)在面对新攻击时需要大量恶意流量样本和完全重新训练的局限性,提出能够快速适应新攻击并及时预测的NIDS. 本文提出新的小样本物联网入侵检测方法. 该方法融合了小波变换[13]与关系嵌入[14]技术,旨在解决物联网中未知类别的攻击. 通过引入小波变换构建特征提取网络:小波残差网络(wavelet transform residual network,WTRN). 该网络由小波变换网络和ResNet[15]构成. WTRN显著提升了对可区分信息的捕捉能力,尤其在处理物联网中细微差异的攻击时,能够有效提取关键特征,为后续的检测任务提供精确的特征表示. 关系嵌入技术可以为入侵检测提供强大的分类器. 本文研究的主要创新点如下.

(1)提出基于小波变换的特征提取网络. 该网络通过引入小波变换来扩大感受野,从而增强对网络流量数据中全局信息的捕捉能力.

(2)提出利用关系嵌入作为度量的小样本分类器. 该分类器通过自相关模块将基础表示转换为更关注样本本身的特征表示,通过互相关模块将自相关表示聚合为嵌入向量,根据余弦相似度进行分类.

(3)提出用于评估模型检测未知威胁能力的指标:未知威胁响应分数(unknown threat response score, UTRS).

1. 研究方法

本文方法分为数据预处理、特征提取和网络流量分类3个部分. 对存储在PCAP文件中的原始网络流量进行预处理,将其转换为64×64像素的灰度图,以便模型进行推理. 通过所设计的特征提取网络提取每个网络流量的特征,得到样本的基础表示. 开展自相关计算和互相关计算,可以得到样本间的关系嵌入表示. 最后通过余弦相似度函数进行分类. 所提方法的总体框图如图1所示.

图 1

图 1   关系嵌入方法的总体框图

Fig.1   Overview of relational embedding method


1.1. 网络流量表示

采用网络流量可视化[11,16]的方法,将具有相同五元组(源IP、目的IP、源端口、目的端口、协议)的数据包视为一个数据流. 提取每个数据流的前16个数据包和每个数据包的前256字节作为一个样本. 每个字节的大小刚好对应0~255的灰度,可以形成16×256的矩阵. 经过矩阵变换,可以形成64×64大小的灰度图[17].

将数据包的IP和MAC地址匿名化,本文将其全部替换为0. 当数据包个数小于16和数据包长度小于256字节时,开展补0操作. 当数据包个数超过16和数据包长度超过256字节时,开展截断操作.

1.2. 特征提取

在过去的几年中,卷积神经网络(CNN)在计算机视觉领域中起着主导作用. He等[15]提出诸多基于CNN的模型. 其中,ResNet的出现极大地影响了计算机视觉领域. 为了提高模型对网络流量全局信息的捕捉能力,在ResNet12的基础上,利用小波变换设计特征提取网络:WTRN. 该网络由残差块和WTConv组成. WTRN的结构如图2所示. 接下来将详细介绍这2个组件.

图 2

图 2   WTRN 的结构图

Fig.2   Structure diagram of WTRN


残差块的具体结构如图3所示. 该残差块主要由3个卷积块组成,依次连接. 前2个卷积块相同,都是由卷积层、批归一化层和激活层组成. 最后1个卷积块由卷积层和批归一化层组成. 残差块的主要特点是残差连接. 这种连接不仅保留了原始特征信息,而且融合了学习到的特征信息,从而有效地解决了信息丢失的问题.

图 3

图 3   残差块的结构图

Fig.3   Structure diagram of residual block


WTConv的具体结构如图4所示. 该网络层使用级联小波变换分解,并在不断增大的感受野内对输入的不同频带进行一系列小核卷积.

图 4

图 4   WTConv的结构图

Fig.4   Structure diagram of WTConv


具体地,给定输入样本 X,通过逐级递归分解低频分量实现级联小波分解. 每一级分解过程可以表示为

$ {\boldsymbol{X}}_{\text{LL}}^{\left(i\right)} , {\boldsymbol{X}}_{\text{LH}}^{\left(i\right)} , {\boldsymbol{X}}_{\text{HL}}^{\left(i\right)} , {\boldsymbol{X}}_{\text{HH}}^{\left(i\right)} = {\mathrm{WT}}( {\boldsymbol{X}}_{\text{LL}}^{\left(i-1\right)} ). $

式中:$ i $表示当前层级,i−1表示上一层级;$ {\boldsymbol{X}}_{\text{LL}}^{\left(i\right)} $$ {\boldsymbol{X}}_{\text{LH}}^{\left(i\right)} $$ {\boldsymbol{X}}_{\text{HL}}^{\left(i\right)} $$ {\boldsymbol{X}}_{\text{HH}}^{\left(i\right)} $分别为第$ i $级分解的低频、水平高频、垂直高频和对角高频分量;WT(⋅)表示小波变换操作,变换后的结果为

$ {\bf{W}}{\bf{TC}}_{j,k}^{\left(d\right)}=\frac{1}{M}\sum _{m=0}^{M-1}\sum _{n=0}^{M-1}\boldsymbol{X}\left(m,n\right){\psi }_{j,k}^{\left(d\right)}\left(m,n\right), $

其中$ {1}/{{M}} $为归一化因子;$ {\boldsymbol{X}}\left(m,n\right) $为输入样本;$ {\psi }_{j,k}^{\left(d\right)}\left(m,n\right) $为小波基函数,本文使用的是Haar小波;d为小波变换的方向索引. 通过小波分解,将会使低频信息的频率分辨率增加和空间分辨率降低. 对低频分量和高频分量进行卷积计算,可由下式给出:

$ {\boldsymbol{Y}}_{\text{LL}}^{i},{\boldsymbol{Y}}_{\text{H}}^{i}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({\boldsymbol{W}}^{i},\left({\boldsymbol{X}}_{\text{LL}}^{\left(i\right)},{\boldsymbol{X}}_{\text{H}}^{\left(i\right)}\right)\right) . $

式中:$ {\boldsymbol{W}}^{i} $为当前层级深度内核的权重张量. 一般而言,增加卷积核的大小会以二次方的方式,增加参数量. 为了缓解这种情况,使用小波变换,过滤和缩小输入的低频和高频内容. 在使用逆小波变换(inverse wavelet transform,IWT)构造输出之前,对不同频率图执行小核深度卷积. 该过程由下式给出:

$ \boldsymbol{Y}=\mathrm{I}\mathrm{W}\mathrm{T}\left(\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\boldsymbol{W},\mathrm{W}\mathrm{T}\left(\boldsymbol{X}\right)\right)\right) . $

式中:X为输入张量;W$ {k}\times {k} $深度内核的权重张量,其输入通道数是X的4倍. 这个过程不仅分离了频率分量之间的卷积,而且可以使用较小的卷积核在原始输入的较大区域中计算,即增加它的感受野.

因为小波变换和逆小波变换过程是线性运算,这意味着$ \mathrm{I}\mathrm{W}\mathrm{T}\left(\boldsymbol{X}+\boldsymbol{Y}\right)=\mathrm{I}\mathrm{W}\mathrm{T}\left(\boldsymbol{X}\right)+\mathrm{I}\mathrm{W}\mathrm{T}\left(\boldsymbol{Y}\right) $,最终的结果是不同级卷积的总和. 换言之,可由下式得出:

$ {\boldsymbol{Z}}^{\left(i\right)}=\mathrm{I}\mathrm{W}\mathrm{T}\left({\boldsymbol{Y}}_{\text{LL}}^{i}+{\boldsymbol{Z}}^{\left(i+1\right)},{\boldsymbol{Y}}_{\text{H}}^{i}\right) . $

式中:$ {\boldsymbol{Z}}^{i} $为从第i级开始的聚合输出.

1.3. 网络流量分类

通过构造分类器来检测恶意流量. 提出基于关系嵌入的小样本物联网入侵检测方法,该方法采用基于度量[18-19]的学习策略,专门针对小样本学习场景来构建分类器. 度量学习的核心步骤通常包括提取样本的精确表示和通过度量函数进行分类. 采取同样的思想,设计度量框架,该度量框架专为网络流量分类量身定制. 通过计算样本的自相关表示和互相关表示,能够获得样本特征的精确表示,为后续的分类任务打下坚实基础.

目前,大多数小样本学习是以情节学习范式对模型进行训练,一个情节或任务$ {T}_{i} $由2个集合组成,分别是支持集和查询集. 这种学习范式描述了模型如何在每次迭代中给定碎片化的数据来提高能力. 具体来说,深度嵌入是在样本标签和数据有限的情况下进行学习. 这种学习范式被称为N-way K-shot分类,表示每个任务中只有N个可学习的类别,每个类别中有K个样本. 每个情节或任务$ {T}_{i} $由支持集$ {{{S}}}=\{{(x}_{\mathrm{1,1}},{c}_{\mathrm{1,1}}),({x}_{\mathrm{1,2}},{c}_{\mathrm{1,2}}),\cdots ,({x}_{N,K},{c}_{N,K})\} $和查询集$ {Q}=\{{q}_{1},{q}_{2},\cdots ,{q}_{N\times M}\} $组成,其中$ {x}_{N,K} $为第N个类别的第K个样本,$ {c}_{N,K}$为第N个类别的第K个样本标签.

提出的算法框架如图1所示,算法流程如下.

算法1 训练关系嵌入分类器
输入:任务$ T $
1 $ \theta \leftarrow $随机初始化
2 for t in {$ {T}_{1},\cdots ,{T}_{i} $} do
3  计算样本基本表示$ {{\boldsymbol{Z}}}_{{\boldsymbol{s}}} $$ {{\boldsymbol{Z}}}_{{\boldsymbol{q}}} $
4  通过$ \boldsymbol{F}=g\left(\boldsymbol{B}\right)+\boldsymbol{Z} $计算自相关表示$ {{\boldsymbol{F}}}_{{\boldsymbol{s}}} $$ {{\boldsymbol{F}}}_{{\boldsymbol{q}}} $
5  计算互相关张量$ {{\boldsymbol{A}}}_{{\boldsymbol{s}}} $$ {{\boldsymbol{A}}}_{{\boldsymbol{q}}} $
6  通过$ {{\boldsymbol{A}}}_{{\boldsymbol{s}}}、{{\boldsymbol{F}}}_{{\boldsymbol{s}}} $$ {{\boldsymbol{A}}}_{{\boldsymbol{q}}}、{{\boldsymbol{F}}}_{{\boldsymbol{q}}} $计算最终嵌入sq
7  通过L$ ={L}_{\mathrm{a}\mathrm{n}\mathrm{c}\mathrm{h}\mathrm{o}\mathrm{r}}+\lambda {L}_{\mathrm{m}\mathrm{e}\mathrm{t}\mathrm{r}\mathrm{i}\mathrm{c}} $计算损失函数
8  通过$ \nabla L $更新$ \theta $
9 end for

给定一对支持集样本和查询集样本,通过设计的特征提取器提供基本表示$ {\boldsymbol{Z}}_{\boldsymbol{s}} $$ {\boldsymbol{Z}}_{\boldsymbol{q}}\in {\mathbf{R}}^{{H}\times {W}\times {C}} $. 自相关模块通过卷积方式分析流量基本表示的特征相关性,将基本表示转换为自相关表示$ {\boldsymbol{F}}_{\boldsymbol{s}} $$ {\boldsymbol{F}}_{\boldsymbol{q}}\in {\mathbf{R}}^{{H}\times {W}\times {C}} $. 互相关模块利用自相关表示来生成共同注意力图$ {\boldsymbol{A}}_{\boldsymbol{s}} $$ {\boldsymbol{A}}_{\boldsymbol{q}}\in {\mathbf{R}}^{{H}\times {W}} $,它们提供了聚合$ {\boldsymbol{F}}_{\boldsymbol{q}} $$ {\boldsymbol{F}}_{\boldsymbol{s}} $到图像嵌入qs时的空间注意力权重.

1.4. 自相关模块

自相关模块接收来自特征提取器生成的样本基本表示,并将其转换为充分关注样本本身的特征表示. 该特征表示不仅可以分析不同流量之间的特征相关性,还可以为互相关模块提供可靠的输入. 如图5(a)所示为自相关模块的具体结构.

图 5

图 5   自相关模块和互相关模块的结构图

Fig.5   Structural diagram of self-correlation module and cross-correlation module


给定基本表示$ \boldsymbol{Z}\in {\mathbf{R}}^{H\times W\times C} $,计算C维向量在每个位置$ {\boldsymbol{x}}\in \left[1,H\right]\times [1,W] $及其邻域的Hadamard积,并将它们收集为自相关张量$ \boldsymbol{B}\in {\mathbf{R}}^{H\times W\times U\times V\times C} $. 通过滥用符号,张量B可以表示为具有C维向量输出的函数:

$ \boldsymbol{B}\left({\boldsymbol{x}},{\boldsymbol{p}}\right)=\frac{\boldsymbol{Z}\left({\boldsymbol{x}}\right)}{\left|\right|\boldsymbol{Z}\left({\boldsymbol{x}}\right)\left|\right|}\odot \frac{\boldsymbol{Z}({\boldsymbol{x}}+{\boldsymbol{p}})}{\left|\right|\boldsymbol{Z}({\boldsymbol{x}}+{\boldsymbol{p}})\left|\right|} . $

式中:$ {\boldsymbol{p}} $对应于邻域窗口中的相对位置,$ {\boldsymbol{p}}\in \left[-{d}_{U},{d}_{U}\right]\times [-{d}_{V},{d}_{V}] $,使得$ 2{d}_{U}+1=U $$ 2{d}_{V}+1=V $.

图5(a)所示,为了提高计算效率,卷积块遵循瓶颈结构,它由1个用于减小通道尺寸的逐点卷积层、2个用于变换的3×3卷积层和另一个用于通道大小恢复的逐点卷积层组成. 卷积块g(.)逐渐聚合局部相关模式而无须填充,从而将自相关张量的空间维度从U×V减小到1×1,使得输出g(B)和Z的大小相同. 自相关表示F可由下式得出:

$ \boldsymbol{F}=g\left(\boldsymbol{B}\right)+\boldsymbol{Z} . $

1.5. 互相关模块

互相关模块利用支持集样本和查询集样本的自相关表示作为输入对,并生成相应的注意力图$ {\boldsymbol{A}}_{{\boldsymbol{s}}} $$ {\boldsymbol{A}}_{{\boldsymbol{q}}} $. 空间注意力图用于将每个自相关表示聚合为嵌入向量. 如图5(b)所示为互相关模块的具体结构.

使用逐点卷积层,将支持集样本和查询集样本的自相关表示$ {\boldsymbol{F}}_{{\boldsymbol{s}}} $$ {\boldsymbol{F}}_{{\boldsymbol{q}}}\in {\mathbf{R}}^{H\times W\times C} $转换为更紧凑的表示,将其通道维度C减少到C'. 根据输出$ {\boldsymbol{F}'}_{{\boldsymbol{s}}} $$ {\boldsymbol{F}'}_{{\boldsymbol{q}}}\in {\mathbf{R}}^{H\times W\times C'} $,可以构建4维相关张量$ \boldsymbol{C}\in {\mathbf{R}}^{H\times W\times H\times W} $

$ \boldsymbol{C}\left({{\boldsymbol{x}}}_{{\boldsymbol{s}}},{{\boldsymbol{x}}}_{{\boldsymbol{q}}}\right)=\mathrm{s}\mathrm{i}\mathrm{m}\left({{\boldsymbol{F}'}_{{\boldsymbol{s}}}\left({\boldsymbol{x}}_{{\boldsymbol{s}}}\right),\boldsymbol{F}'}_{{\boldsymbol{q}}}\right({\boldsymbol{x}}_{{\boldsymbol{q}}}\left)\right) . $

式中:$ {\boldsymbol{x}}_{\boldsymbol{s}} $${\boldsymbol{x}}_{\boldsymbol{q}} $分别为支持集和查询集特征图上的空间位置,$ \mathrm{s}\mathrm{i}\mathrm{m} $为2个特征之间的余弦相似度.

由于小样本学习设置中存在较大的外观变化,互相关张量C可能包含不可靠的相关性. 为了消除这种歧义,可以采用匹配卷积过程,它通过4维卷积来细化张量,张量上的4维卷积通过分析4维空间中相邻匹配的一致性来起到几何匹配的作用. 如图5(b)所示,卷积匹配块由2个4维卷积层组成. 第1个卷积产生具有多个匹配内核的多相关张量,将通道大小增加到$ {C}_{\text{l}} $. 第2个卷积将它们聚合为单个4维张量,通道大小由$ {C}_{\text{l}} $减小到1,即$ \hat{{\boldsymbol{C}}}=h\left(\boldsymbol{C}\right)\in {\mathbf{R}}^{H\times W\times H\times W} $.

通过精细化张量$ \hat{{\boldsymbol{C}}} $可以生成共同注意力图$ {\boldsymbol{A}}_{{\boldsymbol{s}}} $$ {\boldsymbol{A}}_{{\boldsymbol{q}}} $,它们揭示了支持集样本和查询集样本之间的相关内容. 查询集样本的注意力图$ {\boldsymbol{A}}_{{\boldsymbol{q}}}\in {\mathbf{R}}^{H\times W} $通过下式计算:

$ {\boldsymbol{A}}_{{\boldsymbol{q}}}\left({\boldsymbol{x}}_{{\boldsymbol{q}}}\right)=\frac{1}{HW}\sum _{{{\boldsymbol{x}}}_{{\boldsymbol{s}}}}\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left(\hat{{\boldsymbol{C}}}\right({{\boldsymbol{x}}}_{{\boldsymbol{q}}},{{\boldsymbol{x}}}_{{\boldsymbol{s}}})/\gamma )}{{\displaystyle \sum }_{{{\boldsymbol{x}}}_{{\boldsymbol{q}}}'}\mathrm{e}\mathrm{x}\mathrm{p}\left(\hat{{\boldsymbol{C}}}\right({{\boldsymbol{x}}}_{{\boldsymbol{q}}}',{{\boldsymbol{x}}}_{{\boldsymbol{s}}})/\gamma )} . $

式中:$ {{\boldsymbol{x}}}_{{\boldsymbol{q}}} $为查询集特征图上的位置,$ {{\boldsymbol{x}}}_{{\boldsymbol{q}}}' $为除当前位置外的其他位置,$ \gamma $为温度因子,$ \hat{{\boldsymbol{C}}}({{\boldsymbol{x}}}_{{\boldsymbol{q}}},{{\boldsymbol{x}}}_{{\boldsymbol{s}}}) $为位置$ {{\boldsymbol{x}}}_{{\boldsymbol{q}}} $$ {{\boldsymbol{x}}}_{{\boldsymbol{s}}} $之间的匹配分数. 总的来说,该公式的作用是计算查询集特征图中每个位置$ {{\boldsymbol{x}}}_{{\boldsymbol{q}}} $的注意力,该值表示$ {{\boldsymbol{x}}}_{{\boldsymbol{q}}} $与支持集特征图中所有位置的匹配程度的平均概率. 类似地,$ {\boldsymbol{A}}_{{\boldsymbol{s}}} $通过上述方式进行计算.

为了获得查询集样本的最终嵌入($ \boldsymbol{q}\in {\mathbf{R}}^{C} $),通过$ {\boldsymbol{F}}_{{\boldsymbol{q}}}\in {\mathbf{R}}^{H\times W\times C} $的每个位置与空间注意力图$ {\boldsymbol{A}}_{{\boldsymbol{q}}}\in {\mathbf{R}}^{H\times W} $相乘,随后执行池化操作,以整合信息:

$ \boldsymbol{q}=\sum _{{{\boldsymbol{x}}}_{{\boldsymbol{q}}}}{\boldsymbol{A}}_{{\boldsymbol{q}}}\left({{\boldsymbol{x}}}_{{\boldsymbol{q}}}\right){\boldsymbol{F}}_{{\boldsymbol{q}}}\left({{\boldsymbol{x}}}_{{\boldsymbol{q}}}\right) . $

支持集样本的最终嵌入计算方式类似,通过$ {\boldsymbol{A}}_{{\boldsymbol{s}}} $与支持集特征图$ {\boldsymbol{F}}_{{\boldsymbol{s}}} $相乘,然后进行池化:

$ \boldsymbol{s}=\sum _{{{\boldsymbol{x}}}_{{\boldsymbol{s}}}}{\boldsymbol{A}}_{{\boldsymbol{s}}}\left({{\boldsymbol{x}}}_{{\boldsymbol{s}}}\right){\boldsymbol{F}}_{{\boldsymbol{s}}}\left({{\boldsymbol{x}}}_{{\boldsymbol{s}}}\right) . $

1.6. 损失函数

结合基于锚点的分类损失$ {L}_{\text{anchor}} $和基于度量的分类损失$ {L}_{\mathrm{m}\mathrm{e}\mathrm{t}\mathrm{r}\mathrm{i}\mathrm{c}} $,优化模型的参数. $ {L}_{\mathrm{a}\mathrm{n}\mathrm{c}\mathrm{h}\mathrm{o}\mathrm{r}} $是在基本表示$ {\boldsymbol{z}}_{{\boldsymbol{q}}} $之上使用全连接分类来计算的. 该损失引导模型正确分类$ c $个类别的查询集样本:

$ L_{\text {anchor }}=-\ln \dfrac{\exp \left(\boldsymbol{w}_c^{\mathrm{T}} \boldsymbol{Z}_{\boldsymbol{q}}+\boldsymbol{b}_c\right)}{{\displaystyle \sum}_{c^{\prime}=1}^{\left|C_{\text {train }}\right|} \exp \left(\boldsymbol{w}_{c^{\prime}}^{\mathrm{T}} \boldsymbol{Z}_{\boldsymbol{q}}+\boldsymbol{b}_{c^{\prime}}\right)} . $

式中:$ [{\boldsymbol{w}}_{1}^{{\mathrm{T}}},{\cdots ,\boldsymbol{w}}_{\left|{C}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}}\right|}^{{\mathrm{T}}}] $$ [{\boldsymbol{b}}_{1},\cdots ,{\boldsymbol{b}}_{\left|{C}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}}\right|}] $分别为全连接层中的权重和偏置. 通过查询集和支持集原型嵌入之间的余弦相似度,计算基于度量的损失$ : $

$ L_{\text {metric }}=-\ln \frac{\exp \left(\operatorname{sim}\left({\boldsymbol{s}}^{(n)}, {\boldsymbol{q}}^{(n)}\right) / \tau\right)}{{\displaystyle \sum}_{n^{\prime}=1}^N \exp \left(\operatorname{sim}\left({\boldsymbol{s}}^{\left(n^{\prime}\right)}, {\boldsymbol{q}}^{\left(n^{\prime}\right)}\right) / \tau\right)} . $

式中:$ \tau $为标量温度因子,$ {\boldsymbol{s}}^{\left(n\right)} $为第n个类别的原型嵌入,$ {\boldsymbol{q}}^{\left(n\right)} $同理.

最终的损失函数为

$ L={L}_{\mathrm{a}\mathrm{n}\mathrm{c}\mathrm{h}\mathrm{o}\mathrm{r}}+\lambda {L}_{\mathrm{m}\mathrm{e}\mathrm{t}\mathrm{r}\mathrm{i}\mathrm{c}} . $

式中:$ \lambda $为平衡损失的超参数.

2. 实验与分析

2.1. 数据集

采用2个公开的数据集来评估本文模型,分别是来自加拿大网络安全研究所的CICIOT2023[20]和来自新南威尔士大学的BotIoT[21].

针对原始网络流量进行研究,通过数据预处理,将网络流量转换为模型能够学习的数据类型. 对于CICIOT2023数据集,选择28种类别作为训练类别,6种类别作为测试类别. 测试集类别分别为DDoS-SynonymousIP_Flood、DDoS-UDP_Flood、Mirai-greeth_Flood、MITM-ArpSpoofing、Recon-OSScan和DoS-TCP_Flood. 对于BotIoT数据集来说,数据集共有10种攻击类别,选出5种作为训练类别,将剩余5种作为测试类别. 测试集类别分别为DDoS_HTTP、DDoS_UDP、DoS_TCP、Scan_OS和Theft_Data_Exfiltration. 只给出实验所需的测试集类别,训练集类别为除去测试类别外的所有类别.

2.2. 实验设置

实验均在Ubuntu20.04系统上进行,使用NVIDIA RTX3090显卡(24 GB)、Intel(R) Xeon(R) Platinum 8362 CPU @ 2.80 GHz CPU. 实验环境为Python 3.8、PyTorch 1.10.0、CUDA11.3. 实验超参数的设置如下:周期为5,任务轮次为1 500,批大小为6,学习率为0.1,$ \tau $为0.2,$ \lambda $为0.2.

设置2组实验来验证提出的方法,如下所示.

1) 分别在CICIOT2023和BotIoT数据集上验证所提方法在5-way 5-shot和5-way 10-shot设置下模型对未知类别样本的检测精确率、召回率和F1.

2) 使用基于深度学习和原型网络的算法,在CICIOT2023和BotIoT数据集上进行未知类别样本检测的实验,并与所提方法进行对比.

2.3. 实验结果

使用4个指标来评估本文模型,分别是准确率Ac、精确率Pr、召回率ReF1.

图67所示为模型对未知类别攻击的检测精确率、召回率和F1. 分别在CICIOT2023数据集和BotIoT数据集上,对未知类别攻击进行精确率、召回率和F1的检测. 从图6可以看出,提出模型对DDoS_UDP_Flood攻击的检测召回率和对Mirai-greeth_Flood攻击的检测精确率较低,对于其余攻击类型都有着不错的检测结果. 当面对DDoS_UDP_Flood攻击时,在10shot设置下的检测召回率仅为81.75%. 可知,在所有实际发生的DDoS_UDP_Flood攻击中,模型能够成功识别并召回的比例不足83.1%,仍有部分攻击未能被及时发现,存在一定的漏检风险. 在针对Mirai-greeth_Flood攻击的检测中,在5shot设置下模型的精确率仅为78.64%,表明模型所识别出的Mirai-greeth_Flood攻击中,有超过21.4%的误判情况,即存在将其他流量错误判定为Mirai-greeth_Flood流量的可能性,这可能会导致不必要的防御响应和资源浪费. 在BotIoT数据集上,对未知类别的攻击都有不错的检测效果.

图 6

图 6   在CICIOT2023数据集上对未知攻击的检测结果

Fig.6   Detection result of unknown attack on CICIOT2023 dataset


图 7

图 7   在BotIoT数据集上对未知攻击的检测结果

Fig.7   Detection result of unknown attack on BotIoT dataset


实验2的结果如表1所示. 使用基于CNN和DNN的方法,在构建的小样本数据集上进行测试. 其中,基于CNN的方法在CICIOT2023数据集上的检测准确率为15.09%,基于DNN的方法在CICIOT2023数据集上的检测准确率为14.24%. 在5-way 5-shot设置下,使用原型网络算法在CICIOT2023数据集上的检测准确率为92.58%;在5-way 10-shot设置下,在CICIOT2023数据集上的检测准确率是92.52%. 基于深度学习的方法在未知类别样本上的泛化能力不足,当面对新型攻击时需要耗费非常大的时间金钱成本, 难以满足当今复杂多变的物联网环境. 使用小样本算法来应对现实世界中出现的新型攻击是非常有效的.

表 1   在CICIOT2023数据集上与深度学习方法对比的结果

Tab.1  Result of comparison with deep learning method on CICIOT2023 dataset

方法实验设置Ac/%
DNNN/A14.24
CNNN/A15.09
Swin_transformer5-way 5-shot91.13
Swin_transformer5-way 10-shot91.96
原型网络5-way 5-shot92.58
原型网络5-way 10-shot92.52
本文方法5-way 5-shot93.50
本文方法5-way 10-shot93.12

新窗口打开| 下载CSV


为了验证提出的WTRN特征提取器,分别在CICIOT2023和BotIoT数据集上进行消融实验. 实验主要在5-way 5-shot和5-way 10-shot设置下开展. 实验结果如表2所示. 可以看出,使用WTRN作为特征提取器,在2个数据集上的准确率都有明显的提升. 在CICIOT2023数据集上,在5-way 5-shot设置下的准确率提高了1.68%,在5-way 10-shot设置下的准确率提高了0.5%. 在BotIoT数据集上,在5-way 5-shot设置下的准确率提高了0.74%,在5-way 10-shot设置下的准确率提高了0.6%. 为了对比WTRN作为特征提取器的优势,使用Swin_transformer作为特征提取器,在相同实验条件下进行实验. 结果如表1所示. 可以看出,Swin_transformer在CICIOT2023和BotIoT数据集上的检测准确率都小于WTRN.

表 2   所提方法的消融实验

Tab.2  Ablation study of proposed method

数据集方法实验设置Ac /%
CICIOT2023Baseline5-way 5-shot91.82
Baseline5-way 10-shot92.62
+ WTConv5-way 5-shot93.50
+ WTConv5-way 10-shot93.12
BotIoTBaseline5-way 5-shot98.56
Baseline5-way 10-shot98.73
+ WTConv5-way 5-shot99.30
+ WTConv5-way 10-shot99.33

新窗口打开| 下载CSV


2.4. 比较与讨论

为了能够更全面地与其他研究工作进行对比,在CICIDS2017[22]数据集上开展对未知类别检测的实验. 选取CICIDS2017数据集中的5种攻击和良性流量作为实验对象. 为了满足5-way K-shot范式,每次选择一种攻击作为未知类别,对于每种设置,开展5组平行实验. 取5组实验的平均检测准确率作为最终的结果.

表3所示,从数据集、分类设置和准确率3个方面列举了其他研究人员的结果并比较. 其中,文献[8]与本文研究较类似,从数据集角度来看,Lu等[8]对CSV中的样本进行处理,通过整理NSL-KDD、CICDDoS2019和CICIDS2017等5种数据集,构建适用于小样本物联网入侵检测的数据集,研究模型对未知类别样本检测的实验. 对PCAP中的样本进行处理,分别在CICIOT2023和BotIoT数据集上构建适用于小样本物联网入侵检测的数据集,并分别进行实验. 与文献[8]相同的是,最终都是将样本转换为更易处理的图像数据. 从小样本学习的技术路线来看,Lu等[8-9]遵循基于参数优化的元学习范式,Wang等[23]与本研究基于度量学习框架. 从检测目标来看,Zhao等[24-25]使用基于深度学习的方法对已知类别攻击进行检测,本文方法主要针对未知类别攻击. 虽然对未知类别攻击的检测难度更高,但从结果来看,本文方法更优.

表 3   提出方法和相关研究工作的比较

Tab.3  Comparative analysis between proposed method and related works

方法数据集物联网数据集实验设置Ac/%UTRS
LNN[24]BotIoTYN/A96.150.0003
L2F+MAML[9]CICIDS2017N2-way 10-shot94.6610.00
MAML+CNN[8]FSIDSIOTY5-way 5-shot89.6428.91
MAML+CNN[8]FSIDSIOTY5-way 10-shot92.1918.16
IPN-IDS[23]CICIDS2017N5-way 5-shot84.9425.57
IPN-IDS [23]CICIDS2017N5-way 10-shot86.3515.21
CIDIOT[25]CICIOT2023YN/A77.200.017
本文方法CICIDS2017N5-way 5-shot98.8231.41
本文方法CICIDS2017N5-way 10-shot98.8919.08
本文方法BotIoTY5-way 5-shot99.3034.89
本文方法BotIoTY5-way 10-shot99.3322.49
本文方法CICIOT2023Y5-way 5-shot93.5029.91
本文方法CICIOT2023Y5-way 10-shot93.1218.16

新窗口打开| 下载CSV


考虑现有的评估指标没有反映样本数量和未知攻击对检测准确率的影响,为了更好地评估基于相同数据集不同算法之间的差异,定义新的指标:未知威胁响应分数.

$ \text{UTRS}={A}_{\mathrm{c}} {\mathrm{lg}}\;\left(1+{N}/{K}\right)+\lambda {e}/{E} . $

式中:N为每个任务中的类别数,K为每个类别中的样本数,$ \lambda $为指示系数,e为测试集中的未知类别数, E为数据集中总的类别数. 考虑到样本数量对准确率有显著影响,对N/K进行对数变换,以防止UTRS出现过度化差异.

为了确保UTRS对未知威胁检测能力的敏感性,需要满足第2项($ \lambda {e}/{E} $)的贡献显著高于第1项($ {A}_{\mathrm{c}} {\mathrm{lg}}\;(1+{N}/{K}) $). 为此,约束条件为

$ \lambda {e}/{E}\geqslant \mathrm{m}\mathrm{a}\mathrm{x}\left({A}_{\text{c}} {\mathrm{lg}}\;\left(1+{N}/{K}\right)\right) . $

在实验设置中,$ {N}/{K}\in \left\{\mathrm{0.2,0.5,1}\right\} $,对应$ {\mathrm{lg}}\left(1+\right. \left.{N}/{K}\right)\approx \{0.079,0.176,0.301\} $. 在实际场景中,Ac的合理范围为[0.5,0.95],所以第1项的最大值为$ \mathrm{m}\mathrm{a}\mathrm{x} \;({A}_{\mathrm{c}} {\mathrm{lg}}\;\left(1+{N}/{K}\right))=0.95\times 0.301\approx 0.286 $. 由于数据集中$ {e}/{E}\approx 0.214 $,为了突出模型对未知威胁的检测能力,$ \lambda $取10最合理. 此时,第2项$ \lambda {e}/{E}\approx 2.14 $大于第1项$ \mathrm{m}\mathrm{a}\mathrm{x}\;({A}_{\mathrm{c}} {\mathrm{lg}}\;\left(1+{N}/{K}\right))\approx 0.286 $. 这种设计确保UTRS对未知威胁的检测能力具有强敏感性.

表3可以看出,基于传统深度学习方法和基于小样本学习方法之间有很大的差别,基于小样本学习的方法普遍得分较高,而基于传统深度学习的方法得分很低. 得分之间的差异说明基于小样本学习的模型在对未知攻击的检测中有着良好的检测效果. 此外,在相同的实验设置下,UTRS与模型对未知类别攻击的检测性能呈正相关,即UTRS越高表明模型对未知类别攻击的检测能力越强,反之则检测效果越差.

为了更全面地展现模型的性能,在其他分类设置下开展实验. 实验结果如图8所示. 如图8所示为准确率和UTRS随样本数量的变化趋势.

图 8

图 8   样本数对模型检测准确率和UTRS的影响

Fig.8   Impact of sample size on model detection accuracy and UTRS


图8可以看出,随着样本数量的增多,模型的检测准确率总体上是增高的. 在BotIoT和CICIDS2017数据集上的检测准确率没有随着样本数量的增多有明显的变化,在2个数据集上的检测准确率均大于98%. 在CICIOT2023数据集上,随着样本数的增多,检测准确率明显变化. 当样本数大于5时,准确率只有小幅波动,其中样本数为5时的检测准确率最高. 从图8可以看出,样本数与未知威胁响应分数的变化曲线呈现出整体下降的趋势. 由于未知威胁响应分数与样本数有极大的相关性,样本数越少,未知威胁响应分数越高,意味着模型的检测能力越强;反之,则检测能力越差. 基于小样本学习的算法在未知威胁检测方面有极大的优势.

本文方法主要针对基于流量模式异常的未知攻击检测,如DDoS攻击、端口扫描. 此类攻击通常表现为流量速率、连接频率或数据包分布等统计特征的显著变化,可以通过WTRN有效捕捉流量的全局时序及频域信息. 通过将原始流量转换为灰度图像,模型能够提取此类攻击的宏观模式差异. 对于依赖载荷内容分析的攻击检测,需要深入解析数据包负载中的语义信息. 由于本文方法基于流量统计特征及可视化处理,未直接解析载荷内容,在处理此类攻击时可能存在局限性.

3. 结 语

所提基于小波变换和关系嵌入的检测方法解决物联网环境中对未知类别攻击检测效果不佳的问题. 对原始网络流量进行一系列处理,包括特征提取、矩阵变换和可视化,将流量样本转换成64×64像素的灰度图像. 基于公开数据集,构建2个适用于小样本场景的数据集,专门针对未知类别的攻击. 利用小波变换设计增强型特征提取网络,提高了对样本全局特征的捕捉能力. 在得到样本的基本表示后,通过自相关模块和互相关模块的计算,可以得到样本最终的嵌入表示. 最终通过余弦相似度函数进行分类. 实验结果证明,利用提出的方法,能够在小样本条件下有效地检测未知类别的攻击,显示出了良好的泛化能力. 本研究缺乏在真实网络攻击场景中的应用测试,目前还没有评估在物联网环境中的实际效果. 另外,没有考虑模型计算的开销,由于物联网设备资源受限,须进一步优化模型的计算和存储开销. 进一步的研究方向是探索基于边缘计算的实时入侵检测框架,以降低检测延迟并提升部署灵活性.

参考文献

DAI B, WANG Y, YE C, et al

A novel method for extracting time series information of deformation area of a single landslide based on improved U-Net neural network

[J]. Frontiers in Earth Science, 2021, 9: 785476

DOI:10.3389/feart.2021.785476      [本文引用: 1]

CHEN D, ZHANG F, ZHANG X

Heterogeneous IoT intrusion detection based on fusion word embedding deep transfer learning

[J]. IEEE Transactions on Industrial Informatics, 2023, 19 (8): 9183- 9193

DOI:10.1109/TII.2022.3227640      [本文引用: 1]

HE M S, HUANG Y M, WANG X L, et al

A lightweight and efficient IoT intrusion detection method based on feature grouping

[J]. IEEE Internet of Things Journal, 2024, 11 (2): 2935- 2949

DOI:10.1109/JIOT.2023.3294259      [本文引用: 1]

FINN C, ABBEEL P, LEVINE S. Model-agnostic meta-learning for fast adaptation of deep networks [C]//Proceedings of the International Conference on Machine Learning. New York: ACM, 2017: 1126-1135.

[本文引用: 1]

ZHUANG F, QI Z, DUAN K, et al

A comprehensive survey on transfer learning

[J]. Proceedings of the IEEE, 2021, 109 (1): 43- 76

DOI:10.1109/JPROC.2020.3004555      [本文引用: 1]

WANG Y, XU C, LIU C, et al. Instance credibility inference for few-shot learning [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 12833–12842.

[本文引用: 1]

ZHAO L, LU J, XU Y, et al. Few-shot class-incremental learning via class-aware bilateral distillation [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE, 2023: 11838–11847.

[本文引用: 1]

LU C M, WANG X F, YANG A M, et al

A few-shot-based model-agnostic meta-learning for intrusion detection in security of Internet of Things

[J]. IEEE Internet of Things Journal, 2023, 10 (24): 21309- 21321

DOI:10.1109/JIOT.2023.3283408      [本文引用: 7]

SHI Z X, XING M Y, ZHANG J, et al. Few-shot network intrusion detection based on model-agnostic meta-learning with L2F method [C]//Proceedings of the IEEE Wireless Communications and Networking Conference. Glasgow: IEEE, 2023: 1–6.

[本文引用: 3]

YAN Y, YANG Y, GU Y, et al. A few-shot intrusion detection model for the Internet of Things [C]//Proceedings of the 3rd International Conference on Electronic Information Engineering and Computer Science. Changchun: IEEE, 2024: 531–537.

[本文引用: 1]

DU L, GU Z Q, WANG Y, et al

A few-shot class-incremental learning method for network intrusion detection

[J]. IEEE Transactions on Network and Service Management, 2024, 21 (2): 2389- 2401

DOI:10.1109/TNSM.2023.3332284      [本文引用: 2]

DI MONDA D, MONTIERI A, PERSICO V, et al

Few-shot class-incremental learning for network intrusion detection systems

[J]. IEEE Open Journal of the Communications Society, 2024, 5: 6736- 6757

DOI:10.1109/OJCOMS.2024.3481895      [本文引用: 1]

FINDER S E, AMOYAL R, TREISTER E, et al. Wavelet convolutions for large receptive fields [C]// Proceedings of the European Conference on Computer Vision. Madrid: Springer, 2024: 363–380.

[本文引用: 1]

KANG D, KWON H, MIN J, et al. Relational embedding for few-shot classification [C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 8802–8813.

[本文引用: 1]

HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770–778.

[本文引用: 2]

XU C, SHEN J, DU X

A method of few-shot network intrusion detection based on meta-learning framework

[J]. IEEE Transactions on Information Forensics and Security, 2020, 15: 3540- 3552

DOI:10.1109/TIFS.2020.2991876      [本文引用: 1]

YANG J C, LI H W, SHAO S, et al

FS-IDS: a framework for intrusion detection based on few-shot learning

[J]. Computers and Security, 2022, 122: 102899

DOI:10.1016/j.cose.2022.102899      [本文引用: 1]

SNELL J, SWERSKY K, ZEMEL R S. Prototypical networks for few-shot learning [C]//Proceedings of the Neural Information Processing Systems. Long Beach: [s. n. ], 2017: 4080-4090.

[本文引用: 1]

SIMON C, KONIUSZ P, NOCK R, et al. Adaptive subspaces for few-shot learning [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 4135–4144.

[本文引用: 1]

NETO E C P, DADKHAH S, FERREIRA R, et al

CICIoT2023: a real-time dataset and benchmark for large-scale attacks in IoT environment

[J]. Sensors, 2023, 23 (13): 5941

DOI:10.3390/s23135941      [本文引用: 1]

KORONIOTIS N, MOUSTAFA N, SITNIKOVA E, et al

Towards the development of realistic botnet dataset in the Internet of Things for network forensic analytics: bot-IoT dataset

[J]. Future Generation Computer Systems, 2019, 100: 779- 796

DOI:10.1016/j.future.2019.05.041      [本文引用: 1]

DRAPER-GIL G, LASHKARI A H, MAMUN M S I, et al. Characterization of encrypted and VPN traffic using time-related features [C]//Proceedings of the 2nd International Conference on Information Systems Security and Privacy. Portugal: SciTEPress, 2016: 407-414.

[本文引用: 1]

WANG Y, ZHANG Z, ZHAO K, et al

A few-shot learning based method for industrial Internet intrusion detection

[J]. International Journal of Information Security, 2024, 23 (5): 3241- 3252

DOI:10.1007/s10207-024-00889-x      [本文引用: 3]

ZHAO R J, GUI G, XUE Z, et al

A novel intrusion detection method based on lightweight neural network for internet of things

[J]. IEEE Internet of Things Journal, 2021, 9 (12): 9960- 9972

[本文引用: 2]

YAO W, ZHAO H, SHI H

Privacy-preserving collaborative intrusion detection in edge of internet of things: a robust and efficient deep generative learning approach

[J]. IEEE Internet of Things Journal, 2023, 11 (9): 15704- 15722

[本文引用: 2]

/