您的当前位置:首页正文

一种新型的数据库安全审计系统

2022-08-17 来源:汇智旅游网
维普资讯 http://www.cqvip.com

Computer Engineering and Applications计算机工程与应用 2007.43(5) 163 ◎数据库与信息处理◎ 一种新型的数据库安全审计系统 曹 晖 ,王青青 ,马义忠 ,罗 平 CAO Hui ,WANG Qing-qing ,MA Yi-zhong ,LUO Ping2 1.兰州大学信息科学与工程学院.兰州730000 2.清华大学计算机科学与技术系,北京100084 1.School of Information Science and Engineering,Lanzhou University,Lanzhou 730000,China 2.Department of Computer Science and Technology,Tsinghua University,Beijing 100084,China CAO HIIi,WANG Qing-qing,Ma Yi—zhong,et a1.New database security auditing system.Computer Engineering and Applications,2007,43(5):163-165. Abstract:Aiming at the problem of vast ifornmation redundancy of database auditing system,inflexible of auditing method and ineficientf of data statistic analysis.This paper presents a new database security auditing system.It has more practical value for database security. Key words:database auditing;database security;statistic analysis;intrusion detection 摘 要:针对目前主流数据库的审计系统存在审计信息冗余、审计配置方式不灵活、以及数据统计分析能力不足的问题,设计了一 种新型的数据库安全审计系统。该系统能约简大量的审计信息,提供灵活的审计配置方式并能有效检测对数据库可能的攻击,对 数据库安全防范更具有实用价值。 关键词:数据库审计;数据库安全;统计分析;入侵检测 文章编号:1002—8331(2007)05—0163—03 文献标识码:A 中图分类号:TP31 l l 引言 在数据库系统实际运行中,有70%以上的安全威胁都源于 内部人员攻击.而入侵检测和访问控制等机制对这类攻击的防 范能力非常有限:对于很多外部入侵事件.现有的IDS(Intru— 重要性进行了必要的讨论。就数据库安全审计的产品而言,像 SoftTree公司的DB Audit,国内复旦光华的DB _Audit 都用可视化的方法实现了基于数据库的审计系统.并且已经可以支持 Oracle、Microsoft SQLServer等主要的数据库系统。但它们都存 在着审计信息冗余和对审计信息分析能力不足的问题。 本文论述了目前主流数据库的审计模型,并在数据库系统 已有的审计模块基础上重新设计和实现了新的DBSAS (Database Security Auditing System)。 sion Detection System)不能及时做出正确的响应。在这些情况 下作为安全事件追踪分析和责任追究的审计机制有着不可替 代的作用。但是目前主流数据库审计系统并没有提供专门的审 计接口.需要DBA开启审计功能并进行手工配置。而且在进行 审计配置的过程中也没有一个具体指导的理论.使得审计出的 信息杂而乱。另外,现有主流数据库如Oracle、Microsofl SQLServer、IBM DB2的审计信息记录格式并不一样,因此在对 不同数据库中的审计记录信息进行审计汇总分析时.会出现数 据记录格式兼容fJ1司题。所以建立一个通用的审计系统能够对 J『不同数据库系统的不同版本进行有效审计显得更为必要。 在数据库审计方面,文献【9】对Oracle中的审计模块进行 了详细的分析,从开启审计,配置审计,关闭审计,查看和分析 审计踪迹方面进行了详细的描述。在文献[Slq ̄Picciotto提出了 应对所收集的13志数据进行约简,以使得异常线索易于被发 2主流数据库产品中的审计模块 成熟的数据库系统有Oracle、Microsoft SQLServer、IBM DB2等,下面给出Oracle中的数据库审计模块基本结构图。其 他数据库跟Oralce的审计模块结构基本相似。 在图1中,审计管理员通过审计控制开关来确定待审计的 主体集、客体集、权限集、和语句集。这样与被审计对象相关的 操作都会写入系统审计表AUD¥中。在SYS.ADU¥表中,系统 创建了多张系统视图,供用户查看审计踪迹。在文献【1】中对 Oracle、Microsoft SQLServer、IBM DB2中的审计模块都一一作 了详细的分析。指出在这些数据库产品中存储在AUD¥表中的 现。在文献【3,4】中研究如何通过审计记录来发现入侵行为及内 部人员权限滥用问题。文献f1,2,9l对于数据库审计的必要性和 审计信息都存在信息冗余和物理空间浪费等现象。 基金项目:国家重点基础研究发展规划(973)(the National Grand Fundamentla Research 973 Program of China under Grant No.2003CB314805)。 作者简介:曹晖(1982一),男,硕士研究生,主要研究方向:数据库安全、网络安全;王青青(1984一),女,硕士研究生,主要研究方向为:网络安全,下 一代互联网技术;马义忠(1952一),副教授,主要研究方向:网络通信与分布式系统;罗平(1959一),男,副教授,主要研究方向:信息安全、 密码算法、有限元方法、数据库安全检测。 维普资讯 http://www.cqvip.com

164 2007,43(5) Computer Engineering and Applications计算机工程与应用 从对数据库访问集合中 提取主体、客体、权限、语句信息 [ l萋] [审计控制开关 萋]摩 I 审计记录写入AUD¥ ̄ 圈l 目前主流数据库中审计模块结构圈 造成这些现象最直接的原因是由于在数据库进行审计的 时候没有一个统一的审计规则框架和审计信息记录格式。并且 这些主流的数据库产品都没有提供一个可视化的审计配置和 查询接口。给DBA进行审计维护带来了一定的困难。 3新的数据库安全审计系统 正因为目前数据库安全审计系统存在着上述不足,在此基 础上.重新设计并实现了新的数据库安全审计系统。 3.1安全审计系统的基本结构 在图1的基础之上,设计了新的审计系统结构,如图2所 示。对原来的审计系统做了一定的修改并增加了4个新模块和 2个库:审计信息记录模块、审计规则查询模块、审计信息查询 模块.统计分析报告模块、审计规则库、统计特征库。 从对数据库访问集合中 提取主体、客体、权限、语句信息 审计管理员全局可视化配置审计规则 {审计规则库(、 === ...... I审计规则查询模块 、............. ................. 』} 审计信息记录模块 : 审计信息查询模块 』l (统计特征库 统计分析报告模块 图2新的数据库安全审计系统结构图 为了更好地了解系统各模块的功能:首先审计管理员应根 据数据库自身的安全需要配置相应的审计规则库,然后按照不 同安全需要生成相应的审计记录信息。对审计出的信息进行分 析并维护一段时间内的统计特征库,统计分析模块输出对数据 库系统的安全审计的分析报告。同时为了便于审计管理员进行 管理.设计了审计规则查询和审计信息查询模块。 3.2基于规则的审计配置 由于数据库的系统读写比较频繁,如果对所有对象的操作 都进行完整记录,会导致性能和存储需求很大,这样做是不必 要的 本节通过制定一个通用有效的审计规则框架,使审计管 理员可以根据待审计的主体、客体的安全级别来实施相应的安 全审计规则配置。这样审计出的信息不仅更具有针对性,还有 利于发现一些可能对数据库安全有威胁的操作。并且简化了审 计规模。 下面给出了数据库安全审计规则的定义: 定义l(安全审计规则):安全审计规则(Security Auditing Rule)SAR=(A0,OP,T,M,.sL,AF,.s)是一个七元组,其中: AO=(Pr,Sa,U,D)是审计主体,其中Pr={prl,pr2,pr3,…l 表示在特权审计中要审计的特权名称的集合,Sa=fsa1,sa2, sa3,…l表示在语句审计中要审计的语句名称的集合,U={ul, Ⅱ2,Ⅱ3,…l表示在用户审计中要审计的用户对象名称的集合, 0={ol,o2,o3,…l表示在对象审计中要审计的对象名称的集 合。 oP=(op1,op2,op3,…)是所有作用在审计主体上的操作的 集合。 T={tl,t2,t3,…l是所有审计类型的集合, 基本操作集为 {l,2,3,4l,其中 取值为l代表特权审计、取值为2代表语句 审计、取值为3代表用户审计、取值为4代表对象审计。 M={ml,m2,m3,…l是所有审计模式的集合,JI】f基本操作 集为s,厂, 分别代表审计成功的操作、审计失败的操作和审计 所有的操作。 乩是审计规则的安全级别;基本操作集为flow,middle, high1,安全级别由审计管理员根据实际情况和自己的经验定义 待审计对象。对不同安全级别的审计规则记录的信息不一样。 AF是审计频度,AF基本操作集为fSESSION,ACCESS, TRANSACTION}.其中SESSION表示会话频度,即在一个会话 中.同样的操作只记录一次。ACCESS表示访问频度,TRANS— AC册Ⅳ表示事务频度。 .s是审计开关,.s基本操作集为{TRUE,FALSEl,TRUE表 示开启一条审计规则、FALSE表示关闭某一条审计规则。 以上所有集合都是有限集合。由SAR规则信息可知,某一 条审计规则都与具体数据库应用中的某一类操作事件相对应。 所有审计规则都存放在系统审计配置表(sys_aud_conf)里面。 例1给出一条安全审计规则实例 sarl=(sys.aud¥,drop,4,a,high,access,true) 该审计规则表示:开启svs.aud¥表高安全级别的对象审计 策略,若有对svs.aud¥表执行过drop的操作,则不管执行成功 与否都按访问频度进行审计。 需要注意的是当要审计的对象或者审计的用户发生改变 的时候,也可能导致审计规则的修改。例如:当删除一张表时, 针对该表的审计规则就没有任何意义了,审计管理员需要及时 删除。 另外由于不同审计类型信息的意义不同,为了便于审计管 理员查询已有审计规则信息,审计系统提供了基于特权审计、 语句审计、用户审计、对象审计四个视图。 在系统设计应用中,安全审计系统提供了对数据库系统本 身的一些安全级别比较高的对象进行默认审计,如对Oracle系 统中的AUD¥表以及DBA一系列操作的审计,应该加入到推 荐的默认审计规则中。 总之.应尽量避免审计不必要的信息,平衡实际应用来收 集足够的信息,以便有能力存储和处理这些信息。同时审计管 理员若制定一个不好的审计规则会对数据库系统安全造成错 误的估计。 3_3采用统一的审计记录格式 关于审计信息记录的格式‘,有以下两种标准:一是在文献 维普资讯 http://www.cqvip.com

曹 晖,王青青,马义忠,等:一种新型的数据库安全审计系统 165 【71P?所描述的Bishop的标准审计追踪格式。在此标准格式中. 每个日志记录包含一些域,域之间由域分割符“#”分开,由启动 和终止符号“S”和“E”来定界。域的数目是不固定的,以满足扩 展性的需要。全部的数值都是ASICII代码串,这就避免了字节 排序和浮点格式的问题。二是归一化的审计数据格式。每个审 计数据值存放在一个独立的NADF记录中,每条记录包括以 下3个域:识别符,审计数据值的类型;长度,审计数据值的长 度;值,审计数据值。 我们应用并扩展了NADF格式,在记录中最多可包括l1 个域,最少应包括7个域,这7个域(U、UID、O、OID、SQL__TEST、 Hostname、IP)可唯一确定某一操作的主体,客体以及操作的内 容。在记录的信息中同时包括Hostname,IP两项,是为了更精 确地取证是否有内部攻击者用别人数据库帐号进行登陆并对 数据库进行破坏操作。审计信息记录的域的个数由上面所制定 的审计规则所属安全级别决定。 下面给出记录格式的定义 定义2(审计记录格式):审计记录格式(Security Auditing rail Format sATF=tU.UlD.O,OlD.T.SQL—TExT.TlME. SUC,ERR,Hostname,1P)其中: U、U1D、0、O/D分别表示被记录的主体、主体唯一标识、客 体、客体唯一标识,SQUEXT表示操作的SQL语句,TIME表 示操作的时间,1S_SUC表示操作是否成功,ERRM表示如果操 作失败.则记录提示操作失败的错误信息,否则为空,Host、IP 表示主体登陆的主机名和主机IP。 所有的审计记录信息都存放在sys—aud—trail表中。 例2给出一条审计记录信息,其对应于例1中的一条安 全审计规则 satfl=(sys,001,sys.aud¥.103,<drop table sys.audS>, 2006—01-27-20-22-34.SUCCESS,null,hyde.192.168.1.111) 该记录表示:sys用户登陆到IP为192.168.1.111,用户名 为hyde的主机上.在2006年1月27日20时22分34秒的时 候成功地drop了sys.aud¥表。 同一个操作可能符合多种类型的审计规则,为了节省存储 空间.只产生一条审计信息。同时系统也提供了对审计记录存 储空间增长的监视功能.从而避免对数据库性能造成影响,另 外系统可以对审计信息定期自动进行备份和清空。 3.4 自适应审计分析模型 、审计分析模型是根据主体的历史档案(History Pmfile)来 判断主体的当前事件是否偏离了过去的行为模式。每次审计记 录接受后,计算该阶段事件与历史档案中事件的统计值之间的 偏差是否超过了设定的阈值。 3.4.1特征值的选取 统计方法最重要的步骤是异常特征值的选取。因为入侵异 常行为是影响特征值变化的唯一的或主要的因素。而在数据库 系统中.入侵异常行为可划分为实体攻击和强度攻击。 实体攻击:指在用户对数据库的正常使用中,每个用户由 于权限和工作范围只能访问数据库中一部分的对象。如果在检 测过程中,审计记录中用户访问了一个不曾访问过的对象(如: 表、视图等),那么认为有异常存在。 强度攻击:指在正常使用中,用户访问数据库中对象的频 度也是趋于在一个水平范围内。如用户登录失败次数,用户访 问对象失败次数等。 因此可根据攻击类型来构建统计分析所需的特征向量,将 其分成两类: 实体攻击特征向量:用户访问对象的分布,用户使用权限 的分布 强度攻击特征向量:用户登录失败次数.用户访问对象失 败次数,用户会话的CPU占用均值,用户写数据量,用户读数 据量 根据这些特征值的变化,对审计记录分析判断是否存在实 体攻击和强度攻击。 3.4.2检测分析方法描述 在具体应用中,采用了方差分析法作为统计分析模型。以 日特征值的统计计算为例描述统计分析方法。 统计区间分为同类值区间和近期值区间两部分。同类值是 指在时间上有相同点的特征数据,如:所有星期一的数据读写 量、所有月份1号那一天的数据读取量。近期值是指在检测当 天往前若干天内的特征数据值,如:20天内每天的登录失败次 数。具体实例如下: 星期一数据的统计区间:当年所有星期一数据; 工作日近期值统计区间:最近X日的工作日数据; 休息日近期值统计区间:最近I,日的休息日数据。 初始设定X=22,Y=8,可根据应用背景调整。以此类推,可 计算一星期中七天的统计区间。在统计区间内: Ⅳ (1)根据公式 = 1∑s 分别计算各个特征值的均值,其 V J=l 中S 为统计区间内每日计算出的特征值,Ⅳ为统计区间的天 数,S为该特征分量的均值。 .; (2)根据公式 = (∑s )计算出各特征分量的方差。 V ,=l (3)根据公式s = (s +5 )分别计算各个特征分量的参考 值,S.取上一步骤中得到的统计区间相应均值。S 是近期值区 间中的统计均值。 3.4I3判断当日的异常 根据当日的特征数据、参考值和方差,判断各个特征值是 否处于异常区间。 当a ̄<lS 一S 『<6 时,处于一般异常状态; 当bo.<lS 一S 『<c 时,处于中级异常状态; 当co"<IS广S I时,处于严重异常状态。其中a,b,c>0。 根据应用背景和统计分析结果动态调整a,b,c的数值。 在异常的情况下,根据下面公式计算相应特征向量S 的 变化幅度: ISc--D:—SJ 100% 5 3.4.4阈值自适应调整策略 上述统计分析方法的最大优点是应用了成熟的概率统计 理论.可以“学习”用户的正常使用习惯,从而具有较高异常检 出率与可用性。但作为统计分析方法,最大难题是阈值的确定, 阈值过高漏报率增大,阈值过低误报率增大,而且固定阈值还 不能反映近期行为的正常变化。因此,必须引入阈值的自适应 调整策略。在上述统计方法中,从以下方面应用了自适应的调 整策略。 (下转171页) 维普资讯 http://www.cqvip.com

须文波,王翔飞:不完备信息系统的Rough模型扩充 171 本文的方法中得到两者是可以分辨的。 在本例中可以看出,若选取等价度k=O,可得到与一般容 card( ;) 差关系下相同的分类结果;若选取等价度 =0.25,可得到与限 制容差关系下相同的分类结果。所以在实际应用中,可根据具 体情况来选取恰当的k值,从而可得到更好的分类。由以上可 以看出,本文的方法更加符合实际,更加灵活 y( 旦 而厂 近似分类精度描述的是使用 对对象分类时,可能的决 策中正确决策的百分比;分类的质量表示的是应用 对对象 分类能确切地划人P类的对象的百分比。 4 k等价度容差关系下的性质和相关定义 由 等价度容差关系下的上、下近似集定义显然可得出下 列性质(证明略): 5 结语 本文对不完备信息系统的Rough模型进行了扩展,建立了 基于k等价度容差关系的粗糙集模型,并给出了此关系下的相 关性质和定义。通过与一般容差关系,相似关系,限制容差关系 的比较,本文的Rough集模型具有很好的灵活性.得到的分类 (1) C_XC_fx (2) k0: :0 结果也更符合实际情况。(收稿日期:2006年l1月) (3)Tk(xul,1:CxuCv (4) ( nY) (5) (6) 参考文献: 【1】PAWLAK Z,BUSSE J G.RouIgh sets[J].Communications of the ACM,1995,38(11):89-95. n l, ky Y ̄一T kXC_T 【2】KRYSZKIEW I.nou gh set approach to incomplete informationg systems[J].Informationg Sciences,1998,112(1-4):39--49. 【3】STEFANOW S,TSOUKIAS A.On the extension of rou【gh sets under incomplete information【C]//Zhong N,Skowron A,Sohsuga.Proc of the 7th Int Workshop on New Directions in Rough Sets,Data Mining.and Granular—Soft Computer.Berlin:Springer—Verlag,1999: 73-81. l,j Y 进一步可以定义两个量度来描述分类的不精确性。近似分 类精度和近似分类质量。 定义10 P{X。,X ,…, }为 上的一个分类或划分,近似 分类精度d(P)和近似分类质量 (P)定义为: 1 【4】STEFANOW S,TSOUKIAS A.Incomplete ifornmation tables and card( d(P)= ———一)  rough classiifcation【J JlComputational Intelligence,2001,3(17): 545-566. 乞card(TX ) 【5】王国胤.Rou gh集理论在不完备信息系统中的扩充【J Jl计算机研究与 发展.2o02.39(10):1238—1243. (上接165页) 日志保护SATP(Security Audit Trail Protect)模块,并尝试使用 分布式审计策略来减轻安全审计系统给数据库系统带来的性 能影响。(收稿日期:2006年10月) (1)阈值的确定 在计算参考值时,采用了均值和最近关联值的算术平均 值,由于最近关联值的引入,能够反映数据的近期动态,便于参 考值的自适应调整。 (2)异常区间的确定 对上述分析方法推断的异常数据进行后期的确认和分析, 参考文献: 【1】黄芳.一种新的数据库系统的规约审计模型【JJ.计算机工程与应用, 2004,40(17):175-204. 从而获取实际数据库异常入侵行为,通过分析及结果的比对, 验证分析的正确率,在此基础上调整口、b和c的值,确定适合 应用背景的异常区间。 【2】Kogan B,Jajodia S.An audit model for object—oriented databases[J]. IEEE Computer Society,1991:90—99. 【3】Helman P,Liepins G.Statistical foundations of audit trail analysis for the detection of computer misuse[J].IEEE Trans on Software Engineering,1993,19(9):886—901. 4结束语 本文设计的数据库安全审计系统相对于原来数据库的已 有的审计系统,有以下优点:(1)提出基于规则的可视化审计配 【4】Biskup.Transaction-based pseudonyms in audit data for privacy respecting intrusion detection[CJ//Proceedings of the Third Inter— national Workshop on Recent Advances in Intrusion Detection, October 02—04,2000:28-48. 置方式,以简化并实施数据库系统全局的审计配置。使得审计 模块定制的可扩展性和通用型都有相应的提高。(2)定义统一 【5】Picciotto J.The design of an effective auditing subsystem[C]//IEEE Symp on Security and Privacy.IEEE Computer Society Press,1987: l3-22. 的审计信息记录格式,只记录必要的信息,以解决冗余的数据 信息带来的系统性能问题。(3)能够对审计记录的信息进行查 询和有效的分析,找出可能的攻击。 【6】Bishop M.Goal oriented auditing and logging[J].IEEE Transaction on Computing systems,1996. 另外,开启审计会影响数据库性能,并且随着数据库操作 量的增大,这种影响会显著增大。这时必须在安全审计系统跟 【7】Bishop M.A standard audit trail format[R].Department of Computer Science,University of California at Davis,1995. 数据库系统性能之间做出权衡。例如:放弃对某几种操作类型 或者某些数据表的审计。但这已属于审计管理的范畴,本文不 做进一步的阐述。 下一步要做的工作,就是在已有安全审计系统上增加安全 【8】Markantonakis C.Secure logging mechanisms for smart card【D】. Egham:University of London,1999. 【9】Reeser W.Understanding Oracle.Auditing.http://www.giac.org/certi— ofessionals/practicals/gsec/4085.php. ledprf—

因篇幅问题不能全部显示,请点此查看更多更全内容