龙空技术网

Oracle数据库安全审计系统是如何旁路监听的?

美创科技 519

前言:

如今咱们对“oracle10个审计”都比较关注,大家都想要了解一些“oracle10个审计”的相关资讯。那么小编也在网摘上收集了一些有关“oracle10个审计””的相关内容,希望大家能喜欢,你们快快来学习一下吧!

纵观绝大多数的数据库安全事件发生后,都无法进行有效的追溯和审计。而在数据价值持续升温的今天,数据库安全审计是信息安全的基础防御手段。

数据库审计系统主要用于对数据库的各类操作行为的监视并记录,通过对SQL语句和语法的分析,实时地、智能地解析对数据库的各种操作,并记入数据库审计设备中,以便日后进行查询、分析、过滤,实现对目标数据库系统的用户操作的监控和审计。

这次,我们从技术层面分析下,数据库安全审计系统是如何作用于数据库的?以Oracle数据库为例。

Oracle数据库安全审计系统是部署在数据库服务器的所在网络,采用旁路监听方式截取用户访问数据库的报文,该系统是由数据采集、数据处理和安全检测三个模块组成。

1、数据采集模块

Libpcap/Winpcap 是一个系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。Oracle 数据库默认监听端口是1521,客户端和服务器端使用TNS协议进行网络通信,如会话连接/断开、用户登录/退出、安全认证、操作信息请求/回应等。TNS协议对外不完全公开,每一版本都有差别。

2、数据处理模块

本文通过对Oracle 11g数据库的TNS协议V314版本进行解析,完成从TNS协议包中提取操作信息及用户名的行为。TNS协议V314版本的基本结构如图1所示:

图1 TNS数据包基本结构

Oracle 数据库客户端发起连接,服务端返回四种状态:接受、拒绝、重新发送、重定向连接。针对Oracle客户端建立连接查询的过程进行拆解,一个典型的TNS登录会话过程,如图2所示:

图2 TNS会话

对TNS会话过程抓包分析,除报文采用的 Oracle的机密机制对数据库进行加密之外,其它类型的报文都是采用TCP/IP协议的明文进行传输,包含源IP、目标IP、端口、服务标识SID、数据库账号、操作指令select、update、结束标识等信息。由于TNS会话过程,大多采用明文进行传输,因此从TNS数据包中可以提取用户操作信息的方法,如表1 所示:

表1 TNS提取用户操作信息

系统首先检测新用户登录数据库,解析登录数据包,提取数据包的源IP 、目标 IP 、源端口号、目标端口号和登录用户名。然后创建一个Hash表,把源IP、目标IP、源端口号、目标端口号映射为一个Hash值作为Hash表的键,用户名作为值,键和值存在唯一对应关系。对于后面不断采集的含有SQL语句的数据包,把其源IP、目标IP、源端口号、目标端口号同样映射为一个Hash值,如果其与Hash表中某个键相同,则此键对应的用户即为此SQL语句的操作用户。此方法降低了系统对设备的性能要求,又实现了实时审计的功能。

3、安全监测模块

由于SQL注入等违规行为与 SQL语句的语法结构有很大关系,系统通过检测SQL语句的基本结构、条件语句的值以及相关关键字,实现了对SQL语句的安全检测。还可以通过关联规则发现用户正常行为规则,凡是不符合此规则的用户行为即可判定为异常行为。

美创科技通过多年数据库安全和数据安全实践认知,以安全事件为中心,以精确审计和全面审计为基础,构建数据库安全审计。实时监控针对数据库的操作行为,及时告警,并通过大数据搜索引擎solr技术高效查询审计报告、定位事件原因,遵从等保、分保、GLBA、HIPAA、PCI-DSS、SOX等国家及行业法案要求。

场景部署举例

美创数据库安全审计系统区别于其他的审计,有以下特征:

支持核心审计:通过在数据库器上安装代理,精确审计到直接登入数据库的操作行为。

支持三层关联:通过B/S三层架构识别工具EIDM,能够解析中间件的信息,让审计系统能够审计到三层架构下浏览器终端的信息,而非中间件的信息。

查询使用大数据搜索引擎:美创数据库安全审计系统提供基于Solr的搜索引擎的搜索功能,能够按照客户需求提供简单搜索,扩展搜索和高级搜索,能够根据客户搜索的条件搜索特定的安全事件信息。

安全审计信息翻译:美创数据库安全审计系统提供了安全审计信息翻译引擎,转化成可以理解的业务术语,方便阅读。

标签: #oracle10个审计 #oracle启用监听的sql