浅析Web应用安全风险防范
2017-10-12王河山
◆张 鹏 王河山
(1.滨州市气象局 山东 256600;2.滨州市工商行政管理局 山东 256600)
浅析Web应用安全风险防范
◆张 鹏1王河山2
(1.滨州市气象局 山东 256600;2.滨州市工商行政管理局 山东 256600)
该研究基于Web安全特性,对Web常见应用安全风险进行分析,根据所存在的风险提出解决方案,以确保Web应用的安全性。
Web应用;Web安全;风险防范对策
0 引言
随着近些年WEB技术的快速发展,越来越多的应用由原来的C/S方式逐渐演变和升级为基于B/S方式的WEB系统,使得其成为信息系统中主流应用和重要组成部分。从安全层面来说,因为WEB应用的交互性、开放性与Web设计过程中对系统安全性能与信息保密性缺乏考虑,Web应用破坏与攻击事件频繁发生,直接影响到业务系统和网站的正常安全运行,以至于影响部门的核心业务。Web应用安全风险防范在目前已经成为科技发展中需要解决的重点问题。该研究基于Web安全特性,对Web常见应用安全风险进行分析,根据所存在的风险提出详细解决方案,以确保Web应用的安全性。
1 Web应用安全特性分析
因为 Web主要选择分层体系结构,服务器端和客户端彼此分离,导致Web安全性和以往应用程序安全性存在很大差异性,Web应用极易受网络入侵和攻击。Web应用安全特性包括:
1.1 Web应用开放性
因为 Web应用开放性比较强,所以其在安全性方面很容易受到攻击,主要体现为:①Web应用状态信息具有开放性。由于HTTP协议具有无状态特征,需要 Web开发人员自己对程序运行信息进行记录,同时在服务器端与客户端实现传输与保存。以上信息对外公开,极易被恶意伪造或者篡改;②Web应用源代码具有开放性。JAVAScript、HTML等脚本编写Web客户端程序,相对用户来说,Web表现层的源代码暴露于外。也有很多通过脚本语言所编写的程序,是解释型的文本类型,即使JAVA同样可以反编译方式获得源代码,由此就会通过源代码修改的方式进行恶意攻击[2]。
1.2 信息流通双向性
多种情况下的传统信息发布都具有单向性,主要包括语音应答、电子系统图文电视以及传真应答系统等。而 Web应用则包含多种媒介,具体包括音频、文本、视频以及图像等,由此就导致Web极易受到攻击。
1.3 服务器极易受攻击
服务器中安装 Web应用程序后,通常都会在网络和互联网中运行,计算机服务器中系统配置与操作系统就极易遭受木马与病毒等程序的非法攻击,因为操作系统或Web Server软件存在缺陷或漏洞是不可避免的。因此,攻击者可通过系统潜在的漏洞进行攻击、渗透和数据窃取等非法活动。
1.4 Web开发人员局限性
一些 Web开发人员对安全应用程序开发方法一无所知,或不重视Web安全性,开发Web应用期间忽略Web应用过程中潜在的安全性问题。Web开发人员通常只满足于实现具体功能,并未考虑应用 Web安全缺陷后可能导致的灾难性后果,因此难以及时选择有效措施降低或者消除Web应用安全风险。
1.5 用户错误操作
普通用户在应用 Web过程中往往缺乏安全防范意识,而且也未接受专业、系统的安全训练,不够重视 Web应用安全性,不了解安全风险概念,更未采取方法消除 Web应用中的不安全因素。例如明文记录密码和登录信息、点击来历不明的链接等。
2 Web应用的安全风险及防范措施
从根本上说,Web应用安全一方面和网络、系统服务安全密切相关,但其关键在于Web应用和代码自身的安全性。所谓Web应用安全问题,其实就是攻击主体通过多种手段对 Web应用进行攻击、渗透和数据窃取。
2.1 Web应用安全风险及防范措施
2.1.1注入式攻击
调用操作系统,通过 shell命令对外部程序进行调用,通过SQL对后台数据库进行调用,发生于不可信数据被视为查询语句或命令的一部分并向处理程序发送的情况下,攻击主体所发送数据可被任意篡改,从而执行计划之外的命令。
注入式攻击的有效防范措施就是彻底分开不可信数据和命令,具体措施包括:①使用安全API,包括存储参数过程,但参数存储仍旧有注入式缺陷的可能;②若无法对API进行应用,则需手动过滤与检测特殊字符,如单引号等;③对输入数据进行验证的过程中,选择白名单法避免注入式攻击情况的发生。
2.1.2跨站脚本攻击
所谓跨站脚本攻击,其实就是供给主体将恶意代码插入Web页面中,在用户浏览页面过程中,会执行在页面中嵌入的恶意代码,由此就会对用户产生恶意攻击。跨站点脚本攻击允许攻击主体任意执行浏览器脚本,这样攻击主体就能够劫持用户会话。跨站点脚本攻击出现形式主要是嵌入式 JavaScript,然而,其它嵌入式内容同样存在潜在危险,比方说,VBScript、ActiveX等,根据规定规范对查询串、头部、表项等进行验证,是提升 Web应用安全性能的一个有效方法,编码用户所提供输出,能够有效避免通过执行形式将所插入脚本传输给用户。
2.1.3错误的认证与会话管理
一般 Web应用功能与会话管理、权限管理密切相关。然而并未被正确实现,导致攻击主体能够窃取用户会话、密码以及密钥等。对通用或自定义认证管理机制进行合理应用,必须注意:①以限制密码复杂度与长度的方式提升密码强度;②确保密码修改控制的完善性;③限制通过密码错误登录的信息与次数;④禁止通过假名形式列出账号;⑤通过加密或者散列函数法对密码进行存储。
2.1.4不安全的直接对象引用
通常直接对象引用主要在开发人员曝光向内部引用的实施对象情况下发生。比方说,一个目录、文件等,因为 Web应用并未有效访问、控制检查 URL栏内所输内容,导致攻击主体会将特殊字符加在URL地址之后,从而查看、修改或者删除Web应用内部的目录、文件等实际对象。对于该安全风险的预防,应该对用户可访问对象进行保护,并且对文件为正确文件与否进行验证,并不是直接对文件进行读取。
2.1.5跨站点伪造请求
强迫受害主体已登录操作浏览器将伪造HTTP请求发送给安全保护薄弱页面,其中有受害主体会话缓存内容与认证信息内容等,由此就导致攻击主体以强制受害主体浏览器存在漏洞的程序传递请求等方法,确保应用程序认定这一请求为受害主体所发出。防范跨站点伪造请求攻击主要分为客户端防范与服务器端防范,其中服务器端主要选择以下防范方法:①严格过滤 Web应用接受用户所输入相关内容;②Get方法仅仅自服务器端对数据进行读取,而且POST法主要用于修改数据或将数据提交给服务器;③POST法所提交数据中,对与随机数相类似的参数进行设置,同时在Cookie内对该参数进行保存;④通过Cookie本身所具有的安全属性,仅仅信任同源对策。
2.1.6不安全配套管理
要想确保 Web应用安全,就应该具备相应的安全部署与配置,保证所设置的应用服务器、框架、数据库服务器以及 Web服务器等正确无误,避免潜在安全问题。也就是说,配置管理应该注意的问题包括:①允许服务器错误配置与软件漏洞列出相关目录;②安全更新与优化服务器软件;③不必要的备份、缺省文件,比方说,配置文件与页面、脚本以及应用程序;④错误的目录与文件权限;⑤运行多余服务;⑥缺省账号与密码;⑦错误的外部系统验证。
2.1.7不安全的密码存储器
当前未应用散列算法或者加密对敏感数据进行保护的 Web应用非常多,比方说密码、信用卡及认证证书等,攻击主体通常会修改或者窃取该类数据实现信欺骗行为。应该保证被加密事物真的已被加密,再保证能够正确执行加密机制,当前多数加密方式都缺乏安全性,所以,应该做到以下几点:①选择较为安全、可靠的加密算法,比方说,SHA-256、ASE等;②禁止应用具有较弱强度的算法,应该选择更安全、更可靠的方案;③保证软件中所保存加密资料的安全性;④离线形成私钥,同时特别保存。尽量避免传输私钥,或在危险通信途径传输私钥。
2.2 常见Web应用安全技术
因为Web应用安全本身属于系统工程范畴,因此,基于Web应用中存在的安全性问题,本研究给出比较常见的集中 Web应用安全技术,见表1。
表1 Web应用安全技术
数据备份和恢复网络隔离VPN防火墙安全脆弱性扫描入侵检测防病毒备份系统数据,确保数据丢失后的及时恢复两个或两个以上的网络在断开连接的基础上实现信息交换通过访问控制技术与密码技术在公共网络中创建虚拟网建立网络的基于数据包和应用协议的访问控制找出系统潜在漏洞,优化系统防御入侵能力识别正进行或企图入侵的行为检测、对抗与清除病毒
3 总结
总而言之,该研究基于Web应用安全现状,阐述了Web应用安全特性,基于 Web应用安全风险,提出相应的安全防范策略,并阐述了 Web应用安全防范技术。作为系统工程范畴,应该在应用开发Web期间重视其安全防护,确保Web应用的安全性与可靠性。
[1]Santiago CE, Hondo M. Web 2.0 桌面与移动应用程序安全性设计[M].IBM developerWorks,2012.
[2]赵静.Web 2.0 应用安全深入解析:企业级 Web 2.0 应用安全解决方案[M].IBM developerWorks,2009.
[3]OWASP.OWASP Top 1-2010 The Ten Most Critical Web Application Security Risks[EB/OL].https://www. owasp.org/index.php/Top_10_2010-Main.
[4]穆轩.浅谈 WEB应用安全风险防范[J].中国传媒科技,2012.
[5]窦浩,武艳文,段升强.Web应用安全风险防护分析与防护研究[J].西安建筑科技大学学报(自然科学版), 2012.
[6]符泉麟.基于OWASP的WEB应用安全检测与防范[J].微型电脑应用, 2012.