信息安全工程师教程学习笔记之数据库控制技术

信息安全工程师 责任编辑:长颈鹿 2016-07-20

添加老师微信

备考咨询

加我微信

摘要:全国计算机技术与软件专业技术资格(水平)考试,这门新开的信息安全工程师分属该考试“信息系统”专业,位处中级资格。官方教材《信息安全工程师教程》及考试大纲于7月1日出版,希赛小编整理了信息安全工程师教程学习笔记之数据库访问控制技术,供大家参考学习。

    >>>>>信息安全工程师在线辅导 

   

      >>>>>信息安全工程师培训视频

      全国计算机技术与软件专业技术资格(水平)考试,这门新开的信息安全工程师分属该考试“信息系统”专业,位处中级资格。教材《信息安全工程师教程》及考试大纲于7月1日出版,希赛小编整理了信息安全工程师教程学习笔记之数据库访问控制技术,供大家参考学习。

      一、什么是数据库安全

      数据库安全有两层含义:

      (1)指系统运行安全,系统运行安全通常受到的威胁如下,一些网络不法分子通过网络,局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法,并关闭cpu风扇,使cpu过热烧坏等破坏性活动;

      (2)是指系统信息安全,系统安全通常受到的威胁如下,黑客对数据库入侵,并盗取想要的资料。

      简单来说,数据库安全就是指保证数据库信息的保密性、完整性、一致性、可用性和抗否认性。其中保密性是指不允许未经授权的用户存取、修改信息,只允许被授权的用户对数据进行操作。完整性是指保护数据库中的数据不被破坏、修改或删除。一致性指确保数据库中的数据满足实体完整性、参照完整性和用户定义完整性要求。可用性即指数据库中的数据不因人为或自然的原因拒绝已授权的用户对数据进行存取和访问。抗否认性是保证用户事后无法否认对数据库进行的一系列访问、修改、查询等操作,便于事后分析调查。数据库系统的安全特性主要是针对数据而言的,包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等几个方面。数据库的安全控制技术主要有信息流向控制、推导控制、访问控制,其中应用最广且最为有效的是访问控制技术。访问控制(Access Control)就是通过某种途径显式地准许或限制访问能力及范围,这样就可以限制对关键资源的访问,防止非法用户的侵入或者合法用户的不慎操作所造成的破坏。访问控制技术保证了用户在对数据库操作之前必须先经过授权,是数据保护的前沿屏障。数据库访问控制的基本原理是控制用户和程序对数据库的操作。只有经识别的被允许的用户才有生成、删除和修改信息的权利,对进入数据库的用户,通过不同的权限控制其对数据的操作。访问控制限制了数据库系统中的主体对客体的存取访问权限,以确保系统已经授权的用户只能访问经过授权的数据库中的数据信息,从而防止了非授权用户对数据的访问。从以上得知,我们需要通过一定的限制,那么在对数据库的访问过程中,我们就必须从中采取某种技术,这样,数据库访问控制技术就自自然然地出现了。

      二、数据库的安全特性

      数据库系统的安全特性主要是针对数据而言的,包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等几个方面。下面分别对其进行介绍

      (一)数据独立性:数据独立性包括物理独立性和逻辑独立性两个方面。物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的;逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。

      (二)数据安全性:操作系统中的对象一般情况下是文件,而数据库支持的应用要求更为精细。通常比较完整的数据库对数据安全性采取以下措施:

      (1)将数据库中需要保护的部分与其他部分相隔。

      (2)采用授权规则,如账户、口令和权限控制等访问控制方法。

      (3)对数据进行加密后存储于数据库。

      (三)数据完整性:数据完整性包括数据的正确性、有效性和一致性。正确性是指数据的输入值与数据表对应域的类型一样;有效性是指数据库中的理论数值满足现实应用中对该数值段的约束;一致性是指不同用户使用的同一数据应该是一样的。保证数据的完整性,需要防止合法用户使用数据库时向数据库中加入不合语义的数据(四)并发控制:如果数据库应用要实现多用户共享数据,就可能在同一时刻多个用户要存取数据,这种事件叫做并发事件。当一个用户取出数据进行修改,在修改存入数据库之前如有其它用户再取此数据,那么读出的数据就是不正确的。这时就需要对这种并发操作施行控制,排除和避免这种错误的发生,保证数据的正确性。(五)故障恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。

      三、网络数据库以及数据库访问技术的含义

      网络数据库是网络环境下办公自动化(OA)系统的核心部分。设计一个网络数据库所采用的技术实现方法,其先进性和科学性不仅对软件的开发效率和软件质量有着很大的影响,而且对整个软件的使用和维护有着重大的影响。同时,系统的安全性对于系统的实现同样非常关键。系统不安全的因素包括非授权用户访问计算机网络,授权用户越权访问有关数据库,以及敏感信息在基于TCP/IP网络上的传输。

      一般的数据库开发工具如Delphi 5都提供了一些数据库对象组件,它们封装了BDE的功能。这样,开发数据库应用程序就不必知道BDE的功能。其次,还提供了数据感知组件可以与数据访问组件彼此通信,这样,建立数据库应用程序的界面就变得简单。SQL Links为连接Oracle、Sybase、Informix、Microsoft SQL Server、DB2和InterBase提供了专门的驱动程序,还可以通过ODBC连接其他数据库。这种通过特定的开发工具实现系统与数据库的连接就是数据库访问技术。

      四、主要的数据库访问技术以及相关模型

      (1)、自主访问控制(DAC)。DAC最早在20世纪60年代末期出现,它是根据主体身份或者主体所属组的身份或者二者的结合,对客体访问进行限制的一种方法,其粒度是单个用户。当主体具有某种访问权,同时又拥有将该权限授予其他用户的权利时,他能够自行决定将其访问权直接或间接地转授给其他主体。在自主型存取控制技术中,系统用户对数据信息的存取控制主要是基于对用户身份的鉴别和存取访问规则的确定。当用户申请以某种方式存取某个资源时,系统就对其进行合法身份性检查,来判断该用户有无此项操作权限,以决定是否允许该用户继续操作。并且,对某个信息资源拥有某种级别权限的用户可以把其所拥有的该级别权限授予其他用户。也就是说,系统授权的用户可以选择其他用户一起来共享其所拥有的客体资源。一般自主型存取控制将整个系统的用户授权状态表示为一个授权存取矩阵。当用户要执行某项操作时,系统就根据用户的请求与系统的授权存取矩阵进行匹配比较,通过则允许该用户的请求,对其提供可靠的数据存取方式,否则拒绝该用户的任何访问请求。

      (2)强制访问控制(MAC)。MAC最早出现在20世纪70年代,在80年代得到普遍应用,其理论基础是Bell-LaPadula模型。它的基本思想是通过给主体(用户)和客体(数据对象)指定安全级,并根据安全级匹配规则来确定某主体是否被准许访问某客体。安全级包括两个元素:密级(Classification)和范围(Categories)。主体的安全级反映主体的可信度,客体的安全级反映客体的敏感度。MAC主要采用以下规则分别保证信息的机密性和完整性。为了保证信息的机密性,要求:

      (1)无上读,主体仅能读取安全级别受此主体安全级别支配的客体的信息;

      (2)无下写,主体仅能向安全级别支配此主体安全级别的客体写信息。上述规则保证了信息的单向流动。在强制访问控制下,数据库系统给所有主体和客体分配了不同级别的安全属性,形成了完整的系统授权状态。而且,该授权状态一般情况下不能被改变,这是强制型存取控制模型与自主型存取控制模型实质性的区别。一般用户或程序不能修改系统安全授权状态,只有特定的系统权限管理员才能根据系统实际的需要来有效地修改系统的授权状态,以保证数据库系统的安全性能。强制型存取控制系统主要通过对主体和客体的已分配的安全属性进行匹配判断,决定主体是否有权对客体进行进一步的访问操作。在关系数据库中,运用强制访问控制策略可以实现信息的分析分类管理。这样,具有不同安全级别的用户只能对其授权范围内的数据进行存取,同时也保证了敏感数据不泄漏给非授权用户,防止了非法用户的访问。因而,提高了数据的安全性。

      (3)基于角色的访问控制(RBAC)。RBAC流行于20世纪90年代。RBAC中涉及的基本元素包括用户(User)、角色(Role)、访问权(Permission)和会话(Sessions)。其模型见图1。角色是一组用户和一组操作权限的集合,角色中所属的用户可以有权执行这些操作权限。用户与角色间是多对多的关系,角色与访问许可权之间也是多对多关系。当用户登录到RBAC系统时会得到一个会话,这个会话可能激活的角色是该用户全部角色的一个子集。角色可以根据实际的工作需要生成或取消,而且用户也可以根据自己的需要动态激活自己拥有的角色,这样就避免了用户无意间对系统安全的危害,而且容易实施最小特权原则。由于数据库应用层的角色的逻辑意义更为明显和直接,因此RBAC非常适用于数据库应用层的安全模型。

      主要的数据库模型:

      基本模型RBAC0。该模型指明用户、角色、访问权限和数据库中会话之间的关系。

      层次模型RBAC1。RBAC1在RBAC0的基础上加入了角色继承关系,并提出了公有角色和私有角色的概念。该模型是偏序的,上层角色继承下层角色的访问权。

      约束模型RBAC2。该模型除包含RBAC0的所有基本特性外,还增加了对RBAC0的所有元素的约束检查,只有拥有有效的元素才可以被接受。它加入了各种用户与角色之间、权限与角色之间以及角色与角色之间的约束关系,包括角色互斥、角色最大成员数、前提权限、前提角色等。层次约束模型RBAC3。该模型是对RBAC1和RBAC2的集成,兼有两者的共同内容。

      五、三种访问控制技术比较

      (1)自主型存取控制DAC,一般比较灵活、易用,适用于许多不同领域。目前,DAC已经被广泛应用到各种商业和工业环境。但是,这种控制技术的缺点也是十分明显的,它不能提供一个确实可靠的保证,来满足用户对于数据库的保护要求。由于在这种控制技术中,系统的授权存取矩阵可以被普通用户自主地修改,故系统初始授权定义的存取控制权限极易被旁路。因此必将给数据库系统造成极大的安全隐患。再者,DAC有其致命弱点:访问权限的授予是可以传递的。一旦访问权限被传递出去将难以控制,访问权限的管理相当困难,会带来严重的安全问题;在大型系统中开销巨大,效率低下;DAC不保护客体产生的副本,增加了管理难度。在安全强度要求较高的数据库系统中必须采用强制型存取控制技术,以保证数据信息的安全性。

      (2)强制存取控制技术MAC中,系统对每个主体和每个客体均指定或授权一个安全存取属性,只有合法用户才能存取相应的客体,可以有效地防范特洛伊木马程序的恶意攻击。换言之,主体对客体的访问操作,不但要受自身的安全属性限制,还要受客体安全属性的严格限制。MAC的缺点也很明显:系统的灵活性差。虽然机密性得到增强,但不能实施完整性控制,不利于在商业系统中的运用;并且它必须保证系统中不存在逆向潜信道,而在现代计算机中是难以去除的,如各种Cache等。

      (3)RBAC实现了用户与权限的关联同时也实现了用户与权限的逻辑分离。对于一个存在大量用户和权限分配的系统来说,从大量的用户管理转为管理、操纵少量的角色,这样简化了权限分配管理,提高了安全管理的效率和质量,并且能够直接反映企事业单位的内部安全管理策略和管理模式。RBAC模型可以有效表达和巩固特定事务的安全策略,有效缓解传统安全管理处理的瓶颈问题。在RBAC模型中,将若干特定的用户集合和某种授权连接在一起。这样的授权管理与个体授权相比具有强大的可操作性和可管理性,因为角色的变动远远少于个体的变动。通过引入RBAC技术,大大简化了授权管理,用户可以轻松地进行角色转换。

      总得来说,通过对3中数据库访问控制技术的对比,我们不难发现,RBAC更具优越性。因为无论从数据库的用户量,权限管理,数据库的效率以及安全性,RBAC比前面两种技术都有比较明显的优势。


    返回目录:信息安全工程师教程学习笔记之系统安全汇总(一)


    希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括在线辅导面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!