1、.1操作系统安全技术操作系统安全技术.2操作系统是计算机硬件之上的第一层软件,其操作系统是计算机硬件之上的第一层软件,其主要功能是管理计算机系统的软硬件资源,提主要功能是管理计算机系统的软硬件资源,提供相应接口方便用户使用这些软硬件资源。供相应接口方便用户使用这些软硬件资源。另一方面,操作系统需要控制用户对软硬件资另一方面,操作系统需要控制用户对软硬件资源的访问,授予合法用户的访问权限,禁止非源的访问,授予合法用户的访问权限,禁止非法用户对资源的访问。进一步,对不同级别的法用户对资源的访问。进一步,对不同级别的用户授予相应的访问权限,即:更细粒度的安用户授予相应的访问权限,即:更细粒度的安全控
2、制。上述安全需求通过操作系统的安全机全控制。上述安全需求通过操作系统的安全机制来保证。制来保证。.3 操作系统是计算机系统中的一个系统软件,是程序模块的集合。操操作系统是计算机系统中的一个系统软件,是程序模块的集合。操作系统能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合作系统能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理地组织计算机的工作流程,控制程序的执行并向用户提供各种服务功理地组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,使整个计算机系统能,使得用户能够灵活、方便、有效地使用计算机,使整个计算机系统能高效地运
3、行。操作系统为用户提供一组功能强大的、方便易用的命令能高效地运行。操作系统为用户提供一组功能强大的、方便易用的命令或系统调用。操作系统功能包括进程和线程管理或系统调用。操作系统功能包括进程和线程管理(CPU管理管理)、存储管理、存储管理、文件管理、设备管理和任务管理。文件管理、设备管理和任务管理。操作系统的安全可以从安全操作系统和操作系统安全加固两个方面来操作系统的安全可以从安全操作系统和操作系统安全加固两个方面来考虑。前者是试图设计和开发一个安全的操作系统,而后者是对已有的操考虑。前者是试图设计和开发一个安全的操作系统,而后者是对已有的操作系统进行安全性设置和配置。目前,安全操作系统虽然是研
4、究人员和工作系统进行安全性设置和配置。目前,安全操作系统虽然是研究人员和工程人员奋斗的目标,但是使用的安全操作系统还极为少见。程人员奋斗的目标,但是使用的安全操作系统还极为少见。.4 从计算机系统功能来看,包括硬件、软件、用户和资源。硬件用户存从计算机系统功能来看,包括硬件、软件、用户和资源。硬件用户存储和处理丰富多样的资源(也叫客体:储和处理丰富多样的资源(也叫客体:Object),软件用于管理各种不),软件用于管理各种不同的物理硬件,而用户(也叫主体:同的物理硬件,而用户(也叫主体:Subject)则通过软件访问各种资)则通过软件访问各种资源。因此,在规划计算机系统安全时,必须依据不同的安
5、全需求来决定源。因此,在规划计算机系统安全时,必须依据不同的安全需求来决定关注的中心。依据对用户和资源的侧重点不同,可以分为两种情况:关注的中心。依据对用户和资源的侧重点不同,可以分为两种情况:面向用户的安全性设计原则:针对特定的或复杂的安全需求,以满足用户安全需求为目的来设计安全体系。面向资源的安全性设计原则:针对简单的或通用的安全性需求,以资源保护为目的来设计安全体系。.5 包括硬件、操作系统内核、操作系统、服务和应用程序五个部分,其层次性结构如右图。.6硬件包括处理器、内存等物理部件,用于存储和处理计算机系统拥有的数据。操作系统内核对硬件进行管理的软件,其主要功能是协调处理器对内存的访问
6、。执行资源管理(如文件管理、内存管理、外设管理等)在操作系统之上为应用提供的通用功能(如数据库管理、网络通信等)。用户具体的应用,它一般依赖具体的服务,也有可能直接构建于操作系统之上。操作系统服务应用程序.7 因此,当设计和规划计算机系统的安全性时,一个重要的问题因此,当设计和规划计算机系统的安全性时,一个重要的问题是安全机制应该在那个层次上实施。硬件由于缺乏灵活性,因是安全机制应该在那个层次上实施。硬件由于缺乏灵活性,因此所能提供的安全服务极为有限。操作系统由于规模大、可管此所能提供的安全服务极为有限。操作系统由于规模大、可管理性差,因此也很难提供丰富的安全服务。应用程序由于具有理性差,因此
7、也很难提供丰富的安全服务。应用程序由于具有使用灵活、可扩展性好的优点,因此容易实现各种安全服务。使用灵活、可扩展性好的优点,因此容易实现各种安全服务。但是,由于应用的多样性,因此难以开发和部署通用的安全服但是,由于应用的多样性,因此难以开发和部署通用的安全服务来满足各种安全需求,因此一般代价高。服务和操作系统具务来满足各种安全需求,因此一般代价高。服务和操作系统具有可管理性强和灵活的特点,因此是安全机制部署和实施的理有可管理性强和灵活的特点,因此是安全机制部署和实施的理想关键点。想关键点。在安全机制的层次性实施方案中,下层安全机制和上在安全机制的层次性实施方案中,下层安全机制和上层安全机制的关
8、系极为重要。一般而言,攻击者如果层安全机制的关系极为重要。一般而言,攻击者如果突破了下层防御,就可以较为容易地躲过上层安全机突破了下层防御,就可以较为容易地躲过上层安全机制的保护。例如,如果攻击者获得了机密数据的一个制的保护。例如,如果攻击者获得了机密数据的一个备份,诸如文件系统保护、用户认证等安全服务对于备份,诸如文件系统保护、用户认证等安全服务对于计算机系统的安全性而言,已基本毫无意义。计算机系统的安全性而言,已基本毫无意义。.8大多数处理器处理中断的过程都相同。当一个设备发出中段请求时,大多数处理器处理中断的过程都相同。当一个设备发出中段请求时,CPU停止正在执行的指令,通过查询中断矢量
9、表,获得处理中断的程停止正在执行的指令,通过查询中断矢量表,获得处理中断的程序的入口地址(即中断矢量),从而跳到包括中断处理代码或者包括序的入口地址(即中断矢量),从而跳到包括中断处理代码或者包括指向中断处理代码的转移指令所在的内存区域(即中断句柄)。中断指向中断处理代码的转移指令所在的内存区域(即中断句柄)。中断处理过程如下图。处理过程如下图。.9 例如,位于应用软件特权级别的程序可能需要调用属于级别例如,位于应用软件特权级别的程序可能需要调用属于级别0的操作系统核心的对象。为了满足这种访问需求,的操作系统核心的对象。为了满足这种访问需求,80386/80486采采用门的方式来解决。所谓门,
10、就是一个执行某个程序的系统对象。用门的方式来解决。所谓门,就是一个执行某个程序的系统对象。通过门,可以允许处于较低特权级别的程序以只读方式访问具有更通过门,可以允许处于较低特权级别的程序以只读方式访问具有更高特权级别的对象。程序使用门时,门和对应的程序必须位于同一高特权级别的对象。程序使用门时,门和对应的程序必须位于同一特权级别。当通过门调用一个子程序时,特权级别变为门正指向的特权级别。当通过门调用一个子程序时,特权级别变为门正指向的代码的级别,而当子程序返回时,特权级别恢复到调用程序的特权代码的级别,而当子程序返回时,特权级别恢复到调用程序的特权级别。为了实现特权级别的转换,必须在堆栈中保存
11、返回地址信息。级别。为了实现特权级别的转换,必须在堆栈中保存返回地址信息。因此如果对堆栈的保护不正确,就会导致安全漏洞的出现。因此如果对堆栈的保护不正确,就会导致安全漏洞的出现。.10除了中断处理机制以外,许多处理器也提供了特权级保护。例如,除了中断处理机制以外,许多处理器也提供了特权级保护。例如,Intel 80386/80486上的保护模式就提供了四种特权级:上的保护模式就提供了四种特权级:(1)0:操作系统核心:操作系统核心 (2)1:操作系统其余部分:操作系统其余部分(3)2:I/O驱动程序部分驱动程序部分 (4)3:应用软件:应用软件并非所有的操作系统均支持全部四个特权级别,而特权级
12、别只能由运行在级别并非所有的操作系统均支持全部四个特权级别,而特权级别只能由运行在级别0上的单指令修改。一般情况下,程序只能访问位于自己特权级别和更低特权上的单指令修改。一般情况下,程序只能访问位于自己特权级别和更低特权级别内的对象。但是,很多情况下需要跨特权级别的访问。级别内的对象。但是,很多情况下需要跨特权级别的访问。例如,位于应用软件特权级别的程序可能需要调用属于级别例如,位于应用软件特权级别的程序可能需要调用属于级别0的操作系统核心的的操作系统核心的对象。为了满足这种访问需求,对象。为了满足这种访问需求,80386/80486采用门的方式来解决。所谓门,就采用门的方式来解决。所谓门,就
13、是一个执行某个程序的系统对象。通过门,可以允许处于较低特权级别的程序是一个执行某个程序的系统对象。通过门,可以允许处于较低特权级别的程序以只读方式访问具有更高特权级别的对象。程序使用门时,门和对应的程序必以只读方式访问具有更高特权级别的对象。程序使用门时,门和对应的程序必须位于同一特权级别。当通过门调用一个子程序时,特权级别变为门正指向的须位于同一特权级别。当通过门调用一个子程序时,特权级别变为门正指向的代码的级别,而当子程序返回时,特权级别恢复到调用程序的特权级别。为了代码的级别,而当子程序返回时,特权级别恢复到调用程序的特权级别。为了实现特权级别的转换,必须在堆栈中保存返回地址信息。因此如
14、果对堆栈的保实现特权级别的转换,必须在堆栈中保存返回地址信息。因此如果对堆栈的保护不正确,就会导致安全漏洞的出现。护不正确,就会导致安全漏洞的出现。.113.操作系统安全与引用监视器操作系统安全与引用监视器 进程安全是操作系统中的重要问题。该问题可分为三个方面:进程安全是操作系统中的重要问题。该问题可分为三个方面:(1)进程间的数据保护)进程间的数据保护(2)进程的权限分配、控制)进程的权限分配、控制(3)进程权限的继承)进程权限的继承 操作系统对上述所有权限的管理来源于引用监视器这个概念。操作系统对上述所有权限的管理来源于引用监视器这个概念。1972年,作为承担美国空军的一项计算机安全规划研
15、究任务的年,作为承担美国空军的一项计算机安全规划研究任务的研究成果,研究成果,J.P.Anderson 在一份研究报告中提出了引用监控器在一份研究报告中提出了引用监控器(reference monitor)、引用验证机制()、引用验证机制(reference validation mechanism)、安全核()、安全核(security kernel)等重要思想。)等重要思想。.12引用监视器引用监视器引用监控器(引用监控器(Reference Monitor)(原理下图):是一种访问)(原理下图):是一种访问控制,用于协调主体对客体的访问。因此,引用监视器能够识控制,用于协调主体对客体的访
16、问。因此,引用监视器能够识别系统中的程序,控制其它程序的运行,负责控制对系统资源别系统中的程序,控制其它程序的运行,负责控制对系统资源的访问。引用监视器的特点包括:的访问。引用监视器的特点包括:是控制对设备、文件、内存、进程等对象进行访问的一组访是控制对设备、文件、内存、进程等对象进行访问的一组访问控制策略;问控制策略;是所有访问请求的唯一入口;是所有访问请求的唯一入口;自身必须是正确和安全的;自身必须是正确和安全的;应该足够小,使得对引用监视器的验证任意进行。应该足够小,使得对引用监视器的验证任意进行。.13安全内核(安全内核(Secure Kernel)实现引用监视器概念的可信计算基的硬件
17、、固件和软件的集合体,是系实现引用监视器概念的可信计算基的硬件、固件和软件的集合体,是系统中与安全性的实现有关的部分,包括引用验证机制、授权统中与安全性的实现有关的部分,包括引用验证机制、授权(authorization)机制和授权的管理机制等成分。)机制和授权的管理机制等成分。引用验证机制需同时满足以下引用验证机制需同时满足以下3 个原则:个原则:(1)具有自我保护能力;)具有自我保护能力;(2)总是处于活跃状态;)总是处于活跃状态;(3)必须设计得足够小,以利于分析和测试,从而能够证明它)必须设计得足够小,以利于分析和测试,从而能够证明它 的实现是正确的。的实现是正确的。安全内核的特点包括
18、:安全内核的特点包括:(1)必须对所有访问进行验证和授权;)必须对所有访问进行验证和授权;(2)自身必须被保护不被修改;)自身必须被保护不被修改;(3)自身的安全性应该是可证且安全的。)自身的安全性应该是可证且安全的。安全内核安全内核.14可信计算基可信计算基 可信计算基(可信计算基(TCB:Trusted Computing Base):是一个计算机):是一个计算机系统中的全部保护机制(包括迎驾、固件和软件),他们结合起系统中的全部保护机制(包括迎驾、固件和软件),他们结合起来为系统提供全局统一的访问控制策略。在某些系统中,来为系统提供全局统一的访问控制策略。在某些系统中,TCB等等同于安全
19、内核,即同于安全内核,即TCB是操作系统的一部分,是整个系统安全性是操作系统的一部分,是整个系统安全性的基础。的基础。因此,引用监视器是一个抽象的概念,安全内核是它的实现,而因此,引用监视器是一个抽象的概念,安全内核是它的实现,而TCB包含了安全内核以及其它保护机制。以安全内核为核心的安包含了安全内核以及其它保护机制。以安全内核为核心的安全操作系统的结构如下图。全操作系统的结构如下图。.15二二.身份认证身份认证1.身份认证概述身份认证概述 身份认证是安全控制的基础,只有在确定用户的身份(包括确定为非法身份认证是安全控制的基础,只有在确定用户的身份(包括确定为非法身份)之后才能完成访问控制、审
20、计等安全策略。对于具有安全需求的操作身份)之后才能完成访问控制、审计等安全策略。对于具有安全需求的操作系统而言,用户在访问资源之前必须完成的一步是身份认证,其对应的操系统而言,用户在访问资源之前必须完成的一步是身份认证,其对应的操作系统功能就是用户登录。下面给出身份认证的定义。作系统功能就是用户登录。下面给出身份认证的定义。身份认证:即为把一个身份(身份认证:即为把一个身份(identity)与一个主体()与一个主体(subject)绑定起来,证)绑定起来,证明一个声称的身份是正确的过程。明一个声称的身份是正确的过程。为了证明所声称的身份,用户必须提供某个或者多个方面的信息,如:为了证明所声称
21、的身份,用户必须提供某个或者多个方面的信息,如:(1)口令;口令;(2)生物特征,如指纹、虹膜、面颊等唯一性的特征;生物特征,如指纹、虹膜、面颊等唯一性的特征;(3)专用凭证,如专用凭证,如USB key、智能卡等、智能卡等.162.基于口令的身份认证基于口令的身份认证 获取口令密文有多种方式:获取口令密文有多种方式:(1)通过系统攻击获取口令文件,如利用软件漏洞,获得权限升级,从而)通过系统攻击获取口令文件,如利用软件漏洞,获得权限升级,从而取得访问口令文件的权限。取得访问口令文件的权限。(2)通过另一系统访问存储口令文件的文件系统。如把)通过另一系统访问存储口令文件的文件系统。如把wind
22、ows系统的硬盘系统的硬盘挂接到挂接到linux系统上,并拷贝出系统上,并拷贝出sam文件。文件。(3)用户可能在多个系统上拥有账户,而且可能采用相同的口令,通过攻)用户可能在多个系统上拥有账户,而且可能采用相同的口令,通过攻破某个系统则可能获得其口令密文。破某个系统则可能获得其口令密文。对口令认证最大的威胁是字典攻击,包括两个步骤:对口令认证最大的威胁是字典攻击,包括两个步骤:(1)获取口令密文;)获取口令密文;(2)搜索口令密文对应的口令明文。)搜索口令密文对应的口令明文。.17为应对字典攻击,可从增加口令随机性、加密算法的复杂性及加强对口为应对字典攻击,可从增加口令随机性、加密算法的复杂
23、性及加强对口令文件的访问控制等方面展开。令文件的访问控制等方面展开。“加盐口令(加盐口令(salted password)”是一是一种种unix操作系统及其它操作系统上广泛采用的一种加强口令认证方式安操作系统及其它操作系统上广泛采用的一种加强口令认证方式安全性的有效措施。全性的有效措施。“加盐口令加盐口令”是指在生成口令密文时除了口令明文作是指在生成口令密文时除了口令明文作为输入外,还增加了其它信息(即:盐)。在最初的实现中,盐值和创为输入外,还增加了其它信息(即:盐)。在最初的实现中,盐值和创建用户口令的时间相关,较新的实现多采用伪随机数或者随机数作为盐建用户口令的时间相关,较新的实现多采用
24、伪随机数或者随机数作为盐值。经过口令加密函数处理后,生成一个定长的口令密文,盐值明文和值。经过口令加密函数处理后,生成一个定长的口令密文,盐值明文和口令密文一同存放到口令文件中。加盐口令生成过程如下图。口令密文一同存放到口令文件中。加盐口令生成过程如下图。.18当用户做登录系统操作时,用户提供账户名和口令,如下图当用户做登录系统操作时,用户提供账户名和口令,如下图.操作系统查询口令文件,如果账户名不存在则报错,反之则提操作系统查询口令文件,如果账户名不存在则报错,反之则提取该账户名对应的盐值,连同所提供的口令输入给口令加密函数,取该账户名对应的盐值,连同所提供的口令输入给口令加密函数,从而获得
25、口令密文。如果生成的口令密文与口令文件保存的口令密从而获得口令密文。如果生成的口令密文与口令文件保存的口令密文一致,则通过验证,否则提示错误。加盐口令的最大优点是显著文一致,则通过验证,否则提示错误。加盐口令的最大优点是显著增加离线字典攻击的难度,如果口令明文的长度为增加离线字典攻击的难度,如果口令明文的长度为x位,对于一个长位,对于一个长度为度为y位的盐值,其增加的可能口令数量约为位的盐值,其增加的可能口令数量约为2x个,因此是对抗字典个,因此是对抗字典攻击的有效手段。攻击的有效手段。.193.windowsNT的口令数据库的口令数据库 WindowNT的口令信息存放的口令信息存放SAM(S
26、ecurity Account Manager)数据库中,)数据库中,该数据库是一个注册表文件。该数据库是一个注册表文件。SAM数据库存放于数据库存放于windows目录下的目录下的system32/config目录下,这一点与目录下,这一点与unix系统类似,其口令信息存放于系统类似,其口令信息存放于/etc/passwd中。中。Unix系统中的口令文件是一个文本文件,而系统中的口令文件是一个文本文件,而windows系统中的系统中的SAM文件是文件是一个二进制文件,其中存放的是口令的一个二进制文件,其中存放的是口令的MD4哈希值。哈希值。需要说明的是在需要说明的是在windows vist
27、a中,中,SAM文件存放的口令信息是采用一种文件存放的口令信息是采用一种基于口令的函数处理过的信息。基于口令的函数处理过的信息。SAM文件中,存放的不是口令的明文,文件中,存放的不是口令的明文,而是口令的哈希值,如而是口令的哈希值,如LM hash和和NTLM hash。因为。因为hash函数是单向函函数是单向函数,因此能够防止攻击者得到口令的明文。当用户使用本地账户登录计数,因此能够防止攻击者得到口令的明文。当用户使用本地账户登录计算机时,算机时,SAM进程(进程(samsrv.exe)取得登录信息,在)取得登录信息,在SAM数据库中查找数据库中查找相关信息。如果用户提供的登录信息与相关信息
28、。如果用户提供的登录信息与SAM数据库中的信息匹配,且无数据库中的信息匹配,且无其它因素(如登录时间限制)阻止用户登录,则用户能够登录到系统中。其它因素(如登录时间限制)阻止用户登录,则用户能够登录到系统中。需要注意的是,登录过程是由需要注意的是,登录过程是由LSA来完成的,而非由来完成的,而非由SAM模块来完成的。模块来完成的。.20.214.Linux操作系统的口令文件操作系统的口令文件 Linux的口令文件为的口令文件为/etc/passwd,该文件是一个文本文件,每一个,该文件是一个文本文件,每一个用户账户在口令文件中有一行对应的记录。用户账户在口令文件中有一行对应的记录。/etc/p
29、asswd中的每个记中的每个记录包含以冒号分隔的录包含以冒号分隔的7个字段,依次分别为:个字段,依次分别为:(1)账户名)账户名(2)口令密文)口令密文(3)用户标识()用户标识(UID)(4)组标识()组标识(GID)(5)关于该用户的备注信息,如真实名字,电话号码等信息)关于该用户的备注信息,如真实名字,电话号码等信息(6)主目录,通常为)主目录,通常为/home/username(7)登录成功后启动的)登录成功后启动的Shell由于由于/etc/passwd文件的权限控制相对较弱,为了更高的安全性,当前文件的权限控制相对较弱,为了更高的安全性,当前流行的做法是在流行的做法是在/etc/p
30、asswd文件中不存放口令信息,而是将口令信息文件中不存放口令信息,而是将口令信息存放到存放到/etc/shadow文件中,该文件具有更严格的权限控制,防止攻击者文件中,该文件具有更严格的权限控制,防止攻击者获取加密后的口令信息获取加密后的口令信息。.22/etc/shadow文件中,每个账户有一条对应的记录,每个记录包括文件中,每个账户有一条对应的记录,每个记录包括9个字段,按照顺序分别为:个字段,按照顺序分别为:(1)账户名。账户名。(2)口令密文口令密文 (3)上次修改口令的日期。上次修改口令的日期。(4)口令变更口令变更之间的最小天数。之间的最小天数。(5)强制用户修改口令后,口令的最
31、大有效天数。强制用户修改口令后,口令的最大有效天数。(6)口令过期前多少天警告用户必须变更口令。口令过期前多少天警告用户必须变更口令。(7)口令过期后多少天账口令过期后多少天账户失效。户失效。(8)从)从1970年年1月月1日开始计算,多少天后帐号取消日开始计算,多少天后帐号取消(9)保留字段保留字段故总结出防范口令攻击的一般性原则:故总结出防范口令攻击的一般性原则:(1)避免使用弱口令;)避免使用弱口令;(2)口令组合尽量采用字母、数字、特殊符号(如:)口令组合尽量采用字母、数字、特殊符号(如:%、&、*等),且使等),且使 用较长口令;用较长口令;(3)避免不同账户使用相同口令;)避免不同
32、账户使用相同口令;(4)配合使用防木马软件。)配合使用防木马软件。.23三三.访问控制访问控制1.访问控制的基本概念访问控制的基本概念 访问控制模型是安全策略的具体实现,它依据一定的授权规则,访问控制模型是安全策略的具体实现,它依据一定的授权规则,对提出的资源访问加以控制。访问控制是网络安全防护技术的主要安对提出的资源访问加以控制。访问控制是网络安全防护技术的主要安全策略之一,其基本任务是防止对资源的非法访问(包括非法用户访全策略之一,其基本任务是防止对资源的非法访问(包括非法用户访问资源和合法用户以未授权的方式访问资源)和保证合法用户合理访问资源和合法用户以未授权的方式访问资源)和保证合法用
33、户合理访问资源。访问控制模型的主要内容包括两个方面:问资源。访问控制模型的主要内容包括两个方面:(1)安全策略所涉及的实体(如资源、用户等);)安全策略所涉及的实体(如资源、用户等);(2)组成安全策略的规则。)组成安全策略的规则。在访问控制中,实体用主体和客体来描述,而规则则用控制策略来表示,在访问控制中,实体用主体和客体来描述,而规则则用控制策略来表示,从而构成了访问控制包括三个要素,即:主体、客体和控制策略。从而构成了访问控制包括三个要素,即:主体、客体和控制策略。(1)主体:发起操作请求的实体,如进程;)主体:发起操作请求的实体,如进程;(2)客体:也称为对象,是主体作用的实体,如文件
34、、设备、进程之类)客体:也称为对象,是主体作用的实体,如文件、设备、进程之类 的资源;的资源;(3)控制策略:是主体对客体的操作行为集和约束条件集。)控制策略:是主体对客体的操作行为集和约束条件集。.242.访问控制技术访问控制技术我们重点介绍强制访问控制、自主访问控制和基于角色的访问控制。我们重点介绍强制访问控制、自主访问控制和基于角色的访问控制。强制访问控制强制访问控制自主访问控制自主访问控制基于角色的访问控制基于角色的访问控制.25 A.访问控制表访问控制表ACLs(Access Control Lists)是一个表格,该表格规定了是一个表格,该表格规定了对于一个特定的客体(如一个文件或
35、一个目录)来说,每个访问该客体对于一个特定的客体(如一个文件或一个目录)来说,每个访问该客体的潜在主体(如用户)所拥有的权限。的潜在主体(如用户)所拥有的权限。B.访问控制能力表(访问控制能力表(ACCL:Access Control Capabilities List)是一个表格,该表格规定了系统是一个表格,该表格规定了系统中的每个主体对于系统中的资源中的每个主体对于系统中的资源拥有何种访问权限。拥有何种访问权限。C.访问控制矩阵(访问控制矩阵(ACM:Access Control Matrix)是通过)是通过矩阵形式表示主体对于客体的访矩阵形式表示主体对于客体的访问权限。问权限。D.授权关
36、系表(授权关系表(Authorization Relations):授权表示一种信任关系,一般授权表示一种信任关系,一般需建立一种模型对这种关系进行描述,才能保证授权的正确性,特别是需建立一种模型对这种关系进行描述,才能保证授权的正确性,特别是在大型系统的授权中,没有信任关系模型做指导,要保证合理的授权行在大型系统的授权中,没有信任关系模型做指导,要保证合理的授权行为几乎是不可想象的。为几乎是不可想象的。E.访问控制标签列表(访问控制标签列表(ACSLL:Access Control Security Labels List)是)是限定用户对客体目标访问的安全属性集合。限定用户对客体目标访问的
37、安全属性集合。.264.访问控制模型访问控制模型 访问控制模型的理论基础是访问控制模型的理论基础是:状态机模型和信息流模型。状态机模型和信息流模型。前是描述系统处于任何状态是否安全的系统模型。前是描述系统处于任何状态是否安全的系统模型。后者后者是状态机模型的具体化,在这个模型中,信息的传递被抽是状态机模型的具体化,在这个模型中,信息的传递被抽象成流的形式象成流的形式。主要有以下几种模型主要有以下几种模型:(1)Bell-LaPadula模型模型 (2)Lattice安全模型安全模型 (3)Biba模型模型 (4)Clark Wilson模型模型 (5)Chinese Wall模型模型.271.
38、身份认证的实现身份认证的实现口令文件是口令文件是Linux系统中身份认证的重要组成部分系统中身份认证的重要组成部分.Linux的口令文件为的口令文件为/etc/passwd,该文件是一个文本文件,每一个用户账户在口令文件中有一,该文件是一个文本文件,每一个用户账户在口令文件中有一行对应的记录。行对应的记录。/etc/passwd中的每个记录包含以冒号分隔的中的每个记录包含以冒号分隔的7个字段,依个字段,依次分别为:次分别为:(1)账户名)账户名 (2)口令密文)口令密文 (3)用户标识()用户标识(UID)()(4)组标识()组标识(GID)(5)关于该用户的备注信息,如真实名字,电话号码等信
39、息)关于该用户的备注信息,如真实名字,电话号码等信息(6)主目录,通常为)主目录,通常为/home/username (7)登录成功后启动的)登录成功后启动的Shell由于由于/etc/passwd文件的权限控制相对较弱,为了更高的安全性,当前流文件的权限控制相对较弱,为了更高的安全性,当前流行的做法是在行的做法是在/etc/passwd文件中不存放口令信息,而是将口令信息存放文件中不存放口令信息,而是将口令信息存放到到/etc/shadow文件中,该文件具有更严格的权限控制,防止攻击者获取文件中,该文件具有更严格的权限控制,防止攻击者获取加密后的口令信息加密后的口令信息。.282.UNIX操
40、作系统的文件系统的一般安全机制操作系统的文件系统的一般安全机制 Linux文件系统的安文件系统的安全机制包括:全机制包括:(1)硬硬件安全保护(如段件安全保护(如段保护等)保护等)(2)用户及用户及口令管理口令管理 (3)组及组及口令管理口令管理(4)超级用超级用户及口令管理户及口令管理 (5)访问控制访问控制UNIX操作系统用户及口令管理操作系统用户及口令管理的内容包:(的内容包:(1)所有的用户拥)所有的用户拥有一个唯一的用户标识(有一个唯一的用户标识(UID:User ID(2)UID是一个是一个16位位的数字(的数字(3)UID连接到了连接到了UNIX口令文件(一般位口令文件(一般位/
41、etc/passwd)以确定)以确定UID对应对应的口令(的口令(4)UDI是用户在操作是用户在操作系统合法性及拥有相应权限的系统合法性及拥有相应权限的唯一凭证(唯一凭证(5)UID为为0的用户的用户是系统的超级用户,拥有一切是系统的超级用户,拥有一切权限(权限(6)口令长度一般小于口令长度一般小于8个字符(个字符(7)口令一般用)口令一般用DES加加密后存放在安全目录之下密后存放在安全目录之下(shadow password file).29在在UNIX系统中,每个文件和目的有三组,一组关于拥有者系统中,每个文件和目的有三组,一组关于拥有者(owner),另,另一组关于群组用户一组关于群组用
42、户(group),还有一组是关于其它用户,还有一组是关于其它用户(others)。每一组的。每一组的权限又分为三个界别:权限又分为三个界别:读取读取(r:read):若该权限设置,就可以读取和访问文件和目录。:若该权限设置,就可以读取和访问文件和目录。写写(w:write):若该权限设置,就可以修改、创建对应的文件和目录。:若该权限设置,就可以修改、创建对应的文件和目录。执行执行(x:eXecute):若该权限设置,就可执行该文件,或进入对应的目录。:若该权限设置,就可执行该文件,或进入对应的目录。3.UNIX操作系统的文件权限操作系统的文件权限 4.UNIX操作系统的文件权限的管理操作系统的
43、文件权限的管理UNIX系统中有关查看、修改文件和目录权限的命令包括:系统中有关查看、修改文件和目录权限的命令包括:ls:使用:使用ls l查看对应的权限查看对应的权限 chmod修改权限修改权限 chmod:修改拥有者:修改拥有者 chgrp:修改组:修改组.30UNIX常用命令包括常用命令包括 ps 进程列表进程列表 netstat网络服务状态网络服务状态 tcpdump 网络数据包捕获网络数据包捕获 kill进程管理进程管理 chmod修改文件、目录权限修改文件、目录权限 chgrp 修改文件、目录的组修改文件、目录的组 chown修改文件、目录拥有者修改文件、目录拥有者 ifconfig
44、配置网络端口配置网络端口 ping网络测试(网络测试(ping R)traceroute 路由跟踪路由跟踪 nslookup 域名查询域名查询 umask 修改用户掩码修改用户掩码5.UNIX操作系统中的常用命令操作系统中的常用命令.311.基本概念基本概念是是Windows NT系统中最基本的安全对象,是用来系统中最基本的安全对象,是用来识别用户或群组,并以此作为用户或组群拥有访识别用户或群组,并以此作为用户或组群拥有访问权限的标志。问权限的标志。是一个用来描述一个进程(是一个用来描述一个进程(process)或线程或线程(thread)所拥有权限的数据结构。其内容包了)所拥有权限的数据结构
45、。其内容包了用户名及其安全标识用户名及其安全标识SID、用户群组及其群组安、用户群组及其群组安全标识、权限等。全标识、权限等。A.安全标识安全标识(Security Identifiers:SID)B.系统访问令牌系统访问令牌(System Access Tokens:SAT).32D.访问控制列访问控制列表(表(Access control lists:ACL)E.访问控制项访问控制项(Access Control Entries:ACE)有两种:任意访问控制列表(有两种:任意访问控制列表(Discretionary ACL)、)、系统访问控制列表(系统访问控制列表(System ACL)。
46、前者包含了用户)。前者包含了用户和组的列表,以及相应的权限,允许或拒绝。每一个和组的列表,以及相应的权限,允许或拒绝。每一个用户或组在任意访问控制列表中都有特殊的权限。后用户或组在任意访问控制列表中都有特殊的权限。后者是为审核服务的,包含了对象被访问的时间。者是为审核服务的,包含了对象被访问的时间。包含用户或组的包含用户或组的SID及对象的权限及对象的权限.它有两种:允它有两种:允许访问和拒绝访问。拒绝访问的级别高于允许许访问和拒绝访问。拒绝访问的级别高于允许访问。访问。Windows 系统中的任何对象的属性都有安全系统中的任何对象的属性都有安全描述符这部分。它保存对象的安全配置。描述符这部分
47、。它保存对象的安全配置。C.安全描述符安全描述符(Security descriptors:SD):):.332.Windows 网络模型网络模型 网络域模型适合于大中型网络。与工作群组模型的分布式资源管网络域模型适合于大中型网络。与工作群组模型的分布式资源管理方式,网络域模型采用集中式管理。在网域模型里,由一个主域控理方式,网络域模型采用集中式管理。在网域模型里,由一个主域控制器(制器(Primary domain controller:PDC)负责储存所管辖网络域内)负责储存所管辖网络域内的共享账号数据及安全策略数据库。每个工作站必须通过主域控制器的共享账号数据及安全策略数据库。每个工作站
48、必须通过主域控制器的认证后,才能存取域内的资源。域的管理员只需要对网络主控台进的认证后,才能存取域内的资源。域的管理员只需要对网络主控台进行管理,就可以控制各用户的访问权限。通过跨域认证和信任,扩大行管理,就可以控制各用户的访问权限。通过跨域认证和信任,扩大资源共享范围,从而使网络域模型适合于大型网络环境。资源共享范围,从而使网络域模型适合于大型网络环境。Microsoft Windows系统在网络设计上支持两种网络模型,一是工作系统在网络设计上支持两种网络模型,一是工作群组(群组(Workgroup)模型,二是网络域()模型,二是网络域(Domain)模型。工作群组)模型。工作群组模型适合于
49、小型网络,具有相同工作组名称的各工作站可以参与同一模型适合于小型网络,具有相同工作组名称的各工作站可以参与同一个工作群组,各工作站自行维护各自的账号及安全策略数据库,工作个工作群组,各工作站自行维护各自的账号及安全策略数据库,工作群组成员之间可共享某些资源。由于资源管理必须在各工作站上设定,群组成员之间可共享某些资源。由于资源管理必须在各工作站上设定,因此对于大规模网络很难实施统一的管理。因此对于大规模网络很难实施统一的管理。.34Windows NT包括一组构成包括一组构成 Windows 安全模型的安全组件。这些安全组安全模型的安全组件。这些安全组件件称为称为Windows的安全子系统(的
50、安全子系统(Windows Security Subsystem),是),是Windows NT系统中安全机制的最重要核心部分。安全子系统的组件在本地安全管系统中安全机制的最重要核心部分。安全子系统的组件在本地安全管理员进程(理员进程(lsass.exe)的上下文中运行,主要包括:)的上下文中运行,主要包括:Winlogon Graphical Identification and Authentication DLL(GINA)Local Security Authority(LSA)Security Support Provider Interface(SSPI)Authenticatio