基于Web20技术的数据库审计管理系统的设计与实现euir.docx
《基于Web20技术的数据库审计管理系统的设计与实现euir.docx》由会员分享,可在线阅读,更多相关《基于Web20技术的数据库审计管理系统的设计与实现euir.docx(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Web2.0技术的数据库审计管理系统的设计与实现(申请清华大学工程硕士专业学位论文)培 养 单 位:软件学院工程领域:软件工程申 请 人:徐国智指导教师:罗 平教授二一二年五月基于Web2.0技术的数据库审计管理系统的设计与实现徐国智The Design and Implementation of Database-audit Management System Based on Web2.0Thesis Submitted toTsinghua Universityin partial fulfillment of the requirement for the professional
2、 degree of Master of EngineeringbyXu Guozhi( Software Engineering)Thesis Supervisor:Professor Luo PingMay, 2012关于学位论文使用授权的说明本人完全了解清华大学有关保留、使用学位论文的规定,即:清华大学拥有在著作权法规定范围内学位论文的使用权,其中包括:(1)已获学位的研究生必须按学校规定提交学位论文,学校可以采用影印、缩印或其他复制手段保存研究生上交的学位论文;(2)为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆、资料室等场所供校内师生阅读,或在校园网上供校内师生浏览部分内
3、容。本人保证遵守上述规定。(保密的论文在解密后遵守此规定)作者签名: 导师签名: 日 期: 日 期: 摘要摘要近年来,由于数据库用户的非法操作和外界的恶意入侵造成数据破坏和泄露的事件屡见不鲜。数据库的安全机制不但应该预防来自外部的威胁更有必要监管来自内部的各种问题。可以说,数据库审计系统就是为了满足这种需要而产生的。数据库审计系统能够记录对数据库服务器进行的各种操作,并对操作日志进行语法解析和语义分析,以达到监控用户行为、审计用户操作、发现非法入侵的目的。对于发现的入侵行为或违反审计规则的行为能够实时记录、报警。并且可以根据操作记录查询到被非法利用的用户账号、IP 地址等信息,以此追溯入侵的源
4、头,追究入侵者的责任和修改数据库系统的安全策略。近些年,随着人们越来越重视数据库安全,数据库审计系统也开始呈现出市场产品化的态势。一个成熟的软件产品不仅要提供必需的审计功能,更需要具有友好的用户界面,为用户提供便捷的操作、适当的功能。本文比较了国内外市场上现有的数据库审计系统,并且调研了用户对数据库审计系统的需求。结合国家关于安全审计产品的要求标准,分析了数据库审计系统的功能性和非功能性要求,设计了数据库审计系统的系统结构和数据库结构。实现了数据库审计的管理系统,并以统计报告模块为代表介绍了审计系统的实现细节。本文还讨论了B/S结构的软件在交互设计中应该遵守的原则。为了提高用户体验,研究了We
5、b2.0技术在数据库审计系统中的应用,充分利用了Ajax、jQuery、Flash等技术提供了便捷用户交互手段和展现方式。最后,设计并实现了三权分立的用户访问控制模型和防拷贝验证模块,加强审计系统的自身安全。关键词:数据库安全;审计;Web2.0;用户体验56AbstractAbstractIn recent years, due to the illegal operation of the database user and outside malicious intrusion, data breaches and leaks are becoming more and more com
6、mon. Database security mechanisms should not only prevent the threats from outside, the threats from within should be paid more attention to. Database audit system is to meet this need. Database security audit system can monitor and record operations to the database server, and can parse and analyze
7、 these operations to detect database intrusion or track user trails. It can intelligently determine the illegal operations to database systems, and can record and alarm these behaviors. And can trace the source of the invasion, using user accounts, IP addresses and other information depending on the
8、 operating record. Organizations can modify the database systems security policy according to these audit results. A mature software products not only to provide the necessary audit function, but also has a friendly user interface to provide users with convenient operation and appropriate functions.
9、In this paper, I compared some database security audit products to find out common defects. And then I researched the functional and nonfunctional requirements of the database audit system. And I designed the system architecture and database structure of the database security audit system.A manageme
10、nt platform for database audit system was implemented. Statistical & reporting module was introduced by the representative of the implementation details of the system. This paper also discussed principles of interaction designing in software using B / S structure. In order to improve the user experi
11、ence, Web 2.0 technologies were used in the database audit system. New web developing technologies such as Ajax, jQuery, Flash, etc. were used to provide a convenient means of user interaction and rich way to show. Finally, this paper analyzed security of database auditing system its self, designed
12、and implemented a user access control model of separation of powers, to strengthen the audit system of managing security.Key words: Database Security; Audit; Web 2.0;User experience目录目录第1章 引言11.1 选题背景及意义11.2 文献综述31.3 国内外产品概述61.4 主要工作和组织结构91.4.1 主要工作91.4.2 本文的组织结构11第2章 相关技术介绍122.1 Web2.0122.2 AJAX技术1
13、22.3 jQuery142.3.1 jQuery选择器142.3.2 jQuery与AJAX162.4 本章总结17第3章 数据库审计系统的分析与设计183.1 系统需求分析183.1.1 系统设计目标183.1.2 功能性需求分析193.1.3 安全性需求分析223.2 系统架构233.3 数据库设计243.3.1 审计规则配置243.3.2 审计事件记录253.3.3 用户权限263.4 本章总结27第4章 数据库审计管理系统的界面设计284.1 结构设计294.2 交互设计304.3 视觉设计324.4 本章总结34第5章 统计报告的设计与实现355.1 模块设计355.2 交互设计3
14、95.3 RSS405.4 本章总结41第6章 系统自身安全的实现426.1 访问控制426.1.1 基于角色的访问控制426.1.2 三权分立的RBAC模型446.1.3 访问控制过程456.2 系统授权模块的实现466.2.1 认证码的生成466.2.2 授权文件的生成476.2.3 验证过程476.3 本章总结49第7章 总结与展望507.1 总结507.2 下一步的工作50参考文献52致 谢54声 明55个人简历、在学期间发表的学术论文与研究成果56第1章 引言第1章 引言1.1 选题背景及意义随着信息技术的飞速发展,数据库得到了广泛的应用,已经成为政府机关、企事业单位、团体以及个人组
15、织和管理数据的重要方式。网络的普及又使得这些机构和个人的办公设备、数据内容等不可避免地接入互联网,这便使得大量的信息甚至是私密数据可以通过网络访问。由于这些数据库中往往保存着大量的保密信息,这些信息通常具有很高的价值,攻击这些数据库、窃取甚至破坏这些保密信息,就成了网络攻击者的主要目的之一。根据中国国家信息安全漏洞库通报,2012年2月发现的漏洞中其中SQL注入、权限许可和访问控制、信息泄露等与数据库数据安全相关的漏洞占漏洞总数的17.78%1。数据库系统自身存在的软件漏洞和管理漏洞使这些入侵者有机可乘。近年来,由于数据库用户的非法操作和外界的恶意入侵造成数据破坏和泄露的事件屡见不鲜。2011
16、年12月CSDN网站和天涯社区等多个著名站点的用户名、密码泄露事件在整个互联网行业引起了巨大的恐慌,虽然当时整个业界和广大网民所诟病的大多是这些网站用明文保存用户密码,但是事件背后更值得我们关注的应该是如何保护数据的安全。数据库安全问题,根据来源可以分为由于管理不善所带来的内部问题和由于恶意入侵而产生的外部问题。传统意义上的数据库安全机制主要以口令验证、权限控制、数据加密、传输加密等为主。这些安全机制通过对数据库用户的身份验证和权限约束来保证用户操作的合法性,防止用户使用非法权限进行数据库操作,其重点在于预防。然而,这些数据库安全机制并不能完全保证数据库安全,而且这些安全机制无法及时发现入侵行
17、为,尤其是来自于组织内部的数据非法操作、身份滥用等行为。在实际应用中,数据库安全问题主要集中在五个方面:软件安全、备份安全、访问安全、防护安全、管理安全等2。软件安全,是指数据库软件产品本身是否安全,软件的补丁是否及时更新,bug是否及时修复。备份安全,是指是否有及时有效的数据库备份机制,能否对遭到破坏的数据库及时恢复。访问安全,是指用户是否以安全的访问方式访问数据库,以及用户来源是否安全。防护安全,是指数据库是否有数据加密、安全审计、数据库防火墙等防护手动。管理安全,是指数据库的日常维护是否安全可靠。显而易见,这些安全方面大多数都与内部安全问题密切相关。Deloitte发布的2011年年度安
18、全报告指出,被认为具有高风险的信息安全问题中,有20%是由于内部员工在工作中的错误和忽视造成的,有17%是由于员工滥用IT系统造成的3。来自企业和政府组织内部的数据安全事件数量和恶劣程度也呈现出超过外部攻击的态势。2011年3月,陕西移动近六成手机用户信息被负责运营商数据库维护的技术人员以工作之便非法窃取。在2011年8月的一起非法获取公民信息案中,有超过三分之一的被告分别来自移动、电信、联通等公司的内部,正是他们泄露了本该保密的用户个人信息。这种来自内部的安全问题往往带来更大的社会信息安全隐患,而且通常比外部入侵更加难以发现、识别。因此数据库的安全机制不但应该预防来自外部的威胁更有必要监管来
19、自内部的各种问题。可以说,数据库审计系统就是为了满足这种需要而产生的。数据库审计系统能够记录对数据库服务器进行的各种操作,并对操作日志进行语法解析和语义分析,以达到监控用户行为,审计用户操作,发现入侵行为的目的。对于发现的入侵行为或违反审计规则的行为能够实时记录、报警。并且可以根据操作记录查询到被非法利用的用户账号、IP 地址等信息,以此追溯入侵的源头,追究入侵者的责任和调整数据库系统的安全策略。除了安全检测,审计系统还可以通过记录用户操作记录,追查用户行为踪迹,为事后业务审查提供依据。一个设计良好的数据库审计系统应该具备以下几个条件:1)部署安全:系统不应该对原有系统的正常运行造成干扰。2)
20、策略灵活:系统应该能够根据用户的特点,定义和修改审计策略。3)高效性:系统应该能够适应数据库的大量频繁访问,而不会遗漏数据库操作事件。4)自身安全:系统应该保证自身的安全性,提供合理的权限管理和访问控制等。5)独立可靠。4, 5随着企业和政府组织对数据库安全意识的提高,数据库审计系统也必然会由专业性、复杂性向易用性转变,在满足用户需求的同时提高系统的友好性,降低系统操作的难度系数,以简洁直观的方式展现审计结果。使用户不必具备专门的数据库和操作系统只是就能很好地操作审计系统。根据调查,市场上现有的数据库审计系统大多不能很好的满足这些条件,要么策略配置不够灵活,要么自身安全性不高,要么在易用性和用
21、户友好性方面不尽人意等等。本文在调研了最终用户对数据库审计系统的需求之后详细分析了数据库审计系统应该具有的功能,设计并实现了既满足安全性要求又具有良好用户体验的数据库审计管理系统。1.2 文献综述1980年P. Anderson 在技术报告中提出安全审计踪迹可以在计算机安全机制中发挥重要作用6,安全审计技术开始得到重视。1990年,Heberlein开发了一套网络安全监控系统,该系统将网络数据流作为审计数据的来源7,由此而衍生出了网络旁听技术。通过网络旁听收集审计源数据成为安全审计系统广泛采用的途径。此后数据库审计迅速发展到通过解析SQL语句检测入侵行为的阶段,数据挖掘、机器学习等技术在入侵检
22、测领域得到了大量的应用。Valeuret等人通过引入机器学习的方法,提出了利用机器学习的方法来检测SQL攻击的方法8,但是他们使用的方法针对的是WEB应用程序这一特定的数据库使用者,提出的框架和算法也都只能用于特定的WEB环境。其后,Kamra等人扩展了Valeuret的方法,提出了用于一般环境的SQL攻击检测框架,通过利用贝叶斯极大似然估计来训练无指导的异常检测模型9。他们对语法级数据库的异常访问进行了研究,他们将SELECT语句按语法解析成一个五元组(SQL命令,映射关系信息,映射属性信息,选择的关系信息,选择的属性信息),然后定义了三级粒度对日志文件进行分析:第一级称为C-quiplet
23、,统计每条查询对应五元组中各项的参与数目;第二级称为m-quiplet,它除了统计出五元组中各项的个数,还进一步统计了参与的关系和参与的属性的个数;第三级称为f-quiplet,粒度进一步细化,标识出了各个属性的参与情况。在现代关系数据库中角色成为数据库管理员对用户进行管理的主要手段,因此Kamra等人根据是否可以识别用户角色建立了两种检测方法。对基于用户角色的异常检测,首先使用分类算法将日志中记录的SQL语句进行分类,建立分类器。当新来一条查询时,判断查询属于哪一个分类,如果该分类的包含角色与用户的角色不一致,则认为是异常访问。对于基于用户个体的异常检测,首先使用聚类算法对日志中的SQL语句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Web20 技术 数据库 审计 管理 系统 设计 实现 euir
限制150内