推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

一种基于匹配字符串地址判定ARM固件装载基址的方法

更新时间:2019-12-25 05:23:21 大小:2M 上传用户:zhiyao6查看TA发布的资源 标签:ARM 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

固件是嵌入式系统的灵魂,当对固件进行安全检测或者深入理解固件中的运行机制时,对固件进行反汇编是一个必经的步骤.对固件反汇编时,首先要确定固件的装载基址及其运行环境的处理器类型.通常我们可以通过拆解硬件设备或者查阅产品手册获得处理器类型,但目前尚没有自动化工具可获知固件的装载基址.鉴于目前大部分嵌入式系统中的处理器为ARM类型,本文以ARM固件为研究目标,提出了一种自动化方法来判定固件的装载基址.首先通过研究固件中字符串的存储规律及其加载方式,提出了两个算法可分别求出固件中字符串偏移量和LDR指令加载的字符串地址.然后利用这些字符串信息,提出了DBMAS(Determining image Base by Matching Addresses of Strings)算法来判定固件的装载基址.实验证明本文提出的方法可以成功判定使用LDR指令加载字符串地址的固件装载基址.


部分文件列表

文件名 大小
一种基于匹配字符串地址判定ARM固件装载基址的方法.pdf 2M

部分页面预览

(完整内容请下载后查看)
6
Vol. 45 No. 6  
Jun. 2017  
2017  
6
ACTA ELECTRONICA SINICA  
基于匹配定  
ARM  
法  
1
1
1
1
23  
23  
, , , , ,  
瑞瑾 张宝峰 捷 骆 扬 谭毓安 全新  
( 1.  
北京  
100085; 2.  
北京工大学计北京  
100081;  
3.  
北京处理与云应用工程技术研究北京  
100081)  
:
, ,  
系统的理解固行机时 对行反  
.  
的步首先行环境处理可以通  
.  
得处理具可获知于目部  
ARM ARM  
系统处理为  
本文以  
首先通过研究加载算法出固量和  
DBMAS( Determining image Base by Matching Addresses of  
件为研究目基  
LDR  
加载的字了  
Strings)  
算法本文提可以使用  
LDR  
加载件  
址  
关键词  
中图分类号  
URL: http: / /www. ejournal. org. cn  
:
;
; ARM;  
编  
件  
:
TP311. 5  
:
A
: 0372-2112 ( 2017) 06-1475-08  
DOI: 10. 3969 /j. issn. 0372-2112. 2017. 06. 028  
文献标识码  
文章编号  
电子学报  
Determining Image Base of ARM Firmware  
Based on Matching String Addresses  
1
1
1
1
23  
23  
ZHU Rui-jin ZHANG Bao-feng MAO Jun-jie LUO Yang TAN Yu-an ZHANG Quan-xin  
( 1. China Information Technology Security Evaluation CenterBeijing 100085China;  
2. School of Computer Science and TechnologyBeijing Institute of TechnologyBeijing 100081China;  
3. Beijing Engineering Research Center of Massive Language Information Processing and Cloud Computing ApplicationBeijing 100081China)  
Abstract: Firmware is the soul of an embedded systemand disassembly is a necessary step to understand the opera-  
tional mechanism or detect the vulnerabilities of the firmware. When disassembling a firmwareit should first determine the  
processor type of running environment and the image base of firmware. In generalthe processor type can be got by tearing  
down the device or consulting the product manual. Howeverat present there is still no automated tool that can be used to ob-  
tain the image base of firmware. Since the processors of majority embedded systems are ARM architecturein this paper we  
focus on the firmwares in ARM and propose an automated method to determine the base address. Firstlyby studying the  
storage rule and loading mode of the string we present two algorithms to calculate the string offset and the string address  
loaded by LDR instruction. Then with these informationwe proposed a DBMAS ( Determining image Base by Matching Ad-  
dresses of Strings) algorithm to determine the image base. Experimental results indicate the proposed method can successful-  
ly determine the image base of firmware that uses the LDR instruction to load string address.  
Key words: image base; firmware; ARM; disassemble  
最近系统相  
1
引言  
如  
NSA  
软  
12]  
34]  
、 、  
身携带的器  
Stuxnet  
PLC  
CiscoD-  
站  
,  
系统已经方方面  
LINKTendaLinksysNetgear  
中  
: 2015-11-05;  
: 2016-11-28;  
:
责任编辑 梅志强  
收稿日期  
修回日期  
:
基金项目 国家自然科学基金  
( No. 61370063) ;  
国家重计划空间项  
1476  
2017  
5 ~ 8]  
等等 系统来  
LDR  
; ,  
加载的字用  
门  
有可使用  
, ,  
提高系统的更好保  
LDR  
加载的字定  
的字量和  
, ,  
编  
本文的有以下点  
:
用和法 而汇  
( 1)  
LDR  
中  
的  
9]  
(
器 如  
IDA Pro  
)
算法 算法用  
LDR  
的编可以有别  
处理固载  
( )  
系统内存中位置 及  
LDR  
中  
( 2)  
算出加载址  
ARM  
行环境处理可以使汇  
定  
装  
算法 算法的字偏  
LDR  
10]  
, ,  
引  
用  
分析理解固意  
量以及的  
地  
,  
同时 于在理解固的内  
,  
本文提基  
令  
LDR  
针对使用  
加载文  
11]  
行反处理可以通过  
误  
是有的  
格  
2
及其地址  
址  
12]  
2. 1  
及其方法  
Igor Skochinsky  
者  
给出针对系  
( strings) ,  
要  
都包含串  
线  
,  
本  
自重码  
( Self-relocating Code) 、  
始  
1113]  
字  
. Zachry Basnight  
等人  
等  
种人理出第一用  
件人理出合  
PLC  
给出两  
、 、 ,  
数字 标点等 其  
ASCII  
ARM  
( 0x200x7E) .  
,  
等 其  
范围为  
ASCII  
( 0x090x0D) . ASCII  
所以的  
范围为  
范围  
法使接  
( 0x090x0D) ( 0x200x7E) . ARM  
入  
PLC  
当  
PLC  
使从  
其  
ARM  
C C  
系统使编程 在本文中只讨风  
通过工分析内的  
令  
14]  
. C , ,  
的字言中 在字中  
. Italo Dacosta  
可发址  
switch case  
中  
等人 指出  
密  
的内在一转  
\0,  
对应  
C
当  
ASCII  
0x00.  
为  
些  
case  
到  
,  
表可的内从  
1 .  
的字中存于性能  
基  
15]  
, ,  
考虑 行了对即如字  
. Santamarta  
给出法  
case  
4 ,  
不是 在字一  
的内到  
的大  
( padding)  
4
节  
使得为  
工分析个  
case  
对应的内后  
图  
1( b)  
示  
case  
该  
在文址  
16]  
1 ,  
图 中可以无论是的字串  
Stefan  
MIPS  
给出定  
方  
, ,  
的字均有相同即除第一  
, ,  
法假通  
00.  
的字前后是  
FIND-String  
了  
点  
算法出固所有的  
的编同  
ASCII  
过重设置固数  
是否匹配前设置的基是否确  
与  
分析经验有  
的  
提高字串识确  
算法中设置最小数  
wnd  
FIND-String  
率 在  
可以出固据统计前  
17]  
wnd,  
大于  
的字串才是有串  
63%  
ARM  
因此本  
有  
式设为  
构  
FIND-String  
ARM  
算法出  
的  
以  
研究其  
LDR  
系统的件为研  
wnd  
大于  
位置 位置间存为  
加载针对使用  
加载的  
.  
并可量 对中存储  
.  
法  
的字不容第一位置  
, ,  
第一步 所有字  
1  
算法 示  
; ,  
并输所  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载