数据库审计系统综述

摘要 数据库是信息系统的核心和基础,其中存储着大多数机构赖以生存的重要信息,因此保护数据库安全的重要性越来越被人们关注。目前,绝大部分信息系统都采取了一定的安全防护措施来保护数据库的安全性,但仅仅只有安全防护是不够的。当攻击发生后,我们至少应该知道系统是怎样遭到攻击的,怎样才能恢复数据;此外还要知道系统存在什么漏洞,如何能使系统在受到攻击时有所察觉,如何获取攻击者留下的证据等。数据库安全审计技术就是在这样的需求下被提出的。本文首先分析了当前国内外数据库安全研究发展状况,阐述了数据库安全和审计的基本理论,讨论了数据库的安全标准,提出了数据库安全审计的一般模型。

1 引言

如今的社会处于信息爆炸的时代,每时每刻都在产生大量的信息。企业或组织外部的和内部的信息,是企业或组织不可缺少的宝贵资源。信息系统可以从企业或组织的内部以及外部环境中搜集相关的信息并加以存储和处理,并对处理后的信息进行解释,依据解释的结果做出决策,并采取必要的行动。因此,信息系统对于现代企业或组织的管理和决策来说,起着生死攸关的作用。甚至可以说,信息系统是现代企业或组织的生命线。网络系统、操作系统和数据库管理系统是信息系统的支撑平台。网络主要解决信息的传输、操作系统主要解决信息的存储与资料的管理、数据库管理系统主要解决信息的有效存取,这三者的安全性直接影响到整个信息系统的安全。目前人们把信息安全的重点放在网络安全上,对操作系统和数据库安全的研究远不如对网络安全的研究。而实际上在信息系统的整体安全中,数据库往往成为攻击者最感兴趣的目标。数据库把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。一个信息系统的各个部分能否紧密地结合在一起以及如何结合,关键在数据库,因此数据库是信息系统的核心和基石出。其次,数据库中存储着大多数现代机构依赖的信息,从商品交易到人力资源记录、核心机密、敏感数据都存储在数据库中。数据库的重要性和其拥有的价值对攻击者有很大的吸引力,因此其受到蓄意攻击的可能性增加。同时,数据库系统本身的弱点也使其成为易受攻击的目标,由于数据库的数据经常需要更新以及其它众多的操作活动,再加上为了适应更新的需要,许多数据库提供的优化接口,都可能受到攻击者的利用。而另一方面,网络化也使数据库面临着日趋严重的安全形势。网络化使数据库的使用不受时空的限制,延伸了受到攻击的时间和空间。内部员工对数据库数据的越权访问、篡改甚至恶意破坏,竞争对手或其他非法者对数据的窃取,都将对公司带来经济损失甚至毁灭性的破坏。因此,公司和系统管理人员采取适当措施来确保数据库的安全性是很重要的。目前,绝大部分信息系统都采取了一定的安全防护措施来保护数据库的安全,现有的关系数据库通常都提供基于用户名口令方式的身份鉴别和针对数据操纵的访问控制技术。但是,任何系统的安全保护措施都不是完美无缺的,蓄意盗窃、破坏数据库的人总是想方设法打破控制。所以,只有安全防护是不够的,需要时刻了解数据库的使用状况,并在出现问题时能及时的发现问题所在,以便解决问题,避免和挽回不必要的损失。此时数据库系统需要有一个完备的审计系统。

2 数据库审计的定义

数据库审计就是对指定用户在数据库中的操作情况进行监控和记录的一种数据库功能。审计功能在启动后,可以审查用户的相关活动。例如:数据被非授权用户删除、用户越权操作、权限管理不正确、用户获得不应有的系统权限等。通常,试图超越自身安全权限的用户(或非授权用户)可以被检测出来,在造成损失之前就对他们采取措施;或者在数据被篡改之后,数据库管理员可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法篡改数据的人、时间和内容等。使用审计功能还有一个好处,就是当用户知道自己采取的某些动作会被跟踪时,他们就不会试图闯入你的数据库了。因此,数据库安全审计是一个强大的安全工具,是保证数据库安全的一个必不可少的组成要素。

3. 国内外研究现状

传统的安全审计系统早在70年代末,80年代初就已经出现在某些UNIX操作系统中[4]。数据库安全审计技术的研究虽然起步较晚,但目前国内外已经有了较高安全等级的数据库产品和原型。国外几家大的数据库开发公司已经有了各自的Bl级的实用产品,如Oracle公司的Trusted Oracle 7SybaseSecure SQL server version i1O6Informix公司的Incorporated INFORMDZOnline fSecure 50等,而B2级及以上认证的安全数据库产品尚属少见。在理论研究和原型系统开发方面,国外已经研制出SeaViewLDVASDAl级原型系统。由于国外对数据库产品的出口限制,我国直到1998年才有国外数据库产品的引入,我国自行研制并普遍使用的数据库安全产品目前还基本上是空白。具有一定影响的数据库原型系统主要有国信贝斯公司的iBASE数据库:北京大学牵头,中国人民大学、中软总公司和华中科技大学合作完成的COBASEi东软公司的Openbase Secure;中国人民大学与知识工程研究所推出的EasyBAsEPBAsE;华中理工大学的DM系列;中国科学院的LOIS等;它们的安全级都在C2B1级。对于B2级产品,我国仍处于理论研究阶段。相对国外数据库软件的发展模式而言,我国数据库软件发展普遍存在着理论研究、原型设计与产品的应用需求相分离的不足。

目前国内外许多学者在数据库安全审计领域展开了广泛的研究。所研究的

课题主要包含以下四个方面:一是审计内容,即确定审计的对象和审计记录的格式;二是对审计记录的分析方法,该领域旨在研究如何对海量的审计数据进行分析,从中得出有意义的结论;三是审计数据压缩,通过压缩减少审计数据,其目的不仅是为了节省存储空间,更是为了提取用来进行安全管理的更高层次、更有用的信息;四是审计信息的安全存储,存放审计信息的数据库本身也存在着安全问题,其一旦被入侵者攻破,审计记录就可能被破坏,其内容可能被蓄意篡改以至基于其上的分析没有任何结果,甚至得出错误结论;或者干脆直接将审计记录清除,从而使审计系统失效。因此,需要保障审计记录安全地存储在系统,目前主要的方法有加密、哈希保护、实时转储等。

4相关标准对安全审计的要求

目前国际上比较重要的安全标准有美国TCSEC(橙皮书)、欧洲ITSEC、加拿大CTCPEC、美国联邦准则FC、联合公共准则CC等等。其中,由美国国防部于1985年公布的《可信任计算机标准评估准则(Trusted Computer System Evaluation Criteria)TCSEC》是安全信息体系结构中最早、影响范围最广的原则。

TCSEC标准将安全分为四个方面:安全政策、可说明性、安全保障和文档。将计算机操作系统的安全级别划分为四档(ABCD)七级(A1B3B2B1C2C1D)。其中以A1为最高安全级别,D为最低安全级别。TCSECC2级开始要求具有审计功能,到B3级提出了关于审计的全部功能要求。

C2级要求审计以下事件:用户的身份标识和鉴别、用户地址空间中客体的引入和删除、计算机操作员/系统管理员/安全管理员的行为、其它与安全有关的事件。对于每一个审计事件,审计记录应包含以下信息:事件发生的日期和时间、事件的主体(即用户)、事件的类型、事件成功与否;对于用户鉴别这类事件,还要记录请求的来源(如终端号);对于在用户地址空间中引入或删除客体,则要记录客体的名称;系统管理员对于系统内的用户和系统安全数据库的修改也要在审计记录中得到体现。C2级要求审计管理员应能够根据每个用户的身份进行审计。

B1级相对于C2级增加了以下需要审计的事件:对于可以输出到硬拷贝设备上的人工可读标志的修改(包括敏感标记的覆写和标记功能的关闭)、对任何具有单一安全标记的通讯通道或IO设备的标记指定、对具有多个安全标记的通讯通道或I0设备的安全标记范围的修改。因为增加了强制访问控制机制,B1级要求在审计数据中也要记录客体的安全标记,同时审计管理员也可以根据客体的安全标记制定审计原则。

B2级的安全功能要求较之B1级增加了可信路径和隐蔽通道分析等,因此,除了B1级的审计要求外,对于可能被用于存储型隐蔽通道的活动,在B2级也要求被审计。

B3级在B2级的功能基础上,增加了对可能将要违背系统安全政策这类事件的审计,比如对于时间型隐蔽通道的利用。审计子系统能够监视这类事件的发生或积聚,并在这种积聚达到某个阈值时立即向安全管理员发出通告,如果随后这类危险事件仍然持续下去,系统应在做出最小牺牲的条件下主动终止这些事件。这种及时通告意味着B3级的审计子系统不象其它较低的安全级别那样只要求安全管理员在危险事件发生之后检查审计记录,而是能够更快地识别出这些违背系统安全政策的活动,并产生报告和进行主动响应。响应的方式包括锁闭发生此类事件的用户终端或者终止可疑的用户进程。

5数据库安全审计模型

5.1安全审计的一般要求

安全审计能够按照设定的审计规则忠实记录与数据库安全有关的一切活动,便于事后取证和发现安全漏洞并及时采取相应的阻断或报警等弥补措施。因此,从性能和效能的角度来看,数据库安全审计应当达到如下要求:

(1)翔实的记录相关信息。系统能按照数据库审计员设定的审计规则自动采集相关的信息,默认情况下应当能够采集所有与安全有关的信息,尔后采用标准的、通用的记录格式自动建立和存储审计信息而不需要人为的参与。

(2)重现安全事件。系统根据日志信息能够重现事件发生时的状态,以此 来查明安全事件是怎样发生、何时发生、为什么发生以及谁对此负责等。

(3)违规检测和分析。审计系统应能够检查出大多数常见的系统违规事件,并通过对审计日志的分析.寻找安全配置策略的漏洞以及可能存在的隐通道,及时报警并采取相应的补救措施。

(4)对数据库管理系统DBMS性能的影响应尽可能的小。审计是安全和效率的平衡,也是审计粒度和存储空间的折衷,在保证安全的情况下,也必须保证数据库的整体效能。

(5)威慑作用。应该对系统中具有的安全审计系统及其性能进行适当宣传,这样可以对企图入侵者起到威慑作用,又可以减少合法用户在无意中违反系统的安全策略。

(6)系统自身的安全性。安全审计系统的安全性包括两个方面:一是操作系统和软件的安全性,二是审计系统自身的安全性。审计系统自身安全,既包括审计系统的防攻击能力和故障恢复能力,也包括审计记录的安全性。一般来说,要保证审计系统本身的安全,必须与系统中其他安全措施(例如认证、授权、加密措施等)相配合。

5.2安全审计系统的主要功能

CC通用标准中阐述的安全审计系统的主要功能包括:安全审计自动响应 (Security Audit Auto Response)、安全审计数据产生(Security Audit Data Generation)、安全审计分析(Security Audit AnalysiS)、安全审计浏览 (Security Audit Review)、安全审计事件选择(Security Audit Event Selection)、安全审计事件存储(Security Audit Event Storage)等。

5.2.1安全审计自动响应

安全审计自动响应是指当安全审计系统检测出一个安全违规事件(或者是潜在的违规)时采取的自动响应措施。响应包括报警或行动,例如实时报警的生成、违例进程的终止、中断服务、用户帐号的失效等或及时通知管理员系统发生的安全事件,根据审计事件的不同系统将做出不同的响应,其响应方式可作增加、删除、修改等操作。

5.2.2安全审计数据生成

安全审计数据产生是指对在安全功能控制下发生的安全相关事件进行记录。它包括审计数据产生和用户相关标识两个组件定义。

审计数据产生,定义了可审计事件的等级,规定了每条记录包含的数据信息。产生的审计数据有:①对于敏感数据项(如口令等)的访问;②目标对象的删除;③访问权限或能力的授予和撤销;④改变主体或客体的安全属性;⑤标识的定义和用户授权认证功能的使用;⑥审计功能的启动和关闭;⑦所有可审计枣件的审计等级:最小等级、基本等级、详细等级、无定义。

数据产生功能应当在每条审计记录中至少记录以下信息:①事件发生的时间、事件类型、主标识、事件的结果(成功或失败);②基于可审计事件功能组成的定义,对不同审计事件进行类型划分。

用户相关标识,规定了将可审计事件和用户联系起来。数据产生功能能够把每个可审计事件和产生此事件的用户标识关联起来。

5.2.3安全审计分析

安全审计分析是指对系统行为和审计数据进行自动分析,发现潜在的或者实际发生的安全违规。安全审计分析的能力直接关系到能否识别真正的安全违规。它包括四个组件的定义:潜在违规分析、基于异常检测的描述、简单攻击试探法、复杂攻击试探法。

1) 潜在违规分析:建立一个固定的、由特征信息构成的规则集合并对其进行维护(添加、修改、删除规则),以监视审计出的事件,通过累积或者合并已知的可审计事件来显示潜在的安全违规。

2) 基于异常检测的描述:每个特征描述代表特定目的组成员使用的某个历史模式。每个特定目的组的成员分配相应的阀值,来表明此用户当前行为是否符合己建立的该用户的使用模式。这种分析可以在实时或者批处理模式分析下实现。每个用户相关的阀值表示用户当前行为是否符合已建立的该用户的使用模式,当用户的阀值已经超过临界条件时,要能够表明即将来临的违规。

3) 简单攻击试探法:该功能应检测出代表重大威胁的特征事件的发生。对特征事件的搜索可以在实时或者批处理模式下分析实现。该功能应当能够维护特征事件(系统事件子集)的内部表示,可以表明违规事件,在对用于确定系统行为的信息检测中,能够从可辨认的系统行为记录中区别出特征事件,当系统事件匹配特征事件表明潜在违规时,能够表明即将发生的违规。

4) 复杂攻击试探法:该功能能够描绘和检测出多步骤的入侵攻击方案,能够对 比系统事件(可能是多个个体实现)和事件序列来描绘出整个攻击方案,当发现某个特征事件序列时,能够表明发生了潜在的违规。在管理上应当做好对系统事件子集的维护(删除、修改、添加)和对系统事件序列集合的维护。在细节上能够维护己知攻击方案的事件序列(系统事件的序列表,表示已经发生了已知的渗透事件)和特征事件(系统事件的子集)的内部表示,能够表明发生了潜在的违规,在对用于确定系统行为的信息的检测中,能够从可辨认的系统行为记录中区别出特征事件和事件序列,当系统事件匹配特征事件或者事件序列表明潜在违规时,能够表明即将发生的违规。

5.3.4安全审计浏览

安全审计浏览是指经过授权的管理人员对审计记录的访问和浏览。安全系统需要提供审计浏览的工具,通常审计系统对审计数据的浏览有授权控制,审计记录只能被授权的用户有选择的浏览。有些审计系统提供数据解释和条件搜索等功能,帮助管理员方便的浏览审计记录,它包括:一般审计浏览、受限审计浏览、可选审计浏览。

1) 一般审计浏览:提供从审计记录中读取信息的能力。系统为授权用户提供审计记录信息,并且能够做出相应翻译。当个人需要时,授权用户从审计记录中读取审计信息列表,信息将显示成个人能够理解的表达方式;当其它外部信息技术实体需要时,就必须清楚的以电子方式表示出来。

2) 受限审计浏览:除了经过鉴定的授权用户,没有其他任何用户可以读取信息。

3) 可选审计浏览:可以通过审计工具按照一定标准来选择审计数据进行浏览。

因此,系统应当对审计数据提供逻辑关系上的查询、排序等能力。

5.3.5安全审计事件选择

安全审计事件选择是指管理员可以从可审计的事件集合中选择接受审计的事件或者不接受审计的事件。一个系统通常不可能记录和分析所有的事件,因为选择过多的事件将无法实时处理和存储,所以安全审计事件选择的功能可以减少系统开销,提高审计的效率。此外,因为不同场合的需求不同,所以需要为特定场合配置特定的审计事件选择。安全审计系统应该能够维护、检查、修改审计事件的集合,能够选择对哪些安全属性进行审计,如:与目标标识、用户标识、主机标识或事件类型有关的属性。

5.3.6安全审计事件存储

安全审计事件存储主要是指对安全审计跟踪记录的建立、维护,并保证其有效性。审计系统需要对审计记录、审计数据进行严密的保护,防止未授权的修改,还需要考虑在极端情况下保护审计数据有效性。审计系统在审计事件存储方面遇到的通常问题是磁盘用尽。单纯采用的覆盖最老记录的方法是不足的。审计系统应当能够在审计存储发生故障时或者在审计存储即将用尽时采取相应的动作。它包括:受保护的审计跟踪存储、审计数据有效性的保证、可能丢失数据情况下的措施、预防审计数据丢失。

1) 受保护的审计跟踪存储:需要存储好审计跟踪记录,防止未授权删除或修改 或者检测出对审计记录的删除修改。

2) 审计数据有效性的保证:在极端条件下,保证审计数据的有效性。维护好控制审计存储能力的参数,防止未授权删除修改,当存储介质异常、失效、系统受到攻击时,应该保证审计记录的有效性。

3) 可能丢失数据情况下的措施:当审计记录数目超过预设值时,为了防止可能出现的审计数据丢失,需要采取一定措施防止可能的存储失效。

4) 预防审计数据丢失:在审计跟踪记录用尽系统资源(一般情况下是硬盘存储容量)时,需要做出选择以预防审计数据的丢失:忽略可审计事件,除了具有特 殊权限的用户操作外.禁止可审计事件,覆盖旧的存储的审计记录,或者其他存储失效的措施。

6总结

数据库是许多应用的核心,其安全性早为人们所广泛重视。数据库安全审计技术作为数据库安全手段的一个有力补充,在国外已经有了成熟实用的产品,但国内对数据库安全审计技术的研究起步晚,尚处在探索阶段。国内相关的文献论文很少,而且因为没有真正的专门对数据库审计技术进行深入的研究,安全审计系统可参考的模型也几乎投有,所以对数据库的审计技术进行研究有其必要性。

国际上的安全评估标准CC准则为安全审计系统制定了一些可参照的国际通用的标准。通过查阅国内外资料,在已有的安全审计理论知识的基础上,给出了一个数据库安全审计模型。该模型实现了CC准则定义的安全审计自动响应、安全审计数据产生、安全审计分析、安全审计浏览、安全审计事件选择、安全审计事件存储等六大功能需求。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值