您好, 访客   登录/注册

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

来源:用户上传      作者: 侯莉

  摘要:随着Internet的蓬勃发展,越来越多的企业将应用系统架构于Web网站之上,由此引发的应用安全问题是所有Web应用系统所面临的重要课题,也得到更多企业的重视。通过对Web应用安全领域所存在的风险以及防范措施进行分析,并从安全软件工程的角度提出了Web应用安全的解决方案,阐述了如何在软件开发的各阶段全面引入安全管理方案。对企业进行信息安全建设具有一定的借鉴意义。
  关键词: Web应用安全;安全软件工程;Internet;SSL;漏洞
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)20-4823-03
  Web Application Security Analysis and Solution Studies
  HOU Li
  (Air China Information Management the Southwest Information Division, Chengdu 610041, China)
  Abstract:With the vigorous development of the Internet, more and more enterprises build the architecture of the application on the web site, the application security issues are an important issue facing, and also get more companies to pay attention to. Web application security risks and preventive measures are analyzed, and from the point of view of security software engineering, Web application security solutions are proposed, and it has certain reference significance for companies to develop information security system.
  Key words:Web application security; security software engineering; Internet;SSL; loophole
  Web安全框架包括物理层面、终端层面、网络层面、数据层面、应用层面以及贯穿这五个层面的管理层面。
  1)物理安全:为信息系统的安全运行和信息的安全保护提供基本的计算机、网络硬件设备、设施、环境、介质等方面的全面支持。
  2)终端安全:对信息系统中的终端以及主机节点进行安全评估、加固和安全维护,部署安全桌面系统等操作。
  3)网络安全:为信息系统在网络环境的安全运行提供支持。一方面,确保网络系统的安全运行,提供有效的网络服务。另一方面,确保在网上传输数据的保密性、完整性、可用性、可控性和不可否认性等。通过访问控制、入侵监测、防病毒设备等安全设备实现网络的安全,同时对网络设备进行安全加固和维护。
  4)数据安全:在物理安全的基础上提供安全的操作系统和安全的数据库管理系统,以实现操作系统和数据库管理系统的安全运行以及对操作系统和数据库管理系统所存储、传输和处理数据的安全保护。
  5)应用安全:在物理、系统、网络等层面安全的支持下,实现用户安全需求所确定的安全目标。
  6)安全管理:主要从安全相关制度规范的建立来加强和落实安全思想和安全操作规范。
  该文通过对Web应用安全领域所存在的风险以及防范措施进行分析,并从安全软件工程的角度提出了Web应用安全的解决方案。
   1 Web应用安全风险分析与防范
  1.1 SQL注入
  用户可以提交一段SQL查询代码,根据返回的结果获取他想要知的数据,攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令,从而获取想得到的密码或其它信息,这个就是SQL注入(SQL Injection)。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应用程序的某些特殊区域,如退出、密码管理、超时、保密问题、账户更新等。这些漏洞可能导致部分甚至全部账户遭受攻击。解决此问题的方法是需要全面审查应用系统的架构,确保其认证机制本身必须是简单、集中和标准化的;在系统中使用容器提供标准session id;用SSL(Secure Sockets Layer安全套接层)协议来保护密码和session id。
转载注明来源:https://www.xzbu.com/8/view-3438086.htm