《安全UNIX操作系统中陷蔽信道分析.pdf》由会员分享,可在线阅读,更多相关《安全UNIX操作系统中陷蔽信道分析.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 9 9 8 年第 l 期 密码与信息 总第 6 3 期 Z I-l 安 全U N I x 操 作 系 统 中 隐 蔽 信 道 分 析 董 占 球 P 弓 ,(中国科学院研究生院 D C S中心 北京 1 0 0 0 3 9)摘要本文在分析和研究前人隐蔽信道分析成果的基础上,提 出了一种 简单、有效的隐 蔽信道分析思想和方法。并应用它对 s c o安奎 u N I x操作系统的进程问通信机制进行了人 工隐蔽信道分析。该方法通过将信息流的具体实现看成一个黑匣于,从而简略了信息流技 术的复杂应用;另外在通过定叉“非安奎共享菲”等概念减少了很多对合法信息流进行不 必要的隐蔽信道分析的同时,也避免了
2、将合法信息流归纳为非法信息流的错误,是一种真 实的隐蔽信道分析方法。关键宇瞎蔽信道,时间隐蔽信道,存储隐蔽信道,道分析法,匿 砺隐蔽信道分析法,安奎共享菲,非 系统调用,安全用户界面信息,非安全用户界面信息,非干扰隐蔽信 统调用,非安全 聪蔽信道对计算机系统及其网络系统的数据安全具有极其严重的威胁,这些信道能够 旁越计算机安全模型的安全策略非法泄露系统的敏感信息和私人信息。随着计算机系统及 其网络系统的日 益庞大,隐蔽信道对系统的威胁也日益增大。隐蔽信道的定义是:给定一个安全模型 M和该安全模型的解释 I(M)在 T(吣中两 个进程的通信是隐蔽通信 当且仅 当这 两个进程的通信在 M 中是非法
3、的。这个定义中值得 注意的是:隐蔽通信是指在系统中存在的两个 安全级别不 同的用户 通过相互 勾结在不 受到系统 中所存在 的安全策略控 制 下,高密级用户蓄意地将授权 的敏感信息泄露给非授权 的低密级用户。也就是说,通过隐蔽信道的泄密行为是种 主动泄密行为。传统上,隐蔽信道分 为两类;存储隐蔽信 道和时 间隐蔽信道。它们 的不 同在于:时间 隐蔽信道必须存在一个 时钟参照,接收进程只有有了这个时钟参照才能破译发送 进程所发 送 的信息 正囡为时间隐蔽信道 强烈地依赖于真实时钟或 同步机制,一般认为时间隐蔽信 道 比存储隐蔽信道有更高的噪音。从隐蔽信道的提出至今二十多年来隐蔽信道分析在计算机安
4、全领域受到 了很高的重 视。根据 可信计算机系统安全评价标准规定:安全级荆在 B 2级及其以上级别的安全 I,J N I X操作系统中,必须对系统进行隐蔽信道分析。在过去的 二十多年中,在隐蔽信道 的分 析方法和其 自动工具的实现上都取得 了。一系列 的进展 和突破。前人隐蔽信道的分析方法一 般分为两类 非干扰 隐蔽信道分析和信息流 隐蔽信道分析 非干扰隐蔽信道分析是基于非干扰安全策略和一种隐蔽佶道分析法。非干扰安全策略 楚:在系统中,用户之间不允许存在任何干扰,除非这种干扰是被授投的。由非干扰安全 策略可知:枉 U N I X操作系统中,如果一个用户可 以通过某种方式影响另一个用户 的系统
5、输出,那么,这两个用户之间存在种干扰,除非这种干扰是在同一安全级别上存在(即 是一种被授权的干扰),否则就 是非法的。非干扰隐蔽信道分析 首先在系统设计域系统实 现 t归纳 出所有安全论断的集合,然后检查系统中的程序 是否违反安全策略。如果对程序 的检奁结果与安全策略发生冲突,琊么该安全缺陷能被发现。通过聪安全歃陷的分析可以 确定违 反安全策略 的原因,如果是闻 系统中隐蔽信道的存在所导致 的该安全缺 陷,那么 丰立 1 9 9 8年 1 月 1 4日收 到 6 维普资讯 http:/ 1 9 9 8年第 1期 密码与信息 总第 6 3期 这种分析将导致隐蔽信道的识别。因为当一个系统变得越来越
6、复杂时,根难提供一个明确的策略去决定上述安全缺陷是 否由隐蔽信道所致,所以非干扰隐蔽信道分析法仅仅维持在理论方法的意义上。信息流隐蔽信道分析法是利用信息流技术进行隐蔽信道分析的一种分析方法。信息流 分析技术是:从系统实现程序语句的语义规则出发,先定义单个语句的语义信息流,即单 个信息流;再根据信息流的传递关系和一系列规则,可以导出系统的全局信息流;通过对 全局信息流的分析,可以决定满足各种要求的程序和系统的安全特性 其中,全局信息流 是以全局变量为媒介。信息流隐蔽信道分析法认为:在安全 U N I X操作系统中,一个全局 信息流是合法的,当且仅当其中所包含的每一个单个信息流都是从低密级全局变量
7、流向高 密级全局变量。也就是说:在任何一个全局信息流中,任何单个信息流如果被证明是非法 的,则该全局信息流是非法的。如果一个全局信息流被认为是非法的,则该全局信息流可 认为是一个隐蔽信道 因为非法流的限制是如此严格,因此,在大多数信息流隐蔽信道分析法中,最大的困 难是如何克服将很多合法流归纳为非法流 的错误,即错误 的非法流判定 问题。正因为信息 流隐蔽信道分析方法存在这种将台法信息流归纳为非法流的错误,所以信息流隐蔽信道分 析法是一种潜在的隐蔽信道分析方法(即使用该方法进行隐蔽信道分析,所得到的隐蔽信 道集合远远大于真实的隐蔽信道集合)。信息流隐蔽信道分析的一大进展是 k e m m e r
8、 e r提出的共享源矩阵分析法 k e m m e r e r首 先规范了时间隐蔽信道和存储隐蔽信道存在的最小条件,他认为存储隐蔽信道存在的最小 条件是:对于高密级的发送进程和低密级的接收进程:系统中必须存在一个由发送进程和接收进程都能存取的一个全局变量:必须存在一种方法使发送进程能改变该全局变量的值:必须存在一种方法使接收进程能发现或观测到该全局变量的任何改变:必须存在一个方法使发送进程和接收进程同步从而信息流事件可以发生 他给出的 时间隐蔽信道存在的最小条件是:对于高密级发送进程和低密级接收进程:发送进程和接收进程必须存储一个相 同资源:发送进程和接收进程必须存取一个时钟参照:发送进程必须
9、能利用相同资源修改接收进和的反应时间;必须存在某个同步机制初始化进程或给事件排序 由 k e m m e r e r规范的存储隐蔽信道和时间隐蔽存在的最小条件可知:k e m m e r e r所谓的 共享源即共享全 变量 他在规范了存储隐蔽信道和 时间隐蔽存在的最 小条件 的基础上,利用信息流技术导出系统调用对之间的全局信息流,然后归纳出隐蔽信道的集合。这种方 法的缺点是他没有说明如何从系统调用归纳出信息流,在这个方面完全依赖信息流分析工 具。信息流隐蔽信道分析 的另一大进展 是:T s a i,G l i g o r提 出的基于源代码的存储隐蔽 信道分析法 他们应用信息流分析技术构造了一个
10、信息流分析工具,利用该信息流分析工 具可以找到所分析系统的所有全局信息流。他们构造全局信息流的方法与信息流分析技术 一致,首先构造单个信息流,然后由单个信息流形成全局 信息流。他们认为:构成 隐蔽信 道的非法信息流是从系统调用开始以用户界面信息流结束的全局流,该全局流以共享全局 变量为媒介,包括两个 子流,一个子流导致全局变量的改变,另一个子流 导致上述全局变 量的改变通过用户界面信息被用户观测。如果这样的全局信息流存在,则认为是一个非法 流,即潜在的隐蔽信道。T s a i,G l i g o r从理论上证明了该方法所找到的隐蔽信道是完备 的潜在存储隐蔽信道的集合(即:该隐蔽信道集合中包括了
11、系统中真实存在的所有隐蔽信 道,但是大于系统中真实存在的隐蔽信道的数量。)。由上可知构成存储隐蔽信道的非法 全局信息流的叶子节点是用户界面信息,这也就是说用户界面信息是存储隐蔽信道存在的 维普资讯 http:/ 1 9 9 8 年第 1 期 密码与信息 总第 6 3期 必要条件 a 如果我们从非干扰安全隐蔽信道分析的角度研究 T s a i,G l i g o r的基于源代码的存储 隐蔽信道分析法。由非干扰 技术可知:用户 干扰 即系统 中存 在的一个用户 能以某种方式影 响另一个用户的系统输 出。非干扰 安全策略:如果系统 中存 在某种用户干扰,除非这种干 扰是在 刷一 安全级别上,否则就是
12、非法 的。所 以对 _ T s a i,G 1 i g o t提 出的基于源代码存 储隐蔽后道分析法而言,在所有的全局流中寻找构成隐蔽信道的非法全局信息流的过程,如果从非干扰隐蔽信道分析的角度来说,也是一 一 种寻找隐蔽信道干扰的过程。但是因为基 于源代码 的存储隐蔽信道分析法的非法全局信息流是 以共享全局变量为媒介,没有考虑 到 如果某个系统调用只能被同一安全级别的用户所共享时,在陵系统调用中即使存在符合上 述条件的非法流,但是因为这种非法流造成的干扰是一种授权的用户干扰,所以这种全局 信息流应该是合法流。我们认为这是 T a s i,G 1 i g o r的基于源代码的存储隐蔽信道分析法
13、是一种潜在的隐蔽信道分析法 的关键原因。虽然信息流 隐藏信道分析方法是一种较理想的方法,但是它们要求存在一个基于全局 变量的复杂信息流分析工具,而我们缺少这种信息流分析工具,并且从全局信息流中寻找 非法流的过程也是一件非常艰巨的任务。但如果我们将具有抽象性的非干扰原理与信息流 技术相结合,规范隐蔽信道 的特 点,并 以具有完备性证明的隐蔽信道分析法为指导,进行 隐蔽信道分析,那么,我们将可能摆脱复杂的信息流分析工具,找到一种简单易行并切实 有效的隐蔽信道分析方法。为了更好地论述我们的观点,首先我们定义一个与安全密切相关的“非安全共享源”和“安全共享源 的概念。定义:在安全 U N I X操作系
14、统中,如果一个资源能被不同安全级别的发送进程和接收 进程访问,那么该资潭称为非安全共享源。例如:共享打印机等,它们可以被安全级别不 同的用户所共享。在 安全 UN I X操作系统 中,如果一个 资源仅仅能被 安全级别相同的进程 访 问,那么该资源称为安全共享源 例如:S C O 安全 UNI X操作系统中的无名管道,它只 能建立在 同一机器的两个强相关 的父子进程之间。在安全 U N I X操作系统采用了尽量减少非安全共享源的方法来保护安全 UNI X操作系统 的安全特性,例如:根据系统安全管理功能将系统中的用户划分为安全级别,井采用了文 件系统隔离的方法将不同密级的用户文件系统分离,同时对安
15、全级别不同的用户给予不同 的授权,使得他们在各 自不同的授权范围内操纵不同的系统资源。但是 U N I X操作系统特 点是高效并发,所以赉源共享和进程同步在其内核实现中是必不可少的。即安全 U N I X操 作系统中也一定存在非安全共享源。其安全 UNI X操作系统对必需存在的非安全麸享源也 采用了最大限度的保护措施。例如:对共享文件、共享内存等采用了强制访问控制。通过 以上对非安全共享源懈护措施的实施和完善,在安全级别为 B 2级及其以上级别的 U N I X 操 作系统中,有效地阻止了非法旁越正常的存取控制直接获得敏感信息。尽管如此,在安全 U N I X操作系统实施对非安全共享源的保护措
16、施时,对于非安全共 享源访问的操作结果反馈等用户界面信息,U N I X操作系统没有因为访问用户的安全级别 不同而进行隔离这样,如果安全级别不同的用户能对这些反馈信息进行控制,那么通过 这些用户界面信息,可 以造成安全级别不同用户之间的非授 权干扰,从而传递一些信息,这就是存储 隐蔽信道。在 U N I X操作系统中,系统调用是用户进入系统进行资源管理的工具,面我们再将 系统调用分为两类 安全系统调用和非安全系统调用。所谓的安全系统调用是:管理且仅 管理安全 共享源 的系统调用。例 如:那些仅能被同一级别用户调 用的系统调用 p i o e 0之 类,所谓的非安全系统调用即除 了安全系统调用以
17、外的所有系统调用 对于安全系统调 用,因为仅仅被安全级别相 同的用户所调用,所 以其 中虽然存在 以上所述的用 户干扰,但是不属于隐蔽信道干扰,也就无法形成隐蔽信道。所以对于这些系统调用我们可以不进 维普资讯 http:/ 1 9 9 8 年第 l 期 密码与信息 总第 6 3期 行 隐蔽信道分析,而仅对非安全系统调用进行 隐蔽信道分析。由上可知用户界面信息是存储隐蔽信道的必要条件。对于非安全系统调用中存在的用 户界面信息我们也能将它们分为两类:安全用户界面信息和非安全用户信息信息。安全用 户界面信息是指:系统调用中存在的用户界面信息仅仅是同一密级用户进行资源访问时操 作结果的反馈。它包括安全
18、系统调用中存在的用户界面信息,例如:p i p e 0中存 在的用户 界面信息以及非安全系统调用中存在的仅仅与同一安全级别用户调用相关的用户界面信 息。例如:r e a d 0,w r i t e 0中存在的仅仅与无名管道相关的用户界面信息。非安全用户 界面信息是指:系统调用中存在的除了安全用户界面信息之外的所有用户界面信息。因为 安全用户界面信息仅仅是同一安全级别的用户进行 资源访问时操作结果的反馈 所以即 使这些用户界面信 息存在于非安全系统调用中,但是它们不可能造成 安全级别不 同的用户 之间的干扰,所以不能够被用户利用以进行隐蔽信道通信。因此我们对非安全系统调用进 行隐蔽信道分析时必须
19、排除安全用户界面信息为叶子节点的全局信息流,因为它们时合 法全局流。通过以上定义和分析,我们可以将基于源代码隐蔽信道分析法中的非法全局信息流定 义为 以非安全共享源 为媒介 的全局流 它从非安全系统 调用开始,到非安全用户界面信息 结束。并且我们将 该全局流 的具体实现看成是一个黑匣子,取 非安全系统调用为输入,取 非安全用户界面信息为输出。如果存在这样的非法全局流,那么高密级用户可以使用非安 全系统调用对某个非安全共享源进行访问,使得当低密级用户使用该系统调用对该共享源 进行访问时通过非芟全用户界面信息,形成一种非法干扰,即隐蔽信道干扰也就是说该 全局流是非法流 能构成存储 隐蔽信道。上述过
20、程使得隐蔽信道分析摆脱 了复杂的信息流分析工具仅需对程序的实现进行分 析。同时,通过对 安全共享源和非安全共享源、安全系统调用和非安全系统调用 的定义 所以减少了对安全系统调用进行无谓的隐蔽信道分析。通过以上存储隐蔽信道的分析与实践,我们在非安全共享源的基础上,归纳存储隐蔽 信道的存在条件是:对于高密级发送进程和低密级接收进程,在不违反 U N I X的安全策略 下 发送进程和接收进程必需有访存操作。发送进程可 以通过访存操作所注 入信息。接收进程可以通过访存操作译码发送进程所注入的信息。通过对安全 U N I X操作系统中隐蔽信道的分析和实践,我们归纳存储隐蔽信道分析的 方法为 寻找管理非安
21、全共享源的非安全系统调用:找出该系统调用中所有用户界面信息;分析该系统调用的程序实现,找出其中非安全用户界面信息,如果找到,那么从该 非安全系统调用到该非安全用户界面信息存在一个非法全局信息流,这个非法全局信息流 能构成存储隐蔽信道。这就是说,如果存在这样一个非法全局流,那么高密级用户可 以调用该 非安全系统 调 用访问非安全共享源,同时通过对非安全用户界面信息的控制,非法干扰低密级用户调用 该非安全系统调用访问该非安全共享源时的操作反馈,低密级用户根据反馈信息的不同破 译高密级用户所希望发送的信息,从而达到高密级用户传递信息给低密级用户的目的,这 即存储隐蔽信道通信。例如:在管理命名管道的非
22、安全系统调用 o p e n 0中存在一个检查存取权限的非安全用 户界面信息,利用该信息可构造存储隐蔽信道:发送进程(高密级用户)发送“0”:将所约定管道的写权限授予接收进程:维普资讯 http:/ 1 9 9 8年第 l 期 密码与信息 总第 6 3 期 发送“1”:不让接收进程对所约定的管道局有写允许权;接收进程(低密级用户)接 收“0”:以写方式打开管道成功;接收“1 :以写方式打开管道失败,且观察到权限不够错误信息 这样高密级用户可通过隐蔽信道通信传送 I b i t信息给低密级用户 同时我们对时间隐蔽信道也进行了分析。我们知道在对非安全共享源进行访问的非 安全系统调用中t可能存在同步
23、操作或存在可区分的事件序列。由于同步操作的实质是进 程间在时问上的相互影响,而改变可区分的事件序列的顺序可认为是一种时间的消耗,所 以它们都 可能被安全级别不 同的用户所控制,使 得高密级用户能影响低密 级用 户 访问时 间,这样就可以造成安全密级不 同的用户之间在 时间意义上 的一种非授权用户干扰,从而 传递一些信息,即存在 时间隐蔽信道存在。我们归纳 时间隐蔽信道的存在条件是:对 于高密级发送进程 和低 密级接 l 殳 进 程在不 违反 U N I X的安全策略 F:发送进程必须能改变一个系统状态。接收进程必须能存取一个时钟。由发送进程完成的系统状态的改变能影响接收进程的执行或反应时间 必
24、须存在一个同步初始化通信进程或初始化事件序列。根据时间隐蔽信道的条件和时间隐蔽信道的定 义,归纳时间隐蔽信道分析法从两个方 面进行:找出系统中所有的非安全 系统调用:分析每一个非安全 系统调用,找 出该非安全系 统调用中存在的事件序列如消息队列、共享打印队列等,如果这样的事件序列存在,则 存在时间隐蔽信道。这是因为高密级用户可以通过该非安全系统调用控制这些可区分事件 序列的顺序,低密级用户通过观察这种顾序的改变而破译高密级用户所希望发送的信息 从而实现时间隐蔽信道通信 找出与非安全系统调用,分析这些系统调用程序实现中存在同步操作,如果这样的 同步操作可以实现安全密级不同的用户之间的同步,那么,
25、高密级用户可以利州这个同步 干扰低密级用户的反应时间,从而进行时间隐蔽信道通信,即存在时间隐蔽信道。例如:进程间使用命名管道实现一次通信要求有三次同步,如下所示:c l o s e(f d)乙进程:(低密级)打开同步 f d=o p e n(p a t h,w)读写同步 w r i t e(f d,b u f,n b y t e)一关闭同步 c l o s e(f d)利用这些同步操作可以构造成时间隐蔽信道。例如:当低密级用户以设置等待标志的丐打 式打开 一管道时,如果低密级用户循环检测写打开是否成功,直到打开成功才遐出循环 那么低密圾J j 户何时退出则完全取决于高密级用户和十一读方式打开该
26、管道 这样利用 该 同步构成的时间隐蔽信道的带宽远大于 l b i t。2 O 维普资讯 http:/ 1 9 9 8年第 1期 密码与信息 总第 6 3期 在隐蔽信道分析的实践中,我们应用所提出的隐蔽信道分析法,对 S C O安全 U N I X操 作系统中的无名管道、命名管道、消息机制、共享存储区机制和信号量机N)L 个部分进行 了人工隐蔽信道分析。分析结果,找到存储隐蔽信道 4 5个时间隐蔽信道 8个。此外,还 找到了 2个时钟,它们可以被所有系统中存在的非安全共享源所利用以实现某一类时间隐 蔽信道。因为这类时钟的存在,使得安全 U N I X操作系统中时间隐蔽信道的数量大大增 加。此外
27、,对于所找到的隐蔽信道,编程验证了其中的存储隐蔽信道 8个,时间隐蔽信道 3个 此外,还设计并编程实现了一个隐蔽信道攻击程序,即超级用户利用隐蔽信道通信 在不违背任何安全策略下,仅通过 与非授权低密级用户 间进行一次性 的事先简单约定,在 任何一次按安全规定修改其 口令后,能将其最新的超级口令及时且准确地泄露给低密级用 户。在隐蔽信道分析的研究与实践,对于 S C O安全 U N I X操作系统我们得出了如下结论:对 r在空间城 内考虑和实现 的系统调用,其 中存在的存储隐蔽信道数量大于时间隐蔽信道 数量;对于在时间域内考虑和实现的系统调用,其中时间隐蔽信道的数量大于存储隐蔽信 道数量。这种系
28、统中时间域和空间域对隐蔽信道的影响我们认为对任何操作系统的隐蔽信 道分析具有普遍的意义。通过隐蔽通信分析的研究与实践我们认为隐蔽通信的实现是简单而极具威胁性的,隐蔽信道对计算机系统及网络系统可能造成极其严重的泄密危险。而且我们提出的隐蔽信 道分析方法对于缺乏许多客观条件的情况下,是简单易行且确实有效的。我们希望这种新 的隐蔽信道分析思路能为将来拥有更加精美的隐蔽信道分析【具提供一个基石。同时作者 也希望将来有机会将基于这一方法的人工分析转换为一个形式化的系统,从而构造个基 于这一思想和方法的隐蔽信道分析自动生成软件包,这样,对任何安全操作系统都可以利 用这一软件包迅速发现所有存在的隐蔽信道。参
29、考文献 1 “S e c u r i t y P o l i c y a n d S e c u r i t y S y m p o s i u m o n S e c u r i t y a n d P ri v a c y,G o g u e n,J A g a d J m e s e g u e r M o d e l s”i n P r o c e e d i n g s o f t h e I E E E O a c k l a n d,C a l i f o r n i a,1 9 8 2,P p:1 卜 2 0,2“F o r m a l M e t h o d a n d A
30、u t o m a t e d T o o 1 f o r T i m i n g C h a n n e l i d e n t i f i c a t i o n i u T C B S o u r c e C o d e”i n C o m p u t e r S e c u r i t y E S 0 R I t S,1 9 9 2 H e J i n g s h a,V i r gi 1 D G1 i g o r 3“S h a r e d R e s o u r c e M a t r i x M e t h o d o l o g y:A n A p p r o a c h t
31、o I d e n t i f y S t o r a g e a n d T i m i n g C h a n n e l s”,A C M T r a n s a c t i o n s o n C o m p u t e r S y s t e ms,V o 1 1,N O 3,A u g u s t 1 9 8 3,P P 2 5 6 2 7 7 K e e r e r,R i c h a r d A 4 “o n t h e I d e n t i f i c a t i o n o f C o v e r t S t o r a g e C h a n n e l s i n S e c u r e S y s t e m s ”,I E E E T r a n s a c t i o n s o n S o f t w a r e E n g i n e e r i n g,V o 1 1 6,N o 6,J u n e 1 9 9 0,P P 5 6 9 5 8 0 T s a i,C h i i R ,V i r g i l D G l o g o r 5 U N I X结构分析,胡希 明 张建平,浙江大学出版社,1 9 9 0年 21 维普资讯 http:/