SQL注入攻击(SQL Injection Attack)是Web应用程序面临的最为普遍的攻击。攻击者通过修改应用程序的Web表单的输入域,或者修改页面请求的查询字符串输入参数等方法进而插入一系列的SQL命令来达到改变数据库的查询语句,欺骗服务器执行恶意SQL命令的目的,从而实现对后台数据库未经授权就能访问。19676
基于数据库管理系统的入侵检测技术是入侵检测领域中研究比较成熟的技术之一。目前存在的基于数据库管理系统的检测技术中,SQL注入攻击检测方案主要是结合数据挖掘、关联规则和模式识别等,通过挖掘用户频繁查询项途径来实现。这些技术在一定程度上提高了SQL注入检测的效率,由于仅仅考虑了数据库管理系统自身的特征,没考虑与应用系统自身具备的应用语义,所以也存在着比较大的漏报率和误报率,与此同时对能够检测到的SQL注入攻击类型也存在着一定程度上的限制。比如,当用户对应用程序的操作在数据库中为存储过程调用语句时,存在SQL注入漏洞的可能是很大的,但目前的检测方案中很少对此提及,甚至想当然的认为使用存储过程可以绝对防范SQL注入攻击。可以看出,在涉及应用入侵检测领域中,对SQL注入检测技术的研究不仅具有非常大的实用价值而且还存在着非常大的发展空间。
1.2课题研究内容与研究意义
目前国内对网络安全理论与技术应用的研究还处在初级阶段,对SQL注入攻击的研究也处在逐步发展的阶段。鉴于以上情况,论文研究目标主要针对目前存在的SQL注入攻击所带来的危害,深入研究SQL注入原理及注入过程,并在以上的基础上进一步提出SQL注入漏洞检测和防范策略。国内对SQL注入攻击和检测防御的研究主要集中在注入攻击原理和关键技术的探讨上。论文总结分析SQL注入的防范技术,提出改进的SQL注入防范模型。
本论文的主要研究内容有:
(1)阐述SQL注入攻击原理和一般流程;
(2)分析不同的SQL注入攻击防范策略;
(3)针对SQL注入漏洞攻击设计实现一款扫描工具;
(4)归纳一些常用的SQL注入攻击防范策略和防御措施。
论文研究的主要意义可以概括为以下内容:随着信息产业化的迅速发展,互联网的复杂性不断增长,网上的服务种类不断增多。目前,很多Web系统都存在着脚本安全问题,例如,攻击者从脚本安全的漏洞方面出发,访问有权限限制的目录,有的甚至可以盗取系统管理员的权限。本文针对SQL Server数据库安全性,介绍了SQL注入攻击的概念和原理,提出了若干防范策略,最大限度地减少SQL注入攻击的可能,保护数据库的安全,使互联网服务的安全性得到保障。
国内外研究现状分析
从严格的意义来看,SQL注入攻击(SQL Injection Attacks)目前还没有一种标准去定义,普遍接受的观点是微软技术中心根据其攻击形式所下的定义描述。从本质上讲,SQL注入攻击就是利用其语法,对应用程序开发者编程过程中存在的漏洞,攻击者操作数据时向应用程序中插入一些特殊的SQL语句,随之SQL注入攻击就发生了。SQL注入攻击漏洞之所以产生,究其根本原因就是没有对用户输入的数据进行严格的过滤和验证。
基于SQL注入最早出现在国外,国外学者的SQL注入攻击研究一直处在前沿,其理论和技术研究都非常深入。在此首先介绍国外对SQL注入的研究成果,国外对于SQL注入攻击的研究主要有:基于动态预处理语句,这是一种从源代码中对SQL注入进行防御的办法;采用签名机制;编码防范;静态分析和动态检测相结合的分析;入侵检测系统;动态分析树等。国外的一些先进理论思想和成熟技术能够为我们的深入研究指明方向。对于国内的SQL注入研究主要有以下几个方面:基于SQL注入攻击检测/防御/备案的防范模型;组装SQL语句语法预分析的方法;编写代码时对用户的输入数据进行严格的检查;在Web服务器端进行设置进而屏蔽错误信息;对传输的数据进行加密处理。随着技术的发展,国内对SQL注入的研究内容越来越广泛,并且在理论和技术方面也逐渐走向成熟。 SQL注入攻击防范文献综述和参考文献:http://www.youerw.com/wenxian/lunwen_11117.html