您的位置  > 互联网

DBSEC-1-数据库缓冲区溢出漏洞原理

DBSEC©

- 1 - 数据库缓冲区溢出漏洞原理(堆栈)

安化金河寺城

一、背景

数据库系统中已经发现了很多安全漏洞,其中比较严重和危害性较大的有:缓冲区溢出和SQL注入。

SQL注入主要依赖结构化查询语言,每个数据库略有不同; SQL注入漏洞利用的主要威胁是权限提升; 后台维护人员或黑客攻击可以利用此获取DBA权限。 需要注意的是,这里所说的SQL注入并不是应用系统的SQL注入,而是数据库本身的注入漏洞。 此类漏洞比应用系统的注入漏洞危害更大; 对于SQL注入漏洞的存在,主要是由于数据库中提供的系统或用户函数的参数检查不严以及语句执行缺陷造成的。 SQL注入漏洞不是本文的重点,将在Anjou Kim和数据库安全实验室发表的其他文章中讨论。

对于缓冲区溢出漏洞来说,风险就更高了,因为缓冲区溢出漏洞不仅可以危害数据库,还可以控制操作系统,从而以数据库服务器为跳板,控制整个内网系统。 缓冲区溢出漏洞不仅存在于数据库系统中,也存在于操作系统上运行的相关应用软件中。 但由于数据库必须提供大量的外部访问,传统的防火墙、IPS等无法禁止。 这些攻击隐藏在数据库中。 在通信协议中,其隐蔽性更大,更难以防范。

缓冲区溢出攻击的实施不仅需要注入点(注入点由数据库漏洞提供),还依赖于操作系统的程序调用机制。 如今的操作系统正在逐渐加强对此的防御,但攻击者总能找到突破的方法,而这种突破主要依赖于良好的书写。 缓冲区溢出的本质是操作系统无法区分数据和指令的区别,将数据当作指令执行,导致不可预测的结果。 安化金河数据库安全实验室将在本文中以XP为基础,借助代码对如何利用缓冲区溢出进行原理介绍,以便我们以后更好地讨论其防范原理。