摘 要
习近平总书记在2014年2月27日中央网络安全和信息化领导小组第一次会议上的讲话指出,“没有网络安全,就没有国家安全,没有信息化,就没有现代化[1]”,可信计算是解决网络安全的核心技术。可信软件基是可信计算的重要组成部分,2016 年可信软件基已立项列为国家标准的编制。目前对可信软件基的研究大多是理论设计,对其具体实现的研究很少。云环境下的宿主机和虚拟机一般采用的都是 Linux 操作系统,基于 Linux 的可信软件基系统会在操作系统层面对云环境提供一定的安全保障。
本文提取了可信计算的一些重要理论和体系结构思想,设计了可信软件基系统,研究了 Linux 系统的运行机制和内核模块,并在 Linux 系统下实现了可信软件基系统的大部分功能,形成一个简易的可信软件基系统。使得云环境下的宿主机和虚拟机在操作系统层面得到有效的安全保护。可信软件基系统由四大功能模块组成,分别是可信控制模块、可信度量模块、可信判定模块和通信模块。可信控制模块采用 LSM 钩子技术获取监控信息并传递给度量模块进行度量,可信度量模块依据度量策略对控制模块传递的监控信息(主体信息、客体信息、操作信息、环境信息等)进行可信度量,并将度量结果发送至判定模块。可信判定模块生成和管理可信基准库,同时依据可信基准库对度量结果进行判定,并将判定结果发送给控制模块。通信模块则负责各个功能模块之间的通信工作。本文所做的主要工作有:
(1)设计钩子函数,在内核底层获取有效的监控信息。
(2)针对监控信息,提出一种度量模型对其进行度量。
(3)设计和实现可信基准库,管理相关策略。
(4)实现用户空间功能模块和内核空间功能模块之间的通信。
本文实验测试表明,可信软件基系统能够主动监控和防御破坏可信环境的行为,能够有效地保证云环境下的安全。
关键词: 可信软件基;可信度量;LSM 钩子;Linux 软件白名单;完整性度量
Abstract
In February 27,2014. The first meeting of Central Leading Group for informatization and network security, President Xi Jinping said that “there is no network security, there is no national security. There is no information, there is no modernization.” Trusted computing is the core technology to solve the network security. Trusted software is an important part of trusted computing. Trusted Software Base was established in 2016 as the national standards system. Current research on trusted software base is mostly theoretical design and implementation of the concrete is seldom studied. The host and virtual machine in cloud computing environment always use Linux operating system. The Trusted Software Base for Linux operating system provides a certain protection for virtual machine in cloud computing environment.
This article has extracted some of the important ideological theory and architecture of trusted computing, design a Trusted Software Base. Study on the running mechanism of Linux system and kernel modules, and implements most of the functionality of the Trusted Software Base system under Linux system. Create a simple Trusted Software Base system. For that host and virtual machine in the cloud computing environment can be protected effectively in the operating system level.
There are four function modules makes the Trusted Software Base, trusted control module, trusted measurement module, trusted decision module and communication module. Trusted control module use LSM to hook surveillance information and give those information to trusted measurement module. Trusted measurement Module based on the measurement of the policy on the control module transmission control information(subject information, the object information, operations information, environmental information)to measure. Then send the result to trusted decision module. Trusted decision module create and manage Credible Reference Library, According to credible benchmark library to determine the measurement results, then send the result to trusted control module. Communication Module is responsible for communication between the various functional modules work. In this paper, the main work done includes:
(1)Design of hook function, underlying access to effectively monitor the information in the kernel.
(2)According to monitoring information, puts forward a measurement model to measure it.
(3)Design and realization of a Credible Reference Library, management - related policies.
(4)Realization of function module and user space kernel space communication between modules.
In this paper, experimental tests shows that Trusted Software Base can proactive monitoring and defensive behaviors that undermine a trusted environment. To guarantee the safety of cloud environment effectively.
Keywords: Trusted Software Base, Trusted Measurement, Linux Security Module,Linux Software Whitelist, Integrity of Measurement
习近平总书记在2014年2月27日中央网络安全和信息化领导小组第一次会议上的讲话,“没有网络安全,就没有国家安全,没有信息化,就没有现代化[1]”,由于长期以来,信息技术领域的高端技术一直被西方发达国家所垄断,我国信息化建设所需的设备和技术很大程度上依赖国外产品,在一定程度上威胁到我国信息安全。云计算是最近几年刚起步不久的一种新型的计算和服务模式,首先国际上的相关产品服务还不成熟,其次,云计算更加关注计算资源集合的整体性能而不是单一设备的性能。因此对我国而言,与云计算相关核心技术的研究和掌握是信息技术自主化建设的一次难得的契机。由此可见,我国信息化健康发展对自主可控的云计算核心技术的需求极为强烈,且这种需求将越来越急迫。
当前对国外产品依赖的原因一方面是因为国内安全厂商的云计算核心技术开发能力低于国外;另一方面是因为国外厂商的产品由于大都是基于他们原有的底层核心技术构建,直接采用起来兼容性方面有一定保障,适应性较强。然而,从云计算的发展历史来看,即使是技术较成熟的发达国家也出现过较多安全事故。云计算巨头厂商 Google 和微软等公司都出现过数据丢失、用户隐私泄露事件;Google、亚马逊、微软、Saleforce.com 等均出现过大型的服务中断事件,妨碍了云计算用户的业务连续性。因此我国在信息安全领域绝不能完全依赖国外商用及开源产品,必须自主研发开发可信的云安全保障产品。
随着信息系统安全保障技术的深入发展,可以预见利用可信计算技术是解决信息安全问题的必然趋势。在可信计算领域,我们国家起步不晚,目前已经有了一些通过技术鉴定的样品和标准,因此大力研发可信的云安全保障技术产品,摆脱对国外云安全产品的依赖,对我国信息化发展既是挑战也是机遇。
可信计算技术是以受到物理保护的可信根为基础,通过构建一个从可信根出发,一级验证一级的可信链条来保证系统中元件的安全性。通过可信计算技术,可以为用户提供可信存储、可信度量和可信报告等多种功能,为用户提供可信任的计算环境。目前,以 TCG 组织的系列标准和国内可信计算相关标准为代表,传统计算机平台上的可信链构建方案已开始标准化,并进入产业化发展轨道。在云环境中,由于资源的高度集中、共享,信任问题显得尤为重要,因此可信计算也成为云安全研究的焦点之一。但云计算环境中,用户应用是在虚拟的计算环境中运行的,需要在云虚拟化平台上构建从基础设施可信根到虚拟机上应用的完整可信链来为云环境可信计算提供支撑。
国际上,TCG 组织提出的可信机制是一种被动的可信机制,它需要改造应用程序,增加应用层面的可信计算调用来激活可信计算功能部件的功能。这种可信计算机制,不能支撑实现可信计算环境,在工程实现上也不现实。我国可信计算标准提出了主动可信计算机制,在双系统体系结构下,通过监控应用行为来主动实施可信计算功能,这种可信计算机制可以保障应用运行环境的可信,为系统构筑完整的可信链条,符合云防护体系的可信要求。
云虚拟化平台上的完整信任链构建,首先从基础设施上的物理可信根出发,依托双系统体系结构中的可信子系统完成本地的可信链扩展过程,为云服务商实现云环境物理平台及其上虚拟机管理器的可信,其次需要通过物理可信根的协助,为虚拟化平台构建虚拟可信根,作为虚拟机的可信源头,并通过虚拟化环境的可信扩展技术,建立起虚拟可信根到云应用的可信链,为云用户提供安全计算环境。
可信软件基的核心部分为主动免疫机制,主动免疫机制分为基本信任基、控制机制、度量机制、判定机制和可信基准库[22]。具体来说主要有以下五个方面的工作需要做:
(1)从顶层设计系统,确定各个功能模块具体能够完成的工作。
(2)控制机制的研究与实现,主要工作是 LSM 钩子函数的设计。
(3)度量机制的研究与实现,主要工作是提出一种度量模型并实现。
(4)判定机制的研究与实现,主要工作是基准策略库的生成与维护,安全策略库的设计与维护。
(5)实现一个用于通讯的模块,负责其他各个模块的信息交互。
可信软件基系统测试:
OpenStack 虚拟机
OpenStack 虚拟机运行
TPM 运行效果图
内核日志截图
用户空间界面显示监控信息
基准策略库
添加白名单界面
白名单策略文件
白名单策略测试
安全策略测试
内核日志文件
目 录
摘 要
Abstract
第 1 章 绪论
1.1 研究背景及意义
1.2 国内外研究现状
1.2.1 国外研究现状
1.2.2 国内研究现状
1.3 主要研究内容
1.4 章节安排
第 2 章 相关技术介绍
2.1 可信计算技术
2.1.1 完整性度量
2.1.2 可信监控技术
2.2 通讯总线技术
2.2.1 用户层与内核层交互方式
2.2.2 Netlink 通讯技术
2.3 LSM 钩子技术
2.4 本章小结
第 3 章 总体架构设计
3.1 设计目标
3.2 可信软件基系统总体设计
3.3 系统功能模块划分
3.3.1 控制机制子模块
3.3.2 度量机制子模块
3.3.3 判定机制子模块
3.3.4 通信子模块
3.4 本章小结
第 4 章 可信软件基系统功能模块详细设计
4.1 控制机制功能模块
4.1.1 钩子函数设计
4.1.2 模块加载与卸载
4.1.3 监控信息数据结构设计
4.2 度量机制功能模块
4.2.1 Linux 软件白名单设计
4.2.2 度量模型设计
4.3 判定机制功能模块
4.3.1 可信基准库设计
4.3.2 安全策略管理
4.4 通讯功能模块
4.4.1 用户层 Netlink 模块详细设计
4.4.2 内核层 Netlink 详细设计
4.5 本章小结
第 5 章 系统实现与测试
5.1 运行环境与配置.
5.1.1 网络拓扑环境
5.1.2 软硬件环境
5.1.3 OpenStack 的部署
5.1.4 vTPM 安装与运行
5.2 系统测试
5.2.1 可信控制模块功能测试
5.2.2 可信度量模块功能测试
5.2.3 可信判定模块功能测试
5.3 系统性能测试与分析
5.4 本章小结
结 论
参 考 文 献
攻读硕士学位期间所获得的学术成果
致 谢
(如您需要查看本篇毕业设计全文,请您联系客服索取)