CN112564974B - 一种基于深度学习的物联网设备指纹识别方法 - Google Patents

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

Info

Publication number
CN112564974B
CN112564974B CN202011440911.8A CN202011440911A CN112564974B CN 112564974 B CN112564974 B CN 112564974B CN 202011440911 A CN202011440911 A CN 202011440911A CN 112564974 B CN112564974 B CN 112564974B
Authority
CN
China
Prior art keywords
layer
data
equipment
information
internet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011440911.8A
Other languages
English (en)
Other versions
CN112564974A (zh
Inventor
王鹃
李江琪
杨梦达
文茹
郝世荣
王杰
王蕴茹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202011440911.8A priority Critical patent/CN112564974B/zh
Publication of CN112564974A publication Critical patent/CN112564974A/zh
Application granted granted Critical
Publication of CN112564974B publication Critical patent/CN112564974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种基于深度学习的物联网设备指纹识别方法
技术领域
本发明属于物联网技术领域,特别是涉及一种基于深度学习的物联网设备指纹识别方法。
背景技术
随着物联网设备的激增,软件漏洞、僵尸网络和隐私泄露等安全和隐私问题严重威胁物联网设备。为了消除物联网设备的安全风险,管理员需要快速修补相应的设备或识别受损设备。如果能够及时对网络中的物联网设备进行发现,并获取到设备的相关信息,便能掌握物联网体系的部署状况,进而当系统面临安全问题时能第一时间解决安全隐患,这就要求通过设备识别充分“可视”所部署的物联网设备。此外,目前物联网设备具有部署范围大、设备种类繁多的特点,使得物联网设备资产的自动化识别成为亟需解决的难题。
设备识别技术主要分为主动的入侵式设备识别和被动的非入侵式设备识别这两种形式。Nmap和Zmap是目前用于设备识别的主要工具。Nmap和Zmap是一种主动入侵式扫描工具,它通过向探测目标发送不同格式的通信数据包,依据对方对探测数据包的回复反应做出相应的信息判断。作为入侵式扫描工具,Nmap和Zmap的缺点在于当设备开放端口不足,会存在获取信息不足的问题。ARE通过使用传统入侵式扫描工具获取物联网设备的应用层返回数据,并通过自然语言处理技术搭配网页爬虫,进而将返回数据中的设备型号关键字与真实网页上的详细设备信息进行匹配。由于目前大量物联网设备关闭了主要的端口,仅保留和应用程序通信的极少端口,因此上述基于传统入侵式扫描方式进行设备识别的方法难以应用到广泛的物联网设备识别领域。同时由于物联网设备功耗受限,大量的扫描包也会对设备性能和使用造成一定的影响。Shodan是一款被动非入侵式网络设备搜索引擎,与入侵式的Nmap不同,它主要通过分析遍布在全世界的关键服务器上的设备通讯流量,进而对设备进行信息搜集并保存到数据库,并不会主动发送探测到每个设备上,但Shodan存在数据库更新慢的缺点。GTID用于设备类型下物理设备的识别功能。它利用设备的异构性,即不同设备硬件组成和设备时钟偏差变化,从而学习物理层面造成的设备特征指纹。ProfilIoT是使用机器学习技术来学习设备网络行为实现设备识别的工作。ProfilIoT通过经典机器学习中的随机森林算法实现对物联网设备进行分类,并从设备种类和具体型号两个范围的层次进行了学习,从而对设备进行识别。但上述基于机器学习方法需要进行人工特征提取且实现起来较为复杂,并且识别的准确率还需要进一步提高。
鉴于此,本发明拟通过构建基于深度学习的端到端流量识别方案,从而解决当前部分物联网设备开放度较低而导致的获取信息不足的问题。本发明通过设备流量,基于深度学习方法,对物联网设备进行自动识别,极大地提高了设备识别的准确度。此外,本方法采用主被动结合地方式搜集设备信息,并对训练样本进行自动标注,不需要进行人工特征提取,从而将深度学习应用到物联网设备识别的场景中。
发明内容
针对上述问题,本发明提出一种基于深度学习的物联网设备类型自动识别方法。
该方法通过采集物联网设备流量信息,基于物联网设备规则化的网络行为,构建了以深度学习为中心的物联网设备识别方案,具体包括以下步骤:
步骤1:通过基于设备扫描的信息获取、基于自动化搜索框架的信息获取、设备网络信息的被动搜集实现物联网设备信息搜集,将搜索的物联网设备信息作为深度学习训练集的扩展标签;
步骤2:将历史流量数据通过流量拆分、数据切割转换、流量清洗进行预处理并得到预处理后流量数据,通过预处理后流量数据构建深度学习训练集,人工标注深度学习训练集中每个样本的流量类型;
步骤3:构建复合神经网络物联网流量分类模型,构建复合神经网络物联网流量分类损失函数模型,通过深度学习训练集进行优化训练得到网络寻优化参数集,根据网络寻优化参数集构建训练后复合神经网络物联网流量分类模型;
步骤4:将训练后复合神经网络物联网流量分类模型应用于物理网设备的类型的实时识别;
作为优选,步骤1所述的基于设备扫描的信息获取、基于自动化搜索框架的信息获取获取方式则为主动获取;
步骤1所述设备网络信息的被动搜集则为被动获取;
步骤1所述基于设备扫描的信息获取为:
除了部分需要通过中心控制器才能与互联网交互的设备,较大部分物联网设备通过网线与路由器或者交换机相连,或者通过Wifi连接的方式进行网络交互。这样连接的设备可以通过扫描工具直接的从设备获取信息。通过扫描器扫描方式,可以获取到物联网设备的操作系统甚至是完整的应用程序、操作系统和硬件设备的类别信息,以及开放端口以及相应服务信息;
步骤1所述基于自动化搜索框架的信息获取为:
当确定设备有开放端口并获取到一定的响应数据时,本发明需要对扫描到的设备信息进行进一步的扩展,目的是由此获得更丰富的非流量信息;自动化搜索框架的关键原理是来自那些IoT设备的应用层协议中的响应数据通常包含其制造商的高度相关内容,会自动生成基于物联网设备中的应用数据与相应的描述网站工作时它能够根据应用层返回的标识信息,提取可能与设备信息有关的关键字,并依据设备信息识别搜索框架从网页及相关数据库中获得可能符合的信息,最终筛选过滤得到规范化设备信息;设备信息由Nmap联合获得,该模块从Nmap的响应提取与服务相关的信息;知道可用服务的情况下,该模块模拟一个客户端使用cURL发送请求以获取这些服务的响应,并将响应转发给ARE,以便进一步分析,以生成更丰富的设备信息;
步骤1所述设备网络信息的被动搜集为:
物联网设备的一大特征就是其行为具有规范性,能够通过分析网络流量得到特定于设备的行为特征;设备的网络通讯信息通常包括时间,信息传递源与目的,使用的网络通信协议,数据包长以及包负载等信息;每种信息对于物联网设备而言都可以体现一定的特征;这类信息需要分析设备在一段时间内的流量数据,而流量数据通过抓包工具进行捕捉后进行存储;对于被动收集,通过中央路由器收集设备流量;流量被转发到该模块进行处理,根据IP地址分开并存储到不同的文件中;通过使用dumpcap来收集物联网设备的数据包,并统一存储到设备信息库中;
作为优选,步骤2所述流量拆分为:
使用IP地址作为唯一标识符来分割网络流量数据,得到拆分后流量数据;
步骤2所述数据切割与转换为:
删除拆分后流量数据的额外包头,保留单独的包内容,得到转换后流量数据;
步骤2所述流量清洗为:
清洗转换后流量数据中的IP地址、MAC地址、应用层数据;
步骤2所述预处理后流量数据为:
datai,i∈[1,N],datai表示预处理后流量数据中第i个样本的网络流量数据包,N表示网络流量数据包的数量;
步骤2所述构建深度学习训练集为:
将第i个样本的网络流量数据包即datai分解为datai_num段分解数据包,每段分解数据包的长度为datai_len,通过datai_num段分解数据包构建,具体定义为:
Ri(u,v),u∈[1,datai_num],v∈[1,datai_len]
其中,Ri(u,v)表示第i个样本的网络流量数据包分解矩阵中第u行第v列的元素,Ri表示第i个样本的网络流量数据包分解矩阵即深度学习训练集中第i个样本,N表示深度学习训练集中样本的数量;
步骤2所述每个样本的设备类型为:
typei,j,i∈[1,N],j∈[1,M]
其中,typei,j表示深度学习训练集中第i个样本的设备类型,N表示深度学习训练集中样本的数量,M表示深度学习训练集中所包含的总的设备类型数;
作为优选,步骤3所述复合神经网络物联网流量分类模型由深度卷积神经网络与长短期记忆网络串联级联构成;
所述深度卷积神经网络由输入层、卷积神经网络串联级联构成
所述输入层,输入步骤1中所述深度学习训练集中第i个样本即Ri,即表示第i个样本的网络流量数据包分解矩阵,i∈[1,N],N表示深度学习训练集中样本的数量;
所述卷积神经网络由第一卷积激活层、第一批量标准化层、第二卷积激活层、第二批量标准化层、……、第K卷积激活层、第K批量标准化层串联级联构成;
所述第i卷积激活层包括:第i个卷积层、第i激活层
第i个卷积层的卷积核尺寸为2×2,步长为1,其中i∈[1,K],K为卷积激活层的数量;
第i个卷积层的权重为weights_convi,为待寻优的参数;
第i个卷积层的偏置为bias_convi,为待寻优的参数;
第i激活层的激活函数为ReLU函数;
所述第i批量标准化层用于加速步骤2所述优化训练收敛;
第i个批量标准化层的平移参数为shift_bni,为待寻优的参数;
第i个批量标准化层的缩放参数为scale_bni,为待寻优的参数;
i∈[1,K],K为批量标准化的层数;
所述长短期记忆网络由:压平层、长短期记忆层、随机失活层、第一全连接层、第二全连接层、归一化指数层依次串联级联构成。
所述压平层,压平操作用于降低数据维度,通过压平后的二维度数据作为长短期记忆层的输入;
所述长短期记忆层,通过门控机制,用于首先将压平后的二维度数据选择性丢弃,然后将压平后的二维度数据结合网络记忆的旧状态值进行更新,得到确定的更新值并输出至随机失活层;
所述长短期记忆层的遗忘门的权重为weightsf_lstm,为待寻优的参数;
所述长短期记忆层的遗忘门的偏置为biasf_lstm;,为待寻优的参数;
所述长短期记忆层的输入门的权重为weightsi_lstm,为待寻优的参数;
所述长短期记忆层的输入门的偏置为biasi_lstm,为待寻优的参数;
所述长短期记忆层的输出门的权重为weightsc_lstm,为待寻优的参数;
所述长短期记忆层的输出门的偏置为biasc_lstm,为待寻优的参数;
所述长短期记忆层的计算单元状态的权重为weightso_lstm,为待寻优的参数;
所述长短期记忆层的计算单元状态的偏置为biaso_lstm,为待寻优的参数;
所述随机失活层用于通过一定概率丢弃长短期记忆层的输出数据,用于避免过拟合;
所述第一全连接层,输出尺寸为W*H,W=100,H=1的一维矩阵,用于整合随机失活层的输出数据,将其映射到下一层全连接层的样本空间;
所述第一全连接层的权重为weights_dense1,为待寻优的参数;
所述第一全连接层的偏置为bias_dense1,为待寻优的参数;
所述第二全连接层,输出为深度学习训练集中预测样本的设备类型的总数M,用于整合第一全连接层的输出,最终映射到全部设备分类类型的样本空间;
所述第二全连接层的权重为weights_dense2,为待寻优的参数;
所述第二全连接层的偏置为bias_dense2,为待寻优的参数;
所述归一化指数层,用于将第二全连接层连续的输出特征转化为离散的预测特征;
神经网络的最终目的是进行分类,因此该层先对第二全连接层的输出特征做softmax运算,然后使用更适合衡量两个概率分布差异的交叉熵损失函数作为测量函数,对上层的学习结果进行优化,使得最终结果是针对第i个样本预测的设备类型typei,1*、typei,2*、……、typei,M*的一个概率分布,i∈[1,N],N表示深度学习训练集中样本的数量,M表示深度学习训练集中所包含的总的设备类型数;
步骤3所述构建复合神经网络物联网流量分类损失函数模型为:
这里使用到的损失函数模型为交叉熵损失函数,交叉熵损失函数定义为
Figure BDA0002822162960000061
其中N为训练样本的总数;
预测概率分布为
Figure BDA0002822162960000062
为第i个样本的神经网络预测设备类型predict_typei,1、predict_typei,2、……、predict_typei,M的概率分布,其中predict_typei,j标签对应的概率值为
Figure BDA0002822162960000063
真实的标签概率分布为y(i),为步骤1所述第i个样本的真实设备类型typei,1、typei,2、……、typei,M的概率分布,如果第i个样本的设备类型为typei,j,则设其对应的概率值y(i)j概率为一,其对应的其他设备类型typei,k(k≠j)标签概率值y(i)k为零;
所述复合神经网络物联网流量分类损失函数模型定义为:
Figure BDA0002822162960000064
其中,M为深度学习训练集中所包含的总的设备类型数。交叉熵损失函数l(Θ)需要计算全部训练样本的
Figure BDA0002822162960000065
值,并求平均。神经网络的训练目标设为使预测概率分布
Figure BDA0002822162960000066
尽可能接近真实的标签概率分布y(i),即为使得交叉熵损失函数l(Θ)最小化;最终计算得到预测分类的概率;
步骤3所述通过深度学习训练集进行优化训练得到网络寻优化参数集为:
通过Adam优化算法对网络参数进行寻优,得到步骤2中所述的网络寻优化参数集为:
第i层卷积激活层寻优后的权重参数为weights_convi_besti*;
第i层卷积激活层寻优后的偏置参数为bias_convi_besti*;
第i层批量标准化层寻优后的平移参数为shift_bni_besti*;
第i层批量标准化层寻优后的缩放参数为scale_bni_besti*;
对于长短期记忆层:
寻优后的权重参数分别为weightsf_lstm_best*、weightsi_lstm_best*、weightsc_lstm_best*、weightso_lstm_best*;
寻优后的偏置参数分别为biasf_lstm_best*、biasi_lstm_best*、biasc_lstm_best*、biaso_lstm_best*;
对于第一全连接层:
寻优后的权重参数分别为weights_dense1_best*;
寻优后的偏置参数分别为bias_dense1_best*;
对于第二全连接层:
寻优后的权重参数分别为weights_dense2_best*;
寻优后的偏置参数分别为bias_dense2_best*。
经过整个的流量以二维矩阵的形式进行输入,其中一维代表数据包长,另一维一个样本中数据包的总个数。每个样本先后经过两个卷积层,两个卷积层之间有批量标准化步骤。得到的结果经过Flatten压缩维度后将数据包个数所在维度作为时间维度再经过LSTM层。并且在LSTM中设置了Dropout并将输出交与全连接层处理。最后的输出通过Softmax得到每种类别的可能性概率。
作为优选,步骤4具体包括以下步骤:
步骤4.1:依据用户指定的IP范围进行设备识别操作;
在执行具体识别工作前,首先需要指定具体的IP范围;
从中心路由器上实时采集到每个IP相关的流量数据;
这些数据将以搜集到的时间顺序进行排列,以IP为单位分割成单独的Pcap流量数据文件;
步骤4.2:以IP为划分的数据将再次经过预处理操作;
这里的预处理同样包括IP地址、MAC地址以及负载部分的裁剪模糊;
通过预处理,数据形式与训练时的数据形式达成一致;
步骤4.3:到达多分类器的流量经过预测,得到其类型标签;
根据标签和第一个模块中的映射关系,找到设备的详细信息并进行补充整合后形成最后的设备信息列表;
同时为了确保识别效果的准确性,在系统开始实时使用之后,需要定期重新采集网络中的流量信息进行模型的重新预测;
此外,在当信息搜集模块中有新设备的数据被记录到后,需要对多分类器进行重新的训练与替换,当替换新的分类器后,需要对目标区域的流量数据进行重新识别。
本发明的优点:
本发明区别于传统的入侵式识别方式,从流量识别技术的角度入手,构建了基于深度学习的物联网设备类型自动获取框架。相较于以往的研究,本发明是一种适用范围更广的设备识别系统。
本发明构建了主被动结合的物联网设备信息获取机制,通过多角度信息搜集为流量对应设备提供详细的信息,实现了利用设备信息完成自动样本标注。
本发明通过CNN+LSTM的复合神经网络对设备的网络行为特征进行学习,进而能够识别目标网域中的物联网设备,提供了识别正确率。
本发明的设备实时识别阶段不需要再向设备执行主动操作,只需采集网域中的设备流量,经过较少的预处理操作后,通过预先训练好的分类器即可得知设备详细信息,实现了物联网场景下的实时设备识别。
附图说明
图1是本发明系统设计框架的设计图。
图2是本发明实施例的主动信息搜集的流程图。
图3是本发明实施例的流量与处理的流程图。
图4是本发明实施例构建的CNN-LSTM复合网络结构示意图。
图5是本发明神经网络对数据的处理流程图。
图6是本发明实施例的实时识别模块的数据处理流程图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
下面结合图1至图6介绍本发明的具体实施方式为:
本发明第一实施例为一种基于深度学习的物联网设备类型自动识别方法。
该方法通过采集物联网设备流量信息,基于物联网设备规则化的网络行为,构建了以深度学习为中心的物联网设备识别方案。如图1所示,为本发明方法流程图,具体包括以下步骤:
步骤1:通过基于设备扫描的信息获取、基于自动化搜索框架的信息获取、设备网络信息的被动搜集实现物联网设备信息搜集,将搜索的物联网设备信息作为深度学习训练集的扩展标签;
如图2所示,在数据采集阶段,搜集到的数据通过搜索框架进行整理和扩展,从而构建设备信息数据集。
对于物联网的设备信息搜集,信息搜集模块依据获取方式分为基于设备扫描的信息获取、基于自动化搜索框架的信息获取、设备网络信息的被动搜集;
步骤1所述的基于设备扫描的信息获取、基于自动化搜索框架的信息获取获取方式则为主动获取;
步骤1所述设备网络信息的被动搜集则为被动获取;
步骤1所述基于设备扫描的信息获取为:
除了部分需要通过中心控制器才能与互联网交互的设备,较大部分物联网设备通过网线与路由器或者交换机相连,或者通过Wifi连接的方式进行网络交互。这样连接的设备可以通过扫描工具直接的从设备获取信息。通过扫描器扫描方式,可以获取到物联网设备的操作系统甚至是完整的应用程序、操作系统和硬件设备的类别信息,以及开放端口以及相应服务信息;
步骤1所述基于自动化搜索框架的信息获取为:
当确定设备有开放端口并获取到一定的响应数据时,本发明需要对扫描到的设备信息进行进一步的扩展,目的是由此获得更丰富的非流量信息;自动化搜索框架的关键原理是来自那些IoT设备的应用层协议中的响应数据通常包含其制造商的高度相关内容,会自动生成基于物联网设备中的应用数据与相应的描述网站工作时它能够根据应用层返回的标识信息,提取可能与设备信息有关的关键字,并依据设备信息识别搜索框架从网页及相关数据库中获得可能符合的信息,最终筛选过滤得到规范化设备信息;设备信息由Nmap联合获得,该模块从Nmap的响应提取与服务相关的信息;知道可用服务的情况下,该模块模拟一个客户端使用cURL发送请求以获取这些服务的响应,并将响应转发给ARE,以便进一步分析,以生成更丰富的设备信息;
步骤1所述设备网络信息的被动搜集为:
物联网设备的一大特征就是其行为具有规范性,能够通过分析网络流量得到特定于设备的行为特征;设备的网络通讯信息通常包括时间,信息传递源与目的,使用的网络通信协议,数据包长以及包负载等信息;每种信息对于物联网设备而言都可以体现一定的特征;这类信息需要分析设备在一段时间内的流量数据,而流量数据通过抓包工具进行捕捉后进行存储;对于被动收集,通过中央路由器收集设备流量;流量被转发到该模块进行处理,根据IP地址分开并存储到不同的文件中;通过使用dumpcap来收集物联网设备的数据包,并统一存储到设备信息库中;
步骤2:将历史流量数据通过流量拆分、数据切割转换、流量清洗进行预处理并得到预处理后流量数据,通过预处理后流量数据构建深度学习训练集,人工标注深度学习训练集中每个样本的流量类型,如图3所示;
步骤2所述流量拆分为:
使用IP地址作为唯一标识符来分割网络流量数据,得到拆分后流量数据;
步骤2所述数据切割与转换为:
删除拆分后流量数据的额外包头,保留单独的包内容,得到转换后流量数据;
步骤2所述流量清洗为:
清洗转换后流量数据中的IP地址、MAC地址、应用层数据;
步骤2所述预处理后流量数据为:
datai,i∈[1,N],datai表示预处理后流量数据中第i个样本的网络流量数据包,N表示网络流量数据包的数量;
步骤2所述构建深度学习训练集为:
将第i个样本的网络流量数据包即datai分解为datai_num段分解数据包,每段分解数据包的长度为datai_len,通过datai_num段分解数据包构建,具体定义为:
Ri(u,v),u∈[1,datai_num],v∈[1,datai_len]
其中,Ri(u,v)表示第i个样本的网络流量数据包分解矩阵中第u行第v列的元素,Ri表示第i个样本的网络流量数据包分解矩阵即深度学习训练集中第i个样本,N表示深度学习训练集中样本的数量;
步骤2所述每个样本的设备类型为:
typei,j,i∈[1,N],j∈[1,M]
其中,typei,j表示深度学习训练集中第i个样本的设备类型,N表示深度学习训练集中样本的数量,M表示深度学习训练集中所包含的总的设备类型数;
步骤3:构建复合神经网络物联网流量分类模型,构建复合神经网络物联网流量分类损失函数模型,通过深度学习训练集进行优化训练得到网络寻优化参数集,根据网络寻优化参数集构建训练后复合神经网络物联网流量分类模型,具体的网络结构如图4所示;
步骤3所述复合神经网络物联网流量分类模型由深度卷积神经网络与长短期记忆网络串联级联构成;
所述深度卷积神经网络由输入层、卷积神经网络串联级联构成
所述输入层,输入步骤1中所述深度学习训练集中第i个样本即Ri,即表示第i个样本的网络流量数据包分解矩阵,i∈[1,N],N表示深度学习训练集中样本的数量;
所述卷积神经网络由第一卷积激活层、第一批量标准化层、第二卷积激活层、第二批量标准化层、……、第K卷积激活层、第K批量标准化层串联级联构成;
所述第i卷积激活层包括:第i个卷积层、第i激活层
第i个卷积层的卷积核尺寸为2×2,步长为1,其中i∈[1,K],K为卷积激活层的数量;
第i个卷积层的权重为weights_convi,为待寻优的参数;
第i个卷积层的偏置为bias_convi,为待寻优的参数;
第i激活层的激活函数为ReLU函数;
所述第i批量标准化层用于加速步骤2所述优化训练收敛;
第i个批量标准化层的平移参数为shift_bni,为待寻优的参数;
第i个批量标准化层的缩放参数为scale_bni,为待寻优的参数;
i∈[1,K],K为批量标准化的层数;
所述长短期记忆网络由:压平层、长短期记忆层、随机失活层、第一全连接层、第二全连接层、归一化指数层依次串联级联构成。
所述压平层,压平操作用于降低数据维度,通过压平后的二维度数据作为长短期记忆层的输入;
所述长短期记忆层,通过门控机制,用于首先将压平后的二维度数据选择性丢弃,然后将压平后的二维度数据结合网络记忆的旧状态值进行更新,得到确定的更新值并输出至随机失活层;
所述长短期记忆层的遗忘门的权重为weightsf_lstm,为待寻优的参数;
所述长短期记忆层的遗忘门的偏置为biasf_lstm;,为待寻优的参数;
所述长短期记忆层的输入门的权重为weightsi_lstm,为待寻优的参数;
所述长短期记忆层的输入门的偏置为biasi_lstm,为待寻优的参数;
所述长短期记忆层的输出门的权重为weightsc_lstm,为待寻优的参数;
所述长短期记忆层的输出门的偏置为biasc_lstm,为待寻优的参数;
所述长短期记忆层的计算单元状态的权重为weightso_lstm,为待寻优的参数;
所述长短期记忆层的计算单元状态的偏置为biaso_lstm,为待寻优的参数;
所述随机失活层用于通过一定概率丢弃长短期记忆层的输出数据,用于避免过拟合;
所述第一全连接层,输出尺寸为W*H,W=100,H=1的一维矩阵,用于整合随机失活层的输出数据,将其映射到下一层全连接层的样本空间;
所述第一全连接层的权重为weights_dense1,为待寻优的参数;
所述第一全连接层的偏置为bias_dense1,为待寻优的参数;
所述第二全连接层,输出为深度学习训练集中预测样本的设备类型的总数M,用于整合第一全连接层的输出,最终映射到全部设备分类类型的样本空间;
所述第二全连接层的权重为weights_dense2,为待寻优的参数;
所述第二全连接层的偏置为bias_dense2,为待寻优的参数;
所述归一化指数层,用于将第二全连接层连续的输出特征转化为离散的预测特征;
神经网络的最终目的是进行分类,因此该层先对第二全连接层的输出特征做softmax运算,然后使用更适合衡量两个概率分布差异的交叉熵损失函数作为测量函数,对上层的学习结果进行优化,使得最终结果是针对第i个样本预测的设备类型typei,1*、typei,2*、……、typei,M*的一个概率分布,i∈[1,N],N表示深度学习训练集中样本的数量,M表示深度学习训练集中所包含的总的设备类型数;
步骤3所述构建复合神经网络物联网流量分类损失函数模型为:
这里使用到的损失函数模型为交叉熵损失函数,交叉熵损失函数定义为
Figure BDA0002822162960000121
其中N为训练样本的总数;
预测概率分布为
Figure BDA0002822162960000122
为第i个样本的神经网络预测设备类型predict_typei,1、predict_typei,2、……、predict_typei,M的概率分布,其中predict_typei,j标签对应的概率值为
Figure BDA0002822162960000131
真实的标签概率分布为y(i),为步骤1所述第i个样本的真实设备类型typei,1、typei,2、……、typei,M的概率分布,如果第i个样本的设备类型为typei,j,则设其对应的概率值y(i)j概率为一,其对应的其他设备类型typei,k(k≠j)标签概率值y(i)k为零;
所述复合神经网络物联网流量分类损失函数模型定义为:
Figure BDA0002822162960000132
其中,M为深度学习训练集中所包含的总的设备类型数。交叉熵损失函数l(Θ)需要计算全部训练样本的
Figure BDA0002822162960000133
值,并求平均。神经网络的训练目标设为使预测概率分布
Figure BDA0002822162960000134
尽可能接近真实的标签概率分布y(i),即为使得交叉熵损失函数l(Θ)最小化;最终计算得到预测分类的概率;
步骤3所述通过深度学习训练集进行优化训练得到网络寻优化参数集为:
通过Adam优化算法对网络参数进行寻优,得到步骤2中所述的网络寻优化参数集为:
第i层卷积激活层寻优后的权重参数为weights_convi_besti*;
第i层卷积激活层寻优后的偏置参数为bias_convi_besti*;
第i层批量标准化层寻优后的平移参数为shift_bni_besti*;
第i层批量标准化层寻优后的缩放参数为scale_bni_besti*;
对于长短期记忆层:
寻优后的权重参数分别为weightsf_lstm_best*、weightsi_lstm_best*、weightsc_lstm_best*、weightso_lstm_best*;
寻优后的偏置参数分别为biasf_lstm_best*、biasi_lstm_best*、biasc_lstm_best*、biaso_lstm_best*;
对于第一全连接层:
寻优后的权重参数分别为weights_dense1_best*;
寻优后的偏置参数分别为bias_dense1_best*;
对于第二全连接层:
寻优后的权重参数分别为weights_dense2_best*;
寻优后的偏置参数分别为bias_dense2_best*。
通过结构图5可以看到,经过整个的流量以二维矩阵的形式进行输入,其中一维代表数据包长,另一维一个样本中数据包的总个数。每个样本先后经过两个卷积层,两个卷积层之间有批量标准化步骤。得到的结果经过Flatten压缩维度后将数据包个数所在维度作为时间维度再经过LSTM层。并且在LSTM中设置了Dropout并将输出交与全连接层处理。最后的输出通过Softmax得到每种类别的可能性概率。
步骤4:将训练后复合神经网络物联网流量分类模型应用于物理网设备的类型的实时识别;
如图6所示,步骤4具体包括以下步骤:
步骤4.1:依据用户指定的IP范围进行设备识别操作;
在执行具体识别工作前,首先需要指定具体的IP范围;
从中心路由器上实时采集到每个IP相关的流量数据;
这些数据将以搜集到的时间顺序进行排列,以IP为单位分割成单独的Pcap流量数据文件;
步骤4.2:以IP为划分的数据将再次经过预处理操作;
这里的预处理同样包括IP地址、MAC地址以及负载部分的裁剪模糊;
通过预处理,数据形式与训练时的数据形式达成一致;
步骤4.3:到达多分类器的流量经过预测,得到其类型标签;
根据标签和第一个模块中的映射关系,找到设备的详细信息并进行补充整合后形成最后的设备信息列表;
同时为了确保识别效果的准确性,在系统开始实时使用之后,需要定期重新采集网络中的流量信息进行模型的重新预测;
此外,在当信息搜集模块中有新设备的数据被记录到后,需要对多分类器进行重新的训练与替换,当替换新的分类器后,需要对目标区域的流量数据进行重新识别。
本发明第二实施例为:主被动结合的物联网设备信息搜集与自动标记模块的实现说明如下:
主动搜集
在主动搜集模块中,通过对设备进行常规扫描获取设备基本信息,同时对开放常用服务的设备搜集应用层返回数据,再将返回数据经整理后通过搜索框架进行扩展。具体操作分为三步,具体流程如图2所示。
步骤1:通过定期主动扫描方式进行信息获取,同时使用cURL充当服务客户端向设备发送服务请求。
步骤2:随后扫描结果被存入文件,通过脚本将其中的服务信息单独取出,抽取开放的服务信息,这里抽取的信息是HTTP服务。随后使用cURL模拟客户端向该IP发送HTTP请求,获取该服务的响应数据。
步骤3:随后从输出文件中读取协议类型。
被动搜集
在被动搜集模块中,模块通过中心路由器搜集设备流量。设备流量通过路由器转发到系统所在计算机,系统再根据IP对流量进行初步分割并存储成单独的流量文件。这里的流量使用dumpcap从路由器上搜集并统一存储。dumpcap是一种网络流量转储工具,通过它可以实时从网络捕获数据包数据并将数据包写入文件。对于能够获取到足够信息的设备,直接进入下一模块。然而根据不同设备的端口开放设置情况,本模块的搜集到的信息可能存在设备不使用常规端口无法获得足够的响应数据的情况,也无法获得厂牌型号等信息。这时需要系统管理员核实系统信息进行手工标注,若设备MAC地址信息能获取到,则借助MAC地址中的厂商标号进行辅助标注。事实上由于现在厂家关闭常用端口的情况在物联网领域相当常见,因此对于一部分物联网设备而言本模块的主动搜集部分可能只能搜集到模糊的操作系统信息,因此这也正导致了本发明研究目标的初衷,即通过被动的流量分类形式对设备进行确认。基于流量的识别模块将成为本模块的一个有力补充。
二、深度学习模块的实现说明如下:
步骤1:进行数据的预处理,数据包的预处理过程按照之前的设计,依次进行分批裁剪与模糊处理。数据的裁剪工作通过editcap进行,editcap是wireshark附带的一个数据包处理工具,它能够从输入文件中读取部分或全部捕获的数据包,并选择以各种方式对数据包进行处理,最后将处理过的数据包文件写入输出文件。它常用于对一个流文件指定编号范围的数据包进行处理,同时以字节为单位的数据包裁剪。本发明需要将指定数量的数据包打包成单独的pcap文件,并且为了减少数据高层负载带来的加密无用的信息,本发明需要对指定位置后的字节进行截取并舍弃。
步骤2:进行模型的编码与训练,由于深度学习模块的端到端设计,在对流量数据进行完相关处理工作后,本发明无需再进行任何流量工程操作,免去对任何特征的手动提取,直接将流量数据导入网络模型。本模型采用CNN-LSTM复合网络结构,基于TensorFlow的Keras框架,通过编写框架代码在数据进入模型前,将由多组数据包拼接成的训练数据转化成纯数字矩阵,随即开始训练。训练设置mini_batch大小为20,即每20组数据进行一次网络参数更新。训练所选epoch大小为30,1个epoch代表所有样本都经过一次训练,这里就是三十次。此外损失函数设置为categorical_crossentropy,优化器选择为rmsprop,同时为了防止过拟合设置了earlystop其中以val_loss为参照条件patience设置为10,表示如果连续10个epoch内的val_acc都没有降低的话就停止训练。
三、实时识别模块的实现说明如下:
实时识别模块通过安装到路由器上的OpenWRT固件并结合dumpcap进行实时流量采集,然后对流量数据进行预处理后,输入给分类模型进行识别。
步骤1:OpenWRT是一个针对嵌入式设备的Linux操作系统,常作为路由器固件进行使用。本发明将OpenWRT安装到中心路由器上并通过自定义配置进行实时流量采集。同时,为了对采集到的流量按照指定的IP范围进行分流,采用dumpcap在路由器后端捕捉并进行批量实时切流。这里的dumpcap的运行方式和搜集阶段类似,但是这里的搜集目标只有目标区域的IP。
步骤2:每个IP的数据包捕捉完毕后,模块将执行数据包的裁剪与清洗步骤,执行过程由封装了editcap与tshark的脚本工具包完成。
步骤3:预处理结束后的流量数据将作为输入直接导入模型进行预测,依据预测结果判断IP对应设备种类。当设备判定结果为物联网设备且有关联的预搜集信息时,将完整信息对应到IP整合输出保存。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (1)

1.一种基于深度学习的物联网设备指纹识别方法,其特征在于,包括以下步骤:
步骤1:通过基于设备扫描的信息获取、基于自动化搜索框架的信息获取、设备网络信息的被动搜集实现物联网设备信息搜集,将搜集的物联网设备信息作为深度学习训练集的扩展标签;
步骤2:将历史流量数据通过流量拆分、流量切割转换、流量清洗进行预处理并得到预处理后流量数据,通过预处理后流量数据构建深度学习训练集,人工标注深度学习训练集中每个样本的流量类型;
步骤3:构建复合神经网络物联网流量分类模型,构建复合神经网络物联网流量分类损失函数模型,通过深度学习训练集进行优化训练得到网络寻优化参数集,根据网络寻优化参数集构建训练后复合神经网络物联网流量分类模型;
步骤4:将训练后复合神经网络物联网流量分类模型应用于新增的物联网设备的类型的实时识别;
步骤1所述的基于设备扫描的信息获取、基于自动化搜索框架的信息获取方式则为主动获取;
步骤1所述设备网络信息的被动搜集则为被动获取;
步骤1所述基于设备扫描的信息获取为:
通过中心控制器才能与互联网交互的设备,物联网设备通过网线与路由器或者交换机相连,或者通过Wifi连接的方式进行网络交互;这样连接的设备可以通过扫描工具直接的从设备获取信息;通过扫描器扫描方式,可以获取到物联网设备的操作系统完整的应用程序、操作系统和硬件设备的类别信息,以及开放端口以及相应服务信息;
步骤1所述基于自动化搜索框架的信息获取为:
当确定设备有开放端口并获取到响应数据时,需要对扫描到的设备信息进行进一步的扩展,目的是由此获得非流量信息;自动化搜索框架的关键原理是:物联网设备的应用层的协议中包含了其制造商的信息,而互联网上的各种设备相关网站则有物联网设备的信息;因此,自动化搜索框架自动生成基于物联网设备中的应用数据与相应的描述网站上的设备信息之间的关系;工作时它能够根据应用层返回的标识信息,提取与设备信息有关的关键字,并依据设备信息识别搜索框架从网页及相关数据库中获得符合的信息,最终筛选过滤得到规范化设备信息;设备信息由Nmap联合获得,所述物联网设备从Nmap的响应提取与服务相关的信息;知道可用服务的情况下,所述物联网设备模拟一个客户端使用cURL发送请求以获取这些服务的响应,并将响应转发给ARE,以便进一步分析,以生成设备信息;所述“Nmap”是指传统的主机扫描工具;“cURL”是指对指定的URL进行网络传输的命令行工具,用于模拟客户端向设备发送请求;“ARE”是指一款基于爬虫的物联网设备信息获取框架;
步骤1所述设备网络信息的被动搜集为:
物联网设备的一大特征就是其行为具有规范性,能够通过分析网络流量得到特定于设备的行为特征;设备的网络通讯信息包括时间,信息传递源与目的,使用的网络通信协议,数据包长以及包负载信息;每种信息对于物联网设备而言都可以体现特征;这类信息需要分析设备在一段时间内的流量数据,而流量数据通过抓包工具进行捕捉后进行存储;对于被动收集,通过中央路由器收集设备流量;流量被转发保存并进行处理,根据IP地址分开并存储到不同的文件中;通过使用dumpcap来收集物联网设备的数据包,并统一存储到设备信息库中;所述“dumpcap”是指一种网络流量转储工具;
步骤2所述流量拆分为:
使用IP地址作为唯一标识符来分割网络流量数据,得到拆分后流量数据;
步骤2所述流量切割转换为:
删除拆分后流量数据的额外包头,保留单独的包内容,得到转换后流量数据;
步骤2所述流量清洗为:
清洗转换后流量数据中的IP地址、MAC地址、应用层数据;
步骤2所述预处理后流量数据为:
datai,i∈[1,N],datai表示预处理后流量数据中第i个样本的网络流量数据包,N表示网络流量数据包的数量;
步骤2所述构建深度学习训练集为:
将第i个样本的网络流量数据包即datai分解为datai_num段分解数据包,每段分解数据包的长度为datai_len,通过datai_num段分解数据包构建,具体定义为:
Ri(u,v),u∈[1,datai_num],v∈[1,datai_len]
其中,Ri(u,v)表示第i个样本的网络流量数据包分解矩阵中第u行第v列的元素,Ri表示第i个样本的网络流量数据包分解矩阵即深度学习训练集中第i个样本,N表示深度学习训练集中样本的数量,i∈[1,N],i表示样本的序号;
步骤2所述每个样本的设备类型为:
typei,j,i∈[1,N],j∈[1,M]
其中,typei,j表示深度学习训练集中第i个样本的设备类型,N表示深度学习训练集中样本的数量,M表示深度学习训练集中所包含的总的设备类型数;
步骤3所述复合神经网络物联网流量分类模型由深度卷积神经网络与长短期记忆网络串联级联构成;
所述深度卷积神经网络由输入层、卷积神经网络串联级联构成;
所述输入层,输入步骤2中所述深度学习训练集中第i个样本即Ri,即表示第i个样本的网络流量数据包分解矩阵,i∈[1,N],N表示深度学习训练集中样本的数量;
所述卷积神经网络由第一卷积激活层、第一批量标准化层、第二卷积激活层、第二批量标准化层、……、第i卷积激活层、第i批量标准化层、……、第K卷积激活层、第K批量标准化层串联级联构成;
所述第i卷积激活层包括:第i个卷积层、第i激活层;
第i个卷积层的卷积核尺寸为2×2,步长为1,其中i∈[1,K],K为卷积激活层的数量;
第i个卷积层的权重为weights_convi,为待寻优的参数;
第i个卷积层的偏置为bias_convi,为待寻优的参数;
第i激活层的激活函数为ReLU函数;
所述第i批量标准化层用于加速步骤3所述优化训练的收敛;
第i个批量标准化层的平移参数为shift_bni,为待寻优的参数;
第i个批量标准化层的缩放参数为scale_bni,为待寻优的参数;
i∈[1,K],K为批量标准化的层数;
所述长短期记忆网络由:压平层、长短期记忆层、随机失活层、第一全连接层、第二全连接层、归一化指数层依次串联级联构成;
所述压平层,压平操作用于降低数据维度,通过压平后的二维度数据作为长短期记忆层的输入;
所述长短期记忆层,通过门控机制,用于首先将压平后的二维度数据选择性丢弃,然后将压平后的二维度数据结合网络记忆的旧状态值进行更新,得到确定的更新值并输出至随机失活层;
所述长短期记忆层的遗忘门的权重为weightsf_lstm,为待寻优的参数;
所述长短期记忆层的遗忘门的偏置为biasf_lstm,为待寻优的参数;
所述长短期记忆层的输入门的权重为weightsi_lstm,为待寻优的参数;
所述长短期记忆层的输入门的偏置为biasi_lstm,为待寻优的参数;
所述长短期记忆层的输出门的权重为weightsc_lstm,为待寻优的参数;
所述长短期记忆层的输出门的偏置为biasc_lstm,为待寻优的参数;
所述长短期记忆层的计算单元状态的权重为weightso_lstm,为待寻优的参数;
所述长短期记忆层的计算单元状态的偏置为biaso_lstm,为待寻优的参数;
所述随机失活层用于通过丢弃长短期记忆层的输出数据,用于避免过拟合;
所述第一全连接层,输出尺寸为W*H,W=100,H=1的一维矩阵,用于整合随机失活层的输出数据,将其映射到下一层全连接层的样本空间;
所述第一全连接层的权重为weights_dense1,为待寻优的参数;
所述第一全连接层的偏置为bias_dense1,为待寻优的参数;
所述第二全连接层,输出为深度学习训练集中预测样本的设备类型的总数M,用于整合第一全连接层的输出,最终映射到全部设备分类类型的样本空间;
所述第二全连接层的权重为weights_dense2,为待寻优的参数;
所述第二全连接层的偏置为bias_dense2,为待寻优的参数;
所述归一化指数层,用于将第二全连接层连续的输出特征转化为离散的预测特征;
神经网络的最终目的是进行分类,因此该层先对第二全连接层的输出特征做softmax运算,然后使用更适合衡量两个概率分布差异的交叉熵损失函数作为测量函数,对上层的学习结果进行优化,使得最终结果是针对第i个样本预测的设备类型typei,1*、typei,2*、……、typei,M*的一个概率分布,i∈[1,N],N表示深度学习训练集中样本的数量,M表示深度学习训练集中所包含的总的设备类型数;
步骤3所述构建复合神经网络物联网流量分类损失函数模型为:
这里使用到的损失函数模型为交叉熵损失函数,交叉熵损失函数定义为:
Figure FDA0003533720710000051
其中,N为训练样本的总数;
预测概率分布为
Figure FDA0003533720710000052
为第i个样本的神经网络预测设备类型predict_typei,1、predict_typei,2、……、predict_typei,M的概率分布,其中predict_typei,j标签对应的概率值为y(i)j
真实的标签概率分布为y(i),为步骤1所述第i个样本的真实设备类型typei,1、typei,2、……、typei,M的概率分布,如果第i个样本的设备类型为typei,j,则设其对应的概率值y(i)j概率为一,其对应的其他设备类型typei,k(k≠j)标签概率值y(i)k为零;
所述复合神经网络物联网流量分类损失函数模型定义为:
Figure FDA0003533720710000053
其中,M为深度学习训练集中所包含的总的设备类型数;交叉熵损失函数l(Θ)需要计算全部训练样本的H(y(i),y(i))值,并求平均;神经网络的训练目标设为使预测概率分布
Figure FDA0003533720710000054
尽可能接近真实的标签概率分布y(i),即为使得交叉熵损失函数l(Θ)最小化;最终计算得到预测分类的概率;
步骤3所述通过深度学习训练集进行优化训练得到网络寻优化参数集为:
通过Adam优化算法对网络参数进行寻优,得到步骤3中所述的网络寻优化参数集为:
第i层卷积激活层寻优后的权重参数为weights_convi_besti*;
第i层卷积激活层寻优后的偏置参数为bias_convi_besti*;
第i层批量标准化层寻优后的平移参数为shift_bni_besti*;
第i层批量标准化层寻优后的缩放参数为scale_bni_besti*;
对于长短期记忆层:
寻优后的权重参数分别为weightsf_lstm_best*、weightsi_lstm_best*、weightsc_lstm_best*、weightso_lstm_best*;
寻优后的偏置参数分别为biasf_lstm_best*、biasi_lstm_best*、biasc_lstm_best*、biaso_lstm_best*;
对于第一全连接层:
寻优后的权重参数分别为weights_dense1_best*;
寻优后的偏置参数分别为bias_dense1_best*;
对于第二全连接层:
寻优后的权重参数分别为weights_dense2_best*;
寻优后的偏置参数分别为bias_dense2_best*;
经过整个的流量以二维矩阵的形式进行输入,其中一维代表数据包长,另一维代表一个样本中数据包的总体个数;每个样本先后经过两个卷积层,两个卷积层之间有批量标准化步骤;得到的结果经过Flatten压缩维度后将数据包个数所在维度作为时间维度再经过LSTM层;并且在LSTM中设置了Dropout并将输出交与全连接层处理;最后的输出通过Softmax得到每种类别的可能性概率;所述“Relu”、“softmax”是指深度学习常用的激活函数,这些激活函数使得神经网络的输出变为输入的非线性组合;“Adam”是指深度学习常用的优化器算法,用于训练神经网络;“Flatten”是指将多维度的输入降低到低维度的方法;“LSTM”是指深度学习中的长短期记忆网络,这种网络擅长学习时间相关的动态行为;“Dropout”是指深度学习中常用的正则化技术,减少神经网络对于任意输入的过度依赖,可以一定程度避免模型过拟合;
步骤4具体包括以下步骤:
步骤4.1:依据用户指定的IP范围进行设备识别操作;
在执行具体识别工作前,首先需要指定具体的IP范围;
从中心路由器上实时采集到每个IP相关的流量数据;
这些数据将以搜集到的时间顺序进行排列,以IP为单位分割成单独的Pcap流量数据文件;所述“Pcap”是一种用于捕获网络流量的应用程序接口;
步骤4.2:以IP为划分的数据将再次经过预处理操作;
这里的预处理同样包括IP地址、MAC地址以及负载部分的裁剪模糊;
通过预处理,数据形式与训练时的数据形式达成一致;
步骤4.3:到达多分类器的流量经过预测,得到其类型标签;
根据标签和物联网设备类型的映射关系,找到设备的详细信息并进行补充整合后形成最后的设备信息列表;
同时为了确保识别效果的准确性,在系统开始实时使用之后,需要定期重新采集网络中的流量信息进行模型的重新预测;
此外,在当信息搜集模块中有新设备的数据被记录到后,需要对多分类器进行重新的训练与替换,当替换新的分类器后,需要对目标区域的流量数据进行重新识别。
CN202011440911.8A 2020-12-08 2020-12-08 一种基于深度学习的物联网设备指纹识别方法 Active CN112564974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011440911.8A CN112564974B (zh) 2020-12-08 2020-12-08 一种基于深度学习的物联网设备指纹识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011440911.8A CN112564974B (zh) 2020-12-08 2020-12-08 一种基于深度学习的物联网设备指纹识别方法

Publications (2)

Publication Number Publication Date
CN112564974A CN112564974A (zh) 2021-03-26
CN112564974B true CN112564974B (zh) 2022-06-14

Family

ID=75062141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011440911.8A Active CN112564974B (zh) 2020-12-08 2020-12-08 一种基于深度学习的物联网设备指纹识别方法

Country Status (1)

Country Link
CN (1) CN112564974B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113095188A (zh) * 2021-04-01 2021-07-09 山东捷讯通信技术有限公司 一种基于深度学习的拉曼光谱数据分析方法与装置
CN113132397B (zh) * 2021-04-23 2023-03-24 信阳农林学院 一种基于深度学习的网络加密流量识别方法、装置及设备
CN113191149B (zh) * 2021-05-12 2023-04-07 北京交通大学 一种自动化提取物联网设备信息的方法
CN113313156A (zh) * 2021-05-21 2021-08-27 北京工业大学 一种基于时序负载流量指纹的物联网设备识别方法及系统
CN113765891B (zh) * 2021-08-13 2024-04-09 深圳番多拉信息科技有限公司 一种设备指纹识别方法以及装置
CN113726809B (zh) * 2021-09-07 2023-07-18 国网湖南省电力有限公司 基于流量数据的物联网设备识别方法
CN115021986A (zh) * 2022-05-24 2022-09-06 中国科学院计算技术研究所 一种用于物联网设备识别可部署模型的构建方法与装置
CN115037689A (zh) * 2022-06-06 2022-09-09 西安明赋云计算有限公司 一种网络流量智能调度的方法及系统
CN115277063B (zh) * 2022-06-13 2023-07-25 深圳铸泰科技有限公司 一种在ipv4与ipv6混合网络环境下的终端识别装置
CN116192765B (zh) * 2023-03-14 2024-07-12 东南大学 一种基于注意力机制的物联网设备流量早期识别方法
CN116471307B (zh) * 2023-06-20 2023-08-22 北京中科朗易科技有限责任公司 物联网异构数据级联传输方法、装置、设备及介质
CN116662817B (zh) * 2023-07-31 2023-11-24 北京天防安全科技有限公司 物联网设备的资产识别方法及系统
CN118283075A (zh) * 2024-02-19 2024-07-02 北京中电飞华通信有限公司 基于边缘计算的电力物联网的接入平台、识别方法及设备
CN118503685A (zh) * 2024-07-18 2024-08-16 国网江苏省电力有限公司无锡供电分公司 基于设备属性和被动流量特征的设备指纹提取方法和系统
CN118675658B (zh) * 2024-08-20 2024-10-18 厦门市政工程有限公司 基于大数据的污水加药效果预测方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818793A (zh) * 2019-01-30 2019-05-28 基本立子(北京)科技发展有限公司 针对物联网的设备类型识别及网络入侵检测方法
CN109885562A (zh) * 2019-01-17 2019-06-14 安徽谛听信息科技有限公司 一种基于网络空间安全的大数据智能分析系统
CN111428789A (zh) * 2020-03-25 2020-07-17 广东技术师范大学 一种基于深度学习的网络流量异常检测方法
CN111447151A (zh) * 2019-10-30 2020-07-24 长沙理工大学 一种基于注意力机制的时空特征流量分类研究方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200243164A1 (en) * 2019-01-30 2020-07-30 Bioinformatics Solutions Inc. Systems and methods for patient-specific identification of neoantigens by de novo peptide sequencing for personalized immunotherapy
CN111222628B (zh) * 2019-11-20 2023-09-26 深圳前海微众银行股份有限公司 循环神经网络训练优化方法、设备、系统及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109885562A (zh) * 2019-01-17 2019-06-14 安徽谛听信息科技有限公司 一种基于网络空间安全的大数据智能分析系统
CN109818793A (zh) * 2019-01-30 2019-05-28 基本立子(北京)科技发展有限公司 针对物联网的设备类型识别及网络入侵检测方法
CN111447151A (zh) * 2019-10-30 2020-07-24 长沙理工大学 一种基于注意力机制的时空特征流量分类研究方法
CN111428789A (zh) * 2020-03-25 2020-07-17 广东技术师范大学 一种基于深度学习的网络流量异常检测方法

Also Published As

Publication number Publication date
CN112564974A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN112564974B (zh) 一种基于深度学习的物联网设备指纹识别方法
CN109284606B (zh) 基于经验特征与卷积神经网络的数据流异常检测系统
CN111506599B (zh) 基于规则匹配和深度学习的工控设备识别方法及系统
CN111526099B (zh) 基于深度学习的物联网应用流量检测方法
CN110222592B (zh) 一种基于互补时序行为提案生成的时序行为检测网络模型的构建方法
CN113989583A (zh) 一种互联网恶意流量检测方法及系统
CN114386514B (zh) 基于动态网络环境下的未知流量数据识别方法及装置
CN112367273B (zh) 基于知识蒸馏的深度神经网络模型的流量分类方法及装置
CN115913691A (zh) 一种网络流量异常检测方法及系统
CN113904872A (zh) 一种针对匿名服务网站指纹攻击的特征提取方法及系统
CN115473850B (zh) 一种基于ai的实时数据过滤方法、系统及存储介质
CN109583567A (zh) 一种基于CNN的Web自动扫描器指纹识别模型
CN114095447A (zh) 一种基于知识蒸馏与自蒸馏的通信网络加密流量分类方法
CN117372144A (zh) 应用于小样本场景的风控策略智能化方法及系统
CN117633627A (zh) 一种基于证据不确定性评估的深度学习未知网络流量分类方法及系统
CN117527391A (zh) 基于注意力机制和一维卷积神经网络的加密流量分类方法
Cui et al. Semi-2DCAE: a semi-supervision 2D-CNN AutoEncoder model for feature representation and classification of encrypted traffic
CN115622810B (zh) 一种基于机器学习算法的业务应用识别系统及方法
CN117172093A (zh) 基于机器学习的Linux系统内核配置的策略优化方法及装置
CN116310728A (zh) 基于CNN-Linformer模型的浏览器识别方法
CN114726800B (zh) 一种基于模型解释的规则式应用流量分类方法及系统
CN1612135A (zh) 入侵检测(保护)产品与防火墙产品中的协议识别技术
CN115660538A (zh) 一种货物运输方法及系统
CN114553790A (zh) 一种基于多模态特征的小样本学习物联网流量分类方法及系统
CN113904961A (zh) 一种用户行为识别方法、系统、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant