一种基于wdm模型的固件攻击技术研究与实现

一种基于wdm模型的固件攻击技术研究与实现

ID:33847973

大小:187.94 KB

页数:5页

时间:2019-03-01

一种基于wdm模型的固件攻击技术研究与实现_第1页
一种基于wdm模型的固件攻击技术研究与实现_第2页
一种基于wdm模型的固件攻击技术研究与实现_第3页
一种基于wdm模型的固件攻击技术研究与实现_第4页
一种基于wdm模型的固件攻击技术研究与实现_第5页
资源描述:

《一种基于wdm模型的固件攻击技术研究与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、·J82·第二十一次会国计算机安套学术交流企论文一种基于WDM模型的固件攻击技术研究与实现林涛胡华平刘波张怡国防科技大学计算机学院摘要:本文详细阐述了针对微软Windows平台的一种基于硬件固件的攻击方法,谊方法采用软件方式实现.利用WDM模型和SCM服务管理器实现对映射到系统空间的硬件固件的操作,为基于网络的攻击和漏洞技术利用技术在目标主机的固化提供了手段,为检测针对硬件固件的攻击提供了技术基础。最后通过实验进行了严格的验证。关键词:WDM硬件固件BIOS一、引言随着现代操作系统的发展,操作系统安全级别不断提升,对用户态(UserMode)程序权限的限制也不断加强,这直接导致

2、了针对硬件固件的病毒和攻击技术越来越难以实现。硬件固件,即具有软件功能的硬件,在现代的计算机系统之中,一般认为固件是硬件存储其初始化、外围控制的程序代码的只读存储器(ROM)。只读存储器包括:可擦写编程存储器(EPROM)和快速只读存储器(raashROM)等,其中快速只读存储器是当今主板、显卡以及手机等便携设备存放监控程序的主要器件。随着技术的发展。现在更倾向认为固件是一种软件。只读存储器在一般状态下,先前写入的数据无法被擦除、破坏,即使关掉电源之后内容仍旧存在;在特殊应用程序的配合以及相关硬件设置之后,存放在快速只存储器中的数据、代码和设置信息能够被擦除和修改。针对不同的硬

3、件,各种固件名称也各不相同。主板的固件即BIOS(BasicInputandOutputSystem)芯片,而针对光驱显卡等硬件固件有时也称为Firmware。硬件固件的主要作用是在系统开机加电后提供初始化设置的硬件参数,文献[1、2、3】中简单介绍了快速只读存储器的更新和优化技术,这种功能和可用软件更新的特点,为基于固件的攻击提供了可行性。当写入硬件固件的内容是“精心构造”的正确运行的代码时,称之为注入(Injection);相反,如果写入固件的内容是“精心构造”的错误代码时,这就形成了攻击(Attack)。目前,直接针对硬件固件的攻击和瘫痪技术方面公开发布的资料非常少,相关

4、技术和文献主要以主板BIOS芯片为主,文献[4】中介绍了BIOS芯片硬件设置和部分版本的源代码,文献[5】和文献[6]中提出了AWARD系列BIOS芯片的小型应用程序注人和逆向工程方法.没有涉及写入手段。硬件厂商的不同使得各种固件攻击工具之间没有可比性,缺乏一个统一的标准的和平台,而本文介绍的基于WDM驱动模型的攻击技术,为在用户态实现对硬件固件的攻击和注入提供了手段和保障,而相同的方法也可以用来实现对硬件固件攻击的检测。二、WDM模型简介WDM(WindowsDriverModel)微软公司提出的全新的驱动程序模型,支持即插即用、电源管理和wMI技术。在Windows系列操作

5、系统之中,驱动程序也被划分为用户态和核心态。图1给出了操作系统驱动程序的相关组成,用户态的驱动程序运行在非特权模式(non-privilegedprocessormode)上,其它一些被保护的系统代码也运行在该模式上。用户态的驱动程序不能获得系统数据的存取权,除非调用Win32API太套论文·183·或者系统服务;核心态驱动程序作为操作系统的一个组成部分被执行,支持一个或多个受保护的子系统的操作系统底层组件。用户态和核心态驱动程序有不同的结构、不同的人口点和不同的系统接口。一个设备是需要一个用户态驱动程序还是一个核心态驱动程序依赖于该设备的类型和操作系统对它提供的支持。一些设备

6、驱动程序可以完全或部分地运行在用户态。用户态驱动程序没有堆栈空间的限制,可以访问Win32API,并可调试。操作系统用设备对象(deviceobject)来表示设备。每一个设备都有一个或多个设备对象与之相关联。设备对象提供并封装了在设备上的所有操作。在核心态驱动程序中,每个设备必须至少创建一个设备对象,每一个设备对象在驱动程序堆栈(driverstack)中对应一个驱动程序来管理设备的I/O请求。一个设图1Windows系列操作系统驱动程序模型备的所有设备对象被组织成一个设备堆栈。无论何时,一个操作都在一个设备上完成,系统把IRP(I/Orequestpacket)数据结构体传

7、递给设备堆栈中顶部设备的驱动程序。每一个驱动或者处理IRP,或者把它传递给设备堆栈中下一个设备对象的驱动程序。设备对象由DEVICE_OBJECT结构体表示,由对象管理器(ObjectManager)管理。对象管理器为设备对象提供与其它系统对象相同的功能。特别地,一个设备对象可以被命名,并且一个被命名的设备对象可以有一个句柄。系统为每一个设备对象提供专门的存储空间.被称作设备扩展(deviceextension),设备扩展同设备对象一起被创建和释放。图2描述了设备对象和I/O管理器之间的关系

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

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

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