历史上的今天
返回首页

历史上的今天

今天是:2025年02月15日(星期六)

2019年02月15日 | 数据库防火墙技术应用

2019-02-15

一、概述

 

数据库防火墙仿佛是近几年来出现的一款新的安全设备,但事实上历史已经很长。2010年,Oracle公司在收购了Secerno公司,在2011年2月份正式发布了其数据库防火墙产品(database firewall),已经在市场上出现很多年头了。由于数据库防火墙这个词通俗易懂,和防火墙、Web防火墙、下一代防火墙等主流安全产品一脉相承,很多公司也就把自己的数据(库)安全产品命名为数据库防火墙。每家公司对于数据库防火墙的定义各不相同,侧重点也不一样。也就是说,虽然大家都在说数据库防火墙,很有可能是两个完全不同的数据(库)安全设备。

 

image.png?imageView2/2/w/550

 

二、什么是数据库防火墙

 

数据库防火墙顾名思义是一款数据(库)安全设备,从防火墙这个词可以看出,其主要作用是做来自于外部的危险隔离。换句话说,数据库防火墙应该在入侵在到达数据库之前将其阻断,至少需要在入侵过程中将其阻断。

 

1. 如何定义外部?

 

至于如何定义外部威胁,则需要对于数据库边界进行明确的界定,而这个数据库边界的界定则具有多变性。第一种定义,从极限的角度来看,由于现在网络边界的模糊,可以把所有来自于数据库之外的访问都定义为外部。如果是这个定义来看,防火墙承载的任务非常繁重,可能不是一个安全设备所能够承担的。第二种定义是数据中心和运维网络可以被定义为内部访问,其他访问定义为外部访问,让防火墙不需要去承载内部运维安全和员工安全,从而更好的工作。

 

综合看来,我们采用第二种定义,数据库防火墙主要承载数据中心和运维网络之外的数据(库)安全工作。

 

2. 如何定义数据库防火墙?

 

一旦准确的定义了什么是外部之后,什么是数据库防火墙就比较清楚了。运维网络之外的访问我们都可以定义为业务访问。

 

数据库防火墙是一款抵御并消除由于应用程序业务逻辑漏洞或者缺陷所导致的数据(库)安全问题的安全设备或者产品。数据库防火墙一般情况下部署在应用程序服务器和数据库服务器之间,采用数据库协议解析的方式完成。但这并不是唯一的实现方式,你可以部署在数据库外部,可以不采用协议解析。从这个定义可以看出,数据库防火墙其本质目标是给业务应用程序打补丁,避免由于应用程序业务逻辑漏洞或者缺陷影响数据(库)安全。

 

常见的应用程序业务逻辑漏洞和缺陷:

 

SQL注入攻击

 

cc攻击

 

非预期的大量数据返回

 

敏感数据未脱敏

 

频繁的同类操作

 

超级敏感操作控制

 

身份盗用和撞库攻击

 

验证绕行和会话劫持

 

业务逻辑混乱

 

3. 数据库防火墙的常见应用场景

 

(1) SQL注入攻击

 

SQL注入攻击是数据库防火墙的核心应用场景,甚至可以说数据库防火墙就是为了防御SQL注入攻击而存在的。SQL注入攻击是很古老的攻击手段,特别是互联网普及之后,一直是主流的安全攻击手段。需要特别注意的是,SQL注入攻击的发生不是由于数据库的漏洞导致,而是因为应用程序漏洞和缺陷导致,但是受到伤害和影响的则是数据库。我们的业务应用程序是水平参差不齐的公司和工程师撰写,其代码质量会远远比不上Oracle,微软等大牌公司的产品,SQL注入以及其他可能的漏洞和缺陷存在是必然的事件。甚至可以认为,只要复杂度超越一定程度的任何业务应用程序都会存在SQL注入漏洞。

 

SQL注入攻击之所以难以防御,其主要原因是其攻击是通过业务应用程序发起的,传统上部署的所有安全措施对于SQL注入攻击基本无效,使其可以简单到达企业最为核心的数据库内部。

 

(2) cc攻击

 

即使一个没有任何缺陷的应用程序也可以简单的发起cc攻击。每个应用程序都会存在资源消耗特别高的某些操作,入侵者只要同时调度这些高资源消耗的操作,就会导致数据库服务器失去响应。

 

(3) 非预期的大量数据返回

 

由于应用程序缺陷,在某些操作中返回了计划之外的大量数据。大量数据返回很容易引起安全性问题。

 

(4) 敏感数据未脱敏

 

由于历史原因,现有应用程序很少对于敏感数据进行脱敏显示。为了遵循新的安全法规和规则,为了更好的保护客户和公司,在很多情况下我们需要对于应用程序返回数据进行脱敏。

 

(5) 频繁的同类操作

 

通过应用程序不断的频繁获取敏感信息资料是敏感信息泄露的主要通道之一,数据库防火墙可以通过延迟,通知等响应方式来降低此类数据泄露风险。

 

(6) 超级敏感操作控制

 

很多应用程序往往存在着权限控制漏洞,无法控制某些敏感操作。比如统方,比如绝密资料的获取等等。

 

(7) 身份盗用和撞库攻击

 

撞库攻击是互联网最大的安全风险之一,绝大部分撞库攻击都是为了身份盗用。

 

(8) 验证绕行和会话劫持

 

由于应用程序缺陷导致起验证安全机制没有生效,比如验证码等,或者会话被劫持导致业务应用程序被非法控制。

 

(9) 业务逻辑混乱

 

由于应用程序漏洞导致业务逻辑混乱,比如在审批中不检查前置流程的存在性和合规性,直接触发下一个流程。

 

4. 数据库漏洞检测防御和数据库防火墙

 

大家可以观察到,很多数据库防火墙都具有数据库漏洞检测和虚拟布丁等功能,甚至于把数据库漏洞检测防御变成了数据库防火墙的核心功能。这个是对于数据库防火墙理解的典型误区,数据库防火墙的核心是检测和防御业务应用程序漏洞而不是数据库漏洞。

 

当然数据库防火墙部署数据库漏洞检测也有其逻辑基础:当入侵者通过业务应用程序漏洞入侵数据库,特别是SQL注入攻击的时候,入侵者为了获取更大的入侵收益,往往会利用数据库漏洞进行进一步攻击。从紧密流程环节来看,在很多场合下,数据库漏洞攻击可以被看作SQL注入攻击的一个环节,一个成果扩大环节。

 

三、数据库防火墙和Web防火墙

 

1. Web防火墙

 

很多人可能会问,Web防火墙也能够防御SQL注入攻击,我为什么还要部署数据库防火墙?首先我们来看看WAF能做些什么:

 

SQL注入攻击

 

XSS攻击

 

CSRF攻击

 

SSRF攻击

 

Webshell后门

 

弱口令

 

反序列化攻击

 

命令/代码执行

 

命令/代码注入

 

本地/远程文件包含攻击

 

文件上传攻击

 

敏感信息泄露

 

XML实体注入

 

XPATH注入

 

LDAP注入

 

其他

 

从这个列表看,显然Web防火墙和数据库防火墙所承载的目标区别比较大,SQL注入攻击攻只是两种不同防火墙的为数不多的交叉点。

 

2. 数据库防火墙是SQL注入防御的终极解决方案

 

数据库防火墙和Web防火墙部署位置的不同,决定了两种不同产品对于SQL注入攻击的防御策略和效果会大不相同。

 

部署位置:Web防火墙作用在浏览器和应用程序之间,数据库防火墙作用在应用服务器和数据库服务器之间。

 

作用协议:Web防火墙作用在Http协议上,数据库防火墙一般作用在数据库协议上,比如Oracle SQL*Net,MSSQL TDS等。

 

Web防火墙作用在浏览器和应用程序之间,使他只能够看得见用户提交的相关信息,而用户提交信息往往只是数据库SQL语句的一个碎片,缺乏对于数据库SQL的全局认知,更加不用说SQL语句的上下文关系了。Web防火墙只能做一些基于常规异常特征以及出现过的特征进行识别和过滤,使Web防火墙的SQL注入攻击防御效果依赖于攻击者的水平和创意,只要攻击者具有一定的创意,Web防火墙很难防御SQL注入攻击。

 

数据库防火墙作用在应用服务器和数据库服务器之间,看到的是经过了复杂的业务逻辑处理之后最后生成的完整SQL语句,也就是说是攻击者的最终表现形态,已经撕去了大量的伪装。由于看到的是缺乏变化的最终形态,使数据库防火墙可以比较Web防火墙采用更加积极的防御策略,比如守白知黑策略进行异常SQL行为检测,100%防御SQL注入攻击。即使简单采用和Web防火墙类似的黑名单策略,由于看到的信息使完整的最终信息,使其防御难度比较Web防火墙大幅度下降,防御效果自然会更好。

 

3. 更多的访问通道

 

通过http服务应用访问数据库只是数据库访问中的一种通道和业务,还有大量的业务访问和http无关,这些http无关的业务自然就无法部署web防火墙,只能依赖于数据库防火墙来完成。

 

四、总结

 

1. 数据库防火墙主要用来防御外部入侵风险,需要和内部安全管控适当分开。

 

2. 数据库防火墙主要聚焦点是通过修复应用程序业务逻辑漏洞和缺陷来降低或者消除数据(库)安全风险。SQL注入攻击是其核心防御风险,而数据库漏洞攻击检测和防御则并不是必须的。

 

3. 由于SQL注入攻击和数据库漏洞攻击的伴生性,数据库防火墙往往具备数据库漏洞检测和防御功能。

 

4. Web防火墙不能替代数据库防火墙,Web防火墙是SQL注入攻击的第一道防线,数据库防火墙则是SQL注入攻击的终极解决方案。

 

 

 

 


推荐阅读

史海拾趣

Dover Corporation公司的发展小趣事

Dover Corporation自上市以来,一直保持着持续盈利和向投资者发放红利的记录。公司凭借其强大的业务能力和稳健的财务状况,赢得了投资者的信任和支持。这一成绩的取得不仅彰显了Dover在业务运营方面的实力,也为其未来的发展奠定了坚实的基础。

请注意,以上故事框架仅为概述性质,具体细节和数据可能需要根据Dover Corporation的实际情况进行调整和补充。

CDI-DIODE公司的发展小趣事

随着市场竞争的加剧,CDI-DIODE公司意识到传统的营销方式已经无法满足市场需求。于是,公司开始尝试新的营销策略,如线上推广、社交媒体营销等。这些创新的营销方式不仅提升了公司的知名度,也增强了与客户的互动和联系,进一步提升了品牌影响力。

安普康(AMPCOM)公司的发展小趣事

对于安普康来说,品质是企业生存和发展的基石。自成立以来,公司始终将产品品质放在首位,从原材料采购到生产流程控制,再到产品测试和包装,每一个环节都严格把关。这种对品质的执着追求使得安普康的产品在市场上赢得了良好的口碑。无论是电信、移动、电力等大型企业,还是智能大厦、家庭用户等终端客户,都对安普康的产品给予了高度评价。

ACEINNA公司的发展小趣事

安普康(AMPCOM)自创立之初,就致力于将品牌推向国际市场。随着公司规模的扩大和产品线的丰富,安普康开始实施全球商标注册战略。从2011年首次申请安普康AMPCOM商标,到随后的几年内在泰国、日本、新加坡、老挝、澳大利亚等多个国家成功注册,安普康的品牌影响力逐渐扩大。这一过程中,公司不仅面临着不同国家法律法规的挑战,还需应对文化差异和市场需求的差异。然而,凭借专业的团队和精准的市场定位,安普康成功地将品牌推向了全球舞台。

CONEXANT公司的发展小趣事

2017年,电子行业迎来了一场引人瞩目的收购案。新思科技(Synaptics),一家在人机界面交互开发解决方案领域具有领导地位的公司,宣布以3.95亿美元现金和726,666只普通股收购科胜讯系统公司(Conexant Systems)。这一收购行动不仅增强了Synaptics在智能家居领域的语音和音频处理解决方案的能力,也标志着Conexant正式成为Synaptics大家庭的一员。通过此次收购,两家公司实现了技术资源和市场优势的互补,共同开启了新的发展篇章。

Datakey Electronics公司的发展小趣事

Datakey Electronics公司自创立之初,就深知技术创新的重要性。在面临激烈市场竞争的情况下,公司投入大量资源进行研发,成功推出了一款具有革命性意义的数据存储产品。这款产品以其高可靠性、大容量和易用性迅速赢得了市场的认可,使Datakey Electronics在数据存储领域崭露头角。

问答坊 | AI 解惑

电子万年历我成功调试过

http://blog.163.com/li_j920/edit/ 还的硬件电路,你们要我会给你们的。…

查看全部问答>

求助IIC总线

在网上看了IIC总线的资料但是还是不懂如何用C语言写个程序出来,看了人家的程序也不懂,请哪些高手帮助我下解释程序的含义,或者进一步讲解下思路。 我看了下资料,不知道这样可以实现IIC总线的启停吗? #include <reg51.h>#include \"intrin ...…

查看全部问答>

EVC的CString是否有问题?

程序莫名奇妙得在其一个成员函数里抛出ASSERT错。同样的运行路径进行第二次,就没问题了。…

查看全部问答>

WCE不支持CStdioFile么?

不知道为什么 编译通过了 但是运行的时候却发生了错误: error:Debug Asesertion Failed Failed! f:\\sp\\vctors\\vc7libsce\\ship\\atlmfc\\src\\mfc\\filecore.cpp line 207   (207看不清楚不知道是297还是207) 相关的MFC函数: ...…

查看全部问答>

求助!ADI平台,USB如何虚拟出一个串口?

现在在做一网卡项目,实现的功能是当网卡插入Windows XP系统时,显示一个USB口和一个串口,其中USB口实现上网,串口用于走AT命令等,现在在Windows端的驱动程序都已有现成的,USB也可以上网了     其中卡侧是TTPcom开发环境   &nb ...…

查看全部问答>

想找个师傅带一下【上海,武汉均可】

要毕业了没有工作经验,想找一个师傅教一下。毕业课题是无线点菜机,辅导我做一下。…

查看全部问答>

ARM的IO脚为什么不像51那样可以直接操作

arm是先要打开指定的IO口才可以读写,感觉不如51的方便arm的IO脚为什么不像51那样可以直接操作?这样有什么好处?…

查看全部问答>

GBT 20234-2006电动汽车传导充电用插头、插座、车辆耦合器和车辆插孔通用要求

GBT 20234-2006电动汽车传导充电用插头、插座、车辆耦合器和车辆插孔通用要求…

查看全部问答>

ADSP21161N的时钟问题

请问用多片ADSP21161N时不可以用外部晶振作为CLKIN的输入吗?看ADSP21161N的数据手册24页这么说的,不知道是不是理解错了。想用FPGA来驱动4片ADSP21161N时钟信号,现在不知道该怎么办了。。。请高人指点,谢谢。…

查看全部问答>