一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种高速网络中轻量级的物联网设备识别方法

2022-06-29 14:08:03 来源:中国专利 TAG:


1.本发明涉及一种高速网络中轻量级的物联网设备识别方法,属于网络安全技术领域。


背景技术:

2.物联网(iot)是一种通过互联网连接各种物体并提供服务的机制,能够实时采集指定对象的属性和变化信息,实现了对物品和过程的智能化感知、识别、监控和管理。如今,随着硬件与数据分析能力的共同发展、网络性能的大幅提高,物联网解决方案的发展正进行着实质性加速。然而,由于物联网覆盖行业和应用的多样,接入终端所使用协议和标准的不统一,用户安全意识的缺乏,物联网具有异构性、碎片化以及缺乏可视性的特点,面临着僵尸网络、恶意软件攻击等一系列安全威胁,给网络性能造成不良影响。
3.因此,互联网服务提供商(isp)有必要在充分考虑消费者隐私的前提下,了解物联网设备的状态,提高设备的可视性,从而实现精准管理,尽早发现异常。物联网设备识别是将物联网设备产生的信息进行提取和分析、标定设备的相关属性信息的过程,是实现定制化网络管理、进行异常检测的基础。
4.目前,研究者们已经提出了一系列物联网设备识别方法,根据所依据特征的来源的不同,物联网设备识别方法主要分为基于协议标语的识别方法和基于流量特征的识别方法。但是这些方法仍存在一些局限性。
5.(1)基于协议标语的识别方法
6.基于协议标语的识别方法通过提取应用层协议的响应数据中的字段来获取物联网设备的属性信息进而识别设备,然而,此类方法依赖于协议响应数据中的关键字信息。此外,提取协议标语的文本特征会造成更大的存储开销和时间开销,不便于面向高速网络流量识别其中的物联网设备流量。
7.(2)基于流量特征的识别方法
8.基于流量特征的识别方法从流量的内容、模式和元数据中提取有效特征构建流量分类模型。该类方法需要预先在近百个流量特征中选择最重要的多个特征,分类准确率取决于所使用特征是否准确概括流量特征。并且,面对具有海量流量数据的高速网络,提取多个特征需要耗费大量资源。


技术实现要素:

9.为解决上述问题,本发明公开了一种高速网络中轻量级的物联网设备识别方法,该方法首先采集物联网设备正常工作时的流量,对流量进行处理,根据数据包的到达时间间隔计算出物联网设备在数据传输时的周期时长。然后,基于各物联网设备的周期时长,为每个物联网设备选择能够精准表征流量周期性的特征提取时间粒度,并将相同时间粒度的物联网设备归于一类。随后,根据不同类别的时间粒度和周期时长,对每个物联网设备类别分别进行特征提取,得到单一特征序列。最后,利用有监督的深度学习方法分别训练每个类
别对应的轻量级神经网络模型,得到针对不同特征提取时间粒度的分类模型。该分类模型可以用于识别高速网络中的物联网设备流量。本发明可在合理的时间内实现对海量高速流量中物联网设备流量的识别,可用于网络流量分析和网络管理。
10.为了实现本发明的目的,本方案具体技术步骤如下:
11.步骤(1)通过数据采集设备进行物联网设备流量采集;
12.步骤(2)对物联网设备流量进行处理,计算每个物联网设备的周期时长;
13.步骤(3)根据步骤(2)得到的周期时长,为每个物联网设备选择特征提取的时间粒度,并将相同时间粒度的物联网设备归为一类;
14.步骤(4)根据步骤(3)得到的物联网设备类别以及各个类别中物联网设备的周期时长,为每个类别设定时间窗口,基于时间粒度和时间窗口进行特征提取,得到单一特征序列;
15.步骤(5)使用一段公开数据集数据作为背景流量,根据步骤(4)中的时间粒度和时间窗口进行特征提取,与相同时间粒度和时间窗口的物联网设备特征序列共同构成训练集,使用有监督深度学习算法对不同训练集分别进行模型训练,得到对应分类模型;
16.步骤(6)分别使用步骤(4)中的不同类别的时间粒度和时间窗口,对高速网络中的流量进行特征提取,使用步骤(5)得到的各时间粒度下的分类模型对高速网络流量中的物联网设备流量进行识别。
17.进一步的,所述步骤(1)中,获取物联网设备流量的方法如下:
18.(1.1)配置流量采集环境,依次接入物联网设备,使用tcpdump采集物联网设备流量;
19.(1.2)流量采集时,保持物联网设备工作状态处于空闲状态或者活动状态。
20.进一步的,所述步骤(2)中,计算物联网设备周期时长的具体过程如下:
21.(2.1)对步骤(1)中获取的各物联网设备流量进行组流,获得五元组相同的单向流;使用wireshark初步观察流量的变化情况,得到粗略的活跃时间长度和空闲时间长度,设定一个略小于观察所得空闲时间长度的值作为间隔阈值gap;
22.(2.2)依次读取构成单向流的数据包(源ip、源端口、目的ip、目的端口和传输层协议相同),记录当前数据包的时间戳;
23.(2.3)判断周期开始时间是否为0,若为0,则返回进行(2.2);若不为0,则计算当前数据包与上一个数据包时间戳的差值;
24.(2.4)判断差值是否大于间隔阈值gap,若差值小于间隔阈值,则返回进行(2.2);若差值大于间隔阈值,则记录此差值为空闲时间t
idle
,并计算上一个数据包时间戳与周期开始时间的差值,记录此差值为活跃时间t
active
;输出此周期的t
active
和t
idle
,令周期开始时间为当前数据包的时间戳,进行(2.2),直至该流结束;
25.(2.5)当读取完单向流的全部数据包,计算t
active
和t
idle
的平均值;将二者的平均值求和,得到该物联网设备数据传输过程中一个周期的平均时长。
26.进一步的,所述步骤(3)中,选择特征提取的时间粒度的具体步骤如下:
27.(3.1)基于步骤(2)中获取的周期时长,根据原则确定对物联网设备流量进行特征提取时的时间粒度,原则如下:时间粒度的数量级应该小于周期时长的数量级,时间粒度的长度不应小于周期时长的一千分之一,时间粒度的长度应该为10的n次方;
28.(3.2)将相同时间粒度的物联网设备归为同一类别。
29.进一步的,所述步骤(4)中,进行特征提取获得单一特征序列具体包含以下子步骤:
30.(4.1)对于步骤(3)中获得的不同时间粒度的物联网设备类别,根据原则确定该物联网设备类别的时间窗口,原则如下:时间窗口至少包含类别内每个物联网设备的两个周期;
31.(4.2)对同一个类别的物联网设备逐一进行特征提取:读取时间窗口内构成单向流的数据包,依次计算时间粒度长度内的单一流量特征,得到单一流量特征序列。
32.进一步的,所述步骤(5)中,训练分类模型具体包含以下子步骤:
33.(5.1)获取一段公开数据集数据作为训练集背景流量,使用步骤(4)的各时间粒度和时间窗口提取背景流量的单一特征序列,与相同时间粒度的物联网设备流量的单一特征序列共同构成该时间粒度下的训练集;
34.(5.2)对于每一个物联网设备类别,使用有监督的深度学习算法训练其对应的轻量级分类模型。
35.进一步的,所述步骤(6)中,高速网络中物联网设备的识别具体包含以下子步骤:
36.(6.1)采集高速网络中的流量;
37.(6.2)使用步骤(4)的各类别的时间粒度和时间窗口,分别提取高速网络流量的单一特征序列;
38.(6.3)将各时间粒度和时间窗口的高速网络流量特征序列作为模型的输入样本,使用步骤(5)训练得到的相同时间粒度和时间窗口的分类模型识别其中的物联网设备流量。
39.与现有技术相比,本发明的技术方案具有以下优点:
40.(1)本发明提出了一种高速网络中轻量级的物联网设备识别方法,以单向流作为分析对象,适用于非对称路由场景,并且仅提取一个流量特征,减少了特征提取过程的资源消耗,通过训练轻量级神经网络模型实现了在高速网络流量中对物联网设备流量的实时识别,具有较强的实用性。
41.(2)本发明提出了一种计算物联网设备周期长度的算法,该算法使周期时长精确到0.1毫秒,能够在物联网设备的空闲状态和活动状态下计算数据传输时的周期时长,具有较强的鲁棒性。
42.(3)本发明基于物联网设备在数据传输时周期性的差异,提出了多时间粒度的单一特征提取算法,放大了物联网设备的流量特征,精准表征物联网设备数据传输过程中的周期性,细化了特征提取的时间粒度,适应于物联网设备工作状态多样的高速网络环境。
附图说明
43.图1为本发明的的总体架构图;
44.图2为本发明的一个实例中的周期性;
45.图3为本发明的特征提取示意图;
46.图4为不同神经网络模型的分类性能。
具体实施方式
47.以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
48.具体实施例:本发明提供的一种高速网络中轻量级的物联网设备识别方法,其总体架构如图1所示,包括如下步骤:
49.步骤(1)通过数据采集设备进行物联网设备流量采集;
50.步骤(2)对物联网设备流量进行处理,计算每个物联网设备的周期时长;
51.步骤(3)根据步骤(2)得到的周期时长,为每个物联网设备选择特征提取的时间粒度,并将相同时间粒度的物联网设备归为一类;
52.步骤(4)根据步骤(3)得到的物联网设备类别以及各个类别中物联网设备的周期时长,为每个类别设定时间窗口,基于时间粒度和时间窗口进行特征提取,得到单一特征序列;
53.步骤(5)使用一段公开数据集数据作为背景流量,根据步骤(4)中的时间粒度和时间窗口进行特征提取,与相同时间粒度和时间窗口的物联网设备特征序列共同构成训练集,使用有监督深度学习算法对不同训练集分别进行模型训练,得到对应分类模型;
54.步骤(6)分别使用步骤(4)中的不同类别的时间粒度和时间窗口,对高速网络中的流量进行特征提取,使用步骤(5)得到的各时间粒度下的分类模型对高速网络流量中的物联网设备流量进行识别。
55.本发明的一个实施例中,步骤(1)中,采集物联网设备流量的具体步骤如下:
56.(1.1)构建由国内电商平台销量最高的9款品牌的无线监控摄像头和3款品牌的智能音箱构成的物联网环境,步骤如下:使用安装openwrt固件的软路由充当网关,其wan接口连接校园网,lan口连接到pc、tp-link路由器;物联网设备连接到tp-link路由器,通过安装在手机上的设备制造商推荐的app进行配置;使用运行在openwrt上的tcpdump来捕获流量。
57.(1.2)对每个物联网设备进行采集时,保持其工作状态不变,工作状态包括空闲状态和活动状态,采集时长尽可能长。
58.本发明的一个实施例中,步骤(2)中,计算物联网设备周期时长的具体步骤如下:
59.(2.1)所附图2展示了一个所选物联网设备的周期性流量模式;对步骤(1)中获取的各物联网设备流量进行组流,获得五元组相同的单向流;使用wireshark初步观察流量的变化情况,得到粗略的活跃时间长度和空闲时间长度,设定一个略小于观察所得空闲时间长度的值作为间隔阈值gap;
60.(2.2)依次读取构成单向流的数据包(源ip、源端口、目的ip、目的端口和传输层协议相同),记录当前数据包的时间戳;
61.(2.3)判断周期开始时间是否为0,若为0,则返回进行(2.2);若不为0,则计算当前数据包与上一个数据包时间戳的差值;
62.(2.4)判断差值是否大于间隔阈值gap,若差值小于间隔阈值,则返回进行(2.2);若差值大于间隔阈值,则记录此差值为空闲时间t
idle
,并计算上一个数据包时间戳与周期开始时间的差值,记录此差值为活跃时间t
active
;输出此周期的t
active
和t
idle
,令周期开始时间为当前数据包的时间戳,进行(2.2),直至该流结束;
63.(2.5)当读取完单向流的全部数据包,计算t
active
和t
idle
的平均值;将二者的平均
值求和,得到该物联网设备数据传输过程中一个周期的平均时长。表1总结了所选物联网设备的周期时长。
64.表1物联网设备及周期时长
65.物联网设备品牌及型号周期时长(秒)小度智能音箱大金刚0.0284天猫精灵in糖智能音箱0.0402大华乐橙tp2监控摄像头0.0455360智能摄像机云台7c0.0462小米ai音箱第二代0.0501小蚁智能摄像机y40.6464小白监控摄像头y22.8955小米智能摄像机云台2k3.0006霸天安家用云台摄像头4.0527tp-link ipc44aw4.1992萤石c6cn4.9983华为智选海雀智能摄像头hq86.7398
66.本发明的一个实施例中,步骤(3)中,选择特征提取的时间粒度的具体步骤如下:
67.(3.1)基于步骤(2)中获取的周期时长,根据原则确定对物联网设备流量进行特征提取时的时间粒度,原则如下:为了能够精准表征周期性,时间粒度的数量级应该小于周期时长的数量级;为了不造成计算资源不必要消耗,时间粒度的长度不应小于周期时长的一千分之一;为了便于计算和缩放流量模式,时间粒度的长度应该为10的n次方。基于以上原则,可选择的特征提取的时间粒度为1毫秒、10毫秒、100毫秒、1秒、10秒、100秒。
68.(3.2)将相同时间粒度的物联网设备归为同一类别,本实例中所有物联网设备均选择10毫秒作为特征提取的时间粒度,设为类别1。
69.本发明的一个实施例中,步骤(4)中,进行特征提取获得单一特征序列,具体包括如下过程:
70.(4.1)对于步骤(3)中获得的类别1,根据原则确定该物联网设备类别的时间窗口,原则如下:为了使分类模型充分学习到物联网设备类别内全部设备的周期性,时间窗口至少包含类别内每个物联网设备的两个周期;本实例中的类别1选择10秒为特征提取的时间窗口。
71.(4.2)本实例中,对类别1的12台物联网设备逐一进行特征提取:读取10秒时间窗口内构成单向流的数据包,依次计算10毫秒时间粒度长度内的单一流量特征,得到由1000个单一流量特征组成的序列。所附图3展示了本发明特征提取的示意图。
72.本发明的一个实施例中,所选取的单一特征为速率,通过计算流量的空间特征在时间上的变化来表征流量的周期性模式。速率采用以下公式进行计算:
[0073][0074]
其中,r为速率,δb为时间粒度内物联网设备所发送或接收的字节数,δt为时间粒度。
[0075]
本发明的一个实施例中,步骤(5)中,训练分类模型,具体包括如下过程:
[0076]
(5.1)获取mawi工作组于2020年6月3日收集的公开数据集,此公开数据集包含了在高速网络上持续收集900秒得到的70,856,552个数据包,设为数据a。使用步骤(4)的10毫秒的时间粒度和10秒的时间窗口提取数据a的单一特征序列,与类别1中的全部物联网设备流量的单一特征序列共同构成10毫秒时间粒度下的训练集。该训练集共包含129,901条训练样本。
[0077]
(5.2)对于本实例中的类别1,使用有监督的深度学习算法训练其对应的分类模型。本实例使用一维卷积神经网络(1d cnn)和长短期记忆网络(lstm)构建分类模型。表2总结了本实例中所构建的轻量级神经网络模型的结构。
[0078]
表2神经网络结构
[0079][0080]
本发明的一个实施例中,步骤(6)中,高速网络中物联网设备的识别,具体包括如下过程:
[0081]
(6.1)本实例中,获取另外一段在高速网络上持续采集的mawi公开数据集流量,该流量捕获于2020年6月10日,持续时间为900秒,设为数据b;分别采集类别1中全部物联网设备600秒的流量,工作状态与训练集中的工作状态保持一致,与数据b混合得到数据c;使用类别1的10毫秒的时间粒度和10秒的时间窗口提取数据c的单一特征序列,得到77,871条测试样本。
[0082]
(6.2)使用步骤(5)中训练的分类模型对样本中的物联网设备进行识别。图4展示了步骤(5)中三个神经网络模型的分类准确率。
[0083]
本发明的一个实施例中,通过实验分析在高速网络流量中识别物联网设备所需要的时间,以证明本发明具有较强的实用性。本发明实现在高速网络流量中识别物联网设备流量所需要的时间包括特征提取时间和模型测试时间。对于本实施例中的数据a,特征提取阶段仅消耗140,783毫秒,得到87,792条训练样本。表3展示了三个神经网络模型的时间消耗。对于本实施例中的数据c,1d cnn模型完成识别仅消耗9.71秒。综上,对于在带宽为10gbps的真实高速网络中的900秒数据,本发明最少仅需要150.493秒即可完成对物联网识别流量的识别,证明了本发明能够用于高速网络流量的实时分类。
[0084]
表3神经网络模型的时间消耗
[0085]
神经网络模型训练一个epoch的时间(秒)总测试时间(秒)1d cnn45.8149.71lstm168.72732.83cnn-lstm110.11516.29
[0086]
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员
来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献