数据库审计产品的从对象统计到敏感数据溯源
作者:安华金和 发布时间:2019-03-08

目前市场上的数据库审计产品的风险规则大多是到SQL语句和语句模板层级,安华金和在与客户的不断接触中,发现会存在有些场景下用户更关注数据库中敏感对象的访问行为的现象,这些敏感对象可能是数据库、表,甚至字段(列),这对审计粒度来说提出更高挑战。

面对上述挑战,安华金和研发人员通过全新的数据结构设计和数据处理逻辑设计,提供了基于数据库表级别的对象统计和分析能力。第一、在新的数据结构设计中,充分考虑到不同数据库中表对象属主的定义范围差异,如Oracle和SQL Server有Schema的概念,Oracle的Instance,MySQL的库概念等,设计了目前相对覆盖元素较多的一种数据库表对象Owner机制,即以“DBname+Schema@(DBIP+Port+Instance)”多个字段的组合方式,基本覆盖常用关系型数据库形态。第二、针对Oracle RAC集群和MySQL Proxy类集群的应用场景,将多个数据库IP和端口组合成一个数据库来分析,避免因过于细致的属主划分粒度带来同一表对象统计数据的分散。

timg.jpg 

DBAudit在指定的属主范围内,会将动态请求而产生的SQL语句以表对象为单位统计,且依托访问表对象时的SQL语句解析,提供了“表对象-操作类型-SQL语句流水”和“表对象-语句模板-SQL语句流水”的两种钻取分析路径。

对解析出的表根据数据分析可标记为敏感表对象,然后可以对一批敏感表对象做访问行为的轨迹分析,比如该表对象被哪个访问源(客户端IP、数据库用户)访问、哪个客户端工具所访问以及整体的访问频度分布情况,快速定位该敏感对象从哪些位置进行访问。

从操作类型角度,表对象经常会以什么样的方式被访问,访问频次怎样;从语句模板角度,表对象经常会被什么样的语句模板来访问,做到这一层级,思路再往前一步,假定该表对象出现了新的访问类型(如经常SELECT的表对象突然出现了DELETE的操作行为),或者表对象出现了一种新的语句访问模型(如出现了一种新的语句模板),是否疑似为非正常访问动作?当功能演进到该阶段,是否像有些行为模型的分析?是的,这就是我们正在完善的审计系统访问行为模型。

作为数据安全领域的领跑者,我们将继续深耕,不断挖掘产品新的价值点,正是凭着这种敢于向技术壁垒发起攻坚、敢于突破自我的精神,才能打磨出具有领先性和前瞻性的成熟产品。