固件版本的识别方法及装置与流程
本发明涉及物联网安全的,尤其是涉及一种固件版本的识别方法及装置。
背景技术:
1、随着物联网技术的快速发展,智能家居、工业物联网、智慧城市等场景中部署了大量物联网设备。这些物联网设备的固件版本管理一直是困扰运维人员的安全难题。固件版本过旧可能存在已知漏洞,升级后的固件可能引入新的功能变化或兼容性问题。
2、现有的物联网设备管理主要依赖以下几种方式进行版本识别:
3、(1)物联网设备主动上报:依赖物联网设备在初始化时主动上报版本信息,但这种方法需要设备固件本身支持,且可能被恶意篡改或伪造。
4、(2)人工登记备案:通过excel表格或数据库记录设备型号与固件版本的对应关系,但这种方式无法覆盖实际运行中发生的ota(over-the-air technology空中下载技术)远程升级,版本信息容易与实际脱节。
5、(3)传统网络fingerprinting(指纹识别):基于tcp/ip协议栈特征识别设备操作系统类型,但这种方法只能识别设备类型或操作系统大类,无法精细到具体的固件版本号。
6、因此,现有的物联网设备管理方式中,所识别的固件版本难以保证准确性,也不利于提升物联网安全性。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种固件版本的识别方法及装置,可以实现固件版本的自动识别,并有助于提升固件版本的识别准确性和提升网络安全进而缓解上述技术问题。
2、第一方面,本发明实施例提供了一种固件版本的识别方法,所述方法包括:采集物联网设备与云端服务器之间交互时产生的通信数据包,从所述数据包中筛选出mqtt协议数据包;解析所述mqtt协议数据包,提取所述mqtt协议数据包中包括的待识别结构化特征集;将提取的所述待识别结构化特征集与预先构建的物模型特征库进行匹配,以从所述物模型特征库中提取所述物联网设备的固件版本信息,其中,所述物模型特征库中预先记录有结构化特征集与固件版本信息的对应关系。
3、结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述提取所述mqtt协议数据包中包括的待识别结构化特征集的步骤,包括:从所述mqtt协议数据包中的包含的主题数据和载荷数据提取用于描述设备行为模式的待识别结构化特征集。
4、结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述方法还包括:获取已知固件版本的物联网设备在标准工况下上报的通信数据;从所述通信数据中提取出标准mqtt协议数据包,并提取所述标准mqtt协议数据包中包含的标准结构化特征集;生成所述已知固件版本的固件版本信息与所述标准结构化特征集的对应关系,并将所述对应关系存储至所述物模型特征库。
5、结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述将提取的所述待识别结构化特征集与预先构建的物模型特征库进行匹配,以从所述物模型特征库中提取所述物联网设备的固件版本信息的步骤,包括:基于所述待识别结构化特征集中包含的主题数据从所述物模型特征库中筛选出第一候选集,其中,所述第一候选集中包括至少一个所述标准结构化特征集,且,所述第一候选集中的所述标准结构化特征集中记录的设备型号与所述待识别结构化特征集中包含的主题数据中的设备型号一致;基于所述待识别结构化特征集中包含的载荷数据在所述第一候选集中进行字段匹配,以从所述第一候选集中确定出目标结构化特征集;将所述目标结构化特征集在所述物模型特征库中对应的固件版本信息确定为所述物联网设备的固件版本信息。
6、结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述方法还包括:如果基于所述载荷数据在所述第一候选集中进行字段匹配得到一个结构化特征集,则将该结构化特征集确定为目标结构化特征集;如果得到多个结构化特征集,则将多个所述结构化特征集确定为候选结构化特征集;计算所述候选结构化特征集与所述待识别结构化特征集的相似度;如果所述相似度大于预设的相似度阈值,则将所述相似度最大的所述候选结构化特征集确定为目标结构化特征集。
7、结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述计算所述候选结构化特征集与所述待识别结构化特征集的相似度的步骤,包括:计算所述待识别结构化特征集中的主题数据与所述候选结构化特征集的主题数据的编辑距离,得到第一相似度分数;以及,计算所述待识别结构化特征集中的载荷数据与所述候选结构化特征集的载荷数据的树形匹配程度,得到第二相似度分数;按照预先配置的权重系数对所述第一相似度分数和所述第二相似度分数进行加权计算,得到用于表征相似度的相似度分数。
8、结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,上述提取所述mqtt协议数据包中包括的待识别结构化特征集的步骤,还包括:如果所述物联网设备与所述云端服务器之间的通信协议为加密通信协议,则获取所述物联网设备在握手阶段的握手报文,从所述握手报文中提取指纹特征;以及,提取所述物联网设备的消息传输时序特征和数据包长度分布特征;基于所述指纹特征、所述消息传输时序特征和所述数据包长度分布特征构建所述待识别结构化特征集。
9、结合第一方面的第六种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,上述物模型特征库中还记录有指纹特征与固件版本信息的对应关系;将提取的所述待识别结构化特征集与预先构建的物模型特征库进行匹配,以从所述物模型特征库中提取所述物联网设备的固件版本信息的步骤,包括:基于所述指纹特征从预先构建的物模型特征库中匹配出至少一个候选固件版本信息;使用主题明文数据、所述消息传输时序特征和所述数据包长度分布特征对每个所述候选固件版本信息的信道特征进行验证,将验证结果一致的所述候选固件版本信息确定为所述物联网设备的固件版本信息。
10、结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第八种可能的实施方式,其中,上述方法还包括:如果所述待识别结构化特征集与所述物模型特征库中记录的每个所述结构化特征集的相似度低于预设的所述相似度阈值,则判断所述待识别结构化特征集是否符合所述物联网设备的标准物模型;如果符合,则基于所述物联网设备的标识信息和/或来源地址判断所述物联网设备是否满足预设的合法条件;如果是,则将所述待识别结构化特征集确定为更新结构化特征集,并基于所述更新结构化特征集对所述物模型特征库进行更新。
11、第二方面,本发明实施例还提供一种固件版本的识别装置,该装置包括:采集模块,用于采集物联网设备与云端服务器之间交互时产生的通信数据包,从所述数据包中筛选出mqtt协议数据包;解析模块,用于解析所述mqtt协议数据包,提取所述mqtt协议数据包中包括的待识别结构化特征集;识别模块,用于将提取的所述待识别结构化特征集与预先构建的物模型特征库进行匹配,以从所述物模型特征库中提取所述物联网设备的固件版本信息,其中,所述物模型特征库中预先记录有结构化特征集与固件版本信息的对应关系。
12、本发明实施例带来了以下有益效果:
13、本发明实施例提供的一种固件版本的识别方法及装置,能够采集物联网设备与云端服务器之间交互时产生的通信数据包,从数据包中筛选出mqtt协议数据包;解析mqtt协议数据包,提取mqtt协议数据包中包括的待识别结构化特征集;将提取的待识别结构化特征集与预先构建的物模型特征库进行匹配,以从物模型特征库中提取物联网设备的固件版本信息,整个识别过程自动化程度较高,且通过结构化特征可以实现精确识别,进一步,由于通信数据包是交互时实时产生的,因此,整个识别过程的实时性较强,有助于保证固件版本信息的时效性,并且,通过与物模型特征库进行匹配的方式能够提升识别的准确性,进而有助于提高物联网整体的安全性。
14、本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
15、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com