启明星辰天清入侵防御系统sql注入防御技术白皮书

启明星辰天清入侵防御系统sql注入防御技术白皮书

ID:11092126

大小:117.00 KB

页数:5页

时间:2018-07-10

启明星辰天清入侵防御系统sql注入防御技术白皮书_第1页
启明星辰天清入侵防御系统sql注入防御技术白皮书_第2页
启明星辰天清入侵防御系统sql注入防御技术白皮书_第3页
启明星辰天清入侵防御系统sql注入防御技术白皮书_第4页
启明星辰天清入侵防御系统sql注入防御技术白皮书_第5页
资源描述:

《启明星辰天清入侵防御系统sql注入防御技术白皮书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、启明星辰天清入侵防御系统SQL注入防御技术白皮书背景知识什么是SQL注入SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,这是SQL注入的标准释义。随着B/S模式被广泛的应用,用这种模式编写应用程序的程序员也越来越多,但由于开发人员的水平和经验参差不齐,相当一部分的开发人员在编写代码的时候,没有对用户的输入数据或者是页面中所携带的信息(如Cookie)进行必要的合法性判断,导致了攻击者可以提交一段数据库查询代码,根据程序返回的结果,获得一些他想得到的数据。SQL注入利用的是正常的HTT

2、P服务端口,表面上看来和正常的web访问没有区别,隐蔽性极强,不易被发现。SQL注入的危害和现状SQL注入的主要危害包括: 未经授权状况下操作数据库中的数据? 恶意篡改网页内容? 私自添加系统帐号或者是数据库使用者帐号? 网页挂木马? …… 据赛门铁克2006年3月的互联网安全威胁报告(第九期)显示: 目前有近70%的攻击行为是基于WEB应用,而据CVE的2006年度统计数据显示,SQL注入攻击漏洞呈逐年上升的状态,2006年更是达到了惊人的1078个,而这些还仅限于通用应用程序的漏洞,不包括更为庞大的专业web应用程

3、序所存在的漏洞。  而针对SQL注入漏洞的各种攻击工具和攻击教程更是层出不穷,掌握1~2种攻击工具的scriptguy(脚本小子)就可以轻易的攻破网络数据库的防线:篡改数据、获得权限……SQL注入防御SQL注入的学术界研究成果基于正常行为模型的AMNESIA该算法的核心思想是通过事前找到源码中所有动态SQL语句的构造点,并为这些SQL语句建立自动机模型(Profiler)。在程序运行时监控提交的SQL语句是否满足Profiler,如果满足则是正常的操作,否则,就认为发生了SQL注入攻击。这种分析方法需要能够获得应用程序

4、的源代码,并且需要修改源代码,是一种侵入性的模型(源代码补丁方式)。其实现过程如下图所示: 基于数字签名技术的SQLRand该算法的主要思想是:对源代码中包含动态SQL语句的模版中的关键字进行随机化编码处理,这些编码规则黑客无法预知。运行时,对随机化编码之后的SQL命令进行解码,如果解码失败则表示遭受到了SQL注入攻击。 如一个正常的SQL语句:select*fromuserswherename=%name其中的select/from/where都是我们所说的关键字,所有SQL语句在提交webserver时,都将进行随

5、机化的编码,一个可能的SQL注入语句经过随机化编码后可能是:select123*from123users where123name=‘Mike’ OR1=1,(标红的部分是攻击者提交的构造代码),由于OR1=1是攻击者构造的数据,不会经过系统自身随机化的编码,所以待提交数据库的前置proxy进行解析时,对OR这个关键字将得不到正常结果,由此可以判断攻击发生。这种方法的缺点和上面的一样,都是基于源码级别的修改,需要拥有和修改程序的源代码,是一种侵入式的解决方案,并且从上面的架构图中我们可以看到,这种解决方案的部署较为复杂

6、。 SQL注入的产业界研究成果基于Signature的关键字匹配技术这是一种在产业界常见的解决方案,著名的免费软件SNORT就是采用的这种解决方案。该方案的技术出现点是:首先抽取SQL注入过程中都会出现的特殊字符(例如:’–#等),抽取SQL注入过程经常会出现的SQL关键字(例如:’SELECT、UNION等)作为检测SQL注入的依据。利用上述步骤中提取的特征构建SQL注入特征库,通过传统的模式匹配的方式进行检测。一个典型的snort规则:alerttcp$EXTERNAL_NETany-> $HTTP_SERVERS

7、 $HTTP_PORTS (msg:"SQLInjectionParanoid"; flow:to_server,established;uricontent:".pl";pcre:"/(%27)

8、(’)

9、(--)

10、(%23)

11、(#)/i";classtype:Web-application-attack;sid:9099;rev:5;)中间标红的字段就是检测数据包中是否含有---等特殊字符。以此来判断是否产生了SQL注入攻击。很显然这种方法有着极高的漏报和误报率,比如在USER字段提交Select,将会被认

12、作攻击行为。并且做了编码转换或函数转换或者是关键字跨域之后,攻击者很容易躲避机械地匹配字符串方式的检测。基于异常检测技术的Web-FireWallWEB-FireWall是由IMPERVA公司提供的SQL检测产品,其核心思想是通过学习期的训练,为Web应用程序自动建立各参数的正常使用模型(URL/COOKIE)。在此后的检测过程中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。