安全模型、设计和能力的原则
一、使用安全设计原则实施和管理工程过程
1、客体和主体
主体:发出访问资源请求的用户或进程
客体:用户或进程想要访问的资源
2、封闭系统和开放系统
封闭系统:windows
开放系统:linux
3、用于确保保密性、完整性和可用性的技术
confinement限制:沙箱,软件设计使用“进程限制”来约束程序的行为。
bound界限:用户态、内核态,在系统上运行的每个进程都有授权级别。
isolation隔离:进程隔离可确保隔离状态进程的任何行为仅影响与其关联的内存资源。
4、控制
为确保系统的安全性,主体只允许访问经过授权的客体。
MAC 强制访问控制:是否许可一个访问,由主体和客体的静态属性来决定。每个主体都拥有属性,用来定义其访问资源的授权。每个客体拥有属性,用来定义其分类。
DAC 自主访问控制:允许主体根据需要定义要访问的客体列表,可以允许主体添加对客体的访问规则。
5、信任和保证
可信系统:所有保护机制协同工作的系统,为许多类型的用户处理敏感数据,同时维护稳定和安全的计算环境。
保证:为了满足安全需求的可信程度,保证需要持续性的维护、更新和重新验证。
二、理解安全模型的基本概念
1、可信计算基
TCSEC 可信计算机系统评估标准,是美国国防部的一个较早的标准,俗称“橘皮书”
TCB 可信计算基,软硬件的组合,它们协同工作构成安全策略的可信计算基础
系统的安全边界是一个假想的边界,将TCB与系统的其余部分分开
参考监视器:TCB中负责在授权访问请求之前验证资源的部分
2、状态机模型
状态机模型描述一个系统,它无论处于什么状态总是安全的
有限状态机FSM,FSM将外部输入和内部机器状态相结合,为各种复杂系统建模,包括解析器、解码器、解释器
给定一个输入和一个状态,FSM会转换到另一个状态并可能产生一个输出
如果一个状态的所有方面都符合安全策略的要求,那么该状态就是安全的
安全状态机模型始终引导进入安全状态,在所有转换中保持安全状态,并允许主体仅以符合安全策略的方式访问资源
3、信息流模型
信息流模型是一种状态机模型
Bell-Lapadula和Biba模型都是信息流模型
Bell-Lapadula模型关注的是防止信息从高流向低
Biba模型关注的是防止信息从低流向高
信息流模型旨在防止未经授权、不安全或受限的信息流,通常在不同的安全级别之间。信息流模型允许所有已授权信息流,无论是在相同的分类级别内,还是分类级别之间
4、非干扰模型
非干扰模型大致基于信息流模型
非干扰模型并非关注信息流,而是关注较高安全级别的主体的动作,如何影响系统状态或较低级别的主体的动作
非干扰模型关注的是防止处在高安全分类水平的主体行为,影响处于低安全分类水平的系统状态
级联:一个系统的输入来自另一个系统的输出
反馈:系统A首先为系统B提供输入,然后系统B向系统A提供输入
连接:一个系统将输入发送给另一个系统,但也将系统输入发送到其他外部实体
5、Take-Grant模型
Take-Grant(获取-授予)模型使用有向图来规定如何将权限从一个主体传递到另一个主体
具有“授予”权限的主体可将他们拥有的任何权限授予另一个主体或客体
具有“获取”权限的主体可从另一个主体获取权限
Take-Grant模型的关键是使用这些规则可以让你了解系统中的权限何时可能更改或泄露的位置
6、访问控制矩阵
访问控制矩阵是主体和客体的列表,指示每个主体对客体执行的动作或功能
矩阵的每一列是ACL访问控制列表(与客体绑定),每一行是能力列表(与主体关联)
要删除一列ACL访问控制列表,需要对每个主体的访问权限进行更改
系统使用访问控制矩阵来快速确定主体对客体的请求是否被授权
7、Bell-LaPadula模型
Bell-Lapadula模型建立在状态机概念和信息流模型之上,还采用了强制访问控制和格子概念
格子层级是组织安全策略使用的分类级别
状态机支持多个状态,可明确在任何两个状态之间转换
Bell-Lapadula模型可防止机密信息泄露,或转移到较低的安全许可级别
Bell-Lapadula模型专注于维护客体的保密性
简单安全属性:规定主体不能读取较高级别的客体(不准上读)
*安全属性:规定主体不能将信息写入较低级别的客体(不准下写)
自由安全属性:规定系统使用访问矩阵执行自主访问控制
8、Biba模型
Biba模型解决的是完整性问题
Biba模型也建立在状态机概念上,基于信息流,是一个多级别模型
Biba模型和Bell-Lapadula模型方向相反
简单完整性属性:规定主体不能读取较低级别的客体(不准下毒)
完整性属性:规定主体不能修改更高级别的客体(不准上写,怕写脏了)
解决了完整性,但是没有解决保密性和可用性,不能阻止隐蔽隧道
9、Clark-Wilson模型
和Biba模型一样,解决完整性问题
Clark-Wilson模型使用安全标签授予客体的访问权限,但仅限于通过转换过程和受限制的接口模型,受限制的接口模型使用基于分类的限制来提供特定主体的授权信息和功能
Clark-Wilson模型不需要使用格子结构,它使用被称为三元组的主体、程序、客体
主体无法直接访问客体,客体只能通过程序访问
标准格式的事务采用程序的形式,这有效的限制了主体的能力,俗称约束接口
受约束数据项CDI:是完整性受到安全模型保护的任何数据项
无约束数据项UDI:是不受安全模型控制的任何数据项(输入、输出、未验证的数据)
完整性验证过程IVP:是扫描数据项并确认其完整性的过程
转换过程TP:是唯一允许修改CDI的过程
10、Brewer and Nash模型
为了允许访问控制可以基于用户先前的活动,而动态改变
该模型适用于单个集成的数据库,它试图创建对利益冲突概念敏感的安全域
该模型创建一类数据,这个数据类定义了哪些安全域存在潜在的冲突,对于能够访问某个属于特定冲突类的安全域的任何主体,阻止他们访问属于相同冲突类的其他任何安全域
11、Goguen-Meseguer模型
Goguen-Meseguer模型是一个不出名的完整性模型,没有Biba有名
Goguen-Meseguer模型是非干涉模型的代表
主体仅允许对预定的客体执行预定的动作
一个主体域的成员不能干扰另一个主体域的成员
12、Sutherland模型
Sutherland模型是一个完整性模型
例子:防止隐蔽隧道被用来影响过程或活动的结果
13、Graham-Denning模型
Graham-Denning模型专注于主体和客体的安全创建和删除
用于定义安全操作的边界(创建、删除、读取、授权、传输)
三、基于系统安全需求选择控制措施
1、彩虹系列
TCSEC 可信计算机系统评估标准
ITSEC 欧洲信息技术安全评估标准
CC 通用准则
由于这些出版物通过其封面的颜色来识别,因此它们统称为彩虹系列
2、TCSEC分类和所需功能
TCSEC 将系统提供的保密性保护等级分为四大类
类别A:已验证保护,最高级别的安全性
类别B:强制保护(B1标签化安全、B2结构化安全、B3安全域)
类别C:自主保护(C1自主保护、C2受控访问保护)
类别D:最小保护
ITSEC有2个尺度来评估功能和保证
F-D对应D
F-C2对应C2(F2)
F-C1对应C1(F1)
F-B3对应B3(F5)
F-B2对应B2(F4)
F-B1对应B1(F3)
F-A1对应A1
TCSEC几乎只关注于保密性,而ITSEC除了保密性外,还解决了缺少完整性和可用性的问题
TCSEC要求任何已更改的系统都要重新评估,ITSEC不需要进行新的正式评估
3、通用准则
CC国际通用准则过程基于两个要素:保护范畴和安全目标
保护范畴:为要保护的产品指定安全要求和保护,这些要求和保护被认为是客户想要的安全
安全目标:指定了供应商在评估的产品内构建的安全申明
通用准则结构分为三部分
“简介“和”通用模型“描述了用于评估IT安全性的一般概念和基础模型,以及指定评估目标涉及的内容
“安全功能要求“描述安全审计、通信安全、安全性密码学支持、用户数据保护、身份标识、身份验证、安全管理、安全功能、资源利用、系统访问和可信路径等方面的功能要求
“安全保障“涵盖在配置管理、交付和运营、开发、指导文档和生命周期支持以及保证测试和漏洞评估等方面的保证要求
CC通用准则保证级别
EAL1(D):功能测试,适用于对正确操作有一定可信度要求,但安全威胁不严重的情况
EAL2(C1):结构测试,适用于交付设计信息和测试结果符合良好商业惯例的情况
EAL3(C2):系统测试并检测,适用于安全工程从设计阶段开始并且在后续过程中没有实质性更改的情况
EAL4(B1):系统的设计、测试和评审,适用于使用了严格、积极的安全工程和良好的商业开发实践的情况
EAL5(B2):半正式设计和测试,使用严格的安全工程和商业开发实践,来进行半正式测试
EAL6(B3):半正式验证、设计和测试,在设计、开发和测试的所有阶段使用直接、严格的安全工程技术,来生产优质的产品
EAL7(A1):正式验证、设计和测试,仅用于最高风险情况或涉及高价值资产的情况
4、认证和鉴定
认证(certification)
认证是对IT系统以及为支持鉴定过程而指定的其他保护措施,技术和非技术安全功能的综合评估,从而确定设计和实施满足安全要求的程度
系统认证是对计算机系统各个部分的技术评估,以评估其与安全标准的一致性
首先选择评估标准,然后将分析每个系统组件以确定它是否满足所期望的安全目标
评估整个系统后,可对结果进行评估,以确定系统在其当前环境中支持的安全级别
评估完所有因素,并切丁系统的安全级别后,即可完成认证阶段
鉴定(Accreditation)
鉴定是指定审批机构正式声明:IT系统被批准在特定安全模式下,使用规定的一套保障措施在可接受的风险水平下运行
一旦鉴定完成,管理层就可以正式认可评估系统的整体安全性能
鉴定通常由第三方测试服务机构执行,并且结果对于每个人都是可信的
在鉴定阶段,经常要求更改配置或增加控件来解决安全问题,无论何时更改配置,都必须重新验证新配置
认证和鉴定系统
阶段1:定义,涉及指派适当的项目人员、任务需求的文档,以及注册、协商和创建系统安全授权协议,用于指导整个认证和鉴定过程
阶段2:验证,包括系统安全授权协议的细化、系统开发活动和认证分析
阶段3:确认,包括进一步细化系统安全授权协议、对集成系统进行认证评估、向审批机构提出建议以及审批机构的鉴定决议
阶段4:鉴定后,包括系统安全授权协议的维护、系统操作、变更管理和合规性验证
四、理解系统系统的安全功能
1、内存保护
内存保护是核心安全组件,是操作系统必备组件
内存保护用于防止活动的进程与不是专门分配给它的内存区域进行交互
2、虚拟化
虚拟化技术用于在单一主机的内存中运行一个或多个操作系统
这种机制允许任何操作系统在任何硬件上虚拟运行
vmware、virtualbox
虚拟化好处多
3、可信平台模块
可信平台模块TPM既是主板上的加密处理器芯片的规范,也是实现此规范的通用名称
TPM芯片用于存储和处理加密密钥,用于满足基于硬件支持的加密系统
4、接口
通过在应用程序中实现受约束的接口,以限制用户根据其权限执行操作或查看内容
应用程序使用不同的方法约束接口,一种常见的方法是用户无权使用该功能时隐藏该功能
受约束接口的目的是限制已授权和未授权用户的操作
这种接口的使用是CW安全模型的一种实际的实现
5、容错
容错:系统遭受故障后仍然能继续运行的能力
容错通过添加冗余组件实现,容错是安全设计的基本要素
本篇完~