1、第九章第九章 操作系统安全操作系统安全操作系统操作系统 2主要内容主要内容n操作系统安全性基本概念n操作系统主要安全机制n安全操作系统设计与实现9.1 操作系统操作系统的的安全性安全性n操作系统的安全需求n系统安全的评估与标准nUnix/Linux操作系统安全349.1.1 操作系统的安全需求操作系统的安全需求n计算机信息系统安全性计算机信息系统安全性n保密性。安全保密是指防止信息的非授权修改,这也是信息安全最重要的要求。n完整性。完整性要求信息在存储或传输过程中保持不被修改、破坏和丢失。n可靠性。可靠性是指系统提供信息的可信赖程度。n可用性。可用性是指当需要时是否能存取所需信息,保护信息的可
2、用性的任务就是防止信息失效或变得不可存取。n操作系统安全的目标操作系统安全的目标n为用户信息处理提供安全的软件环境,为应用程序运行提供安全可靠的运行环境。操作系统的安全需求操作系统的安全需求n系统边界安全系统边界安全n认证和鉴别禁止非法用户进入系统;n系统使用系统使用权限管理机制权限管理机制n不同用户配置不同的权限,每个用户只拥有他能够工作的最小权利;n应用和数据的访问控制机制应用和数据的访问控制机制n用户只能按照指定的访问控制安全策略访问数据;n为系统用户提供可信通路为系统用户提供可信通路n保证系统登陆和应用层提供的安全机制不被旁路;n系统操作的安全审计和管理系统操作的安全审计和管理n检查错
3、误发生的原因,或者受到攻击时攻击者留下的痕迹;569.1.2 系统安全的评估与标准系统安全的评估与标准n计算机信息系统计算机信息系统 (computer information system)n由计算机及其相关的和配套的设备、设施(含网络)构成;n可信计算基可信计算基 (trusted computing base )n计算机系统内保护装置的总体,包括硬件、固件、软件和负责执行安全策略的组合体。n主体(主体(subject)n即主动实体,导致信息在系统中流动及改变系统状态的用户或进程等;n客体客体(object)n能包含或接受信息的被动实体,如文件、内存块等;n敏感标记敏感标记 (sensit
4、ivity label)n表示客体安全级别并描述客体数据敏感性的一组信息;n安全策略安全策略(security policy)n系统资源使用和管理的安全规定和约定;系统安全的评估与标准系统安全的评估与标准nTCSEC:Trusted Computer System Evaluation Criterian标准是计算机系统安全评估的第一个正式标准,具有划时代的意义。n1970年由美国国防科学委员会提出,并于1985年12月由美国国防部公布。n国标国标GB178591999:计算机信息系统安全保护等级划分准则计算机信息系统安全保护等级划分准则n该准则参照TCSEC标准规定了计算机信息系统安全保护能
5、力的五个等级。n用户自主保护级,系统审计保护级,安全标记保护级,结构化保护级,访问验证保护级nPOSIX.1e (Portable Operating System Interface for Computer Environment)nPOSIX.1e是POSIX系列标准的一部分。它定义了POSIX.1规范的安全扩展部分;nPOSIX.1e只规定了安全特性的函数接口(Security APIs)。71. TCSEC- 1. TCSEC- 共分共分A A、B B、C C、D D四类八个级别四类八个级别nD: 非安全保护非安全保护 nC: 自主保护级自主保护级 nC1: 允许客体拥有者决定该客体
6、的访问控制权,是否可以被其他主体访问 ;nC2: 自主访问控制更加细致。考虑客体重用和系统审计 ;nB:强制安全强制安全nB1: 标记安全保护,标记和强制访问控制;nB2: 结构安全保护,强制访问控制的范围扩大到所有的系统资源,给出证明,要求考虑隐蔽信道(存储),并计算出带宽。nB3: 安全区域保护,TCB不包含与安全无关的代码,并足够小到可以被测试、分析、证明,系统具有恢复能力。nA:验证安全保护验证安全保护nA1:验证设计级,设计可以被形式化的证明;nA2:验证实现级保护,实现可以被形式化的证明 。8系统安全的评估与标准系统安全的评估与标准9不分等级,无口令和权限控制不分等级,无口令和权限
7、控制,主体自主决定的安全保护,主体自主决定的安全保护,UNIX/WINDOWSD 级级C1 级级C2 级级B1 级级B2 级级B3 级级A 级级C1+访问控制访问控制,广泛审核,广泛审核,Linux/WINDOWS NT安全策略模型安全策略模型,MULTICS安全内核,高抗渗透能力安全内核,高抗渗透能力,Trusted MachSNS9.1.3 Unix/Linux操作系统安全操作系统安全机制机制n用户标识和身份鉴别用户标识和身份鉴别n每个用户一个唯一的标识符(UID);n系统给每个用户组也分配有一个唯一的标识符(GID);n登录需要密码口令;n基于保护位的自主访问控制安全机制基于保护位的自主
8、访问控制安全机制n用户:owner/group/other)n访问权限:read/write/executable。n日志信息日志信息n包括:连接时间日志、进程统计和错误日志。10Unix/Linux操作系统安全操作系统安全弱点弱点n用户数据保护机制并不能用户数据保护机制并不能保证严格保证严格安全要求安全要求;n超级用户成为系统安全瓶颈超级用户成为系统安全瓶颈;n缺乏必要的系统审计机制缺乏必要的系统审计机制;n用户认证方面的要求不够严格用户认证方面的要求不够严格;n系统自身的完整性保护问题系统自身的完整性保护问题,一旦加载恶意的核心模块,一旦加载恶意的核心模块,整个系统可能完全被非法控制整个系
9、统可能完全被非法控制。119. 2 操作系统安全机制操作系统安全机制n标识和鉴别n可信路径管理n禁止客体重用n最小特权管理n访问控制技术n隐蔽信道检测与控制n安全审计129.2.1 标识与鉴别标识与鉴别n用户标识(user identification)信息系统用以标识用户的一个独特符号或字符串;n鉴别(authentication)验证用户,设备,进程和实体的身份;nUnix/Linux实现了基本的标识和鉴别机制。一般系统中有三类用户:超级用户,普通用户和系统用户。n超级用户:rootn普通用户是指那些能够登录系统的用户n系统用于特定的系统目的。例如用户nobody和lp13标识与鉴别标识与
10、鉴别nUID和GID通常是唯一的,不同的用户拥有不同的UID,不同的用户组拥有不同的GID;n用户登录到系统时,须输入用户名标识其身份;n用户属性的信息主要存储在 /etc/passwd 和 /etc/shadow 系统文件中;n系统会分配好用户目录。这块空间与系统区域和其他用户的区域分割开来。149.2.2 可信路径管理可信路径管理n任何进入系统都需要进行用户认证,同时进行相应的用户鉴别;n可信路径该路径上的通信只能由该用户初始化 。n实现可信路径n能够准确辨认出用户登录的意图;n提供无法冒充的用户界面;n在用户认证和鉴别过程中,限制无关进程的活动;n保证通信路径上的可靠性。1516禁止客体
11、重用禁止客体重用n含义含义n一个主体在释放资源时,一定要清除上面的信息。n思考思考nWINDOWS/LINUX内存释放后内容被清空了吗?nWINDOWS/LINUX文件删除后硬盘上没有了吗?9.2.3 最小特权管理最小特权管理n最小特权管理最小特权管理n系统不应给予用户超过执行任务所需特权以外的特权。n实现实现n将超级用户的特权划分为一组细粒度的特权,使得各种操作员或者管理员只具有完成其任务所必需的特权。n一般系统的一般系统的三种管理角色三种管理角色n安全管理员,审计管理员,系统管理员。179.2.4 访问控制技术访问控制技术n访问控制访问控制功能功能n管理所有资源访问请求,即根据安全策略的要
12、求,对每个资源访问请求作出是否许可的判断;n主要主要访问控制策略访问控制策略n最小权益策略:按主体执行任务所需权利最小化分配权利。n最小泄漏策略:按主题执行任务时所知道的信息最小化原则分配权利。n多级安全策略:主体和客体按普通、秘密、机密、绝密等级别划分,进行权限控制。n主要访问控制技术主要访问控制技术n自主访问控制,强制访问控制181.自主访问控制自主访问控制(Discretionary Access Control)n访问控制方法n它由资源拥有者分配访问权,在辨别各用户的基础上实现访问控制。n实现方式n基于行的DAC:这种方法在每个主体上都附加一个该主体可访问的客体的明细表;n基于列的DA
13、C:在客体上附加了一个主体明细表 来表示访问控制矩阵的列;n弱点n权限管理比较分散,安全性差,不能抵御特洛伊木马的攻击。192. 强制访问控制强制访问控制(Mandatory Access Control)n访问控制方法访问控制方法n每个主体和每个客体都有既定安全属性,是否能执行特定的操作取决于二者之间的关系。n实现方式实现方式n由特定用户(管理员)实现授权管理;n通常指TCSEC的多级安全策略:安全属性用二元组表示,记作(密集,类别集合),密集表示机密程度,类别集合表示部门或组织的集合。n弱点弱点n应用的领域比较窄,使用不灵活,一般只用于军方等具有明显等级观念的行业或领域,完整性方面控制不够
14、。20BLP多级强制访问控制策略多级强制访问控制策略n两个重要的安全特性(公理)两个重要的安全特性(公理)nSimple Security Condition:主体读客体,当且仅当用户的安全等级必须大于或等于该信息的安全级,并且该用户必须具有包含该信息所有访问类别的类别集合 ;n*-Property (Star Property) :一个主体/用户要写一个客体,当且仅当用户的安全等级不大于该客体安全等级,并且该客体包含该用户的所有类别 。n安全特性安全特性n保证了信息的单向流动,即信息只能向高安全属性的方向流动,219.2.5 隐蔽信道检测与控制隐蔽信道检测与控制n定义定义n在强制式访问控制下
15、,主体间以违背安全策略的形式传递信息的通信信道”。n分类分类n隐蔽存储通道(Covert Storage Channel)n隐蔽时间通道(Covert Timing Channel)n相关研究相关研究n搜索:静态或动态n计算带宽n消除、减低带宽22隐蔽信道检测与控制隐蔽信道检测与控制n隐蔽存储通道存在场景隐蔽存储通道存在场景n信息发送者直接或间接地修改某存储单元,信息接收者直接或间接地读取该存储单元。n其产生的必要条件有以下四条1.发送和接收进程必须能够对同一存储单元具有存取能力;2.发送进程必须能够改变共享存储单元内容;3.接收进程必须能够探测共享存储单元内容的改变;4.必须有对通信初始化和
16、发送与接收进程同步的机制;23隐蔽信道检测与控制隐蔽信道检测与控制n时间隐蔽信道的存在场景时间隐蔽信道的存在场景n信息发送者依据机密信息有规律地调节它对系统资源的使用,信息接收者通过观察系统来推断信息。n产生的必要条件有以下四条1.发送和接收进程必须能够对同一广义存储单元具有存取能力;2.发送和接收进程必须具有时间参照物;3.接收进程必须能够探测到发送进程对广义存储单元内容的改变;4.必须有对通信初始化和发送与接收进程同步的机制;249.2.6 安全审计安全审计(auditing)n功能要求功能要求n是一种通过事后追查增强系统安全性的安全技术;n对涉及系统安全的操作做完整记录,并对这些记录进行
17、必要的分析。n审计处理审计处理n记录系统中主体对受保护的客体的违规访问情况;n系统中主体对某些特定客体的违规访问情况。n审计机制审计机制n在系统调用的总入口处设置审计点,审计系统调用,也就审计了所有使用内核服务的事件。n要选择最主要的事件加以审计,不能设置太多的审计事件,以免过多影响系统性能。25安全审计安全审计nLinux系统的审计系统的审计n连接时间日志login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。n进程统计由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录。n错误日志各种系统守护进程、用户程序和内核通过sy
18、slog向文件/var/log/messages报告值得注意的事件。2627主要内容n操作系统安全性基本概念n操作系统主要安全机制n安全操作系统设计与实现9.3.1访问监视器(访问监视器(Reference Monitor)28主体审计数据库引用监视器客体访问控制数据库安全策略n 访问监视器是一种负责实施安全策略的软件和硬件的结合体访问监视器是一种负责实施安全策略的软件和硬件的结合体n 访问监视器只是一个理论上的概念,并没有一种实用的实现方法。访问监视器只是一个理论上的概念,并没有一种实用的实现方法。一般人们把访问监视器的概念和安全内核和可信软件等同起来。一般人们把访问监视器的概念和安全内核和
19、可信软件等同起来。9.3 安全操作系统设计安全操作系统设计与实现与实现9.3.2 安全策略与安全模型安全策略与安全模型n常用安全策略常用安全策略n自主存取控制策略n强制存取控制(BLP)策略nBIBA策略n中国墙策略n常用安全模型常用安全模型n有限状态机模型n访问控制矩阵n基于角色的访问控制模型(RBAC)29安全体系结构安全体系结构GFAC通用访问控制框架通用访问控制框架30主体(进程)AEFAEF(访问实施模块)客体(文件,目录,设备,IPC等)ADFADF(访问判断模块)Open系统调用Create系统调用其他系统调用自主访问控制(ACL)强制访问控制(MAC)其他访问控制策略ACI(访
20、问控制信息)6.授权或拒绝访问1.访问 请求10.访问2.获取属性值4.参考8.更新 3.决策请求 7.通知 5.决策判断 9.确认安全体系结构安全体系结构Flask结构31 Security Server Policy DB SID/ SC Map Client(SID) Object Manager Access Check Enforcement Policy Query Decision 典型安全操作系统分析典型安全操作系统分析n在在TCSEC促进下研制了多种具有促进下研制了多种具有B1级别以上的安全操作系统产品级别以上的安全操作系统产品nIBM的安全Xenix、nBell实验室的Sy
21、stem V/MLS、n加拿大多伦多大学的安全TUNIS等n早期的安全操作系统基本上是按照早期的安全操作系统基本上是按照TCSEC中的要求为蓝本研制中的要求为蓝本研制n根据单一的整体安全策略对系统进行访问控制和防护。n现代现代安全操作系统中已逐步实现了多种安全策略(安全操作系统中已逐步实现了多种安全策略(Security Policy)n典型的是RSBAC和SELinux安全操作系统。32RSBACnRSBAC是基于GFAC提出的安全操作系统原型33SELinuxnSELinux采用采用Flask框架作为它的安全体系结构框架作为它的安全体系结构nSELinux核心级的安全增强主要表现在三个方面核心级的安全增强主要表现在三个方面n实现了功能强大的安全服务器ESS(Example Security Server)n按照Flask体系框架的要求,把Linux内核中的相应子系统,包括文件管理、进程管理、Socket控制等,改造成独立的客体管理器n客体管理器中实现了访问向量缓存AVC(Access Vector Caching)提高了效率。n实现了实现了安全工具层安全工具层n提供一个与安全服务器相配套的安全策略配置语言和相应配置工具3435谢谢