掌桥专利:专业的专利平台
掌桥专利
首页

一种基于跨层组合特征的物联网终端识别系统

文献发布时间:2023-06-19 19:30:30


一种基于跨层组合特征的物联网终端识别系统

技术领域

本发明涉及物联网安全领域,具体涉及一种基于跨层组合特征的物联网终端识别系统。

背景技术

海量物联网设备的引入使得接入控制和资产管理变得更加困难,同时,因为物联网设备在其功能、行为模式和通信模式上存在较大差异,设备间的异构性会导致通用安全策略无法覆盖所有设备。即使可以通过手动配置定制化的安全管理策略,但对于规模较大、设备变动频繁的网络,仅仅依靠人力去实现定制化的配置是困难的。如果想要实现自动调整定制化安全管理策略,就需要获得接入设备的相关信息。因此,如何快速准确地识别联网设备,获得其基本信息是解决问题的关键。

使用设备识别技术来作为解决上述问题的方法是目前被普遍认可的。根据特征获取方式的不同,可以将设备识别技术分为主动探测和被动监听两类。主动探测通过注入信号或探测消息来获得设备的响应,利用响应中的部分字段完成识别。主动方式的优点在于识别精度高,能够获取额外信息,但其隐蔽性差,需要额外占用流量资源,这就很容易被设备所发现。更为重要的是,主动探测依赖于设备的响应,但很多物联网设备功能单一,只接收指令,并不具备响应的能力。面对这样的设备,主动探测就失效了。与主动方式相反,被动方式选择监听目标设备的通信,从传输信号或数据包/帧中提取所需的特征进行识别,因此,不会对设备造成资源消耗,也不受现有防御机制的影响。同样地,被动监听存在获取特征有限,难以处理加密数据的特征等问题。总之,无论是主动探测还是被动监听都有其各自的优缺点,但在识别精度要求满足的情况下,被动监听的适用范围更广,成本更低,因此,是目前识别技术的主流方向。

依据特征选择可以将识别技术分为两类,一类是利用设备硬件在制造过程中不可避免的缺陷来识别设备,另一类是从各层通信协议标准中寻找未明确定义的交由制造商根据自身设备需求定义的字段。前者特定于单个设备,识别粒度很细且识别精度高,由于这些特征是硬件自身携带的,因此不易被篡改,但在海量物联网设备的背景下,去维护一个庞大的设备指纹库的成本很高,此外,随着时间的推移,设备的硬件会因为老旧和磨损产生变化,虽然这些变化可能非常细微,但反映到指纹特征上就会产生巨大影响。而后者相对于前者,在分类粒度上就比较粗。由于协议中未定义的字段数量有限,且为每一台设备设置不同的字段是不现实的,因此,厂商往往会按设备类型进行字段设置,即同一类设备的协议字段相同,这也就导致了使用这些字段作为特征的识别技术只能够识别到设备类型的层面。但它的优点也很明显,丰富的通信协议提供了丰富的特征选择,利用该类特征识别的速度快。单一特征的识别精度可能并不是很高,但多个特征的组合可以极大地提升识别精度。

关于设备识别的技术一直以来都有研究,不同的工作根据其识别目的的不同所关注的重点也不同。用于定制化安全管理策略的设备识别方法需要满足识别速度快、识别精度高、网络消耗低的要求。同时,因为相同品牌的同类设备通常具有相似的Qos和安全需求,所以在分类粒度上要达到识别设备制造商和类型的程度。但现有的国内外的技术都无法很好地满足以上要求。

因此,本领域的技术人员致力于开发一种兼顾识别速度、识别精度和资源消耗的设备识别系统。

发明内容

鉴于现有技术的上述缺陷,本发明目的在于提出一种基于跨层组合特征的物联网终端识别系统,以满足用于定制化安全管理策略的设备识别方法所需的识别速度快、识别精度高、网络消耗低的要求。

为实现上述目的,本发明提供了一种基于跨层组合特征的物联网终端识别系统,包括数据收集模块、phase 0模块、phase 1模块以及DHCP特征数据库、DNS特征数据库;其中,

所述数据收集模块:收集接入网络的设备的通信流量,并对收集到的数据包进行筛选和预处理;

所述phase 0模块:接收来自所述数据收集模块的DHCP数据包,提取所述DHCP数据包中的选项列表和请求报文的选项序列,生成对应的DHCP特征向量,将DHCP特征向量相同的设备归为一个组类,如果模型给出的分类标签是:group X,那么表示该设备属于已知的某一组,该分类标签将和其他通信数据包一起进入phase 1模块做进一步的识别;若模型给出的分类标签是未知,则说明该设备属于一个新的组,对其进行标记,并将新标签和新特征送入模型中进行重新学习;

所述Phase 1模块:接收来自所述数据收集模块的DNS数据包,利用域名的映射特性,结合独热编码的编码思路,对DNS域名特征进行处理,运用适用于文本分类问题的文本分类模型,结合phase 0模块给出的分类标签,在对应组的子样本集中对设备进行分类识别。

优选地,所述phase 0模块选择在处理高维度特征上具有良好性能的随机森林模型对设备进行分类。

优选地,所述phase 1模块在对应组的子样本集中对设备进行分类识别,包括:如果模型给出的最终分类标签是:制造商-类型-型号,则表示整个识别过程已经完成;若给出的标签是:未知,则和phase 0模块类似,将新的标签和特征送入模型中重新训练。

优选地,所述DHCP特征数据库:存储已知设备类型的DHCP特征和对应的组标签以及重学习得到的新设备类型的DHCP特征和对应的新的组标签。

优选地,所述DNS特征数据库包括:存储已知设备类型的DNS特征和对应的分类标签以及重学习得到的新设备类型的DNS特征和对应的新的分类标签。

本发明还提供了一种物联网终端识别方法,利用上述的物联网终端识别系统,并包括如下步骤:

步骤101、部署在网关处的数据收集模块连续监听接入网络的设备的通信流量,如果发现有新的设备加入所述网络,则执行步骤102;

步骤102、所述数据收集模块将获取到的DHCP数据包过滤出来,立即发送给phase0模块,同时继续监听所述设备的通信流量,经过预定时间后暂停对所述设备的监听,并将收集到的DNS数据包发送给phase 1模块;

步骤103、所述phase 0模块在接收到来自所述数据收集模块的DHCP数据包后,截取DHCP数据包中选项列表的前9个选项编号和请求报文中的前10个选项编号,并按顺序填入DHCP特征向量中,得到包含19个特征的DHCP特征向量:{δ

步骤104、将生成的所述DHCP特征向量送入训练好的随机森林模型,得到所述设备的组标签,若组标签为:group X,则跳过步骤105,执行步骤106;若组标签为:未知,则执行步骤105;

步骤105、手动为所述设备样本设置对应的组标签,将新标签和新特征送入随机森林模型中重学习,重学习结束后,执行步骤106;

步骤106、所述phase 1模块接收来自所述数据收集模块的DNS数据包和来自所述phase 0模块的设备组标签,提取设备访问的预定数量m的不同的域名,若域名数量不够,则以零向量填充,利用one2one算法对预定数量的DNS域名特征进行处理,得到一个m×66的二维特征向量;

步骤107、将生成的DNS特征向量送入训练好的文本分类模型,给出设备最终的分类标签,若分类标签为:制造商+类型+型号,则结束整个识别过程;若分类标签为:未知,则执行步骤108;

步骤108、为所述设备添加对应的分类标签,将分类标签和对应的DNS特征向量送入所述文本分类模型中进行重学习。

优选地,所述文本分类模型为textCNN模型,用所在组的子样本集训练得到。

优选地,所述步骤106的one2one算法包括如下步骤:

步骤106-1、列举所有构成该文字的独立元素;

步骤106-2、为每一个元素生成一个1×n的二进制向量,其中n为元素的总个数;

步骤106-3、以单个元素为单位对待处理文字进行划分,将每个元素对应的向量进行叠加,所得到的最终向量就是可以表征这个待处理文字的特征向量。

本发明还提供了一种电子设备,所述电子设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述权利要求6-8任一项所述的方法。

本发明还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述权利要求6-8任一项所述的方法。

本发明技术方案提供的基于跨层组合特征的物联网终端识别系统,在资源消耗较少的情况下,能兼顾识别精度和识别速度,极大提升了识别效率;同时系统识别所使用的特征是易于获取且难以篡改的,具有普适性;另外,本系统无论是在识别已知设备还是未知设备方面都展现了不错的识别准确度,并能够将未知设备的特征和标签放入训练集中重学习,从而提高了系统的泛化能力。本发明提供的物联网终端识别系统将识别精度高、识别速度快和资源消耗低的优点有机结合,满足了用于定制化安全管理策略的设备识别需要。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的一个较佳实施例的物联网终端识别系统总体架构示意图;

图2是本发明的一个较佳实施例的物联网终端识别系统phase 0模块的实现流程图;

图3是本发明的一个较佳实施例的物联网终端识别系统phase 1模块的实现流程图。

具体实施方式

以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。

首先介绍本发明中需要使用的变量及其含义:独热编码,又称one-hot编码,是比较常用的文本特征的提取方法,其实就是用N位状态寄存器编码N个状态,每个状态都有独立的寄存器位,且这些寄存器位中只有一位有效;textCNN,文本分类模型,与传统图像的CNN网络相比,textCNN在网络结构上没有任何变化,通常,textCNN其实只有一层卷积,一层max-pooling,最后将输出外接softmax来n分类;

如图1~图3所示,本发明实施例提供了一种基于跨层组合特征的物联网终端识别系统,包括数据收集模块、phase 0模块、phase 1模块以及DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)特征数据库、DNS(Domain Name System,域名系统)特征数据库;其中,

所述数据收集模块:收集接入网络的设备的通信流量,并对收集到的数据包进行筛选和预处理;

所述phase 0模块:接收来自所述数据收集模块的DHCP数据包,将所述DHCP数据包中的选项列表和请求报文的选项序列提取出来,生成对应的DHCP特征向量,将DHCP特征向量相同的设备归为一个组类,如果模型给出的分类标签是:group X,那么表示该设备属于已知的某一组,该分类标签将和其他通信数据包一起进入phase 1模块做进一步的识别;若模型给出的分类标签是未知,则说明该设备属于一个新的组,对其进行标记,并将新标签和新特征送入模型中进行重学习;

所述phase 1模块:接收来自所述数据收集模块的DNS数据包,利用域名的映射特性,结合独热编码的编码思路,对DNS域名特征进行处理,运用适用于文本分类问题的文本分类模型,结合phase 0模块给出的分类标签,在对应组的子样本集中对设备进行分类识别。

本发明实施例中的基于跨层组合特征的物联网终端识别系统通过部署在网关处来监听接入此网络的设备流量,通过对收集到的数据包进行筛选和预处理,生成DHCP特征向量和DNS特征向量。以DHCP和DNS协议中的部分字段作为特征,结合机器学习模型,通过以级联形式构成的两级的识别模块完成对接入网络中的设备类型的识别。所述phase 0模块使用DHCP特征将设备分为粒度较粗的多个group(组)类。Phase1模块在phase 0的基础上使用DNS特征做进一步的细分类,并给出最终的分类标签:制造商-类型-型号。

在本发明的一个具体实施例中,利用上述的物联网终端识别系统,提供了一种物联网终端识别方法,并包括如下步骤:

步骤101、部署在网关处的数据收集模块连续监听接入网络的设备的通信流量,如果发现有新的设备加入所述网络,则执行步骤102;

步骤102、所述数据收集模块将获取到的DHCP数据包过滤出来,立即发送给phase0模块,同时继续监听所述设备的通信流量,经过预定时间后暂停对所述设备的监听,并将收集到的DNS数据包发送给phase 1模块;

步骤103、所述phase 0模块在接收到来自所述数据收集模块的DHCP数据包后,截取DHCP数据包中选项列表的前9个选项编号和请求报文中的前10个选项编号,并按顺序填入DHCP特征向量中,得到包含19个特征的DHCP特征向量:{δ

步骤104、将生成的所述DHCP特征向量送入训练好的随机森林模型,得到所述设备的组标签,若组标签为:group X,则跳过步骤105,执行步骤106;若组标签为:未知,则执行步骤105;

步骤105、手动为所述设备样本设置对应的组标签,将新标签和新特征送入随机森林模型中重学习,重学习结束后,执行步骤106;

步骤106、所述phase 1模块接收来自所述数据收集模块的DNS数据包和来自所述phase 0模块的设备组标签,提取设备访问的预定数量m的不同的域名,在本发明的一个优选实施例中,优选预定数量m为50,若域名数量不够50,则以零向量填充,利用one2one算法对预定数量的DNS域名特征进行处理,得到一个m×66的二维特征向量;

在本发明的一个优选实施例中,所述one2one算法包括如下步骤:

步骤106-1、列举所有构成该文字的独立元素;

步骤106-2、为每一个元素生成一个1×n的二进制向量,其中n为元素的总个数;

步骤106-3、以单个元素为单位对待处理文字进行划分,将每个元素对应的向量进行叠加,所得到的最终向量就是可以表征这个待处理文字的特征向量。

步骤107、将生成的DNS特征向量送入训练好的文本分类模型,给出设备最终的分类标签,若分类标签为:制造商-类型-型号,则结束整个识别过程;若分类标签为:未知,则执行步骤108;

步骤108、为所述设备添加对应的分类标签,将分类标签和对应的DNS特征向量送入所述文本分类模型中进行重学习。

图2显示了phase 0模块的实现流程图。下面对phase 0的识别过程进行介绍。

首先,接收来自数据收集模块的DHCP数据包,从数据包中提取选项列表(optionlist)字段的前9个选项编号和和请求报文option 55字段的前10个选项编号作为特征,选项数量不够的,在对应位置上用0填补,生成1×19的特征向量。然后,将得到的特征向量送入随机森林模型进行识别,得到待检测设备的组标签。若组标签为:group X,则将该组标签和数据收集模块的其他数据包一起送进phase 1模块;若组标签为:未知(unknown),则将由系统管理员标记新的组标签,并将新的组标签和对应的DHCP特征向量放入机器学习模型中进行重学习。

图3显示了phase 1模块的实现流程图。下面对phase 1的识别过程进行介绍。

首先,接收来自数据收集模块的DNS数据包,从数据包中提取设备连入网络后5分钟内访问的前50个域名进行预处理,不满50个的用零向量填补。随后,使用one2one算法对域名进行处理,得到设备对应的DNS特征向量。接着,根据phase 0模块提供的组标签,选择用所在组的子数据集训练好的textCNN模型来对设备做进一步的识别,得到最终的分类标签。如果分类标签是:制造商-类型-型号,那么整个识别流程结束;若分类标签为:未知(unknown),则和phase 0模块类似,将系统管理员标记的新分类标签和对应的DNS特征向量送入相应的textCNN模型进行重学习。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

相关技术
  • 基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统
  • 一种基于动态选取显著特征的跨卡口行人识别系统与方法
技术分类

06120115931765