数据库技术在计算机审计中的应用
任庆东1,贾岩岭1,袁满1,朱兰2
(1. 东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318; 2. 大庆油田有限责任公司 天然气分公司,黑龙江 大庆163457)
摘要 :针对现存的应用系统中面临的风险和安全信息漏洞进行分析,利用数据库在安全审计的优点,设计一套适用于应用系统的安全审计平台的模型。同时根据审计实际情况部署审计模块,达到对审计信息有效管理和系统风险及时发现等功能。
关键词:计算机;数据库;安全审计
中图分类号:TP311 文献标识码:A 文章编号:1007-984X(2010)05-0041-04
随着网络技术的发展,信息交流在日常的生活中占有越来越重要的位置,信息安全突现其重要性。而现实的应用系统中有很多的安全威胁都源于对信息安全未足够重视。在信息安全占有重要作用的计算机审计系统也是如此,尤其在目前众多的中小型应用系统中, 因安全漏洞未能及时发现酿成的重大事故时有发生,因此基于数据库的安全审计开始受到广泛关注。本文基于Oracle推出的功能和现有的安全评估体系,结合现有的应用系统上本身的应用特点,设计一套适合中小型应用平台的审计模型及对其功能菜单的设计框架进行讨论。可以为中小型的应用系统的信息安全的建设提供有益的帮助和相关的建议参考。
[1]
1 应用系统受到的威胁
目前常用的应用系统,都是由管理员来操作管理的,这就不可避免的会遇到因管理员无意操作而导致的数据丢失,或由于数据库管理员将帐号、密码无意中泄露后,别有用心的人修改数据记录。更多的情况是网络的不安全造成数据库的数据被“黑客”秘密修改而未被管理人员觉察。还有很多情况是应用系统本身也存在漏洞,而审计模块设计不妥善,造成整个应用系统处在危险的环境而浑然不知。现有的数据库本身的审计功能只负责记录用户标示下的数据操作情况,而不能真正赋予审计的职能,被形象称呼为“只记不审”。并且审计记录里保留了大量的操作记录,其中大多数记录是安全记录。如果数据库管理员不能及时的进行审核,就会影响数据库的访问速度。而且由于缺少辅助审计,人工审查也很繁重,不能及时更正,很多问题事件被管理员错过,直到问题发现时最好的纠正时间已过。虽然现在开发了很多辅助审计分析系统或工具(如ASAX项目[ASAX92][ASAX94]),但是数据库本身没有提供很好审计工具,这就要结合已有的数据审计技术,重新设计一套周全审计系统。
2 安全审计平台设计
根据审计理论的职能要求,对审计对象进行分析、评价、建设和提供审计信息。分析时,要根据应用系统的整体情况来设计审计平台。对各个模块的功能进行分析,预测可能出现的危险事件和评估其危险程度,构建一个可靠的审计平台,为审计员展示出需要审计的信息。
目前各企业应用的数据库都是和具体的应用系统紧密结合,可以根据应用数据库审计方式划分为应用系统审计和应用数据库审计2个部分。因此,在应用系统的审计的时候,需要对2个审计方式进行分离设计,并能够最终将2个审计方式的信息进行整合,形成统一的审计系统。如图1所示,应用系统的审计都是基于应用系统层和应用数据库2个部分的审计和监控,它具备以下的功能: 收稿日期:2010-07-09
作者简介:任庆东(1960-),男,副研究员,本科,现主要从事计算机控制、虚拟现实与多媒体技术方面的研究工作,2317744@qq.com。
[2]
·42· 齐 齐 哈 尔 大 学 学 报 2010年
图1 安全审计平台
(1)信息收集 该部分按审计方式不同分为系统层审计收集和应用数据库的审计收集,可以采用不同的方式收集信息。大多数情况,应用系统的用户需要操作数据库的信息,这样可以和应用数据库相联系,因此信息收集就要结合应用数据库的信息收集。由于现在的应用系统采用的软件不同,应用系统有各自的特点。如在B/S中,通过数据库来审计,应用层通过应用服务器来获取信息,只能获得部分信息,需要数据库信息补充。
(2)信息过滤 由于用户操作频繁,审计数据库会保留大量的用户操作信息,这其中有很多信息是合法信息。因此,审计系统需对用户的操作事件进行过滤,将事先定义好的需要审计的操作事件作为审计事件。
(3)信息审计 该部分是审计核心部分,负责处理信息过滤后的数据处理,并对系统出现的问题进行处理。此部分对应用系统安全策略进行有效管理,对存在的风险信息进行警示,从而确保审计结果的安全性、可靠性和有效性。
3 审计系统的数据库部署
审计数据库在审计系统中占有核心位置,负责监视整个系统的日常操作情况,为此要详尽的部署审计系统的各部分功能模块。审计理论的监督要求各个计算机应用部门在应用计算机的过程中,是否遵守了各个行业计算机应用的有关规定,是否符合有关条款要求。依照审计理论的监督要求,确保审计结果的安全性、可靠性和有效性。根据审计的需求,审计数据库分为6个功能模块进行部署,如图2所示。
3.1 审计系统操作模块
审计系统的操作模块负责管理整个操作系统的正常运行,包括对审计数据库的信息收集、过滤的调整,信息审计的结果处理和授权审计结果的查询。除此以外,还负责审计系统的操作模块功能的开闭和审计系统的日常维护、参数设置的功能。
图2 审计系统的数据库部署 3.2 信息收集
信息收集是根据审计系统的登录部分不同,主要收集应用层信息和应用数据库信息,并负责根据用户标示等特征将2个部分信息整合成唯一用户信息。因此,针对不同区域的信息收集给予不同方法:
(1)数据库信息收集 数据库信息收集的功能是在数据库发生操作时,记录与操作相关的时间、对象以及操作行为等方面的信息。数据库级审计记录可以借助数据库的审计功能,实现对数据库中发生的所有操作进行记录。记录的审计信息包括操作用户名、用户会话标识、操作时间、操作类型以及操作对象名称。另外由于数据库无法实现自动记录数据修改操作前后的数据,可以借助触发器,编写记录数据的代
[3]
第5期 数据库技术在计算机审计中的应用 ·43·
码,即可实现对数据修改操作的审计,作为审计系统中数据库级审计部分的补充。
(2)应用层信息收集 在许多B/S结构中,用户都是通过应用服务器连接数据库。因此,采用数据库级记录,只能够得到服务器的信息而无法获取用户应用系统操作方面的全部信息,应用系统级操作记录只实现该部分的记录功能(如用户的操作位置不能获得),需要辅助软件介入将完整的信息记录下来。在C/S 结构应用系统中,用户通过应用系统直接连接数据库,可以由应用系统记录操作用户信息并将该信息写入审计数据库中。
通过以上获得的用户信息,可将用户信息整合为用户的唯一完整信息。用户信息的整合可以通过用户标示(如ID、名称等)和时间的一致,将2个系统的用户信息关联起来。此时整合的信息是用户在整个系统中完整的操作痕迹,为下步信息的审计提供了基本条件。
3.3 信息过滤
由于每天都有大量用户登录系统,产生海量的审计数据,这会在空间和性能两方面给数据库带来不利的影响,而实际并不需要对所有的行为操作进行审计。因此,审计员可以根据实际的需要来选择需要审计的对象,而不是针对所有的操作和对象进行审计。将符合系统的操作和危及系统的操作分离,这样减少了审计人员审计工作量,提高审计效率,减少审计时间,即时发现问题。
从审计内容来看,审计大体分为以下3个事件:登录人员、访问对象、操作内容。
(1)登录人员 有许多不法试图通过破解登录密码,侵入系统。过滤操作可以将多次登录失败记录下来,并可以设置信赖用户组从中对比不法用户,减少审计提交时间。
(2)访问对象 在应用系统中,有很多模块居于核心部位。可以把访问模块分出等级,如果只在一般的模块浏览只需记录下来不进入用户审计步骤。
(3)操作内容 有的用户可以对应用数据进行操作,对系统的影响很大。如进行最多、最普遍的操作是数据的查询、插入、修改和删除等。这些操作是不可忽视的,必须进行审计系统。其中查询因为没有更改应用数据的结构,而且又是频繁普遍的操作,所以如果是已经建立的信赖用户组查询,审计系统可以不加审计,只要单纯的记录。
通过以上的3种基础过滤,能合理减少审计事件,减少了管理人员的工作量,提升了审计速度。 3.4 信息审计
信息审计负责对进入审计数据库的记录进行审核,对威胁整个系统的事件进行处理,对操作用户进即时的干预,从而保证整个信息系统的安全。信息过滤后需要审计的记录值,如图3所示。
[4]
图3 审计记录
在审计系统中,可以对事件分析的结果分为4个级别:操作成功、操作失败、操作出错、操作违法。审计系统将根据总控模块的审计设置,对规定的审计的事件进行处理:对于事件分析结果为成功、失败、出错的事件予以审计记录,便于以后查询;对于违法事件,将给予报警或干预操作,若是报警,则是警告当前用户并进行提示,而若是干预操作,则审计系统回收当前用户的所有权限,使其无法进入系统,并提交审计员决定是否授予其权限,另外,审计系统将对审计后的数据存入审计数据库中的审计记录表,便于以后查询验证。
3.5 操作授权
整个系统中,有很多用户可以登录系统,但是审计系统的结果和记录不是任何人都可以查看的。所以授权其中的一部分用户可以查看审计的记录,查询审计信息库里的信息,并且在审计模块发现危害系统的
[5]
·44· 齐 齐 哈 尔 大 学 学 报 2010年
操作时,及时取消登录人员的浏览资格和登录系统的资格。
3.6 查询模块
查询模块是能够授权登录人员查询最后审计记录结果的平台窗口。同时,满足用户快速的查修、审计信息检索、追查审计信息的要求。
[6]
4 结束语
通过对数据库在审计系统安全机制的分析,结合数据库管理系统自身的特点,设计了安全审计模型,并根据该模型,建立了具有审计数据的采集和审计数据的分析功能的审计系统,而这些记录可用于追踪和调查非授权用户的非法操作,从而确保数据库的安全性和可用性。本文只是给出审计系统的结构框架,在审计技术理论以及实现方面可以进行进一步的研究,例如:在数据过滤中应用数据挖掘技术,在数据库应用时参数的动态设置,以及结合现在数据本身审计功能来制定审计方法等。
参考文献
[1] 黄志国,韩慧莲. 基于安全审计的数据库安全[J]. 科技情报开发与经济,2005,15(12):228-229. [2] 飞思科技产品研发中心. Oracle 9i 数据库高级管理[M]. 北京:电子工业出版社,2002.
[3] 朝乐蒙,李青山,刘铁. 使用触发器实现Oracle 8i/9i的细粒度审计[J].信息安全与通信保密,2005(8):74-78. [4] 曹晖,王青青,马义忠,等.一种新型的数据库安全审计系统[J].计算机工程与应用,2007,43(5):163-166. [5]黄晨,胡红云,蒋安东,等.分布式安全审计系统设计与实现[J].计算机工程与设计,2007,28(4):811-813. [6] 孙华,曹袖. 分布式网络入侵监视系统的设计[J].计算机工程,1999,25(3):60-62.
Database technology apply to computer auditing REN Qing-dong1,JIA Yan-ling1,YUAN Man1,ZHUN Lan2
(1. Institute of Computer And Information Technology,Northeast Petroleum University,Heilongjiang Daqing 163318,China;
2. Natural Gas Sub-Company,Daqing Oilfield Corp. Ltd,Heilongjiang Daqing 163457,China)
Abstract:Based on the presented application system facing risk and security flaw and making use of merit of database application technology in computer auditing,safety auditing model is designed and applide to application system. While,audting funtional modules are arranged in practice,it make total application system secure and effectively find the risk.
Key words:computer;security audit;database
因篇幅问题不能全部显示,请点此查看更多更全内容