基于虚拟化的Web应用防火墙技术研究

发布时间:2020-04-13 20:11:10 论文编辑:vicky
本文是一篇计算机论文,本论文进行了如下主要工作:(1)分析了 TCP/IP 协议的各层功能和用途,并根据 Web 应用层的缺陷,引入 Web 应用攻击,并详细介绍了三种常见的 Web 应用攻击,包括 SQL 注入、XSS 跨站脚本攻击和 CSRF 跨站请求伪造攻击,详述了三种 Web 应用攻击的原理和对应的攻击防御措施。(2)将防火墙的发展历程作为切入点,分析研究了不同类型防火墙的主要功能,以及各自的使用场景。然后重点研究 Web 应用防火墙,介绍其工作原理和主要类型,为后续章节的 Web应用防火墙设计提供方向和思路。(3)Lua_nginx 模块是 OpenResty 的众多组件之一,通过使用 Lua 语言对 Nginx 进行脚本重构,可实现 WAF 功能,抵御众多 Web 应用攻击。并对 Lua_nginx 模块结构和指令执行顺序做了阐述。(4)本论文通过对 lua_nginx 模块进行改写,设计了 Web 应用防火墙(本章以下简称“WAF”),WAF 系统包含三大模块,分别是协议解析模块、执行处理模块和日志模块。

第一章 绪论

1.1 研究背景及意义
1.1.1 研究背景
伴随着互联网技术的不断革新,大数据、物联网、人工智能等技术在已在智能交通、无人港口、智慧城市、互联网金融等领域创新式的落地,极大地提高了企业的综合效益[1],信息技术已经成为应用面极广、渗透性很强的战略性技术[2]。当前新一代信息技术已经与制造业、金融业、教育行业等领域深度融合,互联网已成为了推动各行各业向智能化发展的重要支撑。互联网化的转变,势必需要打破了行业内以往存在的封闭性,实现系统间的协同工作和信息分享。这使得企业需要使用统一制定的网络通信协议及兼容性良好的硬软件系统,将行业中各种系统接入因特网等公共网络中。这些转变都会使得行内系统遭受的各种网络安全威胁和黑客攻击。
近年来,国内外各类型网站都遭遇过漏洞攻击和信息泄露等事件,攻击者的攻击方式也愈加专业化和商业化。2015 年 1 月,
bbs.gfan.com 网站的两千万用户信息暴露在网络上,一时间成为新闻热点。同时 bbs.gfan.com 网站有多个高危漏洞仍没有彻底修复,其将近三千万新用户信息也随时有泄露的危险[3];4 月,国内一家极具影响力的新闻站点 DNS 服务器受到海量 DDoS 攻击,其峰值流量接近 10Gbit/s,事后通过复盘分析,发现此次攻击行为主要是利用 NTP 协议和 UPnP 协议进行的反射攻击;同月,几乎所有省份的社保系统都发现了高危漏洞,存在漏洞的系统至少包括北京、江苏、上海、江苏、四川、安徽等三十多个省份。可能泄露信息至少涵盖个人身份信息、社保缴纳信息、员工纳税情况和房产信息等重要敏感数据;8 月,国内部分地区  中国顶级域名“.CN”出现大规模访问故障,经查为黑客针对某游戏私服发布网站的大规模 DNS 请求攻击,造成我国顶级域的解析出现异常所致[4]  。 
.........................

1.2 Web 应用防火墙的发展现状
WAF 为近年来发展起来的安全产品,在经历了发展初期的爆发式增长后,市场规模增速渐已趋稳定之势。WAF 市场发展的主要驱动因素包括用户对网络安全意识普遍的提升、自带设备办公催生的对于 Web 系统安全防护的需求等。而随着客户需求的不断更迭,安全厂商对于 WAF 产品的研发和升级也紧锣密鼓的展开,技术和产品的更新都不断的推动着市场的发展[14]。
从行业细分的角度来看,WAF 主要分布在政府机构和金融行业两大应用领域,两者合计贡献市场规模占比超过 60%。同时,信息技术、互联网行业、教育行业和制造业对 WAF 的应用也呈现逐渐扩张之势。不仅如此,WAF 也逐渐开始逐步拓展至一些新的应用行业领域,例如医药、交通运输、快递物流等。随着各个安全厂商对市场和用户的引导逐步深入,未来预计 WAF 产品将在更多行业开展应用。
报告数据显示[15],2015 年国内前五大 WAF 厂商分别为绿盟科技、迪普科技、启明星辰、天融信及安恒信息,以合计约 1.3 亿元人民币的收入占到总体市场 58.8%的份额。其独揽市场20%份额以上的厂商包括绿盟科技和迪普科技两家。本土品牌在政府部门的份额优于外资,主要因为国内大部分厂商强调 WAF 的防篡改功能,这更符合本土用户对 Web 应用安全需求。除了前五大厂商之外,其他参与市场竞争的企业还包括 Imperva、思杰,梭子鱼,飞塔等[16]。
.........................

第二章 Web 攻击及防御分析

2.1 TCP/IP 协议分析
为了便于深入分析 Web 应用安全的原理,首先需要了解网络的基础 TCP/IP(传输控制协议/网际协议)协议,以理解网络基础架构中每一层的技术原理。TCP/IP 定义了网络设备之间相互通信的准则,提出了一套具有公有约束力的通信标准[23]。TCP/IP 是一组预定义的格式和约定,每种网络设备都必须遵循这些格式和定义,以实现异构设备和异构网络之间的正常数据通信[24]。TCP/IP 定义了网络通信的层次化模型,把网络通信的复杂进程分成了四个相对独立的层次,每一层都有自己独有功能。每个层次的主要功能如下:
(1)网络接口层
网络接口层用于定义在现有的网络传输介质上传输数据的接口。TCP/IP 与 OSI(开放系统互联)模型不同,TCP/IP 没有定义物理层和数据链路层相关的功能。TCP/IP 在网络接口层上,定义了如 ARP(地址解析协议)和 RARP(反向地址解析协议)等,用于做设备硬件地址和网络逻辑地址直接的映射转换。
(2)网间层
网间层负责在源地址和目的地址之间建立关联关系。通常包含网络路由寻址,流量控制、数据校验等。同一广播域中的设备之间的数据传输只涉及不同 MAC 地址之间的通信,不同广播域中网络设备之间的数据传输不仅涉及到 MAC 地址之间的通信,还会涉及到 IP 地址之间的通信。网间层的协议包括 IP 协议、IS-IS 协议、ICMP 协议等。
(3)传输层
传输层负责向应用层提供端到端的通信服务。传输层主要包括 TCP 传输控制协议和 UDP用户数据报协议。其中 TCP 协议是一种面向连接的可靠的字节流服务,即两个使用 TCP 协议的应用程序在进行数据传输之前,需要建立一个有状态的数据通道。数据通道建立完成后应用层的数据传输,都在此通道中进行。数据传输完成后,进行数据通道拆除处理。UDP 协议则是无状态的数据包传输协议,两个使用 UDP 协议的应用程序在进行数据传输时,直接进行广播或组播发送即可,无需建立任何传输通道。
图 2.1  TCP/IP 协议分层模型
...........................

2.2 常见 Web 应用攻击分析
近年来,网络攻防环境正在迅速发生变化。首先,攻击者的动机呈复杂化演变,已经不在单纯的为了享受技术致胜的快感,而更多的是受利益和政治环境所驱,进行有组织有预谋的攻击活动。其次,攻击者的目标选择十分明确,受利益集团的教唆对目标进行精准攻击。第三,攻击者对国家重要信息系统和专用网络系统的攻击频率越来越高,这也表明了网络攻击的硝烟已已从共用网络系统弥漫到专用网络系统。同时云计算、大数据、人工智能等新的互联技术的已经发展成熟,在为用户提供创新型互联网服务方式的同时,也也引入新的安全问题[28]。
从 2017 年 Web 应用安全监控数据[29]来看,攻击者针对网站的攻击是非常活跃的。主要的攻击方式包括已知的 Web 漏洞攻击,SQL 注入攻击、路径穿越攻击、XSS 跨站脚本攻击、恶意扫描、非法上传、命令注入攻击等。攻击者的攻击方位主要焦聚在最常见的漏洞和探测方式上,这种情况与 Web 攻击本身的特点有密切关系。一方面是用于攻击的难度和成本较低,另一方面是由于基础的攻击手法和漏洞利用已经固化和集成到一些主流的攻击工具中。
攻击者的主要攻击目标就是网站 Web 服务器,Web 服务器上有一套或多套适用于业务的Web 应用程序,复杂的 Web 应用程序架构极易导致各种漏洞的出现。同时网站建站技术同质化成都很高,这就导致每一种攻击手段都会批量地影响其他网站服务。对于新增的漏洞,攻击者们会第一时间通过公开的搜索引擎进行批量的比对,在极短的时间内就可以获取到数量可观的网页后门,并且现在有了类似 Shodan 这类开放的全网扫描引擎,攻击者针对 Web 服务漏洞可以更快地展开针对性的攻击行动。
图 2.9 Web 攻击类型分布情况
............................

第三章  Web 应用防火墙技术研究 ....................................... 28
3.1  防火墙概述 .................................... 28
3.1.1  防火墙技术概述 .......................................... 28
3.1.2  静态包过滤防火墙 .................................... 31
第四章  Web 应用防火墙的设计与实现 ....................................... 42
4.1 Lua_nginx 模块结构 .............................................. 42
4.1.1 Lua_nginx 模块介绍 ........................................... 42
4.1.2 Lua_nginx 模块指令执行顺序 ................................42
第五章  Web 应用防火墙验证与测试 .................................. 55
5.1  平台环境部署 .............................. 55
5.2  软件环境部署 .............................................. 56

第五章   Web 应用防火墙验证与测试

5.1 平台环境部署
使用青云搭建虚拟化WAF 的实验平台,部署主机和映像、VPC 网络、路由器和弹性公网 IP 等资源。具体部署内容如下:
(1)部署主机和映像。虚拟主机(Instance)是青云中提供的一种随时获取的、弹性的计算能力。映像(Image)是一个包含完整可用软件的镜像。本实验平台部署的两台虚拟主机均使用 GNS/Linux 操作系统平台,其中一台主机作为 WAF 服务器,命名为“WAF 主机”,安装“CentOS 6.8 64bit”操作系统;另外一台主机作为测试服务器,命名为“测试网站”,安装“Ubuntu 8.0.4 64bit”操作系统。主机和影像部署完成后的配置如图 5.1 所示:
图 5.1 主机和影像的部署
............................

第六章   总结与展望

6.1 总结
随着互联网+模式深耕于各传统行业,Web 应用已经渗透到各领域中。目前各行业都在接受着快速互联网化的洗礼和改造,这都给生产和生活提供了极大的便利。但过快的互联网化虽然使得传统行业获得新生,但必须付出成长的烦恼。攻击者深挖各种 Web 应用漏洞,为了经济和政治利益,不断尝试通过互联网入口攻破企事业单位、金融行业和各传统企业。因此网络安全严峻性,特别是 Web 应用安全严峻性,已经成为无法忽视且必须解决的关键问题。
基于以上情况,本论文进行了如下主要工作:
(1)分析了 TCP/IP 协议的各层功能和用途,并根据 Web 应用层的缺陷,引入 Web 应用攻击,并详细介绍了三种常见的 Web 应用攻击,包括 SQL 注入、XSS 跨站脚本攻击和 CSRF 跨站请求伪造攻击,详述了三种 Web 应用攻击的原理和对应的攻击防御措施。
(2)将防火墙的发展历程作为切入点,分析研究了不同类型防火墙的主要功能,以及各自的使用场景。然后重点研究 Web 应用防火墙,介绍其工作原理和主要类型,为后续章节的 Web应用防火墙设计提供方向和思路。
(3)Lua_nginx 模块是 OpenResty 的众多组件之一,通过使用 Lua 语言对 Nginx 进行脚本重构,可实现 WAF 功能,抵御众多 Web 应用攻击。并对 Lua_nginx 模块结构和指令执行顺序做了阐述。
(4)本论文通过对 lua_nginx 模块进行改写,设计了 Web 应用防火墙(本章以下简称“WAF”),WAF 系统包含三大模块,分别是协议解析模块、执行处理模块和日志模块。
参考文献(略)