第八章 数据库强制安全机制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第八章数据库强制安全机制

8.1 甲骨文的OLS机制借助安全标签对数据库进行访问控制,为使该机制发挥作用,需要给客体(表,字段,记录)和主体(用户,进程,系统)分配标签。

答:记录; 用户。

8.2 支撑OLS机制的安全模型是OLS-BLP模型,请对比该模型与BLP模型的安全标签的共同之处和不同之处。

答:BLP模型的标签由等级和类别两类元素组成。OLS-BLP模型的标签由等级、类别和组别三类元素组成。

8.3 作为一个应用系统设计者,为了运用OLS机制实施数据库访问控制,主要需要完成哪几项工作?

答:(1)创建安全策略;(2)定义标签元素;(3)创建实际使用的标签;(4)把安全策略(标签)实施到数据库的表或模式中;(5)为用户建立基于标签的访问授权。

8.4 在OLS机制的控制下,主体S想要从数据库中读客体O的信息,试简要描述OLS机制判断是否允许S读O的基本过程,并举例加以说明。

答:(1)用户标签中的等级必须大于或等于记录标签中的等级;(2)用户标签中的组别至少必须包含记录标签中的一个组别,并且用户拥有对该组别的读访问授权;(3)用户标签中的类别必须包括记录标签中的所有类别。见图8.2.

8.5 在OLS机制的控制下,主体S想要把信息写到数据库的课题O中,试简要描述OLS 机制判断是否允许S写O的基本过程,并举例加以说明。

答:(1)记录标签中的等级必须大于或等于用户的最小等级;(2)记录标签中的等级必须小于或等于用户会话标签中的等级;(3)用户会话标签中的组别至少必须包含记录标签中的组别,并且用户拥有对该组别的写访问授权;(4)用户会话标签中的类别必须包含标签中的所有类别;(5)如果记录标签不含组别,用户必须对记录标签中所有类别拥有写访问授权;如果记录标签含有组别,用户必须对记录标签中的所有类别拥有读访问授权。

8.6 只有系统管理员才能创建安全策略,系统自动为每个安全策略创建一个角色,拥有该角色的权限才能操作该安全策略,包括创建和分配安全标签,设系统管理员xsysad创建了安全策略xsecp,请给出授权用xsecad创建和分配安全标签的方法。

答:1.定义等级标签:

BEGIN

sa_components.create_level

(policy_name=>`xsecp`,

long_name=>`Executive Staff`,

short_name=>`EXEC`,

level_num=>9000);

END;

2.创建标签:

BEGIN

sa_label_admin.create_label

(police_name=> `xcecp`,

label_tag=>1,

label_value=>`EXEC`)

END;

3.分配标签:

BEGIN

sa_user_admin.set_user_labels

(policy_name=>`xcecp`,

user_name=>`ALL_EXECS`,

max_read_label=>`EXEC`);

END;

8.7 例8.16,例8.17和例8.18执行了相应的查询操作,为什么得到三个不同的查询结果?答:因为三个例子映射的数据会话标签不同。

8.8 简要说明在OLS机制中给用户分配的安全标签的以下取值的含义,并说明他们的用途:

标签的可能取值;默认的会话标签值;默认的记录标签值。

答:标签的可能取值指的是可以分配给用户的标签的取值范围。默认的会话标签值指的是把用户标签映射为会话标签时分配给会话标签的值。默认的记录标签值指的是当用户插入记录时,在设置了LABEL_DEFAULT选项的情况下,系统自动分配给记录的标签值。

8.9 在OLS机制中给用户分配的安全标签与在BLP模型中给用户分配安全标签的方法有什么不同。

答:OLS的标签由等级、类别和组别三种元素组成,其中,等级元素必须取一个值,而且只能取一个值,而类别和组别元素都可以取0个,1个或多个值。

BLP模型根据主体的地位和客体的敏感性(安全级别)建立访问控制方法,安全级别由等级分类和非等级类别(范畴)组成,等级分类是个数值,可以用整数表示;非等级类别是个集合量,只能用集合表示。

8.10在OLS机制中,设ca,cb,cc是三个类别,ga,gb,gc是三个组别,而且,ga 是gb和gc的父组,用户U的安全等级取值范围是100-200,对ca拥有读和写的权限,对cb拥有读权限,对cc无访问权限,对ga拥有读和写权限,已知若干安全标签如下:用户U的默认会话标签:ld=(150:ca,cb:ga)

用户U的默认记录标签:lr=(100:ca,cb:gb)

记录1的安全标签:lr1=(150)

记录2的安全标签:lr2=(100)

记录3的安全标签:lr3=(150:ca)

记录4的安全标签:lr4=(200:cb)

记录5的安全标签:lr5=(150:cc)

记录6的安全标签:lr6=(100:ca)

记录7的安全标签:lr7=(100:cb)

记录8的安全标签:lr8=(150:cb:ga)

记录9的安全标签:lr9=(150:cb:gb)

记录10的安全标签:lr10=(100:cb,cc:gc)

假如系统设置了LABEL_DEFAULT选项,并且未临时改变过会话标签,用户U正在使用

系统,请分析并回答以下问题:

(1)用户U对哪些记录拥有读权利?对哪些记录拥有写记录?

(2)用户U插入了一条新纪录但未指定其标签,该记录的标签值等于什么?

答:(1)5,10 ;1,2,3,6

(2)lr

8.11 设xusr是OLS机制控制下的任意用户,系统实施的相应安全策略是xsecp,已知xusr不具有对xsecp进行操作的权限,但OLS机制允许用户临时改变会话标签的值,请问xusr能否通过临时改变会话标签的值间接地给自己分配安全标签值,从而获得本不拥有的对某些记录的访问权限?为什么?

答:有可能,当用户xusr通过修改临时会话标签为更高等级的标签,该标签拥有对xsecp 的访问权限即可。例8.34.

8.12讨论:对具有三元标签的记录进行写操作,OLS要求用户会话标签只要包含记录标签中的一个组别即可,但要求用户会话标签必须包含记录标签中的所有分类,在这现实应用中的意义是什么?

答:类别之间无层次,必须逐个处理,比如兄弟;组别之间有层次,比如父与子。

再例如,一个企业,按照地理区域划分为若干区,每个区按照职能进一步划分各部门。

相关文档
最新文档