1、2008 年 11 月 Journal on Communications November 2008第 29 卷第 11A 期 通 信 学 报 Vol.29 No.11A通用计算机系统安全增强架构研究唐为民 1,彭双和 1,韩臻 1,沈昌祥 2(1.北京交通大学 计算机与信息技术学院,北京 100044;2. 北京工业大学 计算机学院, 北京 100022)摘 要:借鉴可信计算的思想,将可信与安全纳入整体的安全体系结构,在通用计算机平台和 Windows 操作系统环境下,设计了安全增强架构,建立了从可信根、操作系统到应用程序的完整信任链,提出操作系统保护和应用程序保护方法,并给出了安全增强架
2、构的应用模式,为提高生产型信息系统终端安全性提供了解决方案。关键词:可信计算;可信平台模块;可移动;安全中图分类号:TP309.5 文献标识码:A 文章编号:1000-436X(2008)11A-0017-06Research on secure enhancement frame of general personal computerTANG Wei-min1, PENG Shuang-he1, HAN Zhen1, SHEN Chang-xiang2(1. School of Computer and Information Technology, Beijing Jiaotong Un
3、iversity, Beijing 100044, China;2. School of Computer, Beijing University of Technology, Beijing 100022 China)Abstract: In order to enhance the security of computer terminal, a design of the removable trusted platform model (TPM) was presented which can achieve most of function designed in TCG stand
4、ard apart form connected with computer by USB. A new architecture of trusted enhancement on general personal computer based on removable TPM and the design of its prototype was proposed. The architecture can accomplish trusted boot of computer system completely supported by removable TPM and broad t
5、he trusted mechanism to operating system and application. The architecture builds the trusted computing environment on general personal computer without modify hardware platform which has almost the same degree of security performance. It is an attempt to establish the new architecture for trusted c
6、omputing which has more practicability compare to TPM.Key words: trusted computing; trusted platform model; removable; security1 引言在信息安全的实践过程中,人们逐渐认识到:大多数安全隐患来自于微机终端。因此,解决信息系统的安全问题必须从终端安全入手 1,2。目前,越来越多的研究开始关注终端安全这一领域。 可信计算组织(TCG)提出了可信计算平台的概念 3:计算机平台从一个初始的“可信根”出发,通过信任关系的传递,在计算平台上建立可信的计算环境。文献4研究了可信与安全
7、的关系,收稿日期:2008-07-10基金项目:国家重点基础研究发展计划(“973”计划)基金资助项目(2007CB307101);国家高技术研究发展计划(“863”计划)基金资助项目(2007AA01Z410,2007AA01Z177);北京交通大学科技基金资助项目(2008RC021) Foundation Items: The National Basic Research Program of China (973 Program) (2007CB307101);The National High Technology Research and Development Program
8、of China(863 Program) (2007AA01Z410,2007AA01Z177); Science and Technology Foundation of Beijing Jiaotong University(2008RC021)18 通 信 学 报 第 29 卷认为可信是安全功能正确实施的基础,可信机制与安全功能相结合才能达到终端系统的整体安全目标。可见,构建终端的可信计算环境对终端安全具有十分重要的作用。按照 TCG 规范建立可信计算环境,需要嵌入可信平台模块(TPM)的可信计算机硬件平台 5作为支撑。国家可信计算相关规范、标准正在制定,以可信计算机为核心的终端安全系
9、统实用化还需要一定的时间。许多学者对通用计算机平台上构建可信计算环境展开了研究。Arbaugh 等人实现了一个安全引导过程,保证引导过程的安全 6;Sailer 等人在 Linux 平台上实现了从操作系统到应用的可执行代码可信传递 7; Maruyama 等人则深入研究了从 Grub 到操作系统的可信传递机制 8;Chen Youlei等人研究了在通用计算机平台和可信支撑模块支持下,对 Linux 进行可信增强的方法 4;Ren Jiangchun 等人提出通过修改 BIOS 支持 USB-KEY身份认证,对操作系统进行完整性检测而实现轻量级可信增强的方法 9;文献10和文献11对提高应用程序
10、的安全性进行了研究;Li Xiaoyong 等人研究了应用程序装载的可信验证和控制机制 12。这些研究主要集中在 Linux 安全引导和系统可信增强方面,对硬件支撑的可信根建立、操作系统和应用环境可信验证及安全保护、安全管理等方面还 需 要 进 一 步 研 究 。 目 前 , 国 内 信 息 系 统 大 量使 用 运 行 Windows 操 作 系 统 的 通 用 微 机 作 为 用 户终 端 环 境 , 其 开 放 性 及 安 全 性 设 计 缺 失 , 导 致 信 息系 统 存 在 诸 多 安 全 问 题 1。 研 究 Windows 操 作 系 统的 安 全 增 强 架 构 及 其 关
11、键 技 术 更 具 有 实 用 性 和 现 实意 义 。本文针对生产型信息系统终端安全的需求,借鉴可信计算的思想,将可信与安全纳入整体的安全体系结构,设计了通用计算机平台 Windows环境的安全增 强 架 构 , 使 用 移 动 TPM 与 BIOS 作为 可 信 根 , 建 立 从 可 信 根 、 操 作 系 统 到 应 用 程 序的 完 整 的 信 任 链 条 , 采 用 操 作 系 统 虚 拟 化 技 术 对操 作 系 统 及 其 安 全 增 强 模 块 进 行 保 护 , 采 用 可 信验 证 机 制 对 应 用 程 序 实 施 运 行 控 制 , 给 出 安 全 增强 架 构 的
12、应 用 模 式 , 为 提 高 生 产 型 信 息 系 统 终 端安 全 性 提 供 了 解 决 方 案 。2 通用计算机系统的安全需求对于运行 Windows 操作系统的通用计算机平台,所面临的安全威胁主要有主动攻击、信息窃取和用户行为失控。处理特殊重要信息的生产型信息系统 2安全保密级别较高,其安全需求主要有以下几个方面:1) 可信的操作系统环境。对 Windows 操作系统启动过程进行保护,保证启动的操作系统为干净的系统,未受到病毒或恶意代码的感染,安装了已知的安全补丁。2) 有效的安全防护手段。满足终端的安全保密需求,对 Windows 操作系统进行安全增强,提供文件存储保护、访问控制
13、、网络通信保护、外设使用控制、用户行为监控与审计等手段,并保证这些安全防护手段有效地工作。3) 可信的应用运行环境。对运行的应用程序进行鉴别,确认其是经过认证的“可信”应用程序,不含病毒或恶意代码。4) 终端安全管理。对于单位来讲,为保证单位内部各终端符合系统安全策略,必须建立安全管理中心,对所属终端和用户进行统一的安全管理,部署安全规则,审计用户行为。3 通用计算机系统安全增强架构根据以上安全需求,设计了如图 1 所示的通用计算机系统的安全增强架构。图 1 通用计算机系统安全增强架构该架构由以下 6 部分组成:第 11A 期 唐为民等:通用计算机系统安全增强架构研究 191) 可信根:实现了
14、与 TCG 的 TPM 模块功能类似的移动 TPM13,移动 TPM 使用 USB2.0 接口连接通用计算机终端,作为硬件载体与 BIOS 一起构成可信根。2) 可信启动:在可信根的支持下,对用户身份进行认证,对启动过程各个关键环节进行完整性验证,验证通过后启动 Windows 操作系统安全增强环境,保证启动可信的操作系统。3) 可 信 操 作 系 统 安 全 增 强 环 境 : 在 可 信 的 操作 系 统 之 上 , 利 用 可 信 根 所 提 供 的 密 码 服 务 、 安 全存 储 等 功 能 , 提 供 文 件 存 储 保 护 、 访 问 控 制 、 网 络通 信 保 护 、 外 设
15、 使 用 控 制 、 用 户 行 为 监 控 与 审 计 等手 段 , 增 强 操 作 系 统 安 全 性 能 , 并 利 用 操 作 系 统 保护 技 术 对 该 环 境 进 行 保 护 , 保 证 安 全 防 护 功 能 模 块的 有 效 运 行 。4) 可信应用程序:以装载验证机制对应用程序的加载过程进行可信验证,保证只有“可信”的应用程序能够运行。5) 安全支撑接口:为应用程序提供统一的服务接口,如用户身份认证、密钥存储、信息完整性验证等功能;为终端的安全管理提供服务接口,包括安全保密服务类接口、密钥管理类接口、设备管理类接口、密码管理类接口等。6) 安全管理系统:安全管理系统作为生产
16、型 信息系统的安全管理中心,对通用计算机终端和用户进行安全管理,功能包括:安全保密服务、密钥管理、设备管理、密码管理、安全规则布控、安全审计、用户管理等。按照这个安全增强架构,在可信根的支持下形成了如图 2 所示的信任链关系。由于篇幅所限,重点对可信启动、操作系统安全增强环境、可信应用程序 3 个部分介绍。图 2 信任链传递关系3.1 通用计算机系统的可信启动3.1.1 通用计算机的启动过程通 用 计 算 机 的 启 动 过 程 如 下 : 硬 件 平 台 自检 。 计 算 机 加 电 自 检 , 运 行 BIOS 检 测 硬 件 。 启 动 引 导 设 备 。 BIOS 按 照 CMOS 设
17、 置 的 引 导 顺序 查 找 可 引 导 设 备 , 将 运 行 控 制 权 交 引 导 设 备 。 操 作 系 统 装 载 。 引 导 设 备 MBR 加 载 运 行 特 定操 作 系 统 的 装 载 程 序 。 加 载 操 作 系 统 。 由 操 作系 统 装 载 程 序 加 载 操 作 系 统 内 核 并 运 行 操 作 系 统 。 用 户 登 录 。3.1.2 可信启动过程根据 Windows 操作系统启动过程分析,可以将可信启动设计为可信根启动、硬盘引导、操作系统引导和用户登录 4 个控制过程。1) 可信根启动可信根启动主要对用户身份合法性进行认证,对硬盘 MBR 进行完整性验证,
18、验证正确则将控制权传递给 MBR 中的启动代码。2) 硬盘可信引导硬 盘 可 信 引 导 过 程 由 MBR 启 动 代 码 完 成 ,主 要 对 Windows 操 作 系 统 启 动 的 关 键 文 件 进 行 完整 性 度 量 , 验 证 正 确 则 将 控 制 权 交 给 NTLDR 引导 操 作 系 统 。 MBR 启 动 代 码 要 实 现 一 个 类 似NTLDR 的 只 读 NTFS 文 件 系 统 , 能 够 在 实 模 式方 式 下 读 取 操 作 系 统 启 动 关 键 文 件 以 进 行 完 整 性度 量 和 验 证 。3) 操作系统可信引导Windows 操作系统程序
19、代码不公开,无法对20 通 信 学 报 第 29 卷其进行改造以增加系统加载的完整性度量功能。所以,在 MBR 启动代码对 Windows 操作系统启动关键文件验证后,Windows 操作系统可作为一个整体启动。这种处理方式假设条件是 Windows操作系统可信任。4) 用户登录改造 GINA,实现基于移动 TPM 的用户登录。由于启动过程中移动 TPM 已完成对用户身份的认证,所以 GINA 读取移动 TPM 的用户信息作为认证结果,上报操作系统完成用户登录。3.2 可信操作系统安全增强环境依据安全增强架构,操作系统内核中嵌入以下功能模块:1) 网络安全控制模块:根据设置规则,控制网络通信所
20、访问的 IP 地址和端口,对允许通过的数据包使用 IPSec 协议进行加密保护。2) 外设使用控制模块:根据设置规则,控制打印口、串行口、USB 口等外设接口的使用,防止重要信息通过外设非法泄露。如 USB 存储设备可设置只读、读写或保密写权限。3) 文件保护与控制模块:为用户开辟存储重要文件的保护区,保护区可为本地硬盘的目录或网络文件服务器的目录,访问保护区的重要文件时进行透明加解密操作,保护密钥存储在移动TPM 中与用户信息相对应。运用文件重定向技术和文件系统过滤技术,实现公共存储空间与保护区之间的单向文件流动或受控的双向流动(保护区之间文件通过专用文件传输软件实现) ,有效防止重要文件的
21、非法泄漏。4) 应用程序安全控制模块:运用 API HOOK技术,对操作系统加载的应用程序和动态链接库进行完整性度量,加载、运行可信的应用程序,从而有效阻止非法应用程序的运行。5) 安全审计模块:记录用户登录、退出,以及对文件、设备的访问事件。6) 操作系统保护模块:运用操作系统虚拟化技术(operating system-level virtualization) ,修改部分 Windows 操作系统内核,通过为用户开辟单独的上下文环境,虚拟运行一个操作系统实例,所有应用程序在此实例上运行,从而实现对操作系统及其服务的保护。3.3 可信应用程序对 于 生 产 型 信 息 系 统 , 所 处
22、理 的 业 务 及 应 用环 境 比 较 固 定 , 可 以 运 用 文 献 12所 提 供 的 应用 程 序 完 整 性 度 量 方 法 对 应 用 程 序 进 行 真 实 性 、完 整 性 验 证 , 只 允 许 通 过 管 理 部 门 测 评 认 证 可 信的 程 序 运 行 , 从 而 实 现 信 任 链 到 应 用 程 序 的 传递 。应 用 程 序 安 全 控 制 模 块 的 验 证 过 程 如 图 3 所 示 。应用程序安全控制模块截获 createprocess( )和loadlibrary( )过程,首先对所加载的应用程序和动态链接库进行完整性度量,其依据是安全管理系统所发布
23、的其完整性校验值。应用程序、动态链接库的名称和完整性校验值形成可信程序列表(TAL, trusted application list)保存在移动 TPM 的安全存储器中,系统启动时由应用程序安全控制模块访问移动 TPM 将 TAL 调入内存,以提高完整性度量的效率。图 3 应用程序可信验证过程4 应用模式通用计算机系统安全增强架构的设计目标是为通用计算平台提供安全支撑,因此能否实用至关重要,而 TCG 相关规范均没有考虑如何应用可信计算平台。文中针对生产型信息系统的特点设计了一种既符合使用习惯,又能体现安全管理的应用流程,如图 4 所示。第 11A 期 唐为民等:通用计算机系统安全增强架构研
24、究 21图 4 安全增强架构应用简化流程4.1 初始化阶段初始化阶段由系统管理员完成。初始化包括以下步骤:在目标计算机平台上安装测评认证可信的 Windows 操作系统; 安装可信操作系统安全增强各模块程序,计算操作系统启动关键文件和安全增强模块程序的完整性度量值;安装应用程序并计算应用程序及相关动态链接库的完整性度量值;运行操作系统保护模块修改 MBR启动代码,保护操作系统及安全增强环境。4.2 配置阶段配置阶段由安全管理系统实施。安全管理系统为用户生成移动 TPM,在移动 TPM 中写入用户信息、系统信息和权限信息。用户信息包括用户的身份证书、用户存储根密钥等;系统信息包括系统管理员公钥证
25、书、启动控制代码、MBR 启动代码解密密钥及完整性度量值、操作系统关键文件的完整性度量值等;权限信息包括外设使用权限、可信应用程序列表等。4.3 使用阶段终端环境运行使用如 4.2 节所述。在使用阶段还包括运行管理和维护:安全管理系统作为生产型信息系统的安全管理中心,通过网络对计算机终端和用户进行安全规则部署、监控、管理,从而实现信息系统的整体安全目标。信息系统中应用程序(包括系统补丁)的升级以 2 种方式实现:系统管理员使用其移动 TPM 启动目标计算机,安装新的应用程序;安全管理系统对用户进行应用程序运行权限授权。该方式下新安装的应用程序可获得安全增强框架的全面保护,具有较好的恢复能力。用
26、户通过专用程序下载安全管理系统所发布的应用系统安装包,安装应用程序并保存其完整性度量值,以用户权限安装的应用程序不能安装在系统盘上。方式适用于所有应用程序的安装,方式适用于不更改操作系统配置的“绿色”应用程序安装。5 安全性分析本文提出的通用计算机系统安全增强架构,针对通用的计算机平台和通用的操作系统,提出了安全增强解决方案,显然存在着 2 个基本可信条件:BIOS 可信;Windows 可信。在中国目前终端环境下,这 2 个条件通过权威机构测评认证可以成立,能够保证其不包含恶意代码等固有安全问题,在此基础上关键是建立可信的终端运行环境,提高安全性能,并保证安全功能可靠、有效作用。对于启动安全
27、,使用保护措施保护 BIOS,防止 BIOS 被恶意修改;利用会话密钥协商机制和密码算法保护,保证移动 TPM 的安全运行,从而将BIOS 与移动 TPM 共同作为通用计算机平台的可信根。与 TCG 规范相比,移动 TPM 具备了 TPM的主要功能,两者具有相同的安全性 14。对于操作系统安全,在 Windows 操作系统内核中嵌入网络安全控制模块,实现网络通信加密保护;嵌入外设控制和文件保护控制模块,对文件进行加密保护,同时增强访问控制堵塞信息的主要泄漏渠道;嵌入安全审计模块实现用户行为、文件访问、外设使用的审计,为建立“事前布防、事中监控、事后追查”打下基础;嵌入操作系统保护模块,保护操作
28、系统和安全增强功能模块的可靠运行。通过上述措施,可有效提高操作系统的安全性能。对于应用安全,通过增加应用程序的可信度量验证机制,可保证所运行的应用程序均通过权威部门测评认证发布,是可信的应用程序。通过这种机制,可截断恶意代码传播的链条,保证应用程序按照所设计的功能正确运行。对于用户安全,通过运用公钥密码实现对用户的合法性认证,可提高原有操作系统用户认证的安全性能,并为应用系统的用户认证提供基础支撑,保证信息系统用户的安全性。6 结束语本文借鉴可信计算思想,在通用计算机平台和 Windows 操作系统环境下,建立了从可信根、22 通 信 学 报 第 29 卷操作系统到应用程序的完整信任链,利用操
29、作系统虚拟化技术对操作系统和安全增强功能模块进行保护。该架构为提高生产型信息系统终端安全性提供了解决方案。但本文提出的架构还建立在BIOS 可信的基础上,不能防止安装其他系统破坏安全增强环境,因此,进一步将重点研究 BIOS 安全增强和系统可信恢复方法。参考文献:1 沈昌祥, 张焕国, 冯登国等. 信息安全綜述J. 中国科学(E 辑:信息科学), 2007,37(2): 129-150.SHEN C X, ZHANG H G, FENG D G, et al. Summarize of information securityJ. Chinese Science(E ed: Info Sci)
30、, 2007,37(2): 129- 150.2 沈昌祥. 关于加密信息安全保障体系的思考J.信息安全与通信保密, 2004,41(5):18-20.SHEN C X. Building an active and comprehensive information security systemJ. China Information Security, 2004,41(5): 18-20.3 Trusted Computing Group. TPM Main Specification: Design Principles V1.2EB/OL. http:/www.trustedcompu
31、tinggroup,2008.4 陈幼雷,黄强,沈昌祥.操作系统可信增强框架研究与实现J.计算机工程, 2007,33(6):12-14.CHEN Y L, HUANG Q, SHEN C X. Design and implementation of trusted enhanced framework of operating systemJ. Journal of Computer Engineering, 2007, 33(6): 12-14.5 余发江,张焕国. 可信安全计算平台的一种实现 J.武汉大学学报(理学版) ,2004,50:69-70.YU F J, ZHANG H G.
32、 Realization of trusted computing platformJ. Journal of Wuhuan Univ(Nat. Sci Ed),2004,50:69-70.6 ARBAUGH W, FARBER D, SMITH J. A secure and reliable bootstrap architectureA. Proceedings of 1997 IEEE Symposium on Security and PrivacyC. Oakland, USA,1997.65-71.7 SAILER R, ZHANG X, JAEGER T, et al. Des
33、ign and implementation of a TCG-based integrity measurement architectureA. Proceeding of the 13th Usenix Security SymposiumC. SanDiego, USA, 2004. 151- 166.8 MARUYAMA H, NAKAMURA T, MUNETOH S, et al. Linux with TCPA Integrity MeasurementR. IBM Tech Rep:RT0575, 2003.9 任江春,戴葵,王志英.通用计算机系统的可信增强研究J.华中科技大
34、学学报(自然科学版), 2005,33: 296-299.REN J C, DAI K, WANG Z Y. Research on the trust enhancement for general-purpose computerJ. Journal of Huazhong Univ of Sci & Tech (Nature Science Edition), 2005,33:296-299.10 WILLIAMSON M M. Throttling viruses: restricting propagation to defeat mobile malicious codeA. Th
35、e 18th Annual Computer Security Applications ConfC. LasVegas, USA, 2002.45-57.11 GARFINKEL T, ROSENBLUM M, BONEH D. Flexible OS support applications for trusted computingA. Proceeding of the 9th Hot Topics in Operating Systems (HOTOS2IX)C. Hawaii, USA, 2003. 102-118.12 李晓勇,韩臻,沈昌祥.Windows 环境下信任链传递及其性
36、能分析J.计算机研究与发展. 2007, 44(11): 1889-1895.LI X Y, HAN Z, SHEN C X. Transitive trustand performance analysisin windows environmentJ. Journal of Computer Research and Development, 2007,44(11): 1889-1895.13 唐为民, 高兰, 彭双和等.基于移动 TPM 的通用 PC 机系统可信增强研究A.全国第三可信计算与信息安全会议C.郑州,中国.2008.TANG W M, GAO L, PENG S H, et
37、al. Research on trusted enhancement of general personal computer based on removable TPMA. Proceeding of the 3th Annual Trusted Computing and Information Security, Zhengzhou, China, 2008. 14 Universal serial bus mass storage specification for bootabilityEB/OL. http:/www.usb.org/home.作者简介:唐为民(1968-),男,河北唐山人,北京交通大学博士生、高级工程师,主要研究方向为信息安全。彭双和(1974-),女,湖南衡阳人,博士,北京交通大学讲师,主要研究方向为信息安全。韩臻(1962-),男,浙江宁波人,北京交通大学教授、博士生导师,主要研究方向为安全操作系统、信息安全。沈昌祥(1940-),男,浙江宁波人,中国工程院院士,北京工业大学教授、博士生导师,主要研究方向为信息安全、安全操作系统。2008 年 11 月 Journal on Communications November 2008第 29 卷第 11A 期 通 信 学 报 Vol.29 No.11A