当前位置: 首页 > 专利查询>浙江大学专利>正文

一种物联网设备固件解密解析方法、电子设备、介质技术

技术编号:38376279 阅读:9 留言:0更新日期:2023-08-05 17:37
本发明专利技术公开了一种物联网设备固件解密解析方法、电子设备、介质,包括:获取固件文件;当固件文件被加密时,判断固件文件的加密算法,并采用对应的解密算法和/或解密密钥对固件文件进行解密;当解密后的固件文件为压缩文件时,判定压缩文件对应的压缩算法的类型,对压缩文件进行解压缩;结合Magic签名对解压缩后的固件文件中的固件头、引导程序、内核和根文件系统进行特征标记与识别,依据固件头、引导程序、内核和根文件系统间的关系特征对所识别的固件头、引导程序、内核和根文件系统进行验证;当验证通过后,对固件头、引导程序、内核和根文件系统进行定位、提取及还原。提取及还原。提取及还原。

【技术实现步骤摘要】
一种物联网设备固件解密解析方法、电子设备、介质


[0001]本专利技术属于计算机网络安全
,尤其是一种物联网设备固件解密解析方法、电子设备、介质。

技术介绍

[0002]在对物联网设备固件进行解密解析前,首先要获取固件,使用网页爬虫在设备生产厂商提供的官网上进行固件压缩包的下载,对于没有提供下载网页的固件,选择通过硬件接入直接读取固件存储芯片的方式,绕过控制设备控制器,直接控制设备的 Flash芯片,读取到芯片中的整片内容。
[0003]获取固件镜像后,需要解压固件镜像并从解压文件中提取根文件系统文件夹,主要的挑战是固件镜像可能由非通用算法压缩或由厂商加密,这样一来很难构建适用于不同供应商、设备和固件版本的不同镜像的通用解决方案。例如,一些供应商仅为其产品分发部分固件镜像,阻止重新构建根文件系统。此外,还有一些供应商在二进制更新器可执行文件中分发加密的固件镜像、非基于linux的固件镜像,这些都很难提供支持。
[0004]固件解析旨在对收集的固件镜像进行解密解压,还原出文件系统。大规模固件解析面临的主要挑战有:镜像多重加密、压缩加密算法繁多、获取的固件镜像不完整。针对不同物联网设备厂商固件压缩加密算法不一致、镜像多重加密等问题,需要准备能解密多种固件的技术方法以及对应的解密程序,同时了解固件加密涉及的相关各类密码知识。
[0005]由于各压缩工具(或版本)对标准实现的差异或厂商对标准实现进行过修改,导致不同厂商设计的固件往往具有不同的结构,采用标准解析程序经常出现解析失败的问题,难以形成完备统一的解包方案。解析过程具有耗时长、资源占用多的特点,批量分析任务常面临性能瓶颈。
[0006]因此,亟需提出一种物联网设备固件解密解析方法,以实现对不同来源的固件进行自动化解析的功能,同时还需根据任务需求调整解析的效率。

技术实现思路

[0007]为了解决上述存在的问题,本专利技术提出了一种物联网设备固件解密解析方法、电子设备、介质。
[0008]根据本专利技术实施例的第一方面,提供了一种物联网设备固件解密解析方法,所述方法包括:
[0009]获取固件文件;
[0010]当固件文件被加密时,判断固件文件的加密算法,并采用对应的解密算法和/或解密密钥对固件文件进行解密;
[0011]当解密后的固件文件为压缩文件时,判定压缩文件对应的压缩算法的类型,对压缩文件进行解压缩;
[0012]结合Magic签名对解压缩后的固件文件中的固件头、引导程序、内核和根文件系统
进行特征标记与识别,依据固件头、引导程序、内核和根文件系统间的关系特征对所识别的固件头、引导程序、内核和根文件系统进行验证;当验证通过后,对固件头、引导程序、内核和根文件系统进行定位、提取及还原。
[0013]进一步地,当固件文件被加密时,判断固件文件的加密算法,并采用对应的解密算法和/或解密密钥对固件文件进行解密,包括:
[0014]判断固件文件是否有加密;当固件文件被加密时,通过穷举法判断加密的固件文件对应的加密算法,并判断是否属于可解密的固件类型;
[0015]根据固件文件的加密算法,获取对应的解密算法和/或解密密钥对固件文件进行解密。
[0016]进一步地,判断固件文件是否有加密,包括:
[0017]使用解析工具binwalk进行尝试;
[0018]利用熵值判断固件文件的加密状态;
[0019]和/或,
[0020]通过匹配magic值法判断固件文件的加密状态。
[0021]进一步地,获取对应的解密算法和/或解密密钥对固件文件进行解密,包括:
[0022]获取解密算法包括:如果嵌入式设备可以解密更新的固件文件,则解密算法位于旧固件文件中,在固件文件中寻找解密算法;和/或,获取固件文件的旧版本,下载固件文件的所有旧版本并分析加密逻辑,得到解密算法;
[0023]获取解密密钥包括:分析加密的固件文件获得解密密钥;和/或,通过暴力破解法、明文攻击法或CRC32碰撞法破解得到解密密钥。
[0024]进一步地,当解密后的固件文件为压缩文件时,判定压缩文件对应的压缩算法的类型,对压缩文件进行解压缩,包括:
[0025]对压缩文件进行头定位和尾定位,得到压缩数据的存储区域;
[0026]其中,压缩文件头为存储压缩信息的数据结构,用于存储压缩算法标识、压缩文件大小、被压缩数据大小;压缩文件尾用于存储压缩数据的较验信息和压缩文件尾部标识;
[0027]对压缩数据进行转存,判定对应的压缩算法的类型,对压缩数据进行解压缩还原,得到固件镜像中被压缩的内核和根文件系统。
[0028]进一步地,结合Magic签名对解压缩后的固件文件中的固件头、引导程序、内核和根文件系统进行特征标记与识别,包括:
[0029]通过Magic签名文件记录固件文件中的固件头、引导程序、内核和根文件系统的特征;所述Magic签名文件包括偏移量、起始数据及对应的数据类型;所述偏移量用于反应固件头、引导程序、内核和根文件系统的起始地址;将Magic签名文件中的起始数据及对应的数据类型与固件头、引导程序、内核和根文件系统的起始数据及对应的数据类型进行匹配;
[0030]还包括:
[0031]针对固件中能够唯一标识固件头、引导程序、内核和根文件系统的起始地址的数据结构、关键字进行统一抽取匹配,获取固件头、引导程序、内核和根文件系统的起始地址,以此进行筛选过滤。
[0032]进一步地,固件头、引导程序、内核和根文件系统间的关系特征包括格式关键字特征和结构化特征;
[0033]所述格式关键字特征用于根据固件头部格式的不同判定对固件文件的类型,根据嵌入式设备以及固件文件版本的信息为固件头、引导程序、内核和根文件系统的定位提供依据;
[0034]所述结构化特征是在固件文件中所存在的结构化二进制文件所表现出来的文件特征。
[0035]根据本专利技术实施例的第二方面,提供了一种物联网设备固件解密解析系统,所述系统包括:
[0036]固件文件获取单元,用于获取固件文件;
[0037]固件解密单元,用于当固件文件被加密时,判断固件文件的加密算法,并采用对应的解密算法和/或解密密钥对固件文件进行解密;
[0038]固件解压缩单元,用于当解密后的固件文件为压缩文件时,判定压缩文件对应的压缩算法的类型,对压缩文件进行解压缩;
[0039]固件信息提取单元,用于结合Magic签名对解压缩后的固件文件中的固件头、引导程序、内核和根文件系统进行特征标记与识别,依据固件头、引导程序、内核和根文件系统间关系特征对所识别的固件头、引导程序、内核和根文件系统进行验证;当验证通过后,对固件头、引导程序、内核和根文件系统进行定位、提取及还原。
[0040]根据本专利技术实施例的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种物联网设备固件解密解析方法,其特征在于,所述方法包括:获取固件文件;当固件文件被加密时,判断固件文件的加密算法,并采用对应的解密算法和/或解密密钥对固件文件进行解密;当解密后的固件文件为压缩文件时,判定压缩文件对应的压缩算法的类型,对压缩文件进行解压缩;结合Magic签名对解压缩后的固件文件中的固件头、引导程序、内核和根文件系统进行特征标记与识别,依据固件头、引导程序、内核和根文件系统间的关系特征对所识别的固件头、引导程序、内核和根文件系统进行验证;当验证通过后,对固件头、引导程序、内核和根文件系统进行定位、提取及还原。2.根据权利要求1所述的物联网设备固件解密解析方法,其特征在于,当固件文件被加密时,判断固件文件的加密算法,并采用对应的解密算法和/或解密密钥对固件文件进行解密,包括:判断固件文件是否有加密;当固件文件被加密时,通过穷举法判断加密的固件文件对应的加密算法,并判断是否属于可解密的固件类型;根据固件文件的加密算法,获取对应的解密算法和/或解密密钥对固件文件进行解密。3.根据权利要求2所述的物联网设备固件解密解析方法,其特征在于,判断固件文件是否有加密,包括:使用解析工具binwalk进行尝试;利用熵值判断固件文件的加密状态;和/或,通过匹配magic值法判断固件文件的加密状态。4.根据权利要求2所述的物联网设备固件解密解析方法,其特征在于,获取对应的解密算法和/或解密密钥对固件文件进行解密,包括:获取解密算法包括:如果嵌入式设备可以解密更新的固件文件,则解密算法位于旧固件文件中,在固件文件中寻找解密算法;和/或,获取固件文件的旧版本,下载固件文件的所有旧版本并分析加密逻辑,得到解密算法;获取解密密钥包括:分析加密的固件文件获得解密密钥;和/或,通过暴力破解法、明文攻击法或CRC32碰撞法破解得到解密密钥。5.根据权利要求1所述的物联网设备固件解密解析方法,其特征在于,当解密后的固件文件为压缩文件时,判定压缩文件对应的压缩算法的类型,对压缩文件进行解压缩,包括:对压缩文件进行头定位和尾定位,得到压缩数据的存储区域;其中,压缩文件头为存储压缩信息的数据结构,用于存储压缩算法标识、压缩文件大小、被压缩数据大小;压缩文件尾用于存储压缩数据的较验信息和压缩文件尾部标识;对压缩数据进行转存,判定对应的压缩算法的类型,对压缩数据进行解压缩还原,得到固件镜像中被压缩的内核和根文件系统。6.根据权利要求1所述的物联网设备...

【专利技术属性】
技术研发人员:许海涛朱微凡周志昊张帆赵新杰郭世泽
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1