Web数据库安全技术研究
来源:用户上传
作者: 袁圣
摘要:本文论述了各种Web服务器和客户端容易遭受的攻击,并就此给出了一些解决安全问题的措施。
关键词:Web数据库 威胁 攻击 安全防范
1、前言
基于B/S架构的Web数据库管理系统的安全性问题不仅与数据库的自身安全有着紧密联系,也与互联网的开放型网络有着密切的联系。互联网本身就是一个不可信网络,在互联网上充斥着各种安全威胁。而数据库安全也是一个复杂的应用问题,数据库管理员需要采用多种策略保证数据库的安全。Web数据库管理系统作为数据库管理系统的一种实际应用,安全问题是关系到整个管理系统的完整性和保密性以及可用性的关键因素。
2、常见的安全威胁和攻击
计算机网络发展到今天,已经发生了翻天覆地的变化。黑客攻击的方式从开始的单一式攻击已经发展到几乎覆盖所有的操作系统和信息系统,黑客在网络上活动的频率也在增加。他们既可以利用信息系统自身的漏洞来发动攻击,也可以利用强行的进攻方式发动攻击,导致服务瘫痪,文件损坏等。
从黑客的攻击方式上可以把网络安全威胁分为如下几种:窃取机密攻击、非法访问、恶意攻击、计算机病毒、不良信息资源和信息战等。常见的攻击方式分为缓冲区溢出攻击、硬件设备破坏、网页篡改等。通过向程序的缓冲区写入超过长度的内容造成溢出,从而破坏程序的堆栈,使程序转入其他的位置执行未知指令,达到攻击的目的。这种攻击大多可以使程序运行失败或者系统崩溃重启,严重的话可以通过执行非授权指令取得系统特权执行非法操作。
3、Web数据库安全技术分析
3.1JavaScript的安全防范
JavaScript是Netscape公司设计的一系列HTML语言扩展,它增强了HTML语言的动态交互能力,利用自身优势把一些处理操作转移在客户浏览器中,减轻了服务器的负担。它基于对象和事件驱动。通过嵌入或者调入到HTML实现对浏览器的控制,如打开和关闭窗口、操作表格元素、调整浏览器设置等等。它具有以下几个特点:
(1)基于对象:JavaScript是一种基于对象的语言,带有面向对象的特性。尽管与C++、Java、C#这样成熟的面向对象语言相比,JavaScript的功能要弱一些,但对于它的预期用途而言,JavaScript的功能已经足够大了。自身可以运用自带的对象操作浏览器,从而实现与HTML语言的动态交互,让网页更生动多变。
(2)简单性:JavaScript是解释性脚本语言,它的开发工具多种多样,采用小程序段实现编程。它的基本结构与C、C++、Java等主流语言类似,学习容易,而且不需要编译。程序运行时逐行解释,因此调试JavaScript不是很容易。它的数据类型定义是弱类型,并未使用严格的数据定义方式,由运行时决定数据类型。
(3)动态性:JavaScript是动态的,是因为它可以直接对用户做出的动作进行反应,而不需要经过服务程序。用户对页面或者窗口做出某些操作(鼠标点击按钮,拖动标题栏等)之后,就会触发一个“事件响应”,通过它调用预先定义的脚本函数,从而达到操作的目的。
(4)相对安全性:JavaScript是一种相对安全的语言,它不允许修改本地的硬盘,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失。
(5)跨平台性:JavaScript依赖于浏览器,目前主流的浏览器都会对它进行支持,尽管有些对象在各个浏览器上稍有不同。JavaScript只需要一个文本编辑器就可以进行开发,无需Web服务器,可以利用自己的电脑进行处理。
同时JavaScript又是一门有争议的语言。虽然它是很简洁的脚本语言,可是安全问题不容小觑。JavaScript能够获得用户本地磁盘和网络盘上的目录列表。这既代表了信息泄露和隐私侵犯,又代表了安全风险,可以通过取得机器的相关组织信息从而设计针对机器的入侵方法并进行攻击破坏。它又能监视用户在某个时间段内访问的网页,捕捉URL并将它们上传到Internet上的指定地点,虽然这个过程需要用户的交互,不过欺骗可以伪装成合法的方式进行。用户也可以被这种手段欺骗,从而把本地重要的数据文件上传到指定主机。如果系统主要是依赖口令文件进行访问的话,这将会面临很大的安全风险。
3.2Cookies的安全防范
Cookies是Netscape公司开发的一种机制,用来改善HTTP的无状态性。它是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或者从客户端的硬盘读取数据的一种技术。Cookies是一段很小的信息,通常只有一个短短的章节标记那么大。它是在第一次浏览网站时Web服务器送到用户浏览器,然后保存在客户端的硬盘里。它可以记录用户在网站上输入的ID、密码及其访问历史、停留时间等信息。当你再次来到该网站时,网站通过读取Cookies,自动完成个人验证身份的输入操作,达到方便访问的效果。从本质上讲,它可以看作是你的身份证。
Cookies不能执行代码,也不会传送病毒,更不能窃取计算机里面的信息,它只能由提供它的服务器来读取。保存的信息片断以“名-值”对的形式储存,一个“名-值”对仅仅是一条命名的数据。Cookies中的内容涉及众多敏感信息,所以大多数Web服务器都会对Cookies的内容进行加密之后发送给用户,之后读取时Web服务器也有相应的解密程序。因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器才知道它们真正的含义。
3.3数据库安全及其防范
当今数据库管理系统大多都是关系型数据库管理系统,如SQLServer、Oracle、IBMDB2、Sybase等。虽然他们的命令和操作等具体细节上存在某些差异,可是大概的原理与实现其安全性的技术存在共同的特性。
数据库安全控制是指为保证数据库安全而采取的数据库安全防护措施。数据库的安全策略是涉及信息的高级指导,这些策略根据用户需要、安装环境、建立规则和法律等方面的限制来制定。
数据库系统的安全需求分为三个方面,数据库的完整性、保密性和可用性。数据库的完整性又分为物理完整性和逻辑完整性。物理完整性是指数据库不受到物理故障的影响,并在灾难性毁坏时可能进行重建和恢复原有的数据库。而逻辑完整性是保证数据库在语义与操作完整性,即要保证数据存取时和并发操作时满足完整性约束;保密性是指数据库中的数据不允许未经授权的用户存取数据,访问数据库的数据要进行身份认证,并只能访问所允许访问的数据,同时,还要对用户的访问进行跟踪和审计,还要防止认证后的用户通过访问低密级的数据推理得到高密级的数据;数据库的可用性是指既要保证授权用户可以正常对数据库中的数据进行各种授权操作,又要保证效率上不受太大的影响。这三个方面用通俗的语言来描述就是数据要正确,用户只能存取应该存取的数据。
数据库安全还经常受到其它威胁,比如推理通道和隐秘通道的威胁。推理通道就是从已知的信息推出新的信息,当用户能够在低安全级别下进行数据拼凑从而推导出在高安全级别保护下的数据时,推理功能便构成了对数据库的严重威胁。隐秘通道是指在实施强制访问控制的多级安全系统中,保密信息被一些高安全级别用户通过非常规手段泄露给无权访问的,较低安全级别的用户。推理通道和隐蔽通道是数据库中两种威胁非常大的信息泄露途径。
数据库的访问方式也会产生一些安全威胁。Web数据库的安全还与Web、HTTP协议安全、应用程序安全、代码安全等有关。Web数据库由于代码不规范或者程序设计得不严格而经常遭致SQL注入攻击等。
4、结语
由于Web数据库安全涉及的技术范围包括网络安全和数据库安全等技术,本文特针对几个Web数据库客户端与服务器端的常用技术进行探讨,指出存在的危险以及缺陷,并且给出了这些安全问题的一些解决方法,使得Web数据库搭载平台更安全,这些细微之处如果处理不当有时会使整个系统遭受攻击。
作者简介
袁圣 男 1981.8 浙江龙游 助工 2003.6月毕业于浙江大学 本科 浙江省气象局 浙江杭州 310002 从事气象行业相关的计算机通信及网络安全管理
转载注明来源:https://www.xzbu.com/2/view-422924.htm