试题详情
简答题 论数据库的安全性设计 通常,信息系统的安全性指的是采取必要的安全保护方面的技术和管理措施,保护硬件、软件和数据不因偶然的或恶意的原因而受到破坏、更改和泄露。其中数据库的安全性设计有着十分重要的作用(包括物理安全与逻辑安全)。 根据你实际参与开发和设计的经验,论述下列3个问题: ①简述你开发与设计的软件概要和你所担任的工作。 ②具体叙述你在数据库应用系统开发中是如何使用安全性设计技术的,包括采用过哪些主要技术,遇到过哪些实际问题,采取过哪些相应的措施。 ③简述你所采用的数据库安全性设计技术的效果,以及你有哪些主要的使用体会和进一步的设想。
  • 写作要点
    数据库的安全性是指保护数据不被破坏和不被非法窃取,包括物理安全性和逻辑安全性。1.物理安全性
    要保证数据库的物理安全性,除了健全机房管理制度,提高防火、防盗、防雷击等基础设施以外,最重要的就是要有一个好的数据库备份策略。
    数据库备份是指对重要的数据制作一份拷贝,并将其存储在安全的地方。备份系统为一个目的而存在:尽可能快地全盘恢复运行计算机系统所需的数据。根据系统安全需求可选择的备份机制有:场地内高速度、大容量自动的数据存储、备份与恢复;场地外的数据存储、备份与恢复;对系统设备的备份。备份不仅在网络系统硬件故障或人为失误时起到保护作用,还在入侵者非授权访问、攻击网络和破坏数据完整性时起到保护作用,同时也是系统灾难恢复的前提之一。
    一般的数据备份操作有3种:一是全盘备份,即将所有文件写入备份介质;二是增量备份,只备份那些上次备份之后更改过的文件,这是最有效的备份方法;三是差分备份,备份上次全盘备份之后更改过的所有文件,其优点是只需两组磁带就可以恢复最后一次全盘备份的磁带和最后一次差分备份的磁带。
    在确定备份的指导思想和备份方案之后,需要选择安全的存储媒介和技术进行数据备份。一般来说,备份的硬件设备包括磁盘、磁带和光盘塔。而利用磁盘备份的方法常用的是磁盘镜像、磁盘双工和磁盘阵列,其中磁盘镜像是指系统中使用两块一样大小的磁盘,在写入数据时,先将数据写入源盘,然后再写入镜像盘,这样镜像盘中的数据与源盘的数据一模一样,从而起到了备份的作用。而磁盘双工是两个互为备份的盘同时写入。磁盘阵列是指将多个类型、容量、接口甚至品牌一致的专用磁盘或普通磁盘连成一个阵列,使其能以某种快速、准确和安全的方式来读写磁盘数据。其主要功能是可以提高网络数据的可用性及存储容量,并能够免除单块硬盘故障所带来的灾难性后果。因此,磁盘阵列是一种高效、快速、易用的网络存储备份设备。
    备份的技术有"冷备份"和"热备份"两种。热备份是指"在线"的备份,即下载备份的数据还在整个计算机系统和网络中,只不过传到另一个非工作的分区或另一个非实时处理的业务系统中存放,如前面提到的磁盘镜像、磁盘双工和磁盘阵列都属于热备份。
    "冷备份"则是指"不在线"的备份,下载的备份存放到安全的存储媒介中,而这种存储媒介与正在运行的整个计算机系统和网络没有直接联系,在系统恢复时重新安装,有一部分原始的数据长期保存并作为查询使用。磁带就是一种冷备份的设备。热备份的优点是调用快,使用方便,在系统恢复中需要反复调试时更显优势,但投资比较昂贵。冷备份则弥补了热备份的一些不足,二者优势互补,相辅相成,冷备份在回避风险中还具有便于保管的特殊优点。
    在进行备份的过程中常使用备份软件,它一般应具有以下功能:保证备份数据的完整性,并具有对备份介质的管理能力;支持多种备份方式,可以定时自动备份,还可以设置备份自动启动和停止日期;支持多种校验手段(如字节校验、CRC循环冗余校验、快速磁带扫描),以保证备份的正确性;提供联机数据备份功能;支持RAID容错技术和图像备份功能。
    与备份同样重要的是在备份完成之后对它们进行存储。备份的目的是为了在发生事故时能够及时进行恢复,而事故的类型可能从用户误删数据到站点的灾难性毁坏。前者需要备份处于附近位置以便于快速恢复,而后者却要求将备份存储在其他地方。实践证明,最好的方法是将备份存储在其他地方,最大程度地保护数据。当需要还原时,再将备份及时取回。
    日常备份制度描述了每天的备份以什么方式、使用什么备份介质进行,是系统备份方案的具体实施细则。在制定完毕后,应严格按照制度进行日常备份,否则将无法达到备份方案的目标。数据备份有多种方式:全备份、增量备份、差分备份、按需备份等。
    全备份:备份系统中所有的数据。
    增量备份:只备份上次备份以后有变化的数据。
    差分备份:只备份上次完全备份以后有变化的数据。
    按需备份:根据临时需要有选择地进行数据备份。
    全备份所需时间最长,但恢复时间最短,操作最方便,当系统中数据量不大时,采用全备份最可靠。但是随着数据量不断增大,我们将无法每天做全备份,而只能在周末进行全备份,其他时间我们采用所用时间更少的增量备份,或采用介于两者之间的差分备份。各种备份的数据量不同:全备份>差分备份>增量备份。在备份时要根据它们的特点灵活使用。
    (1)数据存储基本策略的设定
    数据库全备份:选择在周五(或周六)自动进行。
    数据库增量备份:每晚做批处理前和批处理后,由UNIX或其他主机系统执行,批处理人员触发或由系统自动执行。
    文件全备份:将主机系统和其他服务器的数据做全备份,选择在周日自动进行。
    文件增量备份:在周一到周四(或周五)之间备份文件的增量。
    系统全量:在每月初的周日备份系统及数据库的全量。
    系统增量:在其余的时间仅备份系统和数据库配置的增量。
    跟踪备份:实时备份系统增量(事务日志备份)。
    结合以上备份策略,从便于管理和恢复的角度考虑,制订数据分组和存储介质池对应策略,将数据分门别类放在不同编号的磁带组上,并建立不同的存取权限。建议建立:
    数据库介质。专门放置数据库信息。
    文件介质。放置除数据库以外的文件。
    数据库日志和系统日志介质。安全稽核和系统恢复的重要数据记录需较长时间保存,建议由安全管理员在服务器端建立管理,形成与主机系统管理人员分离的运行数据记录。
    系统介质。备份系统和系统配置等的变化,做到快速恢复系统。
    (2)数据备份工作过程
    自动备份进程由备份服务器发动。每天晚上,自动按照事先制订的时间表所要求的内容,进行增量或全量的备份。由于每天的备份被适当地均衡,峰值备份数据量在周五(或周六)和周日发生。
    批前及批后备份在UNIX或其他主机端发起。批处理人员输入触发备份命令,自动按要求备份数据库有关内容。
    其他文件的自由备份。进入软件交互菜单,选择要求备份的文件后备份。
    在线跟踪备份。配合数据存储管理软件的数据库在线备份功能,可定义实时或定时备份日志。
    灾难备份异地存放介质的克隆。自动复制每日完成后的数据,以存放在异地做灾难恢复。
    (3)灾难恢复
    灾难恢复措施在整个备份制度中占有相当重要的地位。因为它关系到系统在经历灾难后能否迅速恢复。灾难恢复操作通常可以分为两类:第一类是全盘恢复,第二类是个别文件恢复。此外还有一种值得一提的是重定向恢复。
    全盘恢复。全盘恢复一般应用于服务器发生意外灾难导致数据全部丢失、系统崩溃或有计划的系统升级、系统重组等情况,也称为系统恢复。
    个别文件恢复。由于操作人员的水平不高,个别文件恢复可能要比全盘恢复常见得多,利用网络备份系统的恢复功能,我们很容易恢复受损的个别文件。
    只需浏览备份数据库或目录,找到该文件,触动恢复功能,软件将自动驱动存储设备,加载相应的存储媒体,然后恢复指定文件。
    重定向恢复。重定向恢复是将备份的文件恢复到另一个不同的位置或系统上去,而不是进行备份操作时它们当时所在的位置。重定向恢复可以是整个系统恢复也可以是个别文件恢复。重定向恢复时需要慎重考虑,要确保系统或文件恢复后的可用性。
    为了防止数据丢失,我们需要做好详细的灾难恢复计划,同时还要定期进行灾难演练。每过一段时间,应进行一次灾难演习。可以利用淘汰的机器或多余的硬盘进行灾难模拟,以熟练灾难恢复的操作过程,并检验所生成的灾难恢复软盘和灾难恢复备份是否可靠。2.逻辑安全性
    数据库的逻辑安全模型如图13-1所示。与数据库使用直接有关的安全措施有:用户标识和鉴定、存取控制、审计、密码存储、视图的保护和日志监视等方式。
    1983年,美国政府发布了"可信计算机系统评价标准(TCSEC.",1994年4月,美国国家计算机安全中心(NCSC.颁布了TDI,即"可信计算机系统评估标准在数据库管理系统中的解释",它将TCSEC扩展到数据库领域。在TCSEC中,系统安全从4个方面被划分为7个不同的安全级别,即D,C1,C2,B1,B2,B3,A1,其中A1级别最高,D级别最低。TDI沿用TCSEC的做法,从安全策略、责任、保证和文档4个方面来描述每级的安全性。一般认为,数据库及其他处理敏感商业信息的系统应达到C2级,在C2安全级上,能使用登录过程、审计跟踪并对与安全性有关的事件进行资源隔离;而处理保密的和要求更高敏感度的信息系统,安全级应达到B1级,这样能使用标记机制对特定的客体进行强制访问控制。
    (1)用户标识与鉴定
    用户标识与鉴定是系统提供的最外层的安全保护措施。用户的标识和鉴定是两个不同的过程,标识过程负责将用户ID在系统中注册登记,而鉴别过程旨在将用户ID与真正的合法用户关联起来。目前有3种标识与鉴别方法。
    ①利用用户的物理特征(声波、指纹、相貌、签名等)作为ID,这在理论上是可靠的,但由于物理特征可能随时间变化且记录技术尚欠成熟等原因,使得该方法未能广泛用于数据库系统。
    ②利用用户持有的证件,如身份证、机器可读卡片等,其缺点是证件可能被别人复制或冒用。
    ③利用用户知道某个能证明其身份的约定(如口令),这是当前数据库系统用
    来识别用户的主要方法。
    用户名或用户标识号。在定义外模式时为每个用户提供一个用户代号存放在数据字典中。用户使用系统时,系统鉴别此用户是否是合法用户,若是,则可进入下一步的核实,否则不能使用系统。
    口令。为了进一步核实用户,系统常常要求用户输入口令。为保密起见,用户在终端上输入的口令不显示在屏幕上,系统核对口令以鉴别用户身份。以上的方法简单易行,但用户名、口令容易被人窃取,因此还可以用更可靠的方法。
    随机数检验。用户根据预先约定好的计算公式求出一个数值作为动态口令送入计算机,当这个值与系统算出的结果一致时,才允许进入系统。
    此外,还可要求用户向鉴别机构交验机器可读身份卡片,或提供声波、指纹、签名等生物唯一性标志证明用户身份,鉴别机构对用户提供的信息进行鉴别,证明其有效性,或进行译码后给系统提供一个位串作为用户标识。
    用户标识和鉴定可以重复多次。
    (2)存取控制
    在数据库系统中,为了保证用户只能存取有权存取的数据,系统要求对每个用户定义存取权限。存取权限包括两方面的内容:一方面是要存取的数据对象;另一方面是对此数据对象进行操作的类型。对一个用户定义存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。在数据库系统中对存取权限的定义称为"授权",这些授权定义经过编译后存放在数据库中。对于获得使用权又进一步发出存取数据库操作的用户,系统就根据事先定义好的存取权限进行合法权检查,若用户的操作超出了定义的权限,系统就拒绝执行此操作,这就是存取控制。
    授权编译程序和合法权检查机制一起组成了安全性子系统。
    在非关系系统中,用户只能对数据进行操作,存取控制的数据对象也仅限于数据本身。而在关系数据库系统中,DBA可以把建立和修改基本表的权限授予用户,用户可利用这种权限来建立和修改基本表、索引、视图,因此,关系系统中存取控制的数据对象不仅有数据本身,还有模式、外模式、内模式等内容。
    (3)审计
    审计是现代计算机系统中必不可少的功能之一,其主要任务是对用户(包括应用程序)使用系统资源(包括软硬件和数据)的情况进行记录和审查,一旦发现问题,审计人员通过审计跟踪,可望找出原因,追查责任,防止类似问题再度发生。因此,审计往往作为保证数据库安全的一种补救措施。
    数据库系统中的审计工作包括如下几种:
    设备安全审计。它主要审查关于系统资源的安全策略、各种安全保护措施及故障恢复计划等。
    操作审计。对系统的各种操作(特别是一些敏感操作)进行记录、分析。记录内容包括:操作的种类、所属事务、所属进程、用户、终端(或客户机)、操作时间、审计日期等。
    应用审计。审计建立于数据库之上的整个应用系统的功能、控制逻辑、数据流是否正确。
    攻击审计。对已发生的攻击性操作及危害系统安全的事件(或企图)进行检测和审计。
    上述各种审计所用技术大致可分为以下3类:
    静态分析系统技术。审计者通过查阅各种系统资源(软硬件、数据)的说明性文件,例如,软件的设计说明书、流程图等来了解整个系统,甚至定位出一些易被攻击的薄弱环节。
    运行验证技术。运行验证的目的是保证系统控制逻辑正确,各类事务能有效执行。该技术一般又细分为实际运行测试和性能测试两种。实现时,审计者既可以根据审计需要,选择系统中一个实际事务作为样板进行审计跟踪,也可以生成专门的测试用例,通过将测试用事务在系统运行的实际结果与期望结果进行比较来评价系统;还可以设计一个专门仿真系统的程序,让仿真系统与实际系统并行工作,通过比较它们的结果来评测系统。
    运行结果验证技术。这种技术将注意力放在运行结果--数据上。它主要涉及审计数据选择和收集、数据分析两类问题。常用的审计数据选择和收集的办法有:在应用程序中插入一个审计数据收集模块;设置专门的审计跟踪事务;兼用系统的日志库;使用由随机抽取记录组成的专用审计库,等等。
    一旦获得审计数据后,审计者可以检查各类控制信息、完整性约束等内容,以达到各种审计目的。
    (4)数据加密
    对于那些保密程度极高的数据(如用户标识、绝密信息等)和在网络传输过程中可能被盗窃的数据,除采用上述种种安全保护措施外,一般还需采用数据加密技术,以密文形式保存和传输,保证只有那些知道密钥的用户可以访问。数据加密是防止数据库中的数据在存储和传输中失密的有效手段。有关加密技术的详细内容请参考相关章节,在此不再详细叙述。
    (5)视图保护
    视图机制可以将要保密的数据对无权存取这些数据的用户隐藏起来,这样就自动地提供了对数据的安全保护。
    (6)日志监视
    使用日志监视数据库的活动,在日志中记载日期、时间、程序名、地点、存取的数据和存取的类型等。这个日志由DBA监督,对于可疑的存取或高度机密数据的存取实施调查。
    安全保护的策略还有很多,但要注意,任何安全的措施都是相对的,要根据具体的用户对象、系统对安全的要求和花费的代价来选择恰当的安全措施。
    除了解相关技术知识,在写作方面还要注意以下几个方面的要点:
    ①在文章中首先用400~600字的篇幅简要叙述自己参与开发与设计的软件概要和所担任的工作。
    ②具体叙述在开发过程中,是如何使用安全性设计技术的,遇到过哪些实际问题,采取过哪些相应的措施。可就物理安全性或逻辑安全性进行阐述,不要面面俱到。
    ③最后要根据项目实际情况,说明采用的数据库安全性设计技术的效果,有哪些主要的使用体会和进一步的设想。
  • 关注下方微信公众号,在线模考后查看

热门试题