本质安全型集中式控制安全操作系统研究
摘要:随着网络技术、通信技术的飞快发展,信息安全问题正成为人们研究的重点。作为底层系统软件的操作系统,是信息安全研究的基础部分,已成为研究的重点之重。本文以嵌入式系统为背景,结合智能卡技术和现有一般的安全操作系统研究方法,提出一种全新的安全控制策略,针对嵌入式系统应用环境中面临的问题给出有效解决方法。最后,结合Linux操作系统,给出一种本质安全型集中式控制安全操作系统模型,描述它所具有的安全特性。
关键词:安全操作系统 安全模型 集中式控制 本质安全型 强制存取控制
引言
操作系统作为底层系统软件,负责为应用程序提供运行环境和访问硬件的接口,它的安全性是信息安全的基础。现在操作系统面临的威胁与攻击多种多样,安全操作系统已经不再局限于仅提供安全的存取控制机制,还要提供安全的网络平台、安全的信息处理平台和安全的进程通信支持。
在嵌入式系统中,由于系统软件和硬件设计的特点,很容易从硬件和软件直接进行拷贝。操作系统的安全性应有更特殊的考虑。操作系统不但要对保存的数据提供安全保证,而且还要考虑自己运行的硬件平台和系统本身的安全性。
在现有操作系统中,有关系统安全控制的代码是分散到系统中的,这对系统性能的影响降到了最低。但是,如果要添加新的控制机制,必须会引起大量的修改,由此将带来潜在的不稳定性和不一致性。随着系统硬件性能的成倍增长,人们逐渐将目光转移到集中式控制上来。在操作系统设计初期,安全模块应该被独立地提出来,成为操作系统设计需要考虑的一部分。
智能卡技术是一种软硬件结合的安全保护技术,经常用于身份验证和存储加密信息。由于自身的硬件特性,它可以防止非法读取和篡改;同时,智能卡本身具有加密的文件系统,可以对信息进行安全的保护。
在我们研究操作系统安全问题时,首次将智能卡技术引用到安全控制当中,作为整个安全体系结构的保证。智能卡用于对操作系统本身和运行的平台进行标识,可以对用户身份、进程的合法性进行严格的控制。
javascript:window.open(this.src);" style="cursor:pointer;"/>
1 存取控制和安全模型
存取控制是系统安全的核心内容。存取控制按照一定的机制,在系统主体对客体进行访问时,判定访问请求和访问的方式是否合法,返回判定结果。一般情况下,有两种存取控制方式:自主存取控制DAC(Discretionary Access Control)和强制存取控制MAC(Mandatory Access Control)。
(1)自主存取控制
DAC是安全操作系统最早期的存取控制方式,客体的所有者可以将客体的访问权限或者访问权限的子集授予其它主体。在类Unix系统当中,系统提供owner/group/other的控制方式,就是一种典型的自主存取控制方式。
(2)强制存取控制
在自主存取控制当中,由于管理不当或者操作失误,可能会引起非法的访问,并且不能有效地防御特洛伊马病毒的攻击。在信息保密要求比较高的领域,人们提出了强制的存以控制方式,给系统提供一道不可逾越的访问控制限制。强制存取控制主要通过安全级的方式实现。安全级含“密级”和“部门集”两方面。密级又分为无密、秘密、机密、绝密四级。系统中主体和客体按照一定的规则被赋予最高安全级和当前安全级。系统主体的部门集表示主体可以涉及猎的信息范围,系统客体的部门集表示该信息涉及的信息范围。强制存取控制抽象出三条访问原理:①的主体的安全级高于客体,当且仅当主体的密级高于客体的密级,且主体的部门集包含客体的部门集;②主体对客体具有读权限,当且仅当主体的安全级高于客体的安全级;③主体对客体具有写权限,当全仅当主体的安全级低于或者等于客体的安全级。
安全模型是系统安全特性的描述,是对安全策略的一种数学形式化的表示方法。一般的安全操作系统的设计方法,通常是先设计安全模型,对安全模型进行分析,并且给出数学证明。安全模型的设计是研究安全操作系统的重要成果,可以对安全系统设计提供结构清晰、功能明确的指导。这里主要介绍BLP安全模型。
BLP模型是人们对安全策略的形式化描述。它通过系统安全级的划分来保证系统存取的合法性。BLP模型定义了一系列的安全状态和状态转换规则,如果保证系统启动时处于安全状态的话,即可按安全转换规则,在各个安全状态之间转换。下面介绍BLP模型的具体规则。
系统的主体和客体均被赋予一定的安全级和部门集。主体安全级包含最高安全级的当前安全级。主体对于客体的访问方式包括:只读、只写、执行、读写。BLP模型定义了两具安全特性,并且证明了只要系统遵循这两个模型,便可认为系统处于安全状态并可在状态之间进行转换,这两个特性是简单安全特性和*特性。
(1)简单安全特性(ss-property)
如果一个主体对一个客体具有读的权限,则客体的安全级不能比主体的最大安全级高。
(2)*特性(*-property)
主体对客体有“只写”的权限,则客体的安全级至少和主体的最高安全级一样高。
主体对客体有“读”权限,则客体的安全级不会比主体的当前安全级高。
主体对客体有“读写”权限,则客体安全级等于主体的当前安全级。
人们习惯上将简单安全特性看成限制“向上读”,将*特性看