论文部分内容阅读
摘要: Web应用攻击能够给人们的财产、资源和声誉造成重大破坏。虽然Web应用增加了用户受攻击的危险,但有许多方法可以帮助减轻这一危险。本文 研究了Web应用程序的漏洞,探讨了Web安全的现状及问题由来以及几种主要Web安全技术,提出了实现Web安全的几条措施。
关键词:Web应用程序; 安全; 漏洞
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)09-11635-03
Web Application Procedure Crack and Safe Research
WANG Hai-liang, ZHOU yong
(Information and Communication Engineering Institude,Tianjin Polytechnic University,Tianjin 300160,China)
Abstract: Web applications to be able to attack people’s property, resources and reputation of causing significant damage. Although the Web application increased the risk of attacks by the users, but there are many ways to help alleviate the danger. This paper studies the application of the Web loophole, a Web security of the status quo and problems of origin, as well as several major Web security technology, the realization of several Web security measures.
Key words: Web application procedure; Safe; Crack
1 引言
随着Internet的普及,人们对其依赖也越来越强,但是由于Internet的开放性,及在设计时对于信息的保密和系统的安全考虑不完备,造成现在网络的攻击与破坏事件层出不穷,给人们的日常生活和经济活动造成了很大麻烦。WWW服务作为现今Internet上使用的最广泛的服务,Web站点被黑客入侵的事件屡有发生,Web安全问题已引起人们的极大重视。
2 Web的安全漏洞
2.1 常见的Web应用程序漏洞
2.1.1 已知弱点和错误配置
已知弱点包括Web应用使用的操作系统和第三方应用程序中的所有程序错误或者可以被利用的漏洞。这个问题也涉及到错误配置,包含有不安全的默认设置或管理员没有进行安全配置的应用程序。一个很好的例子就是你的Web服务器被配置成可以让任何用户从系统上的任何目录路径通过,这样可能会导致泄露存储在Web服务器上的一些敏感信息,如口令、源代码或客户信息等。
2.1.2 隐藏字段
在许多应用中,隐藏的HTML格式字段被用来保存系统口令或商品价格。尽管其名称如此,但这些字段并不是很隐蔽的,任何在网页上执行“查看源代码”的人都能看见。许多Web应用允许恶意的用户修改HTML源文件中的这些字段,为他们提供了以极小成本或无需成本购买商品的机会。这些攻击行动之所以成功,是因为大多数应用没有对返回网页进行验证;相反,它们认为输入数据和输出数据是一样的。
2.1.3 后门和调试漏洞
开发人员常常建立一些后门并依靠调试来排除应用程序的故障。在开发过程中这样做可以,但这些安全漏洞经常被留在一些放在Internet上的最终应用中。一些常见的后门使用户不用口令就可以登录或者访问允许直接进行应用配置的特殊URL。
2.1.4 跨站点脚本编写
一般来说,跨站点编写脚本是将代码插入由另一个源发送的网页之中的过程。利用跨站点编写脚本的一种方式是通过HTML格式,将信息帖到公告牌上就是跨站点脚本编写的一个很好范例。恶意的用户会在公告牌上帖上包含有恶意的JavaScript代码的信息。当用户查看这个公告牌时,服务器就会发送HTML与这个恶意的用户代码一起显示。客户端的浏览器会执行该代码,因为它认为这是来自Web服务器的有效代码。
2.1.5 参数篡改
参数篡改包括操纵URL字符串,以检索用户以其他方式得不到的信息。访问Web应用的后端数据库是通过常常包含在URL中的SQL调用来进行的。恶意的用户可以操纵SQL代码,以便将来有可能检索一份包含所有用户、口令、信用卡号的清单或者储存在数据库中的任何其他数据。
2.1.6 更改cookie
更改cookie指的是修改存储在cookie中的数据。网站常常将一些包括用户ID、口令、帐号等的cookie存储到用户系统上。通过改变这些值,恶意的用户就可以访问不属于他们的帐户。攻击者也可以窃取用户的cookie并访问用户的帐户,而不必输入ID和口令或进行其他验证。
2.1.7 输入信息控制
输入信息检查包括能够通过控制由CGI脚本处理的HTML格式中的输入信息来运行系统命令。例如,使用CGI脚本向另一个用户发送信息的形式可以被攻击者控制来将服务器的口令文件邮寄给恶意的用户或者删除系统上的所有文件。
2.1.8 缓冲区溢出
缓冲区溢出是恶意的用户向服务器发送大量数据以使系统瘫痪的典型攻击手段。该系统包括存储这些数据的预置缓冲区。如果所收到的数据量大于缓冲区,则部分数据就会溢出到堆栈中。如果这些数据是代码,系统随后就会执行溢出到堆栈上的任何代码。Web应用缓冲区溢出攻击的典型例子也涉及到HTML文件。如果HTML文件上的一个字段中的数据足够的大,它就能创造一个缓冲器溢出条件。
2.1.9 直接访问浏览
直接访问浏览指直接访问应该需要验证的网页。没有正确配置的Web应用程序可以让恶意的用户直接访问包括有敏感信息的URL或者使提供收费网页的公司丧失收入。
3 Web安全的主要技术
安全是网络赖以生存的保障,只有安全得到保障,网络才能实现自身的价值。Web安全技术随着人们网络实践的发展而发展,其涉及的技术面非常广,主要的技术如认证、加密、防火墙及入侵检测是Web安全的重要防线。
3.1 认证
对合法用户进行认证可以防止非法用户获得对公司信息系统的访问,使用认证机制还可以防止合法用户访问他们无权查看的信息。现列举几种如下:
3.1.1 身份认证
当系统的用户要访问系统资源时要求确认是否是合法的用户,这就是身份认证。常采用用户名和口令等最简易方法进行用户身份的认证识别。
3.1.2 报文认证
主要是通信双方对通信的内容进行验证,以保证报文由确认的发送方产生、报文传到了要发给的接受方、传送中报文没被修改过。
3.1.3 访问授权
主要是确认用户对某资源的访问权限。
3.1.4 数字签名
数字签名是一种使用加密认证电子信息的方法,其安全性和有用性主要取决于用户私匙的保护和安全的哈希函数。数字签名技术是基于加密技术的,可用对称加密算法、非对称加密算法或混合加密算法来实现。
3.2 数据加密
加密就是通过一种方式使信息变得混乱,从而使未被授权的人看不懂它。主要存在两种主要的加密类型:私匙加密和公匙加密。
3.2.1 私匙加密
私匙加密又称对称密匙加密,因为用来加密信息的密匙就是解密信息所使用的密匙。私匙加密为信息提供了进一步的紧密性,它不提供认证,因为使用该密匙的任何人都可以创建、加密和平共处送一条有效的消息。这种加密方法的优点是速度很快,很容易在硬件和软件件中实现。
3.2.2 公匙加密
公匙加密比私匙加密出现得晚,私匙加密使用同一个密匙加密和解密,而公匙加密使用两个密匙,一个用于加密信息,另一个用于解密信息。公匙加密系统的缺点是它们通常是计算密集的,因而比私匙加密系统的速度慢得多,不过若将两者结合起来,就可以得到一个更复杂的系统。
3.3 防火墙技术
防火墙是网络访问控制设备,用于拒绝除了明确允许通过之外的所有通信数据,它不同于只会确定网络信息传输方向的简单路由器,而是在网络传输通过相关的访问站点时对其实施一整套访问策略的一个或一组系统。大多数防火墙都采用几种功能相结合的形式来保护自己的网络不受恶意传输的攻击,其中最流行的技术有静态分组过滤、动态分组过滤、状态过滤和代理服务器技术,它们的安全级别依次升高,但具体实践中既要考虑体系的性价比,又要考虑安全兼顾网络连接能力。此外,现今良好的防火墙还采用了VPN、检视和入侵检测技术。
防火墙的安全控制主要是基于IP地址的,难以为用户在防火墙内外提供一致的安全策略;而且防火墙只实现了粗粒度的访问控制,也不能与企业内部使用的其他安全机制(如访问控制)集成使用;另外,防火墙难于管理和配置,由多个系统(路由器、过滤器、代理服务器、网关、保垒主机)组成的防火墙,管理上难免有所疏忽。
3.4 入侵检测系统
入侵检测技术是Web安全研究的一个热点,是一种积极主动的安全防护技术,提供了对内部入侵、外部入侵和误操作的实时保护,在网络系统受到危害之前拦截相应入侵。随着时代的发展,入侵检测技术将朝着三个方向发展:分布式入侵检测、智能化入侵检测和全面的安全防御方案。
入侵检测系统(Instusion Detection System, 简称IDS)是进行入侵检测的软件与硬件的组合,其主要功能是检测,除此之外还有检测部分阻止不了的入侵;检测入侵的前兆,从而加以处理,如阻止、封闭等;入侵事件的归档,从而提供法律依据;网络遭受威胁程度的评估和入侵事件的恢复等功能。
3.5 虚拟专用网(VPN)技术
VPN是目前解决信息安全问题的一个最新、最成功的技术课题之一,所谓虚拟专用网(VPN)技术就是在公共网络上建立专用网络,使数据通过安全的“加密管道”在公共网络中传播。用以在公共通信网络上构建VPN有两种主流的机制,这两种机制为路由过滤技术和隧道技术。目前VPN主要采用了如下四项技术来保障安全:隧道技术(Tunneling)、加解密技术(Encryption
关键词:Web应用程序; 安全; 漏洞
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)09-11635-03
Web Application Procedure Crack and Safe Research
WANG Hai-liang, ZHOU yong
(Information and Communication Engineering Institude,Tianjin Polytechnic University,Tianjin 300160,China)
Abstract: Web applications to be able to attack people’s property, resources and reputation of causing significant damage. Although the Web application increased the risk of attacks by the users, but there are many ways to help alleviate the danger. This paper studies the application of the Web loophole, a Web security of the status quo and problems of origin, as well as several major Web security technology, the realization of several Web security measures.
Key words: Web application procedure; Safe; Crack
1 引言
随着Internet的普及,人们对其依赖也越来越强,但是由于Internet的开放性,及在设计时对于信息的保密和系统的安全考虑不完备,造成现在网络的攻击与破坏事件层出不穷,给人们的日常生活和经济活动造成了很大麻烦。WWW服务作为现今Internet上使用的最广泛的服务,Web站点被黑客入侵的事件屡有发生,Web安全问题已引起人们的极大重视。
2 Web的安全漏洞
2.1 常见的Web应用程序漏洞
2.1.1 已知弱点和错误配置
已知弱点包括Web应用使用的操作系统和第三方应用程序中的所有程序错误或者可以被利用的漏洞。这个问题也涉及到错误配置,包含有不安全的默认设置或管理员没有进行安全配置的应用程序。一个很好的例子就是你的Web服务器被配置成可以让任何用户从系统上的任何目录路径通过,这样可能会导致泄露存储在Web服务器上的一些敏感信息,如口令、源代码或客户信息等。
2.1.2 隐藏字段
在许多应用中,隐藏的HTML格式字段被用来保存系统口令或商品价格。尽管其名称如此,但这些字段并不是很隐蔽的,任何在网页上执行“查看源代码”的人都能看见。许多Web应用允许恶意的用户修改HTML源文件中的这些字段,为他们提供了以极小成本或无需成本购买商品的机会。这些攻击行动之所以成功,是因为大多数应用没有对返回网页进行验证;相反,它们认为输入数据和输出数据是一样的。
2.1.3 后门和调试漏洞
开发人员常常建立一些后门并依靠调试来排除应用程序的故障。在开发过程中这样做可以,但这些安全漏洞经常被留在一些放在Internet上的最终应用中。一些常见的后门使用户不用口令就可以登录或者访问允许直接进行应用配置的特殊URL。
2.1.4 跨站点脚本编写
一般来说,跨站点编写脚本是将代码插入由另一个源发送的网页之中的过程。利用跨站点编写脚本的一种方式是通过HTML格式,将信息帖到公告牌上就是跨站点脚本编写的一个很好范例。恶意的用户会在公告牌上帖上包含有恶意的JavaScript代码的信息。当用户查看这个公告牌时,服务器就会发送HTML与这个恶意的用户代码一起显示。客户端的浏览器会执行该代码,因为它认为这是来自Web服务器的有效代码。
2.1.5 参数篡改
参数篡改包括操纵URL字符串,以检索用户以其他方式得不到的信息。访问Web应用的后端数据库是通过常常包含在URL中的SQL调用来进行的。恶意的用户可以操纵SQL代码,以便将来有可能检索一份包含所有用户、口令、信用卡号的清单或者储存在数据库中的任何其他数据。
2.1.6 更改cookie
更改cookie指的是修改存储在cookie中的数据。网站常常将一些包括用户ID、口令、帐号等的cookie存储到用户系统上。通过改变这些值,恶意的用户就可以访问不属于他们的帐户。攻击者也可以窃取用户的cookie并访问用户的帐户,而不必输入ID和口令或进行其他验证。
2.1.7 输入信息控制
输入信息检查包括能够通过控制由CGI脚本处理的HTML格式中的输入信息来运行系统命令。例如,使用CGI脚本向另一个用户发送信息的形式可以被攻击者控制来将服务器的口令文件邮寄给恶意的用户或者删除系统上的所有文件。
2.1.8 缓冲区溢出
缓冲区溢出是恶意的用户向服务器发送大量数据以使系统瘫痪的典型攻击手段。该系统包括存储这些数据的预置缓冲区。如果所收到的数据量大于缓冲区,则部分数据就会溢出到堆栈中。如果这些数据是代码,系统随后就会执行溢出到堆栈上的任何代码。Web应用缓冲区溢出攻击的典型例子也涉及到HTML文件。如果HTML文件上的一个字段中的数据足够的大,它就能创造一个缓冲器溢出条件。
2.1.9 直接访问浏览
直接访问浏览指直接访问应该需要验证的网页。没有正确配置的Web应用程序可以让恶意的用户直接访问包括有敏感信息的URL或者使提供收费网页的公司丧失收入。
3 Web安全的主要技术
安全是网络赖以生存的保障,只有安全得到保障,网络才能实现自身的价值。Web安全技术随着人们网络实践的发展而发展,其涉及的技术面非常广,主要的技术如认证、加密、防火墙及入侵检测是Web安全的重要防线。
3.1 认证
对合法用户进行认证可以防止非法用户获得对公司信息系统的访问,使用认证机制还可以防止合法用户访问他们无权查看的信息。现列举几种如下:
3.1.1 身份认证
当系统的用户要访问系统资源时要求确认是否是合法的用户,这就是身份认证。常采用用户名和口令等最简易方法进行用户身份的认证识别。
3.1.2 报文认证
主要是通信双方对通信的内容进行验证,以保证报文由确认的发送方产生、报文传到了要发给的接受方、传送中报文没被修改过。
3.1.3 访问授权
主要是确认用户对某资源的访问权限。
3.1.4 数字签名
数字签名是一种使用加密认证电子信息的方法,其安全性和有用性主要取决于用户私匙的保护和安全的哈希函数。数字签名技术是基于加密技术的,可用对称加密算法、非对称加密算法或混合加密算法来实现。
3.2 数据加密
加密就是通过一种方式使信息变得混乱,从而使未被授权的人看不懂它。主要存在两种主要的加密类型:私匙加密和公匙加密。
3.2.1 私匙加密
私匙加密又称对称密匙加密,因为用来加密信息的密匙就是解密信息所使用的密匙。私匙加密为信息提供了进一步的紧密性,它不提供认证,因为使用该密匙的任何人都可以创建、加密和平共处送一条有效的消息。这种加密方法的优点是速度很快,很容易在硬件和软件件中实现。
3.2.2 公匙加密
公匙加密比私匙加密出现得晚,私匙加密使用同一个密匙加密和解密,而公匙加密使用两个密匙,一个用于加密信息,另一个用于解密信息。公匙加密系统的缺点是它们通常是计算密集的,因而比私匙加密系统的速度慢得多,不过若将两者结合起来,就可以得到一个更复杂的系统。
3.3 防火墙技术
防火墙是网络访问控制设备,用于拒绝除了明确允许通过之外的所有通信数据,它不同于只会确定网络信息传输方向的简单路由器,而是在网络传输通过相关的访问站点时对其实施一整套访问策略的一个或一组系统。大多数防火墙都采用几种功能相结合的形式来保护自己的网络不受恶意传输的攻击,其中最流行的技术有静态分组过滤、动态分组过滤、状态过滤和代理服务器技术,它们的安全级别依次升高,但具体实践中既要考虑体系的性价比,又要考虑安全兼顾网络连接能力。此外,现今良好的防火墙还采用了VPN、检视和入侵检测技术。
防火墙的安全控制主要是基于IP地址的,难以为用户在防火墙内外提供一致的安全策略;而且防火墙只实现了粗粒度的访问控制,也不能与企业内部使用的其他安全机制(如访问控制)集成使用;另外,防火墙难于管理和配置,由多个系统(路由器、过滤器、代理服务器、网关、保垒主机)组成的防火墙,管理上难免有所疏忽。
3.4 入侵检测系统
入侵检测技术是Web安全研究的一个热点,是一种积极主动的安全防护技术,提供了对内部入侵、外部入侵和误操作的实时保护,在网络系统受到危害之前拦截相应入侵。随着时代的发展,入侵检测技术将朝着三个方向发展:分布式入侵检测、智能化入侵检测和全面的安全防御方案。
入侵检测系统(Instusion Detection System, 简称IDS)是进行入侵检测的软件与硬件的组合,其主要功能是检测,除此之外还有检测部分阻止不了的入侵;检测入侵的前兆,从而加以处理,如阻止、封闭等;入侵事件的归档,从而提供法律依据;网络遭受威胁程度的评估和入侵事件的恢复等功能。
3.5 虚拟专用网(VPN)技术
VPN是目前解决信息安全问题的一个最新、最成功的技术课题之一,所谓虚拟专用网(VPN)技术就是在公共网络上建立专用网络,使数据通过安全的“加密管道”在公共网络中传播。用以在公共通信网络上构建VPN有两种主流的机制,这两种机制为路由过滤技术和隧道技术。目前VPN主要采用了如下四项技术来保障安全:隧道技术(Tunneling)、加解密技术(Encryption