【文档说明】操作系统安全性概述.pptx,共(64)页,267.783 KB,由精品优选上传
转载请保留链接:https://www.ichengzhen.cn/view-288976.html
以下为本文档部分文字说明:
第4章操作系统的安全4.1操作系统安全性概述4.2WindowsNT/2000的安全4.3UNIX/Linux的安全4.1操作系统安全性概述4.1.1操作系统安全的重要性当前,对操作系统安全构成威胁的问题
主要有以下4种。(1)计算机病毒(2)特洛伊木马(3)隐蔽通道隐蔽通道可定义为系统中不受安全策略控制的、违反安全策略的信息泄漏路径。它是允许进程以危害系统安全策略的方式传输信息的通信信道。(4)天窗天窗是嵌在操作系统里的一段非法代码,渗透者利用该代码提供的方法侵入操作系统而不受检查。天窗由专门
的命令激活,一般不容易发现。4.1.2操作系统的安全服务1.用户管理的安全性首先是用户账号的管理。通常对用户账号进行分组管理,并且这种分组管理应该是针对安全性问题而考虑的分组。其次是用户口令的加密机制。最后是认证机制。身份认证机制必须是强有力的,即在
用户登录时,与系统的交互过程必须有安全保护,不会被第三方干扰或截取。账号/密码的认证方案普遍存在着安全的隐患和不足之处,具体有如下几种。(1)认证过程的安全保护不够健壮,登录的步骤没有进行集成和封装,而是暴露在外,容易受到恶意入侵者或系统内部特洛伊木马的干扰或者截取
。(2)密码的存放与访问没有严格的安全保护。(3)认证机制与访问控制机制不能很好地相互配合和衔接,使得通过认证的合法用户进行有意或无意的非法操作的机会大大增加。2.访问控制访问控制系统一般包括以下几个实体。•主体
(Subject)•客体(Object)•安全访问政策访问控制常用的实现方法主要有以下几种。(1)访问控制矩阵(AccessMatrix)表4.1是一个访问控制矩阵的例子,这个例子将在后面多次用到。表
4.1访问控制矩阵File1File2File3JohnOwnRWRAliceROwnRWWBobRWR访问控制矩阵中存在着不少空项,为了减少系统开销与浪费,从主体(行)出发,形成一个链表,以表示某一行的
信息,这就是访问能力表,如图4.1所示。(2)访问能力表(AccessCapabilityList)图4.1访问能力表图4.2访问控制表(3)访问控制表(AccessControlList)访问控制表ACL
是目前采用最多的一种方式,如图4.2所示。(4)授权关系表(AuthorizationRelationsList)用每一行(或称每一个元组)表示主体和客体的一个权限关系,如表4.2所示。主体访问权限客体JohnOwnFile1JohnRFile1JohnWFile1JohnRFile3Al
iceRFile1AliceOwnFile2AliceRFile2AliceWFile2AliceWFile3BobRFile1BobWFile1BobWFile2表4.2授权关系表在访问控制策略方面,计算机系统常采用以下两种策略。(1)自主访问控制(Discre
tionaryAccessControl,DAC)自主访问控制是一种最为普遍的访问控制手段,它是在确认主体身份以及它们所属组的基础上对访问进行限定的一种方法,其基本思想是:允许某个主体显式地指定其他主体对该主体所拥有的信息资源是否可以访问以及可执行的访问类型。(2)强制访问控制(Mandat
oryAccessControl,MAC)强制访问控制是“强加”给访问主体的,即系统强制主体服从访问控制政策,这种政策是强制性规定的,用户或用户的程序不能加以修改。4.1.3操作系统安全性的设计原则与一般结构(1)最小特权。(2)机制的经济性。(3)开放系统设计。(4)完备的存取控制机制。(
5)基于“允许”的设计原则。(6)权限分离。(7)避免信息流的潜在通道。(8)方便使用。4.1.4安全操作系统的发展状况KSOS(KernelizedSecureOperatingSystem)是美国国防部研究计划局1977年发起的一个安全操作系统研制项目,目标是为
PDP-11/70机器开发一个可投放市场的安全操作系统,系统的要求如下:①与贝尔实验室的UNIX操作系统兼容;②实现多级安全性和完整性;③正确性可以被证明。OSF/1是开放软件基金会于1990年推出的一个安全操作系统,被美国国家计算机安全中心(NCSC)认可为
符合TCSEC的B1级,其主要安全性表现如下:•系统标识;•口令管理;•强制存取控制和自主存取控制;•审计。UNIXSVR4.1ES是UI(UNIX国际组织)于1991年推出的一个安全操作系统,被美国国家计算机安全
中心(NCSC)认可为符合TCSEC的B2级,除OSF/1外的安全性主要表现如下:•更全面的存取控制;•更小的特权管理;•可信通路;•隐蔽通道分析和处理。1993年,国防科技大学对基于TCSEC标准和UNIXSystemV3.2版的安全操作系统SUNIX的研究与
开发进行了探讨,提出了一个面向最小特权原则的改进的BLP模型和一个病毒防御模型。以Linux为代表的自由软件在中国的广泛流行对中国安全操作系统的研究与开发具有积极的推动作用。1999年,中国科学院软件研究所推出了红旗Linux中文操作系统
发行版本,同时,开展了基于Linux的安全操作系统的研究与开发工作。2000年,我国的安全操作系统研究人员相继推出了一批基于Linux的安全操作系统。中国科学院计算技术研究所研究开发了LIDS安全操作系统;南京大学开发了基于Linux的安全操作系统SoftOS;
中国科学院信息安全技术工程研究中心开发了基于Linux的SecLinux安全操作系统;中国计算机软件与服务总公司以TCSEC标准的B1安全等级为目标对Linux进行了改造,开发了COSIXLinuxV2.0的安全增强版本。4.2WindowsNT/2000的安全4.2.1WindowsNT/200
0的安全模型WindowsNT/2000具有模块化的设计结构。该操作系统由一组软件模块构成,称为执行程序服务,运行在内核模式下。在内核模式之上的是用户模式,用户模式由非特权的服务组成,称为保护子系统,它们的启动由用户来决定。WindowsNT/2000的安全性依赖于Wind
owsNT/2000的核心层,它们在每个层次提供一致的安全模型。WindowsNT/2000的安全模型由几个关键的安全子系统构成,这些安全子系统控制着整个WindowsNT/2000操作系统,是与操作系统密不可分的。WindowsNT/2000安全模型主要由登录过程、本地安全认
证、安全账号管理器和安全参考监督器构成,如图4.4所示。图4.4WindowsNT/2000的安全模型1.登录进程(LogonProcess)2.本地安全认证(LocalSecurityAuthority,LSA)3.安全账号管理器(SecurityAccountManager
,SAM)安全账号管理器维护安全账号管理数据库,即SAM数据库。4.安全参考监视器(SecurityReferenceMonitor,SRM)安全参考监视器运行在内核模式,它负责访问控制和审查策略。4.2.2WindowsNT/2000的登录控制1.登录过程
WindowsNT/2000的登录控制过程比较繁琐,但每一步对建立一个安全环境和用户能够完成有用的工作都是必要的。用户本地登录与在域范围内登录到WindowsNT/2000计算机的步骤稍有不同,其登录步骤分别如下。图4
.5本地登录过程(1)本地登录过程(如图4.5所示)①用户按Ctrl+Alt+Del键,引起硬件中断,被系统捕获,这样使操作系统激活WinLogon进程。②WinLogon进程通过调用标识与鉴别DLL,将登录窗口(账号名和口令登录提示符)展示在用户面前。③Wi
nLogon进程发送账号名和加密口令到本地安全认证(LSA)。④如果用户具有有效的用户名和口令,则本地安全认证产生一个访问令牌,包括用户账号SID和用户工作组SID。访问令牌也将得到用户的特权(LUID),然后该访问令牌传回WinLogon进程。⑤WinLogon进程
传送访问令牌到Win32模块,同时发出一个请求,以便为用户建立登录进程。⑥登录进程建立用户环境,包括启动DesktopExplorer和显示背景等。(2)网络登录过程(如图4.6所示)图4.6网络登录WindowsNT/2000服务器的过程①用
户将用户名和口令输入到网络客户机软件的登录窗口。②该客户机软件打开NetBIOS,连接到服务器的NetLogon服务上,该客户机软件对口令加密,发送登录证书到服务器的WinLogon进程。③服务器的WinLogon进程发送账号名和加密口令到本地安全认证。④如果用户具有有效的用户名
和口令,则本地安全认证产生一个访问令牌,包括用户账号SID和用户工作组SID。⑤WinLogon进程将访问令牌传送到WindowsNT/2000的Server服务,它将访问令牌与被客户机打开的NetBIOS连接联系起来。2.安全标识符(SID)安全标识符是标识一个注册用户
的惟一名字,它可用来标识一个用户或一组用户。安全标识符是用于系统内部的,在存取令牌和访问控制表(ALC)内使用,它用一长串数字来表示。4.2.3WindowsNT/2000的访问控制1.WindowsNT/2
000访问控制WindowsNT/2000的安全性达到了橘皮书C2级,实现了用户级自主访问控制,它的访问机制如图4.7所示。为了实现进程间的安全访问,WindowsNT/2000中的对象采用了安全性描述符(SecurityDescriptio
n)。安全性描述符主要由用户SID(Owner)、工作组SID(Group)、访问控制列表(DACL)和系统访问控制列表(SACL)组成,安全性描述符的构成如图4.8所示。图4.8安全性描述符的构成图4.7WindowsNT的客体访问示意图2.
NTFS文件系统NTFS主要采用两种措施对文件系统进行安全性保护:一是对文件和目录的权限设置,二是对文件和目录进行加密。(1)文件和目录的权限NTFS文件系统上的每个文件和目录在创建时创建人就被指定为拥有者。
拥有者控制着文件或目录权限设置,并能赋予其他用户的访问权限。NTFS为了保证文件和目录的安全性和可靠性,制定了以下的权限设置规则。①只有用户在被赋予权限或是属于拥有这种权限的组,才能对文件或目录进行访问。②“拒绝访问”权限优先级高于其他所有权限。③权限是积累的。④文件权限始终优先于目录权限。⑤
当用户在相应权限的目录中创建新的文件和子目录时,创建的文件和子目录继承该目录的权限。⑥创建文件和目录的拥有者,总是可以随时更改对文件或目录的权限设置来控制其他用户对该文件或目录的访问。(2)文件内容的加密Windows2000增强了文件
系统的安全性,采用了加密文件系统(EncryptedFileSystem,EFS)技术。加密文件系统提供的文件加密技术可以将加密的NTFS文件存储到磁盘上。4.2.4WindowsNT/2000的安全管理1.用户和用户组在WindowsNT/2000中,每个用户必须有一个账号。用户账号
是系统安全的核心,系统网络中发生的一切活动都可以以此账号追溯到特定的授权用户。WindowsNT/2000还支持用户组,通过用户组为一组相关的用户同时设定权利和权限。2.域和委托在WindowsNT中,有两种类型的网络配置:工作组和域。工作组是单独的系统,在工作组中系统各
自独立管理自己的用户账号和组账号以及它们的安全账号管理数据库,不与别的系统共享这些信息。工作组适用于小型网络环境。域模型是WindowsNT网络系统的核心,所有WindowsNT的相关内容都是围绕着域来组织,
而且大部分WindowsNT的网络都基于域模型。域是一些服务器的集合,这些服务器被归为一组并共享同一个安全策略和用户账号数据库。域的集中化用户账号数据库和安全策略使得系统管理员可以用一个简单而有效的方法维护整个网络的安全。域由主域
服务器、备份域服务器、服务器和工作站组成。域是由主域控制器或备份域控制器来控制的。每一个域中只能有一个主域控制器,而备份域控制器可以有一个或数个。WindowsNT的域间可以建立委托关系。委托是一种管理方法,它将两个域连接在一起,并允
许域中的用户相互访问。域之间的委托关系可以有两种:单向的和双向的。3.活动目录(ActiveDirectory)活动目录是Windows2000的核心。它是Windows2000网络体系机构必不可少、不
可分割的重要组件。它是在WindowsNT4.0操作系统的域结构基础上改进而成,并提供了一套为分布式网络环境设计的目录服务。活动目录包括两个方面:目录和目录相关服务。(1)活动目录的结构活动目录允许组织机构按照层次
式的,面向对象的方式存储信息,并且提供支持分布式网络环境的多主复制机制。①层次式组织②面向对象存储③多主复制①层次式组织活动目录是由对象、容器、树和森林构成的层次结构。它使用对象来代表诸如用户、组、主机
、设备及应用程序这样的网络资源,并用容器来代表组织机构或相关对象的集合。②面向对象存储活动目录用对象的形式存储有关网络元素的信息。每个对象可以设置属性,这些属性用来描述对象的特殊特征。③多主复制为了在分布式环境中提供高性
能的、可用和灵活的服务,活动目录使用多主复制。(2)活动目录的安全性服务Windows2000的安全性服务和活动目录紧密结合。活动目录存储了安全政策的信息,实施了基于对象的安全模型的访问控制机制。在活动目录中的每个对象都有一个独有的安全性描述,定义了浏览或更新
对象属性所需要的访问权限。活动目录集中进行管理并加强了与组织机构的商业过程一致的,且基于角色的安全性。4.安全审计达到C2级的系统,其安全性必须要有安全审计功能。WindowsNT/2000系统的审计消息都被记录在日志文件中,它包含3类日志:系统日志、应用日志和安全日志。4.3UNIX/Linu
x的安全4.3.1UNIX用户账号与口令安全UNIX操作系统是一个可供多个用户同时使用的多用户、多任务、分时操作系统。1.UNIX登录认证机制UNIX的用户身份认证采用账号/口令的方案。用户提供正确的
账号和口令后,系统才能确认他的合法身份。总的来说,通过终端登录UNIX操作系统的过程可描述如下:(1)init进程确保为每个终端连接(或虚拟终端)运行一个getty程序;(2)getty监听对应的终端并等待用户准备登录;(3)getty输出一条欢迎信息(保存在/etc/i
ssue中),并提供用户输入用户名,最后运行login程序;(4)login以用户作为参数,提示用户输入口令;(5)如果用户名和口令相匹配,则login程序为该用户启动shell;否则,login程序退出,进程终止;(6)init进程注意到login进程已终止,则会再次为该终端启
动getty程序。2.UNIX的口令文件UNIX口令文件/etc/passwd是登录验证的关键,这个文件保存系统中所有用户及其相关信息,所以口令文件是UNIX安全的关键文件之一。这个文件的拥有者是超级用户(root),只有他才有写的权利,而一般用户只有读的权利。3.UNIX操作系统的口
令安全安全的口令应遵循以下的规则。(1)选择长的口令,口令越长,黑客猜中的概率就越低。(2)口令最好是英文字母和数字的组合。(3)不要使用英语单词,因为很多人喜欢使用英文单词作为口令,口令字典收集了大量的口令,有意义的英语单词在口令字典出现的概率比较大。(4)用
户若可以访问多个系统,则不要使用相同的口令。(5)不要使用名字作为口令,如自己的名字,家人的名字,宠物的名字等。(6)别选择记不住的口令,这样会给自己带来麻烦,用户可能会把它放在什么地方,如计算机周围、记事本上或者某个文件中,这样
就会引起安全问题,因为用户不能肯定这些东西不会被入侵者看到,一些偶然的失误很可能泄露这些机密。(7)使用UNIX安全程序,如passwd+和npasswd程序来测试口令的安全性。4.3.2UNIX的文件访问控制U
NIX操作系统的资源访问控制是基于文件的。1.文件(或目录)访问控制为了维护系统的安全性,系统中每一个文件(或目录)都具有一定的存取权限,只有具有这种存取权限的用户才能存取该文件。图4.10给出了文件存取权限的图形解
释。图4.10文件存取权限示意图存取权限位共有9bit位,分为3组,用以指出不同类型的用户对该文件的访问权限。权限有3种:r允许读;w允许写;x允许执行。用户有3种类型:owner该文件的属主;group在该文件所属用户组中的用户,即同组用户;other除以上二者外的
其他用户。2.更改权限用户可以使用chmod命令更改文件(或目录)的权限,chmod命令以新权限和文件名为参数,格式为:chmod[-Rfh]存取权限文件名chmod命令也有其他方式的参数修改权限,在此不再多讲,可参考UNIX操作系统的联
机手册。3.特殊权限位有时没有被授权的用户需要完成某些要求授权的任务。例如passwd程序,对于普通用户,它允许改变自身的口令,但不能拥有直接访问/etc/passwd文件的权力,以防止改变其他用户的口令。为了解决这个问
题,UNIX允许对可执行的目标文件(只有可执行文件才有意义)设置SUID或SGID。一个进程执行时就被赋予4个编号,以标识该进程隶属于谁,分别为实际和有效的UID,实际和有效的GID。有效的UID和GID用于系统确定进程对于文件的存取许可。4.3.3UNIX安
全的管理策略1.系统管理员的安全管理(1)保持系统管理员个人的登录安全①不要作为root或以自己的登录账户运行其他用户的程序,首先用su命令进入用户的账户。②绝不要把当前工作目录放在PATH路径表的前边,那样会吸引特洛伊木马。③不要未注销账户就离开终端,特
别是作为root用户时更不能这样。⑤不允许root在除控制台外的任何终端登录(这是login编译时的选项),如果有login源码,就将登录名root改成别的名字,使破坏者不能在root登录名下猜测各种可能的口令,从而非法进入root的账
户。⑥经常改变root的口令。⑦确认su命令记下的企图运行su的记录/usr/adm/sulog,该记录文件的存取权限是600,并属root所有。⑧不要让系统管理员以外的人作为root登录,哪怕是几分钟,即使有系统管理员在一旁注视着也不行。(
2)保持整个系统的安全①保持账号安全。②保持口令安全。③设置口令时效。④保持文件系统安全。⑤启动记账系统。⑥查出不寻常的系统使用情况,如大量地占用磁盘、大量地使用CPU时间、大量的进程、大量地使用su
的企图、大量无效的登录、大量的到某一系统的网络传输等。⑦修改shell,使其等待了一定时间而无任务时终止运行。⑧修改login,使其打印出用户登录的最后时间,三次无效登录后,将通信线挂起,以便系统管理员能查出是否有人非法进入系统。⑨修改su,使得只有root能通过su进入某一户头。⑩当安装来源不可
靠的软件时,要检查源码和makefile文件,查看特殊的子程序调用或命令。另外,为了系统的安全,还应该注意以下事项。(1)即使是安装来源可靠的软件,也要检查是否有SUID(SGID)程序,确认这些许可的确是必要的。如果可能,不要让这些程序具有系统ID(或组)的SUID(SGID)许可,而应该
建立一个新用户供该软件运行。(2)如果系统在办公室中,门应上锁,将重要数据保存在软盘上或磁带上,并锁起来。(3)如果系统管理员认为系统已经泄密,则应当设法查出肇事者。2.用户的安全管理(1)保证用户口令的安全。(2)防止用户
自己的文件和目录被非授权读写。(3)防止运行特洛伊木马。(4)用crypt命令加密不愿让任何用户(包括超级用户)看到的文件。(5)在离开终端时,确保用Ctrl+D或Exit命令退出系统。4.3.4UNIX网络服务的安全管理1.网络访问控制(1)关闭不必要的服务/etc/services/etc/
inetd.conf/etc/services(2)有选择地允许主机建立连接/etc/hosts.allow/etc/hosts.deny4.3.5UNIX的安全审计系统的安全审计就是对系统中有关安全的活动进行记录、检查及审核。(1)连接时间日志(2)进程统计日志
(3)错误日志最常用的大多数版本的UNIX都具备的审计服务程序是syslogd复习题:1、对操作系统安全构成威胁的主要有哪几种?2、简述操作系统安全性设计的基本原则。3、简述NTFS文件系统的安全性。