当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于深度学习的物联网设备指纹识别方法技术

技术编号:27842405 阅读:40 留言:0更新日期:2021-03-30 12:34
本发明专利技术提出了一种基于深度学习的物联网设备指纹识别方法。通过结合设备主动扫描和流量搜集的被动获取方式实现物联网设备信息搜集,并将搜集的物联网设备信息作为深度学习训练集的扩展标签;将历史流量数据通过流量拆分、数据切割转换、流量清洗进行预处理并得到预处理后的流量数据,通过预处理后流量数据构建深度学习训练集;构建基于复合神经网络的物联网流量分类模型和流量分类损失函数,通过深度学习训练集进行优化训练;将训练后复合神经网络物联网流量分类模型应用于物联网设备类型的实时识别。本发明专利技术显著提高了物联网设备的识别正确率。识别正确率。识别正确率。

【技术实现步骤摘要】
一种基于深度学习的物联网设备指纹识别方法


[0001]本专利技术属于物联网
,特别是涉及一种基于深度学习的物联网设备指纹识别方法。

技术介绍

[0002]随着物联网设备的激增,软件漏洞、僵尸网络和隐私泄露等安全和隐私问题严重威胁物联网设备。为了消除物联网设备的安全风险,管理员需要快速修补相应的设备或识别受损设备。如果能够及时对网络中的物联网设备进行发现,并获取到设备的相关信息,便能掌握物联网体系的部署状况,进而当系统面临安全问题时能第一时间解决安全隐患,这就要求通过设备识别充分“可视”所部署的物联网设备。此外,目前物联网设备具有部署范围大、设备种类繁多的特点,使得物联网设备资产的自动化识别成为亟需解决的难题。
[0003]设备识别技术主要分为主动的入侵式设备识别和被动的非入侵式设备识别这两种形式。Nmap和Zmap是目前用于设备识别的主要工具。Nmap和Zmap是一种主动入侵式扫描工具,它通过向探测目标发送不同格式的通信数据包,依据对方对探测数据包的回复反应做出相应的信息判断。作为入侵式扫描工具,Nmap和Zmap的缺点在于当设备开放端口不足,会存在获取信息不足的问题。ARE通过使用传统入侵式扫描工具获取物联网设备的应用层返回数据,并通过自然语言处理技术搭配网页爬虫,进而将返回数据中的设备型号关键字与真实网页上的详细设备信息进行匹配。由于目前大量物联网设备关闭了主要的端口,仅保留和应用程序通信的极少端口,因此上述基于传统入侵式扫描方式进行设备识别的方法难以应用到广泛的物联网设备识别领域。同时由于物联网设备功耗受限,大量的扫描包也会对设备性能和使用造成一定的影响。Shodan是一款被动非入侵式网络设备搜索引擎,与入侵式的Nmap不同,它主要通过分析遍布在全世界的关键服务器上的设备通讯流量,进而对设备进行信息搜集并保存到数据库,并不会主动发送探测到每个设备上,但Shodan存在数据库更新慢的缺点。GTID用于设备类型下物理设备的识别功能。它利用设备的异构性,即不同设备硬件组成和设备时钟偏差变化,从而学习物理层面造成的设备特征指纹。ProfilIoT是使用机器学习技术来学习设备网络行为实现设备识别的工作。ProfilIoT通过经典机器学习中的随机森林算法实现对物联网设备进行分类,并从设备种类和具体型号两个范围的层次进行了学习,从而对设备进行识别。但上述基于机器学习方法需要进行人工特征提取且实现起来较为复杂,并且识别的准确率还需要进一步提高。
[0004]鉴于此,本专利技术拟通过构建基于深度学习的端到端流量识别方案,从而解决当前部分物联网设备开放度较低而导致的获取信息不足的问题。本专利技术通过设备流量,基于深度学习方法,对物联网设备进行自动识别,极大地提高了设备识别的准确度。此外,本方法采用主被动结合地方式搜集设备信息,并对训练样本进行自动标注,不需要进行人工特征提取,从而将深度学习应用到物联网设备识别的场景中。

技术实现思路

[0005]针对上述问题,本专利技术提出一种基于深度学习的物联网设备类型自动识别方法。
[0006]该方法通过采集物联网设备流量信息,基于物联网设备规则化的网络行为,构建了以深度学习为中心的物联网设备识别方案,具体包括以下步骤:
[0007]步骤1:通过基于设备扫描的信息获取、基于自动化搜索框架的信息获取、设备网络信息的被动搜集实现物联网设备信息搜集,将搜索的物联网设备信息作为深度学习训练集的扩展标签;
[0008]步骤2:将历史流量数据通过流量拆分、数据切割转换、流量清洗进行预处理并得到预处理后流量数据,通过预处理后流量数据构建深度学习训练集,人工标注深度学习训练集中每个样本的流量类型;
[0009]步骤3:构建复合神经网络物联网流量分类模型,构建复合神经网络物联网流量分类损失函数模型,通过深度学习训练集进行优化训练得到网络寻优化参数集,根据网络寻优化参数集构建训练后复合神经网络物联网流量分类模型;
[0010]步骤4:将训练后复合神经网络物联网流量分类模型应用于物理网设备的类型的实时识别;
[0011]作为优选,步骤1所述的基于设备扫描的信息获取、基于自动化搜索框架的信息获取获取方式则为主动获取;
[0012]步骤1所述设备网络信息的被动搜集则为被动获取;
[0013]步骤1所述基于设备扫描的信息获取为:
[0014]除了部分需要通过中心控制器才能与互联网交互的设备,较大部分物联网设备通过网线与路由器或者交换机相连,或者通过Wifi连接的方式进行网络交互。这样连接的设备可以通过扫描工具直接的从设备获取信息。通过扫描器扫描方式,可以获取到物联网设备的操作系统甚至是完整的应用程序、操作系统和硬件设备的类别信息,以及开放端口以及相应服务信息;
[0015]步骤1所述基于自动化搜索框架的信息获取为:
[0016]当确定设备有开放端口并获取到一定的响应数据时,本专利技术需要对扫描到的设备信息进行进一步的扩展,目的是由此获得更丰富的非流量信息;自动化搜索框架的关键原理是来自那些IoT设备的应用层协议中的响应数据通常包含其制造商的高度相关内容,会自动生成基于物联网设备中的应用数据与相应的描述网站工作时它能够根据应用层返回的标识信息,提取可能与设备信息有关的关键字,并依据设备信息识别搜索框架从网页及相关数据库中获得可能符合的信息,最终筛选过滤得到规范化设备信息;设备信息由Nmap联合获得,该模块从Nmap的响应提取与服务相关的信息;知道可用服务的情况下,该模块模拟一个客户端使用cURL发送请求以获取这些服务的响应,并将响应转发给ARE,以便进一步分析,以生成更丰富的设备信息;
[0017]步骤1所述设备网络信息的被动搜集为:
[0018]物联网设备的一大特征就是其行为具有规范性,能够通过分析网络流量得到特定于设备的行为特征;设备的网络通讯信息通常包括时间,信息传递源与目的,使用的网络通信协议,数据包长以及包负载等信息;每种信息对于物联网设备而言都可以体现一定的特征;这类信息需要分析设备在一段时间内的流量数据,而流量数据通过抓包工具进行捕捉
后进行存储;对于被动收集,通过中央路由器收集设备流量;流量被转发到该模块进行处理,根据IP地址分开并存储到不同的文件中;通过使用dumpcap来收集物联网设备的数据包,并统一存储到设备信息库中;
[0019]作为优选,步骤2所述流量拆分为:
[0020]使用IP地址作为唯一标识符来分割网络流量数据,得到拆分后流量数据;
[0021]步骤2所述数据切割与转换为:
[0022]删除拆分后流量数据的额外包头,保留单独的包内容,得到转换后流量数据;
[0023]步骤2所述流量清洗为:
[0024]清洗转换后流量数据中的IP地址、MAC地址、应用层数据;
[0025]步骤2所述预处理后流量数据为:
[0026]data
i
,i∈[1,N],data
i
表示预处理后流量数据中第i个样本的网络流量本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的物联网设备指纹识别方法,其特征在于,包括以下步骤:步骤1:通过基于设备扫描的信息获取、基于自动化搜索框架的信息获取、设备网络信息的被动搜集实现物联网设备信息搜集,将搜索的物联网设备信息作为深度学习训练集的扩展标签;步骤2:将历史流量数据通过流量拆分、数据切割转换、流量清洗进行预处理并得到预处理后流量数据,通过预处理后流量数据构建深度学习训练集,人工标注深度学习训练集中每个样本的流量类型;步骤3:构建复合神经网络物联网流量分类模型,构建复合神经网络物联网流量分类损失函数模型,通过深度学习训练集进行优化训练得到网络寻优化参数集,根据网络寻优化参数集构建训练后复合神经网络物联网流量分类模型;步骤4:将训练后复合神经网络物联网流量分类模型应用于物理网设备的类型的实时识别。2.根据权利要求1所述的基于深度学习的物联网设备指纹识别方法,其特征在于:步骤1所述的基于设备扫描的信息获取、基于自动化搜索框架的信息获取获取方式则为主动获取;步骤1所述设备网络信息的被动搜集则为被动获取;步骤1所述基于设备扫描的信息获取为:除了部分需要通过中心控制器才能与互联网交互的设备,较大部分物联网设备通过网线与路由器或者交换机相连,或者通过Wifi连接的方式进行网络交互;这样连接的设备可以通过扫描工具直接的从设备获取信息;通过扫描器扫描方式,可以获取到物联网设备的操作系统甚至是完整的应用程序、操作系统和硬件设备的类别信息,以及开放端口以及相应服务信息;步骤1所述基于自动化搜索框架的信息获取为:当确定设备有开放端口并获取到一定的响应数据时,本发明需要对扫描到的设备信息进行进一步的扩展,目的是由此获得更丰富的非流量信息;自动化搜索框架的关键原理是来自那些IoT设备的应用层协议中的响应数据通常包含其制造商的高度相关内容,会自动生成基于物联网设备中的应用数据与相应的描述网站工作时它能够根据应用层返回的标识信息,提取可能与设备信息有关的关键字,并依据设备信息识别搜索框架从网页及相关数据库中获得可能符合的信息,最终筛选过滤得到规范化设备信息;设备信息由Nmap联合获得,该模块从Nmap的响应提取与服务相关的信息;知道可用服务的情况下,该模块模拟一个客户端使用cURL发送请求以获取这些服务的响应,并将响应转发给ARE,以便进一步分析,以生成更丰富的设备信息;步骤1所述设备网络信息的被动搜集为:物联网设备的一大特征就是其行为具有规范性,能够通过分析网络流量得到特定于设备的行为特征;设备的网络通讯信息通常包括时间,信息传递源与目的,使用的网络通信协议,数据包长以及包负载等信息;每种信息对于物联网设备而言都可以体现一定的特征;这类信息需要分析设备在一段时间内的流量数据,而流量数据通过抓包工具进行捕捉后进行存储;对于被动收集,通过中央路由器收集设备流量;流量被转发到该模块进行处理,根据IP地址分开并存储到不同的文件中;通过使用dumpcap来收集物联网设备的数据包,并统一
存储到设备信息库中。3.根据权利要求1所述的基于深度学习的物联网设备指纹识别方法,其特征在于:步骤2所述流量拆分为:使用IP地址作为唯一标识符来分割网络流量数据,得到拆分后流量数据;步骤2所述数据切割与转换为:删除拆分后流量数据的额外包头,保留单独的包内容,得到转换后流量数据;步骤2所述流量清洗为:清洗转换后流量数据中的IP地址、MAC地址、应用层数据;步骤2所述预处理后流量数据为:data
i
,i∈[1,N],data
i
表示预处理后流量数据中第i个样本的网络流量数据包,N表示网络流量数据包的数量;步骤2所述构建深度学习训练集为:将第i个样本的网络流量数据包即data
i
分解为data
i
_num段分解数据包,每段分解数据包的长度为data
i
_len,通过data
i
_num段分解数据包构建,具体定义为:R
i
(u,v),u∈[1,data
i
_num],v∈[1,data
i
_len]其中,R
i
(u,v)表示第i个样本的网络流量数据包分解矩阵中第u行第v列的元素,R
i
表示第i个样本的网络流量数据包分解矩阵即深度学习训练集中第i个样本,N表示深度学习训练集中样本的数量;步骤2所述每个样本的设备类型为:type
i,j
,i∈[1,N],j∈[1,M]其中,type
i,j
表示深度学习训练集中第i个样本的设备类型,N表示深度学习训练集中样本的数量,M表示深度学习训练集中所包含的总的设备类型数。4.根据权利要求1所述的基于深度学习的物联网设备指纹识别方法,其特征在于:步骤3所述复合神经网络物联网流量分类模型由深度卷积神经网络与长短期记忆网络串联级联构成;所述深度卷积神经网络由输入层、卷积神经网络串联级联构成所述输入层,输入步骤1中所述深度学习训练集中第i个样本即R
i
,即表示第i个样本的网络流量数据包分解矩阵,i∈[1,N],N表示深度学习训练集中样本的数量;所述卷积神经网络由第一卷积激活层、第一批量标准化层、第二卷积激活层、第二批量标准化层、
……
、第K卷积激活层、第K批量标准化层串联级联构成;所述第i卷积激活层包括:第i个卷积层、第i激活层第i个卷积层的卷积核尺寸为2
×
2,步长为1,其中i∈[1,K],K为卷积激活层的数量;第i个卷积层的权重为weights_conv
i
,为待寻优的参数;第i个卷积层的偏置为bias_conv
i
,为待寻优的参数;第i激活层的激活函数为ReLU函数;所述第i批量标准化层用于加速步骤2所述优化训练收敛;第i个批量标准化层的平移参数为shift_bn
i
,为待寻优的参数;第i个批量标准化层的缩放参数为scale_bn
i
,为待寻优的参数;i∈[1,K],K为批量标准化的层数;
所述长短期记忆网络由:压平层、长短期记忆层、随机失活层、第一全连接层、第二全连接层、归一化指数层依次串联级联构成;所述压平层,压平操作用于降低数据维度,通过压平后的二维度数据作为长短期记忆层的输入;所述长短期记忆层,通过门控机制,用于首先将压平后的二维度数据选择性丢弃,然后将压平后的二维度数据结合网络记忆的旧状态值进行更新,得到确定的更新...

【专利技术属性】
技术研发人员:王鹃李江琪杨梦达文茹郝世荣王杰王蕴茹
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1