Web应用平安分析与解决计划研究,电脑知识与技术.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Web应用安全分析与解决方案研究,电脑

知识与技术,

《电脑知识与技术》

Web应用安全分析与解决方案研究侯莉摘要:随着Internet的蓬勃发展,越来越多的企业将应用系统架构于Web网站之上,由此引发的应用安全问题是所有Web应用系统所面临的重要课题,也得到更多企业的重视。通过对Web应用安全领域所存在的风险以及防范措施进行分析,并从安全软件工程的角度提出了Web应用安全的解决方案,阐述了如何在软件开发的各阶段全面引入安全管理方案。对企业进行信息安全建设具有一定的借鉴意义。

关键词:Web应用安全;安全软件工程;Internet;SSL;漏洞

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)20-4823-03

Web安全框架包括物理层面、终端层面、网络层面、数据层面、应用层面以及贯穿这五个层面的管理层面。

1)物理安全:为信息系统的安全运行和信息的安全保护提供基本的计算机、网络硬件设备、设施、环境、介质等方面的全面支持。

2)终端安全:对信息系统中的终端以及主机节点进行安全评估、加固和安全维护,部署安全桌面系统等操作。

3)网络安全:为信息系统在网络环境的安全运行提供支持。一方面,确保网络系统的安全运行,提供有效的网络服务。另一方面,确保在网上传输数据的保密性、完整性、可用性、可控性和不可否认性等。通过访问控制、入侵监测、防病毒设备等安全设备实现网络的安全,同时对网络设备进行安全加固和维护。

4)数据安全:在物理安全的基础上提供安全的操作系统和安全的数据库管理系统,以实现操作系统和数据库管理系统的安全运行以及对操作系统和数据库管理系统所存储、传输和处理数据的安全保护。

5)应用安全:在物理、系统、网络等层面安全的支持下,实现用户安全需求所确定的安全目标。

6)安全管理:主要从安全相关制度规范的建立来加强和落实安全思想和安全操作规范。

该文通过对Web应用安全领域所存在的风险以及防范措施进行分析,并从安全软件工程的角度提出了Web应用安全的解决方案。

1Web应用安全风险分析与防范

1.1SQL注入

用户可以提交一段SQL查询代码,根据返回的结果获取他想要知的数据,攻击者把SQL命令插入到Web表单的输入域或页面请求的查询串,欺骗服务器执行恶意的SQL命令,从而获取想得到的密码或其它信息,这个就是SQL注入(SQLInjection)。SQL注入具有隐蔽性强、攻击时间短、危害性大等特点。SQL 注入一般是在程序员编写包含用户输入的动态数据库查询时产生的,因此主要通过使用参数化查询、采用存储过程、对用户输入进行转义等方法进行防范。

1.2跨站脚本攻击

跨站脚本攻击(XSS)是指攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS攻击主要分为两类:一类是来自内部的攻击,主要指的是利用Web程序自身的漏洞,执行跨站语句。另一类是来自外部的攻击,主要指自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。

防止XSS攻击,首先要阻止攻击者利用在被攻击网站上发布跨站攻击语句。首先代码里对用户输入的地方和变量都需要仔细检查长度,对特殊做过滤;其次任何内容写到页面之前都必须加以encode。另外,需要避免Cookie防盗,避免直接在cookie 中泄露用户隐私,或者通过使cookie和系统ip绑定来降低cookie 泄露后的危险。尽量采用POST而非GET提交表单。

1.3错误的认证和会话管理

错误的认证和会话管理,就是攻击者窃听了用户名和密码,或者是会话,从而得到会话进程的sessionID,进而冒充授权用户进行Http访问的过程。与之相关的漏洞通常存在于Web应用程序的某些特殊区域,如退出、密码管理、超时、保密问题、账户更新等。这些漏洞可能导致部分甚至全部账户遭受攻击。解决此问题的方法是需要全面审查应用系统的架构,确保其认证机制本身必须是简单、集中和标准化的;在系统中使用容器提供标准sessionid;用SSL(SecureSocketsLayer安全套接层)协议来保护密码和sessionid。

1.4不正确的直接对象引用

不正确的直接对象引用是指一个已经授权的用户,通过更

改访问时的一个参数,从而访问到了原本并未被授权的对象。这种漏洞能损害参数所引用的所有数据,攻击者很容易就访问到业务系统的所有数据。解决此问题的方法是必须控制Web应用程序对文件的访问,对每一个用户可访问的对象(如对象数量、文件名)选择一个适当的方法,如:使用间接对象引用,防止攻击者直接攻击未授权资源。应用程序将每个用户间接引用映射到服务器的实际数据库密匙中;检查访问,来自不受信源所使用的所有直接对象引用都必须包含访问控制审核,以确保用户对要求的对象有访问权限。

1.5伪造跨站请求(CSRF)

伪造跨站请求(CSRF)是一种控制终端用户在已登录的Web应用程序上执行非法操作的攻击方法。攻击者只要借助少许的社会工程手段,就能迫使用户去执行攻击者需要的操作。CSRF 的防范机制常用的有以下三种:

1)检查HTTP头部Refer信息,是防止CSRF的最简单易行的方式。根据RFC对于HTTP协议中Refer的定义,Refer信息跟随出现在每个Http请求头部。Server端在收到请求之后,可以检查头信息,只接受来自本域的请求而忽略外部域的请求。

2)使用一次性令牌:对于Get请求,在URL里面加入令牌,对于Post请求,在隐藏域中加入令牌。这个令牌由server端生成,编程人员在客户端发送请求时携带本令牌然后在Server端进行验证。

3)使用验证图片,可防止暴力攻击。在CSRF防范上,应用程序结合验证图片和一次性令牌来做双重保护。这种方式很难被恶意程序在客户端识别,因而能提高更强的保护。1.6安全性误配置

相关文档
最新文档