数据库审计安全加固功能以及系统性能的测试方法研究

摘 要众所周知,软件测试是软件质量保证的最重要的手段之一。同时,由于C2级(如Oracle,MS SQL SERVER等)商业数据库本身安全性的不足,攻击者可能通过非正常途径来访问数据库,甚至实施缓冲区溢出或SQL注入来攻击数据库,从而造成敏感信息的泄漏,危害数据安全以及信息系统的安全。为保障数据库以及信息系统的安全,在应用系统和数据库之间部署数据库安全审计加固系统,使对数据库的所有操作都在该系统的监控下完成,达到对数据库访问控制的目的。为完成以上任务,需要针对不同的数据库对数据库安全审计加固系统进行测试。数据库安全审计加固系统的测试,主要针对不同数据库在不同的操作系统环境下的测试,目标是实现该系统能够正确的对数据库进行访问控制,建立立体的数据库安全防护体系。文中主要讲述的是通过对数据库安全审计加固系统的功能进行测试用例的设计以及在设计的过程中需要注意的功能点,并且在测试过程中不断对测试用例进行补充、完善,逐步实现对不同数据库版本的覆盖。同时,在基本功能测试结束后,针对不同的数据库版本进行性能测试,主要测试数据库安全审计加固系统在获取大量数据包的时候是否会出现系统崩溃的情况或者漏审的情况。
目 录
摘 要 I
目 录 III
第一章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 2
1.3 本文主要工作内容 3
1.4 本章小结 4
第二章 测试技术及系统配置 5
2.1 功能测试方法 5
2.2 产品测试各阶段 7
2.3 系统配置 11
2.4 本章小结 13
第三章 测试程序的设计与实现 14
3.1数据库的连接工具的实现 14
3.2具体测试用例设计的实现 15
3.3测试环境的实现 17
3.4 本章小结 18
第四章 功能测试以及性能测试的实现 19
4.1 各功能模块 19
4.2 功能测试结果 23
4.3 性能测试 23
4.4 性能测试结果 24
4.5 本章小结 26
第五章 总结
 *好棒文|www.hbsrm.com +Q: ^351916072* 
与展望 27
致 谢 28
参考文献 29
附 录 31
第一章 绪论
本此毕设的题目是数据库的审计,安全加固功能以及系统性能测试方法的研究,所以在开始毕设之前,首先需要了解软件测试,什么是软件测试,以及软件测试的重要性,同时,测试的重点是数据库,所以还必须了解数据库的一些知识,当前数据库的安全现状。
1.1 研究背景及意义
当今社会人们无时无刻不在使用各种软件,而在平常使用的软件中,多多少少都会存在一些问题,比如信号显示有问题、数据残缺等。但是有时候软件出问题能惹出大麻烦,造成严重危害。有的时候可能因为软件存在一个小的漏洞,却给人们带来灾难性的打击。
大家都知道,数据库是被保存在存储设备上、按照一定的模型组织起来、可以让很多用户共享的数据的集合。企业信息化以现代信息技术为手段,对随着生产、经营过程中产生的有用数据进行收集、加工、管理,提高生产与经营效率,增强核心竞争力。所以,数据库是企业信息化中的重要工具,是大部分企业的核心。
当今,网络已经是人们日常生活中不可缺少的部分。数据的复杂度和数据量都在迅速增长。数据库飞速向深度、广度发展。特别是互联网的出现,很大程度上地改变了数据库的应用环境。伴随着计算机技术的快速发展,海量的数据存储在数据库中,这些数据都是信息资产的核心,如果数据遭到破坏,将给企业带来非常严重的后果。

图1.1 泄密事件图表
如图1.1。当今普遍的网络应用在信息安全还远远不能满足需求,另外随着黑客技术的飞速发展,网络信息安全已经成为社会的焦点。网络安全是一个涉及很广的问题,近年来,泄密事件经常发生。超越权限的访问、SQL注入、这些攻击手段致使数据泄露。美国某银行事件、支付宝事件、如家泄露住户信息事件等等,这些事件造成了巨大的损失。数据库安全事件其实远远不止这些,有很多的事件都没有透露。
1.2 国内外研究现状
软件测试是通过人工或者自动手段来测定相应系统的过程,目的是检验系统是否满足需求或者找出与预期存在差距的地方。软件测试是整个软件开发中相当重要的部分,随着软件开发的发展,测试变得越来越重要。简单来说,软件测试就是由验证和有效性确认活动构成的活动。相较国外软件测试的悠久历史,我们的起步晚。因为起步时间存在差距,当前而言不管是在理论研究,还是在实践上,和国外多数发达国家都有相当大的差距。技术研究缺乏,服务也未形成相当的规模,从事软件测试工作人员数量少,普遍水平不是很高。
整体来看,我国的软件行业发展较慢,软件测试则更加薄弱。目前,中国软件产业不论在产品功能,还是性能测试领域都存在着严重不足,软件测试的深度决定了企业的前途命运,国内相关人才缺乏的现状已经越来越明显。
在软件业较发达的国家, 软件测试不仅早已成为软件开发的一个重要组成部分,而且在整个软件开发的系统工程中占据着相当大的比重。例如,在美国的软件开发中,需求分析和规划确定的比重只有3%,设计占5%,编程占7%,而测试要占到15%,其余67% 是投产和维护。微软为打造Windows2000,用了250 多个项目经理、1700 多个开发人员,而测试人员则用了3200 人,几乎是开发人员的两倍。而且,每修改一个错误,都花费大量时间以确保没有新错误产生。
而在我国,由于总体上,国内软件项目过程不规范,导致重视编码和轻视测试的现象,对于软件测试的重要性、测试方法和流程等还存在很多错误的认识。
1.3本文主要工作内容
本文系统的介绍了一整个测试流程的设计以及经过测试最终得到的结果,因为是测试方法的研究,所以必须了解什么是软件测试,以及要对数据库有一些了解,利于测试的顺利进行,接着必须对要测试的系统做一个深入的掌握,这样测试时才能节约时间,这些准备工作完成后,接下来就要进行需求分析,这部分相当重要,只有确定真确的需求,测试才能更有针对性,紧接着,必须设计出合理的测试用例,这部分非常锻炼测试人员的技术,设计出严谨的,效率高的测试用例至关重要,当测试用例完成后,按照上面写的,进行一个周期的测试,并将得到的bug全部记录下来,此时测试还没有结束,需要将遗留的问题做出适当合理的分析。
测试活动应该存在产品软件周期的每个阶段,用以检验产品各个阶段的要求是否符合需求,并且尽早地发现错误及时做出改正。本系统针对的是一个数据库审计、安全加固系统。目标是对数据库进行访问控制。并且提供状态监控、风险扫描、数据库审计、访问控制等功能,建立数据库安全体系。从而达到进不来、拿不走、看不到的效果。

图1.2 数据库安全体系图
本系统通过完整的测试流程来对数据库审计、安全加固系统进行测试。如图1.2。系统主要包括如下这么几个方面:

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/1791.html

好棒文