基于Linux的可信计算研究

时间:2022-10-10 07:01:43

基于Linux的可信计算研究

摘 要:随着Red Hat Linux的迅速发展,Linux系统安全中的可信计算问题显得日益重要,虽然Linux kernel从版本2.6.13开始已经包含了对可信计算的支持,并已有许多Linux项目开始支持可信计算。但可信计算包括的:认证密钥、安全输入输出、内存屏蔽/受保护执行、封装存储、远程证明概念这5个核心技术在一个完全可信的系统中仍是必须的。研究和应用可信计算技术在系统安全方面具有重要意义。

关键词:Linux系统;可信计算;系统安全

中图分类号:TP301 文献标识码:A

Research of Trusted Computing Based-on Linux OS

YIN Hong-jian

(Hunan University of Chemical Engineering Vocational-technical College, Hunan Zhuzhou 412004)

Key words: Linux Os;trusted computing;system safe

随着Linux的发展和使用,Linux系统在各个领域得到了广泛应用,但随之而来的安全性问题逐渐成为Linux技术发展的重点问题。而通常包括:设备安全、数据安全、内容安全与行为安全的可信计算作为安全领域中新兴技术正在得到高度重视。

可信计算是由可信计算组织(Trusted Computing Group,前称为TCPA)推动和开发的技术。这个术语来源于可信系统(Trusted systems),并且有其特定含义。从技术角度来讲,“可信的”(Trusted)未必意味着对用户而言是“值得信赖的”(Trustworthy)。确切而言,它意味着可以充分相信其行为会更全面地遵循设计,而执行设计者和软件编写者所禁止的行为的概率很低[1,2]。

1 可信计算

1.1可信计算简介

从Anderson首次提出可信系统(Trusted System)到TCG的可信计算(Trusted Computing)已有30余年的历史,可信计算研究的重点从早期的容错计算、故障检测和冗余备份技术发展到今天的可信硬件平台、软件系统、网络接入以及可信数据备份。按照ISO/IEC 15408标准,可信计算可定义为:参与计算的组件,操作或过程在任意的条件下是可预测的,并能够抵御病毒和物理干扰。据此,可信计算将成为无限可信的概念。但现实中完全的、绝对的可信是达不到的,一定情况下也是没有必要的。因此,计算中的可信度级别、可信度标准、可信区间及可信度定义都将成为可信计算工程实现的关键内容。同时,可信计算从一个新的视点解决计算的安全问题,不同于传统的安全的概念,它具有双向安全的含义,即:

(1)维护外来应用的运行;

(2)保证计算机系统用户本身的利益。

一个典型的例子是:在Linux操作系统下,挂接一个移动存储设备时,Linux平台必须确保内容提供者所施加的安全保护策略能够有效贯彻:同时,又要防范用户的利益被不正当地侵害(如外部提供者滥用系统安全策略[4]收集用户隐私信息,以此获取用户的机密信息).

在上面所举例子中,双向安全的两个要求是相矛盾的,即:如果增强用户的利益维护,就必须赋予用户更强的控制;如果维护外来应用的利益,就必须排斥用户对相关策略实施过程的干扰。此外,这又体现出较强的互补性:如维护外来应用的前提是该外来应用必须能够证明自己是可信赖的,一个病毒无法提供必要的信赖证明而无法在可信计算平台中运行;再如,所提供的安全数据通道既可以保护用户数据,又可以避免外来应用的内容被用户不正当地窃取。因此,这是一个复杂的问题,必须在计算机系统的各个方面取得一个恰当的平衡。相对应地,用于实现可信计算的平台组成结构和执行机制,也必须具备不同于传统计算机系统的特征[2,3,4]。

在TCG 的可信计算平台标准实施规范中,可信计算包括以下三个属性与功能:

(1)确保用户身份的惟一性,用户工作空间的完整性与私有性;

(2)确保硬件环境配置、OS内核、服务及应用程序的完整性;

(3)确保存储、处理、传输的信息的机密性/完整性。

但随着Linux系统用户的逐渐增多,在Linux操作系统下,可信计算对安全问题显的尤为重要,本文就隐蔽通道下的可信计算进行了探讨和研究。

2 隐蔽通道

2.1隐蔽通道概念

隐蔽通道(Covert channel)的概念是由B.W.Lampson在“论限制问题”一文中引入的。所谓限制问题,是指进程B调用程序A的时候,系统能限制A在运行期间向B以外的其他进程传递消息。而隐蔽通道在国内文献中又叫泄露路径、隐通道,公认的定义是“允许进程以危害洗个头安全的策略的方式传输信息的通信信道”[4]。

安全计算机系统使用自主访问控制和强制访问策略约束合法通道中的信息流动,这里文件和共享内存等都可以认为是计算机系统中信息流动的通道。然而,时间中,用户还可以通过使用计算机系统中本意是不用于作为通信的通道,如常见的:系统存储位置和定时设备等。根据不同的分类标准,隐蔽通道可以划分为:隐蔽存储通道和隐蔽定时通道。其特征如下[4]:

(1)发送方和接收方进程必须有权存取共享资源的同一属性。

(2)接收方进程必须有办法侦查该共享资源的改变。

(3)发送方必须有办法改变该共享资源。

(4)必须存在某种机制,使发送方和接收方进程能启动隐蔽通信并能正确给事件排序。

2.2隐蔽通道技术

由隐蔽通道的分类,可知隐蔽存储通道和隐蔽定时通道通常发生的条件是不同的:

隐蔽存储通道的发生条件是,如果使用这种通道涉及到一个进程的一个直接或间接写入一个存储位置,此时便有另外的一个进程直接或间接的读取这个存储位置。一般来讲,隐蔽存储通道涉及到不同安全级的主体可以共享的某种数量有限的资源(如移动硬盘、硬盘、U盘等)。

隐蔽定时通道的发生条件则为:通过一个进程采用调节自己对系统资源(如:CPU)的使用,从而最终影响到另外一个进程观察到的真实系统响应时间。

由以上对不同隐蔽通道发生的条件分析,现在存在比较成熟的处理隐蔽通道技术主要有如下[4,5]:

(1)消除法:消除隐蔽通道需要改变系统的设计和实现,主要包括:其一,消除潜在隐蔽通信参与者的共享资源。方法是预先向参与者分配一个最大资源需求,或者按照安全级别分割资源。其二,消除导致隐蔽通道的接口和机制。

(2)带宽限制法:此策略是要尽量设计降低通道的最大或者平均带宽,使之降低到一个事先预定的可接受的程度。限制带宽法包括:其一,故意引入噪音,即用随机分配算法分配诸如硬盘区、PID以及共享表等共享资源的索引,或者引入额外的进程随机修改隐蔽通道的变量。

(3)威慑法(deterrence):这种方法主要是通过通道审计,即使用有效的审计手段毫不含糊地监视通道的使用情况,让隐蔽通道的使用者知难而退。为实现威慑法,隐蔽通道审计要求审计数据能记录充足的数据,以此能够达到标识每次隐蔽通道的使用事件和情况,此外,还要能识别出通道的用户,即:通道中的发送者和接收者。

3 TCB设计分析

在设计一个安全的操作系统中,必须要从安全保证和安全功能两个方面来考虑系统的安全性。对安全保证来讲,TCB的设计和实现时安全保证的关键所在。而在TCB设计和实现中通常要有TCB脆弱性评定,该评定是对TCB的设计和运行过程中所存在的影响系统安全性的各种因素的分析和评定,包括:隐蔽通道的存在性分析,TCB的误用或不正确设置的可能性,攻破系统的概率或者排列机制的可能性,以及在TCB的开发和操作中引入可利用脆弱性的可能性。

在现有的Linux操作系统下,安全体系结构通常采用2001年3月美国国家安全局的安全增强Linux(SELinux),直到后来由WireX开始的Linux安全模式(LSM)开发框架,使得LSM成为主流Linux核心开发的一个轻量级的通用为目的的存取控制框架,使得更多不同的存取控制模型可以作为加载的模板块来实现。在LSM中通常采用在内核代码中放置钩子的方法,来仲裁对内核内部的对象进行的访问,这些对象通常包括inode节点、打开的文件以及对象任务等。该LSM钩子结构如图1所示:

由隐蔽通道和TCB设计分析,当Linux系统在挂接隐蔽存储设备时,要进行隐蔽通道的存取控制策略的测评,实行可信计算操作,其TC的体系结构如图2:

4 结束语

在Linux操作中,对于隐蔽通道的可信计算技术是当前信息安全领域热点研究的问题。

根据TC技术的研究现状,其发展策略可概括如下:

(1)逐步构筑可信认证和可信评测设施,以此,加快实现和完善可信体系。就软硬件来讲,对芯片和硬件的可信性评测,仍需要进行大量的研究。

(2)重点发展可信根。就目前的技术水平而言,TPM 标准由国外的公司制定,但可信根是可信计算技术的基石和出发点,离开它就无从谈起可信。因此,我国应该从可信根着手,在发展TPM的同时,加快探讨和研究智能卡等可信根。

(3)逐步发展和完善Linux操作系统安全机制和策略。由于构成操作系统安全的因素较多,在开发应用安全系统时,应全方面考虑。特别是应对可信计算以及现有SELinux安全系统结构加以完善和改进,以便使其更加有效。以此促进Linux系统下可信计算的快速发展,最终构建可信信息系统。

参考文献:

[1]王勇,徐小琳,吕慧勤.可信计算与可信网络[J].技术研究与应用,2008,(8).

[2]张新刚,刘妍.可信计算与可信网络[J].学术研究,2006,(11).

[3]胡福林,肖海军.网络服务中基于可信计算平台的信任管理.2008,(11).

[4]卿斯汉,刘文清,温红子.操作系统安全[M].清华大学出版社.2004.

[5]SADEGHIAR,STUEBLEC.Property-based attestation for computing platforms: caring about properties, not mechanisms[c]//Proc of in New Security Pa radigm Workshop.2004.

[6]罗芳,徐宁,孟,刘雪峰.可信计算平台中Linux加密文件系统的设计与实现[J].信息工程大学学报.2008,(2).

上一篇:基于模糊聚类的彩色图像分割算法 下一篇:文本分类方法比较研究