网络安全 频道

企业选购数据库安全审计产品的五大要素

  沿着安全审计的发展轨迹了解数据库安全审计的由来

  无庸质疑,数据库安全审计已经成为现如今很多企事业单位的必需技术及产品,那么,接下来就让我们从历史轨迹的角度,了解一下数据库安全审计技术的由来。

  安全审计技术源于1980年4月James P. Anderson为美国空军做了一份题为《Computer Security Threat Monitoring and Surveillance》(计算机安全威胁监控与监视)的技术报告,他提出了一种对计算机系统风险和威胁的分类方法,并将威胁分为外部渗透、内部渗透和不法行为三种,还提出了利用审计跟踪数据监视威胁活动的思想。

  1990年加州大学戴维斯分校的L. T. Heberlein等人开发出了NSM(Network Security Monitor)。该系统第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机。由此,衍生出了网络监听审计技术,该技术通过将对数据库系统的访问流镜像到交换机某一个端口,然后通过专用硬件设备对该端口流量进行分析和还原,从而实现对数据库访问的审计。

  总的来讲,网络监听审计技术在数据库审计的应用发展上经历了三个主要阶段,分别如下:

  第一阶段:流量行为审计,该阶段实现了对OSI七层模型中的网络层到会话层的覆盖,主要对数据库访问行为进行分析和统计,如IP、端口、连接次数等,一些产品甚至还提供了原始IP报文分析的手段;用户可以利用该技术实现对数据库访问流量进行分析和统计,能够让用户及时了解各应用消耗的网络资源和TOP N流量来源,帮助用户在网络规划、监控、优化、故障诊断等方面做出决策。

  第二阶段:内容审计,该阶段实现了对OSI七层模型中的表示层到应用层的覆盖,利用关键字对SQL整个语句的进行模糊匹配,主要对数据库访问行为实现内容记录,如数据库登陆账号、SQL语句等;用户可以利用该技术实现对SQL操作进行记录、分析和统计,该阶段能够满足对数据库审计的基本需求,但是在响应和分析的精度上存在较大误差,难以满足大中型用户对数据库审计的需求;

  第三阶段:语法解析阶段,该阶段集中在应用层,实现对SQL语句的语义分析,尽可能的将操作数据库的SQL语句进行细粒度解析,比如账号名、数据库名、数据表名、字段名、字段值、返回码等,以满足针对各种违规行为的精确检测、响应和审计,如表1所示:

  表1 数据库审计记录

  需要特别指出的是,判断数据库审计是否达到语法解析阶段的主要指标有三个方面:

  首先是能够将SQL语句分解成多个字段进行响应和记录,任意一列都可以单独设定审计规则,单独查询,这样就可以满足用户精确响应和精确查询的要求。

  其次是能够实现对绑定变量传输情况下的字段与数值的自匹配解析,通过对字段值的解析、设定字段数值条件。在大多数情况下,数据表关键字段往往对应着现实世界中资金或物品的数量及额度,对关键字段改变操作的精确检测非常重要。

  最后是语法解析的完整性,SQL操作对象有多种类别,如Database、table、view、index、trigger、procedure、domain、schema、user、cursor、transaction等,在实际应用中,各数据库系统(比如Oracle、DB2、MSQL)在SQL-92标准的基础上具体实现也有所差异,满足不同种类数据库系统、满足不同版本的数据库系统、满足不同通讯协议下的数据库环境,满足对各操作对象及DML、DCL、DDL命令支持是审计完整性的重要指标之一。

0
相关文章