数据库安全审计之绑定变量审计
作者:安华金和 发布时间:2020-10-14


  近年来,随着相关法律法规的完善、国家等级化保护要求,以及行业风险管理和内控指标的出台,安全审计产品慢慢的为大家所熟悉。而近年来数据盗窃和数据泄露等高危事件频发,数据安全也越来越受各大企业和单位的重视。数据库审计就是一款保护用户数据安全的产品。
  今天我们重点讲解一下数据库审计中的绑定变量审计。
  那么什么是绑定变量呢?
  首先我们来看一下SQL语句的解析流程,如下图所示:
  00.jpg  
  服务器进程接收到一条SQL语句,首先检查共享池中是否有之前解析过的相同的SQL语句,如果有,就从共享池的缓存库中找到之前解析生成的执行计划直接执行,SQL语句不需要再次解析,从而直接跳到执行阶段,这种解析称作软解析。
  如果在共享池的库缓存中找不到对应的执行计划,则必须经过解析SQL的环节,生成执行计划,这种解析称作硬解析。
  硬解析涉及到大量的数据运算,会消耗大量的CPU资源,例如下两条语句单独执行需要完整的硬解析两遍:
  select * from userinfo where userid =’N0001’;
  select * from userinfo where userid =’N0002’;
  但如果运用绑定变量执行:
  select * from userinfo where id= :1;
  使:1分别等于100和200,则数据库解析时用占位符,然后再传值执行,这样就只需要执行一次硬解析,两SQL复用同一个执行计划,节省了硬解析的资源开销。
  假设某条语句被重复执行了非常多次,那么使用绑定变量带来的好处是巨大的,能极大的节省资源,提高速度,因此是一种重要的性能优化手段被广泛应用于对性能有要求的系统中。
  对数据库审计的影响
  因为绑定变量的采用,传统的审计只能审计到含有变量字符的SQL,不包含具体值,这样会造成信息的丢失。
  例如执行语句:
  select * from userinfo where userid=:1; 1:=’N0006’;
  传统方式的审计日志只会记录如下语句:
  select * from userinfo where name=:1;
  这样会造成如下后果:
  (一)对审计日志中查询条件中的的具体值做检索时会导致检索结果不准确;
  (二)不能审计到正确的SQL语句。
  完整还原
  不漏审是检验数据库审计系统的基本标准,如果要得到全面准确的审计,对绑定变量审计的功能必不可少,我们没有忽视这一小小细节,我们的审计功能很早就可以完美审计到绑定变量的具体值,并还原成完整的语句,不遗漏任何一条SQL。
  数据库是各种软件应用系统的基础设施,系统对于数据库的访问SQL千变万化,要想实现全面准确的审计,就要不断的跟进分析和研发,让审计的触角覆盖到数据库访问的每一个角落。
  下面咱们以安华金和数据库安全审计为例,分析一下这款产品的优势:
  数据库安全审计产品优势一:  审计范围全面
  系统可审计的业务范畴全面,审计数据来源包括:
  1)  旁路镜像审计;
  2)  探针式数据采集;
  3)  虚拟机 VDS 引流;
  4)  远程登录行为审计;
  5)  本地回环口流量采集;
  6)  telnet 行为记录;
  7)  加密协议解析;
  数据库安全审计产品优势二: 审计内容全面
  系统的审计元素覆盖数据库整体交互过程,包括:
  1)  应用层信息:应用账户、应用 IP;
  2)  客户端信息:客户端 IP、主机名称、操作系统账号、客户端工具/应用程序;
  3)  数据库信息:数据库 IP 地址、用户名、数据库类型、版本、字符集;
  4)  对象信息:实例、Schema、表、字段、包、存储过程、函数、视图;
  5)  响应信息:应答错误码、影响行数、返回结果集等;
  6)  其他信息:登录时间、操作时间、SQL 响应时长等
  数据库安全审计产品优势三:  分析角度全面
  产品可提供的规则视角全面,可基于如下几个维度分析审计日志:
  1)  全库\数据库组\单库
  2)  语句与会话的关联审计
  3)  区分数据库实例审计
  4)  会话深度分析
  5)  数据库性能异常分析(TopSQL 等)
  数据库安全审计产品优势四:  策略配置全面
  本系统支持全局策略配置,根据【数据库类型】和【业务类型】添加不同的规则组,可引用不同的数据库开启监控策略,提供全面的数据库攻击行为监控技术:
  数据库安全审计产品优势五、数据库审计系统具备高效的日志检索能力,实现审计记录的快速查询。当设备旁路进入网络,即可对添加的数据库进行协议解析,并对解析内容快速入库建立索引文件,从而在审计分析时实现高效的查询机制,大型审计记录分析运算入库时间小于 30s,亿级别数据规模单条记录查询响应时间小于 10s,达到业界领先水平。索引文件和数据表文件如果损坏,系统会启用自动修复机制,以确保系统日志查询时的有效性和准确性。
  数据库安全审计产品优势六、审计系统基于精确协议分析、完全 SQL 解析、参数化匹配、长语句解析、多语句解析和100%应用关联技术,创造了业界准确的数据库审计产品,为可信审计追踪提供了坚实的基础。
  数据库安全审计产品优势七、提供 3 级存储机制,包括在线存储库、历史压缩库和远程备份库,使千亿级数据存储不再困难。通过在线存储库保证高效响应,在历史压缩库中提供 10 倍以上压缩比,通过远程备份库完成第三方存储设备利用,并通过专项接口与外部高效存储阵列对接。
  数据库安全审计产品在硬件层面支持 RAID 0/1/5 硬盘存储模型,并支持 SSD 固态硬盘提高 I/O 读写速率。系统在保障审计日志高效入库的同时,在硬件层面实现冗余存储。高端设备以可插拔硬盘方式实现存储空间的动态扩容,可实现 60T 硬盘存储。