信息系统数据库安全解析

2014-07-24 18:40张炎
电脑知识与技术 2014年15期
关键词:安全控制信息系统

张炎

摘要:数据库从被开始应用的那天起,就面临安全问题。数据库系统在与各种安全威胁的彼消此长的矛盾较量中,形成了既借鉴于一般意义的信息安全,而又独具特点的安全理论和控制技术。虽然人们不能一劳永逸地解决数据库安全问题,但依然能从数据库设计、管理、运行等若干关键环节入手,探索出一套行之有效的解决方法。该文以信息系统为框架,对数据库安全问题进行分析,并寻求和探讨解决之道。

关键词: 数据库;安全;控制;信息系统

中图分类号:TP309 文献标识码:A 文章编号:1009-3044(2014)15-3468-03

Analysis and Resolution of Database Security in Information System

ZHANG Yan

(Suzhou Secrecy Technology and Management Service Center, Suzhou 215002,China)

Abstract: The database from the day began to be applied, is facing security problems. The database system with various security threats that the contradiction of contest, the formation of both the borrowing information security in the general sense, security theory and control technology and its characteristics. Although people can not put things right once and for all solution to database security problems, but still can obtain from the key link of database design, management, operation, to explore a set of effective solution. In this paper, the information system framework, the database security problems are analyzed, and to seek and explore solutions.

Key words: database; security; control; information system

1 概述

随着数据库技术、数据库产品日益广泛的使用,及其在应用的广度和深度方面的飞跃式发展,数据库安全同时正在成为现今信息系统安全的关注焦点和基础核心问题,亟待跟进探究和寻求解决。数据库安全不是一个孤立的问题,必须置于整个信息系统背景下,从设计、管理、运行及与应用的关联性等方面,加以统筹考虑和综合分析。

计算机等数字化信息设备中存储、处理的信息均可认为是数据或数据的集合(库),那么数据(库)安全是否就等同于信息安全呢?本文讨论的数据(库)有其专指性,是指依照某种数据模型组织起来的有效数据集合,其特点是:以一定的优化方式进行存储,具有尽可能小的冗余,与应用程序彼此独立,其增、删、改、检索均由专用软件进行管理和控制。在经历了人工管理阶段、文件系统管理阶段后,数据管理进入数据库形式的高级管理阶段,数据库安全成为既属于信息安全、又区别于一般信息安全的独特的安全领域。

2 数据库系统结构及安全解析

机密性、完整性、可用性是信息安全的核心三要素,它们也构成了数据库安全的核心三要素。对于一个实际的信息系统,三要素体现在各个构成部分。信息系统的功能核心在应用,而数据服务于应用,其自身依赖于相应管理系统及计算机操作系统,如图1所示,一个完整的数据库系统的安全问题贯穿于多个环节:数据库自身存储的安全,管理系统对数据库的控制安全,数据库设计的逻辑安全,上层应用系统的安全,等。

2.1关于数据库安全的主机及网络安全

目前,主流的数据库系统(本文讨论的数据库系统默认为关系型数据库系统,相关产品以SQL Server、Oracle为例)包括数据库和数据库管理系统,运行于计算机及网络之上,它们既是一个有机整体,也是相对独立的组成部分。

数据库以文件的形式,由数据库管理系统通过主机操作系统进行存储和管理,因此,数据库文件自身的安全依托于主机及网络的安全。如果数据库文件及其数据备份文件可轻易地被非授权获取或破坏,则构建在其上的管理系统安全控制、上层应用安全均沦为“马其诺防线”、形同虚设,这本身就是一个“釜底抽薪”式的安全漏洞。关于主机及网络的安全,我们可以从物理安全、访问控制、设备管理等方面采取措施,关键是在操作系统层面对文件读写权限及相关系统服务的控制,对此已有大量成熟的实例及资料可供参考,此处不再赘述。

数据及文件的加密存储,可以作为应对数据库自身安全的一道有效防线,以防一旦被非法窃取仍能一定程度保证所含信息的安全,但需要考虑加密在不同环境下的合规性和可靠性,以及给系统性能、维护管理等带来的额外开销,除非有强制规定或特殊需要,对系统可用性无实质影响,一般情况下并不建议使用。

2.2数据库管理系统的安全控制

数据库管理系统(DBMS)通过数据库引擎(服务)对相应的数据库实例进行包括安全控制在内的管理和维护,本节以SQL Server和Oracle为例加以列举和说明。

数据库类似于操作系统,用户身份鉴别是最基本的安全要求,包括管理员用户和普通用户,因管理员用户(SQL Server中默认为sa,Oracle中默认为sys或system)拥有对数据库的最高管理权限,管理使用不妥将引发极大安全隐患。合理设置数据库管理系统提供的用户帐号安全策略,如强制口令策略,包括口令长度、复杂度、更换周期、失败重鉴别次数、失败锁定等,避免管理员口令为空或使用默认口令(早期版本Oracle中存在),必须及时修改;或禁用默认管理员用户,新建相应权限用户以提高隐蔽性。endprint

数据库的管理登录方式是关系到数据库管理员(DBA)独立性和权威性的另一个安全点。很多情况下,为简化管理员操作,往往使用“Windows身份验证”(SQL Server)和“connect internal”(Oracle)方式以系统管理员身份、不需口令直接登录数据库,这使系统管理员“合法”地拥有了数据库管理员的全部权限,因此,为避免越权操作,建议屏蔽系统直连方式,而使用“SQL Server身份验证”(SQL Server)和“connect user/password as sysdba”(Oracle)以数据库用户方式连接登录。

此外,数据库引擎提供的默认服务端口有时也会成为遭受攻击的风险点,可以通过变更端口号或使用动态端口服务加以规避,但其上层应用需要做好相应的衔接配合,确保可用性。有些数据库系统具备对操作系统的操作功能,比如SQL Server中xp_cmdshell、xp_regdeletekey、xp_regdeletevalue等扩展存储过程可被调用访问操作系统及注册表,如被恶意利用,后果严重;我们可以通过屏蔽相关存储过程或限制数据库引擎(服务)的启动帐号在操作系统中的访问权限来提高安全性。

2.3数据库对象的访问控制

数据库访问控制主要取决于数据库引擎(服务)提供的控制机制,同时与数据库管理系统、数据库设计也存在一定的联系。关系型数据库系统的访问控制策略模型分为自主访问控制和强制访问控制。自主访问控制中,拥有权限的用户通过数据库管理系统自主地设置数据(客体)的访问权限,并赋予其他用户(主体),可归结为一个典型的访问矩阵模型;强制访问控制是针对自主访问控制可能导致数据访问权限的无节制扩散危险、满足高级别安全应用需求的控制手段,强制访问控制对用户(主体)和数据(客体)指派特定的安全属性,通过主体、客体安全属性的匹配决定数据的访问权限,而用户自身无权指派。

自主访问控制是目前使用最为普遍的访问控制手段,SQL Server、Oracle数据库系统中对表、视图、行、列、单元以及存储过程等与用户之间通过Grant、Revoke的标准SQL指令设置查询、更新、插入、删除、执行等操作权限就是自主访问控制策略模型的具体实现。而在实际应用中,应由数据库管理员(DBA)根据应用开发需要对数据库所有主、客体对象的访问关系和权限进行集中控制,限制普通用户的访问指派权限,提升自主访问控制的安全可控性。但自主访问控制无法克服其自身的先天缺陷,对于安全要求较高的应用,仍需引入强制访问控制,强制访问控制本质上是一种基于格的控制数据流的安全策略(Lattice-Based Access Control),拥有更合理、更严格、更灵活的访问控制粒度,在有针对性的应用场景中,无疑具有优势。

2.4数据库设计中的安全应对

数据推理因其危险性和隐蔽性,成为一个亟需关注和研究的安全问题。用户根据较低安全级别的、可见的数据推导出同级或较高安全级别的不可见数据,并进一步评估其准确度,已成为一个“防不胜防”的安全难点。

数据推理控制本质上就是数据对象的访问控制,同样恪守最小化原则,实现途径,除了上节讨论的访问控制机制,合适的设计也是一个关键方面。关系型数据库系统中,数据以“表”(关系单元)的形式进行存储及管理,和以表之间的关联构成“库”(关系集合);因此,数据库设计的落脚点在于表的设计,对此有一套专业的“范式”标准,以符合“第三范式”(3NF)为优,再融入安全需求作进一步优化。

某军事航空运输系统数据库中,货物运输表拟包含以下内容:

表1

[货物名称\&货物等级\&航班号\&机型\&货舱号\&出发地\&目的地\&起飞时间\&货物1\&一般\&370\&机型1\&A\&基地A\&基地B\&18:00\&货物2\&一般\&1150\&机型2\&A\&基地C\&基地D\&11:00\&货物3\&特殊\&370\&机型1\&B\&基地A\&基地B\&18:00\&货物4\&一般\&370\&机型1\&C\&基地A\&基地B\&18:00\&]

显见,表中与航班相关信息(机型、出发地、目的地、起飞时间)存在大量冗余,且易引起更新、插入、删除异常,应按3NF要求改进表结构设计,分为两张表,表之间通过“航班号”作关联:

表2 货物表

[货物名称\&货物等级\&航班号\&货舱号\&货物1\&一般\&370\&A\&货物2\&一般\&1150\&A\&货物3\&特殊\&370\&B\&货物4\&一般\&370\&C\&]

表3 航班表

[航班号\&机型\&出发地\&目的地\&起飞时间\&370\&机型1\&基地A\&基地B\&18:00\&1150\&机型2\&基地C\&基地D\&11:00\&]

假设货物需单独使用货舱,且等级为“特殊”的货物信息及其航班信息需要保护,普通人员只能接触“一般”货物信息。某普通人员查询显示“370” 航班的“B”货舱未有安排,试图申请,但被提示该货舱已有任务,据此该人员推断“370”航班将运送一批“特殊”货物,并通过航班查询获得更多信息。对此,我们应考虑进一步限制货物信息的查询范围,通过在货物表中增加“货单号”的主关键词列进行唯一性约束,只允许查询与自身相关的货物信息,推理素材大幅减少,推理的成本和难度大为提高,这实际是安全与使用之间的平衡取舍。

2.5应用系统对数据库安全的影响

数据库总是需要开放一定的访问权限,才能供上层应用系统使用。而应用系统对数据库访问权限的使用,应在安全方面注意以下几个问题。

应用系统连接数据库,一般通过配置数据连接文件实现。文件中包含数据库服务器地址、数据库实例名、用户帐号、口令等连接要素,多以明文显示的文本文件形式保存于应用端,安全隐患明显。因为,一般开放予应用系统的数据库用户,其权限往往不仅限于查询,如帐号、口令皆以明文显示、保存,极易被获取,将使数据库面临严重威胁,建议通过特定配置工具对数据连接文件以自有特殊格式进行维护。C/S结构的应用系统尤其需要注意数据连接的安全性,应严格限制客户端的配置权限,设法隐蔽连接信息。endprint

不应将数据库管理权限赋予应用系统的数据库连接用户,更不应将数据库管理员用户直接提供给应用系统使用。数据库中包含系统数据和用户数据,应用系统的数据库连接用户只需拥有用户数据的访问权限,多余权限都将带来安全隐患。

多个异构系统的交叉访问情况下,单个应用系统可能需要同时连接访问多个数据库,通常会将除主库之外的其他数据库连接访问信息以表的形式维护在主库中,因此,要做好对相关数据表的访问权限控制,只允许应用系统管理员进行操作。

2.6数据库的备份与恢复

数据库的备份与恢复是确保数据库可用性的一个有效措施,因此也是数据库安全的重要组成部分。

信息系统中的任何软硬件设备都有发生故障甚至损坏的可能,所谓“城门失火,殃及池鱼”,应用系统、数据库系统均将直接遭受影响,导致程序损坏、数据丢失。因此,为防止意外发生引起不可挽回的损失,必须做好数据备份,使恢复成为可能。

数据库备份大致分为运行状态的热备份和停止状态的冷备份两类,视要求而定。数据具有时效性,对备份的及时性要求较高,需制定可靠的备份恢复策略。SQL Server、Oracle等数据库的管理系统自身就提供数据的备份恢复功能,以及一些第三方备份恢复软件,如Symentec、Acronis,提供对主流数据库的全部、增量、差量备份及恢复功能。这种备份恢复要求管理员具备较为专业的技能,操作也较复杂,而优势在于可作在线热备、不影响系统使用、能将数据恢复到最近状态。简化的方式是不使用管理系统或专业软件,而将数据库文件作复制形式的离线冷备份,这样会暂时中断数据库运行,但优点是简单可靠、恢复快捷。

数据备份产生的大量数据建议采用可靠的介质、作异地保存,增强备份数据的可用性。

3 结束语

综上所述,不难发现,数据库安全领域涉及面广、技术点多,笔者仅以近年来业务工作中所涉猎部分为基础,依据行业内权威

研究成果及自身的实务经验、体会,加以思考和总结,作了些许理论联系实际的归纳和整理,尚有未涉及方面,如安全审计、攻击防御、虚拟化技术等,需再作学习和实践。

参考文献:

[1] 刘晖,彭智勇.数据库安全[M].武汉:武汉大学出版社,2007.

[2] 郭亚军,宋建华,李莉.信息安全原理与技术[M].北京:清华大学出版社,2008.

[3] 国家信息安全工程技术研究中心,国家信息安全基础设施研究中心.电子政务总体设计与技术实现[M].北京:电子工业出版社,2003.

[4] 李满意.大数据安全[J].保密科学技术,2012(9).

[5] GB/T 20273-2006,信息安全技术数据库管理系统安全技术要求[S].endprint

猜你喜欢
安全控制信息系统
企业信息系统安全防护
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
社会转型期行政权控制的路径探索
会计预算控制现状及方法
浅谈高层建筑沉降监测关键环节控制
保险公司财务风险管理及控制研究
基于SG-I6000的信息系统运检自动化诊断实践