[发明专利]针对MIPS架构的物联网设备组件版本信息提取方法在审
申请号: | 202010324001.7 | 申请日: | 2020-04-22 |
公开(公告)号: | CN111580856A | 公开(公告)日: | 2020-08-25 |
发明(设计)人: | 李红;胡旭伦;李志;于楠;朱红松;孙利民 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;H04L29/08 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 杨云云 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 mips 架构 联网 设备 组件 版本 信息 提取 方法 | ||
本发明实施例提供一种针对MIPS架构的物联网设备组件版本信息提取方法,包括:采集物联网设备固件,基于所述固件确定所述物联网设备的组件二进制字符串;基于所述组件二进制字符串确定所述物联网设备的具有版本信息的二进制字符串;基于所述具有版本信息的二进制字符串确定所述物联网设备的组件版本信息,所述组件版本信息包括组件版本号和组件版本名。本发明实施例提供的方法,实现了物联网设备的组件版本信息的自动提取,能够提高物联网设备的组件版本信息提取的效率。
技术领域
本发明涉及物联网设备技术领域,尤其涉及一种针对MIPS架构的物联网设备组件版本信息提取方法。
背景技术
随着物联网技术的广泛应用,物联网设备数量也在逐年的增加。而物联网固件中使用的开源组件,为物联网设备安全带来了新的挑战。随着开源组件的日益增多,为了更好分析固件,需要准确的收集固件和固件中的组件信息,因此组件版本分析在固件的安全分析之中成为了一件重中之重的事情。
在一般情况下,组件的版本信息可以通过在设备真实运行或模拟运行的情况下,通过运行组件来得到其版本信息,但是由于设备种类的不同,固件的模拟依赖平台和依赖库也不尽相同,通过动态的运行组件来获取组件的版本信息是一种不具有普适性且低效的方法。因此如何准确的得到固件组件当中的组件版本信息,成为了一大问题。
因此,如何避免现有的获取组件的方法不具有普适性的麻烦,以及效率低下的情况,仍然是本领域技术人员亟待解决的问题。
发明内容
本发明实施例提供一种针对MIPS架构的物联网设备组件版本信息提取方法,用以解决现有的获取组件的方法不具有普适性且效率低下的问题。
第一方面,本发明实施例提供一种针对MIPS架构的物联网设备组件版本信息提取方法,包括:
采集物联网设备固件,基于所述固件确定所述物联网设备的组件二进制字符串;
基于所述组件二进制字符串确定所述物联网设备的具有版本信息的二进制字符串;
基于所述具有版本信息的二进制字符串确定所述物联网设备的组件版本信息,所述组件版本信息包括组件版本号和组件版本名。
优选地,该方法中,所述基于所述具有版本信息的二进制字符串确定所述物联网设备的组件版本信息,所述组件版本信息包括组件版本号和组件版本名,具体包括:
若所述具有版本信息的二进制字符串中包含组件版本名和组件版本号,则确定所述组件版本名和组件版本号为所述物联网设备的组件版本信息;
若所述具有版本信息的二进制字符串中包含组件版本名和格式化字符串,则对所述格式化字符串获取反汇编数据,基于所述反汇编数据确定组件版本号,确定所述组件版本名和组件版本号为所述物联网设备的组件版本信息。
优选地,该方法中,所述对所述格式化字符串获取反汇编数据,基于所述反汇编数据确定组件版本号,具体包括:
获取所述格式化字符串的反汇编数据,所述反汇编数据包括数据段和代码段,确定所述格式化字符串在代码段中的引用地址为第一地址;
确定所述第一地址所在的代码基本块,在所述代码基本块中确定格式化版本号字符串的传递地址;
基于所述格式化版本号字符串的传递地址确定组件版本号。
优选地,该方法中,所述基于所述格式化版本号字符串的传递地址确定组件版本号,具体包括:
若所述格式化版本号字符串的传递地址为堆栈地址,基于版本号占位符在格式化字符串中的位置顺序确定所述堆栈地址在堆栈中的相对位置地址,确定所述相对位置地址的堆栈值,基于所述堆栈值确定组件版本号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010324001.7/2.html,转载请声明来源钻瓜专利网。