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

一种用于物联网设备识别可部署模型的构建方法与装置

2022-09-07 23:51:52 来源:中国专利 TAG:


1.本发明涉及物联网领域,具体来说,涉及物联网领域中基于流量数据的物联网设备识别领域,更具体地说,涉及一种用于物联网设备识别可部署模型的构建方法与装置以及一种物联网设备识别装置与方法。


背景技术:

2.近年来,随着无线传感器网络和普适计算的飞速发展,将物理世界与因特网紧密结合在一起的物联网及其相关应用,例如智能家居、智慧城市、工业系统、智慧医疗等,不断扩展并成为当下研究的热点。然而,由于物联网设备与硬件的异质性以及资源限制,物联网的安全防护工作并没有随着物联网的飞速发展而得到重大改进,物联网设备的漏洞带来了巨大的威胁。例如智能家居物联网设备由于缺乏流量加密以及对用户行为跟踪的敏感性而面临严重的隐私问题,一些智能家居物联网设备仍通过http进行通信,这使其流量非常容易受到网络攻击者的窃听和操纵。物联网设备规模的快速增长也给管理人员带来了极大的挑战,我们很难知道目前接入的物联网设备以及它们是否正常运行,与此同时,由于物联网设备缺乏“可见性”,使用者在物联网系统中的问题进行故障的检测与发现变得异常艰难,当恶意攻击者破坏了物联网系统架构的时候,该安全问题变得更加严重。了解连接到网络的设备类型有助于加强安全性,因此,物联网安全的第一步就是进行设备识别,物联网设备识别通过识别对应物联网设备,了解物联网资产,进行行为管控,同时完成针对性的漏洞管理和安全防御。当前对于物联网设备的识别方法主要有基于机器学习的设备识别方法和基于关联规则的设备识别方法。
3.在基于机器学习的设备识别方法中,例如指纹识别,学习算法基于训练数据推断出将输入数据映射到类别标签的分类模型,当类别标签的数量很大时,学习算法需要大量的训练数据才能得到较高的准确度和覆盖率。在例如homemole的基于分析智能家居网络生成的网络流量对隐私的威胁提出的一种用于指纹识别物联网流量的分析系统中,包括基本lstm模型和双向lstm模型,用以在启用napt和vpn等流量融合功能的情况下自动推理智能家居网络的物联网设备类型。在例如pingpong的一种可以从网络流量中自动提取物联网设备事件的数据包级签名工具中,通过训练得到存储数据包级签名的签名文件,再进行签名检测,将数据包传递给数据包所属的流相关联的状态机,获得物联网设备类型。还有的方法通过分析发送和接收的数据包流来识别连接到网络的物联网设备类型,在定义特征时,使用由源ip地址和目标ip地址以及端口标识的双向流以便于模型在实际场景中应用,每个双向流都由包含以下内容的特征向量描述:发送的前n个数据包的大小、收到的前n个数据包的大小、发送的前n个数据包之间的n-1个数据包到达时间、收到的前n个数据包之间的n-1个数据包到达时间,在数据收集阶段建立了一个小型智能家庭网络用于生成网络流量,接着使用t分布随机邻居嵌入(t-sne)进行数据可视化,以便验证被选择用来描述网络行为的特征是否足够用来判断并区分不同设备生成的网络流量,最后使用六种不同的机器学习算法进行分类验证,这种方法使用的设备数量有限,这也是大部分物联网相关研究具有的普
遍局限性;其次,本方法中的实验网络仅由物联网设备组成,这与现实世界中的真实情况是不符,对于提出的模型有待在更大规模的数据集上进行验证,同时,对于数据收集阶段的假设也限制了模型的优越性。总的来说,在基于机器学习的设备识别方法中,虽然算法泛化能力强且准确度高,但时间成本高,同时算法模型复杂,在实际应用场景中的部署十分受限。
4.在基于关联规则的设备识别方法中,规则是指从应用程序层数据中提取的一些特征以及从相关网页中提取的设备注释之间的关联。关联规则的挖掘过程主要包括首先从资料集合中找出所有高频项目组,再通过高频项目组产生关联规则。在例如获取规则的引擎are中,利用来自物联网设备的应用层响应数据和相关网站中的产品描述获取设备注释并构建数据集,然后通过先验算法从数据集中学习规则并构建设备规则用以识别物联网设备,其中,are的四个模块及其功能说明如下:(1)规则收集,此模块分两个步骤工作,第一步是收集网络中的响应数据,并过滤掉非物联网设备的响应数据,第二步使用web爬网程序获取物联网设备的描述网页,然后从网页中删除多余的内容;(2)规则挖掘器,are利用规则挖掘器从合约集中自动执行规则生成过程,而无需人工,此外,例如制造商发布新的物联网设备产品时,此模块可以动态学习规则;(3)规则库,规则库是一个标准文件,其中以时间戳记存储每个规则;(4)规划器,规划器模块为应用程序更新are中的规则库;在api模块产生更新时通知规划程序模块在当前网络中生成新规则,从该空间收集数据,且过时的规则将被删除。总的来说,在基于关联规则的设备识别方法中,无需训练数据,可自动执行规则生成规则且时间成本低,但识别准确度低且泛化能力差。
5.综上所述,现有的对物联网设备进行识别的方法主要存在以下问题:
6.1、基于机器学习的物联网设备识别方法时间成本高,算法模型复杂,在实际应用场景中的部署十分受限。
7.2、基于关联规则的物联网设备识别方法识别准确度低且泛化能力差。


技术实现要素:

8.因此,本发明的目的在于克服上述现有技术的缺陷,提供一种用于物联网设备识别可部署模型的构建方法与装置以及一种物联网设备识别装置与方法。
9.根据本发明的第一个方面,提供一种用于物联网设备识别可部署模型的构建方法,所述方法包括:s1、获取不同类型的物联网设备的历史流量数据,以设备类型为分类,将每种设备类型对应的历史流量数据转换为二维图像数据,获得训练数据集;s2、以步骤s1中得到的数据集训练轻量级卷积神经网络至收敛;s3、将步骤s2中经过训练的轻量级卷积神经网络进行编译并与对应的应用程序合并,生成所述物联网设备识别可部署模型。
10.优选的,所述步骤s1包括:s11、将获取到的物联网设备的历史流量数据按照设备类型进行划分,将每种设备类型作为一个pcap文件进行存储,再基于会话将流量数据按照不同设备类型进行切分;s12、删除重复的会话数据以及清理流量数据特有信息;s13、提取会话数据的统计特征并选择其中的预设统计特征与会话中的数据包负载特征融合形成融合特征;s14、将步骤s13中获得的融合特征裁剪为预设长度阈值对应的字节数,通过将其转换为像素值并保存为灰度图的形式以表征物联网流量数据。
11.优选的,所述步骤s13中使用xgboost对会话数据进行特征重要性分析并生成预设统计特征,所述预设统计特征为进行特征重要性分析并排序后排名前5的统计特征。
12.优选的,所述步骤s3包括:s31、将物联网设备模型转换为ir并通过多次逐层下降的方式得到llvm ir,再针对目标机器生成汇编代码形式的编译后模型;s32、将编译后的模型载入应用程序并进行数据加载与模型调用。
13.根据本发明的第二方面,提供一种用于物联网设备识别可部署模型的构建装置,所述装置包括:数据预处理模块,用于获取不同类型的物联网设备的历史流量数据,以设备类型为分类,将每种设备类型对应的历史流量数据转换为二维图像数据,获得训练数据集;模型训练模块,以所述数据预处理模块得到的数据集训练轻量级卷积神经网络至收敛;模型编译与部署模块,用于将所述经过训练的轻量级卷积神经网络进行编译并与对应的应用程序合并,生成所述物联网设备识别可部署模型。
14.根据本发明的第三方面,提供一种物联网设备识别装置,所述装置包括:数据采集模块,用于获取物联网设备的实时流量数据,并对获取的实时流量数据进行切分、清洗和特征提取以转换为二维图像数据;识别应用模块,所述识别应用模块中部署有根据本发明第一方面所述方法构建的物联网设备识别可部署模型,用于根据所述数据采集模块提供的二维图像数据获得物联网设备类型识别结果。
15.根据本发明的第四方面,提供一种物联网设备识别方法,所述方法包括:g1、获取物联网设备的实时流量数据,并对获取的数据进行切分、清洗、特征提取以转换为二维图像数据;g2、将步骤g1获得的二维图像数据输入根据如本发明第一方面所述方法构建的物联网设备识别可部署模型中,输出所识别的物联网设备类型。
16.与现有技术相比,本发明的优点在于:
17.1、构建了物联网设备识别的融合流量特征,并且使用了轻量化的卷积神经网络训练模型,同时对训练完成的模型采用基于编译的模型部署。
18.2、在实际应用场景中适用于pc、ap等受限设备,识别准确率高且易于部署。
附图说明
19.以下参照附图对本发明实施例作进一步说明,其中:
20.图1为根据本发明实施例的一种用于物联网设备识别可部署模型的构建装置结构示意图;
21.图2为根据本发明实施例的一种用于物联网设备识别可部署模型的构建方法流程示意图;
22.图3为根据本发明实施例的一种物联网设备识别装置的结构示意图;
23.图4为根据本发明实施例的一种物联网设备识别方法流程示意图。
具体实施方式
24.为了使本发明的目的,技术方案及优点更加清楚明白,以下通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
25.首先介绍一下本发明的技术构思。如背景技术中提到的,在现有针对物联网设备的识别方法中,基于机器学习的物联网设备识别方法需要大量的训练数据才能获得较高的准确度和覆盖率,同时使用的训练数据较为单一,与实际应用场景中的复杂情况存在较大
差距,最终实现的效果虽然准确度高、泛化能力强,但缺点在于需要付出的时间成本高,在实际应用场景的部署也存在诸多问题;而基于关联规则的物联网设备识别方法的优势在于无需训练数据,可自动执行并生成规则,且花费的时间少,但存在着准确率低且泛化能力差的缺点。为了解决上述问题,本发明引入了轻量级卷积神经网络,通过训练轻量级卷积神经网络得到一种轻量级的物联网识别可部署模型,使得在进行物联网设备的识别时不仅准确率高且易于部署。
26.为了更好的理解本发明,下面通过具体实施例来详细说明本发明。
27.根据本发明的一个实施例,本发明提供了一种用于物联网设备识别可部署模型的构建装置,如附图1所示,包括:数据预处理模块、模型训练模块、模型编译与部署模块,其中,数据预处理模块用于获取不同类型的物联网设备的历史流量数据,以设备类型为分类,将每种设备类型对应的历史流量数据转换为二维图像数据,获得训练数据集;模型训练模块用于以所述数据预处理模块得到的数据集训练轻量级卷积神经网络至收敛;模型编译与部署模块用于将所述经过训练的轻量级卷积神经网络进行编译并与对应的应用程序合并,生成所述物联网设备识别可部署模型。
28.根据本发明的一个实施例,本发明还提供了用于一种用于物联网设备识别可部署模型的构建方法,如附图2所示,所述方法包括s1、s2和s3三个步骤,下面结合上述用于物联网设备识别可部署模型的构建装置对用于物联网设备识别可部署模型的构建方法的具体过程进行详细说明。
29.在步骤s1中,获取不同类型的物联网设备的历史流量数据,以设备类型为分类,对每种设备类型对应的历史流量数据进行切分、清洗和特征提取并转换为二维图像数据,并以所有二维图像数据组成数据集。
30.在数据预处理模块中,对收集到的物联网设备历史流量数据按照设备类型进行分类,将每一种设备类型作为一个pcap文件进行存储,再基于流将历史流量数据按照不同设备类型进行切分。目前通用的对信息流的划分形式包括基于流和基于会话,其中,流指具有同五元组(源ip、目的ip、源端口、目的端口和传输协议)的所有数据包,而会话指由双向流组成的所有数据包,即五元组的源和目的可以互换。通过目前已有的实验验证,会话包含了双向的流,具有通信双方的交互信息,表达的信息更有利于对设备类型进行划分,因此本发明中采用会话将流量数据进行划分。为了防止模型训练过拟合或出现偏差,将重复的会话文件删除(pcap文件),同时清理各流量数据特有的ip地址、mac地址等信息。需要说明的是,由于流量数据的特有信息唯一地标识了各个设备,此处同样为了防止模型过拟合,因此需要将其删除。
31.在现有技术基于机器学习的设备识别方法中,目前特征提取主要从数据包的某一层或几层提取数据包头字段的特征,此方法的主要不足在于过度使用人工特征使得方法难以泛化,由于不同设备的区分性特征不同,很可能会遗漏重要特征,同时,由于许多物联网设备会生成类似基于udp(用户数据报协议)的流量(例如ntp和dns流量),要区分包含此类流量的物联网设备类型较为困难;除此之外,一些设备还包含经过加密的特征;数据包负载也包含很多独立于各类型设备的通信信息。综上所述,本发明通过提取流量数据的统计特征并将其与数据包负载进行融合构成融合特征作为物联网设备类型的特征,先提取会话数据的统计特征,然后对其进行重要性分析,选择在特征重要性分析结果中表现优秀的统计
特征将其与数据包负载进行融合。
32.优选的,在提取统计特征部分,提取的统计共计39维,包括:上行流包长总数、上行流最大包长、上行流最小包长、上行流包长均值、上行流包长方差、上行流每时间单位字节数、上下行流包长总数比、下行流包长总数、下行流最大包长、下行流最小包长、下行流包长的均值、下行流包长的方差、下行流每时间单位字节数、总流包长总数、总流最大包长、总流最小包长、总流包长的均值、总流包长的方差、总流每时间单位字节数、上行流最大包到达时间间隔、上行流最小包到达时间间隔、上行流包到达时间间隔的均值、上行流包到达时间间隔的方差、下行流最大包到达时间间隔、下行流最小包到达时间间隔、下行流包到达时间间隔的均值、下行流包到达时间间隔的方差、总流最大包时间间隔、总流最小包时间间隔、总流包时间间隔的均值、总流包时间间隔的方差、总流持续时间、上行流包数目、上行流每时间单位包数目、上下行流包数目比、下行流包数目、下行流每时间单位包数目、总流包数目、总流每时间单位包数目。
33.在统计特征的重要性分析中,优选的,使用xgboost(极致梯度提升)对上述统计特征进行重要性分析,以重要性提供的分数指示每个特征在模型构建增强决策树时的贡献度,在进行重要性排序后选择排名前5的特征作为表现优秀的统计特征,将其与会话中的数据包负载特征融合形成融合特征。需要说明的是,在xgboost中内置有特征重要性计算方法,该方法中有多个importance_type参数,其中gain表示在树模型分裂时,一个特征带来信息增益优化的平均值,由于该参数使用了熵增概念,可以更好地找到最直接的特征,因此使用gain对提取的所有统计特征进行特征重要性排序,并从中选择排名靠前的特征作为物联网设备识别时选用的统计特征。由于该方法属于领域内的常见方法,此处不对其进行再过多赘述。
34.由于卷积神经网络对输入数据格式的要求,首先需要将形成的融合特征裁剪为统一长度并转换为二维形式的数据集。通过统计并观察数据集中各类物联网流量数据的会话平均长度和会话长度分布的cdf(分布函数)统计图可以得到:不同物联网设备流量的会话长度值分布不同:有些物联网设备会话长度百分之八十以上分布在几百字节,有些物联网设备会话长度在几百字节至几千字节都有分布。选定不同长度值的情况下,不同种类物联网设备保留下来的数据不同。选择某一字节长度阈值,使得既能够最大程度保留不同类型物联网设备数据特性的情况下,还能够尽可能降低保留的字节数,以达到轻量化的目标,根据所选阈值确定对应的长度字节数,对提取的特征进行裁剪。
35.在完成裁剪后,先将值映射到[0,1]之间,再乘以255转换为像素值,并保存为灰度图的形式。采用图片形式表征物联网设备流量数据的信息的方式对数据包含的信息无损的同时将融合特征转换为了图片特征。
[0036]
在步骤s2中,以步骤s1中得到的数据集训练轻量级卷积神经网络至收敛。
[0037]
在模型离线训练模块中,在经过上述步骤将物联网流量数据转换为二维形式后,将处理后的数据输入轻量级卷积神经网络中训练至收敛得到物联网设备识别模型,并将得到的物联网设备识别模型保存。需要说明的是,此处使用的轻量级卷积神经网络是指在训练卷积神经网络时采用迁移学习的方式并减少训练时间、使得卷积神经网络占用更少的计算资源以达到在训练时轻量化的目的、并且能够在保持性能的前提下降低大小且提升速度的卷积神经网络。
[0038]
在步骤s3中,将步骤s2中经过训练的轻量级卷积神经网络进行编译并与对应的应用程序合并,生成所述物联网设备识别可部署模型。
[0039]
考虑到实际应用场景需要将物联网设备识别模型部署在pc、ap等资源受限的设备上,现有技术中基于深度学习的模型部署方案主要有基于tensorrt和基于tensorflow lite,其中,tensorrt是在nvidia中各种gpu硬件平台下运行的c 推理框架,加速效果取决于模型的类型和大小、所使用的显卡类型,由于对显卡的依赖,其适用场景为服务端、嵌入式端,因此并不适用于本发明中的目标场景;而tensorflow lite通过压缩和量化等操作减小模型大小和推断时间,其内置的模型优化方法可以实现性能、模型大小和准确性的理想平衡。tensorflow lite的适用场景是在移动设备物联网设备上,基本符合本发明的目标部署场景,但是这种深度学习推理框架有其天然的弊端在于:在运行时需要runtime算子库,算子库中每一个算子都有自己独立的实现,针对不同的模型部署目标设备,算子库中的算子需要针对不同设备的指令集都要分别进行实现。因此在本发明中使用基于编译的方法对物联网设备识别模型编译后进行部署。
[0040]
在模型编译与部署模块中,首先将通过上述步骤训练并保存的物联网设备识别模型转换为ir(中间表示),再通过多次逐层下降得到llvm ir(底层虚拟机中间表示)并针对目标机器生成汇编代码,即编译后模型。由于编译后的模型还需要应用程序来执行加载操作与数据输入,因此还需要将编译后的模型与对应的应用程序共同生成最终可部署的物联网设备识别可部署模型。采用这种以自动优化为主的编译的方案进行深度学习模型的编译优化,可使得模型在执行时不需要runtime的支持,同时可避免算子层重复开发,实现了在端上易部署的物联网设备识别模型,通过将实时的物联网设备流量数据输入模型即可完成推理过程得到物联网设备类型,采用这种aot(编译后执行)的方式可以减少对系统运行环境的依赖,同时对不同后端的不同指令集架构生成可复用的编译通路。
[0041]
通过以上步骤在完成物联网设备识别可部署模型的构建后,得到了一种物联网设备识别装置。根据本发明提供的一个实施例,本发明还提供一种物联网设备识别装置,如附图3所示,所述装置包括:数据采集模块和识别应用模块,其中,数据采集模块用于获取物联网设备的实时流量数据,对获取的实时流量数据进行切分、清洗和特征提取并将其转换为二维图像数据;识别应用模块,所述识别应用模块中部署有根据上述用于物联网设备识别可部署模型的构建方法构建的物联网设备识别可部署模型,用于根据所述数据采集模块提供的二维图像数据获得物联网设备类型识别结果。
[0042]
根据本发明的一个实施例,本发明还提供一种基于上述物联网设备识别装置的物联网设备识别方法,如附图4所示,包括g1、g2两个步骤,下面详细说明各个步骤。
[0043]
在步骤g1中,获取物联网设备的实时流量数据,并对获取的数据进行切分、清洗、特征提取并转换为二维图像数据,对获取的实时流量数据的处理过程与构建物联网设备识别可部署模型的方法中对历史流量数据的处理过程类似,此处不再赘述。
[0044]
需要说明的是,采集物联网设备流量数据时通过基于python的scapy包在线抓包实现。
[0045]
在步骤g2中,将步骤g1获得的二维图像数据输入采用如上述用于物联网设备识别可部署模型的构建方法构建的物联网设备识别装置中,输出所识别的物联网设备类型。
[0046]
与现有技术相比,本发明的优点在于:
[0047]
1、构建了物联网设备识别的融合流量特征,并且使用了轻量化的卷积神经网络训练模型,同时对训练完成的模型采用基于编译的模型部署。
[0048]
2、在实际应用场景中适用于pc、ap等受限设备,识别准确率高且易于部署。
[0049]
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
[0050]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0051]
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0052]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

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

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

相关文献