论文部分内容阅读
互联网的快速发展给我们的生活带来很大的便利,Web的快速发展尤其是Web2.0时代的到来更是能够很好的说明这个问题。与此对应的是,Web的快速发展是依靠硬件、应用软件等互联网基础设施以及相关协议的不断发展。硬件(路由器、交换机、服务器和存储设备等)越来越庞大,应用软件(门户网站、Web应用系统以及其使用的脚本语言)越来越复杂,相关协议(HTTP、POP3、ARP等)越来越显得安全性的不足,在Web快速发展的同时,Web安全问题接踵而来。在早期互联网中,黑客的主要攻击目标是网络、操作系统以及系统软件和应用软件。当Web安全威胁越来越严重时,传统的网络防护设备、软件等比如入侵检测系统(IDS)、入侵防御系统(IPS)、传统防火墙等只能针对数据流的安全进行识别和防御,并不具备针对应用层Web攻击的防护能力。在互联网的基础设施比较完备的今天,互联网的核心已经转变。互联网公司追求的是使用用户数,用户产生业务,业务产生数据,那么互联网公司最核心的价值就是用户的数据。互联网安全的核心问题,已经转变为数据安全的问题。而针对Web的攻击能够更直接和容易的获取攻击者想要获取的数据。在众多的Web攻击方式中,SQL注入攻击和XSS跨站攻击能够更直接获取到用户数据,从这两种攻击方式出现一直到今天,都是一直高居OWASP TOP10,而未来攻击的发展趋势,XSS跨站脚本攻击会一直名列前茅,SQL注入攻击也不会随着防御意识的提高而消失。Web应用防火墙(也称:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)的出现很好的解决了这个问题,但是仍有很多Web应用防火墙无法高效率识别出黑客构造的变幻莫测的攻击数据。目前针对Web的攻击有很多种,但最主流的攻击方式包括SQL注入和XSS跨站脚本。Web攻击的防御方式是通过正则匹配表达式来匹配并拦截可疑数据。本文的研究工作主要包括以下几个方面:(1)根据黑客在进行SQL注入攻击时所提交的不同数据格式,找出对应的正则匹配算法,最大可能做到广谱匹配性,且尽可能减少误判的可能性;(2)根据黑客在进行XSS跨站脚本攻击时所提交的不同数据格式,找出对应的正则匹配算法,最大可能做到广谱匹配性,且尽可能减少误判的可能性;(3)获取客户端与Web服务器交互的数据,根据已有的正则匹配算法进行攻击数据的判断和拦截。(4)以远程任意命令执行漏洞为例,来分析近年来出现的众多Web应用框架漏洞,最大可能做到广谱匹配性,且尽可能减少误判的可能性;最后通过Python语言,结合搜集整理的正则匹配表达式,通过抓取Web服务端的HTTP报文,实现对多种数据提交方式比如GET、POST和COOKIE等进行过滤,达到阻断攻击的目的,实现高效的Web应用防火墙功能。