特征匹配的web应用防火墙的研究(源码)【字数:7198】
摘 要互联网高速发展的今天,各种网络产品层出不穷。随着Web应用的快速发展,Web安全问题也日趋严重。传统防火墙、入侵检测系统等只能保护开放系统互联(ISO)参考模型的较低层,对于应用层的攻击防范十分有限。本课题主要目的是研究Web应用防火墙的工作原理,实现对Web应用层攻击的拦截及防御。Web应用防火墙(WAF)工作在ISO上层的应用层,通过对HTTP请求报文数据进行解析,将解析出的关键内容和特征库进行检索对比,以此来阻断Web应用攻击,有效地保护Web应用层。本文分析HTTP协议和一些主流的Web应用攻击以及相关绕过方式,编写相应的特征库来进行过滤防护,实现一个基于特征匹配的Web应用防火墙系统。本文通过本地模拟Web层攻击与防御,成功实现了对SQL注入,跨站脚本XSS攻击以及其他一些漏洞攻击的防御。实验表明,该Web应用防火墙系统可以防御各种Web应用层攻击,有效解决了大部分Web安全问题。
目 录
第一章 绪 论 1
1.1 研究背景 1
1.2 Web应用安全问题 1
1.2.1 传统防火墙的劣势. 2
1.2.2 Web安全问题现状 2
1.3 课题研究主要内容 3
第二章 Web防火墙方案设计 4
2.1 Web防火墙原理 4
2.2 Web防火墙结构 4
2.3 工作流程 5
第三章 Web防火墙实现 7
3.1 Web应用攻击分析 7
3.1.1 HTTP协议分析 7
3.1.2 SQL注入 8
3.1.3 XSS跨站脚本攻击 8
3.1.4 其他类型攻击 9
3.2 特征库构建 9
3.3 攻击行为检测 9
第四章 Web防火墙测试 12
4.1 SQL注入攻击测试 12
4.2 XSS跨站脚本攻击测试 12
4.3 对未知攻击的测试 13
总结与展望 14
致 谢 15
参考文献 16
绪 论
研究背景
随着web应用的普及,随之而来的必 *好棒文|www.hbsrm.com +Q: ¥351916072¥
然有相应的安全问题。Daniel Regalado在《灰帽黑客》中提到:“关于黑客群体,值得注意的一点在于他们总是在变化。在过去几年里,黑客的作案动机已经从找出利用漏洞的方法从而获得兴奋刺激感变成了通过入侵或者利用自己的入侵技术而获利”[4]。随着web应用在社会中的普及,黑客们也把目光投向了它。Web应用安全问题刻不容缓。
Web应用的安全漏洞随着web应用的迅速发展而日益增加,在对比了2013年和2017年《OWASP Top 10》上列出的安全威胁后可以发现注入威胁和跨站脚本(XSS)等问题一直居高不下。如果想要防御黑客们的攻击,首先要了解他们的攻击手段。OWASP TOP10只列出了一些高危的web安全漏洞,而张柄帅在《Web安全深度剖析》一书中详细介绍了一些黑客常用的攻击手段以及这些攻击的原理。常见的SQL注入方法很多,最终目的都是绕过Web应用程序的拦截手段,使得攻击者的输入能够执行对数据库的操作,通过利用不同数据库的特性来获取更大的权限或者他们需要的数据信息。XSS跨站脚本攻击,是指攻击者利用Web应用程序将数据输入到前端页面时出现的漏洞,将恶意构造的数据显示在页面上。近年来AJAX技术(交互式网页开发技术)得到长足的发展,XSS的威胁也因此将被扩大。攻击者攻入目标主机后可以在目标主机随意执行系统命令即所谓的任意命令执行漏洞,它也属于高危漏洞之一。命令执行漏洞不仅存在于B/S架构中,在C/S架构中也常常遇到。
Web应用安全问题
传统防火墙的劣势.
传统防火墙技术主要分为包过滤(Packet Filtering)、应用代理(ApplicationProxy)和状态监视(Stateful Inspection)三大类。传统防火墙一般都会作为网络的进出口设备。下图为传统防火墙网络拓扑图:
图11 传统防火墙网络拓扑图
Web安全问题现状
互联网发展迅速,作为网络应用的主要载体,Web应用也迅速发展成为行业主流,在各行各业中都扮演着重要角色。但是Web程序本身的安全性却时常被开发者忽略,而攻击者恰恰利用了这些不被注意的安全漏洞对用户数据进行窃取或者篡改。Netcreft网站数量统计报告显示,网站数量飞速增长,而根据Carter的数据分析,2/3的web应用都存在着程度不一的安全威胁,且其中很大一部分危害颇大,因此Web应用安全问题早已超过以往网络层的安全问题,逐渐成为最严重、最广泛、危害性最大的安全问题,由此导致人们对Web应用的信任度严重下降。
目前已知Web应用攻击多达几百种,网络安全权威机构OWASP组织(开放式Web应用程序安全项目)会定期公布“十大安全隐患列表”(OWASP Top 10),下表是最近一版2017年和2013年版的对比表:
2013年版《OWASP Top10》
2017年版《OWASP Top10》
注入
注入
失效的身份验证和会话管理
失效的身份验证
跨站脚本XSS
敏感信息泄露
不安全的直接对象引用
XML外部实体(XXE)
安全配置错误
失效的访问控制
敏感信息泄露
安全配置错误
功能级访问控制缺失
跨站脚本XSS
跨站请求伪造CSRF
不安全的反序列化
使用含有已知漏洞的组件
使用含有已知漏洞的组件
未验证的重定向和转发
不足的日志记录和监控
表 11 20132017 OWASP Top10 对比表
网络上也时常爆出各种网络攻击事件,权威网络安全公司SiteLock在2017下半年发布的报告中显示,在2017年的第二季度里平均每天都会发生近63次针对网站的攻击事件。而在2016年的同期,攻击事件平均每月只有22次。在过去的几个月里,针对网站的攻击活动还在不断增加。近日,据北京晚报报道:北京破获700余起涉网案件,严厉打击倒卖个人信息及黑客攻击。Web应用安全现状形势严峻,提升Web应用安全性刻不容缓。
目 录
第一章 绪 论 1
1.1 研究背景 1
1.2 Web应用安全问题 1
1.2.1 传统防火墙的劣势. 2
1.2.2 Web安全问题现状 2
1.3 课题研究主要内容 3
第二章 Web防火墙方案设计 4
2.1 Web防火墙原理 4
2.2 Web防火墙结构 4
2.3 工作流程 5
第三章 Web防火墙实现 7
3.1 Web应用攻击分析 7
3.1.1 HTTP协议分析 7
3.1.2 SQL注入 8
3.1.3 XSS跨站脚本攻击 8
3.1.4 其他类型攻击 9
3.2 特征库构建 9
3.3 攻击行为检测 9
第四章 Web防火墙测试 12
4.1 SQL注入攻击测试 12
4.2 XSS跨站脚本攻击测试 12
4.3 对未知攻击的测试 13
总结与展望 14
致 谢 15
参考文献 16
绪 论
研究背景
随着web应用的普及,随之而来的必 *好棒文|www.hbsrm.com +Q: ¥351916072¥
然有相应的安全问题。Daniel Regalado在《灰帽黑客》中提到:“关于黑客群体,值得注意的一点在于他们总是在变化。在过去几年里,黑客的作案动机已经从找出利用漏洞的方法从而获得兴奋刺激感变成了通过入侵或者利用自己的入侵技术而获利”[4]。随着web应用在社会中的普及,黑客们也把目光投向了它。Web应用安全问题刻不容缓。
Web应用的安全漏洞随着web应用的迅速发展而日益增加,在对比了2013年和2017年《OWASP Top 10》上列出的安全威胁后可以发现注入威胁和跨站脚本(XSS)等问题一直居高不下。如果想要防御黑客们的攻击,首先要了解他们的攻击手段。OWASP TOP10只列出了一些高危的web安全漏洞,而张柄帅在《Web安全深度剖析》一书中详细介绍了一些黑客常用的攻击手段以及这些攻击的原理。常见的SQL注入方法很多,最终目的都是绕过Web应用程序的拦截手段,使得攻击者的输入能够执行对数据库的操作,通过利用不同数据库的特性来获取更大的权限或者他们需要的数据信息。XSS跨站脚本攻击,是指攻击者利用Web应用程序将数据输入到前端页面时出现的漏洞,将恶意构造的数据显示在页面上。近年来AJAX技术(交互式网页开发技术)得到长足的发展,XSS的威胁也因此将被扩大。攻击者攻入目标主机后可以在目标主机随意执行系统命令即所谓的任意命令执行漏洞,它也属于高危漏洞之一。命令执行漏洞不仅存在于B/S架构中,在C/S架构中也常常遇到。
Web应用安全问题
传统防火墙的劣势.
传统防火墙技术主要分为包过滤(Packet Filtering)、应用代理(ApplicationProxy)和状态监视(Stateful Inspection)三大类。传统防火墙一般都会作为网络的进出口设备。下图为传统防火墙网络拓扑图:
图11 传统防火墙网络拓扑图
Web安全问题现状
互联网发展迅速,作为网络应用的主要载体,Web应用也迅速发展成为行业主流,在各行各业中都扮演着重要角色。但是Web程序本身的安全性却时常被开发者忽略,而攻击者恰恰利用了这些不被注意的安全漏洞对用户数据进行窃取或者篡改。Netcreft网站数量统计报告显示,网站数量飞速增长,而根据Carter的数据分析,2/3的web应用都存在着程度不一的安全威胁,且其中很大一部分危害颇大,因此Web应用安全问题早已超过以往网络层的安全问题,逐渐成为最严重、最广泛、危害性最大的安全问题,由此导致人们对Web应用的信任度严重下降。
目前已知Web应用攻击多达几百种,网络安全权威机构OWASP组织(开放式Web应用程序安全项目)会定期公布“十大安全隐患列表”(OWASP Top 10),下表是最近一版2017年和2013年版的对比表:
2013年版《OWASP Top10》
2017年版《OWASP Top10》
注入
注入
失效的身份验证和会话管理
失效的身份验证
跨站脚本XSS
敏感信息泄露
不安全的直接对象引用
XML外部实体(XXE)
安全配置错误
失效的访问控制
敏感信息泄露
安全配置错误
功能级访问控制缺失
跨站脚本XSS
跨站请求伪造CSRF
不安全的反序列化
使用含有已知漏洞的组件
使用含有已知漏洞的组件
未验证的重定向和转发
不足的日志记录和监控
表 11 20132017 OWASP Top10 对比表
网络上也时常爆出各种网络攻击事件,权威网络安全公司SiteLock在2017下半年发布的报告中显示,在2017年的第二季度里平均每天都会发生近63次针对网站的攻击事件。而在2016年的同期,攻击事件平均每月只有22次。在过去的几个月里,针对网站的攻击活动还在不断增加。近日,据北京晚报报道:北京破获700余起涉网案件,严厉打击倒卖个人信息及黑客攻击。Web应用安全现状形势严峻,提升Web应用安全性刻不容缓。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/5.html