论文部分内容阅读
进入21世纪以来,随着Web 2.0技术和移动互联网的飞速发展,各式各样的Web应用层出不穷。与此同时,Web应用的安全问题也越来越受到重视。SQL注入问题虽然已经提出了许多年,然而仍然是最为常见的一类Web应用安全问题,对Web应用系统造成的危害仍然相当大。因此,对于SQL注入漏洞的检测研究相当有必要。目前对于SQL注入的检测主要是采用渗透测试的方法,其原理是通过模拟攻击找出Web应用程序存在的安全漏洞,这种测试方式能对行为结果进行分析,且能反映漏洞利用情况,复杂程度低、适应范围广,目前广泛使用的安全漏洞扫描器就是基于这思想。但是对于SQL注入的渗透测试研究仍然大部分集中于信息收集和响应分析阶段,对于攻击用例的生成仍然缺少研究,所使用的测试用例随机性较强,缺乏规律,导致造成漏报问题而影响测试准确度。本文从渗透测试方向对SQL注入漏洞渗透测试中的用例生成做了研究,希望改进当前渗透测试中测试用例不能充分反映SQL注入攻击规律的不足,生成简洁优化的测试用例,能够全面地对SQL注入漏洞进行测试,降低SQL注入测试的漏报。为了达成上述目标,本文主要进行了如下研究及工作内容:对SQL注入的产生原因进行研究,明确其产生的原因。对SQL注入的分类进行探究,探究当前研究下分类的依据,归纳总结常见的SQL注入分类方法;结合Web应用安全测试的实际需求,提出了基于数据传输信道的SQL注入攻击模型,将SQL注入分为带内,推断,带外三类,并描述了各类攻击的攻击规律,为SQL注入测试用例的生成提供指导;在提出的攻击模型的指导下,给出SQL注入测试用例的形式化描述并进行实例化,以生成优化的SQL注入测试用例;开发了自动化的SQL注入漏洞检测系统,使用生成的优化的SQL注入测试用例对Web应用进行渗透测试,提高渗透测试的准确度。本文主要的创新之处在于提出了基于数据传输信道的SQL注入攻击模型,根据SQL注入中被窃取的数据流出的信道进行建模,反映SQL注入攻击间的规律。和目前相关研究相比,本研究提出的模型专注于SQL注入中窃取数据这一目的并进行深入研究,可更细致地描述这一类SQL注入攻击中攻击用例的规律,从而更加准确地体现窃取数据时SQL注入攻击行为的规律。为了检验系统的性能,本文设计了实验对系统进行了测试,并对测试结果进行了研究和分析,肯定了系统的有效性及检测的全面性。