论文部分内容阅读
近20年以来,互联网在中国快速普及,各式各样的Web应用如雨后春笋般出现在互联网之上,为广大的网民用户提供各方面的网络服务。而由于Web用户的数量越来越庞大,Web服务在生活中的地位越来越重要,Web应用的安全问题也越来越受重视。特别是Web服务端的安全问题,服务提供商的Web应用在保证为用户提供优质服务的同时,还需提防来自各方面的恶意攻击。而对于Web应用而言,很多恶意的攻击都隐藏在海量的用户请求之中,Web应用要想为用户提供优质服务的同时抵御这些恶意攻击,就需通过恶意检测系统将正常用户请求与恶意用户请求区分开,以阻止Web应用对恶意请求的处理。目前大部分Web应用实际使用的恶意Web请求的检测方法主要还是基于保留字符串的检测方法。通过对各类恶意请求的原理和外部特征的分析,总结出一些恶意请求特有的字符串作为系统保留的字符串,恶意请求检测过程即是对这些保留字符串的检测,含有保留字符串的Web请求就会被归为恶意请求。这种检测方法虽然查准率较高,但需人工总结和维护保留字符串,而且当恶意请求改变攻击方式或者隐藏关键字后,便可绕过此类检测方法的检测。本文设计并实现了一个基于CNN模型的恶意Web请求检测系统。通过借鉴CNN模型识别图像时的特征提取原理,本文针对Web请求的URL结构,设计了一个基于CNN的恶意Web请求检测模型,通过CNN的卷积核自动提取各类恶意请求的显著特征,进而从海量的用户请求中检测出待检测的各类恶意请求。通过在最终的测试过程中与其他同类模型相比,本文的模型在查全率与查准率的指标上占优的同时,还大幅降低模型的假阳率。针对复杂的Web应用环境,为了提高整个检测系统的应对攻击方式变化的能力,本文还设计并实现了模型调度系统,帮助检测模型实时采集线上数据,监测线上数据的变化,并筛选典型恶意样本再训练并更新监测模型,使整个系统能自动适应攻击方式的改变,以保证检测系统的长期稳定,高效的运行。而从最终的测试结果来看,当恶意Web请求的攻击方式发生改变时,在调度系统完成对新攻击样本的采集之后,再使用更新的训练集训练现有模型,进而更新检测系统的检测模型,使整个检测系统适应攻击方式的改变,从而使检测系统可持续帮助Web应用有效抵御各类恶意Web请求。