开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第20天,点击查看活动详情
==安全策略概念==及其表达语言、信息系统的安全需求主要方面
安全策略:一种声明,系统分安全状态集合(已授权状态集合)和不安全状态集合(未授权状态集合)
策略表达语言:描述安全策略的语言 主要分为高层策略语言和低层策略语言 高层策略语言:表达系统中抽象实体的策略限制,描述系统中实体和行为的限制,策略独立于机制,用数学语言或DTE策略语言(域和型强制) 低层策略语言:表达系统中程序的输入或调用选项的限制,采用一组输入或参数简化来对系统进行设置、检查或限制命令
信息系统的安全需求:机密性、完整性、可追究性和可用性。
安全策略的类型及对应的安全需求
安全策略类型:机密性策略、完整性策略、混合型/中立型策略
机密性策略:只保护信息机密性的安全策略 完整性策略:只保护信息完整性的安全策略 混合型策略:保护两者 中立型策略:多样安全策略,机密性、完整性、混合策略等
==安全模型的特点、目的及基本要求==
安全模型的特点:
- 精确的、无歧义的
- 简易和抽象的
- 安全相关的,即只涉及安全性质,而不限制系统的功能及其实现
- 安全策略的清晰表述
安全模型的目的就在于明确地表达这些需求,为设计开发安全系统提供方针。
安全模型基本要求:
- 完备性:所有的安全策略必须包含在模型的断言中
- 正确性:安全性定义是从安全策略导出的安全断言的精确表述
- 一致性:所有的安全策略内在是一致的
- 简明性:模型简单
==状态机模型原理和开发一个状态机的步骤==
状态机模型原理 状态机模型将一个系统描述为一个抽象的数学状态机器。在这样的模型里,状态变量表示机器的状态,转换函数或者操作规则用以描述状态变量的变化过程,它是对系统应用通过请求系统调用从而影响操作系统状态的这--方式的抽象。这个抽象的操作系统具有正确描述状态可以怎样变化和不可以怎样变化的能力。
状态机安全模型的一般开发步骤
- 定义安全相关的状态条件
- 定义安全状态转换条件
- 定义状态转换函数
- 检验环视是否维持安全状态
- 定义初始状态
- 依据安全状态的定义,证明初始状态安全
==BLP 模型(机密性模型)概念==
机密性策略目标:==保障信息不泄露给未授权用户==
Bell-LaPadula模型(简称BLP模型)是D. Elliott Bell和Leonard J. LaPadula于1973年提出的一种适用于军事安全策略的计算机操作系统安全模型,它是最早、也是最常用的一种计算机多级安全模型之一。
在BLP模型中将主体定义为能够发起行为的实体,如进程;将客体定义为被动的主体行为承担者,如数据、文件等;将主体对客体的访问分为r、w、a、x以及c等几种访问模式。c是指该主体用来授予或撤销另一主体对某一客体的访问权限的能力
BLP模型是一个状态机模型,它形式化地定义系统、系统状态以及系统状态间的转换规则,定义了安全概念,制定了一组安全特性,以此对系统状态和状态转换规则进行限制和约束,使得对于一个系统而言,如果它的初始状态是安全的,并且所经过的一系列规则转换都保持安全,那么可以证明该系统是安全的。
BLP 模型的安全策略包括强制存取控制和自主存取控制
BLP模型的安全策略 自主安全策略和强制安全策略。
自主安全策略使用一个访问矩阵表示,访问矩阵第i行第j列的元素Mij表示主体Si对客体Oj的所有允许的访问模式,主体只能按照在访问矩阵中被授予的对客体的访问权限对客体进行相应的访问。
强制安全策略包括简单安全特性和*特性,系统对所有的主体和客体都分配一个访问类属性,包括主体和客体的密级和范畴,系统通过比较主体与客体的访问类属性控制主体对客体的访问。
BLP 模型的优点与不足(隐蔽通道)
BLP中的隐蔽通道 BLP模型主要注重保密性控制,控制信息从低安全级传向高安全级,而缺少完整性控制,不能控制“向上写(write up)”操作,而“向上写”操作存在着潜在的问题,它不能有效地限制隐蔽通道。下图为两个进程利用这个隐蔽通道传递敏感信息的过程。
大多数基于BLP模型实现的多级安全系统,都规定只能向具有和主体安全级相同的客体写入信息,即对BLP模型作如下==修改==。
CLASS(S)、CLASS(O)表示主体与客体的安全级,强制性安全策略定义为
if CLASS(S)>=CLASS(O)
then Read(S,O) or Execute(S,O);
if CLASS(S)=CLASS(O)
then Write(S,O) or Append(S,O)。
BLP模型不足:
- 模型中很难确定系统执行的安全规则的确定性
- 缺乏处理多级客体的关联性
- 不支持应用相关的安全规则
==Biba 模型(完整性模型)==
完整性策略目标:==防止信息未被授权的人篡改==
Biba模型是第一个完整性安全模型
Biba等人在1977年提出了第一个完整性安全模型——Biba模型,其主要应用类似BLP模型的规则来保护信息的完整性。
Biba模型是基于主体、客体以及它们的级别的概念的。==模型中主体和客体的概念与BLP模型相同,对系统中的每个主体和每个客体均分配一个级别,称为完整级别==。
==完整级别由两部分组成: 密级和范畴。==
密级是如下分层元素集合中的一个元素: {极重要(crucial,C),非常重要(very important,VI),重要(important,I)}。此集合是全序的,即C>VI>I。 范畴的定义与BLP模型类似。
完整级别形成服从偏序关系的格,此偏序关系称为支配(≤)关系。
==Biba 模型基本原理及优点、不足 ==
BLP安全模型与Biba安全模型都支持自主安全策略和强制安全策略 BLP和Biba安全模型是基于格定义的安全模型 BLP和Biba安全模型是以形式化定义的
==Biba模型主要目标==:用以防止对系统数据的非授权修改,从而达到对整个系统数据完整性进行控制的目的,对于职责隔离目标,则是通过对存取类的恰当划分方案来实现的。
Biba模型的不足之处主要在于以下几点。
- 完整标签确定的困难性。
- Biba模型在有效保护数据一致性方面不充分。
- 关于Biba模型和BLP模型的结合。
- Biba模型都难以满足实际系统真正的需求。
==Clark-Wilson 安全模型的基本原理 ==
CW模型核心在于==以良构事务为基础的在商务环境中所需的完整性策略==。 良构事务:一个用户不能任意操作数据,只能用一种能够确保数据完整性的受控方式操作数据。 数据项的完整保障由确认数据项仅能被一组特定的程序操作,且这些程序能被验证是经过适当的构造、并且被安装和修改。
==Clark-Wilson 安全模型数据完整性:良构事务+职责分离==
==RBAC 安全模型(基本概念、基本要素构成)==
==基于角色的存取控制模型(RBAC)==提供了一种强制存取控制机制。
在采用RBAC作为授权存取控制的系统中,根据公司或组织业务特征或管理需求,要求系统内设置若干称之为“角色”的客体,用于RBAC授权存取控制机制的实现。
在RBAC机制作为授权存取控制机制的系统,系统管理员负责管理系统角色集合和存取权限集合,并将这些权限(不同类别和级别)通过相应的角色分别赋予承担不同工作职责的终端用户,还可以随时根据业务的要求或变化对角色的存取权限集和用户所拥有的角色集进行调整,传递性的限制。
RBAC系统,明确区分权限(authority)和职责(responsibility)概念。职责之间的不同是通过不同的角色来区分的。