本发明涉及一种基于主被动扫描结合的物联网设备识别方法。
背景技术:
1、目前的物联网设备识别方法主要分为主动式扫描识别和被动式扫描识别。其中,主动式扫描识别方法是通过编写主动式扫描器,对目标设备的http端口进行扫描,扫描出设备的web界面,提取web界面特征,通过构建正则表达式或者机器学习模型识别物联网设备,其中最为代表性的就是2020年lavrovs等人提出的方法,基于主动式扫描的识别方法往往受到http协议和web界面的限制,并不是每个物联网设备都使用http协议以及web界面,并不适用于所有设备,所以这种方法的限制较大、普适性较差。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种基于主被动扫描结合的物联网设备识别方法,旨在解决上述问题。
2、为实现上述目的,本发明采用如下技术方案:
3、一种基于主被动扫描结合的物联网设备识别方法,包括以下步骤:
4、步骤s1:服务器接收网关的流量,获取被动扫描结果,并提取被动扫描特征集;
5、步骤s2:通过扫描器主动扫描,并从响应中收集特征,获取主动扫描特征集;
6、步骤s3:将被动扫描特征集与主动扫描特征集合并,得到特征集,并基于信息增益的特征选择算法对特征集进行特征选择,得到最终的特征集;
7、步骤s4:基于最终的特征集分别集成学习模型;
8、步骤s5:基于集成学习模型的输出结果,通过投票器最终决定识别结果。
9、进一步的,所述基于信息增益的特征选择算法,具体为:
10、其中,fm是表示原始的特征空间,c表示类别,fs表示特征选择算法过滤后的特征空间,β是权重参数,具体流程如下:
11、(1)计算每个特征与类别的信息增益,选择得分最高并且大于阈值的特征,放入过滤后的特征空间fs,同时把这个特征从特征集中删除;
12、(2)计算特征集中每个特征与fs中每个特征的信息增益,并将这些信息增益相加取平均,乘参数β;
13、(3)得分相减就是最终这些特征的得分,选择得分最高并且大于阈值的特征,放入过滤后的特征空间fs,同时把这个特征从特征集中删除,重复步骤(1)-(3)直至所有特征选择完毕。
14、进一步的,所述集成机器学习模型包括xgboost、rf和knn模型。
15、一种基于主被动扫描结合的物联网设备识别系统,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,具体执行如上所述的一种基于主被动扫描结合的物联网设备识别方法中的步骤。
16、一种基于主被动扫描结合的物联网设备识别装置,包括:
17、存储器,存储有程序或指令;
18、处理器,执行所述程序或指令;
19、其中,所述处理器在执行所述程序或指令时,实现如上所述的基于主被动扫描结合的物联网设备识别方法的步骤。
20、一种可读存储介质,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时,实现如上所述的基于主被动扫描结合的物联网设备识别方法的步骤。
21、本发明与现有技术相比具有以下有益效果:
22、本发明将主动式和被动式的方法结合起来,摆脱web界面的局限性,使用主动扫描收集的特征,以及使用少量被动流量中的简单特征构建机器学习模型,提高普适性,降低识别的时间开销。
1.一种基于主被动扫描结合的物联网设备识别方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于主被动扫描结合的物联网设备识别方法,其特征在于,所述基于信息增益的特征选择算法,具体为:
3.根据权利要求1所述的基于主被动扫描结合的物联网设备识别方法,其特征在于,所述集成机器学习模型包括xgboost、rf和knn模型。
4.一种基于主被动扫描结合的物联网设备识别系统,其特征在于,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,具体执行如权利要求1-3任一项所述的一种基于主被动扫描结合的物联网设备识别方法中的步骤。
5.一种基于主被动扫描结合的物联网设备识别装置,其特征在于,包括:
6.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时,实现如权利要求1至3中任一项所述的基于主被动扫描结合的物联网设备识别方法的步骤。