总结学习操作系统当中的一些知识点,这篇博客只要是基于Linux的系统安全管理的一些基本概念以及设计思路。
主要知识来源于费祥林老师的操作系统基础一书,以及网络上的部分知识。初学者,存在不足望指正。
关于OS的一些基本概念:
计算机的可靠性:指系统正常运行的程度,其目标是反故障。
安全性:指不因人为疏漏或蓄谋作案而导致信息资源泄露、篡改和破坏,其目标是反泄密。
可靠性是基础,安全性更为复杂。
一般来说,信息系统的安全模型设计管理和实体安全性、网络通信安全性、软件系统安全性和数据库系统安全性。
操作系统安全性:
1.安全策略:描述一组用于授权使用计算机的以及其信息资源的规划。
2.安全模型:精确描述系统安全策略,对系统安全需求以及如何设计和实现安全控制的一个清晰而全面的理解和描述。
3.安全机制:实现安全策略所描述的安全问题,关注如何实现系统的安全性,包括内容有认证机制,授权机制,加密机制,审计机制和最小特权机制。
操作系统安全威胁来源:
1.硬件 2.软件 3.数据 4.网络和通信线路
安全策略
安全需求和安全策略
安全需求:机密性;完整性;可记账性;可用性;
安全策略:是指用于授权使用计算机及信息资源的规则,即有关管理,保护,分配和发布系统资源和敏感信息的规定和实施细则。
其目的是使安全需求得到保障。
根据计算机信息系统的应用场合,可将安全策略分为以下两类:
1.军事安全策略
2.商业安全策略
对于制作安全策略涉及问题,可以将安全系统分为以下两类:
1.访问支持策略(反映可记账性和可用性要求)
2.访问控制策略(反映机密性和完整性需求)
可信计算基
计算机系统内安全保护装置的总体,包括硬件,固件,可信软件和负责执行安全策略的管理员在内的组合体,统称为可信计算基(Trusted computing base TCB)
TCB的组成部分:操作系统的安全内核,具有特权指令的程序和命令,处理敏感信息的程序,实施安全策略的文件,相关硬件和设备,机器诊断程序,安全管理员等。
TCB 能完成的任务:
1.内核的安全运行
2.标识系统中的用户
3.保持用户到TCB登录的可信路径
4.实施主体到客体的访问控制
5.维护TCB功能的正确性和监视以及记录系统中所发生的事件
引用监视程序
在一个引用监视程序中,操作系统将无源的资源隔离到截然不同的客体如文件、运行中的程序活动条目,引用监视程序机制(叫做引用有效机制)将会通过应用一个嵌入在一套访问控制规则中的安全策略确认在活动主体和客体之间的访问。按照这种方法,程序访问系统资源(如文件)可以被限制到那些符合安全策略的访问,访问控制决定基于每个活动主体和客体的安全属性,安全属性指活动主体/客体与安全有关的特性。例如:在标准的Linux中,活动主体(即进程)有真实有效的用户标识,客体(如文件)有访问许可模式,由许可模式决定进程是否可以打开某个文件。
目标
防止窜改(不能恶意改变或修改)
无旁路(活动主体不能避免访问控制决定)
可验证(可以证明安全策略实现是正确的)
访问支持策略
一、标识与鉴别
用户标识
用户鉴别
标识和鉴别用于保证只有合法用户才能进入系统和访问资源。
三类信息用于用户标识与鉴别:
1.用户知道的信息,如口令和密码
2.用户拥有的物品.如智能卡和钥匙
3.用户的生物特征,如签名,指纹,语音和虹膜。
二、可记账性
三、客体重用
四、隐蔽信道分析
存储隐蔽信号和时间隐蔽信号
五、可信路径和可信恢复
访问控制策略
1.访问控制属性:在计算机信息系统当中,访问控制(access control)是规范和控制主体访问本系统中客体的决策和实施过程,与访问控制策略的相关因素有三个:主体,客体,主客体属性。
主体是主动实体,系统行为的发起者。
客体是被动实体,系统内所有实体行为的直接承担者。
主客体属性,又称敏感标记或标记,是TCB维护与可被外部主体直接或间接访问到的计算机信息系统相关的安全标记,是实施自主或强制访问的基础。
信息系统的安全决策就是通过比较主客体的相关属性来制定的
用户与主体绑定。
2.自主访问控制策略
自主访问控制策略是指主体对客体的访问权限只能由客体属主或超级用户指定或更改。
3.强制访问控制策略
强制访问策略是由安全管理员按照一定规则分别对系统中的主体和客体赋予安全标记,且基于特定强制访问规则来决定可否访问。
安全模型
安全模式是对安全策略所表达的安全需求的一种精确,无歧义的抽象描述,在安全策略和安全机制的关联之间提供一种框架。
安全模式示例:
1.lampson访问控制矩阵模型
2.Graham-denning模型
3.Bell-lapadula模型
4.D.Denning信息流模型
安全机制
安全机制的主要目标是根据安全策略对用户的操作进行控制,防止用户对系统资源的非法存取;标识系统中的用户并对其进行身份鉴别;监督系统运行的安全性;保证系统自身的安全性。
一、硬件安全机制
1.内存保护
2.运行保护
3.I/O保护
认证机制
1.用户身份的标识与鉴别
2.Linux系统的标识和鉴别
3.Kerbros网络身份认证
授权机制
1.授权机制的功能和安全系统的模型
2.自主访问控制机制
3.强制访问控制机制
4.最小特权管理机制
加密机制
1.数据加密模型
2.基于密钥的算法分类
3.计算机密码算法
4.数字签名
5.网络加密
审计机制
1.审计事件
2.审计记录和审计日志
3.审计机制的实现
4.审计缓冲区的设计
安全操作系统设计和开发
一、安全操作系统结构和设计原则
安全操作系统是指能对所管理的数据和资源提供适当的保护级以便有效的控制软硬件功能的操作系统。
计算机软件分为以下三类:
可信软件;良性软件;恶意软件。
二、安全操作系统的一般开发方法
主要有两种方法,一是自设计开始就建立完整的安全操作系统开发,而是在现有的非安全操作系统上增强和引入安全机制,形成安全操作系统。基于第二种方法开发,一般有以下三种方法:
1.虚拟机法。
在原有操作系统和硬件之间增加一个分层作为安全内核,操作系统几乎不变的变为虚拟机运行,安全内核的接口同原有硬件接口等价,其自身并未意识到已被安全内核所控制,仍然像是在裸机上一样执行自己的系统功能,所以,它可以不变的去支持现有的APP。(IBM系列机中运行应用广泛,因为IBM系列机很好的支持虚拟机。)
2.改进/增强法
在原有你的OS之上,对其内核以及应用程序进行面向安全策略的分析,引入安全机制,经过这样改造之后的系统基本保持原通用操作系统的用户接口。这种方法最大的局限性是在于现有体系结构和应用程序的限制,难以达到较高的安全级别。
3.仿真法
对现有的操作系统的内核做面向安全策略的修改,在安全内核和原操作系统的用户界面在编写一层仿真程序,这样就不会受现有的程序的限制,但采用这种方法受到上层通用操作系统的接口限制,另外,有些接口功能不安全,不能仿真,以及部分接口仿真难度极大,难以实现。
一般开发步骤:
1.系统需求分析:描述各种安全需求
2.系统功能描述:准确的定义应实现的安全功能,包括描述验证,即证明描述与需求分析相符。
3.系统设计实现:设计并建立系统,包括实现验证,即论证实现与功能描述相符。
三、安全功能与安全保证
安全功能的10个安全元素:标识与鉴别,自主访问控制,标记,强制访问控制,客体重用,审计,数据完整性,可信路径,隐蔽信道分析和可信恢复。
安全保证涵盖三个方面:
(1)可信计算基自身安全保护,包括安全功能模块,资源利用,可信计算基访问等
(2)可信计算基的设计和实现,包括配置管理,分布和操作,开发,指导性文档,生命周期支持,测试,脆弱性评定等。
(3)可信计算基安全管理。
四、安全操作系统设计技术
(1)隔离技术:将系统中用户进程和其他用户进程隔离开(物理分离,时间分离,密码分离,逻辑分离)
(2)安全内核:安全内核通过对系统资源的访问来实现基本安全规程的操作系统内核中相对独立的一部分程序,它在硬件和操作系统功能模块之间提供安全接口,凡是与安全有关的功能和机制都必须被隔离在安全内核之中。
安全内核的设计和实现需要符合下述三条基本原则:
完整性;隔离线;可验证性。
也需要监控四种交互活动:
进程激活;区域切换;存储保护;I/O操作;
(3)分层设计:层次分级适用于将安全内核分离的安全操作系统的设计,自内存至外层可想象为同心圆结构,越敏感的软件越是处于内层,反之是处于外层;越是内层的信息越可信,反之是越不可信。
Linux安全机制
Linux基本安全机制
(1)标识与鉴别
(2)存取控制
(3)审计
(4)特权管理
(5)网络安全
(6)其他安全机制(加密和解密,备份和恢复)
这篇博客简单介绍一下OS的安全管理部分,后续还会有相应博文。
Thanks for your reading.