嵌入式设备固件分析的关键技术研究
本文关键词:嵌入式设备固件分析的关键技术研究
更多相关文章: 嵌入式设备固件 逆向分析 QEMU 根文件系统 调试器
【摘要】:传统的针对嵌入式固件可能存在的一些恶意代码进行逆向分析研究都是在特定开发板硬件设备上进行。由于固件处理器架构类型具有多样性,要求固件逆向分析方法和分析工具必须具备可扩展性,适应多处理器架构平台。为了能节省硬件设备的成本和满足处理器架构多样性的需求,本文改进传统在开发板上进行逆向分析固件的方式,提出一种基于模拟器QEMU远程调试分析固件技术,可以让研究人员脱离开发板硬件设备束缚。在实际研究工作中,嵌入式设备固件是.bin格式的二进制镜像文件,设备固件是被固化在开发板上进行开发调试。由于嵌入式固件资源有限、固件中的操作系统内核地址采用的是直接映射方式,只能在特定的硬件环境下运行,所以这种内核不能直接在虚拟出来的仿真环境中使用。为了能够使嵌入式固件在仿真环境中运行以及满足多样处理器架构平台调试分析,本文提出一种新颖的方式,首先对嵌入式设备固件进行解析,通过自编译匹配固件内核类型,静态交叉编译的方式编译调试器,最后依据自编译内核挂载自制根文件系统实现仿真运行。此外,由于目标机端的QEMU虚拟机资源的限制,如果直接使用QEMU内置的GDB调试功能模块对被调试应用程序进行调试,则会造成目标机需要频繁的进行清除编译产生的缓冲块操作,导致调试过程中较差的用户体验、性能下降、操作不方便等情况。为此,本文提出编译移植轻量级调试代理工具GDBSERVER,并与GDB相结合,通过RSP协议进行通信,实现GDB+GDBSERVER远程调试方式调试固件中的目标程序。为了能够摆脱研究人员直接在QEMU上调试分析,本文采用桥接网络通信方式、NFS方式实现挂载文件,最终达到研究人员直接在宿主机上控制并调试目标机上应用程序的目的,这也解决了传统的直接通过串口通信或JTAG接口通信的调试方式不稳定、调试难度大等缺点。实验结果表明,通过本文提出的方法实现了研究人员在脱离开发板等硬件环境下,通过QEMU仿真硬件环境对嵌入式设备二进制固件仿真运行并动态远程调试应用程序。此外,本文改进了传统的分析固件机制,提出基于模拟器动态远程调试分析固件方案,创建了一个良好的逆向分析平台,增强了可扩展性,使调试过程从传统的“单一架构调试”模型向“系统级调试”模型转变。
【关键词】:嵌入式设备固件 逆向分析 QEMU 根文件系统 调试器
【学位授予单位】:北京工业大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP314
【目录】:
- 摘要4-5
- Abstract5-9
- 第1章 绪论9-17
- 1.1 课题背景和研究意义9-12
- 1.1.1 选题背景9-10
- 1.1.2 研究意义10-11
- 1.1.3 研究内容11-12
- 1.2 国内外研究现状12-15
- 1.2.1 嵌入式固件分析平台环境研究现状12-13
- 1.2.2 嵌入式固件调试技术研究现状13-15
- 1.3 论文的组织结构安排15-17
- 第2章 嵌入式设备固件与固件分析相关技术17-25
- 2.1 引言17
- 2.2 嵌入式设备固件17-19
- 2.2.1 嵌入式设备固件概述17-18
- 2.2.2 嵌入式设备固件应用18-19
- 2.3 固件仿真运行相关技术19-22
- 2.3.1 嵌入式设备固件解析原理19-21
- 2.3.2 嵌入式设备固件启动引导程序21-22
- 2.4 固件调试相关技术22-24
- 2.4.1 调试器概述22-23
- 2.4.2 远程调试技术23-24
- 2.5 本章小结24-25
- 第3章 嵌入式固件分析环境技术研究25-39
- 3.1 引言25
- 3.2 整体设计25-27
- 3.3 嵌入式设备固件解析27-31
- 3.3.1 嵌入式固件类型识别27-28
- 3.3.2 嵌入式固件格式特征字段解析28-30
- 3.3.3 嵌入式固件提取文件系统30-31
- 3.4 固件仿真运行策略31-35
- 3.4.1 交叉编译定制内核31-32
- 3.4.2 动态调试分析工具移植32-33
- 3.4.3 引导启动程序设计33-35
- 3.5 实验过程及结果35-38
- 3.6 本章小结38-39
- 第4章 嵌入式固件远程调试技术研究39-53
- 4.1 引言39
- 4.2 整体设计39-41
- 4.3 远程调试通信协议41-42
- 4.4 GDBSERVER调试代理设计42-48
- 4.4.1 QEMU虚拟机调试状态43-45
- 4.4.2 数据包读取解析45-47
- 4.4.3 命令解析与执行47-48
- 4.5 远程调试设计策略48-51
- 4.5.1 桥接网络通信49-50
- 4.5.2 文件共享设置50-51
- 4.6 实验过程及结果51-52
- 4.7 本章小结52-53
- 结论53-55
- 参考文献55-59
- 攻读硕士学位期间所发表的学术论文59-61
- 致谢61
【相似文献】
中国期刊全文数据库 前10条
1 王丽娜;王震洲;刘教民;王静红;郭盛;;数据采集卡中固件程序的开发[J];河北科技大学学报;2008年01期
2 齐冰冰;;老古董新生命 小记固件刷新的若干问题[J];电脑爱好者;2009年18期
3 周惠坤;张鑫;梁金宝;牟欢;;USB开发中易混淆的概念剖析[J];电子设计工程;2012年21期
4 刘兆凯,陈星,孙晓燕;基于USBN9604固件程序调试系统的设计[J];现代电子技术;2005年22期
5 陈云飞;胡荣强;李伟;;基于EZ-USB FX2的固件程序设计[J];电子元器件应用;2007年01期
6 王静红;刘教民;于富强;王丽娜;王震洲;;采用CY7C68013芯片的系统固件程序设计[J];河北师范大学学报(自然科学版);2008年02期
7 彭文彬;陈彬兵;米红菊;;基于AN2131QC USB固件程序设计[J];现代电子技术;2008年20期
8 李虹;常丹华;;EZ-USB固件程序设计及装载[J];微处理机;2005年06期
9 ZL;;升级固件看CMMB加密电视[J];电脑知识与技术(经验技巧);2010年08期
10 黑光;;升级固件提升MP3功能[J];电脑知识与技术(经验技巧);2009年03期
中国重要会议论文全文数据库 前1条
1 杜宇;李可;;嵌入式设备USB驱动及固件程序设计[A];山东省计算机学会2005年信息技术与信息化研讨会论文集(二)[C];2005年
中国重要报纸全文数据库 前3条
1 安琳;改进杂牌MP3机的要点——固件提取[N];电子报;2006年
2 重庆 付振平;优百特Mini-600 MP3机升级记[N];电子报;2006年
3 四川 闻钊;硬盘固件巧升级 存取性能小提高[N];电子报;2011年
中国硕士学位论文全文数据库 前9条
1 杨少博;USB3.0高速数据传输技术研究及应用[D];中北大学;2016年
2 鲍庆国;嵌入式设备固件分析的关键技术研究[D];北京工业大学;2016年
3 薛林波;MP3固件修复技术研究[D];北京理工大学;2011年
4 李彬;基于MD5算法的PLC固件完整性增强方法研究[D];华南理工大学;2013年
5 卞廷波;USB Mass Storage类设备固件的设计与实现[D];电子科技大学;2006年
6 张平;面向固件的嵌入式操作系统识别技术研究[D];解放军信息工程大学;2012年
7 余建康;DSP平台下剂量控制板固件研究与开发[D];华中科技大学;2006年
8 付思源;基于统一可扩展固件接口的恶意代码防范系统研究[D];上海交通大学;2011年
9 唐伟锋;液晶拼接显示单元控制芯片固件程序及PC端控制软件设计[D];上海交通大学;2011年
,本文编号:738276
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/738276.html