数据存取(Data Access)
目录 |
数据存取是指数据库数据存贮组织和存贮路径的实现和维护。
数据存取是按照优化的存取按排进行实际的存取操作,它完成以下任务:
1.提供一次一个元组的查询,插入、删除、修改等基本操作。
2.提供元组查询所循的存取路径以及对存取路径的维护操作。
3.对记录和存取路径封锁,解锁操作。
4.日志文件的登记和读取操作。
为了完成以上任务,数据存取包括以下子系统:
·记录存取,事务管理子系统。
·排序/合并子系统
·存取路径维护子系统
·封锁子系统
·日志文件登记子系统
记录存取,事务管理子系统提供按属性值直接取一个元组或顺序取一个元组的存取原语,以及控制事务的操作。存取原语包括:按属性值找元组,按相对位置找元组,给关系增加一个元组,从元组中取一个属性值,从关系中删除一个元组,把修改的元组写回关系中。控制事务的操作包括:定义事务开始、事务提交、事务滚回等。
排序/合并子系统提供对关系元组重新排序的功能。其主要用途如下:
·输出有序结果。
·删去重复值。
·支持合并扫描的连接操作。
·支持动态建立索引结构。
·减少数据块的存取次数。
总之,排序操作是数据存取中经常调用的操作,它对提高系统效率具有关键的作用。因此,排序/合并子系统应尽量采用高效的算法。
存取路径维护子系统是当对数据执行插入、删除、修改操作时要对相应的存取路径进行维护。例如,用B+树索引作为存取路径,则对元组进行插入、删除、修改操作时要对元组所在的、表上已建的所有B+树索引动态维护,插入,删除相应的索引项,否则,就会造成B+树索引与数据库表的不一致。
解决并发控制带来的问题最常见的方法是锁的方法。一个对象一旦被一个事务(T1)用加锁(LOCK)方式被锁上,则另一个事务(T2)就不能存取它,除非该对象由T1通过解锁(UNLOCK)将锁释放;锁有各种类型,不准任何存取操作的锁称为排外锁,只允许其它事务对加锁对象进行读的锁称为共享锁。排外锁与共享锁不能同时加在一个对象上。当两个事务都等待彼,此的解锁时,则出现了死锁现象,通过检测、解锁,可以避免这种现象。封锁子系统就是完成封锁、解锁和死锁处理。
日志登记子系统是用记录系统中发生的每一件事来表达系统活动的过程,在日志文件中记录了存取的对象、改变的数据、事务代码和/或断言和所有其它并发活动及系统状态变量的变化。当发生失败事件时,数据库系统要利用日志文件中这些信息进行恢复数据库。其恢复方法有两种,即向后恢复(利用日志文件来取消这些未完成事务所作的变化)和向前恢复(数据库由最后一个备份版本恢复出来,再由日志文件重做自此版本后的所有改变)。
数据存取安全主要考虑以下三个方面。
1.数据存储安全
对有数据信息存储的文件或数据在访问或输入时均设置监控措施。
2.数据的存取控制安全
从信息系统处理角度对数据存取提供保护,存取控制需与操作系统密切配合,同时又与系统环境和操作方式的关系极大,时常会因为这方面出现问题而带来损失和危害。在建立计算机系统时必须十分慎重地处理这方面的问题。
3.数据传输安全
数据传输安全是指确保在数据通信过程中,数据信息不被损坏或丢失,这方面的保护方法有以下几种。
(1)链路加密。对通信网络中两个节点之间的、单独的通信线路上的数据进行加密保护。
(2)点到点保护。在网络中,数据提供从源点到目的地的加密保护。
(3)加密设备的管理。对加密设备的使用、管理、保护都有完整、有效的技术措施;同时,在数据传输的安全中,也必须防止通过各种线路与金属管道的传导泄漏电磁波形成的辐射泄漏。因此,必须采取相应的保护措施,包括选用低辐射显示器、可靠的接地以及计算机的设计应符合国家安全标准的规定等。
根据业务和安全的要求,应当控制对信息的访问和对业务程序的访问。
(1)用户访问管理
用户访问管理的目的是防止对信息系统的未经授权的访问。应当由正规的程序来控制对信息系统和服务的访问权限分配,这些程序应当覆盖用户访问全过程的所有阶段,从用户的最初注册到不再需要访问信息系统和服务的用户最终的注销。适当的情况下,应当特别注意控制特权访问权限的分配,因为这些特权允许用户超越系统控制。
1.用户注册
为了授予对一个多用户的信息系统和服务的访问权限,应当由一个正式的用户注册和注销程序,通过正式的用户注册程序来控制对于多用户信息服务的访问。对企业内部职工,如果有未经授权的访问时要接受处罚,建议在员工合同和服务合同中包含相关规定的条款。
2.特权管理
对系统特权的不当使用经常成为导致信息系统产生故障的一个主要因素,所以应当通过正式的授权程序来控制对特权的分配。
3.用户密码管理
密码是一种访问信息系统或者访问时确认用户身份的常用方式。应当通过正式的管理程序来控制密码的分配,但无论如何,密码都不能以一种未受保护的形式存储在计算机上。可以使用其他的用户识别和授权技术,如指纹鉴定、签字确认和硬件标识等技术。
4.用户访问权限的复查
为了保持对数据和信息服务的存取访问的有效控制,管理层应当实施一个正式的程序蔫鬻臻来定期复查用户的访问权限,使得用户的访问权限得到定期复查(推荐周期是6个月)并在;做任何改动后进行复查;对特殊的特权访问权限应当以更高的频率来检查;推荐周期是3个月;定期核查特权分配,以确保无人得到未经授权的特权。
(2)用户责任
得到授权的用户进行合作是有效的安全基础。为了维持有效的访问控制,应当让用户知道他们的责任,尤其是有关密码使用和用户设备的安全方面的责任。
1.密码使用
用户应当按照良好的安全操作规程来选择和使用密码。密码提供了一种验证用户身份的手段,从而建立了对信息处理设备和服务的访问权限。
2.无人值守用户设备
用户应当确保无人值守设备得到足够的保护。应当让所有的用户和合作伙伴明白无人值守设备的安全要求和安全程序,并使其清楚自己的责任。
(3)网络访问控制
网络访问控制的目的是保护网络服务,控制对内部和外部网络服务的访问,这对于确保有访问权限的用户不损害这些系统的安全是必要的。为此,要确保在本组织的网络和其他组织的网络之间有适当的接口,对用户和设备有适当的授权机制,以对用户访问信息服务进行控制。
1.网络服务的使用策略
与网络服务不安全的链接会影响到整个组织,只应当向用户提供对那些特别授权他们使用的服务进行直接访问。这种控制对于与敏感或者关键业务应用软件的联网或者与处于高风险地区的用户的联网都是十分重要的。其中高风险地区指公共的场所或者组织的安全管理范围以外的区域。当然,这一策略应当与业务访问控制策略相一致。
2.强制路径
从用户终端到服务器的路径需要进行控制。网络被设计成要允许最大程度的资源共享和最大程度的路径选择自由,而网络的这些特征也可能为那些对业务应用软件未经授权的访问或者对信息设备未经授权的使用制造了机会。限制用户终端与允许用户访问的服务器之间路径的联合管理措施,能够降低这种风险。
强制路径的目的是防止用户选择了任何用户终端与允许用户访问的服务器之间路径的其他路径。
3.外部连接的用户认证
外部连接可能导致对信息系统未经授权的访问。因此,应当把远程用户的访问置于比其他方式更为严密的保护之下,耍从风险评估中确定所需保护的等级,这点十分重要。而且选择恰当的认证方法时也需要。
可以通过多种方式验证远程用户的身份,例如加密技术、硬件标识或者询问/应答协议。也可能用专用线路或者网络用户地址检查设备来确认连接的来源。
拨号回送程序和控制措施,能够防止对一个组织的信息处理设备的未经授权的和有害的连接,这种控制能够鉴别那些远程访问的用户。
4.节点鉴别
自动连接到远程计算机的设备能够提供一种途径,从中可以获得对业务应用软件的未经授权的访问。因此应当认证连到远程计算机系统的连接,如果连接使用的网络在组织的安全管理的控制范围以外,这种做法就尤其重要了。
5.远程诊断接口的保护
应当安全地控制对诊断接口的访问。为了方便维护工程师的使用,许多计算机和通信系统安装在一个拨号远程诊断设备之中。如果未加保护,这些诊断接口就为未经授权的访问提供了途径。因此,应当用适当的安全机制对其加以保护,例如一个密码锁和一个保护程序。通过在管理员和需要访问通路的硬件/软件支持人员之间所做的安排,该程序确保了诊断接口只能由他们访问。
6.网络隔离
网络日益被扩展到传统的组织边界以外,例如业务伙伴关系的形成可能需要互联或者共享信息处理和网络设备。网络的这种扩展可能加大使用网络的现有信息系统受未经授权的访问的风险,由于有些网络的敏感性或者关键性,它们可能需要其他网络用户的保护。在这种情形下,应当考虑在网络中引入管理措施来隔离不同的信息服务、用户和信息系统。
大型网络安全管理的方法之一就是将其分解为独立的逻辑网域,再将被连接起来以控制两个域之问的访问和信息流的两个网络之间安装一个安全网闸,形成安全边界。安全网闸可以用来过滤这些域之间的通信,并能够按照访问管理措施堵住未经授权的访问。
7.网络连接管理
共享网络访问控制策略的要求,特别是那些跨越组织界线的关系网络,可能需要把控制措施结合起来以约束用户的连接能力。这种控制措施可以由一个用预先拟定的表格或者规则过滤通信的网络门路来实现。所用的这种约束措施应当基于访问控制策略和业务应用软件的需要,因此应当加以维护和更新。
8.网络路径选择控制
共享的网络,尤其是那些跨越组织边界的网络,可能需要把路径选择管理措施结合起来以确保计算机连接和信息流不会破坏业务应用软件的访问控制策略。
路径选择控制应当基于确定的来源和目标地址检测机制。网络地址翻译对于隔离网络和防止路径从一个组织的网络延伸到另一个网络中也是一种非常有用的机制,它们能够在软件和硬件中实现,实施者应当清楚所配备的任何机制的作用强度。
(4)操作系统访问管理
操作系统水平的安全设备应当用于限制对计算机资源的访问,这些设备应当能够鉴别和验证身份,甚至能够鉴别和验证每个经授权用户的位置和终端;记录对系统的成功访问和失败访问;提供适当的授权方式;如果使用了密码管理系统,应当能够确保使用的是优质密码;在适当的地方,限制用户的连接次数。
1.自动终端识别
为了鉴别连到特殊地点和便携设备的连接应当考虑自动终端识别技术。如果一个会话只能从特殊的地点或者计算机终端上启动,那么自动终端识别就是一种可以考虑的方法。终端内或者贴到终端上的一个标识可以用来指示是否允许这个特定的计算机终端启动或者;接收特殊事项。为保持终端标识的安全,可能需要对计算机终端进行物理保护,也可以用其他的技术鉴别计算机终端。
2.终端登录程序
一个安全的终端登录程序应当能够获得对信息服务的访问,这一登录到计算机系统的过程的设计应当把对系统未经授权的访问的机会降到最低限度。因此为了避免给未经授权的用户以不必要的帮助,该登录程序只会透露出最少的系统信息。一个好的登录程序应当做到符合相关规范,如在登录程序中不提供可能会帮助未经授权的用户的信息;能够限制所允许失败登录的次数,并记录失败的尝试;在重新登录之前强制等待一段时间或者拒绝任何没有特殊授权的进一步尝试,限制所允许的登录程序的最长和最短时问,如果超过了这个范围,系统应当终止登录等。
3.用户识别和鉴定
所有的用户应当有唯一的标识(用户ID)供他们个人并且只供他们个人使用,这样就可以追踪各种活动到负有责任的个人身上。在例外的情况之下,可能会让一个用户群或者特殊的工种共享一个用户ID,管理层对这种情况的批准应当记录在案。
需要有各种授权程序来证实用户所声称的真实身份。密码是一种非常通用的进行识别和鉴定的方法,这一方法基于一个只有用户才知道的秘密。利用加密技术和鉴别协议也可以达到同样的目的。存储标识或者用户拥有的智能卡这类物品也可以用来进行识别和鉴定。利用个人的唯一特征或者属性的生物鉴别技术也可以用来鉴别一个人的身份。将鉴别技术和管理机制妥善地结合到一起能够得到更为强大的鉴定能力。
4.密码口令管理系统
密码是验证用户访问计算机权限的主要形式之一,密码管理系统应当提供一个有效的、交互的设备,这样可以确保优质密码。一些应用程序需要有独立的职权来分配用户密码,在大多数情况下,密码是由用户选择和维护的,一个好的密码管理系统应当符合密码管理的标准和规范。如输入密码时不要将其在屏幕上显示出来,把密码与应用软件系统的数据分开存放,以使用单向加密算法的加密形式存储密码口令等。
5.系统实用程序的使用
大多数计算机安装有一个或者更多系统实用程序,它们可能有能力超越系统和应用程序的控制,因此限制并严格控制对它们的使用是十分重要的。
系统实用程序的使用有必要配置认证程序,并把系统实用程序从应用软件中分离出来;把使用系统实用程序的人限制在最少的值得信任的授权用户之内,要为系统实用程序的特殊使用进行授权;需要限制系统实用程序的有效性,并要记录系统实用程序的所有使用;所有基于软件的多余实用程序和系统软件需要删除。
6.终端暂停
为了防止未经授权人的访问,在一段确定的休止期结束后,应当关闭在高风险地区的暂停终端或者是正在为高风险系统提供服务的终端。在一段确定的暂停期后,这一终端暂停手段应当清除终端屏幕内容并关闭应用程序和网络会话。
7.连接时问的限制
对连接时间的限制应当为高风险应用程序提供额外的安全保证,限制终端的连接时间可以减少未经授权访问的空间。对于敏感的计算机应用程序,特别是那些安装在高风险地区的终端,应当考虑这样的管理措施。这样约束措施的例子包括使用预先确定的时间段,例如批量的文件发送,或者定期的短时交互式对话;如果没有超时或者延时业务,限制连接到正常办公时间的次数等。
(5)应用程序访问控制
防止保存在信息系统内的信息被未经授权访问,应当使用安全设施限制在应用程序系统中的访问,对软件和信息的逻辑访问应当限制在经过授权的用户之中。
1.应用软件系统限制
能够控制用户对信息和应用程序系统功能的访问,并要与确定的业务访问控制策略相一致;为任何一个能够超越系统或应用程序限制的实用程序和操作系统软件提供保护,防止未经授权的访问;不损害有共享信息资源的其他系统的安全;只能够向所有权人、其他被指派和经授权的个人或者确定的用户群提供对信息的访问权限。
2.信息访问限制
按照确定的访问控制策略,应当为应用软件系统的用户包括技术支持人员提供对信息和应用程序系统的访问。
通过适当编辑用户文件,可以限制用户对未得到授权访问的信息或者应用程序系统功能的了解;控制用户的访问权限,例如读取、改写、删除和执行等权限;确保处理敏感信息的应用程序系统的输出只包括与使用相关的信息,而且只送到得到授权的终端和地点,包括对这种输出周期性的复查,以确保多余的信息被删除。
3.敏感系统的隔离
敏感系统可能需要专用(隔离)的计算环境。有些应用程序系统对于潜在的损失如此敏感以至于需要对它们做专门处理,这种敏感性可能表示应用程序系统应当在专用计算机上运行,而且只同受信的应用程序系统共享资源,或者没有限制。
对一个应用程序系统的敏感性应当做清楚的定义,并且应用程序的所有权人应该被记录在案。当一个敏感的应用程序在共享的环境下运行时,应该能够被识别,并获得敏感应用程序的所有权人的准许。
(6)检测系统访问和使用
系统中偏离访问控制策略的行为应能被监控和记录,以便在发生安全事件时提供证据。系统检测允许对所采用管理措施的有效性进行检测,并允许对一个访问策略模型的确认进行验证。
1.事件记录
应当编写用来记录异常现象和其他有关安全事件的审查日志,并在各方同意的时间段内保持该日志,以协助以后的调查研究和访问控制监测。审核日志需要放入档案中,或作为记录保留策略的一部分,或出于搜集证据的需要。
2.检测系统使用
(1)程序和风险区域
为了确保用户只做得到明确授权的行为,信息处理设备使用的检测程序是必需的,并应戮经风险评估以确定个人设备所需的监测等级,确定用户得到授权的访问细节,如:用户ID、关键事件发生的日期和时间、事件的类型、访问的文件、使用的程序/实用程序、所有有特权的作业、未经授权的访问尝试、系统警报或者故障等。
(2)风险因素
应当定期检查监测活动的结果,检查的频率取决于所涉及的风险。应当加以考虑的风险因素包括:应用进程的重要程度,所涉及信息的价值、敏感性和重要程度,以往的系统过滤和误用的经验教训,系统互联的程度等。
(3)记录和检查事件
日志检查涉及对于系统所面临威胁的理解和对这些威胁可能的产生方式的认识。系统Et志常常包含大量的信息,其中很多信息与安全检测无关。出于安全检测的目的而帮助识别重要事件时,应当考虑把适当的信息类型自动复制到第二个日志,或者使用适当的系统实用程序或检测工具,以便进行文件审查。
当为检查日志而分配责任时,应当考虑把执行检查的人员和其活动被监测的人员的角色分离开。尤其应当注意日志记录设施的安全性,因为一旦遭到破坏可能给人一种十分安全的假象。
(7)移动计算和远程工作
使用移动计算时,应当考虑在未经保护的环境下工作的风险,并且要采用适当的措施。在远程工作时,应当为远程工作地点提供保护,并且确保对这种工作方式有适当的安排。
1.移动计算
使用移动计算设备时,应当特别注意确保业务信息不受损害。应当采取正式策略来考虑使用移动计算设备的风险,特别是在未加保护的环境之中。例如,该策略应当涵盖物理保护、访问控制、加密技术、备份文件和防范病毒等方面的需要。该策略还应当包括有关把设备连接到网络的规则和建议,以及对于在公共场所使用这些设备的指导。
在保护范围之外的未受保护的区域,在适当的位置应当有保护措施,以避免未经授权的访问或者泄露由这些设备存储和处理的信息。对连接到网络的移动设备给以适当的保护,只有经过成功的识别和鉴定之后,才可以使用移动计算设备通过公众网对业务信息进行访问,并且有适当的访问控制机制在。还应当对移动计算设备加以物理上的保护,以防在离开时被偷窃。应当训练职工使用移动设备,提高他们对这种工作方式所带来的额外风险和应当实行的管理措施的认识。
2.远程工作
远程通信技术能够让员工在组织之外的远程地点工作,但应该对远程工作进行保护,以防止设备和信息被盗走、信息未经授权就披露、对内部系统的未经授权的访问或者设备的误用。远程工作不但需要授权,还要由管理层控制,而且对这种工作方式应当有适当的安排。应当考虑开发一种策略、程序和标准来控制远程工作活动。