APP下载

基于基线技术的数据库安全防护策略

2013-08-06马现虎1力1金华松2

电脑与电信 2013年4期
关键词:数据库安全基线信息系统

马现虎1 许 力1 金华松2

(1.福建师范大学网络安全与密码技术实验室,福建福州350007;2.福建省海峡信息技术有限公司,福建福州350001)

1.引言

数据库(Database)是按照数据结构来组织、存储和管理数据的集合。这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库系统插入新数据、修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库系统时,则该系统包含一个“数据库集合”。数据库是计算机信息系统的核心组成部分,从诞生到现在,已经广泛地深入到国防、教育、商贸等计算机应用的各个领域。随着网络和信息技术的快速发展和日益普及,信息化成为现代企事业单位生存的必要条件。信息共享是网络数据库广泛应用的基础。数据库是网络的重要运用。政府、金融、电子商务及企业等行业都纷纷建立起各自的数据库应用系统,并将大量的数据保存在开放的数据库中。由于各个数据库安全水平不一,容易遭受黑客攻击,存在很多安全隐患,因此数据库安全问题也逐步成为信息系统安全的核心问题。非授权访问、弱口令、权限滥用、数据库注入、缓冲器溢出、不安全配置、内部攻击等安全隐患使数据库面临着重大威胁,但由于数据库系统通常被边界防火墙、应用软件、中间件等应用服务层层包围,而常见的信息系统安全防护策略往往仅仅着眼于防火墙、入侵检测等方面,数据库安全问题并未得到应有的重视。近年来,由于数据库安全问题,每天全球的损失达数百亿美元,我国国内数据库安全事故的报道也越来越多,因此多角度寻求解决数据库安全问题的方法具有重要的理论和现实意义。

2.数据库安全及其防护模型

2.1 数据库安全定义

数据库的安全性是指保护数据库,防止因非法用户使用数据库而造成数据泄露或更改,同时保证数据库不因软硬件故障和危害的影响而不能正常运行。数据库的安全特性主要包括以下几个方面:

(1)物理上的数据库完整性[1]:数据库中的数据不被各种自然的或物理的问题而破坏,例如:数据库的电源被切断以及当被自然灾害损坏后能够恢复数据库;

(2)逻辑上的数据库完整性:需要对数据库的结构进行保护,比如:当对数据库中一个字段的值进行修改时,不至于影响其它字段的值;

(3)元素的完整性:存储在数据库的每个元素中的数据都是准确的,由经过授权的用户负责把正确的数据放入数据库。数据库管理系统必须帮助用户在输入时能发现错误,在插入错误数据后能纠正;

(4)可审计性:能够追踪到哪些用户存取或者修改了数据库中的元素;

(5)访问控制:允许用户访问被授权的数据,以及限制不同的用户有不同的访问权限,例如有的用户只能读数据,不具备修改数据库中数据的权限;

(6)身份验证:数据库要求严格的用户认证,每个用户都必须进行身份验证,既便于审计追踪,也为了限制对特定的数据进行访问;

(7)可用性:用户应该能够访问数据库中所有被授权访问的数据,并能防止和及时修复因软、硬件系统的错误所造成的数据库恶性破坏、拒绝和消除数据库垃圾。

2.2 数据库安全防护模型

目前,存在着多种多样的有关数据库安全防护的具体方法,如各种防火墙、防病毒以及入侵检测系统,他们都是一个动态的防护过程。数据库安全防护包括数据库事前安全隐患扫描、渗透测试,事中配置检查、健康监控,事后安全审计、行为追踪等功能,如图1的所示。其中安全隐患扫描完成对数据库进行系统脆弱性分析,如发现漏洞或木马后门;渗透测试完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节;安全配置核查对数据库不安全配置进行核实验证;健康监控对数据库关键性能指标(如账号状态、资源状态,进程状态等)进行实时监控和报警,增强数据库的稳定性;安全审计通过对网络数据的分析,实时地监控并记录对数据库的各类操作行为,并记入审计数据库中以便日后进行查询、分析、过滤;行为追踪准确跟踪各种非法、违规操作,并及时告警响应处理,降低数据库安全风险。

图1 数据库安全防护模型

3.基于基线技术的数据库安全策略

安全基线[2]是一个信息系统的最小安全保证,即该信息系统最基本需要满足的安全要求。信息系统安全往往需要在安全付出成本与所能够承受的安全风险之间进行平衡,而安全基线正是这个平衡的合理的分界线。不满足系统最基本的安全需求,也就无法承受由此带来的安全风险,而非基本安全需求的满足同样会带来超额安全成本的付出,所以构造信息系统安全基线己经成为系统安全工程的首要步骤,同时也是进行安全评估、发现和解决信息系统安全问题的先决条件。

构造信息系统安全基线是对信息系统及其内外部环境进行系统的安全分析,最终确定系统需要保护的安全目标以及对这些安全目标的保护程度。由此可见,构造信息系统安全基线的过程也是对信息系统进行安全需求分析的过程,也就是说在着手解决信息系统安全性问题前应该首先构造信息系统的安全基线,只有建立在安全基线基础之上,才能够进一步建立信息系统安全解决方案和实施系统安全工程。

3.1 数据库安全基线分类

根据信息系统安全基线的定义和数据库安全的实际需求,我们把数据库安全基线分为五类,即物理安全基线、数据库补丁基线、数据库配置基线、数据库健康基线、数据库业务基线,如图2所示。

(1)数据库系统物理安全基线是如对设备和数据资源的物理保护以及对自然灾害或常规犯罪活动的防范等;

(2)数据库配置基线是指数据库在账户、口令、权限、日志、默认存储过程等方面的最基础配置要求。例如针对数据库进行默认账号和口令的探测,以发现数据库是否存在默认口令的不安全配置;

公路沿线地处黄土丘陵沟壑区,地形起伏,沟壑纵横,自然植被较少,水土流失类型以水力侵蚀为主,兼有少量的重力侵蚀。属黄河干流省级水土流失重点治理区。

(3)数据库补丁基线是指数据库必须达到的漏洞补丁要求,通常,每个版本的数据库默认安装时都存在一些高危漏洞,补丁基线就是各种版本的数据库必须要修补的最基本漏洞补丁;

(4)数据库健康基线是指数据库在运行过程中的状态指标是否达到阈值要求。数据库运行状态指标包括数据库运行环境的资源状况(CPU、内存、磁盘空间),数据库连接时间、用户活动、数据库明晰、数据库状态、表空间明细、表空间状态等信息。

(5)数据库业务基线是指对数据库当前业务数据库结构信息进行基线学习,例如正常运行的业务系统,数据库账号,数据库表结构,数据库存储过程等应该是比较稳定不变化的。如果出现了数据库账号的增加或减少,存储过程的增加或减少,有可能表示发生了异常行为,需要引起重视,追查是否存在异常行为。例如,数据库管理员可以通过新建临时账号并进行一些异常操作,然后删除临时账号,以躲避审计的行为,需要能够被基线审查发现。

图2 数据库安全基线类别图

3.2 安全基线的建立和更新

在数据库安全体系中,上面定义的数据库安全基线需要按类别逐条加以定义,每条安全基线应有目标系统范围内唯一的标识,该标识可作为安全基线配置管理库中的配置项标识,基线分析主要是为了给数据库安全状态创建一个可信的安全基础标准,一旦低于这个标准或者某些基线发生变更,则应该通知安全管理员,并为管理员追查问题根源提供依据。

数据库在使用开始可以通过表格、问卷和选择题等方式收集基本所需要的信息,但在数据库使用期间,还应该对基线进行定期的扫描,系统把当前扫描结果跟基线进行比较,以发现数据库用户及其权限、表对象、存储过程等的变更情况,同时进行预警。如果管理员接受了变更情况,可以把当前状态保存为基线,以保持基线能够反映数据库最新状态。基线变更能够保持历史记录,以便管理员追踪变更情况。数据库安全基线建立及更新模型如图3所示。

图3 数据库安全基线建立及更新模型图

3.3 数据库安全基线检测算法

数据库安全基线建立后,则可以利用这些基准数据进行安全检测。假设我们设定系统的初始安全基线为,然后对系统进行安全检测,第次检测后所得的结果为,则将与前面次所检测的值进行比较,查看是否有异常。如果检测结果落在可信区间内[3],则表示该系统在这个时期内没有引入新的风险;如果检测结果落在可信区间之外,则表示该系统风险状态发生了改变,需要进行威胁评估并找出威胁点,同时进行安全基线库的变更并发出安全报警。其具体检测过程如图4所示。

图4 数据库系统安全基线检测算法

4.基于基线技术的数据库安全测试

SQL Server是美国Microsoft公司推出的一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统。下面从数据库配置基线、数据库补丁基线、数据库健康基线和数据库业务基线这4个方面,简单分析安全基线技术在SQL Server数据库系统[4]中的应用。

4.1 数据库配置基线

(1)账户身份认证安全基线要求:当用户连续认证失败次数超过3次后,系统会自动锁定该账号过几分钟后再允许登录,以防止暴力猜测密码;

(2)账户口令强度安全基线要求:数据库要求每个用户有一个强口令(口令长度至少为6位字符,并要求至少包括数字、小写字母、大写字母和特殊符号4类中的2类),并且不能明文传输用户的账户口令;

(3)访问权限安全基线要求:在对数据库系统进行访问控制时,用户根据其账户身份享有的权限进行访问,只能访问授权范围之内的系统资源,不得跨权限查看其它用户受保护的敏感信息;

(4)加密机制安全基线要求:系统应当加密存储敏感信息,并且要求采用安全的加密算法和安全的密钥管理办法,不得使用已经被证明为不安全的算法。

4.2 数据库补丁基线

定时对数据库进行基线安全检查和更新,及时安装经过安全测评的漏洞补丁和更新、升级病毒库和恶意代码库;制定安全威胁扫描策略,定期扫描和清除病毒、木马、后门、间谍软件、网页挂马、网络钓鱼软件等恶意软件。

(1)防范注入安全基线要求:当存在SQL注入、命令注入、跨站脚本、路径遍历等常见安全漏攻击时,及时记录分析攻击操作命令,包括源IP地址、目的IP地址、访问时间、用户名、数据库操作类型等,并实时报警;

(2)防钓鱼安全基线要求:当系统TCP/IP连接次数超出可信区间,则认为存在防钓鱼攻击,应及时更新安全基线库;

(3)防垃圾邮件安全基线要求:当同一个地址发出多个邮件且邮件附件容量过大且超出可信区间,则存在发送垃圾邮件,应及时更新安全基线库。

4.3 数据库健康基线

综合检测数据库状态、表空间明细、表空间状态、主机CPU、活动会话数、磁盘I/O、实例吞吐量、负载及使用情况。

(1)I/O负荷基线要求:如果数据库服务器处理buffers要比I/O系统返回的buffers要快,这暗示着I/O负载比较重,需要采取一定的措施;

(2)硬盘可用空间基线要求:当硬盘空间使用率超过90%的分区,则需要引起注意并且及时增加硬盘空间的容量;

(3)CPU利用率基线要求:CPU使用率如果超过90%,要注意监控是否有僵死进程,如果有僵死进程占用CPU,需要将僵死进程终止。如果有正常进程占用大量CPU,需要查看是否属于正常业务进程等;

(4)表空间检查基线要求:检查表空间使用百分率,确保表空间使用率不要超过80%,并且数据库系统表空间不能处在脱机状态。

4.4 数据库业务基线

(1) 数据备份业务基线需求:定期对数据库做安全备份,防止因硬件故障导致数据无法使用;

(2)数据库日志业务基线要求:数据库设应配置日志功能,对用户登录进行记录,如用户登录使用的账号、登录是否成功、登录时间,以及远程登录时,用户使用的IP地址;

(3)数据库审计业务基线要求:对设定目录文件的操作进行审计,包括文件创建、拷贝、读写、复制、修改、删除、移动等的记录,跟踪和记录与数据库安全性相关的所有数据库操作,有助于事后追踪和审计用户非法访问。

5.结语

本文研究了基于基线技术的数据库安全分析,数据库可以根据自己的实际情况,对数据库进行安全基线检查,得出基本的安全需求,通过选择并实施标准的安全措施来消减和控制风险,同时还大大减少了系统安全成本。一个可操作的安全基线构造过程或框架以及它的具体实施,在整个数据库安全工程中具有重要意义和不可替代的作用。当然,基线检测也有其难以避免的缺点,比如基线水平的高低难以设定,如果过高,可能导致资源浪费和限制过度,如果过低,可能难以达到充分的安全。然而随着云计算时代的到来,对数据库的安全提出了新的要求[5],如海量信息安全检索、海量信息存储验证、海量数据隐私保护等问题,这些问题具有广泛性和复杂性,因此数据库安全问题仍是一个很有挑战性的研究方向。

[1]方舟,黄俊强.数据库安全测评通用模型的设计与实现[J].信息网络安全,2011,9(10):91—93.

[2]刘彤.构造复杂信息系统安全基线的研究[J].中国管理科学,2000,8(11):636—644.

[3]王静,易军凯.基于入侵检测的数据库安全模型研究[J].微计算机信息,2006,27(22):84—86.

[4]刘瑜,陈铁英.Microsoft SQL Server数据库的安全策略及实现[J].计算机工程与设计,2003,24(1):68—71.

[5]张敏.数据库安全研究现状与展望[J].中国科学院院刊,2011,26(3):303—309.

猜你喜欢

数据库安全基线信息系统
企业信息系统安全防护
航天技术与甚长基线阵的结合探索
一种SINS/超短基线组合定位系统安装误差标定算法
管理信息系统中数据库安全实现方法
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
浅谈高速公路数据库安全审计
一种改进的干涉仪测向基线设计方法
高职院校计算机网络安全研究与分析
高职院校计算机网络安全研究与分析