基于Web20技术的数据库审计管理系统的设计与实现

上传人:花里****1 文档编号:109025330 上传时间:2022-06-16 格式:DOCX 页数:67 大小:1.45MB
收藏 版权申诉 举报 下载
基于Web20技术的数据库审计管理系统的设计与实现_第1页
第1页 / 共67页
基于Web20技术的数据库审计管理系统的设计与实现_第2页
第2页 / 共67页
基于Web20技术的数据库审计管理系统的设计与实现_第3页
第3页 / 共67页
资源描述:

《基于Web20技术的数据库审计管理系统的设计与实现》由会员分享,可在线阅读,更多相关《基于Web20技术的数据库审计管理系统的设计与实现(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结构的软件在交互设计中应该遵守的原则。为了提高用户体验,研究了Web2

5、.0技术在数据库审计系统中的应用,充分利用了Ajax、jQuery、Flash等技术提供了便捷用户交互手段和展现方式。最后,设计并实现了三权分立的用户访问控制模型和防拷贝验证模块,加强审计系统的自身安全。关键词:数据库安全;审计;Web2.0;用户体验AbstractIn recent years, due to the illegal operation of the database user and outside malicious intrusion, data breaches and leaks are becoming more and more common. Databas

6、e 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 these opera

7、tions 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 operating r

8、ecord. 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.In this pape

9、r, 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 management platform

10、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 experience, Web 2.

11、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 and implemen

12、ted 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技术122.3 jQuery142

13、.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 交互设计395.3 RSS405.4

14、本章总结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 选题背景及意义随着信息技术的飞速发展,数据库得到了广泛的应用,已经成为政府机关、企事业单位、团体以及个人组织和管理数据的重要方式。网络的普及又使得

15、这些机构和个人的办公设备、数据内容等不可避免地接入互联网,这便使得大量的信息甚至是私密数据可以通过网络访问。由于这些数据库中往往保存着大量的保密信息,这些信息通常具有很高的价值,攻击这些数据库、窃取甚至破坏这些保密信息,就成了网络攻击者的主要目的之一。根据中国国家信息安全漏洞库通报,2012年2月发现的漏洞中其中SQL注入、权限许可和访问控制、信息泄露等与数据库数据安全相关的漏洞占漏洞总数的17.78%1。数据库系统自身存在的软件漏洞和管理漏洞使这些入侵者有机可乘。近年来,由于数据库用户的非法操作和外界的恶意入侵造成数据破坏和泄露的事件屡见不鲜。2011年12月CSDN网站和天涯社区等多个著名

16、站点的用户名、密码泄露事件在整个互联网行业引起了巨大的恐慌,虽然当时整个业界和广大网民所诟病的大多是这些网站用明文保存用户密码,但是事件背后更值得我们关注的应该是如何保护数据的安全。数据库安全问题,根据来源可以分为由于管理不善所带来的内部问题和由于恶意入侵而产生的外部问题。传统意义上的数据库安全机制主要以口令验证、权限控制、数据加密、传输加密等为主。这些安全机制通过对数据库用户的身份验证和权限约束来保证用户操作的合法性,防止用户使用非法权限进行数据库操作,其重点在于预防。然而,这些数据库安全机制并不能完全保证数据库安全,而且这些安全机制无法及时发现入侵行为,尤其是来自于组织内部的数据非法操作、

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语句检测入侵行为的阶段,数据挖掘、机器学习等技术在入侵检测领域得到了大量的应用。Valeuret

22、等人通过引入机器学习的方法,提出了利用机器学习的方法来检测SQL攻击的方法8,但是他们使用的方法针对的是WEB应用程序这一特定的数据库使用者,提出的框架和算法也都只能用于特定的WEB环境。其后,Kamra等人扩展了Valeuret的方法,提出了用于一般环境的SQL攻击检测框架,通过利用贝叶斯极大似然估计来训练无指导的异常检测模型9。他们对语法级数据库的异常访问进行了研究,他们将SELECT语句按语法解析成一个五元组(SQL命令,映射关系信息,映射属性信息,选择的关系信息,选择的属性信息),然后定义了三级粒度对日志文件进行分析:第一级称为C-quiplet,统计每条查询对应五元组中各项的参与数目

23、;第二级称为m-quiplet,它除了统计出五元组中各项的个数,还进一步统计了参与的关系和参与的属性的个数;第三级称为f-quiplet,粒度进一步细化,标识出了各个属性的参与情况。在现代关系数据库中角色成为数据库管理员对用户进行管理的主要手段,因此Kamra等人根据是否可以识别用户角色建立了两种检测方法。对基于用户角色的异常检测,首先使用分类算法将日志中记录的SQL语句进行分类,建立分类器。当新来一条查询时,判断查询属于哪一个分类,如果该分类的包含角色与用户的角色不一致,则认为是异常访问。对于基于用户个体的异常检测,首先使用聚类算法对日志中的SQL语句进行聚类并作为分类器。当新来一条查询时判

24、断用户属于哪一个聚类,如果用户执行的SQL语句不在该聚类的范围内则认为是异常访问。2010年,Sunu Mathew等人在此基础上从语义层面对异常检测进行了研究10。他们根据查询的关系和属性建立语义向量,采用机器学习的方法对语义向量进行分类或聚类建立检测模型。在该方法中建立语义向量需要执行查询获得结果集,这会在一定程度上加重数据库负担,影响性能。Yi Hu等人提出基于数据库事物日志挖掘数据更改过程中的数据读写的依赖关系的思想11,例如SQL语句UPDATE TABLE1 set x = a+b+c where d=90。在更改x属性时需要读取a、b、c和d四个属性的值。Yi Hu首先利用规则挖

25、掘的算法(AprioriAll等)挖掘事物日志中读写操作的依赖关系和支持度,然后过滤掉只有单一操作和只包含一系列读操作的事物,最后生成数据依赖规则并计算相应的信度,当信度达到设置的阈值时则加入正常规则库,入侵检测阶段当对数据库更新的事物不符合正常规则库中的规则就认为是恶意事务。Amlan Kundu等人12通过建立不同粒度的轮廓(用户级、角色级、组织级)分析事务日志提高了检测系统的灵活性,并提出使用序列比对的方法进行基于异常的入侵检测,可以有效地检测事务内和事务间的入侵特征。由于数据库的正常行为和异常行为的界限往往是不够清晰的,Panigrahi等人建立了使用“两阶段模糊系统”的数据库入侵检测

26、系统13,他们利用模糊逻辑收集来实现灵活的信度计算和平滑区分真实用户的突发行为与入侵行为。系统首先使用序列比对和时空异常检测两种方法来选择当前事务与正常模式距离的度量规则,然后使用两阶段模糊系统计算信度,系统中还引入了贝叶斯推理进行动态学习,模糊逻辑的使用使系统达到了较高的实验结果(低于5%的误报率)。Lee等人提出了一种实时数据库入侵检测系统的方法14,通过观察事务级数据库行为来检测入侵,他们使用一种需要定时更新的临时数据对象,当更新过程中出现不匹配的情况时就产生报警。曹忠升等人提出并行的结构来同步进行数据库误用和异常的检测15,一旦发现数据库行为是入侵行为则退出本次行为的检测活动,这样可以

27、在一定程度上提高检测系统的性能。为了解决信息队列动态递增的问题,他们使用的滑动窗口的思想。陈月璇在她的数据审计系统中提出了基于启发式分析的入侵检测模型16,在模型中首先对SQL语句进行标准化处理,去掉注释、空白符等不必要的符号。并定义公式:F = A1 * EndComment + A2 * UNION + A3 * ORTautology + A4 * TSQC + A5 * Shellcode + A6* VulnerabilitySP + A7 * GrantDBA + A8 * NASP + A9 * NSNUP + A10 *SensitiveField,其中Ai满足A1 + A2

28、+ + A10 = 1。并设定A1到A2的值以及判断正常行为模式的阈值,当F值超过阈值时则认为是正常行为,添加到正常用户行为的规则库中。一个完整的数据库审计系统需要有两部分组成:数据收集和入侵检测。作为入侵检测的数据来源,数据收集的途径、格式、结构等也有了大量的研究。Huang Qiang提出了一个应用于数据库审计的日志采集框架17,其通过数据包抓取、协议解析和语义分析得到用户访问数据库的语义级日志,为入侵检测提供了方便有效的数据来源。数据库审计系统除了能够对指定数据库进行安全审计,及时发现入侵行为,还需要保证自身安全。根据国家标准信息系统安全审计产品技术要求和测试评价方法18中对审计系统自身

29、安全的要求,系统应该提供基于角色的访问控制。基于角色的访问控制(Role-Based Access Control, RBAC)的核心思想是将权限赋给角色,而不是直接赋给用户。通过对用户赋予不同的角色而使用户获得该角色所拥有的权限。角色是根据任务的不同需要而设定的,角色限定了能够访问的对象的范围,与权限之间通常是多对多的关系。基于角色的访问控制具有较低的管理复杂度,能够提供更多的访问控制策略的制定。David F.和Richard K. 早在1992年就提出了基于角色的访问控制的概念19。定义了用户、角色和权限之间的关系,并提出了“最少权限”和“任务独立”的原则。根据颜学雄的研究,RBAC模型

30、可以分为四种级别:Flat-RBAC、分层RBAC、受限RBAC、对称RBAC,20这四种级别在1996年 Sandhu, R S 建立了基于角色的访问控制模型21中首次提出,在Sandhu的模型中,以用户集、角色集、权限集以及会话之间的关系构成了基本的访问控制模型(RBAC0):每个会话都有一个用户发起,一个用户可以拥有多个角色,用户只能访问这些角色拥有的权限。在第二个模型(RBAC1)中,作者定义了角色等级,不同等级的角色之间可以存在继承关系。例如,在一个项目中,测试工程师和开发工程师都是项目成员,他们既有相同的一部分权限,也有不同的权限。把相同权限赋给项目成员,而测试工程师和开发工程师都

31、继承项目成员的角色,构成了基本的角色等级。这既保证了“最少权限”原则,又增加了角色管理的灵活性。在第三个模型(RBAC2)中,作者定义了约束条件,对用户、角色甚至权限增加控制,可以控制权限滥用。最后作者提出了阵对RBAC的管理模型,为管理人员维护RBAC模型提供了方便。在管理模型中,内置了授权约束:普通权限只能授给普通角色;管理权限只能授予管理角色。实现了系统角色和管理角色的权力分立,通过内置的授权约束避免了管理角色的权限滥用。Moyer 等人提出了一种泛化的角色访问控制模型22,将角色分为目标角色、对象角色和环境角色。目标角色与传统角色访问控制中的角色相同,对象角色根据访问对象的属性划分,用

32、以根据访问对象的属性控制用户的访问权限。环境角色则是根据系统环境(比如系统时间等)划分的角色这三类角色可以提供更加灵活、丰富的权限管理策略。1.3 国内外产品概述2009年11月IBM收购数据库安全软件Guardium,并在2010年首度发布升级产品InfoSphere Guardium 823。Guardium通过安装在数据库服务器上的轻量软件探测器连续的监视数据库事务,并转发给Collector探测违规访问。Guardium使用统一的Web控制台和工作流自动化系统管理数据库安全性。提供的功能包括数据库扫描与评估、检测数据库事务、跟踪用户活动、监控敏感数据、审计用户行为、非法访问自动阻断、复

33、杂但灵活的审计报表等功能。Guardium支持网络端口镜像SPAN方式和在数据库服务器安装软件S-TAP(S-TAP/S-GATE,S-GATE可以对非法访问进行实时阻断)方式部署,以网络旁路的方式工作于数据库主机所在的网络。Guardium具有自主学习能力,能够分析用户的访问习惯,根据访问习惯发现异常行为。除了发现入侵行为,它还能够根据指定的访问源或用户行为进行阻断。它采用独立的硬件平台,避免了影响数据库本身的性能。此外提供相关配套上市法律法规(如SOX萨班斯法案、DATA PRIVACY隐私保护法规、HIPPA、PCI、Basel II、ISO17799、ISO25001等)遵从的审计模块

34、,可以生成各种合规性报告。Imperva SecureSphere 是全球数据安全的领导厂商Imperva推出的数据安全和法规遵从解决方案24。Imperva支持非在线网络监控、透明的在线保护、基于代理的监控三种部署方式。非在线网络监控采用旁路监听技术,提供对数据库性能和可用性零影响的活动监控。透明的在线保护采用嵌入式部署,可以适时过滤和阻断非法互动。基于代理的监控以软件代理的形式监控特许的活动和网络流量。Imperva通过Web控制台对系统进行控制,从而实现跨平台、跨地域的数据库安全管理。提供的主要功能有:1)数据库评估,检测数据库漏洞,并以虚拟方式进行修补。评估数据库用户权限,统计数据库用

35、户对数据库的访问情况;2)数据库监控和审计:详细记录审计结果,以及审计系统运行状态,采用大量的过滤条件提供灵活的审计结果分析报表;3)数据库安全报表:提供灵活的模板控制,生成合规性审计报告等。DBProtect是Application Security公司推出的数据库安全保护解决方案25。Application Security公司建立了庞大的知识库SHATTER,用于支持数据库脆弱性检测和非法访问监控。DBProtect能够自动发现域内的所有数据库服务器,扫描数据库漏洞,并通过最小的访问权限分析数据库的用户权限。以此评估数据库的安全性。DBProtect通过用户定义的策略配置需要监控和审计的

36、数据库安全规则,分析并生成审计报告。DBProtect采用Web控制台对系统进行控制,主要功能有:资产管理,自动扫描域内的数据库服务器;脆弱性管理,利用知识库SHATTER定时扫描数据库漏洞,并自动发送扫描结果报告;权限管理,分析数据库用户的权限授予情况和特权用户分布情况等,协助管理员判断数据库权限分配是否安全;审计和风险管理,定制审计策略、报警管理、适时监控、系统设置等;分析和报告,对审计结果进行分析并提供丰富的选项灵活生成审计报告。杭州安恒信息技术有限公司的明御数据库审计与风险控制系统(简称:DAS-DBAuditor)是安恒信息自主研发的数据库审计产品26。系统提供细粒度的数据库行为审计

37、,能够准确回溯数据库行为,全方位地控制数据库业务安全。系统使用旁路监听的方式记录数据库用户对数据库服务器所做的各种操作。通过对操作日志库的查询、分析、统计,实现对目标数据库系统的用户操作的监控和审计。系统使用C/S架构,用户必须通过在终端安装客户端使用系统,使系统的跨平台、跨地域管理性受到限制。另外,系统只提供内置的审计报告。北京思福迪(SAFETY) 信息技术有限公司的“LOGBASE 日志管理综合审计系统”,是其拥有自主知识产权的国内唯一的数据库运行安全与合规性管理的整体解决方案27。其客户包括政府机关、电信运营商、金融机构、安全评测机构等。LOGBASE采用旁路监听的模式记录所有的数据库

38、行为,并对其进行审计,生成合规性报告。记录所有的数据库行为造成巨大的数据存储压力,而且记录的数量受到存储设备空间的限制。当存储空间不足时系统不再记录新的数据库行为成为LOGBASE的硬伤。另外,LOGBASE自行分析各个数据库协议,尤其对Oracle数据库的SQL语句中的绑定变量不能很好地支持,也是LOGBASE的一个重大缺陷。在下表中,我们对Imperva、LOGBASE和明御三个产品进行了详细比较:表1.1 数据库审计产品比较表LOGBASE明御Imperva系统平台Linux/Linux续表1.1 数据库审计产品比较表LOGBASE明御Imperva工作模式旁路监听旁路监听旁路监听、网络

39、串联记录方式记录全部行为根据用户需要查找全部记录设置审计规则,只记录符合规则的内容协议来源自行分析自行分析数据库厂商提供数据库漏洞评估无无有权限评估无无有规则配置选择内置规则选择内置规则+用户定义配置策略+用户自定义记录数量受存储限制至少保持3个月7千万条/规则记录内容粗粒度细粒度细粒度数据库性能监控不支持不支持支持分析功能不能进行分类分析不能进行分类分析可进行详细分析报告内置内置内置+用户定义查询方式方便,查询条件丰富一般,条件简单一般,条件简单,速度慢管理安全操作员与审计员权限分离操作员与审计员权限分离存在超级用户,拥有全部权限架构B/SC/SB/S跨地域操作方面麻烦方便操作简单简单复杂由

40、上表可以看出,现有的数据库审计系统还存在着一系列的问题:首先,对于国产数据库,数据库协议都是通过自行分析获得,并且由于技术限制,对于某些协议不能够很好地解析;系统不提供数据库漏洞扫描和用户权限评估的功能,这些功能对于评估数据库的安全状态时非常必要的;对于审计规则,只能通过勾选规则设置,不如以策略组织规则灵活;LOGBASE记录全部的数据库行为,对于只关心满足审计规则事件的用户则会造成很大的数据冗余。其次,对于国外产品,从功能上讲远远超过国产数据库,国外产品大多是由数据库厂商直接提供数据库协议,因此可以确保数据库操作语句解析的完备性和正确性;国外产品的问题在于复杂的功能和简洁的用户操作没有达到一

41、个良好的平衡,使得操作界面运行缓慢而且操作复杂。通过系统导航,用户很难快速地找到一个不太常用的功能。基于对国内外产品的分析,我们的数据审计系统对现有产品的缺点进行了改进,我们的特点有:1) 丰富的协议分析经验,通过对Oracle、SQL Server、DB2、MySQL等数据库各个版本的协议分析积累了大量的经验,并提出了一套有效的协议分析方法。能够全面地分析得到市场上现有数据库的通信协议2) 用户可配置的数据库行为记录方式。用户可以根据需要选择记录全部数据库行为还是只记录符合审计规则的行为3) 漏洞扫描和权限评估4) 审计策略和入侵检测规则分离,便于用户自定义审计规则和安全规则5) 三权分立的

42、用户访问权限模型,使管理员、操作员和审计员的权限相互独立,实现相互监督和制约6) 用户可定制的审计报告,用户可以自定义审计报告模板,根据实际业务需要决定报告的内容7) 友好的用户界面,以用户为中心,通过采用Web2.0的相关技术,减少了客户端与服务器的通信量,从而提高了响应速度和用户体验1.4 主要工作和论文结构1.4.1 主要工作基于对的几款常见的数据库审计系统的比较,我们发现当前市场上的数据库审计系统在功能性和易用性上还有很多的不足。现在,计算机软件已经由以功能为中心转向以用户为中心,设计一款以用户为中心、很好地将功能性和易用性相结合的审计系统就成为我们的研究课题。我们走访了清华大学计算机

43、与信息管理中心,了解了数据库审计系统在实际应用中遇到的问题,和用户的真实需求,又调研了国家标准委员会对数据库审计产品的安全性要求。在此基础之上进行了数据库审计系统的需求分析,得出审计系统必需具备的功能和安全性要求、界面要求等。根据需求,本文设计并实现了数据库审计系统。为了提高用户体验和提供丰富灵活的功能,本文使用了Web2.0的相关技术。事实证明,Web2.0的技术不仅可以应用于互联网产品,对于基于B/S结构的软件系统也能够得到很好的利用。Web2.0技术的应用大大提高了系统的用户体验。本文的难点在于:1) 系统的可扩展性系统的可扩展性分为基于用户的可扩展性和基于维护的可扩展性。用户根据其业务

44、的变化,会需要系统提供不同的审计规则和审计报告等。如果系统不能自动适应用户的这种变化,会造成巨大的系统维护开销,更重要的是会影响用户使用,从而使用户对该产品失去兴趣。目前国内的很多产品就存在这种问题,系统只能提供内置的审计规则和审计报告。本文实现的审计系统增强了用户的参与度。使用户可以自定义审计规则和审计报告。在审计报告中,用户可以根据需要选择在报告中需要的数据源,并且配置数据源的显示内容、样式、过滤条件等。在设计中,本文使用了面向对象的设计原则,使用抽象工厂的设计模式。使用户的定制成为一个生成报告模板的具体工厂,这增加了用户的扩展能力。同时,抽象工厂的使用也使得系统提供数据源的扩展变得更加容

45、易。2) 用户体验系统在向用户提供丰富的功能的同时又不使用户产生复杂、繁琐的感觉是本文的一个目标。但是在复杂性和易用性上寻找一个平衡是很困难的。本文讨论了系统导航的位置,导航的条数和层级,得出用户进入一个功能时的点击不应超过3次的结论,这个结论在实际中得到了很好的验证。另外,由于增加了用户自主定制的内容,也使得系统的内容在用户的控制之下,提高了用户体验性。3) 管理安全审计系统要求将操作权限和对审计系统操作进行审计的权限相分离。目前基于角色的访问控制虽然从一定程度上能够实现权限的分离,但是系统中往往存在一个超级用户,这个用户拥有所有的操作权限。这不能从根本上实现权限的分离。本文对Sandhu提

46、出的RBAC管理模型进行了改进,使得管理员的权限受到约束,实现了管理员、操作员、系统审计员三者的权限相互分离、相互制约。1.4.2 本文的组织结构本文在第一章引言中介绍数据库审计系统的研究现状,和国内外数据库审计系统产品概述,并比较、分析数据库审计产品存在的问题,简单介绍了我们的审计系统的特点。第二章介绍我们在数据库审计管理系统中采用的相关技术。第三章对数据库审计管理系统进行了需求分析和系统设计,首先从功能性和安全性的角度分析了数据库审计管理系统需要实现的目标,然后介绍了数据库审计系统的框架,以及数据库审计管理系统的组织结构,最后介绍了数据库审计系统的数据库设计。第四章从结构设计、交互设计和视

47、觉设计三个方面介绍了数据库审计管理系统的界面设计原则。第五章以统计报告模块为代表介绍了系统的实现过程。第六章讲述系统自身安全的实现,系统自身安全包括管理安全、数据安全和审计日志三部分,数据安全和审计日志作为数据库审计管理系统的两个功能模块在第三章中进行了介绍。因此第六章中重点介绍了管理安全及用户访问控制,提出了三权分立的RBAC模型。最后介绍了系统防拷贝模块的实现。第七章中对本人的工作进行了总结和展望。第2章 相关技术介绍2.1 Web2.0Web 2.0是一种新的互联网应用方式,通过网络应用 (Web Applications)促进网络上人与人之间的信息交流与合作。与Web1.0被动地提供信

48、息浏览相比,Web2.0更加注重用户参与,重视用户交互。通过Web2.0技术,用户可以定制网络服务的内容,网络服务会主动向用户提供其关心的信息,并且具有更快的响应速度和更优质的视觉效果。Web2.0更多的是当前网络发展的一个概念,它由很多种能够实现用户交互的技术为支撑,包括了以用户为中心的一系列网络服务技术,其中RSS(Really Simple Syndication)就是Web2.0时代出现的比较早、应用也比较广泛的一种网络服务技术。RSS是一种简单文本协议,将网络服务的内容进行重新格式化输出,以便于第三方同步或订阅,是用来和其他站点之间共享内容的简易方式。RSS采用特定的XML格式,使得

49、用户可以使用不同的RSS阅读器更新和阅读网络服务更新的内容,用户通过订阅RSS可以有效地过滤无用信息,把注意力集中到最关心的内容上。丰富的用户体验是Web2.0的一个重要特征,AJAX技术和Json、XML等语言在Web用户交互方面起到了至关重要的作用,也成为支撑Web2.0时代必不可少的技术。2.2 AJAX技术AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX的核心是JavaScript对象XmlHttpRequest,它提供一种支持异步服务器请求的技术。在Internet E

50、xplorer 5中被首次引入后,利用XmlHttpRequest进行浏览器与服务器交互的技术得到了大量的应用。传统的互联网开发模式是一个请求刷新响应的过程,浏览器向服务器每发送一个请求就会重新加载整个页面。而在实际中,用户请求往往是为了请求页面上某一部分的信息,刷新整个页面不仅会因为重复加载很多不必要的信息而浪费网络带宽,更会因此而增加用户的等待时间,影响用户体验。AJAX通过XmlHttpRequest向服务器发起异步请求,通过XML或者JSON等数据格式与服务器进行信息交互,并运用Javascript操作文档对象(DOM),实现页面的局部信息更新的效果。AJAX的工作过程如图2.1。对于

51、服务器返回的数据,可以有两种处理方式:1)responseText:将响应数据作为字符串文本处理;2)responseXML:将响应数据格式化为XMLDOM对象,在Javascript中通过对XML对象处理进行数据更新。这样维护页面数据就能够不必通过更新整个页面来完成。这使得互联网应用在响应用户请求时避免了在网络上发送那些不需更新的信息,降低了用户对浏览器与服务器通信的直观感受,减少了用户的额等待时间,能够更快速地响应用户行为。图2.1 AJAX运行原理XmlHttpRequest对象的请求方式因浏览器内核的不同而不同。例如,在IE内核的浏览器中,请求XmlHttpRequest对象的方法是:

52、new ActiveXObject(Microsoft.XMLHTTP);而在Firefox浏览器中请求对象的方法是:newXMLHttpRequest();因此在创建对象的时候需要考虑浏览器的兼容性,根据浏览器内核的不同调用不同的方法。具体代码如下:try if (window.ActiveXObject) _xmlHttp = new ActiveXObject(Microsoft.XMLHTTP); else if (window.XMLHttpRequest) _xmlHttp = new XMLHttpRequest(); catch(e) alert(e.name + : + e.

53、message); 同时,多DOM对象的处理也因浏览器内核的不同也有所不同,在处理时应考虑浏览器兼容的问题,尽量使用浏览器都支持的方法。2.3 jQueryjQuery是一套开源的轻量级JavaScript函数库,它具有优异的跨浏览器特性,用于简化JavaScript对HTML元素的操作,增强HTML内容的展示效果。jQuery由John Resig在2006年1月的BarCamp NYC上释出第一个版本,是目前最受欢迎的JavaScript函数库。jQuery最大的特点是能够方便地操作html的文档对象、事件并实现动画效果。并且,jQuery还封装了AJAX,由于jQuery跨浏览器的特性,

54、使得开发者可以使用jQuery轻松进行基于AJAX的网站交互开发,而不必过分关注浏览器兼容的问题。jQuery 语法是以选取 HTML 元素为核心,通过选择HTML元素并对选中的元素调用处理函数实现对HTML页面的操作。基础语法是:$(selector).action()。l 美元符号定义 jQueryl 选择符(selector)“查询”和“查找” HTML 元素l jQuery 的 action() 执行对元素的操作2.3.1 jQuery选择器jQuery通过选择器精确获取HTML元素。jQuery可以通过ID、类名、标签、属性以及他们的组合构造复合选择器,通过这些选择器可以精确定位到H

55、TML中的元素,对这些元素调用相应的方法从而实现对页面元素的操作。l 元素选择器jQuery使用CSS选择器来选取HTML元素,例如通过标签、ID、类名等:$(“p”)选取所有的元素。$(“.intro”)选取所有class=“intro”的元素。$(“#lastname”)选取id=“lastname”的第一个元素。在使用元素选择器时,应该首先应使用ID选择器,因为jQuery的ID选择器是通过javascript的原生方法getElementById()实现的,能够快速映射到指定id的元素,因此ID选择器是jQuery中最快的选择器。在使用类名选择器时,最好与标签选择器一起使用。因为在jQ

56、uery中类名选择器需要遍历全部DOM对象,选择类名相同的全部元素,这会造成很大的性能开销。通过使用标签选择器过滤掉不相关的DOM对象能够大大提高选择器的性能。标签选择器是通过javascript中的getElementsByTagName()方法实现的,也是jQuery中比较快的元素选择器。l 属性选择器jQuery 可以根据元素的属性选择元素,其语法是使用 XPath 表达式。例如:$(href) 选取所有带有 href 属性的元素。$(href=#) 选取所有带有 href 值等于 # 的元素。l 过滤器jQuery过滤器能够过滤掉选择器选择的不需要的元素,通过选择器与过滤器的复合使用能

57、够灵活的得到需要的HTML元素。jQuery过滤器见表2.1。表2.1 jQuery过滤器选择器实例说明:first$(“p:first”)第一个 元素:last $(p:last) 最后一个 元素:even $(tr:even) 所有偶数 元素:odd $(tr:odd) 所有奇数 元素:input $(:input) 所有 元素:input $(:input) 所有 元素:text $(:text) 所有 type=text 的 元素:password $(:password) 所有 type=password 的 元素续表2.1 jQuery过滤器选择器实例说明:radio $(:rad

58、io) 所有 type=radio 的 元素:enabled $(:enabled) 所有激活的 input 元素:disabled $(:disabled) 所有禁用的 input 元素:selected $(:selected) 所有被选取的 input 元素:checked $(:checked) 所有被选中的 input 元素:enabled$(:enabled) 所有激活的 input 元素:disabled $(:disabled) 所有禁用的 input 元素:selected $(:selected) 所有被选取的 input 元素2.3.2 jQuery与AJAXjQuery

59、拥有完整的AJAX组件,通过jQuery可以方便地使用AJAX。由于jQuery封装了AJAX中对XMLHttpRequest对象的创建和连接请求,使得开发者直接调用jQuery中的方法即可完成AJAX请求,开发者不必关心跨浏览器XMLHttpRequest对象的处理,只需将注意力集中在返回数据的处理上,大大简化了开发工作。jQuery实现AJAX的基本方法是$.ajax(),该方法是 jQuery 的底层 AJAX 实现,返回其创建的 XMLHttpRequest 对象。$.ajax()方法的所有参数都是可选的,通过这些可选参数可以设置http请求的类型、URL、参数、回调函数等。下面的代码

60、通过$.ajax()发送了一个用户名验证请求,方法中指定了请求类型是“get”,采用异步方式访问,并设置了访问成功的回调函数,代码中还展示了通过ID选择器读取文本框的值和修改元素的样式,设置显示内容等。$.ajax( type : get, url : WEB_ROOT+system/user.php, data : userName:name,userId:$(#userId).val(),rm:Math.random(), async : async, success : function(data) if(data = OK)$(#username).removeClass();$(#username).addClass(inputRight);$(#userNameTip).html();else$(#username).removeClass();$(#username).addClass(inputError);$(#userNameTip).html(用户名已存在,请重新输入);status = data; );除非需要特别设定一些不常用的属性,否则$.ajax()方法一般不会被用到。jQuery还提供了一些诸如$.get()、$.post()等高层实现。这些高层实现默认设置了相关参数,使开发者不必在调用时重复设置一些属性。例如,$.get()和$.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!