九大角度分析数据库安全漏洞

数据库漏洞的存在有多种方式,由于每一个现实的场景由多维组合而成,因此数据库漏洞对应也可以从不同角度归类划分。这种分类将更有利于我们掌握对每种漏洞的防护技术。安华金和数据库安全实验室主要从以下九个角度对数据库漏洞进行分类介绍:

1.从漏洞作用范围划分

远程漏洞:攻击者可以利用并直接通过网络发起对数据库攻击的漏洞。这类漏洞危害极大,攻击者能随心所欲的通过此漏洞危害网络上可辨识的数据库。此类漏洞为黑客利用漏洞的主力。

本地攻击:攻击者必须在本机拥有访问权限的前提下才能发起攻击的漏洞。比较典型有本地权限提升漏洞,这类漏洞在数据库中广泛存在,能让普通用户获得最高管理员权限。

2. 从漏洞危害等级划分

漏洞危害等级主要按照CVE的评分来划分,分为三个档次:0-3(LOW);4-6(MEDIUM)、7-10(HIGH)。 洞的危害等级划分是根据一个漏洞对数据库造成什么影响来划分的。对数据库的响的机密性、安全性、可用性影响越大威胁等级越高,反之危险等级越低。举例说明:

CVE-2006-1705危险等级是低。它对数据库系统文件无任何影响,可能会导致数据库某些配置文件被修改,对数据库运行无任何影响。

CVE-2006-1871危险等级是中。它只是很可能造成某些信息泄露,有可能导致数据库某些配置文件被修改,可能导致数据库性能下降或小几率出现断链接。

CVE-2006-3702危险等级是高。它可以导致所有数据库系统文件泄露,数据库完全被破坏,可能导致数据库彻底宕机。

3. 从受影响系统划分

现有的操作系统多种多样,并且每种系统对应多个版本。操作系统主要分为以下五类:dos 系统、windows 系统、unix 系统、linux 系统和其他操作系统。由于漏洞注入点地址和操作系统具体版本有着直接的关系,所以需要按照操作系统的具体版本来划分。以oracle为例,由于不同的操作系统对缓冲区溢出的防守机制不同,导致这类漏洞基本不存在跨平台的可能。

4.从漏洞的危害范围划分

漏洞危害是指漏洞被利用后造成的各种危害。本文的危害是指对数据库的直接危害或利用数据库对其他系统造成的危害。这些危害可以分为三类:

危害数据库自身,这类漏洞主要是对数据库自身进行攻击。这类漏洞在本文中的5、从黑客入侵数据库的技术划分一节中有详细讲解。

危害数据库所在服务器,这类漏洞通过数据库对服务器进行攻击。其中手段可分为:通过pl/SQL运行OS命令、通过JAVA运行OS命令、直接通过任务调度程序运行OS命令、使用ALTER SYSTEM运行OS命令,在oracle的某些版本中可以利用oracle编译本地pl/SQL应用程序的方式来运行OS命令。

危害数据库所在系统的文件系统,这类漏洞通过数据库对服务器上的文件系统做攻击。其中手段可分为:使用 UTL_FILE包访问文件系统、用JAVA访问文件系统、利用操作系统环境变量访问文件系统。

危害数据库所在网络上的其他平台,这类漏洞通过数据库对网络上的其他数据库和服务进行入侵。

5.从黑客入侵数据库技术划分

5.1 SQL注入

SQL本文说所的SQLSQL注入不是web端的,而是针对数据库自身的SQLSQL注入漏洞。两者差异很大。 pl/SQL注入的思想非常简单,

在正常的sql语句中通过嵌入、注释、转义符等手段加入针对数据库漏洞或数据库设置缺陷的畸形字符串或其他畸形输入。通过单次或多次这种畸形输入逐步获取数据库中更高权限,最终获取数据库中敏感信息或直接夺取数据库DBA权限。进而可能对数据库所在的网络环境和本地服务器造成危害。

手段具体分为:

代码注入

代码注入攻击多在支持多条SQL语句执行的数据中存在。它是通过黑客在正常语句中加入恶意EXECUTE命令完成攻击的。

函数调用注入

函数调用注入是代码注入的变体,但确是整个SQL注入的核心。它利用数据库存在漏洞将恶意语句注入其中。具体手法分为:

注入select /delete/insert/update语句

注入函数

注入匿名pl/SQL块

游标注入

利用触发器

lateral提权技术

其中每种技术中还有细分,例如lateral提权技术中最著名的是CREATE ANT TRIGGER 权限提DBA、CREATE ANT VIEW 权限提DBA、EXECUTE ANY PROCEDURE权限提DBA、CREATE PROCEDUER 权限提DBA。

缓冲区溢出注入这个缓冲区溢出和下文的缓冲区溢出不是一种。这种缓冲区溢出是数据库系统函数中某些参数被传入了超过参数长度限制的值,而引发的缓冲区溢出。

针对SQL操作的注入最常见的是利用where子句修改SQL语句返回不同的结果集,来达到获取数据库敏感信息的目的。

5.2 缓冲区溢出

缓冲区溢出:这里所说的缓冲区溢出是指源缓冲区的数据向小于自身位数的缓冲区复制数据时,超越目标缓冲区的位数边界,并且数据库未对存入数据进行边界判断,最终导致目标缓冲区爆满。目标缓冲区内存改变程序控制流、夺取操作系统、禁止访问等多种结果。缓冲区溢出主要可以分成四种:静态数据溢出、栈溢出、堆溢出和格式化串。

手段具体分为:

栈溢出

缓冲区溢出的一种主要是通过利用截取函数返回值来进行栈溢出。方式主要分为两种,一种是通过缓冲区溢出改变函数逻辑流程;另一种方式是通过缓冲区溢出改变函数返回地址。其中比较常见的为第二种。

堆溢出

缓冲区溢出的一种,利用原理类似栈溢出,但由于堆中地址是动态分配的,无法准确定位,所以黑客要利用堆溢出需要通过DWORD SHOOT技术来对堆进行扫描,获取堆溢出中可利用的地址。

静态数据区溢出

静态数据区域存放连续的全局变量和未初始化的静态变量,缓冲区在这发生溢出称为静态数据区溢出。

格式化串

格式化串漏洞最显著的例子,就是在*printf()系列函数中按照一定的格式对数据进行输出。黑客主要是利用printf()系列函数有三条特殊的性质,首先,第一个可以被利用的性质是:*printf()系列函数的参数的个数是不固定的。其次,利用*printf()的一个特殊的格式符%n,黑客就向内存中写入exploit。再次,利用附加格式符控制跳转地址的值。

5.3 其他

弱口令:通常指容易被别人猜测到或被破解工具破解的口令均为弱口令,其中很大一部分是数据库默认口令,其中有一部分是因为缺省密码产生的。

撞库:通过已收集到的在其他服务中注册的用户名和密码,对目标数据库进行访问尝试。由于很多人习惯用相同密码和账号,因此成功登陆到目标数据库的可能性大大提高,达成盗取大量敏感信息的目的。

暴力破解:通过数据字典(密码库)对数据库的用户名进行碰撞,最终碰出可以用于访问数据库的用户和密码组合。

6.从数据库漏洞成因划分

  1. 输入验证错误

这种错误主要来源于字符串、包等输入值缺乏正确合理的验证,从而导致畸形的输入值进入数据库系统函数中,对数据库造成不可预计的后果。

  1. 边界条件错误

由于数据库属于大型复杂的软件,软件内部函数调用过于复杂,有时会出现对某个传入值的边界,不同地方限制不同,可能对数据库造成不良影响。

  1. 缓冲区溢出错误

由于数据库中某些函数中的参数值缺乏边界限制和检查,从而暴露出的数据库漏洞。

  1. 访问验证错误

访问验证错误主要在数据库的网络监听上,黑客通过发送欺诈数据包,来骗取数据库重要信息。

  1. 意外条件错误

由于数据库中逻辑比较复杂,某些很少被触发的逻辑分支由于软件周期等原因,未被及时发现而导致的数据库漏洞。

  1. 其他错误

(others)

除了以上五类原因错误导致的数据库漏洞,大部分其他错误是由于用户在使用数据库时,未能按照数据库官方要求进行操作和配置,或者是数据库本身的设计缺陷所引发的漏洞。

7.从漏洞利用的结果划分

越权访问:访问原本不可访问的数据,包括读和写。这一条通常是攻击者的核心目的,而且可造成非常严重的灾难(如银行数据被人可写)。

提权:通过越权等方式,对一个低权限用户提升权限,一步一步直到提升为DBA权限。利用提权后的账号窃取数据库中核心数据。

拒绝服务攻击者强制目标数据库停止提供服务,是黑客常用的攻击手段之一。其中数据库端口进行的消耗性攻击只是拒绝服务攻击的一小部分,凡是使数据库服务被暂停甚至所处主机死机,都属于拒绝服务攻击。

夺取操作系统当黑客通过网络对数据库进行攻击,利用缓冲区漏洞的攻击会通过劫持被入侵函数中的栈中的函数返回值,来夺取函数控制,跳转到黑客编写的shellcode。当shellcode打开CMD(windows)即可通过数据库账号来操控操作系统,从而夺取整个操作系统的过程。

认证绕过:通常利用认证系统的漏洞不用受权就能进入系统。通常认证绕过都是为权限提升或直接的数据访问服务的。

8.从数据库存漏洞的位置划分

由于不同数据库类似功能的名称不同本文依oracle为例说明:按照漏洞位置可以分为TNS(监听)漏洞 、Aurora GIOP server漏洞、XDB组件漏洞、DBMS_CDC_IMPDP漏洞、LT组件漏洞、DBMS_CDC_SUBSCRIBE漏洞、DBMS_CDC_ISUBSCRIBE漏洞、MDSYS.SDO_GEOM_TRIG_INSI漏洞、SYS.CDC_DROP_CTABLE_BEFORE漏洞、DBMS_SCHRDULER漏洞、UTL_FILE漏洞、Data Redaction漏洞、审计漏洞等。

9.从漏洞产生的时序上划分

已发现很久的漏洞

数据库厂商已经发布补丁或修补方法,很多人已经知晓。这类漏洞通常很多人已经进行了修改,宏观上看,危害较小。

刚发现的漏洞

数据库厂商刚发布补丁或修补方法,知道的人还不多。相对于上一种漏洞其危害性较大,如果此时出现了蠕虫或傻瓜化的利用程序,那么会导致大批数据库受到攻击。这也是一般黑客最多利用的漏洞。

0day漏洞

还没有公开的漏洞,在私下交易中的。这类漏洞通常是最危险的,往往是有组织黑客所采用的。

以上9种不同角度的数据库漏洞划分,结合CVE对数据库这一类软件产生的漏洞进行简要说明,后续安华金和数据库安全实验室将会对每种类型的漏洞进行深入分析。

时间: 2024-10-16 07:41:09

九大角度分析数据库安全漏洞的相关文章

避免踩坑:易盾安全老司机起底Android九大漏洞,附解决建议

Android应用会遇到各种各样的漏洞,如何从细节上了解各种安全隐患,积极采取适当的防御措施便变得尤为重要.为了让大家对Android漏洞有一个非常全面的认识,网易云易盾资深安全工程师徐从祥为大家详细解读常见九大的Android漏洞,供各位学习参考.(如果下面干货内容没有让各位尽兴,欢迎来官网申请相关产品试用,面对面交流,保证解决你的安全难题. ? 第一大类:AndroidManifest配置相关的风险或漏洞 程序可被任意调试 风险详情:安卓应用apk配置文件Android Manifest.x

大数据行业的九大痛点(个人角度)

前言尽管在Hadoop与NoSQL部署方面做足了准备,同样的问题仍然一次又一次反复出现.现在业界是时候尽快搞定这些麻烦事了.有时候一艘巨轮的侧方出现了破洞,但业界却决定坐等船体下沉.并把希望寄托在销售救生艇身上. 也有些时候,这些问题似乎并没到要闹出人命的地步--类似我家里浴室的状况,只有往一边拧龙头才会出水.过一阵子我可能会找机会修理一下,但事实上这个问题已经存在了12年之久了. 而在面对大数据业务时,我可以列出九个长久以来一直令人头痛的问题,时至今日它们依然存在着并困扰着无数用户. 分享之前

沟通是项目管理知识体系中的九大知识领域之一

项目管理要素有:范围.时间.成本.质量.人力.风险.采购.沟通.在项目管理中,沟通是一个软指标,其所起的作用不好量化,沟通对项目的影响往往也是隐形的.项目沟通管理是现代项目管理知识体系中的九大知识领域之一,项目沟通管理在成功所必须的因素-人.想法和信息之间提供了一个关键性连接. 沟通对项目的成功,尤其是IT项目的成功非常重要.本文就围绕沟通的重要意义.项目干系人.沟通对效率的影响.沟通的关键要素这几方面展开一些探讨,最后结合高职外语教学.综合测评平台项目,对沟通在小组软件开发过程中的应用进行案例

十大角度看众筹如何演绎互联网+跨境农业?

从丁磊养猪开始,中国互联网+农业模式渐渐风靡,"一带一路"步步落地,跨境电商.全球经济共享等也越发流行.而以庄游为代表的平台则借助众筹模式玩起了互联网+跨境农业,并在中产阶级用户层引起了广泛的关注.怀着好奇心,刘旷采访了庄游创始人于奇楠先生. 从网瘾少年到梦想改变世界的父亲 互联网金融在国内的流行,让越来越多的人开始借助众筹模式创业,项目也是五花八门.对于庄游这样一个借助众筹模式玩互联网+跨境农业的创业项目,包括刘旷本人在内的很多人一开始都充满了好奇:为什么创始人会选择这样一个项目?于

软件测试工程师成长之路:掌握软件测试九大技术主题

软件测试工程师成长之路:掌握软件测试九大技术主题 王顺 等 编著   ISBN 978-7-121-23996-0 2014年9月出版 定价:85.00元 432页 16开 内容提要 <软件测试工程师成长之路:掌握软件测试九大技术主题>以实际项目为原型.以关键理论与丰富实践为指导,贯彻了先进的项目管理理念与全程质量管理思想. <软件测试工程师成长之路:掌握软件测试九大技术主题>前9 章为软件测试九大技术主题分享,是众多资深软件工程师在软件测试领域的经验总结.知识升华与提高,展现众多

地理知识归纳:影响降水的九大因素

降水指大气中水汽凝结降落的过程,包括降雨.下雪.冰雹等形式,降水的多少要受很多因素的影响,但主要条件是三个:充足的水汽供应,气流上升达到过饱和状态,足够的凝结核.通常情况下,我们不需要考虑凝结核的问题,只是考虑有没有充足的水汽和促使气流上升的机制就可以,归纳起来,形成降水的因素有以下九大因素.     一.   海陆位置     一般来水,距海越近的地区,受海洋的影响较大,距海越远,海洋水汽难以到达,降水较少:所以降水分布的普遍规律是沿海多,内陆少.比如我国的降水分布规律是从东南沿海向西北内陆递

麦子学院干货 | iOS开发者需要的九大设计工具

麦子学院[www.maiziedu.com]干货 | iOS开发者需要的九大设计工具 1.AppCooker AppCooker是一款方便的iPad应用.它能够提供可点击的原型模板,集合了所有需要编码或渲染的重要部件,并且还可以帮助开发者无需任何代码编写就能够构思.设计和测试iOS应用.目前AppCooker在App Store上的售价为19.99美元. 主要功能: 全功能模型编辑器拥有所有iOS UI部件 位图图画.矢量形状和文本工具 带有链接的整体屏幕视图 收存箱和Box支持云服务 2.Sk

PMBOK 项目管理 九大知识领域和五大流程

PMI Project Management Institute.PMI 是世界上最大的非盈利机构,是项目管理领域的领导者.PMI制定项目管理行业标准,带领项目管理的研究并提供项目管理的培训,证书,还有一些加强提搞项目管理专业技能的机会. PMBOK Project Management Body of Knowledge.PMBOK描述了项目管理专业技能总体知识,包括证实了被广泛应用的传统的,革新的,高级的实践的不足之处.另外,它也包括了被普遍接受的最佳实践.PMBOK被广泛用于各种行业. P

《微服务》九大特性重读笔记

http://blog.didispace.com/20160917-microservices-note/ 今天重读了Martin Fowler的<Microservices>,在此记录一下对九大特性的理解. 服务组件化 组件,是一个可以独立更换和升级的单元.就像PC中的CPU.内存.显卡.硬盘一样,独立且可以更换升级而不影响其他单元. 在"微服务"架构中,需要我们对服务进行组件化分解.服务,是一种进程外的组件,它通过http等通信协议进行协作,而不是传统组件以嵌入的方式