随着信息化建设的快速发展和逐步完善,政府、军队、军工、科研院所及关系国计民生的重要行业中,都不可避免地有着敏感数据和涉密信息环境,大量机要文件、图纸、文档都以电子文件形式存储在企业内部的涉密计算机终端中,一旦内部员工随意将计算机带离办公区域,则可能会引起终端丢失、数据泄露等安全问题。因此,如何在办公区域内实现对计算机终端进行基于位置的管理,成为亟需解决的问题。
目前,对物体进行实时定位的技术发展已经比较成熟。如北斗系统[1]、全球定位系统(Global Positioning System, GPS)、无线传感器网络(Wireless Sensor Network, WSN)[2]、无线射频识别(Radio Frequency Identification, RFID)[3]、Wi-Fi网络、蓝牙、基站定位等实时定位系统已经在物流传输、交通调度、健康监护、仓储保管等领域中广泛应用[4]。
但是,计算机终端与一般物品的位置管理系统的目的不同。一般物品位置管理系统的目的往往是为了防止物品丢失,而计算机终端管理系统的目的是防止终端丢失,特别是终端内部的数据丢失。从本质上来看,对计算机终端的位置管理系统,需要尽可能地保证计算机终端处于可控的范围,即使计算机终端脱离办公区域,也要具有防止数据泄露的安全机制。
目前,计算机终端位置安全管理已经有一些方法,如:
1) 计算机外壳粘贴RFID。将有源RFID标签贴在计算机外壳上,可以实现对终端的跟踪。但是也存在以下两个问题:a) RFID标签与计算机无交互,一旦终端脱离区域,将无法对其进行管控;b) 需要在电脑使用区域内部署全覆盖的RFID射频网络实现实时定位,工程实施难度大。
2) 计算机保持内网网线连接。通过在计算机中安装特定软件,使终端只能在内网环境下正常工作,计算机将不能在办公区域任意移动位置。
3) 蓝牙或Wi-Fi定位。通过蓝牙随身报警机制或Wi-Fi定位机制虽然可以实现终端的定位和管理,但其无线网络技术具有高速数据传输能力,会带来数据泄露的隐患。
方法1) 仅在外壳粘贴RFID标签,无法使标签与计算机内的软件交互,缺乏对计算机的管控能力;方法2) 和3) 本质是通过操作系统中的特定软件实现的,难以防止非法用户的强制中断和操作系统旁路攻击。
固件是计算机系统中不可缺少的重要部件,往往以软件形式固化存储在硬件的芯片中。计算机的主板、显卡、网卡、硬盘中都有固件,其中最重要、最核心的固件称为基本输入输出系统(Basic Input/Output System,BIOS)。计算机上电开机后,固件会对CPU中的寄存器、计时芯片、可编程中断器及直接内存存取(Direct Memory Access,DMA)控制器的进行状态检查,同时初始化设置主板芯片组、动态内存、显卡及相关外围的寄存器。在以上设备正常运行的前提下,固件将负责引导操作系统。
固件在上电开机后即获得最高权限,能够与硬件进行交互,能够访问硬盘和文件系统;固件能够在系统管理模式(System Management Mode,SMM)下对操作系统运行的软件进行查看,并执行代码。因此,在整个计算机运行过程中,固件能够与外接硬件设备和操作系统中的安全软件进行交互,发挥关键作用。
本文基于固件技术和RFID技术,依据可信计算整体思路[5],设计并实现了基于固件的终端位置管理系统。在前期的工作中,笔者提出了固件持久化守护技术并开发了国产计算机平台的原型系统进行验证[6]。本文则主要针对地理围栏特定场景,将持久化技术与RFID技术进行更深度的结合,设计和实现了可在国产计算机平台和X86通用计算机平台使用的终端位置管理系统。 通过RFID射频系统,划定终端授权办公区域。在授权区域内,终端能够正常启动和运行;一旦脱离授权区域,终端将根据策略自动锁定、关机甚至销毁数据。通过持久化技术,能够保证计算机终端中运行的软件代理不被破坏。目前,基于固件的终端管理系统已经实现了系统原型,并在办公区域内部署和使用。
1 计算机终端位置管理系统分析办公区域内的计算机终端管理与一般物品的管理不同,不仅需要知道计算机所在位置,更需要能够根据位置对计算机进行管控。首先,计算机终端管理系统主要是防止其在关机状态被非授权替换硬盘;其次,防止其在开机状态被非授权拷贝数据及非授权访问网络;再次,一旦计算机终端脱离了授权区域,还要能够对终端本身进行控制,如执行关机、锁定、甚至销毁数据等安全策略。
因此,可以看出终端位置管理的主要需求包括以下三点:
1) 能够保证计算机终端在授权办公区域内正常使用,在非授权区域内无法使用,并防止终端非授权拷贝数据和非授权访问网络。
2) 能够保证计算机终端始终处于可控状态。即能够保证计算机终端内的安全机制始终处于工作状态,不会被中断、关闭及卸载。
3) 终端位置管理系统应易于部署,不需要过多考虑办公区域实际物理空间环境对定位信号造成的干扰。
因此,基于固件的终端位置管理系统需要一种强有力的软件保护机制,保证运行操作系统的软件代理持续运行;此外,还需要一种易部署的室内定位技术手段。因此,本文采用了基于固件技术、RFID技术及可信计算的信任链传递思路,构建了基于固件的终端管理系统。
1) FRID定位技术。
基于卫星的定位技术往往适用于室外环境,而室内定位效果不佳;基于Wi-Fi、蓝牙的定位技术在一些涉密环境下不允许使用;基于WSN的定位技术工程量较大,可以进行较为高速的数据传输,但需要在现场进行信号测量才能确定功率;RFID的信号覆盖范围可灵活配置,并且读写速度较快。因此,选用RFID技术作为位置管理的定位技术,其效果如图 1所示,具体包括RFID发射器、RFID标签和相应的客户端软件。
2) 持久化守护保护技术。
一般情况下,仅在操作系统中运行的安全软件是难以保证其持续运行的,这主要是因为以下几点:
a) 非授权用户可以通过文件粉碎等方式破坏安全软件;
b) 非授权用户可以通过操作系统旁路的方法获取数据,绕过安全软件对系统的监控;
c) 重新安装操作系统、格式化硬盘分区或更换硬盘后,安全软件已被清除,需要重新安装。
固件运行阶段能够访问内存、硬盘等硬件设备,也能够访问操作系统中的软件文件,拥有极高的权限[7]。因此,将使用固件技术对上层的软件进行保护。虽然固件是固化在芯片中的软件,但也存在被改写的风险。如果在计算机的固件中含有恶意代码,将可以直接对笔记本电池等硬件平台芯片进行直接攻击[8];同时,如果在显卡、硬盘等关键硬件的固件中含有恶意代码,也会对系统造成极大的安全威胁[9]。为保证整个系统的安全性,将采用可信密码模块对固件、核心硬件和关键软件进行保护,防止其被攻击和篡改。
图 2展示了在单台计算机终端进行持久化守护技术的整体框架,包括了持久化守护固件模块、持久化守护主程序、位置管理客户端三个部分。首先,基于可信密码模块,完成对固件的保护,防止固件被破坏、篡改;在此基础上,固件层将预制持久化守护固件模块,完成对操作系统中持久守护软件代理的完整性度量,防止其被篡改和删除;持久化守护主程序对位置管理客户端进行保护,防止其被中断、篡改和卸载;位置管理客户端将持续执行对RFID授权信号的获取和计算机终端的管控。
基于固件的终端位置管理系统涉及可信计算、固件、RFID等多种技术,可分为硬件层、固件层、操作系统层、网络服务层四个层面进行设计。图 3展示了依托可信计算体系设计的基于固件的终端位置管理系统。该系统通过可信密码模块保护固件,通过固件保护操作系统中的客户端软件,通过服务器实现终端的远程控制和远程恢复。
1) 硬件层主要包括CPU、可信密码模块、RFID设备和其他硬件。
a) 基于固件的终端位置管理系统需要支持X86平台及国产处理器平台。
b) 可信密码模块用于提供基础的密码机制、可信度量等功能。采用插卡方式接入计算机可信密码模块也可以提供可信度量的功能[10]。
c) RFID设备包括实现授权信号覆盖的RFID发射器,以及终端配插的RFID标签。
2) 固件层包括固件核心镜像、可信固件模块、持久化守护固件模块三部分。
a) 固件核心镜像。固件核心镜像用于完成CPU、芯片组等其他硬件的初始化,以及操作系统引导。
b) 可信固件模块。可信固件模块用于在固件运行阶段对终端关键硬件设备进行度量,特别是对硬盘进行度量,防止硬盘被非授权替换;同时,可信固件模块还将对操作系统核心镜像进行度量,防止操作系统被破坏;并且,可信固件模块还将支持BIOS口令、USB Key等身份认证功能。
c) 持久化守护固件模块。持久化守护固件模块用于在固件运行阶段实现对硬盘的读写,完成对位置管理客户端的文件保护,以及软件自启动的设置。
持久化固件模块包括环境检测、度量恢复、持久化守护主程序三个子模块,如图 4所示。
环境检测模块 用于对硬盘和操作系统等软件运行环境进行检测,确定持久化主程序需要自启动方式及写入位置。环境监测模块通过在固件层实现对文件系统的识别和操作,可支持通用CPU平台和操作系统。
度量恢复模块 将对操作系统指定位置是否存在持久化主程序进行检测。如果持久化守护主程序被破坏或篡改,则将对主程序的文件进行恢复。
持久化守护主程序 在操作系统启动过程中完成自启动,并监测位置管理客户端状态是否正常。如果位置管理客户端被破坏或篡改,持久化守护主程序可以在联网环境中,通过位置管理服务器的软件恢复服务进行恢复;在非联网环境下,可以通过部署在安全隐藏分区中的备份进行恢复。
持久化守护固件模块遵循UEFI(Unified Extensible Firmware Interface)标准,可以提供Option ROM接口,能够在主板固件芯片部署,或以计算机外接板块的形式进行部署。
3) 操作系统层主要包括持久化守护主程序和位置管理客户端主程序两部分。
a) 持久化守护主程序。持久化守护主程序存储于特定存储空间,在固件运行阶段被释放到操作系统中,完成位置管理客户端的实时保护。
b) 位置管理客户端。位置管理客户端主程序用于与RFID标签进行通信,确定所在位置,并实时接收网络服务层的指令。在未接收到RFID授权信号时,将执行既定安全策略,如关机、锁定、数据删除等操作。
4) 网络服务层主要包括RFID通信、跟踪定位、软件恢复、安全策略四个主要模块。
a) RFID通信模块。位置管理服务器与所有RFID发射器相连,接收RFID标签的上传信息;同时,位置管理服务器还将向RFID发射器推送安全策略及管理指令。
b) 跟踪定位模块。位置管理服务器收到RFID标签信号后,将解析出相应位置并进行记录和保存。
c) 软件恢复模块。位置管理服务器能够提供位置管理客户端备份程序。在联网环境中,将通过持久化守护模块对软件进行恢复。
d) 安全策略模块。位置管理服务器能够定制需要执行的安全策略,并在联网环境中下发给终端。
此外,终端位置管理服务器还包括终端信息展示、终端分组管理、日志等功能。
2.2 总体流程设计基于固件的终端管理系统需要依托可信计算思想体系,采用逐级验证、逐级授权的思想,完成对计算机在特定区域正常使用、脱离区域禁止使用的管控。
终端位置管理系统的总体工作流程分为三个阶段,如图 5所示。
具体描述如下:
1) 固件运行阶段。在开机启动后,固件将对运行的软、硬件环境进行检测,对关键硬件和核心软件进行可信度量。而后,固件将检测持久化守护主程序是否存在,自启动是否正常。如果主程序被破坏或删除将自动进行恢复。
2) 操作系统启动阶段。在操作系统运行后,持久化守护主程序将自动启动,并对位置管理客户端进行检测。如果位置管理客户端被破坏或中断,持久化主程序将对客户端进行恢复。
3) 操作系统运行阶段。位置管理客户端正常工作后,将接收RFID射频信号,判断是否处于授权使用范围。如果处于非授权范围,将执行既定安全策略,如关机、锁定和数据删除。
2.3 基于固件的终端位置管理系统的实现效果目前,终端位置管理系统已经完成原型实现,并已在笔者所在办公区域内进行部署,对办公区域内30台终端进行位置管理。该原型系统可以在非联网或联网的环境中实现对终端的位置管理。该系统仅需在许可办公范围内部署RFID发射器,就可以划定终端使用授权区域;在授权区域内,内部人员必须在得到授权后,才可在特定区域对计算机终端进行开机和持续运行。位置管理客户端软件被持久化守护模块保护,不会被中断或关闭,即使在格式化硬盘或更换硬盘的情况下,该系统也能在非联网环境或网络环境中,自动进行恢复。
目前,该原型系统已支持龙芯、飞腾、兆芯及通用X86处理器平台,其中,龙芯和飞腾处理器平台安装Linux操作系统,兆芯和通用X86平台安装Windows操作系统。龙芯、飞腾、兆芯平台中使用了昆仑固件,并在其中安装了持久化守护固件模块;通用X86平台未安装固件模块,仅实现了基于硬盘和操作系统的部署方式,缺乏固件层的保护。通用X86平台选用了ThinkPad系列T450笔记本,操作系统选用了Windows 10。在WinTel平台上部署的终端位置管理系统,虽然没有固件层持久化守护的保护,安全程度有所降低,但是该方案能够直接以安装软件及配插标签的方法,实现对通用X86计算机平台的位置管理,将具有更广阔的应用市场。
原型系统的主要功能包括区域内授权开机启动、可信度量、RFID授权、终端安全管控、出差申请、审计日志。其中,授权开机启动和可信度量仅能在昆仑固件中实现。
1) 计算机区域内授权开机启动。计算机在上电开机时,需要首先配插RFID标签;而后,固件加载RFID标签驱动,并与RFID射频发射器进行交互,完成多因子认证。终端在开机时必须满足以下条件:
a) 输入正确的BIOS口令;
b) 接入正确的RFID标签;
c) 处于授权RFID射频信号覆盖范围内。
2) 可信度量。在固件运行过程中,将对关键软、硬件进行检测,完成以下功能:
a) 防止硬件替换和破坏。在开机过程中,计算机终端一旦发现硬件被替换或破坏,将会进行报警,并中止启动过程。
b) 防止操作系统旁路。在开机过程中,计算机终端不会引导非授权操作系统的启动。
3) RFID授权。终端在操作系统运行过程中,必须满足以下条件:
a) 接入正确的RFID标签;
b) 处于授权RFID射频信号覆盖范围内。
图 6展示了在ThinkPad T450笔记本的Windows 10操作系统中的位置管控客户端中的RFID信号强度,当RFID标签未收到信号时,将进行锁屏处理。
4) 终端安全管控。计算机在启动或运行过程中,一旦未接入RFID标签或未收到RFID授权信号,则执行关机、锁屏等安全策略。锁屏效果如图 7所示。
在研发过程中发现,由于外界的干扰,RFID射频信号不是非常稳定,特别是接近RFID射频信号边缘覆盖区域,信号比较微弱,易造成误报。为解决该问题,采用了以下两种方法:1) 利用冗余的办法,增加报警次数,规避RFID信号不稳定时造成的误报和锁屏;2) 在原有办公区域增加一台RFID射频发射器,并对这两台RFID射频发射器进行了不同级别的划分,在一个时间周期内,高优先级的读写器优先发送和接受RFID标签的信令。通过这两种方法能大大减少RFID信号重叠覆盖造成的干扰。
5) 出差申请。当用户需要携带计算机终端外出时,必须进行出差登记,将出差信息写入RFID标签,才可以在特定时间段内拥有终端使用授权。
6) 审计日志。RFID标签通过射频网络和读写器交互时,读写器实时上传审计信息到RFID数据服务器保存,并生成管理客户端能够查看的审计日志。
图 8展示了配插RFID标签的笔记本在不同区域内移动后,引起切换RFID射频发射器后生成的审计日志。
本文提出的终端位置管理系统是基于固件技术、RFID技术和可信计算技术的终端安全防护软件,采用逐级验证、逐级授权的思想,完成对计算机在特定区域正常使用、脱离区域禁止使用的管控。该系统通过RFID射频系统划定终端授权办公区域,能够保证计算机终端在授权区域内受控使用,在脱离授权区域时执行关机、锁屏、数据删除等安全策略。通过固件持久化守护技术,对位置管理客户端进行保护,保证其持续运行,即使计算机终端硬盘被替换或格式化,位置管理客户端仍能进行自动恢复。下一步,我们将在此基础上继续研究RFID重叠情况下如何进行准确定位和信令传递,对终端位置管理进行完善。
[1] | 杨元喜. 北斗卫星导航系统的进展、贡献与挑战[J]. 测绘学报, 2010, 39 (1) : 1-6. ( YANG Y X. Progress, contribution and challenges of COMPASS/BeiDou satellite navigation[J]. System Acta Geodaetica et Cartographica Sinica, 2010, 39 (1) : 1-6. ) |
[2] | 任丰原, 黄海宁, 林闯. 无线传感器网络[J]. 软件学报, 2003, 14 (7) : 1282-1291. ( REN F Y, HUANG H N, LIN C. Wireless sensor netwoks[J]. Journal of Software, 2003, 14 (7) : 1282-1291. ) |
[3] | 刘强, 崔莉, 陈海明. 物联网关键技术与应用[J]. 计算机科学, 2010, 37 (6) : 1-4. ( LIU Q, CUI L, CHEN H M. Key technologies and applications of Internet of things[J]. Computer Science, 2010, 37 (6) : 1-4. ) |
[4] | 于远诚.基于GIS/GPRS/GPS的物流车辆定位管理系统[D].舟山:浙江海洋学院,2014:4-6. ( YU Y C. Logistics vehicle positioning management system based on GIS/GPRS/GPS[D]. Zhoushan:Zhejiang Ocean University,2014:4-6. ) |
[5] | 沈昌祥, 张焕国, 王怀民, 等. 可信计算的研究与发展[J]. 中国科学:信息科学, 2010, 40 (2) : 139-166. ( SHEN C X, ZHANG H G, WANG H M, et al. Research and development of trust computing[J]. Scientia Sinica (Informationis), 2010, 40 (2) : 139-166. ) |
[6] | 陈小春, 孙亮, 赵丽娜. 基于固件的终端安全管理系统研究与应用[J]. 信息网络安全, 2015 (9) : 287-291. ( CHEN X C, SUN L, ZHAO L N. Research and applicationon on terminals management security system based on firmware[J]. Netinfo Security, 2015 (9) : 287-291. ) |
[7] | 杨培, 吴灏, 金然. BIOS安全防护技术研究[J]. 计算机工程与设计, 2008, 29 (15) : 3840-3842. ( YANG P, WU H, JIN R. Study on protecting BIOS from malicious tampering[J]. Computer Engineering and Design, 2008, 29 (15) : 3840-3842. ) |
[8] | MILLER C. Battery firmware hacking, inside the innards of a smart battery[EB/OL]. (2011-07-12)[2016-04-05]. http://media.blackhat.com/bh-us-11/Miller/BH_US_11_Miller_Battery_Firmware_Public_WP.pdf. |
[9] | VASILIADIS G, POLYCHRONAKIS M, IOANNIDIS S. GPU-assisted malware[J]. International Journal of Information Security, 2015, 14 (3) : 289-297. doi: 10.1007/s10207-014-0262-9 |
[10] | YU W, ZHANG Y, XU H, et al. High performance PCIE interface for the TPCM based on Linux platform[C]//ISCID 2015:Proceedings of the 20158th International Symposium on Computational Intelligence and Design. Piscataway, NJ:IEEE, 2015:422-425. |