一位一直被视为Oracle眼中钉的安全研究人员详细介绍了该公司的一款旗舰产品的安全功能中的漏洞,这位安全研究人员称,该公司对安全采取了杂乱无章的做法。
在2014年美国黑帽大会上,数据库安全专家兼著名漏洞猎人David Litchfield展示了他最近在数据校订(data redaction)功能中发现的一些漏洞,Oracle公司在最新版本数据库12c中大肆宣传了这个安全功能。
基本上,数据校订功能是用于掩饰敏感信息,当返回的数据库查询包含敏感信息(例如社会安全号码、信用卡号码和其他个人身份信息等),并且这些数据到达特定的校订卷时,这些数据会用X来替换,而在校订卷以外的数据则返回正常数据。
数据校订实际上是一个“好主意”,但遗憾的是,这个功能充满了基本的安全漏洞,攻击者可以很容易地绕过它。
“如果Oracle遵循微软的安全开发生命周期,我将展示的漏洞原本是可以避免的,”Litchfield表示,“我要谈论的漏洞并不是火箭科学,供应商不应该容忍其旗舰产品中包含这些漏洞。”
随后Litchfield现场演示了他发现的漏洞,其中有些漏洞被记录在最近的一篇文章中。第一个漏洞是在DML操作后使用“RETURNING INTO”条款,这允许数据返回一个变量,他表示这是Oracle的失误,这原本可以通过执行渗透测试来发现。
另一个漏洞可能允许攻击者访问“SELECT’S WHERE”中的数据,主要通过迭代推理攻击来暴力破解数字,基本上就是设定一个数字范围直到猜测出正确的数字。Litchfield展示了利用这种方法的攻击者可以在几秒钟内获取信用卡号码,他们只需要从0到9猜测9个数字。
在存储卷自动更新的情况下,Litchfield表示还可以使用相同的值来更新ID卷,其中会返回未掩饰的数据,这意味着根本没有进行更新。
Litchfield表示:“在Oracle工作了一年并且懂SQL的任何人都应该可以发现这些漏洞。”
Oracle没有吸取过往的安全教训
Litchfield表示他展示数据校订漏洞不只是要记录当前的Oracle安全问题,而且也想强调该公司似乎不愿意吸取过去的安全教训。
在2002年1月15日,当时的微软董事长比尔·盖茨向员工发送了现在著名的可信计算备忘录,在前几年受到大量漏洞的影响后,他强调了构建更安全产品的重要性。这份备忘录最终让微软创建了安全开发生命周期,微软产品(例如微软SQL Server)中漏洞的数量和严重程度程均有所下降。
在盖茨发出备忘录的几个月前,Oracle首席执行官Larry Ellison宣称其公司的产品是“坚不可摧的”,这个不明智的举动立即引起了Litchfield等黑客们的关注,并导致Oracle的软件中发现的漏洞数量开始飙升。
Litchfield表示,盖茨的备忘录和Ellison的坚不可摧的说辞之间的差异为微软的严格安全做法奠定了基础,至少在服务器端是这样,以及Oracle糟糕的安全策略。Litchfield记得很多这样的情况,他在Oracle产品中发现漏洞,并将漏洞报告给该公司,然后等了几个月该公司才发布补丁,而其补丁很容易像以前一样被忽略。
尽管10年来,Litchfield和其他研究人员都在Oracle的代码中挑刺,Oracle的Ellison在1月份表示该公司的数据库产品“几十年来没有被任何人攻破”,Litchfield称Ellison应该知道这不是事实,因为在最近历史中最有名的安全事故之一PlayStation网络泄露事故中,Oracle数据库是作为该网络的核心。
这些数据校订漏洞很容易被发现,Litchfield警告说这些只是Oracle安全问题的冰山一角。他补充说他现在知道一个源自数据库设置的未公开的关键漏洞,该漏洞可能允许攻击者获取完全的管理员权限,但当他询问Oracle关于该设置的细节时,该公司甚至无法解释为什么它会存在。
Litchfield表示:“对于为什么会有这个设置他们没有内部文档记录,这真的很可怕。”
Litchfield最后指出可能还有很多他没有发现的方法来绕过数据校订安全功能,并表示担心OracleFusion的72GB版本,这意味着巨大的攻击面,其他Oracle产品也可能有类似的问题。因此,Litchfield表示,对于Oracle自己的首席执行官发表的言论,Oracle的企业客户应该更加谨慎,并作出更好的采购选择。
“我们现在在2014年,他们仍然没有学习2002年的教训,”他说道,“我正在使用数据校订功能以证明他们没有作出任何改进。”