欢迎来到天天文库
浏览记录
ID:38107846
大小:25.00 KB
页数:3页
时间:2019-05-25
《具有安全权限的微内核操作系统模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、发信人: wwwRainbow (毛毛牛), 信区: Security 标 题: 具有安全权限的微内核操作系统模型 发信站: BBS 水木清华站 (Mon Jan 10 16:56:26 2000) 网络与信息安全论文――具有安全权限的微内核操作系统模型 计算机系 19908053 李隆 摘要:操作系统的安全性在网络安全中同样有非常重要的影响,有很多网络攻击方法都 是从寻找操作系统的缺陷入手的。互联网上传统Unix操作系统有先天的安全隐患,于是 产生很多修补手段来解决它上面的安全问题。但是由于Unix本身结构的原因,在很多修 补方案下,仍然存在系统隐患。本文提出了一
2、种基于微内核的操作系统结构,可以从根 本上解决操作系统端的安全问题。 关键字:微内核结构、消息调度模块、应用程序管理模块 1、 网络安全中可能存在的问题 网络安全问题包括很多方面很多环节,可以说任何一个方面一个环节出了问题,多会导 致不安全现象的发生。不安全因素主要集中在网络传播介质及网络协议的缺陷、密码系 统的缺陷、主机操作系统的缺陷。在现实运作中,密码系统已经非常完善,标准的DES、 RSA和其他相关的认证体系已经成为公认的具有计算复杂性安全的密码标准协议,这个标 准的健壮性也经受了成千上万网络主机的考验。但是在网络协议与操作系统本身上,仍 然有很多可被攻击的人口。很多网络安全中
3、的问题集中在操作系统的缺陷上。Unix及类 Unix操作系统是在Internet中非常普遍的操作系统,主要用与网络服务。它的源代码是 公开的,所以在很多场合下使用者可以定制自己的Unix操作系统,使它更适合网络相关 的服务要求。由于网络协议是独立与操作系统的,它的体系结构与操作系统端是无关的 ,网络协议所存在的安全隐患也是独立于操作系统来修正的。本文主要讨论操作系统端 可能存在的问题及可能解决方案。 2、 操作系统可能存在的安全问题 在操作系统端,安全问题主要集中在多用户的访问权限问题上。系统特权用户的权限非 常大,他能够做系统所能做的任何事情。在Unix系统中,很多系统服务级的后台
4、网络服 务程序都拥有系统用户权限,可怕的是,这些后台程序的也是安全问题的最大隐患。Un ix是一个巨大内核的操作系统,很多系统级的服务都放在内核中。如果这些服务程序有 编程问题,问题也同时带到了内核级的权限中,这样,攻击者就有可能在内核级别进行 恶意的操作了。因为没有任何错误的软件是很难存在的,所以只能容忍程序中错误的存 在,而在系统结构上解决服务程序的问题。另外,进行严格的应用程序堆栈检查及堆管 理,在安全问题上也十分重要。著名的对strcpy()函数攻击就是利用系统没有认真管理 堆栈,而导致攻击者在自己的代码空间里获得系统用户权限。总之,如果操作系统能进 行更严格的应用程序管理,
5、就有可能使系统更安全。当然,操作系统也是一个计算机程 序,任何程序都会有Bug的存在,操作系统也不会例外。那么,如何在承认有Bug存在的 情况下尽量使系统安全呢? 3、 安全的操作系统结构 也许根本不可能存在一个绝对安全的系统,可是一个好的结构可以使一个系统更难被攻 击。在通常被攻击的情况下,攻击者会想办法获得系统用户权限。不可能有编写完全无 错程序的办法,那么能够用尽量少系统权限程序完成操作系统功能,是解决现实中有Bu g程序的一条可行之路。使用微内核结构的操作系统可以有效的解决一些这样的问题。在 微内核结构下,系统的核心只有一个消息调度核心,所有的其他模块通过消息与其他模 块互相
6、联系,而通信通过消息调度核心来传输。这样,真正具有系统用户权限的程序只 有这个消息调度核心了,它是直接同各种硬件大交道的模块,所有的其他系统服务,如 文件系统、内存管理、进程调度都运行在它之上。这样,系统权限的程序也只有消息调 度模块,其他的模块可以缩小它在原来Unix系统中的权限了,就象一个国家的军队一样 ,各个军官拥有他本职范畴内的权力,只有非常少数军官拥有特权(这种特权军官必须 存在,否则无法指挥大局),这样的军队系统被世界范围内公认为是最稳固的。这种操 作系统的结构如图1, 在图1中,只有消息调度模块(内核层)具有系统权限,其他的服务与模块只有使其可以 正常工作的最小权限。应
7、用程序管理模块是以前的Unix/Linux系统所没有的,他主要负 责应用程序的权限管理,A、B、C分别是各个应用程序。下面分别对各个模块的结构与功 能作一个简单说明。 消息调度模块:这是整个操作系统中具有最高系统权限的模块,它在系统中无所不能, 负责管理各种硬件资源,处理中断,I/O端口,并把这些消息发送给相应的处理模块。它 也是其他模块间相互通信的中转,也是整个系统的内核。这是,系统的内核不做任何与 服务有关的操作,它只是一个消息转发者,也只有它才会和直
此文档下载收益归作者所有