《计算机系统安全》课件第3章_第1页
《计算机系统安全》课件第3章_第2页
《计算机系统安全》课件第3章_第3页
《计算机系统安全》课件第3章_第4页
《计算机系统安全》课件第3章_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章访问控制策略3.1访问控制3.2访问控制策略3.3安全核与引用监控器3.4访问矩阵模型习题

3.1访问控制

访问控制是依据一套为信息系统规定的安全策略和支持这些安全策略的执行机制来实现的。为了能够进行更深入的讨论,将安全策略和访问控制的实现机制分开讨论是有益的。3.2访问控制策略

安全策略(也称保护策略)是关于信息系统安全性的最高层次的指导原则,是根据用户的需求、设备情况、单位章程和法律约束等要求选定的。在企事业单位的信息系统的每一个层次,从管理活动到硬件保护都要做出安全性决策。3.2.1关于安全性管理方式的策略

(1)采用集中控制还是分散控制。集中控制是由一个单一的授权者控制系统的所有安全性侧面。

(2)采用所有权的概念还是管理者的概念。3.2.2访问控制的规范策略比较重要的访问控制策略包括以下一些:

(1)最小权限策略。

(2)最大共享策略。

(3)访问的开放与封闭。

(4)离散访问控制。

(5)自主访问控制DAC(DiscretionaryAccessConrtol)。

(6)强制访问控制MAC(MandatoryAccessControl)。

(7)内容相关与其他访问控制。3.3安全核与引用监控器

引用监控器的关键作用是对主体到客体的每一次访问都要实施控制,并对每一次访问活动进行审计记录,就好比用户与目标之间带护卫的大门。当用户需要访问目标的时候,首先向监控器提出访问某个目标的请求,监控器根据用户请求,核查访问者的权限,以便确定是否允许这次访问。计算机系统安全内核的主要组成部分就是引用监控器。引用监控器的逻辑结构如图3-1所示。图3-1引用监控器

引用监控器及其对应的安全核必须满足以下三个原则:

(1)完备性原则。

(2)隔离性原则。

(3)可验证性原则。

引用监控器模型的优点是易于实现,但它有以下不足:

(1)引用监控器主要还是作为单级安全模型来使用的,受监视的目标要么允许被访问,要么不允许被访问。

(2)系统中所有对受监控目标的访问要求都由监控器检查核实,监控程序将被频繁调用,这将使监控器可能成为整个系统的瓶颈,影响系统效率。

(3)监控器只能控制直接访问,不能控制间接访问。3.4访问矩阵模型3.4.1模型描述访问矩阵模型的结构是基于状态和状态转换的概念定义的。这里的状态是用访问矩阵表示的,状态转换是用命令描述的。通过对计算机系统访问控制的抽象,在对应的访问矩阵模型中定义了三类要素:

(1)系统中的客体集合O。

(2)系统中的主体集S。

(3)系统中主体对客体的访问权限集合R。

访问权说明在不同客体上可以执行访问操作的种类。对存储区段和文件的访问权通常包括r(读)、w(写)和e(执行)。有些系统还有所谓的append(附加)权,它允许主体把数据增加到某个客体的末尾,但不允许覆盖客体中已有的数据。某些权利是通用的,可以应用到多种类型的客体上,如r、w、e都是通用的,通用权的个数是有限的。有些客体是属于某人或某团体专有的,例如打算长期存储的用户数据和某些文件。对这类客体需要具有own权(拥有权)。具有own权的主体可以对其他主体授予或撤消对该客体的访问权利。但也不是所有应用中都包括这一概念。在基于访问矩阵的访问控制模型中,此访问矩阵有类似于表3-1所示的构成。表3.1访问矩阵示例在访问矩阵模型中,系统中状态的改变取决于访问矩阵M的改变。一个独立的状态机构成一个系统,因此访问矩阵也称为系统的“保护状态”。Graham和Denning建议用监控器(monitor)与客体连接,形成访问控制器,用以控制对客体的访问。如上一节所述,引用监视器的任务是确保只有那些在访问矩阵中获得授权的操作才被允许执行。当A[s,o]中不包含所需权利时,客体o的监控器就阻止主体s对其的访问。监控器可以用硬件或软件的组合实现。例如,核对地址是否在进程的存储器界限之内是硬件监控器的一个例子。使文件的访问请求生效的文件系统是监控器的另一个例子。数据库系统同样可以用访问矩阵模型加以描述。在数据系统中,主体通常是用户,客体是文件、关系、记录或记录中的字段。每一项A[s,o]都是一条访问规则,说明用户s可以访问客体o的条件和允许s在o上完成的运算。访问规则是访问权概念的推广。规则可能说明内容无关条件(即能否访问的条件与被访问的客体的内容无关)或内容相关条件(即能否访问的条件与被访问的客体的当前内容有关)。相关的概念还包括:

·时间相关:是时钟的函数。例如,某银行允许各单位在上午8点到11点之间提出单位的工资。

·上下文相关:是某种数据集合的函数。例如,允许用户查看职工工资,但不允许配对查看。

·历史相关:是前面系统状态的函数。例如,把机密工程计划分为若干部分,仅允许一般人员看其中少量的分计划。为了实行这一点,就要保存用户的访问记录以便约束用户新的请求。数据库的访问规则通常以四元组(s,o,r,p)的形式给出,其中:

s,o

表示该规则的服务对象(即该规则在矩阵中的位置);r表示访问权;p是谓词表达的相关条件。例如:设EMPLOYEE是一个关系,其属性是EMPNAME,PERSNO,ADDRESS,TELNO和SALARY。如果工资单管理员只能读月工资不大于200元的雇员的属性,则访问规则可写成:(s,o,r,p)=(工资单管理员,EMPLOEE,READ,SALARY≤200)

p可由数据谓词Pd(如上面的SALARY≤200)和系统谓词Ps(如表示访问时间限于8≤t≤11)组成。由于数据库的访问规则远比操作系统中的访问权复杂,检查规则的存在性和合法性需要时间,因此,访问控制不仅需要访问规则,还必须有一个生效过程,以保证对数据库的所有访问都是根据规则进行的。生效过程的大致情况如图3-2所示。用户提出访问请求,经应用系统的鉴别后,对此请求解释,并以(s,o,r,p)形式传给生效过程。过程检查是否有(s,o,r)类型的规则。若有,检索计算谓词p的保护数据,用保护数据判断谓词p的真假。若为真,则处理该请求;若p为假或不存在(s,o,r)类型的规则,则拒绝该请求。图3-2访问生效过程

3.4.2状态转换保护系统的状态变化体现为访问控制模型的变化。系统状态的转换是依靠一套本原命令来实现的,这些命令是用一系列改变访问控制矩阵内容的本原操作来定义的。在访问矩阵模型中定义了6种本原操作,如表3-2所示。表3-2本原命令的执行条件与结果这些操作是以访问矩阵中一定的主、客体和权利是否存在为条件的,并负责对系统保护状态监控器进行控制。假定在这些命令执行前,系统的保护状态是Q=(S,O,A);当某条命令执行后,系统的保护状态变为Q′=(S′,O′,A′)。表3-2说明了每条命令执行的条件与执行后形成的新状态Q′。命令的一般格式为:

commandC(x1,x2,…,xk)

if

r1inA[xs1,xo1]and

r2inA[xs2,xo2]and

rminA[xsm,xom]

then

op1

op2

opn

end这里:r1,r2,…,rm都表示权利;s1,s2,…,sm和o1,o2,…,om都是1到k之间的整数。一个命令的条件可能是空集(即m=0)。但是,我们假定每一条命令至少完成一个操作。例如:

createsubjects;创建一个主体s

createobjecto;创建一个客体o

destroysubjects;撤消一个主体s

destroyobjecto;撤消一个客体o

设op是一个本原操作(或本原运算),Q=(S,O,A)是系统的保护状态。在状态Q中,op的执行导致状态Q转换到状态Q′=(S′,O′,A′)。这一转换用符号表示为:QQ′(读作Q在op下推导出Q′)。设c(a1,a2,…,ak)是具有实际参数a1,a2,…,ak的一个命令,那么在c(a1,a2,…,ak)的作用下,状态Q转换为Q′可写成

Q=

Q′或简写为

Q

Q′但需要注意:命令要么被完整地执行,要么不被执行;只要有一个条件没有满足,命令就不被执行。因此,有以下规定:

(1)如果c中有一个或多个条件不满足,那么Q′=Q。

(2)否则,Q′=Qn,这里存在状态Q0,Q1,…,Qn,使得Q=Q0

Q1

Qn。其中,op1,…,opn是命令c中的运算序列,但每个opi中的形式参数xi已代之以实际参数ai。如果命令c使得Q

Q′,则写成Q

Q′。如果存在长为n≥0的命令序列,使得Q=Q0

Q1…Qn

Q′,我们将写成Q*Q′。

【例3-1】

以下是一些利用命令实现访问权限管理的例子。

(1)任何进程都可以创建一个文件,自动地给所创建的文件赋予所有权和对文件的r-访问权、w-访问权。这可以用以下命令表达:

commandcreatefile(p,f)createobjectf

enterownintoA[p,f]

enterrintoA[p,f]

enterwintoA[p,f]

end(2)对文件f有所有权的进程p,可以把对f的任何权利(除所有权外)转授给其他进程。例如,进程p可以用以下命令向进程q授予r-访问权:

commandconferread(p,

q,

f)ifowninA

[p,f]

thenenterrintoA

[q,f]

end(3)访问权的撤销是一个有争议的问题。不过,我们将假定一个客体的拥有者可以在任何时刻撤销对该客体的访问权。例如,进程p可以用以下命令撤销进程q对f的r-访问权:

commandrevokeread(p,q,f)ifowninA[p,f]

thendeleterfromA[q,

f]

end(4)某些系统允许主体把自己对一个客体的访问权转授给另一个主体,只要它持有这一权利而无需具备拥有权。下面的命令从进程p转授r-访问权给进程q,但没有给q进一步的转授权(命令中的“*”表示权利r是可复制的标记):

commandtransferread(p,q,f)ifr*inA[p,f]

thenenterrintoA[q,f]

end

或者,一个进程可以转授一个访问权,但需要没收转授者自己的这个权利,这可用惟转授标记(+)表示。下述命令描述了这一功能:

commandtransferonlyread(p,q,f)ifr+inA[p,f]

thendeleter+fromA[p,f]

enterr+intoA[q,f]

end(5)某些系统允许一个进程产生许多下属子进程,并控制它的子进程的访问权。例如,进程p能利用下述命令创建一个具有存储段m的下属进程q:

commandcreatesubordinate(p,q,m)createobjectm;

enterctrlintoA[p,

q];

enterrintoA[q,m];

enterwintoA[q,

m];

entereintoA[q,m];

上述命令给进程p对q的ctrl(控制)权,允许它取用或撤销q的权利,包括由其他进程授予q的那些权利。又例如,下述命令赋予p可以对q的存储段m进行访问的r-访问权:commandtakesubordinateread(p,q,m)ifctrlinA[p,q]andrinA[q,m]

thenenterrintoA[p,m]

end下述命令撤销q对文件f的r-访问权:

commandrevokesubordinateread(p,q,f)ifctrlinA[p,q]thendeleterfromA[q,f]

end(6)为了方便起见,可以利用析取式的形式把多个命令组成一个命令。例如,可以把命令revokeread和revokesubordinateread组成一个命令:

commandrevokeread(p,

q,f)ifowninA[p,

f]orctrlinA[p,q]

thendeleterfromA[q,f]

end

但这种组合形式的命令实际上等于两个分离的连续命令。因此,在后面的讨论中仅使用单个命令形式,而不使用组合命令的形式。如果把表3-3中的访问矩阵作为系统初始保护状态,那么在执行下述命令后,系统的新保护状态可由表3-4中的访问矩阵表示。表3-3系统的初始状态createsubordinate(p2,p3,

m3);

takesubordinateread(p2,p3,m3);

takesubordinatewrite(p2,p3,m3);

conferread(p2,p3,f2);表3-4执行命令后的新状态3.4.3模型评价访问矩阵模型具有以下优点:

·

简明:易懂、易理解、易证明。

·

通用:有能力综合不同策略和应用于多种实现。

·

精确:有能力忠实地反映策略和系统形态。

·

与数据式样无关。具体来说它能够应用于以下几个方面:·为研究提供框架。·用作设计工具。·可作为证明“设计与实现”的正确性工具。·用作教育工具。·用作比较和评估的工具。·如果不详细检查整个访问矩阵,很难保证系统的安全性。·在大型系统中,访问矩阵非常庞大,但其中很多元素是空的,因此以矩阵的方法来实现访问矩阵是不太现实的。

·

由于客体的拥有者能够授予或取消其他主体对该客体的访问权限,这就很难预测访问权限是在系统中如何传播的,给系统的管理造成了很大的困难。

·不能防范特洛伊木马。3.4.4模型的实现方法

1.访问控制列表(AccessCo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论