一种基于固件仿真的细粒度物联网设备自动识别方法技术

技术编号:39673619 阅读:8 留言:0更新日期:2023-12-11 18:39
本发明专利技术提供一种基于固件仿真的细粒度物联网设备自动识别方法,涉及物联网技术领域

【技术实现步骤摘要】
一种基于固件仿真的细粒度物联网设备自动识别方法


[0001]本专利技术涉及物联网
,尤其涉及一种基于固件仿真的细粒度物联网设备自动识别方法


技术介绍

[0002]计算机

互联网以及移动通信技术的不断进步推动了物联网的迅速发展

物联网设备的数量也急剧增加,预计在
2025
年物联网设备数量将会达到
270
亿

与此同时,物联网设备的安全问题也逐渐凸显,在
2021
年,物联网设备遭到的攻击次数达到了
6010
万次

特别是在物联网应用环境中,已知漏洞对物联网设备的有害影响可能会长期存在

由于物联网设备本身的限制,包括:固件升级困难

性能有限

协议设计简单以及缺乏有效的安全认证机制,使得这些存在已知漏洞的物联网设备很难得到及时修复,从而导致漏洞的长期存在,使攻击者可以利用已知漏洞对物联网设备进行攻击

因此,准确识别和评估未经修补且易受攻击的物联网设备对于物联网安全具有非常重要的意义

[0003]物联网设备的识别方法目前主要可以分为两大类,即粗粒度物联网设备识别和细粒度物联网设备识别

粗粒度物联网设备识别方法可以识别出物联网设备的部分信息,包括类型

品牌和型号

细粒度物联网设备识别方法则可以识别出物联网设备的更多详细信息,包括类型

品牌

型号和版本号

在目前现有的粗粒度识别方法中,提出了一种多分类器的物联网设备类型识别技术,该识别技术通过将待识别设备的特征信息输入到多个分类器中进行识别,并采用编辑距离算法结合分类结果确定最终识别结果,但是该识别技术由于复杂性较高,对新设备的识别效率和识别准确度都比较低

在目前现有的细粒度识别方法中,提出了一种基于识别特征词的细粒度物联网设备识别方案,该识别方案通过
TF

IDF
算法挖掘物联网设备协议标语信息中可能存在的识别特征词,并设计了一种基于倒置索引的物联网设备识别结果匹配算法,使用
Simhash
算法来对物联网设备的细粒度属性识别结果做近似匹配,该识别方案虽然提高了设备的识别准确度,但
TF

IDF
算法可能会过滤掉部分识别特征词,从而导致设备的识别准确率低

此外,还有一种基于嵌入式
Web
文件指纹的设备识别方法,用于识别型号和版本号,该识别方法通过对固件中嵌入的
Web
文件建立哈希,并在哈希和指纹库的匹配过程中利用剪枝技术提取特征来识别设备型号和版本号,然而该识别方法依赖固定特征集,扩展性较差

研究表明,在物联网设备识别领域中,细粒度物联网识别需要的信息更多且识别过程更复杂,所以针对细粒度物联网识别方法的研究大多在非自动化方面,然而细粒度物联网设备识别的非自动化方法已经无法满足快速增长的物联网设备对安全保障的需求

[0004]综上所述,粗粒度物联网设备识别可以获取类型

品牌及型号,虽然可以对大规模的物联网设备进行识别,但是由于粗粒度物联网设备识别对设备信息特征提取不够全面,在识别过程中忽略了部分信息导致信息不够详细,无法更精确地评估物联网设备的安全性,存在对设备型号的识别准确率仍然较低

非自动化中依赖人工参与

自动化中技术复杂度较高的问题

细粒度物联网设备识别除了可以获取类型

品牌

型号之外,还可以识别出
设备的版本号,这对设备的安全性评估至关重要,可以提供更精确的安全评估结果,但大多现有方法为非自动化识别,这需要大量人工操作,效率较低,并不适合处理大规模数据,也不能满足当下快速增长的物联网设备的安全保障需求


技术实现思路

[0005]针对上述现有技术的不足,本专利技术提出了一种基于固件仿真的细粒度物联网设备自动识别方法,旨在解决物联网设备识别准确率低

效率低

扩展性差的问题

[0006]为解决上述技术问题,本专利技术提出了一种基于固件仿真的细粒度物联网设备自动识别方法,包括以下步骤:
[0007]步骤1:收集物联网设备标签,根据收集到的物联网设备标签构建物联网设备标签库;
[0008]步骤2:利用爬虫技术设计固件识别算法对物联网设备固件进行自动收集,得到物联网设备固件,并将得到的固件保存至物联网设备标签库;
[0009]步骤3:对物联网设备固件进行仿真,对仿真后的设备进行访问并提取设备指纹,根据设备指纹生成正则表达式,且引入基于二叉树的存储结构对所生成的正则表达式进行保存,进而对物联网设备的型号实现自动识别;
[0010]步骤4:利用
BinWalk
对物联网设备固件中的
Web
文件进行特征提取,获取状态码特征

图像特征及非图像特征;采用决策树模型对上述特征进行训练并通过剪枝对决策树模型进行优化,设计基于树形规则的扫描识别策略,将决策树模型转换为规则树,并利用规则树对物联网设备的版本号进行识别;
[0011]进一步的,所述步骤1中所述物联网设备标签包括:物联网设备的类型

物联网设备的品牌

物联网设备的型号;所述物联网设备标签库包括:物联网设备类型标签库

物联网设备品牌标签库

物联网设备型号标签库;
[0012]进一步的,所述步骤2包括:
[0013]步骤
2.1
:在搜索引擎中使用爬虫工具进行检索,自动获取物联网设备固件公开的官网地址;
[0014]步骤
2.2
:根据官网地址,使用爬虫工具结合广度优先搜索算法在所述官网中识别并收集物联网设备的全部设备固件文件,并利用
ASCII
码的编码特性对收集到的设备固件文件进行区分,确定物联网设备的固件;
[0015]所述步骤
2.2
中所述利用
ASCII
码的编码特性对收集到的设备固件文件进行区分的方法为:将字节内容分为可视编码的白名单和不可视字符的黑名单,若获取的设备固件文件中至少包含一个白名单中的字节,且不包含黑名单中的字节,则为文本文件,否则为二进制文件,即固件;
[0016]步骤
2.3
:从物联网设备标签库中匹配出与步骤
2.2
中确定的固件链接对应的设备型号,在匹配成功后,将固件文件名中的设备型号信息去除,并删除空格符号,得到固件的版本号信息;将固件以“设本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于固件仿真的细粒度物联网设备自动识别方法,其特征在于,该方法包括如下步骤:步骤1:收集物联网设备标签,根据收集到的物联网设备标签构建物联网设备标签库;步骤2:利用爬虫技术设计固件识别算法对物联网设备固件进行自动收集,得到物联网设备固件,并将得到的固件保存至物联网设备标签库;步骤3:对物联网设备固件进行仿真,对仿真后的设备进行访问并提取设备指纹,根据设备指纹生成正则表达式,且引入基于二叉树的存储结构对所生成的正则表达式进行保存,进而对物联网设备的型号实现自动识别;步骤4:利用
BinWalk
对物联网设备固件中的
Web
文件进行特征提取,获取状态码特征

图像特征及非图像特征;采用决策树模型对上述特征进行训练并通过剪枝对决策树模型进行优化,设计基于树形规则的扫描识别策略,将决策树模型转换为规则树,并利用规则树对物联网设备的版本号进行识别
。2.
根据权利要求1中所述一种基于固件仿真的细粒度物联网设备自动识别方法,其特征在于,所述步骤1中所述物联网设备标签包括:物联网设备的类型

物联网设备的品牌

物联网设备的型号;所述物联网设备标签库包括:物联网设备类型标签库

物联网设备品牌标签库

物联网设备型号标签库
。3.
根据权利要求1中所述一种基于固件仿真的细粒度物联网设备自动识别方法,其特征在于,所述步骤2包括:步骤
2.1
:在搜索引擎中使用爬虫工具进行检索,自动获取物联网设备固件公开的官网地址;步骤
2.2
:根据官网地址,使用爬虫工具结合广度优先搜索算法在所述官网中识别并收集物联网设备的全部设备固件文件,并利用
ASCII
码的编码特性对收集到的设备固件文件进行区分,确定物联网设备的固件;步骤
2.3
:从物联网设备标签库中匹配出与步骤
2.2
中确定的固件链接对应的设备型号,在匹配成功后,将固件文件名中的设备型号信息去除,并删除空格符号,得到固件的版本号信息;将固件以“设备类型

设备品牌

设备型号

版本号”的四元组形式保存至物联网设备标签库
。4.
根据权利要求3中所述一种基于固件仿真的细粒度物联网设备自动识别方法,其特征在于,所述步骤
2.2
中所述利用
ASCII
码的编码特性对收集到的设备固件文件进行区分的方法为:将字节内容分为可视编码的白名单和不可视字符的黑名单,若获取的设备固件文件中至少包含一个白名单中的字节,且不包含黑名单中的字节,则为文本文件,否则为二进制文件,即固件
。5.
根据权利要求1中所述一种基于固件仿真的细粒度物联网设备自动识别方法,其特征在于,所述步骤3包括:步骤
3.1
:使用
FirmAE
仿真工具对物联网设备固件进行仿真,获得物联网设备固件的虚拟
IP
地址,使用
HTTP
协议访问该虚拟
IP
地址并收集响应数据包,将响应数据包中的
Header

Body
分离,并提取响应数据包中的指纹特征信息作为设备指纹,且构建设备指纹数据库;步骤
3.2
:设计正则表达式自动生成算法,根据设备指纹数据库自动生成正则表达式;步骤
3.3
:引入二叉树的存储结构对所生成的正则表达式进行存储,当获取到设备指纹
时,自动将设备指纹输入到二叉树的根节点,依次选取左右节点进行正则匹配,直到成功到达叶节点,确定物联网设备的型号

【专利技术属性】
技术研发人员:梁中豪鲁宁史闻博姜维邹俊杰张广岩
申请(专利权)人:东北大学秦皇岛分校
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1