2015年10月数据安全漏洞分析报告
报告核心观点
为了提高广大用户的安全意识,国内专业数据库安全厂商安华金和,综合来自补天、乌云、漏洞盒子等漏洞平台高危数据安全漏洞,发布每日安全资讯,数据库攻防实验室(DBSec Labs)以月为单位,将数百个高危漏洞汇总,形成分析报告,分享广大用户及合作伙伴。
10月报告核心观点
1. 格局不变,SQL注入重回“王者”
2. 白帽子“独爱”政府,60个漏洞
3. 10月常见数据泄露原因分析
4. 从SQL角度防守SQL注入
报告正文
2015年10月,安华每日安全资讯总结发布了154个数据泄密高危漏洞,这些漏洞分别来自乌云、补天、漏洞盒子等平台,涉及8个行业,公司机构、互联网、交通运输、教育、金融保险、能源、运营商、政府。同比9月份的134个,漏洞数量增加20个。10月份的漏洞中,SQL注入漏洞数量占总量的38%,重回“第一宝座”。
格局不改,SQL注入重回“王者”
数据安全问题多数是从Web端开始。10月份SQL注入漏洞再次引爆新高潮,被白帽子挖掘出58个SQL注入相关漏洞,这些漏洞遍及公司机构、互联网、政府等6个行业。SQL注入漏洞在10月份统计的漏洞总数中占据了近4成比例。
http://cimage.tianjimedia.com/uploadImages/20151111110806561001.png
10月平台SQL注入漏洞占主要比重
10月的SQL注入漏洞与以往的SQL注入漏洞存在很大的不同点。以往SQL注入是由于平台缺乏对应的校验机制而导致注入成功。10月的SQL注入案例中很多平台的后台存在WAF,但入侵者绕过WAF进行SQL注入。这源于WAF的某些技术限制,确实存在一些手段可以绕过WAF进行SQL注入。
白帽子“独爱”政府,60个漏洞显现
从10月154个受到数据泄露漏洞威胁的行业来看,政府、互联网、行业机构依旧是重灾区。10月单月仅安华每日安全资讯统计出的154个高危漏洞中就有60个政府行业漏洞(包含了卫生医疗、教育、社保公积金几个子类)占比38%,互联网行业占全部数据泄露威胁的22%。行业机构紧随其后,漏洞比例占11%。
http://cimage.tianjimedia.com/uploadImages/20151111110806227002.png
10月数据安全漏洞行业分布情况
10月政府行业漏洞数量暴涨,本月政府行业有60个漏洞,同比9月份的43个增加了17个,占整体漏洞总数的38%。也是9月份以来三大高危行业(政府、互联网、行业机构)中,唯一漏洞数大幅攀升的行业。政府被集中爆出漏洞与自身网站的WAF策略配置有明显关系。政府漏洞中有24个漏洞是绕过WAF的SQL注入漏洞。60个中还存在两个弱口令漏洞、三个配置错误漏洞,弱口令直接被白帽子用工具爆破出密码。相信通过合理的制度和一定的辅助工具弱口令和配置错误应该能够被杜绝。在企业机构、教育、运营商和互联网中,也存在上述问题。虽然本月平台系统漏洞有明显减少,但依旧活跃在各个行业。错误配置、弱口令等人为因素依旧没有杜绝。
10月常见数据泄露原因分析
SQL注入是一种常见的黑客入侵WEB应用服务器的手法。SQL注入产生的根本原理在于SQL语言是一种解释型语言。解释型语言是一种在运行时由一个运行时组件解释语言代码并执行其中包含指令的语言。
SQL注入正是基于解释型语言的执行方式产生的。解释器处理的数据实际上是由程序员编写的代码和用户提交的数据共同组成的。黑客向Web应用发送精心构造的输入,这个输入中的一部分被解释成程序指令,改变原来的程序判断的逻辑。最终黑客可能通过SQL注入获取Web应用的管理员权限和Web应用存在数据库中的大量敏感信息。
http://cimage.tianjimedia.com/uploadImages/20151111110806878003.png
10月份数据泄漏威胁主要原因
WAF虽然在一定程度上可以对SQL注入进行防护,但往往需要在性能和防护效果上做权衡。让WAF处于这种尴尬境地的原因在于SQL注入是从http和SQL两个角度进行入侵的手法,而WAF主要针对HTTP 协议进行解析。如果绕过的手法是出现在SQL语法中,WAF无法知道WEB应用中生成用于访问数据库完整的SQL语句,无法针对访问数据库的SQL语句进行分析、识别,于是只能考虑采用关键字过滤等方式来进行禁止,这种一个一个封堵的方式难以遍历所有SQL注入情况,在防守上存在遗漏,如果大量使用正则匹配又会降低性能。产生这些问题的根源都在于WAF无法对访问数据库的完整SQL语句做分析、识别。
由于WAF采用的是正则匹配的方式,于是出现了以下3中常见绕过WAF的手段:
(1).编码绕过
在大小写绕过的基础上开始出现编码绕过,主要出现了三种:URL编码、十六进制编码、Unicode编码。在浏览器中输入URL会进行一次URL编码,黑客会通过多次编码来进行WAF绕过,例如:Id.php?id=1%2520union/**/select ,数据库得到的Id.php?id=1 union/**/select。如果只解码一次得到的是Id.php?id=1%20union/**/select,很有可能绕过WAF入侵数据库。针对这一问题可以采用多次循环解码来应对。其中Unicode编码种类很多,如果只是基于黑名单过滤,无法处理全部情况,其中UTF-32曾经实现过对GOOGLE的绕过。
(2).注释绕过
不但可以采用编码改写关键字,还可以采用注释改写关键字,避免正则匹配。例如z.com/index.php?page_id=-15 %55nION/**/%53ElecT 1,2,3,4 'union%a0select pass from users# 。就是用符号编码代替一部分字母和判定的空格来逃避正则匹配。(selectxxx不会被拦截,因为可能是函数名等。select 空格xxx则一定会被拦截,去掉空格成为绕过的关键)。同样还有针对MYSQL版本的/*!5000union*/系列。
(3).等价替换
等价替换是个比较大的分类,主要可以分为等价函数、等价符号、特殊符号、比较符号等4类。
等价函数,就是同功能函数替换。WAF禁止了一些函数,但对另外一些函数没有禁止例如 Substring()可以用mid(),substr()这些函数来替换。还将可以采用生僻函数迂回完成原函数的功能,进行WAF关键字绕过。and or 这种关键字在PHP中可以用|| 和&&代替。于是语句id=1 or 1=1就可以写成id=1 || 1=来进行绕过。同样!= 、>、
页:
[1]