CN109948650B - 一种基于报文特征的智能家居设备类型判定方法 - Google Patents
一种基于报文特征的智能家居设备类型判定方法 Download PDFInfo
- Publication number
- CN109948650B CN109948650B CN201910112488.XA CN201910112488A CN109948650B CN 109948650 B CN109948650 B CN 109948650B CN 201910112488 A CN201910112488 A CN 201910112488A CN 109948650 B CN109948650 B CN 109948650B
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- message
- classifier
- type
- matched
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Collating Specific Patterns (AREA)
Abstract
本发明提供一种基于报文特征的智能家居设备类型判定方法,包括以下步骤:S1:生成设备指纹,在设备初始化连接过程中将数据报文进行特征化,每个设备指纹采用一个矩阵表示,矩阵每列为每个报文的特征,每行为一个特征在每个数据报文中的值,生成完整指纹;S2:分类器生成,为每个已知设备指纹建立一个分类器,当一个设备指纹输入时,分类器均能得到一个二元分类结果表明该指纹数据是否匹配该设备类型;S3:确定设备类型,当一个设备指纹输入时,如果该指纹只被一个分类器匹配,则该分类即为该设备的分类。本发明通过设备指纹信息并基于机器学习的分类模型,将设备指纹映射成最终的设备类型。
Description
技术领域
本发明属于智能家居技术领域,具体涉及一种基于报文特征的智能家居设备类型判定方法。
背景技术
随着物联网技术的发展和市场规模逐步扩大,在家居环境安装智能家居解决方案越来越普遍,越来越多人为家里配置了智能家居设备以提高生活品质,这些多种多样的设备由不同厂商提供,这些厂商大多来自于传统制造行业,缺乏物联网安全专业知识,设备和系统容易出现安全漏洞,这些漏洞很容易被攻击者利用,因此近年来物联网设备的安全事件也是经常发生。
家庭主机(网关)在管理这些设备时,需要知道这些接入的智能家居设备的具体类型,同时获取了设备的具体类型的以后,可以网关上开发基于设备类型规则的访问控制、安全防护等功能。但由于目前智能家居类产品的厂商和品类特别多,接入的时候也是通过各厂商自己的应用进行配置的,对于接入层的家庭主机(网关)难以通过现有的技术获取到接入的智能家居设备的类型。
发明内容
本发明的目的是提供一种基于报文特征的智能家居设备类型判定方法,通过设备指纹信息并基于机器学习的分类模型,将设备指纹映射成最终的设备类型。
本发明提供了如下的技术方案:
一种基于报文特征的智能家居设备类型判定方法,包括以下步骤:
S1:生成设备指纹,在设备初始化连接过程中将数据报文进行特征化,每个设备指纹采用一个矩阵表示,矩阵每列为每个报文的特征,每行为一个特征在每个数据报文中的值,生成完整指纹;
S2:分类器生成,为每个已知设备指纹建立一个分类器,当一个设备指纹输入时,分类器均能得到一个二元分类结果表明该指纹数据是否匹配该设备类型;
S3:确定设备类型,当一个设备指纹输入时,如果该指纹只被一个分类器匹配,则该分类即为该设备的分类;如有多个设备分类器匹配到该设备指纹信息,则对于被多个分类器匹配的指纹,使用编辑距离算法,挑选出匹配度最高的设备类型,确定其设备类型。
优选的,对于每个设备,在完整指纹中选取前十二个不同内容的报文,生成240(12×20)维的特征向量,生成固定指纹。
优选的,设备指纹分类器的生成采用固定指纹并包括以下步骤:
S21:定义包含多个设备类型的指纹集合S,设备类型Di并挑选出设备类型Di的所有指纹,定义为集合S中剩下指纹,它们的设备类型Dx≠Di,定义为/>
S22:选取出来的样本集和样本集/>的子集,使用随机森林算法进行训练,得到设备类型Di对应的分类器Ci;
S23:对于指纹集S中的每个设备类型,重复步骤S21和S22,得到集合S中的每个设备类型的分类器Ci。
优选的,所述随机森林算法决策树包括以下步骤:
S231:用N来表示训练用例的个数,M表示特征数目;
S232:输入特征数目m,用于确定决策树上一个节点的决策结果,其中m小于M;
S233:从N个训练用例中以有放回抽样的方式,取样N次,形成一个训练集,并用未抽到的用例作预测,评估其误差;
S234:对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的,根据这m个特征,计算其最佳的分裂方式;
S235:每棵树都会完整成长而不会剪枝,形成决策树算法模型。
优选的,所述S3中如有多个设备分类器匹配到该设备指纹信息,则对于被多个分类器匹配的指纹,使用编辑距离算法,包括以下步骤:
S31:将设备指纹看作一个字符串,矩阵的每一列看作一个字符,将报文对应到编辑算法中,字符相等的含义就是报文中的所有特征与另一个报文相同;
S32:计算两个指纹的距离,看作两个字符串的距离,使用编辑距离算法,将计算得到的距离值除以较长的长度,使距离归一化到[0,1]的范围内;
S33:对匹配到的设备类型,随机选取样本集中的五个设备指纹值,计算与指纹的距离,重复步骤S32,然后对这些值求和得到最终的距离分数,选取距离分数最小的分类就是最终预测的分类。
本发明的有益效果是:本发明不依赖于数据报文的内容,对于报文加密的情况也能提取出特征并进行最终的判定;其判定的速度快,通过两步式的分类过程,经过第一步的筛选,可以显著减少计算量,更快得到判定结果;分类器的生成不影响已有分类器,无需重新训练,显著提高了训练效率;根据设备类型判定方法可以自动发现新的设备分类。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明判定过程示意图。
具体实施方式
如图1所示,一种基于报文特征的智能家居设备类型判定方法,S1:生成设备指纹,在设备初始化连接过程中将数据报文进行特征化,每个设备指纹采用一个矩阵表示,矩阵每列为每个报文的特征,每行为一个特征在每个数据报文中的值,生成完整指纹;S2:分类器生成,为每个已知设备指纹建立一个分类器,当一个设备指纹输入时,分类器均能得到一个二元分类结果表明该指纹数据是否匹配该设备类型;S3:确定设备类型,当一个设备指纹输入时,如果该指纹只被一个分类器匹配,则该分类即为该设备的分类;如有多个设备分类器匹配到该设备指纹信息,则对于被多个分类器匹配的指纹,使用编辑距离算法,挑选出匹配度最高的设备类型,确定其设备类型,确定类型分解成两步的好处在于,通过第一步的流程可以显著减少计算编辑距离需要比较的数量,显著加快了分类的速度同时提高了方法的可扩展性。
具体的,智能家居设备需要连接到家庭网络中以提供本地和远程的数据采集和设备控制能力,不同厂商的不同类型的设备在初始化连接的过程中数据报文,通常都会有一些特有的交互流程,本方法将整个过程中的数据报文特征化,这里将链接初始化过程中的报文定义为{p1,p2,p3,…,pn},初始化结束可以通过报文传输率的减少自动判定出来。
对于每个报文,我们选取了20个特征,表示为:
pi={f1,i,f2,if3,i,…f20,i},其中i∈{1,…,n};
这样一个设备指纹就可以用一个20×n的矩阵F表示,每列为每个报文的特征,每行表示一个特征在每个数据报文中的值,即:
报文特征信息描述如下:
上述特征不依赖于报文内容,这可以保证即使是加密数据,这些特征都可以取到值。表中所列出的各层的协议是WIFI连接设备典型使用的网络协议,IP头部的两个选项也被加入到特征中,同时还引入了数据报文大小、目标IP地址数量,源端口和目标端口这几个特征。这里端口的取值会被预处理为四个值:
无端口=>0
常见端口[0,1023]=>1
注册端口[1024,49151]=>2
动态端口[49152,65535]=>3
由于报文数量n实际是不同的,在两两比较的时候会引入很大的不确定性,为了解决这个问题,这里又引入了基于固定报文数量的第二个指纹F′。F′选取F中的前12个不同内容的报文,这样就可以生成240(12×20)维的特征向量:
F′={f1,1,f2,1,…f20,1,f1,2,f2,2,…,f19,i,f20,i}
当从F中的取到的唯一报文的数量少于12个时,则剩余部分用0填满。
通过上面的处理方式对于每个设备,我们就可以得到两个设备指纹:完整指纹F和固定指纹F′。
具体的,设备指纹分类器的生成使用固定指纹F′,具体的步骤如下:
S21:定义包含多个设备类型的指纹集合S,设备类型Di并挑选出设备类型Di的所有指纹,定义为集合S中剩下指纹,它们的设备类型Dx≠Di,定义为/>问题被转化成二分类任务,/>中的指纹样本的分类都是Di,/>中的指纹样本都不是Di;
S22:选取出来的样本集和样本集/>的子集,使用随机森林算法进行训练,得到设备类型Di对应的分类器Ci;
S23:对于指纹集S中的每个设备类型,重复步骤S21和S22,得到集合S中的每个设备类型的分类器Ci。
这种方法的一个好处是每次当一个新的设备分类指纹被检测到时,就可以训练出用于这个新类型的分类器,而不需要对已有分类器进行重新训练。同时当一个指纹不被已有的分类器接受时,一个新的设备分类类型也就自动被发现出来了。
具体的,随机森林算法决策树包括以下步骤:
S231:用N来表示训练用例的个数,M表示特征数目;
S232:输入特征数目m,用于确定决策树上一个节点的决策结果,其中m小于M;
S233:从N个训练用例中以有放回抽样的方式,取样N次,形成一个训练集,并用未抽到的用例作预测,评估其误差;
S234:对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的,根据这m个特征,计算其最佳的分裂方式;
S235:每棵树都会完整成长而不会剪枝,形成决策树算法模型。
具体的,当一个设备指纹F′被多个分类器判定为真时,这里会用完整的指纹F来跟匹配到设备类型完整指纹集进行比较,这个比较是通过计算编辑距离来完成的,包括以下步骤:
S31:将设备指纹F看作一个字符串,矩阵F的每一列看作一个字符,也就是表示报文pi,对应到编辑算法中字符相等的含义就是报文pi中的所有特征与另一个报文pj相同;
S321:计算两个指纹F1和F2的距离,可以看作两个字符串F′1和F′2的距离,使用Damerau-Levenshtein计算距离算法,如下为该算法的伪代码实现:
S322:将计算得到的距离值除以较长的长度,使距离归一化到[0,1]的范围内。
S33:对匹配到的设备类型Di,随机选取样本集中的5个设备指纹值,计算与指纹F的距离,重复S321和S322步操作,然后对这些值求和得到最终的距离分数si∈[0,5],选取距离分数最小的分类就是最终预测的分类d。
ds=min([s1,s2,…,sm])
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于报文特征的智能家居设备类型判定方法,其特征在于,包括以下步骤:
S1:生成设备指纹,在设备初始化连接过程中将数据报文进行特征化,每个设备指纹采用一个矩阵表示,矩阵每列为每个报文的特征,每行为一个特征在每个数据报文中的值,生成完整指纹;
S2:分类器生成,为每个已知设备指纹建立一个分类器,当一个设备指纹输入时,分类器均能得到一个二元分类结果表明该指纹数据是否匹配该设备类型;
S3:确定设备类型,当一个设备指纹输入时,如果该指纹只被一个分类器匹配,则该分类即为该设备的分类;如有多个设备分类器匹配到该设备指纹信息,则对于被多个分类器匹配的指纹,使用编辑距离算法,挑选出匹配度最高的设备类型,确定其设备类型;
对于每个设备,在完整指纹F中选取前十二个不同内容的报文,生成240(12×20)维的特征向量,生成固定指纹;
设备指纹分类器的生成采用固定指纹并包括以下步骤:
S21:定义包含多个设备类型的指纹集合,设备类型/>并挑选出设备类型/>的所有指纹,定义为/>;集合/>中剩下指纹,它们的设备类型/>,定义为;
S22:选取出来的样本集和样本集/>的子集,使用随机森林算法进行训练,得到设备类型/>对应的分类器/>;
S23:对于指纹集中的每个设备类型,重复步骤S21和S22,得到集合/>中的每个设备类型的分类器/>;
报文的特征类型包括链路层、网络层、传输层、应用层、IP选项、报文内容、IP 地址、端口,上述各层的协议是WIFI连接设备典型使用的网络协议,报文内容中引入报文大小特征,IP地址中引入目标IP地址数量特征,端口引入源端口和目标端口特征。
2.根据权利要求1所述的一种基于报文特征的智能家居设备类型判定方法,其特征在于,所述随机森林算法决策树包括以下步骤:
S231:用N来表示训练用例的个数,M表示特征数目;
S232:输入特征数目m,用于确定决策树上一个节点的决策结果,其中m小于M;
S233:从N个训练用例中以有放回抽样的方式,取样N次,形成一个训练集,并用未抽到的用例作预测,评估其误差;
S234:对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的,根据这m个特征,计算其最佳的分裂方式;
S235:每棵树都会完整成长而不会剪枝,形成决策树算法模型。
3.根据权利要求1所述的一种基于报文特征的智能家居设备类型判定方法,其特征在于,所述S3中如有多个设备分类器匹配到该设备指纹信息,则对于被多个分类器匹配的指纹,使用编辑距离算法,包括以下步骤:
S31:将设备指纹看作一个字符串,矩阵的每一列看作一个字符,将报文对应到编辑算法中,字符相等的含义就是报文中的所有特征与另一个报文相同;
S32:计算两个指纹的距离,看作两个字符串的距离,使用编辑距离算法,将计算得到的距离值除以较长的长度,使距离归一化到[0,1]的范围内;
S33:对匹配到的设备类型,随机选取样本集中的五个设备指纹值,计算与指纹的距离,重复步骤S32,然后对这些值求和得到最终的距离分数,选取距离分数最小的分类就是最终预测的分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112488.XA CN109948650B (zh) | 2019-02-13 | 2019-02-13 | 一种基于报文特征的智能家居设备类型判定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112488.XA CN109948650B (zh) | 2019-02-13 | 2019-02-13 | 一种基于报文特征的智能家居设备类型判定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109948650A CN109948650A (zh) | 2019-06-28 |
CN109948650B true CN109948650B (zh) | 2023-08-11 |
Family
ID=67007554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910112488.XA Active CN109948650B (zh) | 2019-02-13 | 2019-02-13 | 一种基于报文特征的智能家居设备类型判定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109948650B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445689B (zh) * | 2019-08-15 | 2022-03-18 | 平安科技(深圳)有限公司 | 识别物联网设备类型的方法、装置及计算机设备 |
CN111092769A (zh) * | 2019-12-24 | 2020-05-01 | 国网新疆电力有限公司电力科学研究院 | 一种基于机器学习的web指纹识别方法 |
CN112600793A (zh) * | 2020-11-23 | 2021-04-02 | 国网山东省电力公司青岛供电公司 | 一种基于机器学习的物联网设备分类识别方法及系统 |
CN112528695B (zh) * | 2020-12-18 | 2024-03-15 | 北京元心科技有限公司 | 识别方法、装置、设备及计算机可读存储介质 |
CN117194947A (zh) * | 2023-08-16 | 2023-12-08 | 惠州市庆展科技有限公司 | 一种智慧家居的设备特征确定方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302397A (zh) * | 2016-07-29 | 2017-01-04 | 北京北信源软件股份有限公司 | 一种基于设备指纹的设备识别系统 |
CN106936667A (zh) * | 2017-04-17 | 2017-07-07 | 东南大学 | 一种基于应用程序流量分布式分析的主机实时识别方法 |
CN108092976A (zh) * | 2017-12-15 | 2018-05-29 | 北京知道创宇信息技术有限公司 | 设备指纹构造方法及装置 |
CN109063745A (zh) * | 2018-07-11 | 2018-12-21 | 南京邮电大学 | 一种基于决策树的网络设备类型识别方法及系统 |
-
2019
- 2019-02-13 CN CN201910112488.XA patent/CN109948650B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302397A (zh) * | 2016-07-29 | 2017-01-04 | 北京北信源软件股份有限公司 | 一种基于设备指纹的设备识别系统 |
CN106936667A (zh) * | 2017-04-17 | 2017-07-07 | 东南大学 | 一种基于应用程序流量分布式分析的主机实时识别方法 |
CN108092976A (zh) * | 2017-12-15 | 2018-05-29 | 北京知道创宇信息技术有限公司 | 设备指纹构造方法及装置 |
CN109063745A (zh) * | 2018-07-11 | 2018-12-21 | 南京邮电大学 | 一种基于决策树的网络设备类型识别方法及系统 |
Non-Patent Citations (1)
Title |
---|
Passive fingerprinting for wireless devices: A multi-level decision approach;Shen chao 等;《2017 IEEE International Conference on Identity, Security and Behavior Analysis》;20170615;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109948650A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109948650B (zh) | 一种基于报文特征的智能家居设备类型判定方法 | |
JP7205139B2 (ja) | 異常検出のためのシステム、方法、およびコンピュータプログラム製品 | |
CN112232925A (zh) | 一种融合知识图谱对商品进行个性化推荐的方法 | |
CN110225030B (zh) | 基于rcnn-spp网络的恶意域名检测方法及系统 | |
CN109218223B (zh) | 一种基于主动学习的鲁棒性网络流量分类方法及系统 | |
CN111144470B (zh) | 一种基于深度自编码器的未知网络流量识别方法及系统 | |
CN112818257B (zh) | 基于图神经网络的账户检测方法、装置和设备 | |
CN113177132A (zh) | 基于联合语义矩阵的深度跨模态哈希的图像检索方法 | |
CN111191767A (zh) | 一种基于向量化的恶意流量攻击类型的判断方法 | |
CN113989583A (zh) | 一种互联网恶意流量检测方法及系统 | |
CN113489751A (zh) | 一种基于深度学习的网络流量过滤规则转化方法 | |
CN109697451A (zh) | 相似图像聚类方法及装置、存储介质、电子设备 | |
CN110222795B (zh) | 基于卷积神经网络的p2p流量的识别方法及相关装置 | |
CN114006870A (zh) | 一种基于自监督卷积子空间聚类网络的网络流量识别方法 | |
CN114584522B (zh) | 一种物联网设备的识别方法、系统、介质及终端 | |
CN114826776A (zh) | 一种用于加密恶意流量的弱监督检测方法及系统 | |
CN117312865B (zh) | 基于非线性动态优化的数据分类模型的构建方法及装置 | |
CN112839055B (zh) | 面向tls加密流量的网络应用识别方法、装置及电子设备 | |
WO2024120186A1 (zh) | 一种物联网入侵检测方法、装置、设备以及存储介质 | |
CN112383488B (zh) | 一种适用于加密与非加密数据流的内容识别方法 | |
CN117391188A (zh) | 基于联邦ai计算的物联网模型训练方法 | |
CN111291078A (zh) | 一种域名匹配检测方法及装置 | |
CN110071845B (zh) | 一种对未知应用进行分类的方法及装置 | |
CN113194092B (zh) | 一种精准的恶意流量变种检测方法 | |
CN115102868A (zh) | 一种基于SOM聚类与深度自编码器的web服务QoS预测方法 |
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 |