Web应用的安全现状及防护
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Web应用的安全现状及防护
摘要:本文针对当前流行的Web应用系统的安全现状进行深入分析,重点对Web应用主要面临的安全隐患进行说明,并介绍针对Web 应用进行安全检测的方法。
关键词:Web应用漏洞安全检测
Web应用作为Internet上最重要的应用形式,是推动Internet发展的关键力量。随着服务端脚本技术、组件技术等技术手段的成熟,基于Web平台构建的应用信息系统成为了Internet信息系统的主流,而且逐渐成为电信、金融、财税等关键领域公共信息系统的首选,其HTTP协议网络数据流量占到整个Internet TCP数据流量的70%左右,重要性无容置疑。目前,Internet上部署运行着各种各样的Web信息系统,这些系统的安全在很大程度上关系到整个Internet的正常运转。
近年来,由于Web应用攻击方法的不断曝光和Web应用重要性不断提高,对Web信息系统的攻击事件数量大增。绝大多数Web攻击事件的根源在于Web信息系统中存在有安全漏洞。安全漏洞(Vulnerability)是系统设计实现中有意无意引入的可能造成安全危害的错误或缺陷,Web信息系统中最常见的安全漏洞是SQL注入和跨站脚本。恶意入侵者可利用这些安全漏洞,进行网站篡改、数据窃取、执行指令、安装木马、传播病毒等破坏活动。
影响Web安全的因素包括:(1)由于Web服务器存在的安全漏洞和
复杂性,使得依赖这些服务器的系统经常面临一些无法预测的风险。
(2)Web程序员在程序设计上或者代码开发工程中引入的缺陷,也可能造成Web系统的安全漏洞。(3)用户是通过浏览器和Web站点进行交互的,由于浏览器本身的安全漏洞,使得非法用户可以通过浏览器攻击Web站点。
本文主要对当前Web应用系统的安全现状进行分析,并针对存在的安全问题提出一些预防应对措施。
1 Web应用系统所面临的安全隐患
建立在Internet上的Web应用存在着各种各样的安全隐患,人们在享受基于Web的电子商务、CRM、ERP、EAI、MIS等带来的快捷便利的同时,却又被紧随其后的安全隐患所困扰。
1.1 Web应用系统中常见的安全问题
(1)未经授权的存取动作。由于操作系统等方面的漏洞,使得未经授权的用户可以获得Web服务器上的秘密文件和数据,甚至可以对数据进行修改、删除,这是Web站点的一个严重的安全问题。
(2)远程用户向Web服务器发送的信息,中途被截获、窃取、破译等。
(3)针对服务器发起的主动攻击,常见的有拒绝服务攻击,指用大量的连接请求冲击服务器,使得所有可用的操作系统资源都被消耗殆尽,服务器无法再处理合法用户请求[1]。
(4)利用Web应用系统自身的漏洞或者是系统管理员对系统安全的疏忽而产生的漏洞,入侵Web应用系统内部,窃取敏感数据或对系统进行破坏。
(5)由于程序员在编写代码过程中,没有关注代码自身的安全性,这种源代码中存在的漏洞是防火墙和入侵检测系统都无法防御的,常见的有SQL注入漏洞,攻击者提交恶意SQL并得到执行,其本质就是由于在编写程序时,对输入检验不充分,从而导致非法数据被当做SQL 来执行。
1.2 常见的Web攻击类型
以下列举了五种常见Web攻击方式的手段和可能造成的后果(如表1)。
2 Web应用系统安全检测方法
目前,针对Web应用安全的检测方法主要分为模拟真实的动态攻击以发现漏洞的黑盒测试方法和以扫描源代码发现漏洞的白盒测试方法。
黑盒测试也被称为动态测和网页应用扫描,它在代码运行的时候对其进行分析,来发现它运行时攻击者可能会发现的弱点[2]。一些黑盒测试工具采用自动播放很多含有测试用例的http请求,根据http的响应来提取特征,进行漏洞识别。也有专门针对某一漏洞进行测试的工具,如SQL注入、跨站脚本等。
黑盒测试的优点是可以验证漏洞及其可利用性,从系统视角测试系统而不需要源代码,而且有些可以同时运行,甚至运行在系统上。但是黑盒测试也存在一些不足,如黑盒测试处于开发生命周期后端,由于黑盒测试的局限性也可能导致不完整的测试覆盖,同时黑盒测试不能指出漏洞产生于代码中的位置等。
白盒测试主要是针对源代码进行分析,通过对源代码进行分析,提取特征,定位源代码中可能出现的安全缺陷,源代码分析技术由来已久,Lloyd D.Fosdick在1976年就提到了数据流分析[3]、状态机系统、数据类型验证、控制流分析等技术。
白盒测试的优点是在开发生命周期的编码阶段就可以对其安全性进行检测,及早介入可以降低损失和维护成本,同时白盒测试可以指出漏洞产生在代码中的位置,帮助开发人员及早定位并进行修复。但是由于白盒测试并不真正运行代码,可能会漏报一些运行时出现的漏洞。
因此,采用黑盒测试与白盒测试相结合的方式,在开发生命周期的
不同阶段对系统进行安全测试,降低产生漏洞的风险。
3 结语
本文对当前Web安全现状进行了分析,说明Web应用所面临的安全隐患以及应该采取的防护措施,由于Web应用广泛,产生漏洞造成的危害巨大,更应加强相关人士对Web安全的重视,以及采取相应的措施避免漏洞的发生。
参考文献
[1]/ OW ASP Top 10 - 2010.pdf
[2]/ Web Application Security Scanner Evaluation Criteria-V ersion1.0.pdf
[3]L.Fosdick and L.J. Osterweil.”Data Flow Analysis in Software Reliability”, ACM Computing Surveys, September 1976.