设为主页 | 加入收藏 | 繁體中文

黑客狙击Oracle系统的八大常用套路

  Oracle的销售在向客户兜销其数据库系同一直把它吹捧为牢不行破的,耍嘴皮子容易,兑现起来可就不那么容易了。不论什么盘算机系统,人们总能够 找到打击它的方法,Oracle也不例外。本文将和大家从黑客的角度讨论黑客是用哪些方法把黑手伸向了你原以为他们不克不及触及的数据,希望作为Oracle 的数据库办理员能够明白的分析本身基础架构的哪些地区比较容易遭到打击。同时我们也会讨论掩护系统防备打击的方法。
  1.SQL注入打击
  如今大部分的Oracle数据库都具有为某品种型网络使用办事的后端数据存储区,网页使用使数据库更容易成为我们的打击目标体现在三个方面。其一, 这些使用界面十分庞大,具有多个构成成分,使数据库办理员难以对它们举行彻底查抄。其二,制止步伐员侵入的屏障很低,即便不是C言语的编程专家,也能够对 一些页面举行打击。下面我们会简单地表明为什么这对我们这么紧张。第三个缘故原由是优先级的问题。网页使用一直处于生长的形式,以是他们在不断变革,推陈出 新。如许安全问题就不是一个必需优先考虑的问题。
  SQL注入打击是一种很简单的打击,在页面表单里输入信息,悄悄地加入一些特殊代码,诱使使用步伐在数据库里实行这些代码,并返回一些步伐员没有料到的结果。例如,有一份用户登录表格,要求输入用户名和暗码才能登录,在用户名这一栏,输入以下代码:
  cyw'); select username, password from all_users;--
  要是数据库步伐员没有智慧到能够查抄出雷同的信息并“洗濯”掉我们的输入,该代码将在远程数据库系统实行,然后这些关于全部用户名和暗码的敏感数据就会返回到我们的浏览器。
  你可能会以为这是在骇人听闻,不过另有更绝的。David Litchfield在他的著作《Oracle黑客手册》(Oracle Hacker's Handbook)中把某种特殊的pl/sql注入打击美其名曰:圣杯(holy grail),因为它曾通杀Oracle 8到Oracle10g的全部Oracle数据库版本。很想知道其作用原理吧。你可以使用一个被称为DBMS_EXPORT_EXTENSION的步伐 包,使用注入打击获取实行一个异常处置惩罚步伐的代码,该步伐会付与用户或全部相干用户数据库办理员的特权。
  这便是Oracle发布的闻名安全晋级补丁Security Alert 68所针对的漏洞。不过据Litchfield称,这些漏洞是永久无法完全修补完毕的。
  防备此类打击的方法
  总而言之,虽说没有万能的防弹衣,但鉴于这个问题涉及到全部面向网络的使用软件,照旧要努力防备。目前市面上有百般百般可加以使用的SQL注入检测技术。可以参照http://www.securityfocus.com/infocus/1704 系列文章的细致介绍。
  还可以用差别的入侵检测工具在差别的水平上检测SQL注入打击。拜访专门从事Oracle安全性研讨的Pete Finnigan的安全网站http://www.petefinnigan.com/orasec.htm,在该网页搜刮“sql injection”,可以得到更多相干信息。Pete Finnigan曾在其博客上报告称Steven Feurstein目前正在编写一个称为SQL Guard 的pl/sql步伐包,专门用来防备SQL注入打击,详情请检察以下网页http://www.petefinnigan.com/weblog/archives/00001115.htm
  对付软件开辟职员来说,许多软件包都能够帮助你“洗濯”输入信息。要是你挪用对从页面表单担当的每个值都挪用洗濯例行步伐举行处置惩罚,如许可以越发精密的掩护你的系统。不过,最好使用SQL注入工具对软件举行测试和验证,以确保万无一失。
  1. 默许暗码
  Oracle数据库是一个庞大的系统,提供了能够创建一切的形式。绝大部分的系统自带用户登录都装备了预设的默许暗码。想知道数据库办理员事变是不是够勤劳?这里有一个方法可以找到答案。看看下面这些最常用的预设用户名和暗码是不是能够登录到数据库吧:
  Username Password
  applsys apps
  ctxsys change_on_install
  dbsnmp  dbsnmp
  outln  outln
  owa  owa
  perfstat  perfstat
  scott  tiger
  system  change_on_install
  system  manager
  sys  change_on_install
  sys  manager
  就算数据库办理员曾经很勤劳的把这些默许配对都改了,有时候想猜出登录暗码也不是一件困难的事变,逐一尝尝“oracle”、“oracle4”、“oracle8i”、“oracle11g”,看看碰巧是不是有一个能登录上去的。
  Pete Finnigan提供了一份关于缺省用户和对应暗码的名单,该名单十分全面并且是最新的,并包括曾经加密的暗码。要是你用all_users来举行查询,可以尝试并比较一下这份名单,细致名单请参阅:http://www.petefinnigan.com/default/default_password_list.htm
  防备此类打击的方法
  作为数据库办理员,应该定期考核全部的数据库暗码,要是某些商业方面的阻力使你不克不及轻易更改容易被人猜出的暗码,你可以尽量平心静气地和相干职员表明,用一些直观的例子来分析要是不修正暗码的话会有什么不好的事变发生,会有什么样的风险存在。
  Oracle也提供了暗码安全profile,你可以激该死profile,在某种水平上增强数据库暗码的庞大性,还可以实行定期暗码失效。要注意要把这个功能设置为只对通过网络办事器或中心层使用办事器登录的变乱起作用。
  2. 蛮力打击(Brute Force)
  蛮力打击,就像其名字所暗示的,便是不绝的撬,直到“锁”翻开为止的方法。对付Oracle数据库来说,便是用某种主动实行的进程,通过尝试全部的字母数字组合来破解用户名和暗码。
  Unix的办理员就可以使用一款名为John the Ripper的暗码破解软件来实行这类的打击。现在要是你下载某个补丁,你也可以使用这款软件来对Oracle举行蛮力打击,敲开其暗码。不过凭据暗码的 庞大水平差别,这可能是个很费时的过程,要是你想加速这个进程,可以事先准备一张包罗全部暗码加密的表,如许的表叫做Rainbow table,你可以为每个用户名准备一张差别的rainbow table,因为这种暗码加密算法把用户名作为助燃剂。在这里就不再深化介绍更多的细节问题了,大家可以查阅http://www.antsight.com/zsl/rainbowcrack/得到更多信息。
  Oracle办事器的默许设置是,对某个特定帐户输错暗码达十次就会主动锁定该帐户。不过通常“sys as sysdba”权限没有这个限定,这可能是因为要是你锁定了办理员,那全部人都将被锁定。如许的设置为我们黑客破解软件(OraBrute)如开辟了一条 活路,它们会昼夜不绝地敲打你数据库的前门,直到它乖乖翻开为止。
  防备此类打击的方法
  想要抵抗此类打击,可以使用之前提及的敷衍预设暗码打击的方法。不过猎奇心过重的数据库办理员也可能下载下面提到的工具侵入本身的系统。这阐明了你真正的风险来自何方。
  4. 从后门偷窃数据
  在安全范畴,这个观点被称为数据向外渗漏(exfiltration),这个词来自军事术语,其反面是向敌人外部渗透 (infiltration),意思便是在不被发现的情况下偷偷潜出。对付从目标数据库获取数据的过程,可能就像从一些磁带备份中挑拣数据和还原数据库或 者像从一个被粉碎的磁盘重复制一份拷贝一样简单。不过,也有可能涉及到窥探网络传输以得到相干的数据包。
  Oracle有一个名为UTL_TCP的步伐包,能够使外部连接指向其他办事器。对它稍微改编一下,就可以使用它从数据库发送一套低带宽数据流到远 程主机。Oracle也附带了一些有效的步伐包来隐藏数据流里的信息,要是你在发动潜入举措的时候担忧入侵检测系统会监测到你的合法运动,那么可以充分利 用这些功能机密嵌入,包括DBMS_OBFUSCATION_TOOLKIT和DBMS_CRYPTO。
  防备此类打击的方法
  防备此类打击的最佳措施是安装入侵检测系统,这些系统能够检测网络中流入和流出的数据包。有一些检测系统还提供深化数据包检测,可以的确查抄某些 SQL,并可以通过设定例则在某种情况下触发报警器。这些工具还能够查找泄密迹象,例如添加的UNION、各品种型的short- circuiting命令、使用“--”注释举行截断等等。
  5. 监听器
  盘算机天下最让人以为了不得的事变便是,不论有何等困难的事,总有措施驯服它。尤其是在安全范畴,一些漏洞如此的简单,而这些漏洞的呈现仅仅是因为用户(也包括我们现在饰演的脚色——黑客)并没有像软件设计者(步伐员或软件开辟员)原来料想的那样思考和举措。
  Oracle监听器的设置是为了能够完成远程办理。那么要是打击者把监听器的logfile设置为Unix .rhosts文件呢?如许打击者就可以轻松的对.rhosts文件举行写操作。Unix上的这个文件设置了什么人可以不用暗码而使用rsh、 rlogin和rcp命令登录。你可以想想将会发生什么事变。
  这其实只是围绕Oracle监听器安全问题的冰山一角而已。其他的另有缓冲区溢出等一大堆问题必要注意。究竟上Litchfield的《Oracle黑客手册》里花了一整章的内容来讨论这个主题。
  防备此类打击的方法
  从预防的角度而言,Oracle曾经做出了肯定措施来更好的保障系统安全,前提是你能够把它实行到位。首先,为监听器设置一个办理暗码。对付担负着 办理不断增长的暗码重担的办理员而言,这看起来像是多余的,不过在你需求其他途径来保障监听器安全之前,好好地想想下面提到的和没提到的威胁。 Oracle也添加了ADMIN_RESTRICTIONS,能够制止特定的远程控制变乱。
  6. 权限提升
  简单的说,“权限提升”包括使用现有的低权限帐户,使用巧取、偷窃或合法的方式获取更高的权限,乃至是数据库办理员的权限。
  下面举个使用CREATE ANY权限的例子。假定我能通过一个拥有CREATE ANY TRIGGER权限的用户CYW拜访数据库,如许我就能在恣意的形式里创建触发器。要是你能追踪到一个任何用户都能实行写入操作的表,你在SYSTEM里 创建了一个能够在低权限的你对该可写表举行拔出或更新操作时实行的触发器。你编写的触发器会挪用一个存储过程(也是你本身编写的),该存储过程会使用 AUTHID CURRENT_USER为挪用者受权。这就意味着,当该触发器运行“你”的存储过程时,拥有SYSTEM的权限。现在你的合法存储过程外部,包罗了 “EXECUTE IMMEDIATE 'GRANT DBA TO CYW'”。如许我就可以在触发器运行的时候拔出到我的公共内外,该触发器由SYSTEM全部,而SYSTEM会挪用我的 change_privileges存储过程,这个存储过程使用AUTHID CURRENT_USER为我受权。如许“我”就可以在不改变我本身权限的情况下得到并实行SYSTEM的权限。
  防备此类打击的方法
  数据库办理员该怎么应对这个问题呢?首先,你应该考核数据库的CREATE ANY权限,删除其中不必要的那些部分。其次,看看雷同于www.securityfocus.com这类的论坛,看看关于权限提升的最新漏洞。最后,激活对某些特定类型数据库运动的审计功能并没有什么弊端,如许数据库就能让你完成自我掩护。当数据库自行考核雷同于GRANT DBA如许的变乱时,你可以通过检察审计日记知道有没有呈现歹意或突发的运动
  7. 操作系统指令和安全
  黑客并不总是通过shell命令行提示符登录到你的系统的。 不过,通过诱使Oracle数据库运行操作系统水平的指令,我们的确给黑客提供了一条运行指令的有效途径。这些指令能够删除和粉碎文件、改写日记(以便隐 藏他们的行踪)、创建帐户,以及其他一些能通过命令行输入指令达成的操作。他们是怎么做到的呢?尽管方法有许多,最容易的一种便是通过Java和 PL/SQL这些步伐言语。通常可以使用创建外部存储过程的本领,使之实行一个具备系统挪勤奋能的存储步伐。这个系统挪用指令能够以首次安装时使用的 oracle帐户权限实行。
  防备此类打击的方法
  固然Oracle在掩护用户免受此类打击上曾经获得了肯定进展,不过你最好照旧把希望拜托在你的预防监测事变上。精密把稳你的系统外部有没有呈现这类运动,当有打击者试图对你使用此类歹意打击时,你最好能够事先掌握主动权。
  8. 文件系统安全
  对文件系统(filesystem)的拜访是一个让你头大的顺手问题。“oracle”操作系统用户拥有全部Oracle软件和数据库数据文件的访 问权限,以是要是数据库外部的某些用户使用UTL_FILE包拜访filesystem上的文件时,他们就可以拜访之前由于权限和脚色限定而无权拜访的很 多数据库外部文件。
  防备此类打击的方法
  Oracle引入DIRECTORY对象在防备此类打击上也有肯定作用。在10g系统中,必需通过DIRECTORY对象来界说某些类型的读写操 作。这意味着用户必需拥有CREATE DIRECTORY权限,而在后面介绍的权限提升问题中,我们曾经看到可以通过许多方法获取这种权限。纵然这些也被解决了,照旧有许多方法可以通过 PL/SQL或Java言语来获取对filesystem的拜访权限和对文件的读写权限。
  泛论:
  就像下面讨论的一样,Oracle数据库产物有许多漏洞,有时候看起来就像由一些智慧透顶的工程师建造的一所豪宅,工程师固然智慧,但比那些觊觎此 宅的黑客们忠厚老实多了。因而,他们没有预料到有人会使用这种种方法来偷砖窃瓦削弱豪宅的基本。黑客可以通过许多差别的方法举行打击,侵入到目标数据库。
  不过,只要数据库办理员能够花点工夫和精神来解决,其中许多问题都是可以避免的。Oracle曾经针对许多漏洞在数据库外部打上了补丁,并且入侵监 测系统能体构额外的安全保障。以是数据库办理员应该对每一种漏洞都铭刻在心,鉴戒性才是防备的关键,尽量实行好本身制定的安全筹划。
 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: