操作系统安全技术PPT课件_第1页
操作系统安全技术PPT课件_第2页
操作系统安全技术PPT课件_第3页
操作系统安全技术PPT课件_第4页
操作系统安全技术PPT课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,1,第八章,操作系统安全技术,.,2,操作系统是计算机硬件之上的第一层软件,其主要功能是管理计算机系统的软硬件资源,提供相应接口方便用户使用这些软硬件资源。另一方面,操作系统需要控制用户对软硬件资源的访问,授予合法用户的访问权限,禁止非法用户对资源的访问。进一步,对不同级别的用户授予相应的访问权限,即:更细粒度的安全控制。上述安全需求通过操作系统的安全机制来保证。,.,3,操作系统是计算机系统中的一个系统软件,是程序模块的集合。操作系统能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理地组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,使整个计算机系统能高效地运行。操作系统为用户提供一组功能强大的、方便易用的命令或系统调用。操作系统功能包括进程和线程管理(CPU管理)、存储管理、文件管理、设备管理和任务管理。,一.计算机操作系统安全基础,操作系统的安全可以从安全操作系统和操作系统安全加固两个方面来考虑。前者是试图设计和开发一个安全的操作系统,而后者是对已有的操作系统进行安全性设置和配置。目前,安全操作系统虽然是研究人员和工程人员奋斗的目标,但是使用的安全操作系统还极为少见。,.,4,1.计算机系统的层次结构,从计算机系统功能来看,包括硬件、软件、用户和资源。硬件用户存储和处理丰富多样的资源(也叫客体:Object),软件用于管理各种不同的物理硬件,而用户(也叫主体:Subject)则通过软件访问各种资源。因此,在规划计算机系统安全时,必须依据不同的安全需求来决定关注的中心。依据对用户和资源的侧重点不同,可以分为两种情况:,.,5,从计算机系统的组成来看,.,6,.,7,因此,当设计和规划计算机系统的安全性时,一个重要的问题是安全机制应该在那个层次上实施。硬件由于缺乏灵活性,因此所能提供的安全服务极为有限。操作系统由于规模大、可管理性差,因此也很难提供丰富的安全服务。应用程序由于具有使用灵活、可扩展性好的优点,因此容易实现各种安全服务。但是,由于应用的多样性,因此难以开发和部署通用的安全服务来满足各种安全需求,因此一般代价高。服务和操作系统具有可管理性强和灵活的特点,因此是安全机制部署和实施的理想关键点。,在安全机制的层次性实施方案中,下层安全机制和上层安全机制的关系极为重要。一般而言,攻击者如果突破了下层防御,就可以较为容易地躲过上层安全机制的保护。例如,如果攻击者获得了机密数据的一个备份,诸如文件系统保护、用户认证等安全服务对于计算机系统的安全性而言,已基本毫无意义。,.,8,2.硬件安全保护技术,大多数处理器处理中断的过程都相同。当一个设备发出中段请求时,CPU停止正在执行的指令,通过查询中断矢量表,获得处理中断的程序的入口地址(即中断矢量),从而跳到包括中断处理代码或者包括指向中断处理代码的转移指令所在的内存区域(即中断句柄)。中断处理过程如下图。,.,9,例如,位于应用软件特权级别的程序可能需要调用属于级别0的操作系统核心的对象。为了满足这种访问需求,80386/80486采用门的方式来解决。所谓门,就是一个执行某个程序的系统对象。通过门,可以允许处于较低特权级别的程序以只读方式访问具有更高特权级别的对象。程序使用门时,门和对应的程序必须位于同一特权级别。当通过门调用一个子程序时,特权级别变为门正指向的代码的级别,而当子程序返回时,特权级别恢复到调用程序的特权级别。为了实现特权级别的转换,必须在堆栈中保存返回地址信息。因此如果对堆栈的保护不正确,就会导致安全漏洞的出现。,.,10,除了中断处理机制以外,许多处理器也提供了特权级保护。例如,Intel80386/80486上的保护模式就提供了四种特权级:(1)0:操作系统核心(2)1:操作系统其余部分(3)2:I/O驱动程序部分(4)3:应用软件,并非所有的操作系统均支持全部四个特权级别,而特权级别只能由运行在级别0上的单指令修改。一般情况下,程序只能访问位于自己特权级别和更低特权级别内的对象。但是,很多情况下需要跨特权级别的访问。,例如,位于应用软件特权级别的程序可能需要调用属于级别0的操作系统核心的对象。为了满足这种访问需求,80386/80486采用门的方式来解决。所谓门,就是一个执行某个程序的系统对象。通过门,可以允许处于较低特权级别的程序以只读方式访问具有更高特权级别的对象。程序使用门时,门和对应的程序必须位于同一特权级别。当通过门调用一个子程序时,特权级别变为门正指向的代码的级别,而当子程序返回时,特权级别恢复到调用程序的特权级别。为了实现特权级别的转换,必须在堆栈中保存返回地址信息。因此如果对堆栈的保护不正确,就会导致安全漏洞的出现。,.,11,3.操作系统安全与引用监视器,进程安全是操作系统中的重要问题。该问题可分为三个方面:(1)进程间的数据保护(2)进程的权限分配、控制(3)进程权限的继承,操作系统对上述所有权限的管理来源于引用监视器这个概念。1972年,作为承担美国空军的一项计算机安全规划研究任务的研究成果,J.P.Anderson在一份研究报告中提出了引用监控器(referencemonitor)、引用验证机制(referencevalidationmechanism)、安全核(securitykernel)等重要思想。,.,12,.,13,引用验证机制需同时满足以下3个原则:,(1)具有自我保护能力;(2)总是处于活跃状态;(3)必须设计得足够小,以利于分析和测试,从而能够证明它的实现是正确的。,安全内核的特点包括:,(1)必须对所有访问进行验证和授权;(2)自身必须被保护不被修改;(3)自身的安全性应该是可证且安全的。,.,14,.,15,1.身份认证概述,身份认证是安全控制的基础,只有在确定用户的身份(包括确定为非法身份)之后才能完成访问控制、审计等安全策略。对于具有安全需求的操作系统而言,用户在访问资源之前必须完成的一步是身份认证,其对应的操作系统功能就是用户登录。下面给出身份认证的定义。,身份认证:即为把一个身份(identity)与一个主体(subject)绑定起来,证明一个声称的身份是正确的过程。为了证明所声称的身份,用户必须提供某个或者多个方面的信息,如:(1)口令;(2)生物特征,如指纹、虹膜、面颊等唯一性的特征;(3)专用凭证,如USBkey、智能卡等,.,16,2.基于口令的身份认证,获取口令密文有多种方式:(1)通过系统攻击获取口令文件,如利用软件漏洞,获得权限升级,从而取得访问口令文件的权限。(2)通过另一系统访问存储口令文件的文件系统。如把windows系统的硬盘挂接到linux系统上,并拷贝出sam文件。(3)用户可能在多个系统上拥有账户,而且可能采用相同的口令,通过攻破某个系统则可能获得其口令密文。,该方式的基本原理是将用户的登录信息与系统中保存的账户信息进行对比,若匹配则通过身份认证,获得该身份相应的权限。在设计身份认证系统时,通常需要考虑方便性、安全性和系统成本等,而前两者往往是相悖的。,对口令认证最大的威胁是字典攻击,包括两个步骤:(1)获取口令密文;(2)搜索口令密文对应的口令明文。,.,17,为应对字典攻击,可从增加口令随机性、加密算法的复杂性及加强对口令文件的访问控制等方面展开。“加盐口令(saltedpassword)”是一种unix操作系统及其它操作系统上广泛采用的一种加强口令认证方式安全性的有效措施。“加盐口令”是指在生成口令密文时除了口令明文作为输入外,还增加了其它信息(即:盐)。在最初的实现中,盐值和创建用户口令的时间相关,较新的实现多采用伪随机数或者随机数作为盐值。经过口令加密函数处理后,生成一个定长的口令密文,盐值明文和口令密文一同存放到口令文件中。加盐口令生成过程如下图。,.,18,当用户做登录系统操作时,用户提供账户名和口令,如下图.,操作系统查询口令文件,如果账户名不存在则报错,反之则提取该账户名对应的盐值,连同所提供的口令输入给口令加密函数,从而获得口令密文。如果生成的口令密文与口令文件保存的口令密文一致,则通过验证,否则提示错误。加盐口令的最大优点是显著增加离线字典攻击的难度,如果口令明文的长度为x位,对于一个长度为y位的盐值,其增加的可能口令数量约为2x个,因此是对抗字典攻击的有效手段。,.,19,3.windowsNT的口令数据库,WindowNT的口令信息存放SAM(SecurityAccountManager)数据库中,该数据库是一个注册表文件。SAM数据库存放于windows目录下的system32/config目录下,这一点与unix系统类似,其口令信息存放于/etc/passwd中。Unix系统中的口令文件是一个文本文件,而windows系统中的SAM文件是一个二进制文件,其中存放的是口令的MD4哈希值。,需要说明的是在windowsvista中,SAM文件存放的口令信息是采用一种基于口令的函数处理过的信息。SAM文件中,存放的不是口令的明文,而是口令的哈希值,如LMhash和NTLMhash。因为hash函数是单向函数,因此能够防止攻击者得到口令的明文。当用户使用本地账户登录计算机时,SAM进程(samsrv.exe)取得登录信息,在SAM数据库中查找相关信息。如果用户提供的登录信息与SAM数据库中的信息匹配,且无其它因素(如登录时间限制)阻止用户登录,则用户能够登录到系统中。需要注意的是,登录过程是由LSA来完成的,而非由SAM模块来完成的。,.,20,为了保证SAM文件的安全,当windows系统在运行时,系统限制用户移动和拷贝SAM文件,也就是用户无法直接访问SAM文件。而windows内核获得并持有一个SAM文件独占访问的文件系统锁,该锁不会被释放,直至系统关机或者出现蓝屏例外为止。,根据上述说明,为了保证口令的安全,用户需要避免选择弱口令,而是选择难破解的口令,如混合大小写字母、数字和特殊符号且超过一定长度的口令。口令的更新策略也是增强口令认证安全性的一种途径,系统会要求用户定期更新口令,以防止口令猜测。,上述机制保证了SAM数据库在文件系统这一级的安全性。然而,数据总是要加载到内存才能处理,因此口令信息也会加载到内存中,这就给了攻击者一个机会来获取口令的哈希值,从而可以进行离线暴力破解。,.,21,4.Linux操作系统的口令文件,由于/etc/passwd文件的权限控制相对较弱,为了更高的安全性,当前流行的做法是在/etc/passwd文件中不存放口令信息,而是将口令信息存放到/etc/shadow文件中,该文件具有更严格的权限控制,防止攻击者获取加密后的口令信息。,.,22,/etc/shadow文件中,每个账户有一条对应的记录,每个记录包括9个字段,按照顺序分别为:(1)账户名。(2)口令密文(3)上次修改口令的日期。(4)口令变更之间的最小天数。(5)强制用户修改口令后,口令的最大有效天数。(6)口令过期前多少天警告用户必须变更口令。(7)口令过期后多少天账户失效。(8)从1970年1月1日开始计算,多少天后帐号取消(9)保留字段,故总结出防范口令攻击的一般性原则:(1)避免使用弱口令;(2)口令组合尽量采用字母、数字、特殊符号(如:%、&、*等),且使用较长口令;(3)避免不同账户使用相同口令;(4)配合使用防木马软件。,.,23,三.访问控制,1.访问控制的基本概念,访问控制模型是安全策略的具体实现,它依据一定的授权规则,对提出的资源访问加以控制。访问控制是网络安全防护技术的主要安全策略之一,其基本任务是防止对资源的非法访问(包括非法用户访问资源和合法用户以未授权的方式访问资源)和保证合法用户合理访问资源。访问控制模型的主要内容包括两个方面:(1)安全策略所涉及的实体(如资源、用户等);(2)组成安全策略的规则。,在访问控制中,实体用主体和客体来描述,而规则则用控制策略来表示,从而构成了访问控制包括三个要素,即:主体、客体和控制策略。(1)主体:发起操作请求的实体,如进程;(2)客体:也称为对象,是主体作用的实体,如文件、设备、进程之类的资源;(3)控制策略:是主体对客体的操作行为集和约束条件集。,.,24,2.访问控制技术,我们重点介绍强制访问控制、自主访问控制和基于角色的访问控制。,.,25,.,26,4.访问控制模型,访问控制模型的理论基础是:状态机模型和信息流模型。前是描述系统处于任何状态是否安全的系统模型。后者是状态机模型的具体化,在这个模型中,信息的传递被抽象成流的形式。,主要有以下几种模型:(1)Bell-LaPadula模型(2)Lattice安全模型(3)Biba模型(4)ClarkWilson模型(5)ChineseWall模型,.,27,四.UNIX操作系统安全,1.身份认证的实现,口令文件是Linux系统中身份认证的重要组成部分.Linux的口令文件为/etc/passwd,该文件是一个文本文件,每一个用户账户在口令文件中有一行对应的记录。/etc/passwd中的每个记录包含以冒号分隔的7个字段,依次分别为:(1)账户名(2)口令密文(3)用户标识(UID)(4)组标识(GID)(5)关于该用户的备注信息,如真实名字,电话号码等信息(6)主目录,通常为/home/username(7)登录成功后启动的Shell,由于/etc/passwd文件的权限控制相对较弱,为了更高的安全性,当前流行的做法是在/etc/passwd文件中不存放口令信息,而是将口令信息存放到/etc/shadow文件中,该文件具有更严格的权限控制,防止攻击者获取加密后的口令信息。,.,28,2.UNIX操作系统的文件系统的一般安全机制,Linux文件系统的安全机制包括:(1)硬件安全保护(如段保护等)(2)用户及口令管理(3)组及口令管理(4)超级用户及口令管理(5)访问控制,UNIX操作系统用户及口令管理的内容包:(1)所有的用户拥有一个唯一的用户标识(UID:UserID(2)UID是一个16位的数字(3)UID连接到了UNIX口令文件(一般位/etc/passwd)以确定UID对应的口令(4)UDI是用户在操作系统合法性及拥有相应权限的唯一凭证(5)UID为0的用户是系统的超级用户,拥有一切权限(6)口令长度一般小于8个字符(7)口令一般用DES加密后存放在安全目录之下(shadowpasswordfile),.,29,在UNIX系统中,每个文件和目的有三组,一组关于拥有者(owner),另一组关于群组用户(group),还有一组是关于其它用户(others)。每一组的权限又分为三个界别:读取(r:read):若该权限设置,就可以读取和访问文件和目录。写(w:write):若该权限设置,就可以修改、创建对应的文件和目录。执行(x:eXecute):若该权限设置,就可执行该文件,或进入对应的目录。,3.UNIX操作系统的文件权限,4.UNIX操作系统的文件权限的管理,UNIX系统中有关查看、修改文件和目录权限的命令包括:ls:使用lsl查看对应的权限chmod修改权限chmod:修改拥有者chgrp:修改组,.,30,5.UNIX操作系统中的常用命令,.,31,五.Windows操作系统安全,1.基本概念,是WindowsNT系统中最基本的安全对象,是用来识别用户或群组,并以此作为用户或组群拥有访问权限的标志。,是一个用来描述一个进程(process)或线程(thread)所拥有权限的数据结构。其内容包了用户名及其安全标识SID、用户群组及其群组安全标识、权限等。,.,32,有两种:任意访问控制列表(DiscretionaryACL)、系统访问控制列表(SystemACL)。前者包含了用户和组的列表,以及相应的权限,允许或拒绝。每一个用户或组在任意访问控制列表中都有特殊的权限。后者是为审核服务的,包含了对象被访问的时间。,包含用户或组的SID及对象的权限.它有两种:允许访问和拒绝访问。拒绝访问的级别高于允许访问。,Windows系统中的任何对象的属性都有安全描述符这部分。它保存对象的安全配置。,.,33,2.Windows网络模型,网络域模型适合于大中型网络。与工作群组模型的分布式资源管理方式,网络域模型采用集中式管理。在网域模型里,由一个主域控制器(Primarydomaincontroller:PDC)负责储存所管辖网络域内的共享账号数据及安全策略数据库。每个工作站必须通过主域控制器的认证后,才能存取域内的资源。域的管理员只需要对网络主控台进行管理,就可以控制各用户的访问权限。通过跨域认证和信任,扩大资源共享范围,从而使网络域模型适合于大型网络环境。,MicrosoftWindows系统在网络设计上支持两种网络模型,一是工作群组(Workgroup)模型,二是网络域(Domain)模型。工作群组模型适合于小型网络,具有相同工作组名称的各工作站可以参与同一个工作群组,各工作站自行维护各自的账号及安全策略数据库,工作群组成员之间可共享某些资源。由于资源管理必须在各工作站上设定,因此对于大规模网络很难实施统一的管理。,.,34,3.windowsNT的安全模型,WindowsNT包括一组构成Windows安全模型的安全组件。这些安全组件称为Windows的安全子系统(WindowsSecuritySubsystem),是WindowsNT系统中安全机制的最重要核心部分。安全子系统的组件在本地安全管理员进程(lsass.exe)的上下文中运行,主要包括:WinlogonGraphicalIdentificationandAuthenticationDLL(GINA)LocalSecurityAuthority(LSA)SecuritySupportProviderInterface(SSPI)AuthenticationPackagesSecuritysupportprovidersNetlogonServiceSecurityAccountManager(SAM),安全子系统中各组件的关系如图8-5-1所示。,.,35,WindowsNT通过安全子系统建立一个系统存取令牌SAT的大致流程如图8-5-3所示。,.,36,4.windowsNT的账号与群组管理,为简化在工作群组或是网域里各账号的使用权限的管理,WindowsNT使用了群组的观念,把同类型使用者账号归成一个群组。这样只要修改该群组所拥有的权限,在群组内的使用者账号则自动使用该群组的权力。然而应用于不同网络模型的需求,群组可分为区域群组(LocalGroup)及全域群组(GlobalGroup)两种。所谓区域群组即是该群组所设定的权限只能应用在本地计算机上,而全域群组则是可以应用在同一个网域里的各工作站上。,在安装WindowsNT系统时,系统会自动建立两个账号,这两账号有着不同的权限。一为Administrator账号,它拥有最高的权限,管理计算机/网域内的所有账号,能存取系统或使用者的所有档案,对系统的操作及安全有完全的控制权。另一个则是Guest账,供来宾临时访问计算机或网域。它只能读取管理者允许的资源,无法对任何档案做写入动作。,.,37,5.Windows的口令保护,WindowsNT系统在处理使用者密码时分成LANManager口令及WindowsNT口令并存在SAM里。LANManager口令是为了要与以前的系统兼容而存下来的,但由于其产生方式不够安全较易破解,因此后来增加了WindowsNT口令以加强全度。在LANManger处理口令过程中,若使用者输入的口令不足14字节则自动补上0 x00,再把14字节的口令拆成两部份各自转换成DES密钥来加密一个固定的8-bit的幻数(magicnumber),所得的两组8个字节(64位)加密值就结合成所谓的LANManager口令。该过程如图8-5-4所示。,.,38,6.Windows认证,在WindowsNT系统上是使用registry里HKEY_LOCAL_MACHINESystemCurrentControlSetcontrolLSALMCompatibilityLevel值来控制使用的认证方式。其各数值表示的意义如下:0:使用LMresponse及NTLMresponse;不使用NTLMv21:若有协商则采用NTLMv2认证方式2:只采用NTLM认证方式3:只采用NTLMv2认证方式4:主域服务器拒绝LMresponses5:主域服务器拒绝LM及NTLMresponses,只接受NTLMv2。,WindowsNT系统提供一种称为ServerMessageBlock(SMB)的应用协议来提供登入网域存取的功能。而SMB所支持的认证协议包括下面四种:LANManager(LM)challenge/responseWindowsNTLANManagerchallenge/response(NTLM)WindowsNTLANManagerchallenge/responseVersion2.0(NTLMv2)Kerberosv5,.,39,7.Windows的资源共享,Windows95/98系统在资源共享存取控制方面分两种安全等级。一是共享级访问控制(Share-LeverSecurity),这是内定采用的方式,就是提供口令就可以访问共享的资源。另外一种是用户级访问控制(User-LeverSecurity)。在这种设定下,用户必须在远程计算机的认证服务器上(远程计算机所指定的另一台WindowsNT系统)拥有账号才能够访问共享资源。对于共享级访问控制环境,所设定的密码不分大小写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论