操作系统安全OperatingSystemSecurity2019/12/192第三章安全机制一个操作系统的安全性从以下几个方面考虑:物理上分离时间上分离逻辑上分离密码上分离2019/12/193操作系统安全的主要目标:依据系统安全策略对用户的操作进行存取控制,防止用户对计算机资源的非法存取;标识系统中的用户并进行身份鉴别;监督系统运行的安全性;保证系统自身的安全性和完整性;2019/12/194操作系统安全的相应机制:硬件安全机制标识与鉴别存取控制最小特权管理可信通路安全审计2019/12/195理想的安全操作系统基础安全操作系统定义是一个其访问执行满足引用监视器概念的操作系统引用监视器概念定义了任何系统能安全地执行一个强制保护系统的充要属性,包括:CompleteMediationTamperproofVerifiable2019/12/1962.1标识与鉴别机制标识系统可以识别的用户的内部名称用户名、登陆ID、身份证号或智能卡具有唯一性不能被伪造鉴别:对用户宣称的身份标识的有效性进行校验和测试的过程。方法密码验证生物鉴别方法可信计算基——与鉴别相关的认证机制2.1标识与鉴别机制用户申明自己身份的四种方法证实自己所知道的密码、身份证号码、最喜欢的歌手、最爱的人的名字等出示自己所拥有的智能卡证明自己是谁指纹、语音波纹、视网膜样本、照片、面部特征扫描等表现自己的动作签名、键入密码的速度与力量、语速等等2019/12/1982.2访问控制访问控制的基本任务:防止用户对系统资源的非法使用,保证对课题的所有直接访问都是被认可的。措施确定要保护的资源授权确定访问权限实施访问权限三种访问控制技术:自主访问控制DAC、强制访问控制MAC、基于角色的访问控制RBAC2019/12/1992.2访问控制自主访问控制DAC定义:在自主访问控制机制下,文件的拥有者可以按照自己的意愿精确的制定系统中地其他用户对其文件的访问权。“自主”的含义:第一,一个用户可以自主地说明他所拥有的资源允许系统中哪些用户以何种权限进行共享;第二,其他具有授予某种访问权力的用户能够自主地将访问权或访问权的某个子集授予另外的用户。2019/12/19102.2访问控制自主访问控制DAC确定受保护的客体:一般为文件、目录、IPC、设备为了实现完备的自主访问控制机制,系统需要将访问控制矩阵的相应信息以某种形式保存在系统中,目前,操作系统的实现很难将矩阵整个保存下来,因此具有两种保存方式:基于行基于列2019/12/19112.2访问控制自主访问控制DAC基于行的自主访问控制机制实现:在每个主体上都附加一个该主体可访问的客体的明细表,根据表中信息的不同,可分为三种形式:能力表:权限字前缀表:包括受保护的客体名和主体对它的访问权限口令:每个客体有一个2019/12/19122.2访问控制自主访问控制DAC基于列的自主访问控制机制实现:每一个客体都附加一个可访问它的主体的明细表,他有两种形式,即保护位和访问控制表。保护位:对客体的拥有者基其他主体、主体组,规定的对该客体访问模式的集合访问控制表:对某个特定资源制定任意用户的访问权限。2019/12/19132.2访问控制自主访问控制DAC基于列的自主访问控制机制访问控制表:在每一个客体上都附加一个主体明细表,表示访问控制矩阵。可对某个特定资源制定任意用户的访问权限。缺点:当对某个客体可访问的主体很多时,访问控制表将会变得很长。而在一个大系统中,客体和主体都非常多,这会在使用这个表时占用很多CPU时间。2019/12/19142.2访问控制自主访问控制DAC基于列的自主访问控制机制访问控制表简化:将用户按其所属或者工作性质进行分类,构成相应的组(group),并设置一个通配符“*”,代表任何组名或主体标识符,如图3-5所示。2019/12/19152.2访问控制自主访问控制的实现举例1)拥有者/同组用户/其他用户在unix\linux\vmx等系统中,实现了一种很简单的自主访问控制模式,就是在文件的属性中添加一段有关访问控制信息的二进制位,就像文件的大小、文件创建时间、文件的修改时间等信息一样。如图3-6所示。2019/12/19162.2访问控制自主访问控制的实现举例1)拥有者/同组用户/其他用户缺点:客体的拥有者不能精确的控制某个用户对其客体的访问权。例如,不能指定同组用户A具有读、写、可执行的权限,而同组的B不能具有任何权限。同组用户,要么都有,要么都没有。2019/12/19172.2访问控制自主访问控制的实现举例2)访问控制表和“拥有者/同组用户/其他用户”相结合模式针对“拥有者/同组用户/其他用户”的缺点,采用访问控制表和“拥有者/同组用户/其他用户”相结合模式,在UNIXSVR4.1ES系统中的访问控制表只对“拥有者/同组用户/其他用户”无法分组的用户才使用。2019/12/19182.2访问控制自主访问控制的实现举例在UNIXSVR4.1ES文件系统中,针对文件的索引结构开发了ACL项及相关信息项,使每个文件对应一个ACL。在IPC的索引结构中开发了ACL项及相关信息项,使每一个消息队列、信号量集合、共享存储区都对应一个ACL。2019/12/19192.2访问控制自主访问控制的实现举例(1)ACL语义:type,id,permtype:描述id是用户ID,还是用户组IDid:用户或用户组perm:允许id所代表的用户或用户组对该客体具有的访问权限2019/12/19202.2访问控制自主访问控制的实现举例(2)对ACL的操作:授权、取消、查阅授权:将一个指定用户的标识符和对应的访问权限加入一个ACL中。取消:将指定标识符项的访问权限中取消某些访问权限查阅:读取ACL内容2019/12/19212.2访问控制自主访问控制的实现举例(3)DAC安全检查策略若进行以X权限访问客体,X必须在客体相应的ACL项中;若进程搜索一路径path,进程必须具有路径名中每一目录分量的搜索权。2019/12/19222.2访问控制强制访问控制MAC定义:在强制访问控制机制下,系统中的每个进程、每个文件、每个IPC客体都被赋予了相应的安全属性,这些安全属性是不能改变的,它由管理部门(安全管理员)或由操作系统自动地按照严格的规则来设置,不像访问控制表那样由用户或他们的程序直接或间接地修改。当一个进程访问客体时,调用强制访问控制机制,根据进程的安全属性和访问方式,比较进程的安全属性和客体的安全属性,从而确定是否允许进程对客体的访问。2019/12/19232.2访问控制强制访问控制MAC对比:自主访问控制:防止其他用户非法入侵自己的文件强制访问控制:采用更强有力的安全保护方式,使用户不能通过意外事件和有意识的误操作逃避安全控制。2019/12/19242.2访问控制强制访问控制MAC联系:强制访问控制与多级安全(MLS)体系相提并论。多级安全(MLS):是军事安全策略的数学描述,是计算机能实现的形式定义。2019/12/19252.2访问控制强制访问控制MAC1)军事安全策略计算机内所有信息都有相应的密级,每个人都有一个许可证。确定是否允许某人阅读一个文件,要把该人的许可证同文件的密级进行比较,当且仅当用户的许可证大于或等于文件的密级时,他才可以合法的获得文件的信息。2019/12/19262.2访问控制强制访问控制MAC1)军事安全策略目的:防止用户取得他不应得到的密级较高的信息。安全级:保密级别\范畴集表示形式:{机密:人事处、财务处、科技处}关系:支配、被支配、等于、无关2019/12/19272.2访问控制强制访问控制MAC2)多级安全规则与BLP模型多级安全计算机系统的第一个数学模型:Bell-LaPudula模型BLP模型的两条基本规则:(1)简单安全特性:主体只能向下读客体,不能向上读客体(2)*特性:主体只能向上写客体,不能向下写客体2019/12/19282.2访问控制强制访问控制MAC2)多级安全规则与BLP模型2019/12/19292.2访问控制2.强制访问控制的实现举例:P39-P41UnixSVR4.1ES1)安全级赋值:主体、客体2)强制访问控制规则:IfCLASS(S)=CLASS(O)thenRead(S,O)orExecute(S,O)IfCLASS(S)=CLASS(O)thenWrite(S,O)orAppend(S,O)Class:密级和类别2019/12/19302.2访问控制3.使用强制访问控制防止特洛伊木马强制访问控制机制可以防止特洛伊木马窃取信息。因此,常用于军事、政治等对保密性要求较高的部门。2019/12/19312.2访问控制基于角色的访问控制RBACNIST提出的访问控制机制,实际是强制访问控制机制的一种基本思想:授权给用户的访问权限,通常由用户担当的角色来确定。特征访问权限与角色相关联角色继承最小权限原则指责分离角色容量2019/12/19322.3最小特权管理是系统安全中最基本的原则之一要求赋予系统中每个使用者执行授权任务所需的限制性最强的一组特权,即最低许可。26个特权常见的形式基于文件的特权机制基于进程的特权机制实例惠普的Presidium/VirtualVault红旗安全操作系统RFSOSSELinux安全操作系统2019/12/19332.4可信通路是用户能借以直接同可信计算基(TCB)通信的一种机制建立可信通路的方法:安全注意键P492019/12/19342.5安全审计机制日志:记录的事件或统计数据安全审计:对日志记录的分析并以清晰的、能理解的方式表述系统信息,即对系统中有关安全的活动进行记录、检查及审核作用审计事件:主体、客体组成:日志记录器:收集数据——系统日志、应用程序日志、安全日志分析器:分析数据通告器:通报结果2019/12/19352.6存储保护、运行保护和I/O保护存储保护虚地址空间分段物理页号上的秘密信息基于描述符的地址解释机制运行保护保护环——运行域——等级域机制进程隔离机制I/O保护I/O操作是操作系统完成的特权操作2019/12/1936UNIX/Linux安全机制一、UNIX安全机制标识/etc/passwd和/etc/shadow中保存了用户标识和口令;root用户鉴别存取控制存取权限:可读、可写、可执行;改变权限:特殊权限位:SUID和SGID;2019/12/1937UNIX/Linux安全机制(续)审计日志文件:acct或pacct、aculog、lastlog、loginlog、messages、sulog、utmp、utmpx、wtmp、wtmpx、vold.log、xferlog等审计服务程序:syslogd;网络安全性:有选择地允许用户和主机与其他主机的连接;网络监控和入侵检测:LIDS等;备份/恢复:实时备份、整体备份、增量备份;2019/12/1938UNIX/Linux安全机制(续)二、Linux安全机制PAM机制入侵检测系统加密文件系统安全审计强制访问控制防火墙2019/12/1939Windows安全机制WinlogonGINADLLNetworkProviderLassNetlogon活动目录LSA服务器SAM服务器LSA策略Msv1.0.dllKerberos.dll用户模式内核模式活动目录事件记录器SAM系统线程系统服务调度器内核模式可调用接口I/O管理器文件系统缓存对象管理器PnP管理电源管理安全参考监视器虚拟内存进程和线程配置管理器本地过程调用系统线程设备和文件系统驱动Win32USER,GDI图形驱动程序内核硬件抽象层2019/12/1940Windows安全机制身份认证交互式登录(根据用户的本地计算机或ActiveDirectory帐户确认用户的身份)网络身份验证(根据此用户试图访问的任何网络服务确认用户的身份)Windows2000支持的身份验证类型有:KerberosV5身份验证安全套接字层(SSL)和传输层安全性(TLS)的身份验证NTLM身份验证2019/12/1941Wind