计算机系统与网络安全:第8章 计算机系统安全(操作系统安全)_第1页
计算机系统与网络安全:第8章 计算机系统安全(操作系统安全)_第2页
计算机系统与网络安全:第8章 计算机系统安全(操作系统安全)_第3页
计算机系统与网络安全:第8章 计算机系统安全(操作系统安全)_第4页
计算机系统与网络安全:第8章 计算机系统安全(操作系统安全)_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

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

文档简介

2022/11/2UNIX操作系统安全技术实例分析操作系统安全第8章计算机系统安全(操作系统安全)Windows操作系统安全技术实例分析操作系统加固2022/11/2

计算机系统的层次结构

从计算机系统的组成来看,包括硬件、操作系统内核、操作系统、服务和应用程序五个部分应用程序服务操作系统操作系统内核硬件计算机系统的层次结构2022/11/2硬件安全保护技术

如果攻击者可以控制中断矢量表,就可以控制程序的执行,从而破坏计算机系统的正常处理过程。

TRAP#n中断中断矢量表内存中断矢量中断句柄中断处理过程2022/11/2硬件安全保护技术

大多数CPU的中断有优先权之分,使得更高优先权的中断可以抢占正在执行的中断,从而中止当前的中断句柄。在第一级的中断处理程序必须拥有自己的堆栈,以便在处理更高级别的中断前保存CPU的执行状态。当中断处理完毕以后,CPU将恢复到以前的状态,继续执行中断处理前正在执行的指令。这种情况如果处理不正确,就会带来安全威胁。2022/11/2硬件安全保护技术(续)除了中断处理机制意外,许多处理器也提供了特权级保护。例如,Intel80386/80486上的保护模式就提供了四种特权级:0操作系统核心1操作系统其余部分2I/O驱动程序部分3应用软件2022/11/2OSSecurityKeyPointsOS安全概念OS安全访问OS安全映象OS安全机制2022/11/2引用监视器

引用监控器(ReferenceMonitor):是一种访问控制,用于协调主体对客体的访问。因此,引用监视器能够识别系统中的程序,控制其它程序的运行,负责控制对系统资源的访问。

引用监视器的特点包括:是控制对设备、文件、内存、进程等对象进行访问的一组访问控制策略;是所有访问请求的唯一入口;自身必须是正确和安全的;应该足够小,使得对引用监视器的验证容易进行。

2022/11/2引用监视器(续)

2022/11/2安全内核

安全内核(SecureKernel):安全内核是实现引用监视器概念的可信计算基的硬件、固件和软件的集合体,是系统中与安全性的实现有关的部分,包括引用验证机制、授权(authorization)机制和授权的管理机制等成分。安全内核的特点包括:必须对所有访问进行验证和授权;自身必须被保护不被修改;自身的安全性应该是可证且安全的。

2022/11/2安全内核(续)

引用验证机制:J.P.Anderson把引用监控器的具体实现称为引用验证机制引用验证机制是实现引用监控器思想的硬件和软件的组合。引用验证机制需同时满足以下3个原则:(1)必须具有自我保护能力;(2)必须总是处于活跃状态;(3)必须设计得足够小,以利于分析和测试,从而能够证明它的实现是正确的。2022/11/2可信计算基

可信计算基(TCB:TrustedComputingBase):是一个计算机系统中的全部保护机制(包括硬件、固件和软件),他们结合起来为系统提供全局统一的访问控制策略。在某些系统中,TCB等同于安全内核,即TCB是操作系统的一部分,是整个系统安全性的基础。2022/11/2可信计算基(续)引用监视器是一个抽象的概念安全内核(包括引用验证机制)是引用监视器的实现TCB包含了安全内核以及其他保护机制。2022/11/2可信计算基(续)

2022/11/2操作系统安全性的评估方法

(1)测试(2)形式化验证(3)非形式化验证2022/11/2一、操作系统安全概念安全的门户和攻击的对象安全的突破点系统安全的基础运行安全的平台用户安全的界面系统恢复的基础2022/11/21.操作系统安全的特点程序:一组面向机器和用户的程序表格:若干支持运行的表格接口:用户程序和计算机硬件之间的接口资源:软、硬件、用户、接口、数据、网络管理:管理所有系统资源,包括用户保护和控制:对资源进行保护和控制2022/11/2操作系统安全的特点(续)多道程序与资源共享并行执行与相互制约资源分配与资源调度开放性与规范性系统调用与核心编程系统漏洞与缺陷外部攻击(恶意程序、远程调用)2022/11/22.操作系统的安全漏洞系统设计缺陷(并发程序缺陷、隐蔽通道、死区代码、调试程序块…)隐蔽调用(BIOS替换、矢量、预留接口…)调用陷阱(各类调用形成的隐患)I/O缺陷(I/O通道在OS的安全限制外)访问策略(保护与共享、隔离与连通矛盾)安全机制限制(决策、时间、次数、开销)通用性陷阱(通用性的特权)2022/11/23.操作系统的安全观点设计者观点:安全机制如何从一开始就加入操作系统?操作系统中哪些资源需要保护?如何建立最可靠的安全机制?如何分层次、分步骤地实现安全机制?如何对安全操作系统进行评价?需要提供多种安全级别以供选择2022/11/2操作系统的安全观点(续)使用者观点:什么样的安全机制适合于我?建立安全机制的费用、价值和时间如何保护操作系统的资源?系统安全机制是否可信?难度如何?系统有没有漏洞?如何知道?对存在的安全漏洞应当采取的措施2022/11/2操作系统的安全观点(续)应用的观点系统安全的折衷系统安全的无缝连接各种安全机制之间的冲突系统可使用不止一种安全机制安全机制与系统管理结合2022/11/2操作系统的安全观点(续)观点的误区系统的绝对安全总是采用最高安全级别最安全的系统也是最难使用的增加安全性要增加费用,降低性能或速度增加更多的安全检测检测点越多、检测程度越高,代价越高2022/11/2二、操作系统映象:两类关键结构e.g.

磁盘存储结构系统分区结构文件系统结构文件分配表目录索引表操作系统在内存中的结构映象操作系统在磁盘中的结构映象e.g.PCB/DTB表格参数数据区中断矢量驱动程序共享程序2022/11/21.操作系统的保护实体概念(what,which,why,where,how)实体:计算系统中的被保护体主体:使用实体的活动、事务与权者敏感实体:被保护实体(能够影响系统正常工作的部位和过程,使系统混乱和停止运行的关键点)共享实体是安全关键因素(e.g.内存、文件、硬设备、数据结构及保护机制本身)2022/11/22.关键结构的安全漏洞

两种关键结构的暴露性规范性引发的通用访问访问方式层出不穷软件工具(汇编asm,DM…)调试工具(Debug,Codeview…)正常编程(Syscall,API/DLL等)非正常编程(Primitive,未公布的接口函数,强制转接等)2022/11/2三、OSSafeAccessAccessLevel:Intruderport原语(内部模块,仅限系统设计者使用)系统调用(内部调用,程序性…)命令调用(操作+程序,内外命令…)宏调用(shell,宏结构,脚本…)应用程序接口API(扩展性调用)重构性调用(DLL,Lab,Units,Obj…)2022/11/21.OSSyscallSysCallChange(文件替换)InterruptChangeScript编程(含Shell等)2022/11/2OSInterruptChangeSeg:Off的表示INT00:00×4:00-03INT10:40×4:40-43INT20:80×4:80-83INTnn:nn×4MemorySeg:Off003FF00000系统参数区中断矢量区木马程序……xxxx:yyyyxxxx:yyyy004002022/11/2四、OSSafetyEngines与OS本身密切相关的基本安全机制:

用户鉴别机制内存保护机制文件保护机制存取控制机制恶意程序防御机制2022/11/2OSSafetyEngines依赖于硬件结构机制间必须相互配合,形成整体安全性安全技术与其配合可形成多种安全机制每类安全机制可细分为若干子类不同的系统安全机制实施不尽相同必须注意系统间安全机制的冲突2022/11/2OSSafetyEngines管理机制操作系统执行机制硬件体系结构配合处理器管理作业、任务调度机制、进程、线程调度机制流水线、超流水线机制、超标量机制、CPU运行模式、实模式存储器管理分区、分段、分页CPU运行模式、实模式I/O设备管理虚拟存储器管理、设备队列、Spooling、设备文件、虚拟设备保护模式、寻址模式、总线接口与控制、I/O接口控制文件管理文件系统、树型结构、文件及软件安全系统配置、PnP技术、磁盘、磁带、光盘系统界面窗口管理窗口管理、人机界面、程序接口、命令接口、环境接口磁盘结构、存储结构、视频模式、视频切换、显示存储区映射等机制2022/11/21.OSSafetyStrategy按照实现复杂度递增,按照安全程度递减:物理上分离:进程使用不同的物理实体时间上分离:具有不同安全要求的进程在不同的时间运行。逻辑上分离:用户操作彼此不相互干扰,程序存取范围限定。密码上分离:进程以一种其他进程不了解的方式隐藏数据和计算。2022/11/2OSSafetyStrategy前两种直接有效,但会导致资源利用率下降各种安全分离策略可以彼此结合避免安全机制引入的系统负担和开销必须允许具有不同安全需求的进程并发执行2022/11/2OS安全保护层次以难度和安全性能递增顺序:1)无保护

敏感进程运行于独立的时间环境。2)隔离保护

并发运行的进程彼此不会感觉到对方的存在,也不会影响干扰对方。3)共享或非共享保护

设置严格的实体界限,公用实体对所有用户开放,私有实体只为属主使用。2022/11/2OS安全保护层次(续)4)存取权限保护。检查每次存取的有效性,在特定用户和特定实体上实施存取控制,保证只有授权的存取行为发生。5)权能共享保护。存取权限共享的扩展,系统为实体动态地建立共享权限,共享程度依赖于属主或者实体。6)实体使用限制保护。不仅限制对实体的存取,也限制存取后对实体的使用。如文件可被查看但不能被复制。2022/11/2OS安全保护层次(续)安全控制粒度(granularity)按照不同的安全需求和实体类型,决定安全控制的程度。例如,对数据的存取,可以分别控制在数位、字节、单元、字、字段、记录、文件或者文卷一级。2022/11/23.内存保护机制1)为什么保护?多道程序技术:若干程序共存内存,彼此互不影响堆栈访问技术:地址增长与主存地址增长不同。区域保护技术:系统与用户运行区域分开与保护。2022/11/2内存保护机制(续)2)怎样保护?系统硬件保护:如ECC,CPU运行模式,RAM分区操作系统保护:根据硬保护机制保护存储器安全。常用保护技术:界址(fence)、界限寄存器(boundregister)重定位、特征位、分段和分页、虚存机制2022/11/2内存保护机制(续)3)内存攻击与保护技术内存映象窃取

缓冲区内容截取内存跟踪技术存储内容分析技术存储器锁定技术扩展存储器使用技术2022/11/24.文件保护机制文件系统是OS的重要部分和特色文件系统结构极大地影响OS的性能文件系统是OS设计的基础与难点文件系统在磁盘上的结构是攻击的对象文件存储是易毁的(随机性、虚拟性、电磁性、可覆盖性)2022/11/2文件保护机制(续)文件保护机制分为:对文件系统本身的保护对文件存储载体的保护多用户OS必须提供最小的文件保护机制,防止用户有意或者无意对系统文件和其他用户文件的存取或修改,用户数越多,保护模式的复杂性也越大。2022/11/2文件保护机制(续)1)一般性有无保护基于可信用户的保护原则。对于特定文件和敏感文件,采用口令保护2)分组保护标识一组具有某些相同特性的用户,分组定义存取权限(一个有限集合)。明确组隶属问题(一个用户不能属于多个组)以避免二义性。每个用户只能属于特定的组,但可拥有多个帐号。(如UNIX,Windows)3)单独许可保护允许用户对单个文件进行保护(访问控制)进行临时权限设置(口令机制)2022/11/25.访问控制机制1)访问控制(AccessControl):也称存取控制,2)为什么要进行访问控制?防止合法用户对系统资源的滥用。防止非法用户欺骗或乔装合法用户用户认证和保护机制本身也需保护3)如何进行访问控制?

权限标记:记号、记录授权组合:权能、转让权限检查:识别、监控存取验证:检测、辨别违规处理:保护、追踪2022/11/2访问控制机制实施目录控制表(CatalogueCtrl)

读、写、执行授权、撤权禁止用户直接对目录存取目录控制表由每个主体建立,是单个主体能存取的实体表。存取控制表(AccessControllist)记录所有可存取该实体的主体及存取方式的一类数据结构。每个实体一张表,不同于目录表。2022/11/2访问控制机制实施(续)

存取控制矩阵(accesscontrolmatrix)矩阵的行表示主体,列表示实体,每个记录则表示主体对实体的存取权限集。

权能(capability)

权能:一个提供给主体对实体具有特定权限的不可伪造的标志。

原理:主体可以建立新的实体,并指定这些实体上允许的操作。2022/11/2访问控制机制实施(续)权能必须有凭证凭证是不可伪造的权能必须存放系统拥有凭证而不直接将凭证给用户用户通过OS发出特定请求建立权能权能可以被收回2022/11/2访问控制机制实施(续)面向过程的访问控制既控制对某个实体的存取主体,也控制对该实体的存取方式面向过程的保护实现了信息隐藏对实体控制的实施手段仅由控制过程所知缺点:当实体频繁调用时会影响系统速度在保护功能和系统开销间平衡2022/11/26.

恶意程序防御机制恶意程序防御机制是一类新的、在原操作系统设计时并未考虑的安全机制。恶意程序是所有含有特殊目的、非法进入计算机系统并待机运行、能给系统或者网络带来严重干扰和破坏的程序的总称。一般可以分为独立运行类(细菌和蠕虫)和需要宿主类(病毒和特洛依木马)。2022/11/2恶意程序防御机制(续)恶意程序突破OS早期防御策略早期OS安全模型存在漏洞恶意与"合法"机制的交叉融合程序的变异性、多形性和隐蔽性恶意程序高度依赖于其运行OSOS防御措施因系统不同而异病毒成为恶意程序代名词防御、检测、消除、恢复2022/11/21)防御机制

病毒生存链

运行特征、条件和过程进入,运行,驻留(潜伏)感染(传播),激活,破坏防御措施

针对病毒的生存链采取安全措施设法打断生存链中的任何环节防御机制与其他安全机制配合2022/11/21)防御机制(续)病毒针对OS的目标:敏感数据结构:OS在内存中的映象:篡改、删除、替换、运行出错OS在磁盘中的映象:篡改文件结构、指针、分配表、目录表防御机制存储映象、数据备份、修改许可区域保护、动态检疫等2022/11/21)防御机制(续)

存储映象:保存OS关键数据结构在内存中的映象数据备份:备份OS关键文件和存储结构修改许可:与访问控制配合的一种认证机制区域保护:对关键数据区、参数区、内核的禁写动态检疫:监视敏感操作、活动企图,活动记录2022/11/22)检测、消除与恢复机制OS通常不提供病毒检测和消除功能,留给与OS配套的软件实现。理论证明:不存在通用的检测计算机病毒的方法和程序,而且大多数计算机病毒不能被精确检测。由于操作系统的复杂性,系统恢复是一项非常困难的工作,对受损和恢复后的系统可信度的验证,也是正待解决的问题。独立软件套件(反病毒软件)从另一个方面保证了系统的安全性。2022/11/22)检测、消除与恢复机制(续)问题:正常操作与不正常操作的区别合法操作与非法操作的区别漏报、误报、错报允许程度检测的正确性与可信性清除操作的副作用OS版本兼容性问题系统硬、软件版本的兼容性受损系统的恢复难度和程度2022/11/27.安全操作系统1)安全OS与OS安全的区别由OS核心提供安全支持基于安全模型建立的OS

随安全需求升级的OS

可由用户自行配置的安全平台一个可信赖的专用OS2022/11/22)设计者观点了解系统的安全性分布建立一个保密环境下的模型研究达到安全性的不同方法选择一种实现该模型的方法设计准确地表达了模型代码准确地表达了设计验证设计或实现是可信的2022/11/23)安全OS设计

专门针对安全性而设计的操作系统将安全特性加到目前的操作系统中

四个方面的问题:建立模型:安全特性的抽象描述系统设计:模型、共享与服务可信度检测:系统实现2022/11/2为什么要有“补丁”?原来的OS存在程序漏洞,需要补上。原来的OS存在错误,需要覆盖。原来的OS缺乏某种功能,需要添加。副作用:可能会破坏已有的系统模块化特性加入补丁后的内核安全验证很困难补丁本身的安全性和副作用4)安全补丁设计2022/11/2UNIX操作系统安全技术实例分析操作系统安全第8章计算机系统安全(操作系统安全)Windows操作系统安全技术实例分析操作系统加固2022/11/2UNIXSefetyCase早期的UNIX并不安全应用基于相互信任的环境不采用强保护机制“有问题”的超级权限(超级用户)常规UNIX,C1级OSF/1,B1级USL的SVR4/ES,B2级2022/11/2UNIX操作系统的文件系统的一般安全机制UNIX文件系统的安全机制包括:-硬件安全保护(如段保护等)-用户及口令管理-组及口令管理-超级用户及口令管理-访问控制2022/11/2UNIX操作系统的文件系统的一般安全机制(续)

UNIX操作系统用户及口令管理的内容包括:-所有的用户拥有一个唯一的用户标识(UID:UserID-UID是一个16位的数字-UID连接到了UNIX口令文件(一般位/etc/passwd)以确定UID对应的口令-UDI是用户在操作系统合法性及拥有相应权限的唯一凭证-UID为0的用户是系统的超级用户,拥有一切权限-口令长度一般小于8个字符-口令一般用DES加密后存放在安全目录之下(shadowpasswordfile)2022/11/2UNIX操作系统的文件权限

在UNIX系统中,每个文件和目录有三组权限:拥有者(owner)群组用户(group)其他用户(others)每一组的权限又分为三个界别:-读取(r:read) :如果该权限设置,就可以读取和访问文件和目录。-写(w:write):如果该权限设置,就可以修改、创建对应的文件和目录。-执行(x:eXecute):如果该权限设置,就可以执行该文件,或进入对应的目录。2022/11/2UNIX操作系统的文件权(续)

如果对应的位为1,则表示有权限,否则没有。如图8-4-2,文件的权限为111100100,转化为八进制为744(对应的字符格式为:-rwxr--r--),表示拥有者拥有读、写和执行的权限,组和其他用户只有读的权限

2022/11/2S权限

为了管理的方便,UNIX操作系统还增加了一个S权限,并设置了以下三种权限:-set-user-id(SUID):如果设定了该权限,当文件被执行时,将以文件的拥有者的身份执行,而不是普通用户的身份。该权限对于不可执行的文件或目录无效。-set-group-id(SGID):与set-user-id相同,当文件被执行时,将以文件的组的身份来执行,而不是一般的用户身份。-sticky(S):如果对目目录设置该权限,基本该目录可以被其他用户读写,但该目录下的文件和目录只有拥有者才有权删除或更名。

2022/11/2S权限(续)

与上述权限的计算相似,如果对应位为1表示有相应的权限。例如,如果文件的权限对应的八进制数为4444(对应的字符表示为-r-s--x--x),则拥有者具有读的权限,组和其他用户只具有执行的权限。同时,当组和其他用户执行该文件时,将以拥有者的身份执行。

2022/11/2UNIX操作系统中目录的权限

每个用户有一个主目录(HomeDirectory)。用户必须拥有正确的文件许可权限才能在目录下创建、修改、删除和查阅文件和子目录。-读取(r:read) :可以查找目录中的文件和子目录。-写(w:write):可以从目录中删除和修改文件和子目录。-执行(x:eXecute):可以进入对应的目录。必须拥该权限才能打开目录中的文件。2022/11/2UNIX操作系统的文件权限的管理

UNIX系统中有关查看、修改文件和目录权限的命令包括:-ls:使用ls–l查看对应的权限-chmod修改权限-chmod:修改拥有者-chgrp:修改组2022/11/2

UNIX操作系统的文件的初始权限的确定

文件或目录的初始权限是由创建者的用户掩码(umask)来确定的。umask是一个9位二进制数对应的八进制数,例如:当umask=022的用户创建一个文件时,其初始权限为777XORumask=777XOR022=755。2022/11/2UNIX操作系统中的常用命令

-ps 进程列表-netstat 网络服务状态-tcpdump 网络数据包捕获-kill 进程管理-chmod 修改文件、目录权限-chgrp 修改文件、目录的组-chown 修改文件、目录拥有者-ifconfig 配置网络端口-ping 网络测试(ping-R)-traceroute: 路由跟踪-nslookup 域名查询-umask: 修改用户掩码 2022/11/2UNIX操作系统安全技术实例分析操作系统安全第8章计算机系统安全(操作系统安全)Windows操作系统安全技术实例分析操作系统加固2022/11/2WinNTSafetyCaseWinNT安全级别为C1级安全标识符SID访问令牌安全描述符访问控制列表访问控制项2022/11/2Windows操作系统安全

MicrosoftWindows系列操作系统大致上可分为Windows3.1/95/98/ME及WindowsNT/2000/XP/2003两个系列。前者主要针对一般的用户,而后者则针对那些对安全性和稳定性有更高要求的用户。2022/11/2基本概念

(1)安全标识(SecurityIdentifiers:SID)安全标识SID是WindowsNT系统中最基本的安全对象,它是用来识别用户或群组,并以此作为用户或组群拥有访问权限的标志。当新建一个账号时,系统会为该帐号自动分派一个SID;当用户登录系统时,系统就会从安全数据库中取出对应的SID,并将其存放到系统访问令牌中。在随后的存取操作中,就用SAT中的的SID来识别该用户。SID永远都是唯一的,由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。例如S-1-5-21-1763234323-3212657521-1234321321-500。2022/11/2基本概念(续)(2)系统访问令牌(SystemAccessTokens:SAT)系统访问令牌是一个用来描述一个进程(process)或线程(thread)所拥有权限的数据结构。其内容包括用户名及其安全标识SID用户群组及其群组安全标识权限等。SAT是程序的访问系统通行证,并以此作为用户的认证和访问控制的标识。2022/11/2基本概念(续)(3)安全描述符(Securitydescriptors:SD)Windows系统中的任何对象的属性都有安全描述符这部分。它保存对象的安全配置。(4)访问控制列表(Accesscontrollists:ACL):访问控制列表有两种:任意访问控制列表(DiscretionaryACL):包含用户和组的列表,以及相应的权限。每一个用户或组在任意访问控制列表中都有特殊的权限。系统访问控制列表(SystemACL):为审核服务,包含对象被访问时间。2022/11/2基本概念(续)(5)访问控制项(AccessControlEntries:ACE)访问控制项(ACE)包含了用户或组的SID以及对象的权限。访问控制项有两种:允许访问拒绝访问拒绝访问的级别高于允许访问2022/11/2Windows网络模型

MicrosoftWindows系统在网络设计上支持两种网络模型:工作群组(Workgroup)模型网络域(Domain)模型。2022/11/2Windows网络模型

工作群组(Workgroup)模型工作群组模型适合于小型网络,具有相同工作组名称的各工作站可以参与同一个工作群组各工作站自行维护各自的账号及安全策略数据库工作群组成员之间可共享某些资源由于资源管理必须在各工作站上设定,因此对于大规模网络很难实施统一的管理。2022/11/2Windows网络模型

网络域(Domain)模型。网络域模型适合于大中型网络与工作群组模型的分布式资源管理方式,网络域模型采用集中式管理在网域模型里,由一个主域控制器(Primarydomaincontroller:PDC)负责储存所管辖网络域内的共享账号数据及安全策略数据库每个工作站必须通过主域控制器的认证后,才能存取域内的资源域的管理员只需要对网络主控台进行管理,就可以控制各用户的访问权限通过跨域认证和信任,扩大资源共享范围,从而使网络域模型适合于大型网络环境。

2022/11/2WindowsNT的安全模型

WindowsNT包括一组构成Windows安全模型的安全组件。这些组件确保了应用程序不能在没有身份验证和授权的情况下对资源进行访问。这些安全组件称为Windows的安全子系统(WindowsSecuritySubsystem),是WindowsNT系统中安全机制的最重要核心。2022/11/2WindowsNT的安全模型(续)安全子系统的组件在本地安全管理员进程(lsass.exe)的上下文中运行,主要包括以下组件:-Winlogon -GraphicalIdentificationandAuthenticationDLL(GINA)-LocalSecurityAuthority(LSA)-SecuritySupportProviderInterface(SSPI)-AuthenticationPackages(AP)-Securitysupportproviders(SSP)-NetlogonService(Netlogon)-SecurityAccountManager(SAM)

2022/11/2安全子系统中各组件的关系

2022/11/2WindowsNT的安全模型(续)

(1)windows登录(Winlogon):Winlogon调用GINADLL,并监视安全警告序列

(Secure

Attention

Sequence:SAS)。SAS是一组组合键,默认情况下为Ctrl-Alt-Delete。它的作用是确保用户交互式登录时输入的信息被系统所接受,而不会被其他程序所获取。因此,使用“安全登录”进行登录,可以确保用户的帐号和密码不会被攻击者盗取。Winlogon启动时,在注册表中查找以下键值:\HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon如果存在GinaDLL键,Winlogon将使用这个DLL如果不存在该键,Winlogon将使用默认值MSGINA.DLL。2022/11/2WindowsNT的安全模型(续)

(1)windows登录(Winlogon)(续):要启用“安全登录”的功能,可以运行“control

userpasswords2”命令打开“用户帐户”对话框,选择“高级”选中“要求用户按Ctrl-Alt-Delete”选项后确定即可以后,在每次登录对话框出现前都有一个提示,要求用户按Ctrl-Alt-Delete组合键,目的是为了在登录时出现WindowsXP的GINA登录对话框,因为只有系统本身的GINA才能截获这个组合键信息。而如前面讲到的GINA木马,会屏蔽掉“安全登录”的提示,所以如果“安全登录”的提示无故被屏蔽也是发现木马的一个前兆。2022/11/2WindowsNT的安全模型(续)

2022/11/2WindowsNT的安全模型(续)(2)界面识别与认证(GraphicalIdentificationandAuthentication:GINA)动态链接库

GINA提供一个交互式的界面为用户登录提供认证请求GINA被设计成一个独立的模块开发人员也可以用一个更加强有力的认证方式(指纹、视网膜)替换内置的GINADLL。2022/11/2WindowsNT的安全模型(续)

(3)本地安全管理员(LocalSecurityAuthority:LSA)LSA是WindowsNT安全系统的核心功能模块,它的主要功能是检查用户登录信息,并依据安全策略为用户生成系统访问令牌(SystemAccessToken:SAT)。它负责以下任务:-调用所有的认证包:检查在注册表\HKLM\SYSTEM\CurrentControlSet\Control\LSA下AuthenticationPAckages下的值,并调用该DLL进行认证(MSV_1.DLL)。在4.0版里,WindowsNT会寻找\HKLM\SYSTEM\CurrentControlSet\Control\LSA下所有存在的SecurityPackages值并调用。2022/11/2WindowsNT的安全模型(续)-重新找回本地组的SIDs和用户的权限。-创建用户的访问令牌。-管理本地安装的服务所使用的服务账号。-储存和映射用户权限。-管理审核的策略和设置。-管理信任关系。2022/11/2WindowsNT的安全模型(续)

(4)安全支持提供者的接口(SecuritySupportProvideInterface:SSPI)

安全支持提供者接口SSPI遵循RFC2743和RFC2744的定义,提供一些安全服务的API,为应用程序和服务提供请求安全的认证连接的方法。2022/11/2WindowsNT的安全模型(续)(5)认证包(AuthenticationPackage:AP):认证包可以为真实用户提供认证。通过GINADLL的可信认证后,认证包返回用户的SIDs给LSA,然后将其存放在用户的访问令牌中。2022/11/2WindowsNT的安全模型(续)(6)安全支持提供者(SecuritySupportProvider:SSP):安全支持提供者是以驱动的形式安装的,能够实现一些附加的安全机制,默认情况下,WindowsNT安装了以下三 种:-Msnsspc.dll:微软网络挑战/反应认证模块-Msapsspc.dll:分布式密码认证挑战/反应模块,该模块也可以在微软网络中使用-Schannel.dll:该认证模块使用某些证书颁发机构提供的证书来进行验证,常见的证书机构比如Verisign。这种认证方式经常在使用SSL(SecureSocketsLayer)和PCT(PrivateCommunicationTechnology)协议通信的时候用到。2022/11/2WindowsNT的安全模型(续)(7)网络登录(Netlogon):网络登录服务必须在通过认证后建立一个安全的通道。要实现这个目标,必须通过安全通道与域中的域控制器建立连接,然后,再通过安全的通道传递用户的口令,在域的域控制器上响应请求后,重新取回用户的SIDs和用户权限。

2022/11/2WindowsNT的安全模型(续)(8)安全账号管理者(SecurityAccountManager:SAM):SAM是存储帐户信息的数据库,并为本地安全管理员(LSA)提供用户认证。SAM保存了注册表中\HKLM\Security\Sam中的一部分内容。不同的域有不同的Sam,在域复制的过程中,Sam包将会被拷贝2022/11/2WindowsNT的安全模型(续)在WindwosServer2003中,安全子系统还包括安全套接层服务(SSL)和Kerberose认证等。这些组件以动态链接库(DLL)的形式提供。2022/11/2WindowsNT的安全模型(续)Windows及WindowsNT系列操作系统中的安全组件安全组件描述netlogon.dll这是

NetLogon服务,它维护着计算机到域控制器的安全通道。它通过安全通道将用户的凭据传递到域控制器,并返回此用户的安全标识符和用户权限。在WindowsNTVersion4.0中,NetLogon是主域控制器和备份域控制器的复制协议;在

WindowsServer2003中,NetLogon服务使用

DNS将名称解析到域控制器的

IP地址。msv1_0.dll这是NT局域网管理器(NTLANManager:NTLM)的身份验证协议。此协议对不使用

Kerberos身份验证的客户端进行身份验证。schannel.dll这是安全套接字层

(SSL)身份验证协议。此协议在一个加密的通道而不是安全性较低的通道上提供身份验证。kerberos.dll这是

Kerberos5身份验证协议kdcsvc.dll这是

Kerberos密钥分发中心

(KDC)服务,此服务负责将授权票证的票证

(TGT)授权给客户端lsasrv.dll这是实施安全策略的

LSA服务器服务samsrv.dll这是SAM,它存储了本地安全帐户、实施本地存储的策略并支持APIntdsa.dll这是目录服务模块,它支持WindowsServer2003复制协议和LDAP并管理数据的分区secur32.dll这是将所有组件保存在一起的多身份验证提供程序2022/11/2WindowsNT的安全模型(续)WindowsNT通过安全子系统建立一个系统存取令牌SAT的大致流程

2022/11/2WindowsNT的安全模型(续)(1)登录请求:用户按下Ctrl+Alt+Del,激活Winlogon程序进行登录进程系统。(2)传递口令信息:用于输入账号和口令后,Winlogon产生口令的哈希值并传送给安全子系统中的本例安全管理员LSA进行处理。(3)核对帐号信息:LSA利用LsaLogonUser系统调用启动对应的认证程序(即认证包)以进行核对账号及密码哈希值。(4)认证:认证程序依据SAM,核对账号及密码哈希值。2022/11/2WindowsNT的安全模型(续)(5)创建安全识别码:如果认证成功,SAM则回传用户访问系统的安全标识(SecurityIdentifier:SID)以及所属群组的安全识别码;否则调用其它认证程序处理。(6)创建登录会话:认证程序建立一个登录会话(logonsession),并把该登录会话及安全识别码交给LSA处理。(7)创建系统访问令牌:如果登录成功,则系统访问令牌SAT将被建立,并回传给登录进程处理;如果登录失败,登录进程将被删除用户登录信息,并向用户发送登录错误信息。2022/11/2WindowsNT的安全模型(续)(8)创建Win32程序:如果登录成果,登录进程调用Win32子系统(Win32Subsystem),为用户创建一个Win32程序,并赋予该程序对应的系统访问令牌。(9)执行Win32程序;Win32子系统执行程序管理器,以便完与用户的交互。2022/11/2WindowsNT的账号与群组管理

在安装WindowsNT系统时,系统会自动建立两个账号,这两个账号有着不同的权限。一为Administrator账号,它拥有最高的权限,管理计算机/网域内的所有账号,能存取系统或使用者的所有档案,对系统的操作及安全有完全的控制权。另一个则是Guest账号,供来宾存取计算机或网域之用。它只能读取管理者允许的资源,无法对任何档案做写入动作。2022/11/2WindowsNT的账号与群组管理(续)为了简化管理在工作群组或是网域里各账号的使用权限,WindowsNT使用了群组的观念把同类型使用者账号归成一个群组。这样只要修改该群组所拥有的权限,在群组内的使用者账号则自动使用该群组的权力。然而应用于不同网络模型的需求,群组可分为区域群组(LocalGroup)及全域群组(GlobalGroup)两种。所谓区域群组即是该群组所设定的权限只能应用在本机计算机上;而全域群组则是可以应用在同一个网域里的各工作站上。2022/11/2Windows的口令保护

对于Windows95/98,用户口令信息存放在Windows目录下的.pwl文件里。例如,对于一个叫做guest的用户,其口令就会存放在文件guest.pwl中。当然,.pwl文件里的内容都用RC4算法进行加密。但是,由于这类文件没有访问权限的限制,因此攻击者可以获得这些文件后,采用蛮力破解的方式获得其中的用户口令。2022/11/2Windows的口令保护(续)

与Windows95/98相比,WindowsNT系统对口令的保存进行了改进,用户口令及相关信息不是保存在文件中,而是储存在注册表的HKEY_LOCAL_MACHINE\SAM中。系统管理者除了可以使用注册表管理工具regedt32.exe修改其权限限制来读取其内容外,也不能读取其中的内容。2022/11/2Windows的口令保护(续)在%SystemRoot%\SYSTEM32\CONFIG\SAM文件也有一份对应文件。但是,由于该文件被系统锁定,因此用户依然无法读取其中的内容。但是,NT4.0系统安装后的口令备份文件存放在%SystemRoot%\\REPAIR\SAM,管理员可以直接读取其中的内容。因此,攻击者如果获得了该文件,也可以采用蛮力破解的方式获得用户口令。2022/11/2Windows的口令保护(续)WindowsNT系统在处理使用者密码时会分成LANManager口令及WindowsNT口令并储存在SAM里。LANManager口令是为了要与以前的系统兼容而保存下来的,但由于其产生方式不够安全较易破解,因此后来增加了WindowsNT口令以加强安全度。在LANManger处理口令过程中,若使用者输入的口令不足14字节则自动补上0x00,再把14字节的口令拆成两部份各自转换成DES密钥来加密一个固定的8-bit的幻数(magicnumber),所得的两组8个字节(64位)加密值就结合成所谓的LANManager口令。2022/11/2Windows的口令保护(续)

2022/11/2Windows认证

WindowsNT系统提供一种称为ServerMessageBlock(SMB)的应用协议来提供登入网域存取的功能。而SMB所支持的认证协议包括下面四种:-LANManager(LM)challenge/response-WindowsNTLANManagerchallenge/response(NTLM)-WindowsNTLANManagerchallenge/responseVersion2.0(NTLMv2)-Kerberosv5

2022/11/2Windows认证

WindowsNT系统上是使用registry里的HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA\LMCompatibilityLevel值来控制使用的认证方式。其各数值表示的意义如下:-0:使用LMresponse及NTLMresponse;不使用NTLMv2-1:若有协商则采用NTLMv2认证方式-2:只采用NTLM认证方式-3:只采用NTLMv2认证方式-4:主域服务器拒绝LMresponses-5:主域服务器拒绝LM及NTLMresponses,只接受NTLMv2。

2022/11/2Windows的资源共享

Windows95/98系统在资源共享存取控制方面分两种安全等级。一是共享级访问控制(Share-LeverSecurity)这是内定采用的方式,就是只要有提供口令就可以访问共享的资源。另外一种是用户级访问控制(User-LeverSecurity)在这种设定下,用户必须在远程计算机的认证服务器上(远程计算机所指定的另一台WindowsNT系统)拥有账号才能够访问共享资源。2022/11/2Windows的资源共享(续)

对于共享级访问控制环境,所设定的密码不分大小写,口令存放在注册表中:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanManParm1enc是完整存取的口令Parm2enc则是只读存取的口令这两种口令只用简单的异或(XOR)加密,只要取得该口令,再与0x35,0x9a,0x4d,0xa6,0x53,0xa9,0xd4,0x6a这八个数值进行XOR操作,就可以还原原始口令。WindowsNT系统则采用用户级访问控制,只有用户在该系统内拥有账号才能访问其共享资源。

2022/11/2Windows的注册表

Windows系统最初使用初始化文件(.ini文件)来记录应用程序或系统程序的配置和控制参数。但是由于.ini文件多,管理不易且读取速度慢因此从Windows3.1开始采用注册表(Registry)来存放这些数据。注册表其实就是一个reg.dat文件,但是由于其格式的特殊性,因此只能利用regedit.exe进行修改和设置各种值。

2022/11/2Windows的注册表

Windows注册表分为五个子树:-HKEY_LOCAL_MACHINE存放各种关于硬件、操作系统以及已经安装的软件的信息。-HKEY_CLASSES_ROOT这是链接到HKEY_LOCAL_MACHINE\SOFTWARE\Classes的快捷方式,包含文件关联、OLE(对象链接和嵌入)和DDE(动态数据交换)类 定义。2022/11/2Windows的注册表(续)

-HKEY_CURRENT_CONFIG这是链接到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles\Current的快捷方式,包含了目前硬件的设定值。-HKEY_CURRENT_USER这个也是一个连往HKEY_USERS\<SIDofUser>的快捷方式,包含了目前登入系统的使用者环境设定,网络连结等。-HKEY_USER这个包含了动态加载使用者profiles的信息。

由于注册表的重要性,windows系统对注册表设置了各种访问控制权限。2022/11/2Windows的注册表(续)权限解释只读允许用户和组从注册表中读取数值完全控制允许用户和组从注册表中设置数值特殊访问允许用户和组在给定的注册项中创建子项询问值允许用户和组读取关键字的值设置值允许用户和组设置关键字的值创建子项允许用户和组识别创建注册项的子项计数子项允许用户和组识别某注册项的子项通

知允许用户和组从注册表中审计通知事件创建链接允许用户和组在特定项中建立符号链接删

除允许用户和组在删除选定的注册项写入DAC允许用户和组将DAC写入注册表项写入Owner允许用户和组获得注册表项的所有权读取控制允许用户和组具有访问选定注册表项的安全信息注册表的访问控制权限

2022/11/2Windows的注册表(续)为了便于管理,注册表的访问控制权限与固定的组对应例如系统管理员组、系统组、用户组、所有用户组等。系统管理员、系统和所有用户三个组对于上述五个子树的缺省访问权限。

2022/11/2Windows的注册表(续)注册表的缺省访问控制权限

子树系统管理员组系统组所用用于组HKEY_LOCAL_MACHINE完全控制完全控制读取HKEY_CLASSES_ROOT完全控制完全控制读取HKEY_CURRENT_CONFIG完全控制完全控制读取HKEY_CURRENT_USER完全控制完全控制完全控制HKEY_USER完全控制完全控制完全控制2022/11/2Windows的注册表(续)HKEY_LOCAL_MACHINE子树下存放了与安全相关的关键字,包括:-HKEY_LOCAL_MACHINE\SAM:-HKEY_LOCAL_MACHINE\Security:-HKEY_LOCAL_MACHINE\Software\Microsoft\RPC:-HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion2022/11/2Windows的注册表(续)注册表中的项文件HKEY_LOCAL_MACHINE\SAM%SystemRoot%\system32\config\SAMHKEY_LOCAL_MACHINE\Security%SystemRoot%\system32\config\SECURITYHKEY_LOCAL_MACHINE\Software%SystemRoot%\system32\config\softwareHKEY_LOCAL_MACHINE\System&HKEY_CURRENT_CONFIG%SystemRoot%\system32\config\systemHKEY_USER\.DEFAULT%SystemRoot%\system32\config\defaultHKEY_CURRENT_USER%SystemRoot%\Profiles\%username%\Ntuser.dat注册表的缺省访问控制权限

2022/11/2Windows的注册表(续)需要说明的是,注册表中与安全有关的大部份数据也存放在%SystemRoot%\system32\config目录下以下文件中:-SAM-SECURITY-software-system-default此外,文件%SystemRoot%\Profiles\%username%\Ntuser.dat也存放了网络帐号的有关信息。2022/11/2Windows的NTFS文件系统

新技术文件系统(NewTechnologyFileSystem:NTFS)在传统FAT文件系统基础上,提高了对目录和文件的访问控制。NTFS的基本访问控制权限包括:读(R)写(W)执行(X)删除(D)改变访问控制权限(P)拥有者权限(O)。而对于文件2022/11/2Windows的NTFS文件系统(续)还有以下访问控制权限的组合:-NoAccess:没有权限-Read(RX):仅有读权限-Change(RWXD):读、写、执行和删除权限-FullControl(ALL):读、写、执行、删除,并可改变权限和取得拥有者权限-SpecialAccess:读、写、执行、删除、改变权限,也宽衣阿指定取得拥有者资格等任意组合2022/11/2Windows的NTFS文件系统(续)虽然提供了多种访问控制,但是操作系统依然无法保证NTFS可以完全避免信息被攻击者所盗取。为此,NTFS提供了文件系统加密功能。但是,加密后如果用户忘记口令,会带来使用上的不方便等问题。而Windows2000新增的加密文件系统(EncryptingFileSystem:EFS)位于Windows核心态,属于NTFS档案系统之上的一个驱动程序,因此加解密动作都在操作系统内核中完成。EFS以公钥技术为基础,利用Windows内建的CryptoAPI架构,可自动对已选定目录内新产生的文件进行加密,自动产生加密密钥,自动找寻用户数字证书及私钥。当用户读取文件时,EFS自动解密文件,无需用户的介入。2022/11/2Windows的NTFS文件系统(续)2022/11/2Windows的NTFS文件系统(续)Windows常用命令-任务管理器 进程管理 (Ctrl+Alt+Del)-服务管理

温馨提示

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

评论

0/150

提交评论