关于当前Web应用防火墙的应用分析与研究

时间:2022-10-01 10:05:08

关于当前Web应用防火墙的应用分析与研究

【摘 要】Web2.0使得Web应用更为便利,更大程度的提升了Web的应用功能性,但随之而来也出现了更为多样化的安全漏洞问题。通常来说Web应用安全问题的主要威胁在于用户数据的过滤上,大多数Web应用开发者在应用安全角度的考量相对较少,在这种情况下应用防火墙是较为有效的安全弥补方法。本文对当前Web应用防火墙的技术与研究发展进行分析总结,介绍一般性的应用方法与注意事项,为开发者提供相应的参考意见。

【关键词】Web应用 防火墙 应用层保护 现状分析

一、Web应用防火墙的基本概念与发展现状

Web应用防火墙需理解HTTP/HTTPS协议、分析用户请求数据,实现往返流量的监测和控制,对于目前常见的跨站脚本攻击、SQL注入攻击、命令注入攻击、cookie/seesion劫持、参数篡改、缓冲溢出攻击、日志篡改、应用平台漏洞攻击、DDOS攻击、HTTPS类攻击等攻击行为都应有良好的防护效果。

从现有的一些研究成果来看,针对Web安全所采用的防御措施仍然不是很理想,一些产品只是从传统的入侵防御系统(IPS)增加深度包过滤措施。由于Web安全的特殊性,各种字符集和编码方案很多,大多数IPS是无法对报文编码做多重转换的,所以这将导致攻击者只需构建诸如转换编码、拼接攻击语句、大小写变换等数据包就可绕过输入检查而直接提交给应用程序,轻易绕过这些安全措施。

二、Web应用安全威胁的常见方式及防护建议

(一)Web应用安全威胁类型及基本应对方案

就目前Web应用主流的攻击方式来看,无非注入式攻击、跨站攻击、CSRF攻击以及DDOS等,这类攻击相对而言都已经有较为成熟的防御措施。

注入漏洞涉及的内容非常广泛,涵盖了各种语言环境以及众多不同的攻击类型,在实际防护中一般通过验证方式的改良和修复得以实现。跨站攻击的方式是以服务器端应用为主要目标,目前最常见的解决方法还是通过对javascript函数的过滤进行安全防护。应用层DDOS攻击是国内非常常见也是最难以防范的攻击手段,其根本原理就是通过大批量的发送请求来非法占用服务资源,目前只能通过跨查询屏蔽IP的方式进行阻止,除此之外并无其他有效的控制手段。

结合上述情况也可以看出Web应用安全威胁多种多样,真正要做到全面的防御还需要进行多个方面的考虑。总结来看,Web应用的安全问题本质依旧在于软件设计上的安全考量不足,而提升这一基础安全条件的方案就是通过编码技术或者防火墙实现,但编码技术由于定制化的特点很难通过通用的补丁进行长期改进,所以Web应用防火墙依然是最佳的一个选择。

(二)Web应用防火墙构架建议

由于Web应用的特殊性,针对Web应用的攻击变形技术很多,单纯的基于特征签名的防御措施很容易被突破。这也是现有的安全措施并不能够保护好Web应用的主要原因。通过固定应对措施或单独使用编码技术进行防护的措施都具有一定的限制性,而防火墙能够同时兼顾两个方面的需求,在设计中通过预处理模块与检测模块的互为合作可以同时实现上述两个方面的需求,通过预处理模块对SSL加密流量进行解密,检测模块采用新型的过滤策略可以有效地过滤恶意输入,数据库用于存储过滤策略、Web应用防火墙的配置信息、访问控制列表和Web应用防火墙的日志信息。

三、Web应用防火墙防护功能的实现方案

(一)预处理模块

该模块的主要功能在于编码解码标准的实现和融入,基于SSL协议层实现。SSL协议是安全套接层协议,其主要功能为认证、加密、完整性验证三个方面。在编码标准化方面,由于Web应用的特殊性,其支持各种编码如URL编码、Unicode编码、HTML编码等和各种字符集如UTF-7、UTF-8、GB2312,攻击者可以通过各种编码和变换字符集来突破现有的防御措施,所以将其进行归一化和标准化有利于下一步的检测模块制定高效的过滤规则和防御策略,来阻止各种变形攻击。

(二)检测功能模块

检测模块在Web应用防火墙中承担了安全功能需求导向部分的实现,功能涵盖了过滤器和权限控制两个方面:首先是过滤器,过滤器注重解决的就是Web应用中最为严重的用户输入恶意信息的问题。其次是访问控制,Web应用站点正常会包含一些不在正常网站数据目录树内的URL链接。WAF可以通过访问控制策略提供细粒度的URL ACL(访问控制列表),防止对这些链接的非授权访问。此外在访问控制管理中也可以考虑加入会话管理的考虑,同时会话验证也是一种可以有效阻隔DDOS攻击的合理方式。

(三)防护日志统计模块

一个系统的最重要部分是日志审计系统,所有的异常出错都会被实时记录,便于日后分析评估,也是作为电子取证的关键证据。日志信息必须确保实现完整性与一致性保护。我们使用SHA单向散列函数和消息鉴别码来实现。SHA单向散列函数就是将输入数据流可以是字符串或文件转换成固定长度输出串的一种函数。散列计算过程是不可逆的,并且输入信息有细小的变化输出结果会有很大的不同,所以常用来做信息的防篡改使用。正常情况下,应使用不带密钥的单向散列函数,以便任何人都可以验证信息完整性,但是如果想只有信息接收者才能验证散列值,就需要消息鉴别码。消息鉴别码是带有秘密密钥的单向散列函数。所以我们对Web应用防火墙的日志文件定时备份并且计算出消息鉴别码,并将消息鉴别码保存到数据库中,就可以有效地防止信息的篡改,保证了日志文件的完整性与一致性。

四、总结

为验证Web防火墙的系统功能,我们使用Web应用防火墙防护WebGoat漏洞系统从而达到测试的目的,笔者依照上诉方案部署Web应用防火墙之前和之后分别用IBM Rational AppScan Web应用安全漏洞扫描平台进行测试,并分析结果。最终表现良好,本文的设计方案具备可行性与有效性。

参考文献:

[1]王嘉延. Web应用生命周期安全防护探讨[J].计算机安全. 2011(10)

[2]姚琳琳.基于分布式对等架构的Web应用防火墙设计与实现[D].桂林电子科技大学.2012

[3]葛鹏. 浅谈Web应用防火墙对基于Web业务系统的保护[J].江苏科技信息. 2010(11)

上一篇:常用化工自动化仪表的检修及其维护研究 下一篇:变电站VQC装置应用与管理探讨