虚拟补丁:一种有效的数据库安全防护方式
Verizon曾经就“核心数据是如何丢失的”做过一次全面的市场调查,结果发现,75%的数据丢失情况是由于数据库漏洞造成。CVE数据安全漏洞统计显示,Oracle、SQL Server、MySQL等主流数据库的漏洞逐年上升。Skybox Security最新发布的2020年漏洞和威胁趋势报告则指出,2020年漏洞数量有可能突破新的记录——超过20000个。
软件系统因技术性缺陷,总是不可避免的存在各种漏洞,而根据Gartner的数据, 其中99%的漏洞均为已知的漏洞,系统持续“裸奔”,这无疑给攻击者大开方便之门。尤其是数据库,这一信息系统的核心,一旦漏洞被利用,将造成巨大隐患。
通过获取软件开发商所提供的补丁程序,完成系统升级,这是普遍的漏洞修复方式,这种补丁修复流程会历经多个阶段,如下图所示:
但是,这种直接打补丁的方案却存在风险、成本、时效、老旧系统等诸多问题:
补丁修复操作繁琐,修复过程存在兼容性隐患;
漏洞问题层出不穷,频繁打补丁工作成本加大;
零日漏洞加速出现,厂商提供补丁更新包却滞后;
老旧系统无补丁更新,即便有用户也不敢去升级。
在漏洞爆发式增长的今天,“打补丁”已经越来越不能应对新的安全态势,漏洞之困,何以解忧?这需要一种既可以快速解决系统漏洞风险,又具有可操作性的漏洞修补方案。虚拟补丁作为一种轻量级且无损现有生产环境,同时又是非常行之有效的漏洞修补方案应运而生。
☆虚拟补丁
虚拟补丁概念最早由安全厂商McAfee提出。虚拟补丁方案假设:
漏洞不可能避免,永远都有漏洞。
漏洞修复总是需要一定的时间作为代价。
新形势下,对于漏洞的“修复”有着更高的要求。避免触碰业务系统,尽可能短的时间内进行修复。
如果一个系统有很多漏洞,只要不去引爆,那么这些漏洞的存在也将没有意义。也就达到了“漏洞修复”的目的。
对此,虚拟补丁承认系统漏洞存在,在受保护的资源外部建立一个策略实施点,以便在漏洞到达目标之前识别和拦截利用这些漏洞的行为。这样就不需要直接修改被保护的资源,从而让漏洞在非法攻击中隐形。如下图所示:
目前市面上,虚拟补丁方案在形式上基本一致,但实现逻辑却有所差异,各厂商都有各自的方案特点,如:
完全基于对网络流量的分析并提供系统使用签名、正则表达式和模式匹配来识别恶意活动并阻止相应的请求;
基于相同的原理,但提供一种使用规则语言和状态管理等更为健壮的方式来阻止指定请求。
在数据库安全领域历经十余年的研究和实践,美创科技提出更轻量级、更加健壮的数据库虚拟补丁方案,可以快速响应漏洞、智能修复,在此,我们深入了解该方案如何实现有效保护。
☆虚拟补丁架构
美创科技虚拟补丁架构主要由虚拟补丁策略、策略决策点(PDP)和策略执行点(PEP)构成。实现的逻辑架构如下图所示:
策略执行点(PEP)
数据平面拦截数据流,通过数据流的协议解析获取请求/响应的应用层内容。把内容送往PDP(策略决策点)进行策略评估。根据PDP的返回做出响应,阻断或者放行等。
流量可通过旁路模式实现。旁路模式实时阻断较弱,但可实现告警,追溯等能力。流量串接模式则能够进行实时阻断,甚至是内容级别的阻断。
策略决策点(PDP)
根据策略对PEP送过来的请求进行评估,识别请求是否合法。策略可以采取多种形式:
正则匹配:触发漏洞的语句往往具有一定的特征,可以根据这些特征编写正则表达式。
语义解析:通过语义解析判断当前请求是否是攻击行为。
白名单形式:通过建立起正常的行为模式基线识别攻击。偏离固有的行为模式,判定存在风险。
访问上下文:通过检测访问上下文的各种属性,判断当前请求是否合法。
策略决策点的关键在于持续的评估请求合法性。根据灵活的策略库、风险库识别当前请求是否合法,对不合法的请求阻断,将攻击扼杀在路上,从而避免被保护的资源受到攻击,受保护资源本身的漏洞也就不存在威胁。
流程
实施虚拟补丁,关键点在于请求的路径上设置检测点,阻断非法请求。让受保护资源本身的漏洞隐形,不会发作,从而达到“漏洞修复”的目的。
☆虚拟补丁的优点
美创科技数据库虚拟补丁作为一种轻量级的漏洞修复方案,有诸多优点:
快速响应漏洞:无需等待开发厂商的补丁包,只需及时调整策略即可。
快速修复:无需重启系统,无须停机窗口,策略一旦调整完毕实时起效。
非侵入式:通过虚拟补丁方式修复数据库漏洞,无需更改数据库环境,无额外成本,大大减轻测试和部署补丁的工作。
智能修复:可根据虚拟补丁策略的优先级、等级、严重性等进行智能编排,快速选择启停策略,响应方式等,自由灵活。
更具合规性:帮助用户,用最少的成本保持数据库始终符合合规要求。
更多可能性:可以在访问控制的基础上,实现授权操作等功能。根据不同身份执行不同策略。根据身份、行为、资产的属性做出不同的评估。最大程度达成业务和安全的平衡:
① 减少对“紧急”补丁或者解决方案的依赖;
② 在网络中的选定点,而不是在每个系统上应用补丁;
③ 使企业能够灵活地按计划时间表进行修补;
④ 有助于减少关键系统、数据库和应用程序的计划外停机带来的高机会成本;
⑤ 扩展的策略授权执行。
美创科技虚拟补丁解决方案更加适合针对数据库等复杂系统的保护,轻量级的保护手段让“漏洞修复”更加安全、快速、灵活。此虚拟补丁方案已集成到美创数据库防火墙内,作为内嵌功能,以非侵入式帮助用户实现保护数据库安全的目的。
美创数据防火墙虚拟补丁功能基于上述架构通过控制对数据库的输入和输出,检测其会话信息和语句信息对漏洞的尝试利用,阻止或消除漏洞攻击行为。
截止目前,数据库防火墙的漏洞规则库已识别并内置20多类数据库漏洞类型虚拟补丁,实现对1600+多个漏洞防御保护,同时也仍在持续不断地更新。
美创数据库防火墙的虚拟补丁功能完全避免进行代码级的改造,加长数据库系统被保护的时间,避免数据库长时间处在高风险的阴影下。
☆案例
SQL SERVER 2008提权漏洞
当使用SQL SERVER数据库的业务系统存在SQL注入,或者SQL SERVER数据库存在弱口令的情况下,攻击者获得SQL SERVER数据库管理员权限后,即可以利用SQL SERVER数据库的存储过程执行命令进行提权,从而获得SQL SERVER数据库所在系统的控制权限。
开启之后就可以执行,获得一些信息后,然后进一步破坏。
针对这个漏洞,美创数据防火墙虚拟补丁可以通过多种方式进行拦截:
根据语句特征,编写正则表达式,放入策略库,进行阻断;
根据强制白名单阻断;
根据语义解析,分析行为;
如果一些情况需要执行这些语句,可进行授权操作;
整个过程快速实施,轻量级处理风险。强制白名单机制可防御0-day漏洞。即便需要更新策略库,过程也比传统打补丁修复方式更加快速。
ORACLE TNS Listener远程注册投毒漏洞
ORACLE TNS Listener远程注册投毒漏洞(CVE-2012-1675)是Oracle 2012年发布的告警,CVE-2012-1675漏洞是Oracle允许攻击者在不提供用户名/密码的情况下,向远程“TNS Listener”组件处理的数据投毒的漏洞。如:攻击者可以在不需要用户名密码的情况下利用网络中传送的数据消息(包括加密或者非加密的数据),如果结合(CVE-2012-3137漏洞进行密码破解)从而进一步影响甚至控制局域网内的任何一台数据库。
攻击者利用该漏洞时,首先会利用攻击载荷攻击TNS网络组件,使其返回错误信息,错误信息中包含攻击者所需的信息,如下:
可以看到,返回的信息是有其固定的格式的。美创数据防火墙虚拟补丁通过精准匹配数据库漏洞发生时输出的信息,对返回的数据库信息进行混淆处理或者拦截,使攻击者无法得到有效信息,有效抵御入侵攻击行为。