




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ARM嵌入式系统底层漏洞挖掘技术研究 杨世德,梁光明,余凯 (国防科学技术大学电子科学与工程学院,湖南长沙410073) 摘要:随着针对嵌入式系统的攻击事件不断发生,安全指标在嵌入式系统设计过程中得到了越来越广泛的关注。传统的嵌入式系统安全分析主要针对嵌入式操作系统和应用软件,很少关注底层硬件安全。通过分析嵌入式系统底层运行机制,建立和提出一种基于ARM嵌入式系统底层硬件漏洞挖掘模型和方法。 关键词:linux;内核模块;寄存器;挖掘技术 :TN710?34:A:1004?373X(xx)18?0057?03 嵌入式系统是以应用需求为目的,软硬件资源结合为手段,通过裁剪软硬件资源满足用户对功能、可靠性、成本、体积、功耗等性能指标要求的专用计算机系统1。在嵌入式系统发展初期,嵌入式系统通常都是作为完成单一任务的处理器被独立使用,很少通过网络与外界相连。由于嵌入式系统用户的单一性和网络的封闭性,不存在通过网络的攻击,所以在嵌入式系统设计过程中很少考虑安全的因素。但是,随着互连网和无线通信等技术的迅速发展,嵌入式设备不断向数字化,网络化,智能化方向发展,嵌入式系统安全也成了一个急需解决的问题2。对于嵌入式系统软件的漏洞挖掘理论已经日趋成熟,但是针对嵌入式系统硬件漏洞挖掘方法还没有形成理论。 1嵌入式系统体系结构 嵌入式系统一般由嵌入式软件和嵌入式硬件组成,软件主要由嵌入式操作系统、驱动程序和上层应用程序构成3。硬件主要由嵌入式微处理器和外围电路构成。嵌入式系统层次结构图如图1所示。 2嵌入式操作系统与Linux内核模块驱动 2.1嵌入式操作系统 嵌入式设备发展早期并没有操作系统。主要存在两个原因,一方面控制嵌入式设备运行只需要一些简单的程序,如洗衣机、微波炉、电冰箱等;另一方面,早期的嵌入式设备硬件资源有限,没有足够的资源支撑嵌入式系统运行。随着硬件的不断发展和用户对于产品功能要求的提高,嵌入式系统不断变的复杂,这时候需要操作系统管理软硬件资源。 嵌入式操作系统是上层应用程序与底层物理硬件的接口,嵌入式操作系统使硬件系统和应用软件层产生相对独立性,可在一定范围对硬件模块进行升级和替换而不影响应用软件的使用。对于用户而言,嵌入式操作系统屏蔽了硬件工作细节,为用户提供统一的应用程序开发接口,这大大简化了应用程序的开发设计流程,同时保障了软件质量和缩短了开发周期。 2.2Linux内核模块驱动 设备驱动程序是嵌入式操作系统的一部分,它是位于应用程序和实际设备之间的软件。设备驱动程序是驱动硬件工作的特殊程序,其直接与硬件打交道。上层应用程序与操作系统使用硬件必需调用相应的驱动程序4。对于普通用户而言,设备驱动程序为用户提供了硬件操作的接口,不需要知道硬件工作具体细节就可以驱动硬件工作。用户操作通过一组标准化的调用完成而这些调用是和特定的驱动程序无关的。驱动程序运行于操作系统,操作系统通过驱动程序才可以控制硬件设备工作。只有正确安装了设备驱动程序,才能保证硬件设备正常工作。 Linux设备驱动程序存在两种安装使用方法: (1)直接将设备驱动程序编译进Linux内核。将编写完成的驱动程序源码放在Linux内核源码相应目录下,通过修改Makefile和Kconfig文件将其添加到内核目录树中,然后通过makemenuconfig配置该选项,将驱动程序直接编译进Linux内核中。 (2)以可加载内核模块LKM(LoadableKernelMod?ule)的方式安装驱动程序。通过使用已经运行于嵌入式系统的Linux内核相应的源码,将驱动程序编译成内核模块,加载内核模块。 本文研究的是第2种方式。相比于第1种方式,以加载内核模块的方式安装驱动程序可在需要时动态的加载,且不需要重新编译内核,不会使内核过于庞大和浪费内存资源。以系统调用read为例,Linux内核模块工作原理如图2所示。 3基于测试的硬件漏洞挖掘模型 Linux内核模块提供了在用户空间操作底层寄存器的途径,而嵌入式系统存储器种类繁多、容量较大,如何从中选取出对嵌入式系统运行起关键作用的寄存器也是本文研究的重点5。本文提出了一种基于测试的硬件漏洞挖掘模型,如图3所示。 基于测试的硬件漏洞挖掘目标为:从嵌入式系统存储体系中搜索对嵌入式系统运行起核心作用的寄存器;挖掘可导致嵌入式系统运行出错的寄存器配置。在基于测试的硬件漏洞挖掘模型中,关键技术是测试向量构建、确定适度函数和异常自动监测。典型的测试向量生成方法有两类,基于变异的测试向量生成方法和基于生成的测试向量生成方法。 4基于内核模块的硬件寄存器访问机制漏洞 为防止对资源的未经授权的访问,ARM微处理器划分为不同的操作模式6。不同的工作模式运行不同级别的程序和享有不同的操作权限,Linux用户程序工作在ARM微处理器SVC模式,内核程序工作在ARM微处理器USR模式。例如,SVC模式可以控制内存映射方式、特殊寄存器、中断和DMA等,而usr模式则不可以。 驱动程序是在“内核空间”中运行,而应用程序是在“用户空间”中运行7。通过系统调用和硬件中断可以完成由“用户空间”到“内核空间”的转换。两个空间分别引用不同的地址映射。即程序代码使用不同的地址空间。由此可见,想直接通过指针把“用户空间”的数据地址传递给“内核空间”是不可能的,必需通过Linux提供的一些函数实现地址空间的转换,如get_user,put_user,copy_from_user,copy_to_user等。通过上述分析,可以找出一种在用户空间对硬件寄存器操作的方法,即通过可加载内核模块的方法操作硬件寄存器。内核模块运行于内核空间,此时ARM处理器处于svc模式,有权限对硬件寄存器进行读/写操作。本文设计一个可对看门狗寄存器进行更改的内核模块,动态加载到嵌入式Linux系统中,通过应用程序调用此内核模块实现激活看门狗电路、重启嵌入式系统的操作。内核模块open函数中定义的对看门狗寄存器的操作代码如图4所示。 以上内核模块代码即为用户程序中系统调用函数open的最终实现代码。Linux中,无论是内核程序还是应用程序,都只能对虚拟地址进行操作。图中代码完成看门狗寄存器物理地址到虚拟地址的映射和赋值工作。通过分别对看门狗定时器数据(WTDAT)寄存器、看门狗定时器计数(WTT)寄存器、看门狗定时器控制(WTCON)寄存器赋值,实现启动看门狗电路,重启嵌入式系统的操作。 5结语 本文通过分析嵌入式系统体系结构和基于内核模块的驱动加载原理,获知嵌入式Linux系统在内核层次对于寄存器没有防护,特别是核心寄存器。攻击者可通过动态加载内核模块方式更改核心寄存器值。并且,针对内核中已经存在驱动程序的硬件设备,仍然可通过可加载内核模块的方式获得硬件设备的控制权,即嵌入式Linux中缺乏不同驱动操作同一硬件的冲突处理机制。并以看门狗电路为例,对看门狗相关寄存器值进行更改,实现了嵌入式系统的重启。文中提出的嵌入式系统硬件漏洞挖掘方法和模型对于嵌入式系统漏洞挖掘具有一定的应用价值。 参考文献 1姜荣萍.ARM嵌入式系统分析J.计算机光盘软件与应用,xx(6):71?72. 2蔡红辉.嵌入式系统的安全与分析J.科教文汇,xx(9):217?218. 3袁源,戴冠中.LKM后门综述J.计算机科学,xx(7):5?8. 4李淑文.嵌入式Linux内核模块加载技术分析J.广东经济管理学院学报,xx(8):78?80. 5刘瑜.Linux安全分析与系统增强的研究D.成都:电子科技大学,xx. 6YAMAURAT.HowtodesignpracticaltestcasesJ.Software,IEEE,1998,15(6):30?36. 7HUANGJC.PrograminstrumentationandsoftwaretestingJ.Computer,1978,11(4):3?8. 作者简介:杨世德(1991),男,内蒙古
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年度六年级数学上册第一次月考上海专用沪教版2024参考答案
- 科四文明常识考试题目及答案
- 黑龙江职高高考试题语文及答案
- 专业技术岗b类考试真题及答案
- 2025年川留置看护人员招聘考试(综合知识)综合练习题及答案
- 2025酒精肝考试题及参考答案
- 融合边缘计算检测-洞察与解读
- 2025年长春市事业单位招聘考试综合类结构化面试真题模拟试卷
- 2025年江西省事业单位招聘考试综合类无领导小组讨论面试真题模拟试卷
- 2025年事业单位招聘新闻类试卷及答案详解助你轻松过关
- 2025年下半年四川甘孜州考试招聘事业单位人员138人考试参考试题及答案解析
- 2025年10月“江南十校”2026届新高三第一次综合素质检测 化学试卷(含答案详解)
- RCT临床试验课题申报书模板及示范
- 7.水受热遇冷会怎样(教学设计)-四年级上册科学人教鄂教版
- 2025-2030FTTR家庭组网标准演进与市场渗透策略研究
- 屠宰兽医检验考试题及答案
- 2025年成人高考专升本《政治》真题含答案
- 内蒙古信息技术考试题库及答案
- 第四课 建设法治中国说课稿-2025-2026学年初中道德与法治统编版五四学制九年级上册-统编版五四学制2018
- 园林古建筑防雷设计方案
- GB/T 13591-2025乙炔气瓶充装规定
评论
0/150
提交评论