BIOS级的涉密计算机硬件安全防护
石榴什么季节成熟引言
为了防止涉密信息、重要的业务数据敏感信息、信息载体、信息处理过程的外泄,涉密计算机或者保存重要信息、数据的计算机将采取必要的安全防护措施。计算机安全防护包括物理安全策略、访问控制策略、加密等各类技术,目前市面上有很多种类的防护产品特别是软件产品都可以提供如访问控制、移动存储设备使用控制、外部连接设备使用控制、网络连接控制等技术,但这类产品提供的技术不包含物理安全防护措施,而且存在诸多被绕过的可能。虽然很多软件产品因此增强了自身的安全保护技术,但重新安装操作系统便可以使软件防护失效。本文介绍了一种基于BIOS硬件实现的计算机安全防护策略和实现方法,能够提供包括物理安全策略在内的彻底的安全防护。
B10S级的计算机防护技术原理简介计算机在开机或重启后,CPU即跳转到系统BIOS的启动代码处开始执行。系统BIOS的启动代码首先要做的事情就是关闭中断并进行POST(PowerOnSelfTest),然后进行显卡初始化、内存测试、标准硬件设备检测,之后系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,为已安装的PCI设备分配中断、DMA通道、存储空间和I/O端口等资源,并搜索扩展设备上是否存在ROM。如果存在将执行ROM里的程序。最后,BIOS打开不可屏蔽中断并调用INT19h系统中断引导操作系统。
从计算机的启动过程可以看到,如果想要在操作系统启动之前获得计算机的控制权,实现对计算机各种硬件设备和输入输出接口的接管,就必须利用BIOS的上述特性,即在PCI扩展卡上的ROM芯片中存储具有进行访问控制等安全防护功能的程序,当计算机开机或重启时,BIOS就会将ROM中的控制程序自动加载到内存并执彳亍o
1.PCI扩展ROM概述
嵌入在主板PCI插槽上的PCI器件或PCI扩展卡都是PCI设备。《PCI局部总线规范》中提供了这样一种机制,即允许PCI设备携带一个与系统内存空间无关的扩展ROM,在其中存放一些信息和程序代码,以用于设备的初始化和系统的启动。
为了适应不同的处理器系统,PCI设备的扩展ROM中可以包含多种处理器代码段,即扩展ROM中可以包含多个为不
■北京鼎普科技股份有限公司于晴王海洋
同的系统或处理器体系结构而设计的多个代码映像。每个映像必须开始于一个512字节边界并且必须含有PCI扩展ROM头标。每一个映像的开始位置取决于前一个映像的长度。最后一个映像的头标中要有一个特殊编码,用来表示它是最后一亿关岛人口
五子登科是哪五子扩展ROM中的代码不在原地执行.而是BIOS将其从ROM中拷贝到RAM中执行。这样,可在初始化和运行时动态地确定代码长度,并且能提高代码的执行速度。
PCI设备通过位于PCI接口芯片内的配置空间与系统BIOS进行信息交换。通过该信息交换区,PCI设备向BIOS反馈其状态和要求。同时BIOS对PCI设备进行辨识、配置和控制。系统BIOS就是通过位于PCI设备配置空间偏移地址30h处的扩展ROM基址寄存器判断该设备是否携带扩展ROM并获得扩展ROM的大小等信息。
2.PCI扩展ROM映像的格式
一个PCI扩展ROM映像通常由PCI扩展ROM头标、PCI数据结构、运行代码、初始化代码和校验和组成,其中,PCI扩展ROM头标位于映像的起始位置,前两个字节是55AAh,用来标识一个扩展ROM;初始化长度部分以512字节为单位,用来告诉BIOS向RAM中拷贝的数据长度;初始化代码入口部分通常会放一条FARCALL或JMP指令;最后两个字节包含了指向PCI数据结构的一个16位指针,用来指出PCI数据结构以ROM映像的起始位置为参考点的偏移地址。PCI数据结构则必须放在映像的第一个64KB之内,其中给出了设备和映像的信息。供应商ID和设备ID用于与配置空间信息进行校验;偏移地址14h处的代码类型值为00H时为Intelx86可执行代码;指示标志的位7用来表示该映像是否是ROM中的最后一个。运行代码
在操作系统加载后也将保留在RAM中并保持可运行状态。初始化代码用于设备的初始化,BIOS将PCI扩展ROM映像拷贝到RAM后即执行偏移地址03h处的指二鼽此处通常用一条FARCALL或JMP指令调用初始化程序,执行完毕初始化程序即被清除出RAM。
3.PCI扩展ROM映像的执行
当BIOS检测到一个PCI设备携带了扩展ROM时,首先在扩展ROM中查合适(与计算机的体系结构兼容,并且PCI数据结构中的厂商ID、设备ID与配置空间中的厂商ID、
万方数据
82
个人所得税设备ID—致)的映像,并根据偏移地址02h处标识的字节数把映像拷贝到RAM中,通常是地址()C(1()ooh~oDFFFFh处,然后将扩展ROM地址译码使能位清零,并保持系统存储器驻留有扩展ROM映像代码的区域可读、可写,接着执行初始化代码。初始化代码执行过程中可能会修改偏移地址02h处的代码长度,如果代码长度被修改,则在初始化程序结束后,BIOS会根据修改后的代码长度调整分配给扩展ROM代码的存储空间,并对驻留有扩展ROM代码的主存区域进行写保护,防止操作系统取得控制权后改写该区域的内容。
计算机安全防护方面的设计策略
1.应用PCI扩展ROM实现访问控制的安全防护技术PCI扩展ROM中程序运行在BIOS已经对计算机标准硬件进行了检测和初始化之后、加载操作系统之前,因此此时几乎所有的计算机资源都是可以利用的,通过接管相关BIOS中断(不是DOS中断,因为此时还没有启动操作系统,BIOS中断是计算机最底层的中断)的办法,结合驱动和Rootkit技术,就可以实现访问控制、移动存储设备使用控制、外部连接设备控制、网络连接控制等一系列的安全防护功能。
基于PCI扩展ROM机制实现计算机安全防护的好处是显而易见的。首先,具有i方问控制等安全防护功能的程序存储在PCI扩展卡的ROM,不需要安装任何的软件或驱动,方便了用户的使用;其次,因为程序是在操作系统引导之前运行,与安装了何种操作系统无关,突破了平台的限制;最重要的,利用这种机制实现的安全防护措施不存在凶为卸载或重新安装操作系统而失效的可能,也不能用任何手段被绕过。
2.FullDiskEncryption物理安全防护技术的设计基于对计算机物理安全防护的考虑,以及Sfx,l"计算机的重要信息一般都保存在硬盘存储器上,所以对硬盘的全盘加密技术是敏感、重要信息不外泄的根本保证。
WindowsNT之前的操作系统对硬盘的访问都是通过调用BIOSINT13h中断实现的,
那么简单的接管这个中断就可以接管所有对硬盘的操作。但WindowsNT以上内核对硬盘的访问采用了更直接更底层的方式,即通过硬盘110操作实现,但Intel体系结构并不支持对I/O操作的接管。另外出于对速度方面的考虑,对硬盘数据进行物理拦截是实现全盘加密最直接最有效的方式.也就是说把原本从计算机主板连接到硬盘的IDE数据线先连接到PCI扩展卡上,经过扩展卡上的加解密模块后,再连接到硬盘,由扩展卡上的加解密模块负责IDE数据的解析和实时加解密处理:所有写入硬盘的数据都经过加解密模块加密,读出的数据都经过加解密模块解密。加解密模块可以用高性能DSP实现,这样就既保证了加解密的过程对用户完全透明,又实现了对包括操作系统在内的所有硬盘数据的加密处理。
3.两者技术的进行整合
基于PCI扩展ROM机制实现的安全防护措施和FullDiskEncryption技术,每一种技术都可以作为策略进行设计应用,把两种技术结合起来,设计的bios级防护卡可以解决引言中所提到的诸多问题,为计算机提供最为彻底的安全防护策略。
在涉密计算机环境里更广泛的应用
1.涉密计算机的增强登陆安全
通过应用PCI扩展ROM实现访问控制的安全防护技术,可以实现基于PCI扩展ROM技术的密码验证,可以提供先于操作系统的计算机访问控制,如果使用者不能提供正确的I:1令'计算机的任何硬件将不能被使用,并且是用光盘启动不能绕过的(操作系统的启动密码保护是可以通过光盘启动绕过的)。2.实现对涉密计算机的整盘数据保护
在经过全盘加密的硬盘,只有在提供正确授权信息的情况下才能够被访问,否则将不能从硬盘启动操作系统,硬盘数据也不会被任何的数据还原技术破解,从而实现了计算机信息的安全防护。
3.在BIOS防护卡上提供更灵活的拓展应用
深入理解操作系统的启动过程,并结合驱动技术、Rootkit技术,可以在该硬件设备的基础上实现和加载更多的现有成熟的监控审计、病毒防御等技术,即可以提高对涉密计算机的终端安全防护软件的自身安全,也可以为各安全产品厂商提供一个更可靠硬件的终端管理平台。
结束语
本文提出了一套基于BIOS级的防护卡的安全防护策略和实现方法,能够提供全面彻底的计算机安全防护,必将在我国的信息安全领域发挥更大的作用。◆(责编潘静)
参考文献:
1.李责山,戚德虎.PCI局部总线开发者指南.西安:西安电子科技大学出版社,1997.
2.ShanleyT.AndersonD.刘晖.冀然然,夏意军译.PCI系统结构.北京:电子工业出版社.2000.
3.陈文钦.BIOS研发技术剖析北京:清华大学出版社.2001.4.马呜锦,赵秋霞,曾光裕.高性能个人计算机硬件结构及接口.北京:国防工业出版社,2001
5.尹勇,李宁.PCI总线设备开发宝典.北京:北京航空航天大学出版社.2(X)5.
6.江力.单片机原理与应用技术.北京:清华大学出版社。2006.7.PCISpecialInterestGroup.PCIBIOSSpecification.Ver2.1『S1.1994.8.Compaq,Phoenix,IntelCorporation.BIOSBootSpecification.Verl.01fsl.1996.
9.PLXTechnologyInc.PCI研)52DataBookVersion2.0.2001.
10.PeterAbelIBMPCAssemblyLanguageandProgramrmng.FifthEdition2叫】2.
11.PCILocalBusSpecificationVersion3.0。2002.
万方数据
BIOS级的涉密计算机硬件安全防护
作者:于晴, 王海洋
作者单位:北京鼎普科技股份有限公司
刊名:
信息网络安全
英文刊名:NETINFO SECURITY
工作态度的评价年,卷(期):2008,""(12)
被引用次数:0次
1.李贵山.戚德虎PCI局部总线开发者指南 1997
2.Shanley T.Anderson D.刘晖.冀然然.夏意军PCI系统结构 2000
3.陈文钦BIOS研发技术剖析 2001
4.马呜锦.赵秋霞.曾光裕高性能个人计算机硬件结构及接口 2001
5.尹勇.李宁PCI总线设备开发宝典 2005
6.江力单片机原理与应用技术 2006
大湾区7.PCI Specicial Interest Group PCI BIOS Specification.Ver2.1 1994
8.Compaq,Phoenix,Intel Corporation BIOS Boot Specification.Ver1.01 1996
9.PLX Technology Inc PCI 9052 Data Book Version 2.0 2001
10.Peter Abel IBM PC Assembly Language and Programrmng 2002
11.PCI Local Bus Specification Vetsion 3.0 2002
本文链接:d.wanfangdata/Periodical_xxwlaq200812043.aspx
授权使用:东南大学图书馆(wfdndx),授权号:2f646951-06e0-4b09-9cfa-9dd100e6cf01
下载时间:2010年8月13日
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论