基于arm嵌入式系统底层漏洞挖掘技术研究

基于arm嵌入式系统底层漏洞挖掘技术研究

ID:12845364

大小:57.50 KB

页数:7页

时间:2018-07-19

基于arm嵌入式系统底层漏洞挖掘技术研究_第1页
基于arm嵌入式系统底层漏洞挖掘技术研究_第2页
基于arm嵌入式系统底层漏洞挖掘技术研究_第3页
基于arm嵌入式系统底层漏洞挖掘技术研究_第4页
基于arm嵌入式系统底层漏洞挖掘技术研究_第5页
资源描述:

《基于arm嵌入式系统底层漏洞挖掘技术研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于ARM嵌入式系统底层漏洞挖掘技术研究-电气论文基于ARM嵌入式系统底层漏洞挖掘技术研究杨世德,梁光明,余凯(国防科学技术大学电子科学与工程学院,湖南长沙410073)摘要:随着针对嵌入式系统的攻击事件不断发生,安全指标在嵌入式系统设计过程中得到了越来越广泛的关注。传统的嵌入式系统安全分析主要针对嵌入式操作系统和应用软件,很少关注底层硬件安全。通过分析嵌入式系统底层运行机制,建立和提出一种基于ARM嵌入式系统底层硬件漏洞挖掘模型和方法。关键词:Linux;内核模块;寄存器;挖掘技术中图分类号:TN710?34文献标识码:A文章编号:1004?373X(2015)18?0057

2、?03嵌入式系统是以应用需求为目的,软硬件资源结合为手段,通过裁剪软硬件资源满足用户对功能、可靠性、成本、体积、功耗等性能指标要求的专用计算机系统[1]。在嵌入式系统发展初期,嵌入式系统通常都是作为完成单一任务的处理器被独立使用,很少通过网络与外界相连。由于嵌入式系统用户的单一性和网络的封闭性,不存在通过网络的攻击,所以在嵌入式系统设计过程中很少考虑安全的因素。但是,随着互连网和无线通信等技术的迅速发展,嵌入式设备不断向数字化,网络化,智能化方向发展,嵌入式系统安全也成了一个急需解决的问题[2]。对于嵌入式系统软件的漏洞挖掘理论已经日趋成熟,但是针对嵌入式系统硬件漏洞挖掘方法还

3、没有形成理论。1嵌入式系统体系结构嵌入式系统一般由嵌入式软件和嵌入式硬件组成,软件主要由嵌入式操作系统、驱动程序和上层应用程序构成[3]。硬件主要由嵌入式微处理器和外围电路构成。嵌入式系统层次结构图如图1所示。2嵌入式操作系统与Linux内核模块驱动2.1嵌入式操作系统嵌入式设备发展早期并没有操作系统。主要存在两个原因,一方面控制嵌入式设备运行只需要一些简单的程序,如洗衣机、微波炉、电冰箱等;另一方面,早期的嵌入式设备硬件资源有限,没有足够的资源支撑嵌入式系统运行。随着硬件的不断发展和用户对于产品功能要求的提高,嵌入式系统不断变的复杂,这时候需要操作系统管理软硬件资源。嵌入式操

4、作系统是上层应用程序与底层物理硬件的接口,嵌入式操作系统使硬件系统和应用软件层产生相对独立性,可在一定范围对硬件模块进行升级和替换而不影响应用软件的使用。对于用户而言,嵌入式操作系统屏蔽了硬件工作细节,为用户提供统一的应用程序开发接口,这大大简化了应用程序的开发设计流程,同时保障了软件质量和缩短了开发周期。2.2Linux内核模块驱动设备驱动程序是嵌入式操作系统的一部分,它是位于应用程序和实际设备之间的软件。设备驱动程序是驱动硬件工作的特殊程序,其直接与硬件打交道。上层应用程序与操作系统使用硬件必需调用相应的驱动程序[4]。对于普通用户而言,设备驱动程序为用户提供了硬件操作的接

5、口,不需要知道硬件工作具体细节就可以驱动硬件工作。用户操作通过一组标准化的调用完成而这些调用是和特定的驱动程序无关的。驱动程序运行于操作系统,操作系统通过驱动程序才可以控制硬件设备工作。只有正确安装了设备驱动程序,才能保证硬件设备正常工作。Linux设备驱动程序存在两种安装使用方法:(1)直接将设备驱动程序编译进Linux内核。将编写完成的驱动程序源码放在Linux内核源码相应目录下,通过修改Makefile和Kconfig文件将其添加到内核目录树中,然后通过makemenuconfig配置该选项,将驱动程序直接编译进Linux内核中。(2)以可加载内核模块LKM(Loadab

6、leKernelMod?ule)的方式安装驱动程序。通过使用已经运行于嵌入式系统的Linux内核相应的源码,将驱动程序编译成内核模块,加载内核模块。本文研究的是第2种方式。相比于第1种方式,以加载内核模块的方式安装驱动程序可在需要时动态的加载,且不需要重新编译内核,不会使内核过于庞大和浪费内存资源。以系统调用read为例,Linux内核模块工作原理如图2所示。3基于测试的硬件漏洞挖掘模型Linux内核模块提供了在用户空间操作底层寄存器的途径,而嵌入式系统存储器种类繁多、容量较大,如何从中选取出对嵌入式系统运行起关键作用的寄存器也是本文研究的重点[5]。本文提出了一种基于测试的硬

7、件漏洞挖掘模型,如图3所示。基于测试的硬件漏洞挖掘目标为:从嵌入式系统存储体系中搜索对嵌入式系统运行起核心作用的寄存器;挖掘可导致嵌入式系统运行出错的寄存器配置。在基于测试的硬件漏洞挖掘模型中,关键技术是测试向量构建、确定适度函数和异常自动监测。典型的测试向量生成方法有两类,基于变异的测试向量生成方法和基于生成的测试向量生成方法。4基于内核模块的硬件寄存器访问机制漏洞为防止对资源的未经授权的访问,ARM微处理器划分为不同的操作模式[6]。不同的工作模式运行不同级别的程序和享有不同的操作权限,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。