基于Web系统的网络安全技术分析

时间:2023-06-08 09:06:05 公文范文 来源:网友投稿

摘要:随着Internet的飞速发展,基于Web的系统也得到了飞速发展,但是随之而来的网络安全问题不得不引起Web程序开发者和使用者的重视。本文针对Web系统的网络安全问题进行了综合论述,阐述了存在的网络安全隐患,并分析了当前主要的网络安全技术。

关键词:bug;拒绝服务攻击;密码学;防火墙

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)05-10853-03

1 引言

对于应用程序开发商和用户来说,如果要对基于Web的系统充满信息,就必须对系统的安全有充分的信任。但是,百分之百安全的Web系统是不存在的!由于Web系统包含的变量如此之多,以至于无法完全避免所有的安全隐患,这一点正如软件本身的bug。所以“足够好”一直是我们追求的目标,在Web系统的安全工作方面也是如此。作为狭义的理解,“足够好”是指对安全方案的投入要远远小于因安全遭到破坏而蒙受的损失。同时,理想的安全方案应该是通过加大侵入系统的难度和时间,从而使侵入系统(即使是取得了成功)所取得的回报显得毫无价值,并最终使进行持续性侵入活动的侵入者望而却步。

2 安全隐患

在Web或网络环境下,黑客通过使用各种技术来发掘存在于每个系统组件中的各种安全漏洞,从而达到攻击Web系统的目的。在这些技术中,一部分用来允许非法用户获得Web系统资源访问权限,或者禁止合法用户访问资源;另一部分用来制造麻烦,降低服务质量,或者破坏数据。

2.1 软件bug

许多安全隐患都是由程序(如Web浏览器和Web服务器程序)中的bug造成的。由于这些bug在测试阶段没有被检测到,或者是由于软件修复所带来的负面影响,安全漏洞随之产生。缓冲区溢出是我们常常提及的一种bug,该bug允许在客户机上运行恶意代码。例如,在浏览器上输入一个URL,如果该URL的长度远远超出为URL分配的缓冲区的容量,并且浏览器不具有用于确认输入URL长度的错误检测代码,那么这是就会引起缓冲区溢出错误。老练的黑客可以狡猾得通过输入一个冗长的、带有可执行代码的URL来利用这种bug,这些可执行代码可能会导致浏览器崩溃,或者改变浏览器的安全设置,更为严重的是,还可能会破坏用户数据。

Java脚本语言的安全漏洞通常会危及用户隐私的安全或者导致用户数据的泄漏。例如,当导航到不可信站点的Web页面中的某个链接时,一段有害脚本可能被附加于用户向Web服务器提交的请求当中,如一个URL或数据查询请求。当Web服务器响应这个请求时,该有害脚本就会同时附带上去。此时,该有害脚本已经存在于用户的浏览器上。用户的私人信息(如用户的ID或密码)可能会被泄漏,然后发送到某个用户并不知道的位置(Internet上的某台服务器)。

2.2 病毒和蠕虫

病毒是通过计算机之间的交互来进行传播的,最常见的传播途径是发送电子邮件和电子邮件的附件、移动文件或下载文件。当执行一个感染了病毒的程序或者病毒时,病毒代码就会被载入并运行。通常可以将病毒程序的主要目的分为两类:(1)实现病毒代码本身的设计目的,比如破坏硬盘数据;(2)通过附着在其他程序上来影响其它程序,以达到传播自己的目的。蠕虫与病毒相类似,二者的不同之处在于可以通过向别人的机器发送自己的副本(比如通过电子邮件)来进行自我传播。

2.3 拒绝服务攻击(DOS)

拒绝服务攻击是指利用大量的虚假请求或电子邮件信息来攻击服务器,致使服务器无法正常处理提交的合法请求。实施这种攻击,通常需要黑客先将软件代理程序秘密地放置在与目标服务器无关的服务器上,然后通过主命令激活这些代理程序并识别目标服务器,因此,包含代理程序的服务器的全部带宽容量就被释放到了目标服务器上。由于拒绝服务攻击代理程序是通过比较隐秘的方式进行放置的,因此很难被发现。发生在2000年的“3天攻击”事件,在这次事件中,一些Internet上的大型站点如Yahoo!、buy.com等由于受到一连串拒绝服务攻击的重创,有的被迫临时关闭。许多专家推测,发动这次攻击的目的就是要证明许多电子商务站点还缺乏强有力的安全措施。

2.4 物理攻击

低级入侵者的攻击方式通常是通过到处翻阅垃圾桶来搜索私人信息,如用户ID和密码列表;进入机房盗取计算机,窃取计算机硬盘上的数据;或者干脆趁机主不在、坐在已登录的计算机前对资源进行非法窃取。

3 Web安全技术基础

基于Web的系统所采用的最常见的安全技术有加密技术、身份验证、数字证书、防火墙和授权技术。

3.1 密码学

密码学是一门对信息进行加密的科学,可以使除了合法的接受方之外,其他人无法阅读信息。公钥和私钥技术是通过使用两类密钥来实现双方信息的安全传送,这两类密钥是用来解码加密信息的字符串。顾名思义,公钥是公开发布的,而私钥却拒绝公开访问。例如,为了让B方给自己传送某种私人信息,A方可能需要先向B发送一个公钥。然后,B方可以利用A方发过来的公钥对信息进行加密,再发回给A方,如图1所示。从理论上讲,截获该信息的人是不能破译信息的,因为他们没有掌握A方的私钥。

图1 公钥和私钥技术

数字证书是密码技术的一种具体形式,它将证书所有者的身份与用于加/解密的公钥和私钥一一对应。它还可以用来验证可疑的发送方和接收方的身份。

数字证书至少应包含的信息有:所有者公钥、所有者姓名、证书有效期、证书序列号、颁发证书的机构名称、发证机构的数字签名。数字证书可以从证书颁发机构处获得,例如VeriSign()。现有的数字证书类型有:站点证书、发行人证书以及个人证书。证书颁发机构应该提供的功能有:保证信息传送安全的技术、硬件基础设施,如安全设施、IS以及客户支持人员、监控用户活动和处理纠纷的管理体系结构。

安全的多用途Internet邮件扩展(Secure Multipurpose Internet Mail Extensions,S/MIME)使用的是RSA加密机制,该方法支持在Internet上发送秘密的电子邮件信息。Microsoft和Netscape的Web浏览器的都支持S/MIME。

3.2 安全协议

几种普遍支持的安全协议有:工作于会话层的安全套接字层(SSL);工作于应用层的增强型安全超文本传输协议(S-HTTP);工作于网络层或IP层的IP安全协议(IPSec)。IPSec协议通常是在路由器和交换机中实现的。安全套接字层是最受商用Web浏览器和服务器支持的一种安全协议。SSL协议协议提供如下的功能:使用加密技术实现客户/服务器的秘密通信;通过验证交换信息中的内容,为客户/服务器通信进行数据集成,确保数据在传输过程中不被篡改或增删;通过数字证书实现客户/服务器认证。

图2 安全套接字(SSL)协议

与SSL相似的其他安全协议有传输层安全协议(TLS)和微软秘密通信技术(PCT)。SSL安全协议支持是一个双端操作,即需要分别配置客户端和服务器端:必须得到证书颁发机构颁发的、带有公钥和私钥的证书,并且将其安装在服务器端;Web服务器必须支持诸如SSL或PCT之类的安全协议;客户端也必须能够支持诸如SSL或PCT之类的协议;必须在HTML页面中对HTTP进行正确编码,以实现安全通信。

3.3 防火墙

防火墙是隔离私有网络和Internet的屏障。它用来防止非法用户访问私人信息、利用网络资源以及破坏系统硬件,但允许合法用户访问自己所需的资源。防火墙技术是对软、硬件资源的综合使用,即利用路由器、服务器和软件来隔离内部网络和Internet。防火墙可以分为两种类型:包过滤防火墙和基于代理的防火墙。包过滤防火墙通常在路由器中实现,提供了IP级的基本网络安全特性。它通过配置路由器表格来筛选数据包,路由器通过检查数据包的头文件信息来判断数据包的来源、数据包的目的地以及传送数据所使用的协议,然后根据这些信息来阻止某些数据包的传输。与包过滤相比,基于代理的服务器是一项更为安全的防火墙技术。代理服务器是一种运行在防火墙周边主机上的软件,由于代理服务器位于周边的网络上,所以它并不是构成网络本体的组成部分。代理服务器用来实现私有网络与Internet的唯一连接。由于只有代理服务器与Internet进行交互,因此其安全性比较容易维护。它还可用于记录私有网络和Internet之间的通信量。

路由器可以与代理服务器一起使用,以增加额外的网络保护环节,一旦代理服务器失败,路由器可以代替它进行工作。

DMZ(demilitarized zone,非军事缓冲区)是位于公司私有网络和外部公关网络之间的一个小型网络或者主机。它防止外部用户直接访问公司网络的任何服务器或主机。通常DMZ主机首先接收私有网络内部用户要求访问Internet上的Web站点或其他数据的请求,然后在Internet上为这些请求创建会话。但是,DMZ主机并不能将会话引回到私有网络中。对于Internet上的外部用户来说,他们只能访问DMZ主机或者内部网络。一般而言,DMZ主机还包括公司的Web服务器以及FTP服务器,所以它内部的数据可以被外界共享。但是,DMZ禁止访问私有网络内的主机,因为它不能启动任何内部连接。如果DMZ网络的安全受到了威胁,那么服务器上数据的安全就很难保证了。通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。

4 结束语

本文主要概括了Web系统潜在的安全隐患,以及当前的主要网络安全技术。但由于影响Web服务的因素很多,随着Web技术的飞速发展,Web系统背后还存在很多的隐患。在当前网络环境下,想要使一个Web系统完全免受攻击是不可能的,我们所能够做到的就是尽可能的使系统坚固,将攻击的可能性降到最低。

参考文献:

[1](美)Hung Q. Nguyen,著. 冯学民,等,译. Web应用测试[M]. 北京:电子工业出版社, 2003.

[2]布拉格. 网络安全完全手册[M]. 北京:电子工业出版社, 2005,10.

[3]杨波. 网络安全理论与应用[M]. 北京:电子工业出版社, 2003.

[4]姚小兰. 网络安全管理与技术防护[M]. 北京:北京理工大学出版社, 2002.

推荐访问:网络安全 分析 系统 技术 Web