欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Web数据库系统的安全性分析.doc

    • 资源ID:48504868       资源大小:43KB        全文页数:18页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Web数据库系统的安全性分析.doc

    Web数据库系统的安全性分析p Web数据库系统的安全性分析p 摘 要 计算机和网络技术的广泛应用,给信息安全提出了更高的要求,在信息系统开发设计过程中,安全性能总是被放在首要的位置,成为信息系统生存的关键。数据库是基于WEB信息系统的核心组成部分,面临来自外部和内部的双重威胁,对其进行加密等安全处理,是进行数据保护的有效手段。本文介绍了几种流行的Web数据库访问技术,同时针对Web数据库的安全问题给出了一个初步的安全模型。 【关键词】:p :数据库;Web安全;访问控制 Summary The wide lications of puter and Inter technology call for a higher demand on the information security.In the process of e_ploring and designing an information system, security has always been given the first priority, which is critical for the survival of the information system.As the nuclear part of WEB information system, database faces the double threats ing internally and e_ternally.Do such as encryption security process bees the effective means for data protection.Several popular access technologies are introduced and a primary security model of Web Database is given in the paper.Key words: Database; Web safety; access control 目 录 第一章 引言 6 1.1 本课题的研究意义 7 1.2 本论文的目的、内容及作者的主要贡献 7 第二章 Web数据库的研究现状及设计目标 8 2.1 相近研究课题的特点及优缺点分析p 8 2.2 现行研究存在的问题及解决办法 8 2.3 本课题要达到的设计目标 9 第三章 Web数据库的访问技术及安全分析p 10 3.1 Web数据库的安全威胁 10 3.2 Web数据库访问技术 12 3.2.1 CGI/API技术 12 3.2.2 ASP技术 13 3.2.2.1 ASP Web数据库的安全漏洞 14 3.2.2.2 ASP Web数据库的安全防护 15 3.2.3 /JDBC技术 17 第四章 Web数据库安全管理技术与实现 19 4.1 Web数据库安全模型 19 4.2 Web数据库安全管理技术 19 4.2.1 防火墙技术 20 4.2.2身份认证和授权控制 21 4.2.3 监视跟踪和审计 24 4.2.4 存储过程 25 4.2.5 备份与故障恢复 25 4.3 案例分析p 26 第五章 结束语 29 【参考文献】:p 30 鸣 谢 32 第一章 引言 随着应用领域的不断拓展,人们已不满足于只用Web服务器浏览和发布静态的信息,人们需要通过它发表意见、查询数据甚至进行网上购物。原来的静态Web页面已经满足不了用户对信息服务的动态性、交互性的要求。这就迫切需要实现Web与数据库的交互。 Web与数据库这两者结合意味Web数据库将存储和管理大量重要数据,然儿一但它们被盗用或篡改,可能会带来巨大的政治和经济损失。基于广域网的Web数据库访问会带来很大的安全问题。首先是数据库的非法访问;另一方面数据通过网络传输,可能被截取、篡改。还有黑客的攻击可能使系统瘫痪。 在动态Web不断发展的今天,人们对其依赖性也越来越强,但由于其开放性,在设计时对与信息的保密和系统的安全考虑不完备,及人们对保护数据库的安全意识薄弱,造成现在数据库攻击与破坏事件层出不穷,给人们的日常生活和经济活动造成了很大麻烦。因此,研究网络环境下的Web数据库系统的安全保障已经成为了重要的课题。 自上世纪九十年代初我国接入Inter以来,短短十几年的发展历程,我国上网用户的总人数,1997年第一次调查结果为62万人,去年年底上升至1.11亿人。互联网的迅速普及,更让国内电子商务的发展水到渠成。但是,在电子商务快速发展的同时,网络安全的问题也始终笼罩在它的头上。从最新的互联网安全威胁报告看:大约有16的攻击是针对电子商务的,这表明攻击者正从以出名为目的转向以获得经济利益为目的。保证Web数据库安全,已是整个电子商务系统的当务之急、人心所向。而无论是B2B还是B2C,Web都是它们最初的也是最基本的界面,由此Web的安全问题便突显出来,它也是整个网络安全首当其冲的要害问题。 何谓Web,通常指的是(World Wide Web)的简称,Web最初是以开发一个人类知识为目的并为某一项目的协作者提供相关信息及交流思想的途径。Web采用了C/S 的软件体系结构,为了发布信息的通用性,Web依赖于共同的寻址句法,共同的协议集,数据格式的协商处理。由于Web的开放性、灵活性以及其空前广泛的应用,Web站点的建立日渐增加。同时,从国际安全小组CERT(outer Emergency Response Team)的统计资料看,Inter中与Web相关的安全事故也呈上升趋势。为此,W3组织、各大学、研究机构以及一些公司为了保证Web的安全性,从各种途径对其进行了广泛的研究。 1.1 本课题的研究意义 目前Web技术与数据库管理系统(DBMS)相互融合领域的研究已成为热点方向之一,数据库厂家和Web公司也纷纷推出各自的产品及中间件来支持Web技术和DBMS的融合,将两者取长补短,发挥其各自的优势,使用户可以在Web浏览器上方便地检索数据库的内容。 但由于Inter本身并没有提供任何安全机制,只要Web站点和Inter连通,就可能被任何人访问。用户已不再受时间、地域的限制,完全可以不按规定的操作流程进行操作,可以直接输入地址访问数据库,或随心所欲地采用标签、超级链接,或频繁使用Back、Fefresh等操作,对后台数据库构成直接威胁。因此,研究基于Web的数据库安全技术对于信息系统的安全保护有着重要的现实意义。 1.2 本论文的目的、内容及作者的主要贡献 在Web数据库中,大量信息被集中和存储在数据库中并且在与Inter相连接的计算机和终端之间传输。虽然在Web安全性问题上国内外已作了研究,但是在重要的数据交换行为中,它对于抵御外界攻击的能力仍然显得十分脆弱。本文从介绍几种流行的Web数据库访问技术出发,针对Web数据库的安全问题,建立一个Web数据库安全体系的初步模型,并对数据库系统的安全控制进行了详细阐述。指出安全问题应以预防为主,应该在构建Web数据库服务器时,有意识地加强数据库服务器某方面的防范措施。希望能提高人们对Web数据库安全防范的认识。 第二章 Web数据库的研究现状及设计目标 2.1 相近研究课题的特点及优缺点分析p 近年来,人们对于Web数据库安全问题的关注呈上升趋势,但由于其专业性、复杂性,Web数据库的安全防护并未达到理想的成果。而对于其防范措施也是仁者见仁,智者见智。如对身份认证机制的研究最方便的方法是设置口令法。在设置口令的方法中,系统给每个合法用户分配一个唯一的UserID和Password。但是,由于Password的先天不足,其可靠程度极差,容易被他人猜出或测得。因此,设置口令法对安全强度要求比较高的系统不适用。近年来,一些人提出更加有效的身份认证技术。例如智能卡技术,物理特征(指纹,声纹,手图等)认证技术等具有高强度的身份认证技术日益成熟,并取得了不少应用成果。但由于其技术,经济等方面的原因并不能普遍推广。只有一些对安全强度要求比较高的系统,并在一定技术,经济条件下才会用到。同时,一些文章也有很多值得我们借鉴的地方。如曾爱林在基于Web的网络数据安全体系的建立与完善中明了的介绍Web数据库的几种访问技术,并针对Web数据库的安全问题,建立了一个Web数据库安全体系的初步模型,指出安全问题应以预防为主,应该在构建Web数据库服务器时,及时进行漏洞检测、风险评估,根据检测结果,有意识地加强数据库服务器某方面的防范措施。窦丽华,蒋庆华,等人在基于Web的信息系统安全研究中研究了基于Web的信息系统的安全问题及如何充分并合理地利用操作系统、Web服务器和数据库管理系统所提供的安全设置,以有效地保证信息系统的安全性。利用应用程序所具有的灵活性,可以弥补操作系统、Web服务器和数据库管理系统的安全漏洞,结合某单位业务信息系统的案例,分别从操作系统、Web服务器、数据库管理系统、应用程序4个方面对安全问题进行分析p ,同时给出了建议。 Web数据库的安全防护是一条长远的路,只有通过不断地改进和完善,不断地实践,才能有效的防范入侵。 2.2 现行研究存在的问题及解决办法 Web数据库的安全是一个系统性,综合性的问题,而且其涉及的范围很广,因此,在进行系统设计时不能将它孤立考虑,只有结合实际层层设防,这个问题才能得到有效的解决。实际上,任何一层的安全仅利用一种安全技术都不可能提供所有安全服务和抵抗所有可能攻击,任何一个实际的系统也不可能采用过多的安全策略。任何安全措施都是相对的,只能根据具体的应用对象,权衡安全要求与所需花费的代价来进行选择适当的安全策略。还应看到,和其它技术一样,入侵者的手段也在不断提高。安全防范是一个永久性的问题,只有通过不断地改进和完善安全手段,才能保证系统的正常运行,才能提高系统的可靠性。 2.3 本课题要达到的设计目标 数据库系统主要是为用户提供完善方便的信息和数据服务,实现数据信息的共享。设计数据库安全系统的目的,是要合理有效地解决数据库中的数据信息的共享问题。在安全的数据库中,既要保证授权的合法用户对数据的有效存取,又能严格拒绝非法用户的攻击企图。具体地说,数据库安全系统的设计目标主要有以下3个方面: (1)数据的完整性 数据的完整性指数据的正确性、一致性和相容性。系统只允许授权的合法用户存取数据库中的数据信息,并且以不破坏数据的完整性为前提。同时,系统应该杜绝非法用户对数据信息进行任何存取操作,主要包括窃取和破坏。由于多个程序并发存取同一个数据库中的数据,可能会造成数据的不一致性。因此,安全系统要具有保证数据一致性的功能。 (2)数据的可用性 当系统授权的合法用户申请存取有权存取的数据时,安全系统应该尽量减小对合法操作的影响。换句话说,采用的安全机制不能明显降低数据库系统的操作性能。 (3)数据的保密性 安全系统应该提供一个高强度的加密方案,对数据库中的机敏数据进行加密处理。只有当系统的合法用户访问有权访问的数据时,系统才把相应的数据进行解密操作;否则,系统应保持机敏数据的加密状态,以防止非法用户窃取到明文信息,对系统进行攻击。 第三章 Web数据库的访问技术及安全分析p 3.1 Web数据库的安全威胁 为了让数据库能为处于网络上的用户服务而暴露在网络中,网络上的任何用户都可以访问这个数据库,这种情况下对数据库访问的控制只能通过用户控制既用户名/密码来进行。任何知道密码的用户都可以访问,这增加了密码保护管理的难度,同时用户名/密码通过Inter传输很容易被人窃取。 其次,数据应用放读取的数据是通过Web传输,而这些数据缺乏有效的安全措施保护,从而可能被截取、篡改。 另外,Web数据库中存储着大量的数据信息,往往成为信息系统的关键,这就需要数据库及数据库所在的计算机能够安全运行。数据库放在Inter中很容易受到黑客的各种攻击。 随着网络信息系统的应用,数据库远程访问的安全问题日益突出。这个问题可采用网络传输加密,用户身份认证等安全措施解决。但由于日前的主流数据的网络传输部分都由数据库厂家来完成,恰恰缺少这些安全措施,因此上述安全技术在普通的数据库系统中难以直接应用。另外利用操作系统和数据库管理系统提供的安全保护功能是常用的数据库安全解决方案。但是Inter本身并没有提供任何安全机制,只要Web站点和Inter连通,就可能被任何人访问。 Web数据库受到的威胁大致包括泄漏、窃取、窜改、冒充、延迟、重传、遗失、越权存取数据、否认已收送数据及侵犯隐私权等。 例如用ASP+Access的主要安全隐患来自Access数据库有可能被下载的漏洞。用 Access做后台数据库时,如果不对Access(_.mdb)的路径和数据库名称进行安全设置,那么该数据库就有被窃取下载的可能。现实生活中许多使用者为了记忆方便,各种证卡习惯性地使用同一密码,如果被下载的Access的信息放有用户名称、密码口令、资金帐户等重要信息,一旦一个密码泄漏,将会波及其它密码失效,甚至会给用户带来重大损失,这非常危险。 Access安全威胁主要有以下几个原因: (1)Access数据库地址、路径过于简单 Access数据库被下载,主要是存放数据库的路径和数据库名称被获知。一般情况下,网络黑客先从网站的普通访问中得到“用户网站主IP地址”,然后,通过访问有数据库交互功能的下级子目录(例如通过表单等),推断到存有数据库文件的有效路径(显示在地址栏里),再通过查看代码获知数据库文件名(点鼠标右键即可),然后在地址栏里输入含_.mdb的地址就可得到Access数据库,从而获得数据表信息。例如,用户建立的yuangong.mdb(员工人事信息库)放在虚拟目录/work下, 如果没有事先对yuangong.mdb进行安全加密处理,那么在浏览器的地址栏键入:“work/yuangong.mdb”,yuangong.mdb整个文件就会被轻易下载。文件中所有的重要数据信息就会被别人轻易窃取。 (2)使用网络免费软件所导致的数据安全问题 由于许多网络管员没有足够的时间与精力开发具有针对性的应用程序,如聊天室、bbs论坛、留言板、网络Office办公软件等,而多是采用直接从网上下载的方法来满足急用。这些程序的代码多是公开的,所使用的数据库名、存放路径基本无秘密可言,如果安全措施不力,不加处理就拿来使用,会给数据库的安全带来非常大的危险。 (3)服务器操作系统的安全隐患 现在使用dows NT/20_ Server作为服务器操作系统的用户非常主流,由于dows 20_ Server目录权限的默认设置安全性较差。很多网管只知道让Web服务器运行起来,很少对NTFS进行权限设置,有的服务器甚至未禁止对文件目录的访问控制,因此,必然会带来很大安全漏洞。如果使用 FAT分区,那么ASP程序中的File Access组件的FileSystemObiect对象就可以对大部分文件(主要是文本文件)进行读写、目录操作、文件复制、更名、删除、修改,还可以下载FAT分区上的任何文件。由于ASP程序采用的是非编译性语言,程序代码的安全性非常低,任何人只要进入站点,就可以获得代码,从而造成 ASP应用程序代码的泄露。 (4)程序设计中的安全隐患 大多数ASP程序利用表单(Form)实现与用户交互的功能,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证,直接进入某一页面。例如在浏览器中键入“some.ASP?id=1”,即可不经过表单页面直接进入满足“id=1”条件的页面。因此,在设计验证或注册页面时,必须采取特殊措施来避免此类问题的发生,以提高数据库的安全性。有的设计者出于安全考虑,将ASP应用程序中Access的连接语句另外存取,命名为conn.inc,其代码为: 此时,攻击者只要构造一个这样的密:nihaoor1=1,那可通过数据验证。为什么呢?请看最后生成的查询语句就知到了。 rs.open“ Select _From user Where密码=nihaoor1=1And姓名=“Name“,conn1=1永远为TRUE所以通过了验证。 (3)URL直接请求漏洞 如果攻击者知道了一个ASP页面的路径和文件名,而这个文件又要经过验证才能进入,但是用户直接请求包含ASP文件路径和文件名的URL,则有可能进入到该页面。 sunli.asp 甚至攻击者可以伪造一些参数挂靠在URL后面形成一个GET类型的请求,而服务器端正好是使用Querystring环境变量来采集数据或者根本没有指定接受数据的方式,用户伪造的参数即被服务器端验证。通常攻击的这个文件在网站中并没有提供链接,是系统维护员远程操作的入口。 sunli.asp?username=jackypassword=password 采用上面介绍的特殊用户名的密码构造方式,就有可能入侵到本来只有系统管理员才可以进入的页面。 3.2.2.2 ASP Web数据库的安全防护 (1) 防护Access数据库被下载的漏洞 解决这个漏洞的方法是使用不规则的数据库名字和路径。 首先,为你的数据库文件名称起个复杂的不规则的名字,并把他放在多级目录下。程序员在设计网站数据库时,经常会不自觉地给数据库起一个与网站主题非常接近的名字,这就给攻击者留下了可以乘之机。如:一个卖东西的网上购物网站,其后台数据库起名为 shopping.mdb或者ebuy.mdb等可能会被攻击者猜测出的名字。具有比较好的保密性的文件名一般要包括一些特殊的字符,如字母和数字的混合等。尽量不要使用规则的单词或者单词的组合作为数据库及其他需要保密的文件的文件名。例如,给你的数据库起名为a_35t7_.mdb,这样的文件名攻击者就很难猜出来。 其次,把数据库文件放到多级目录之下,目录名称也尽量不要太规则。有的程序员喜欢把网站的各类文件分门别类地放置在不同的文件夹之下,并且给这些文件夹起一个能代表其中所放置的文件属性的名字。如:把数据库文件放置在databasesome.mdb,这也很容易被攻击者猜测出来。因此,像数据库这类需要特别注意安全性的文件尽量不要放在含义明显的文件夹之下,适当地构造一些不规则的文件目录,然后把数据库文件放到用户所构造的多级不规则目录之下。例如,把数据库文件放到:ddaa9iop76ss5y6some.mdb,这样攻击者要想通过猜测来获得数据库的名字和路径就非常的难。 (2)防护引号造成的漏洞 解决这个漏洞的方法是修改单引号的使用。 对SQL语句中的单引号进行修改,使用像下面的函数来转换。 Function sqlstr(data) Sqlstr=“Replace(data,“,“)“ End function 把SQL中可能存在的单引号换成双单引号连用的形式,这就避免了因单引号的前后匹配造成的攻击者饶过用户名和密码验证的漏洞。通常这样使用这个函数: sql=“select _from user where username=“ sql=sql sqlstr(username) > 这样,即使攻击者构造了诸如nihaoor1=1这样的用户名或者密码,经过sqlstr函数的运算,其结果为: rs.open“ Select _From user Where密码=nihao or密码11And姓名 =“Name“0,conn 这样就不会产生因or运算符导致SQL判断永远为true的情况。 (3)防护URL直接请求漏洞 解决这个漏洞的方法是使用附加的检验程序结合特殊的Session变量值。 通常重要的页面在进入之前需要用户名和口令的验证,可以把这个验证的程序做在真正的页面之前。如果在验证的程序中通过了用户的用户名和口令,则使用Session变量记录下用户输入的用户名和口令,如Session(“h9as3u8“)=usernamepassword,这个Session变量的名字很怪,一般来说攻击者是猜不到的。通过用户的用户名和口令之后,再使用Response对象的Redirect方法重定向到重要的页面。 在这个重要页面的开头再次检验Session变量的值,其值不仅要求非空,而且要求是由特定的用户名/密码组合成的字符串。如果发现不符合的情况,立即终止程序的执行(使用Response.end方法)或者显示警告的信息。 3.2.3 /JDBC技术 是SUN公司发布的一种面向对象的程序设计语言,它以其独特的平立性、稳固性、安全性以及对网络提供的良好支持而成为Web数据库的一个强有力的开发工具。语言的标准开发包中包含了一套抽象窗口工具库AWT(abstract dows toolkit),使用应用程序的界面风格在dows、Mac和_dows系统中可以保持一致。语言编制的let程序易于在网上传输,它可以在客户机端运行而不会引起安全问题。 语言中提供的数据库访问技术称为JDBC,它是Soft公司设计第一个支持语言的标准的数据库API。它与微软公司的ODBC(open database connectivity)在概念和标准上有相似之处,也是提供对各种关系型数据库的无缝连接。JDBC API由SUN公司的Soft子公司开发,是一个标准统一的SQL数据存取接口。它由类组成,这些类代表数据连接、SQL语句和结果集等等,它们允许应用程序把SQL语句发送到数据库服务器并接受和处理结果集。JDBC机制与Web API和专用数据库Web Server有所不同:在客户机上运行的 let程序可以绕过Web服务器,直接和数据库服务器连接,并直接把结果返回给客户机浏览器,以节省中间层的处理时间。 /JDBC接口访问数据库。目前绝大多数浏览器都支持开发接口程序,对软件配置没有过多的要求,只需要安装JDBS驱动程序就可以了。因此使用/JDBC编写数据库接口程序在满足移植性通用性扩展能力等方面具有优势。 Web浏览器 Web服务器 let 数据库 图3 JDBC Web数据库连接模型 以上是几种代表性的Web数据库连接技术。还有一些其它的连接技术,比如,RAD,Object Web ,PHP等等,在此不一一列举。 第四章 Web数据库安全管理技术与实现 4.1 Web数据库安全模型 Web数据库安全威胁涉及许多方面,个人认为安全措施应综合考虑,具体可以采用下列技术措施:(1)安装防火墙;(2)身份认证和数据完整性认证服务;(3)对机密敏感的数据进行加密存储和传输;(4)访问控制机制;(5)安全审计和监视追踪技术;(6)数据库备份与故障恢复。Web数据库安全模型见图1。 防火墙 用户 认证服务 Web数据库服务器 数据加密 访问控制 审计 备份 图4 Web数据库安全模型 基于Web的管理信息系统采用的是3层Client/Server结构,即浏览器/Web服务器/数据库服务器结构。在采用ASP技术与数据库连接的系统中,浏览器和Web服务器采用协议彼此通信。用户执行基于Web的数据库应用程序,在浏览器端发出对某一数据库文件的请求,Web服务器接收到请求,不是直接通过应用程序访问数据库,而是激活ASP进行各级安全性检测。ASP利用ADO在服务器端创建连接对象,通过ODBC访问后台数据库保存的用户基本信息进行用户鉴定,拒绝非法用户访问请求,对合法用户根据其权限存取数据并返回处理结果。 因此,根据基于Web的数据库应用系统的特点,可以采用安装防火墙,用户身份认证和数据完整性认证服务,对机密敏感的数据进行加密存储和传输,访问控制机制,安全审计和监视追踪技术,数据库备份与故障恢复等安全管理结束来构筑管理信息系统的安全体系。 4.2 Web数据库安全管理技术 构筑安全可靠的Web数据库应用系统要从两个方面考虑。首先要对构筑Web数据库的工作环境进行合理系统的安全配置,防止非法人员攻击Web站点。这方面包括操作系统的安全问题、数据库服务器的安全性、Web服务器的安全性以及如何有效的配置防火墙。只有将它们有机的结合起来,才能使Web数据库建立在安全的工作环境中。 其次要在编制Web数据库应用程序时,充分考虑安全性和容错性能,以及在不同情况下应付不同行为的能力。这方面包括设置登录Web数据库站点的用户名和口令;为不同级别的用户设定不同的操作权限,访问各自的数据库;一旦受到攻击,能有效地记录是哪个用户什么时候侵入的;在服务器和客户器端建立安全有效的传输通道;在传输过程中对数据进行加密;通过数字签名_来验证用户的真实性等。 以上几方面不是孤立的,而是相互联系的,所以必须结合起来从多方面多层次考虑才能更好地构筑安全可靠的Web数据库应用系统。 4.2.1 防火墙技术 防火墙(Firewall)技术是一种访问控制技术,它是在内部网络(专用网络)和外部网络(公用网络)之间(如Inter和Intra之间)设立的一道“防护栏”,即在它们的界面上构造一个保护层(或隔离层),阻止对信息资的非法访问,并强制所有的连接都必须经过此保护层,从而提供了一个封闭的逻辑环境,保护内部网络免遭非法入侵。防火墙提供的服务主要有:保护那些易受攻击的服务:控制对特殊站点的访问;集中化的安全管理;对网络存取访问进行审计。目前防火墙的主要技术有数据包过滤和代理服务等,这些技术可单独使用,也可结合在一起共同使用。 (1)包过滤技术 它是基于路由器的技术,包过滤型防火墙位于网络层,它根据在系统内部设置的访问控制表,对通过网络层的IP数据包进行选择和过滤。通过对数据包包头信息中的IP地址、目的IP地址、端口号、目的端口号的检查,来确定该数据包是否合法,以决定是否允许它通过。包过滤只能限制一部分浏览器对数据库的访问,一些黑客仍可以利用Spoofing技术,绕国资路由器,创建带有虚假IP地址的包进入Web站点,对数据库进行侵犯,同时还缺乏审计,跟踪及验证功能。 (2)代理技术 代理服务技术是基于网络应用层的,作用于应用层。其核心是运行于防火墙主机上的代理服务器进程,它代替网络用户完成特定的TCP/IP功能,一个代理服务器实际上是一个为特定网络应用而连接两个网络的网关,对于每一种不同的应用服务,都必须有一个相应的代理。外部网络和内部网络之间要建立连接,必须通过代理的中间转换,内部网络只接受代理服务提出的服务请求,拒绝外部网络的直接连接。代理技术的优点是它能完全控制通信双方的会话过程,具有用户级的身份验证、日志管理和帐号管理功能,提供了比过滤路由器更为严格的安全性:缺点是缺乏透明性,影响网络,必须针对每一项服务都建立对应的应用层网关,才能提供全面的安全保证,这势必严重限制新应用的引入和挂接。 结合上述两种防火墙技术的优缺点,在实际构建防火墙系统时,通常由过滤器提供第一级的安全防护,主要用于防止IP欺骗攻击,再由代理服务器提供更高级的安全防护机制。防火墙技术虽然能提供一些安全保证,但是还不能满足数据库应用系统对安全问题的实际要求,而且完整的数据库安全机制应对不用用户赋予不同的访问权限,建立不同视图,因此应将防火墙技术与其他数据库安全机制结合起来。 4.2.2身份认证和授权控制 基于Web的数据库应用系统中包含大量的敏感数据和机密数据,为保证系统数据在存储时和网络传输时不被未经授权的用户访问或解读,可以利用用户名来标明用户身份,经系统鉴别用户的合法性后,再利用口令进一步核实用户身份。为保证口令的安全,在口令的提交过程中,可以不采用明文形式。具体方法是:可先对口令、用户名进行加密后再传送,服务器接受以后,对其进行解密。或者利用安全套接字协议(SSL)加密方法,通过使用公共密钥和对称性加密提供非公开通信、身份验证和信息继承。这样既可以简化其复杂性,又可以保证其安全性,使客户和服务器可以在一种防窃听防干扰或防消息伪造的方式下通信。 在Web应用程序级,可利用身份认证机制保护被限制的ASP内容。要求每个试图访问被限制的ASP内容的用户必须拥有有效的dows NT帐号的用户名和密码,每当用户试图防问被限制的内容时,Web服务器将进行身份验证,以检查用户是否拥有有效的dows NT帐号。 在后台数据库中,用身份验证机制进一步确认用户的合法性。可建立User用户表,其信息包括登录名、口令、用户名及访问权限代码。访问权限代表了用户能对数据库进行读取、插入、修改操作的权限组合。用户在经过IP地址过滤后,在WebBrowser端呈现用户登录界面。用户在系统提示下输入登录名、口令,并提交输入结果。WebServer在接受到浏览器请求后,激活ASP,通过ADO驱动ODBC与User数据库建立连接,运行ASP处理程序将用户输入与数据库记录进行比较,若为合法用户,则允许其根据权限访问数据库,否则将拒绝访问请求或引导用户注册。 由于基于Web的数据库应用程序运行在Inter的环境中,用户完全有机会不在程序员控制之下,通过一些简单操作绕过登录页面,躲避用户名和口令的验证,对数据库安全构成直接威胁。为了防止非法用户进入,保护基于 Web的数据库安全性,可以利用Session对象和 headers信息来实现安全控制。 ASP提供了Session内置对象,对每个用户请求激活不同的Session对象,Session变量在整个用户工作期保持不变。因此,可以利用Session变量来保持特定用户信息。当用户通过了用户名和口令的验证后,就把Session对象的Session ID属性作为一个Session变量存储起来。然后,当每次用户试图导航到一种要求有效连接的页面时,就可以比较当前的Session ID与存储在Session对象中的ID。如它们不匹配,就可以采用适当的行动拒绝访问。以此种方法作为身份认证是十分有效的,可以进一步完善ASP的安全机制。 在浏览器向Web Server发出请求的同时包含了相当数量的标题头域信息,如REMOTE_ADDR标明提出请求的主机的Inter地址,_REFERER表示用户到达当前页经过的链接。因此可以为所有应用程序创建用于IIS管理的统一目录并保存路径信息。各应用程序均以1,那么用户就通过验证,反之登录失败。设用户提交的用户名为:abc,密码为:“123”,则生成SQL语句:select _form login where username=abc and password= 123。 如果login表中存在username为“abc”而密码为“123”的用户,那么就登录成功,这是正常的情况。但是,如果用户提交的用户名为:“abcor=”,密码为:“123or=”时又怎么样呢?此时生成的SQL语句为:select _from login where username=abcor=and password=123or=。 此时不管login表中是否存在username为“abc”密码为“123”的用户,只要login表中有记录,都将登录成功,因为=(空字符=空字符)恒成立。我们发现数据库服务器并不是将我们提交的用户名仅仅当作用户名来处理,而是将之分成两段,取“abc”当成用户名,构成逻辑关系式username=abc,并将余下部分“or=”与之共同组成逻辑或关系式:username=abcor=,显然,此关系式恒为真;同样,对我们提交的密码也是如此处理。也就是说,上述SQL语句的where子句被分析p 为:where(username=abc)or(=)and(password=123)or(=)。对于任何记录,此逻辑关系的值皆为真,所以必然登录成功了。 我们看到,用户通过提交特殊的“用户名”和“密码”从而绕过了登录验证。原因是程序对用户提交的信息没有经过任何合法性检查而直接用于构造SQL语句。 通过上面的叙述,我们已经了解到SQL注入攻击的危害是相当严重的。要防范SQL注入,首先当然是对用户提交的数据进行严格的过滤。对数值型的参数,过滤比较简单,一般用isNumeric()函数来判断一下其是否包含非数字字符即可。对字符型参数,需要对单引号、双引号、“”号、分号等等进行过滤,最好还要对用户提交参数的长度进行判断,凡属非法者由程序给出错误提示。 防范SQL注入的另一个可行办法是摒弃动态SQL语句,而改用用户存储过程来访问和操作数据库。这需要在建立数据库后,仔细考虑Web程序需要对数据库进行的各种操作,并为之建立存储过程,然后让Web程序调用存储过程来完成数据库操作。这样,用户提交的数据将不是用来生成动态SQL语句,而是确确实实地作为参数传递给存储过程,从而有效阻断了SQL注入的途径。 第五章 结束语 Web安全已成为网络安全的一个重要领域,层出不穷的攻击手段使得原本脆弱的Web数据库更加容易瘫痪。本文主要总结前人的经验再加上本人的见解,从Web数据库的访问技术着手,讲述了了CGI、API、ASP、等技术及其安全隐患和防范措施。然后分别介绍防火墙,身份认证,授权控制,监视跟踪,审计,存储过程以及备份等常用安全技术。 Web数据库安全威胁涉及很多方面,是一个全局性问题,而且新的攻击手段和方法不断涌现,要构筑起一个面面俱到的安全体系是很困难的。不论是访问控制机制、数据加密还是防火墙技术,都只是解决问题的一个方面。在实际系统中,不应只单独使用某一项技术,而应该综合考虑各种技术,构成一个有机的结合体。 【参考文献】:p : 1.许龙飞.基于Web的数据库技术与应用.现代计算机,20_(2):14-15.2.王国荣,朱琳杰,王伟.Active Server Pages数据库.北京:人民邮电出版社,1999:139-269.3.道焰,朱世挺等.CGI技术及其安全性研究 J.计算机系统应用,1997 (12).4.周世雄编.IIS4.0超级网站速成.青岛:青岛出版社,1999:33-299.5.蔡丹媚利用ASP轻松实现Web的动态交互访问.计算机应用研究,1999 (2):62-63.6.Arman Danesh,Wes Tatters著,陈卓,张知一等译. Script 1.1开发指南.清华大学出版社,1998.7.宵金秀,冯沃辉,卢国旺.中文Dreamweaver3网页设计大制作.北京:中国民航出版社,20_.5:117-130.8.Palo Alto.Overview of Control work.CA 94304.9.张国祥.基于Apache的Web安全技术的应用研究J.武汉理工大学学报,20_4,(3).10. 2 Platform M.Enterprise Edition By Anne Thomas.11.刑春晓,潘泉,张洪才.通用Web数据库系统体系结构研究J.计算机工程与应用,1999.9:35(9):90-93.12.美 Curt Jang,Jeff Chow 著,周志英等译.Web网和INTRA上的信息出版技术.电子工业出版社,1997.13.Gunnit S.Khunrana等,Web数据库的建立与管理

    注意事项

    本文(Web数据库系统的安全性分析.doc)为本站会员(Wo****W)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开