摘要:近年来,有关数据库的安全事故可谓层出不穷,诸如银行内部数据信息泄露造成的账户资金失密、信用卡信息被盗用导致的信用卡伪造、企业内部机密数据泄露引起的竞争力下降.....,这些情况无不说明了实施数据库安全审计的必要。
(联合电讯社/北京)--近年来,有关数据库的安全事故可谓层出不穷,诸如银行内部数据信息泄露造成的账户资金失密、信用卡信息被盗用导致的信用卡伪造、企业内部机密数据泄露引起的竞争力下降……,这些情况无不说明了实施数据库安全审计的必要。
那么,首先让我们来了解一下部署数据库安全审计产品能给用户带来的益处:
1. 满足合规性要求,顺利通过IT审计
目前,越来越多的单位面临一种或者几种合规性要求。比如,在美上市的中国移动集团公司及其下属分子公司就面临SOX法案的合规性要求;而商业银行则面临Basel协议的合规性要求;政府的行政事业单位或者国有企业则有遵循等级保护、分级保护的合规性要求。
数据库审计系统为用户核心系统提供了独立的审计解决方案,有助于完善组织的IT内控体系,从而满足各种合规性要求,并且使组织能够顺利通过IT审计。
2. 有效减少核心信息资产的破坏和泄漏
对单位的业务系统来说,真正重要的核心信息资产往往存放在少数几个关键系统上(如数据库服务器、应用服务器等),通过使用数据库安全审计产品,能够加强对这些关键系统的审计,从而有效地减少对核心信息资产的破坏和数据泄漏。
3. 追踪溯源,便于事后追查原因与界定责任
一个单位里负责运维的部门通常拥有数据库管理系统的最高权限(掌握DBA帐号的口令),因而也承担着很高的风险(误操作或者是个别人员的恶意破坏)。审计系统能够帮助企业进行事后追查原因与界定责任。
4. 直观掌握业务系统运行的安全状况
业务系统的正常运行需要一个安全、稳定的网络环境。对管理部门来说,网络环境的安全状况事关重大。审计系统提供业务流量监控与审计事件统计分析功能,能够直观地反映网络环境的安全状况。
5. 实现独立审计,完善IT内控机制
从内控的角度来看,IT系统的使用权、管理权与监督权必须三权分立。审计系统实现独立审计,帮助监督人员获得有效的技术手段,从而完善企业IT内控机制。
沿着安全审计的发展轨迹了解数据库安全审计的由来
无庸质疑,数据库安全审计已经成为现如今很多企事业单位的必需技术及产品,那么,接下来就让我们从历史轨迹的角度,了解一下数据库安全审计技术的由来。
安全审计技术源于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所示:
需要特别指出的是,判断数据库审计是否达到语法解析阶段的主要指标有三个方面:
首先是能够将SQL语句分解成多个字段进行响应和记录,任意一列都可以单独设定审计规则,单独查询,这样就可以满足用户精确响应和精确查询的要求。
其次是能够实现对绑定变量传输情况下的字段与数值的自匹配解析,通过对字段值的解析、设定字段数值条件。在大多数情况下,数据表关键字段往往对应着现实世界中资金或物品的数量及额度,对关键字段改变操作的精确检测非常重要。
最后是语法解析的完整性,SQL操作对象有多种类别,如Database、table、view、index、trigger、procedure、domain、schema、user、cursor、transaction等,在实际应用中,各数据库系统(比如Oracle、DB2、MSQL)在SQL-92标准的基础上具体实现也有所差异,满足不同种类数据库系统、满足不同版本的数据库系统、满足不同通讯协议下的数据库环境,满足对各操作对象及DML、DCL、DDL命令支持是审计完整性的重要指标之一。
5大因素帮你选出好的数据库安全审计产品
结合以上对数据库审计技术的阐述,在数据库审计产品的选择上,主要从以下5个方面进行考虑:
部署安全:系统应采用网络监听审计技术,部署过程中不对原有系统进行干扰,即无需在客户端或服务器端安装代理、也无需在整个通讯链路中串联设备,改变原有通讯方式,数据库审计产品的故障不会造成原有系统出现问题;
策略灵活:业务系统数据在数据库中进行集中存储,故对于数据库的操作审计需要细化到数据库指令、表名、视图、字段等,同时能够审计数据库返回的错误代码、响应时间等,这样一方面能够对关键业务数值进行重点审计,另一方面能够在数据库出现关键错误时及时响应,避免由于数据库故障带来的业务损失;数据库审计产品需要提供缺省的审计策略,具备良好的开放性,能够根据用户的业务特点进行审计策略的定义和修改;
事件完整:数据库审计产品应能支持主流数据库的审计,符合SQL-92标准,满足对常见数据库系统如Oracle、DB2、Microsoft SQL-Server、Sybase、Informix、Teradata、Mysql的审计;同时由于业务系统对数据库的业务操作是大量而频繁的,这就要求安全审计产品具备较高的性能,避免由于审计事件无法入库而导致数据完整性缺失带来的无法取证问题,大多数安全审计产品应达到每秒5000条左右的平均入库速度,每秒10000条左右的峰值入库速度,日处理审计事件性能不低于1000万条;
自身安全:通过三权分立机制,实现对管理员、审计员、操作员进行权限划分,规定各角色用户只能在其权限范围内对数据库审计产品进行操作,同时对整个操作进行自身审计;产品自身应保证其安全性,需要结合安全加固、硬件令牌、访问控制等多种安全手段提高自身的安全性;
独立可靠:审计事件的存储不依赖被审计对象,同时为了保证审计溯源的准确性,应提供时间同步功能,避免各审计组件时间不一致带来的误差。
转载自:驱动之家