您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > 金融信息安全(6)-访问控制
金融信息安全-访问控制李改成lgc@ss.pku.edu.cn主要内容•访问控制系统概述–访问控制系统组成、数学模型–策略类型、策略语言–安全策略的设计原则•自主访问控制–访问控制列表、能力、授权证书•多级安全–BLP模型–Biba模型•访问规则、信息流分析–Lipner完整性矩阵模型–多级安全系统的建立•可信平台模块、安全操作系统、软件沙箱•多级安全系统的困难主要内容•多边安全–长城模型–个人信息保护•访问规则、实现技术•基于角色的访问控制–模型的组成–组织中的角色•事务完整性模型–身份完整性–过程完整性•职责隔离和过程授权–日志完整性访问控制策略模型•访问控制是实现各种安全属性的核心技术,是安全工程与计算机科学的结合点。•访问控制是按事先确定的规则决定主体对客体的访问是否合法。–通过身份认证的用户,只是拥有了进入应用系统和数据库的“凭证”,但用户能读或写服务器上的哪些数据、执行那些交易,如何与其他主体共享数据等,就要依靠“访问控制”的权限分配和约束。–根据具体应用,可采取不同粒度的访问控制。•访问请求–包含访问者信息,访问请求信息,目标信息,上下文信息。•访问者信息指用户的身份、权限信息(授权证书信息)等;•访问请求信息包括访问动作,如读写、执行、搜索等的信息;•目标信息包含资源的等级敏感度等信息;•上下文信息主要指影响决策的应用端环境,如会话的有效期等。访问控制模型•策略实施点–策略•描述了对系统中实体和行为的约束,策略是独立于机制的。假设一个系统接入到Internet,用户启动了Web浏览器,Web浏览器从远程站点下载程序并在本地执行,本地系统的策略会约束下载程序的功能范围。–应用内实现访问控制的一段代码或者监听程序。它截获访问者发出的对某一目标的访问请示,对请求进行处理,根据用户信息、操作请求和目标形成决策请求,发给决策点。•策略决策点–一个判断逻辑,如访问控制代码中的判断函数。决策单元和执行单元不必是分开的模块。–它根据用户权限,策略规则对决策请求进行判断,并将决策结果返给策略执行点,允许/拒绝策略执行点根据决策结果执行访问或拒绝访问系统。–决策单元中包含访问控制信息,能够提示攻击者哪些用户具有访问权限。为了防止攻击者获得这些信息,访问控制文件的内容应该是保密的。访问控制的实现方式•访问控制实现有以下三种方式,访问控制代码,服务器插件和代理服务器。–基于应用的方式(ApplicationBased)在应用程序中使用进行访问控制的代码,在应用程序内部对访问请求进行直接的控制和处理。–服务器插件方式(Plug-InBased)针对应用服务器(如Web)建立服务器的安全插件,在服务器上对请求进行处理,可以与具体的应用服务器紧密集成,插件可以在相同的应用服务平台上重复使用。–代理方式(ProxyBased)在用户和应用服务器之间建立访问控制代理服务器,对访问请求进行处理后,允许的访问被转发到应用服务器。•访问控制实现部件可以–位于通路两端,如VPN机,加密路由器,加密防火墙等–使用门卫模式,在应用层到链路层,从探测设备到安全网关等出入关控制设备等控制系统–或使用内部控制模式,在应用层或表示层实现访问控制决策。安全策略的数学模型•在系统模型Σ(R,D,W,z0)中,有下列元素:–访问请求集R:用于请求访问系统受控资源。–决策集D:{yes,no,error,?},请求决策,其中yes为许可,no为拒绝,error为错误,?表示未决。–状态集V:由模型中的状态变量构成,不同的系统变量值就构成了不同的系统状态实例。–定义W⊂R×D×V×V。–z0为系统的初始状态。•一个元素t∈{0,1,2,…,t,…}表示一个离散时刻,可以作为一个有关请求、决策和状态序列以及状态元素的索引。–例如,zt是状态序列z中的第t个状态。•设x是请求序列,y是决策序列,z是状态序列,当且仅当T中的任何一个t=1,(xt,yt,zt,zt-1)∈W都在系统Σ(R,D,W,z0)中,有(x,y,z)∈Σ(R,D,W,z0)。安全策略•安全策略把状态分割为一个授权状态集和一个非授权状态集。当一个系统进入了一个非授权状态,则称出现了安全违反。•例如,设一个有限状态机由4个状态和5个变换组成,有授权状态集A={s1,s2}和非授权状态集UA={s3,s4}。–在这个系统中,尽管系统是从授权状态开始的,但是由于其可以进入一个非授权状态,所以它并非一个安全系统。–如果没有从s1到s3的边(t3),则该系统就是一个安全系统。安全策略类型•访问控制策略有许多类型,以下几个因素是产生不同类型的主要原因:–在哪一个级别上作授权决策。–用户和/或目标用哪种方法被连在一起以达到共同操作的目的;–策略的哪些扩展可根据由系统部件自动实施的一般规则来陈述。•自主式策略(DAC)–访问权限基于主体和客体的身份。个人用户可以设置控制机制来许可或拒绝,客体的拥有者通过允许特定的主体进行访问,以限制对客体的访问。–如何分组用户和目标有很大的灵活性,其范围可从单个用户和目标的清晰识别到广阔的组的使用。–自动访问控制策略的弹性使它适合于多种系统及应用,如windows、unix等。•强制式策略(MAC)–主体和客体的拥有者都不能决定访问的授权。系统机制通过检查主体与客体的相关的信息来决定主体是否可以访问客体。–基于能自动实施的系统规则,规则描述允许访问的条件。–为将这样的规则付诸实施,用户和目标必须使用一个很广阔的组。•例如,法律允许法庭在未经拥有者允许的情况下查看其驾驶纪录就是强制访问控制,因为记录的拥有者不能控制法庭对信息的访问。安全策略类型–强制存取控制通过安全级来强制性约束主体对客体的存取,其安全性比自主访问控制的安全程度高。–强制访问控制的主要缺陷在于实现工作量太大,管理不便,不够灵活,同时,对其他方面如系统连续工作能力、授权的可管理性等考虑不足。•除了DAC和MAC外,系统还可基于客体的创建者进行数据访问,称为创建者控制访问控制,并可通过使用附加的控制来进一步强化这些策略。这些附加的控制包括:–1)依赖于值的控制有时,目标的敏感性会依据当前存储的数据值而改变。例如,对超过某临界值的金额的账号的信息也许要比相同的公司数据库的其他合同提供更强的保护。–2)多用户控制–3)基于上下文的控制允许访问控制策略在确定一个目标时依靠外部因素,例如时间、用户的位置、通信路径、认证强度。例如,访问一个特定的目标可能只有在工作时间并在公司允许的电脑上才可以访问。访问控制策略的组合使用•对于相同的信息结构,可能具有不同的访问控制粒度,不同级别的粒度可能在逻辑上有截然不同的访问控制策略和采用不同的访问控制机制。•一般地,可组合使用这些策略进行系统地访问控制,当多种策略运用于一个目标时,有必要建立一些关于这些策略之间如何协调的规则。•在一个包含多个安全区域的路径上提供访问控制时,有时可能需要在一个安全区域的边界翻译、映射、访问控制一个伴随一个访问请求的信息。这是由于在临近的区域有不同的安全策略所导致的。例如:–标识符映射;–角色名称映射;–一个区域中的个体在另一个区域中映射为角色。策略语言•策略语言是描述安全策略的语言。–高级安全策略语言使用抽象的方法来表达对实体的策略约束。其准确性依赖于策略的数学公式或程序公式,而普通语言是不够准确的。–低级策略语言则根据系统中程序的输入或调用选项来表达约束。设计原则•Saltzer和Schroeder提出了8条设计原则,充分体现了简单性与限制性的思想。–简单性•在配置复杂的情况下,容易出现安全漏洞,因而要尽量降低安全机制的复杂度。•简单性减少了安全策略之间的潜在的不一致性,简单的设计更不易出错,例如,减少系统构件交互的次数将直接减少构件间传输数据的合理性检查次数。•而且,简单性也增强了设计与实现的可理解性。。•限制性要求只有在必要时实体间才进行通信,并且通信只使用尽可能少的方法,从而使得实体只能访问其所需要的信息,减弱了实体的能力。若干限制性规则•实施最小权限–最小权限原则规定只授予主体用于完成任务所需的权限,要求进程应该被限制在尽可能小的保护区域之内。•自动防护缺省原则–除非显式授予某主体对特定客体的访问权,否则此主体必须被拒绝访问该客体。–要求如果主体不能完成其操作或工作,应当注意在操作或工作终止之前撤销它对系统安全状态的改变。当一个进程对敏感对象(包括秘密信息)使用完后,这些对象应该对删除、释放或者清除。若干限制性规则•假定外部系统是不可信的。远方的主机可能是不可信的,对环境作了不正确假定的安全机制。在配置复杂的情况下,容易出现,因而要尽量降低安全机制的复杂度。•完全仲裁原则要求所有对客体的访问都要经过检查,以保证访问的合法性。–文件完整性检查工具能够在一定程度上检验出文件是否被篡改,但是在检查间隔内黑客仍可能改变文件。–“第二次访问”请求如果不进行检查,则会导致违反完全仲裁原则:–在unix中,进程向系统内核出示一个文件描述符,该文件描述符指示了所允许的访问操作。如果文件拥有者在文件描述符签发后就拒绝了进程的读请求,系统内核将仍允许这次访问。若干限制性规则•权限分离原则规定系统不根据单一条件签发文件访问许可。–例如,超过一定金额的交易必须由两名以上的操作人员完成。类似地,系统与程序在对资源访问授权时也应至少满足两个条件,这种方法提供了一种资源的细粒度访问控制,同时对访问的合法性通过了额外保证。•最小公共机制原则–资源共享提供了信息传输的通道。用于访问资源的机制不应被不适当地共享,这些机制可能位于系统的不同层次。这一原则起源于对拒绝服务攻击的处理,因为拒绝服务攻击利用了共享资源。–最小公共机制原则可用于处理隐通道问题。自主访问控制•访问控制列表(ACL)广泛用于用户自行管理其文件安全的场合。•在Unix系统中,访问控制列表通常标志一个文件是否是一个目录,所有者、组和其它人的读写和执行权限,并且具有所有者和组的名字。–例如,一个文件的访问列表可以是•-rw-r—–---AliceAccounts•代表所有者可以读写,组可以读,其他没有访问权限,文件所有者是Alice,组是Accounts。–访问决策基于程序所关联的用户号,系统启动时获得控制权的程序关联到超级用户号0,具有无限权限,可以访问任何资源,成为任何用户等。•以特权用户身份运行的程序包括网络服务程序HTTPServer、FTPServer、MailServer访问控制列表•文件的suid和sgid属性可以间接地实现(用户,程序,文件)控制三元组–suid/sgid程序是Unix一项特殊技术,普通rwx之上加上s位,文件的suid标记或sgid标记使它可在所有者权限下而不是在调用者权限下运行。–然而,文件的suid标记或sgid标记经常是不适当的。•人们通常不去认真思考问题,而是简单地将suid置为超级用户,这会导致严重的安全隐患:大部分程序员经验不足或安全意识不强,从而为他们的代码赋予了过多的权限,用户可通过调用具有超级suid的程序控制整个运行环境,从而导致保护失败。访问控制列表•WindowsNT系统也大量使用访问控制列表。–与unix的不同是:它添加了拥有、修改权限和删除,而不只是读、写和执行,因而可进行更灵活的授权。这些属性可用于组,这样可达到unix中的sgid机制所能达到的功能。权限属性不简单地进行开关,而是可以设置:访问拒绝、访问允许和系统审计。这样,进行日常配置操作是可以不必使用完全的管理员权限。访问控制列表的局限性•首先,访问控制列表不能很好地表达变化着的状态,难以管理有状态的访问规则,如果需要进行实时安全检查,效率会下降。同时,难以追踪文件的打开状态,导致操作系统必须在文件访问时查看访问控制列表,或以某种其它方法跟踪活动着的访问权限。•其次,将访问规则分散在各个访问控制列表会造成:要找到一个用户拥有权限的所有文件是困难的。例如,要取消一个离职员工的访问权限,通常只有通过撤销其口令和其它认证机制。•ACL存在一些根本性的问题,从而无法满足Web应用这样的新兴分布系统的安全需
本文标题:金融信息安全(6)-访问控制
链接地址:https://www.777doc.com/doc-250246 .html