System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 针对嵌入式固件MMIO访问的自动化识别方法及系统技术方案_技高网

针对嵌入式固件MMIO访问的自动化识别方法及系统技术方案

技术编号:41090784 阅读:4 留言:0更新日期:2024-04-25 13:51
本发明专利技术涉及固件信息安全分析技术领域,特别涉及一种针对嵌入式固件MMIO访问的自动化识别方法及系统,通过获取目标二进制固件程序,并通过反汇编获取由汇编指令列表组成的反汇编代码;基于反汇编代码识别目标二进制固件中指定外设访问形式下的MMIO访问点,其中,指定外设访问形式包括第一外设访问形式和/或第二外设访问形式。本发明专利技术通过对二进制固件反汇编并基于反汇编代码来自动化识别出其中的MMIO访问点,帮助安全分析人员了解固件的工作机制和潜在的安全风险,提高固件安全分析的效率,提升嵌入式设备的安全性,便于在嵌入式设备安全分析等场景中的部署实施,具有较好的应用前景。

【技术实现步骤摘要】

本专利技术涉及固件信息安全分析,特别涉及一种针对嵌入式固件mmio访问的自动化识别方法及系统。


技术介绍

1、随着物联网的飞速发展,嵌入式设备的安全问题越来越受到研究人员的关注,种类复杂多样的外围设备增加了固件安全分析的复杂性。因此,在对嵌入式设备固件进行安全分析时,首先需要明确固件对应设备的应用功能特点,外设通信接口等。mmio(memory-mapped i/o即内存映射i/o)是嵌入式设备固件中一种常见的内存访问方式,它将外围设备的寄存器地址映射到内存空间,从而使cpu能够像访问内存一样访问这些设备。通过分析识别固件中mmio访问点,安全分析人员可以获取对固件的硬件接口和功能的控制流程,了解固件的工作机制和潜在的漏洞和风险。其次,外设访问点可以提供对固件的安全漏洞和攻击面的分析。例如,一些外围设备可能存在安全漏洞或者可以被恶意利用,而固件中的外设访问代码可能会暴露这些漏洞或者提供攻击者可以利用的接口。安全分析人员可以通过对固件中外设访问代码的分析,发现并评估这些潜在的安全风险。总之,固件中的外设访问对于固件安全分析具有重要的意义,它可以帮助安全分析人员深入了解固件与外设之间的交互方式,对固件进行逆向工程和漏洞挖掘,检测出潜在的安全问题。目前,固件中的mmio访问点识别主要依赖人工分析,效率较低,且存在误差。


技术实现思路

1、为此,本专利技术提供一种针对嵌入式固件mmio访问的自动化识别方法及系统,解决现有mmio访问点识别效率低、识别误差大的问题,提升固件安全分析效率。p>

2、按照本专利技术所提供的设计方案,一方面,提供一种针对嵌入式固件mmio访问的自动化识别方法,包含:

3、获取目标二进制固件程序,并通过反汇编获取由汇编指令列表组成的反汇编代码;

4、基于反汇编代码识别目标二进制固件中指定外设访问形式下的mmio访问点,其中,指定外设访问形式包括第一外设访问形式和/或第二外设访问形式。

5、作为本专利技术针对嵌入式固件mmio访问的自动化识别方法,进一步地,第一外设访问形式为通过加载到寄存器中的地址操作数对外设进行访问;第二外设访问形式为通过基址加偏移的结构体形式对外设进行访问。

6、作为本专利技术针对嵌入式固件mmio访问的自动化识别方法,进一步地,基于反汇编代码识别目标二进制固件中第一外设访问形式下的mmio访问点,包含:

7、对反汇编代码进行遍历,在遍历过程中检查反汇编代码每条汇编指令的操作数类型,若操作数类型为指定地址类型,则获取对应地址类型操作数所引用的内存地址,若该内存地址位于mmio地址空间内,则判定该汇编指令发生外设访问,并记录mmio访问点。

8、作为本专利技术针对嵌入式固件mmio访问的自动化识别方法,进一步地,基于反汇编代码识别目标二进制固件中第二外设访问形式下的mmio访问点,包含:

9、利用开源逆向工程工具的中间语言表示反汇编程序的高级抽象语义,基于高级抽象语义识别目标二进制固件中的mmio访问点,其中,高级抽象语义包括函数控制流、函数数据流及符号表。

10、作为本专利技术针对嵌入式固件mmio访问的自动化识别方法,进一步地,基于高级抽象识别目标二进制固件中的mmio访问点,包含:

11、遍历所有函数列表,分析函数被调用时传入的参数,如果参数中包括mmio地址空间的基址,则跟踪参数在函数中的数据流向,并依据加法指令识别目标mmio地址及其mmio访问点。

12、作为本专利技术针对嵌入式固件mmio访问的自动化识别方法,进一步地,依据加法指令识别目标mmio地址及其mmio访问点,包含:

13、预先设置有用于计算mmio地址的操作数加法指令及用于加载mmio地址的访存指令,以基于操作数加法指令和访存指令来识别目标mmio地址及其mmio访问点。

14、作为本专利技术针对嵌入式固件mmio访问的自动化识别方法,进一步地,基于高级抽象识别目标二进制固件中的mmio访问点,还包含:

15、针对特定函数中的mmio访问点识别,在高级抽象表示中利用函数调用指令分析目标二进制固件中的函数调用,获取函数调用过程中传递的各个参数,如果参数中包括mmio地址空间的基址,则跟踪参数在函数中的数据流向,并依据加法指令识别目标mmio地址及其mmio访问点,其中,特定函数为无法直接获取基址参数的函数,函数调用指令包括:被调用函数的入口地址及传递的函数参数。

16、进一步地,本专利技术还提供一种针对嵌入式固件mmio访问的自动化识别系统,包含:数据预处理模块和访问点识别模块,其中,

17、数据预处理模块,用于获取目标二进制固件程序,并通过反汇编获取由汇编指令列表组成的反汇编代码;

18、访问点识别模块,用于基于反汇编代码识别目标二进制固件中指定外设访问形式下的mmio访问点,其中,指定外设访问形式包括第一外设访问形式和/或第二外设访问形式。

19、本专利技术的有益效果:

20、本专利技术通过对二进制固件反汇编并基于反汇编代码来自动化识别出其中的mmio访问点,帮助安全分析人员了解固件的工作机制和潜在的安全风险,提高固件安全分析的效率,提升嵌入式设备的安全性,便于在嵌入式设备等场景中的部署实施,具有较好的应用前景。

本文档来自技高网...

【技术保护点】

1.一种针对嵌入式固件MMIO访问的自动化识别方法,其特征在于,包含:

2.根据权利要求1所述的针对嵌入式固件MMIO访问的自动化识别方法,其特征在于,第一外设访问形式为通过加载到寄存器中的地址操作数对外设进行访问;第二外设访问形式为通过基址加偏移的结构体形式对外设进行访问。

3.根据权利要求2所述的针对嵌入式固件MMIO访问的自动化识别方法,其特征在于,基于反汇编代码识别目标二进制固件中第一外设访问形式下的MMIO访问点,包含:

4.根据权利要求1或3所述的针对嵌入式固件MMIO访问的自动化识别方法,其特征在于,基于反汇编代码识别目标二进制固件中第二外设访问形式下的MMIO访问点,包含:

5.根据权利要求4所述的针对嵌入式固件MMIO访问的自动化识别方法,其特征在于,基于高级抽象识别目标二进制固件中的MMIO访问点,包含:

6.根据权利要求5所述的针对嵌入式固件MMIO访问的自动化识别方法,其特征在于,依据加法指令识别目标MMIO地址及其MMIO访问点,包含:

7.根据权利要求4所述的针对嵌入式固件MMIO访问的自动化识别方法,其特征在于,基于高级抽象识别目标二进制固件中的MMIO访问点,还包含:

8.一种针对嵌入式固件MMIO访问的自动化识别系统,其特征在于,包含:数据预处理模块和访问点识别模块,其中,

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。

10.一种电子设备,其特征在于,包括:

...

【技术特征摘要】

1.一种针对嵌入式固件mmio访问的自动化识别方法,其特征在于,包含:

2.根据权利要求1所述的针对嵌入式固件mmio访问的自动化识别方法,其特征在于,第一外设访问形式为通过加载到寄存器中的地址操作数对外设进行访问;第二外设访问形式为通过基址加偏移的结构体形式对外设进行访问。

3.根据权利要求2所述的针对嵌入式固件mmio访问的自动化识别方法,其特征在于,基于反汇编代码识别目标二进制固件中第一外设访问形式下的mmio访问点,包含:

4.根据权利要求1或3所述的针对嵌入式固件mmio访问的自动化识别方法,其特征在于,基于反汇编代码识别目标二进制固件中第二外设访问形式下的mmio访问点,包含:

5.根据权利要求4所述的针对嵌入式固件mmio访问的自动...

【专利技术属性】
技术研发人员:孙浩楠林键井靖董卫宇刘铁铭娄睿朱兵董姝岐刘威唐永鹤
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

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

1