基于无监督聚类的物联网设备流量指纹识别方法和装置

文档序号:25490458发布日期:2021-06-15 21:55阅读:149来源:国知局
基于无监督聚类的物联网设备流量指纹识别方法和装置

本发明涉及网络流量分析技术领域,尤其涉及一种基于无监督聚类的物联网设备流量指纹识别方法和装置。



背景技术:

目前,互联网中物联网设备数量正处于高速增长阶段。随着物联网市场的高速增长,物联网的安全管理问题逐渐成为网络管理中的一个新的重大挑战。解决物联网安全问题的首要任务是如何能够精准的识别网络中的物联网设备。

目前用于物联网设备识别的方法主要分为两种,一种是类似于操作系统指纹识别的方法,通过网络流量中的一些特定标识符来识别设备信息(例如,http请求中的user-agent字段)。然而,由于物联网设备的种类远多于操作系统的种类,并且好多设备缺少可以提取的特定标识符,这种方法在物联网设备识别中不是很有效。另外一种方法是利用有监督的机器学习算法对已有的物联网设备的网络特征进行学习,从而构建物联网设备分类器。然而,这种方法只能应用于已知的物联网设备,并且需要大量的有标记的训练样本,这种标记方法需要较多的人力与经济成本。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种基于无监督聚类的物联网设备流量指纹识别方法,以在没有标签数据的情况下,实现物联网设备指纹的精准识别。

本发明的第二个目的在于提出一种基于无监督聚类的物联网设备流量指纹识别装置。

本发明的第三个目的在于提出一种计算机设备。

本发明的第四个目的在于提出一种非临时性计算机可读存储介质。

本发明的第五个目的在于提出一种计算机程序产品。

为达上述目的,本发明第一方面实施例提出了一种基于无监督聚类的物联网设备流量指纹识别方法,包括:提取原始流量的原始特征向量;通过vae算法对所述原始特征向量计算,获取降维后的三维特征向量;通过k-means算法对所述三维特征向量聚类计算,确定不同物联网设备的聚类边界,以便于根据所述聚类边界进行流量指纹识别处理。

为达上述目的,本发明第二方面实施例提出了一种基于无监督聚类的物联网设备流量指纹识别装置,包括:提取模块,用于提取原始流量的原始特征向量;获取模块,用于提取原始流量的原始特征向量;确定模块,用于通过k-means算法对所述三维特征向量聚类计算,确定不同物联网设备的聚类边界,以便于根据所述聚类边界进行流量指纹识别处理。

为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述第一方面实施例所述的基于无监督聚类的物联网设备流量指纹识别方法。

为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面实施例所述的基于无监督聚类的物联网设备流量指纹识别方法。

为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上述第一方面实施例所述的基于无监督聚类的物联网设备流量指纹识别方法。

本发明的实施例,至少具有如下的技术效果:

本发明设计了一种基于vae(变分自动编码器)和k-means(k-均值聚类)的无监督物联网设备流量指纹识别方法,可以在没有标签数据的情况下,实现物联网设备指纹的精准识别。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例所提供的一种基于无监督聚类的物联网设备流量指纹识别方法的流程示意图;

图2为本发明实施例所提供的一种特征选取表示意图;

图3为本发明实施例所提供的一种算法整体框架图;

图4为本发明实施例所提供的一种特征聚类结果示意图;

图5为本发明实施例所提供的一种准确率结果曲线示意图;以及

图6为本发明实施例所提供的一种基于无监督聚类的物联网设备流量指纹识别装置的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的基于无监督聚类的物联网设备流量指纹识别方法和装置。

图1为本发明实施例所提供的一种基于无监督聚类的物联网设备流量指纹识别方法的流程示意图。

针对这一问题,本发明实施例提供了基于无监督聚类的物联网设备流量指纹识别方法,如图1所示,该基于无监督聚类的物联网设备流量指纹识别方法包括以下步骤:

步骤101,提取原始流量的原始特征向量。

本实施例中,可以设计特征提取模块提取原始流量的原始特征向量,其中,如图2所示,原始特征向量包括时间和空间维度特征,在时间和空间两个维度共选取了72个维度的特征,组建成了原始的特征向量。时间维度的特征包含周期性和突发性两个维度。空间特征包含流量统计特征、二元组词袋特征、协议特征以及载荷特征。

在本发明的一个实施例中,将原始流量划分为不同的流,根据不同的mac地址。我们截取每条流的一段时间内的流量作为原始输入。在实际使用中,每条流的时间统计范围是一个小时。特征提取模块将每个原始流数据处理为一个72维的原始特征向量。

步骤102,通过vae算法对所述原始特征向量计算,获取降维后的三维特征向量。

在本实施例中,可以使用vae算法对应的vae模块将72维的原始特征向量降维到一个三维空间,来减少空间的稀疏性。vae模块包括编码、解码与损失函数设计三个部分。在编码部分,我们定义原始的特征向量为x,隐藏层的输出为z,我们使用编码器神经网络来学习一种有效的表征方法,来将原始特征向量映射到隐藏层。这种映射关系定义为qφ(z|x)。解码器也是一个神经网络结构,解码器的作用是将隐藏层的表征z还原为与原始特征向量具有相同维度的因此,我们定义解码器的映射关系为我们定义损失函数为φ表示编码器网络的权重,θ表示解码器网络的权重,表示重构误差,表示编码器与解码器之间的kl散度。

步骤103,通过k-means算法对所述三维特征向量聚类计算,确定不同物联网设备的聚类边界,以便于根据所述聚类边界进行流量指纹识别处理。

在本实施例中,vae模块将不同的物联网设备从原始特征向量聚类到了一个三维空间内。为了在三维空间在确定不同物联网设备的分类,我们使用k-means算法在三维空间内对不同设备进行聚类学习,并确定不同物联网设备的聚类边界。如图3所示,本发明的实施例中,提出了一种无监督的算法来对物联网设备进行聚类,这种方法不需要事先获取大量的标签数据。并且设计的无监督的算法解决了特征选择和模型选择两个主要的问题。

在本发明的一个实施例中,在一个具有20余种设备的网络环境中,对算法的性能进行了评估,特征聚类的评估结果如图4所示。图中不同灰度值颜色的点代表不同的设备,从图中可以看出相同类型的设备已经被聚类到相近的区域内,可以看出vae模型很好的将不同设备聚类到了三维空间内。

设备的识别准确率结果如图5所示,图中实现的曲线为本发明提出的算法的准确率结果曲线,从曲线的结果可以看出,本发明的算法在使用全部数据的情况下,可以达到86.7%的准确率,略高于一种最优的分类算法。

综上,本发明实施例的基于无监督聚类的物联网设备流量指纹识别方法,提取原始流量的原始特征向量,通过vae算法对原始特征向量计算,获取降维后的三维特征向量,进而,通过k-means算法对三维特征向量聚类计算,确定不同物联网设备的聚类边界,以便于根据聚类边界进行流量指纹识别处理。由此,基于vae(变分自动编码器)和k-means(k-均值聚类)的无监督物联网设备流量指纹识别方法,在没有标签数据的情况下,实现物联网设备指纹的精准识别。

为了实现上述实施例,本发明还提出一种基于无监督聚类的物联网设备流量指纹识别装置。

图6为本发明实施例提供的一种基于无监督聚类的物联网设备流量指纹识别装置的结构示意图。

如图6所示,该基于无监督聚类的物联网设备流量指纹识别装置包括:提取模块610、获取模块620、确定模块630。

其中,提取模块610,用于提取原始流量的原始特征向量;

获取模块620,用于提取原始流量的原始特征向量;

确定模块630,用于通过k-means算法对所述三维特征向量聚类计算,确定不同物联网设备的聚类边界,以便于根据所述聚类边界进行流量指纹识别处理。

需要说明的是,前述对基于无监督聚类的物联网设备流量指纹识别方法实施例的解释说明也适用于该实施例的基于无监督聚类的物联网设备流量指纹识别装置,此处不再赘述。

为了实现上述实施例,本发明还提出一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例所描述的基于无监督聚类的物联网设备流量指纹识别方法。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所描述的基于无监督聚类的物联网设备流量指纹识别方法。

为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上述实施例所描述的基于无监督聚类的物联网设备流量指纹识别方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1