论文部分内容阅读
根据2017年OWASP最新公布的Web安全威胁评估报告显示,SQL注入攻击依旧位列各类攻击榜首。虽然国内外已提出了很多种SQL注入检测方法,但SQL注入攻击还是频繁发生,其主要原因是大部分检测方法只考虑了个别条件下的SQL注入攻击检测,SQL注入攻击种类繁多,这些方法无法检测多种SQL注入攻击。此外程序员编写网站应用程序,漏洞几乎是不可避免的,如果单从安全编码角度防御SQL注入攻击也是不可取的。如何在网站存在SQL注入漏洞的情况下,还能抵御SQL注入攻击,是近年来SQL注入检测研究方面的热点。本文首先阐述了SQL注入漏洞的研究背景、意义及国内外研究的现状。在分析了目前SQL注入的攻击方法、攻击流程及自动化工具流量特征的基础上,为了解决提取攻击行为特征实时性和检测准确性方面问题,提出了一种基于Simhash算法的SQL注入检测方法,该方法结合非黑即白的强白名单策略,可以规避黑客绕过防御体系。通过爬虫构建的白名单,解决了白名单构建不全的难题。使用改动后的Simhash算法对攻击载荷进行度量,解决了实时解析数据包效率较低的问题;其次,在对SQL注入后期写入Webshell的黑客行为特征进行分析的基础上,提出了一种实时检测Webshell的方法,该方法较传统Webshell检测方法来说,具有主动检测的能力,可实时发现服务器中存在的危险,也能很好的检测变种Webshell。最后,对所提出的两种检测方法进行有效性验证,同时使用Python和Java语言对两种检测方法进行系统实现。实验结果表明,这两种检测方法,能够很好的检测并防御黑客对网站的SQL注入攻击,及SQL注入后期写入网站服务器起到权限维持的Webshell。