您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 第6章-信息系统安全与保密技术-网络10
1第六章信息系统安全与保密技术一.基本要求与基本知识点(1)掌握操作系统安全技术;(2)理解WindowsNT/2000安全;(3)掌握数据库安全技术;(4)理解SQLServer的安全。二.教学重点与难点(1)操作系统安全与保密;(2)WindowsNT/2000安全模型;(3)数据库安全与保密;(4)SQLServer的安全体系。参考资料:《计算机网络安全》邓亚平,人民邮电出版社,2004年9月;26.1操作系统安全技术6.1.1安全操作系统的发展状况操作系统是计算机系统的重要系统软件,它能够对计算机的硬件和软件资源实行统一的管理和控制。各种计算机应用软件均运行在操作系统提供的系统平台之上,它们通过操作系统完成对系统中信息的存取和处理。因此可以说操作系统的安全是整个计算机系统安全的基础,一旦操作系统的防御被突破,整个计算机系统将会受到根本威胁。3早在20世纪60年代,安全操作系统的研究就引起了研究机构(尤其是美国军方)的重视,至今人们已经在这个领域付出了几十年的努力,开展了大量的工作,取得了丰硕的成果。主要有:(1)世界第一个安全操作系统是Adept-50,这是一个分时系统,可以实际投入使用,运行于IBM/360硬件平台,它以一个形式化的安全模型----高水标模型为基础,实现了美国的一个军事安全系统模型,为给定的安全问题提供了一个比较形式化的解决方案。4(2)1965年,美国贝尔实验室和麻省理工学院的MAC课题组等一起联合开发一个称为Multics的新操作系统,其目标是向大的用户团体提供对计算机的同时访问,支持强大的计算能力和数据存储,并具有很高的安全性。由于Multics设计的复杂性和理想性,结果未能达到预期目标。虽然Multics未能成功,但它在安全操作系统的研究方面迈出了重要的一步,为后来的安全操作系统研究积累了大量经验。5(3)KSOS(KernelizedSecureOperatingSystem)是美国国防部研究计划局1977年发起的一个安全操作系统研制项目,目标是为PDP-11/70机器开发一个可投放市场的安全操作系统,系统的要求如下:①与贝尔实验室的UNIX操作系统兼容;②实现多级安全性和完整性;③正确性可以被证明。6(4)1983年,美国国防部颁布了历史上第一个计算机安全评价标准----《可信计算机系统评价准则》,简称TCSEC,因其封面为橘黄色而被称为橘皮书。1985年,美国国防部对TCSEC进行修订。TCSEC为计算机系统的可信程度划分和评价提供了准则,将安全操作系统研究带入了一个新阶段。7(5)OSF/1是开放软件基金会于1990年推出的一个安全操作系统,被美国国家计算机安全中心(NCSC)认可为符合TCSEC的B1级,其主要安全性表现如下:①系统标识;②口令管理;③强制存取控制和自主存取控制;④审计。8(6)UNIXSVR4.1ES是UI(UNIX国际组织)于1991年推出的一个安全操作系统,被美国国家计算机安全中心(NCSC)认可为符合TCSEC的B2级,除OSF/1外的安全性主要表现如下:①更全面的存取控制;②更小的特权管理;③可信通路;④隐蔽通道分析和处理。9(7)1997年美国安全计算公司(SCC)和国家安全局(NSA)完成了DTOS(DistributedTrustedOperatingSystem)安全操作系统。DTOS原型系统以Mach为基础,具有以下设计目标。①政策灵活性;②Mach兼容性;③DTOS内核的性能应该与Mach内核的性能相近。在安全操作系统的研究方面,我国研究起步比较晚,近几年开展了一系列安全操作系统的研制工作,通过完成有关项目,开发出多种安全操作系统。106.1.2安全操作系统的设计操作系统由于其在整个计算机系统中的地位和作用,要设计高度安全性的操作系统非常难。操作系统功能复杂,事务繁忙,要控制和管理系统中数据的存取、程序运行和外部设备的工作等,同时还不得不承担起整个计算机系统的安全保护责任,这就使得操作系统的设计具有很大的难度。具有高度安全性的操作系统的设计,首先考虑标准通用操作系统的基本设计原则,然后考虑隔离,正是通过隔离同时支持用户域的共享和分割,接下来考察操作系统的“内核”设计方法,这是提供安全性的有效途径,最后考虑分层结构设计。以下分别介绍安全操作系统设计时,需要遵循一个基本原则和三个性质。111、安全操作系统设计的原则萨尔哲(Saltzer)和史克罗德(Sroder)提出安全操作系统设计的基本原则:(1)最小特权,每个用户和程序使用尽可能少的特权,以使有意或无意的攻击所造成的损失达到最低程度;(2)经济性,设计的操作系统应尽可能地小和简单,以便于验证和正确执行。目前操作系统不能保证安全的主要原因是它的规模太大,以至于超出了理解的范围,并且使操作系统永远存在尚未纠正的错误的原因。(3)开放设计,保护机制应当是公开的,经受住广泛的公开审查。12(4)完备的存取控制机制,对每个存取访问,系统都必须进行检查控制。(5)基于“允许”,标示的资源应该是“允许存取”的,而未标示的资源是“不允许存取”的。缺省条件是“不允许存取”的。(6)权限分离。理想情况下,对实体的存取应该依赖多个条件,如用户身份鉴别加上密钥。(7)避免信息流的潜在通道,可共享实体提供了信息流的潜在通道。系统设计时应采取物理或逻辑分离的方法,防止这种潜在通道。(8)方便使用,存取控制机制方便使用。如不影响遵守规则的用户;便于用户授权存取;便于用户约束存取。132、隔离设计隔离是指采用一定的措施,使系统某一部分的故障不影响其它的部分。设计思想是把一个大系统分割成若干个互不相交的小系统,对一个任务来讲,由几个独立的小系统各自独立的完成自己的任务,且每两部分之间都有“保护林”,将错误或故障限制在尽可能小的范围,使之造成的损失最小。(1)物理隔离,各进程使用不同的硬件设备。如敏感的计算任务在指定的系统中执行,非敏感的计算任务在开发系统中执行;(2)时间隔离,不同的时间运行不同的进程。如军事系统在八点到中午之间执行非敏感任务,只在中午到下午五点执行敏感任务;(3)密码隔离,将加密技术用于隔离,使未授权用户(没有密码)不能读取敏感数据;(4)逻辑隔离,将一个用户的对象与其他用户的对象分割开来。143、核心设计核又称为核心,是操作系统中完成最低级功能的部分。在标准的操作系统设计中,完成许多功能,如同步进程通讯、信息传递及中断处理等。安全核心负责完成整个操作系统的安全机制。安全核心在硬件、操作系统和计算机系统的其它部分间提供安全接口,如图6-1所示。图6-1安全操作系统的一般结构硬件系统软件核心用户软件安全核15安全核心的实现可能降低系统性能。因为安全核心在用户程序和操作系统资源之间增加了一道接口。安全核心的设计和用途在一定程度上取决于设计策略,一个安全核心可以当做额外的操作系统,也可以作为整个操作系统的一部分进行设计。一般安全核心包括在操作系统核内。164、层结构设计一个核化的操作系统至少由四层组成:硬件、核心、操作系统的其它部分和用户。其中每一层本身可能包含一些子层。可以由一系列同心环来描述安全操作系统,其中在最内层进行最敏感的操作,一个过程的可信性和存取权由到中心的接近程度来决定,越可信的过程越接近中心,这样的系统可用图6-2表示。17图6-2不同层次上的模块操作操作系统代码验证数据修改验证数据比较用户身份验证用户接口最小信任代码最大信任代码层次设计策略被认为是一种较好的操作系统设计策略。每一层都可以调用更中心层的服务,并为外层提供一定的服务。这样即使剥去一层,仍然是一个完整的系统,只是功能上有所减少。186.1.3操作系统的安全服务操作系统的安全机制主要体现在身份认证和访问控制两个方面。身份认证是要保护合法的用户使用系统,防止非法侵入。访问控制是要保证授权和受控的访问、使用系统资源。一般而言,访问控制服务和身份认证服务是紧密结合在一起的:一个用户或用户的进程在访问系统资源之前,必须要经过正确的身份认证,然后再根据自己的授权情况,受控制地使用系统资源。191、用户管理的安全性(1)身份认证机制身份认证机制必须是强有力的,即在用户登录时,与系统的交互过程必须有安全保护。身份认证是对用户身份的识别和验证,通常采用账号/口令的方式。用户账号必须是唯一的,系统依据用户账号识别出用户之后,还需通过口令对其进行验证,验证其是否为真实用户。用户账号和口令是同时使用的,但二者的使用是不同的,用户账号是公开的,用于对用户的识别,而口令是保密的,用于验证用户的真伪。20(2)用户口令的加密机制用户口令的加密算法必须有足够的安全强度,用户的口令存放必须安全,不能被轻易窃取。(3)用户的账号管理通常对用户账号进行分组管理,并且这种分组管理应该针对安全性问题而考虑的分组。也即应当根据不同的安全级别将用户分成若干等级,每一等级的用户只能访问与其等级相应的系统资源和数据,执行指定范围内的程序。212、访问控制经过计算机系统身份验证之后,合法的用户进入系统,但并不意味着它具有对系统所有资源的访问权限。还需要通过访问控制,根据一定的原则对合法用户的访问权限进行控制,以决定用户可以访问哪些资源,以及以什么样的方式访问资源。22访问控制系统一般包括以下几个实体。主体(Subject):发出访问操作,是存取要求的主动方。通常可以是用户、进程和设备等。客体(Object):被访问的对象,是访问需要进行控制的资源。通常可以是被调用的程序、进程,要存取的数据、信息,要访问的文件、系统或各种网络设备、设施等资源。安全访问政策:它是一套规则,用以确定一个主体是否对客体拥有访问的能力。由此,访问控制的目的是:限制主体对客体的访问权限,从而使计算机系统的资源在合法范围内被使用。23访问控制常用的实现方法主要有:(1)访问控制表(AccessControlList)一个对象有一个表,用来指出主体对对象的访问权限。还可以将有相同权限的用户分组,并授予组的访问权。访问控制表ACL是目前采用最多的一种方式,如图6-3所示。24图6-3访问控制列表25(2)访问控制矩阵(AccessMatrix)用一个矩阵的形式表示访问控制,行表示主体,列表示客体,行列交叉点表示某个主体对某个客体的访问权限。如表6.1所示:表6.1访问控制矩阵(其中R---读,W---写,X---执行,Own---拥有)26(3)授权关系表AuthorizationRelationsList)用每一行(或称为一个元组)表示主体和客体的一个权限关系,如表6.2所示。授权关系表可以实现最小化权限原则及复杂的安全策略。27表6.2授权关系表28在访问控制策略方面,计算机系统常采用以下两种策略。(1)自主访问控制(DiscretionaryAccessControl,DAC)自主访问控制是一种最为普遍的访问控制手段,是指对某个客体具有拥有权的主体能够对该客体的一种访问权或多种访问权自主的授予其他主体,并在随后的任何时刻将这些权限收回。这种控制是自主的,是一种比较宽松的访问控制。Windows、UNIX操作系统都采用了自主访问控制策略。29(2)强制访问控制(MandatoryAccessControl,MAC)强制访问控制是“加强”给访问主体的,即系统强制主体服从事先制定的访问控制规则,这种策略是强制性规定的,用户或用户的程序不能加以修改。如果系统认为某用户不适合访问某个文件,那么任何人(包括文件拥有者)都无法使该用户具有访问该文件的权利。MAC主要用于多层次安全级别的军事应用中。306.2WindowsNT/2000的安全在个人计算机领域,Windows操作系统占据了大多数市场份额,而在网络服务领域,WindowsNT/2000是最流行的桌面操作系统,其友好的操作界面,众多强大的网络应用程序和开发工具,以及更为
本文标题:第6章-信息系统安全与保密技术-网络10
链接地址:https://www.777doc.com/doc-48300 .html