Web安全探讨(全文)

Web安全探讨

摘要 Web应用程序及Web站点往往很易遭受到各种各样的入侵,Web数据在网络传输过程中也很容易被窃取或盗用。因此如何能够使Web及数据传输更加安全,非常重要。本文主要分析攻击的技术及防范的方法。

关键词 Web 浏览器 防范措施 安全

在某种程度上可以说,没有Web就没有Internet。然而Web应用程序及Web站点往往很易遭受到各种各样的入侵,Web数据在网络传输过程中也很容易被窃取或盗用。因此如何能够使Web及数据传输更加安全,这我们要解决的问题。一般情况下,入侵者入侵Web的主要目的在于:非法窃取、伪装成Web站点的合法访问者、伪装成Web站点管理员、试图控制Web站点主机。

阻止Web入侵者的监听行为的最有效方法就是要对Web站点和访问者之间建立的联接进行有效的加密。几乎所有的Web浏览器和服务器都具备发送和接收加密通道上的数据的能力,这些加密数据被SSL和TLS这两个相关的协议管理。其中SSL由Netscape产生,TLS与SSL3.0兼容。

Web浏览器在连接一般的Web站点时通常使用的是HTTP,地址栏中URL一般形式为“省略”。而当Web浏览器连接到一个安全站点时,浏览器将使用S-HTTP来建立一个加密连接,地址栏中的URL通常的形式为“https://www.省略”。为了建立一个安全连接,Web浏览器需要首先向Web服务器请求数字证书。数字证书提供了身份证明。浏览器在向Web服务器请求它的数字证书时,也同时发送了它所支持的加密算法列表,当服务器回送数字证书和它所选择的加密算法后,浏览器通过检查数字签名和确认URL是否与数字证明的公有名字域相匹配来验证数字证书。如果这些测试失败,浏览器将显示警告信息。

浏览器和服务器的通信使用对称加密。这就意味着使用相同的密钥来进行加密和解密。当服务器的证书被证实后,浏览器将产生一个密钥,这个密钥需要通过一个安全的途径传递给服务器。一般使用双重加密技术来完成密钥的传递。浏览器使用服务器的公钥来加密密钥,然后把它传递给服务器。服务器使用它的私钥来解密密钥,然后向浏览器发送确认。这个过程就是一个加密连接。浏览器和服务器都拥有相同的密钥,它们使用相同的加密算法。他们后面的通信将使用这个加密的连接。浏览器显示一个黄色的锁的图标时,表示连接已建立。建立一个加密连接,仅需要服务器获得权威机构颁发的证书。但是加密仅能阻止入侵者看到站点发送和接收的数据,它并不能阻止入侵者伪造身份和对站点进行的恶意入侵。

对于入侵者伪装成合法的访问者所造成的安全隐患,涉及到一个站点如何鉴别它的访问者的问题。大部分Web服务器支持两个密码鉴别方案:基本密码鉴别和分类密码鉴别。两个方案都通过向浏览器发送鉴别信号来进行。当浏览器第一次收到鉴别信号时,它显示一个对话框询问用户的名字和密码。在基本鉴别模式中浏览器以简单的文本形式来传递用户名和密码。在分类鉴别模式中,浏览器传送用户名和密码的消息类,如果服务器发送它的信息,浏览器就把登录信息存储起来。如果用Web服务器上的简单设置来实现这些鉴定方案,Web应用程序中不需要添加任何代码。如果访问者以简单的文本形式发送他的用户名和密码,入侵者很容易就可捕获到这些信息。传送用户信息使用SSL可以很容易地解决这个问题。如果入侵者不能监听Web站点和访问者之间的通信,很可能会伪装成合法访问者。造成这种情况出现的原因往往在于用户本身,因为大部分网络用户在密码选取上不是很用心,使用的密码一般都不是很安全的。他们在登录各个站点时,喜欢使用相同的用户名和密码。

解决这个问题的方法就是访问者在注册账号时要使用安全的密码。Web站点最好具有能阻止访问者设置英文单词作为密码的功能,它可以建议用户使用数字和字母混合而成的密码。当访问者登录到站点时,服务器会保持用户的身份一直有效,直到他们离开该站点。因为在浏览器和服务器之间不会建立一个永久的连接,所以服务器会在收到每个页面请求后只建立一个单独的连接。浏览器保存了用户的姓名和密码,当浏览器和服务器再次连接时,浏览器将传递已经存储过的用户名和密码。服务器利用用户数据库来证实这些信息,并会在此基础上作出允许和拒绝访问的决定。

浏览器通过比较带有数字证书的公有名字URL来证实服务器的身份。这是一个很好的Web安全防范措施。但是它不能避免所有的伪装服务器的入侵。域名服务系统(DNs河把易读的网址解析为IP地址,但是在安全链接中它是一个易遭受人侵的环节。如果入侵者访问了一个DNS服务器,并且修改了指向他的主机的记录。那么这个主机就可以把所有来自站点的请求全部重新定向到入侵者所修改的主机上。在重新定向中,访问者的浏览器将显示默认的地址后缀。如果字符串很长,大部分访问者都不会注意到。

一些人侵者利用Web服务器上运行的软件的漏洞来让服务器执行人侵者的代码。例如向缓存写人大量的数据从而使缓存器崩溃。如果入侵者在缓存中写入了太多的数据,它将覆盖函数调用记录。这个数据结构包含了缓存函数人口代码的寄存器,还有函数的返回地址。如果入侵者的代码覆盖了函数的返回地址,入侵者就可以在用户的计算机上执行任何代码。其使用最多的方法是把代码写进数据缓存,而传递函数的字符串很容易感染上“特洛伊木马”这样的黑客程序。黑客知道易入侵的函数通常易被回应用户输入的代码所调用。入侵者发送一个足够字符串给服务器。如果缓存溢出,处理此请求的线程将崩溃。入侵者得到HTTP超时的消息提示就表明请求线程已被破坏。

要阻止Web站点的应用程序被利用,首先应给系统软件添加最新的安全补丁。然后检查使用允许直接访问内存的语言编写的程序代码,看是否有安全漏洞。程序员最好不要使用直接访问内存的语言来编写代码,这样就不会导致缓冲溢出入侵。可以使用一些脚本语言或使用解释性语言来编写代码。

总之,Web的安全还包括也多方面如CGI、ActiveX、E-mail、Cookies等,因此广大用户、网络和安全管理人员,重视Web的安全的各个方面,不仅仅强调安全产品和技术,更要强调安全流程管理和组织体系以及内部培训,将安全隐患消灭在萌芽状态。

参考文献:

1 韦锟,浅谈Web的安全威胁与安全防护,科学咨询(决策管理),2010,(01):77-78

2 吴岳,WEB服务器的安全加固措施研究,科技创新导报,2010,(01):22

3 王鹏,苏仲波,浅析防火墙技术及攻防策略,赤峰学院学报(自然科学版),2009,(01)

4 金尚柱,崔轩辉,对计算机网络安全问题的探讨,重庆工业高等专科学校学报,2003,(04)

原文链接:https://www.wenmi.com/article/pyx30q00eqi8.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/17695

(0)
上一篇 2023年3月6日
下一篇 2023年3月7日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml