数据库安全关键技术之数据库通讯协议解析
作者:安华金和 发布时间:2016-12-29

对数据库通讯协议的解析能力是数据库安全技术中最为更要和核心的专业能力,是数据库审计、数据库防火墙等典型数据库安全产品的关键技术,协议解析结果的全面度和准确度直接影响这类产品的防护效果。数据库通讯协议即SQL语句,我们可以从审计产品的审计结果中看出其对SQL语句的解析能力,以下几点可以作为参考指标:

1、对长SQL语句的解析

大多数的SQL语句的长度都在1K以下,市面上的数据库审计产品大多能准实现正常的解析;但当SQL语句长度超过1.5K时,很多的数据库审计产品就会发生漏审,即直接丢包,不作解析。一些黑客会利用这样的漏洞发起攻击,比如,当审计系统对超过1.5K的SQL语句无法记录解析或仅执行前1.5K部分,那么攻击者则可以先加入1.5K长的注释,然后再写语句,这样可以完美避过审计系统的监控。对长语句的精确解析技术,决定了对此类攻击行为的防护效果。

2、多语句的有效分割

多语句是SQL Server上的一个特定情况。在其它的数据库管理系统中,语句之间都有明确的分割标识;而在SQL Serve中语句之间可以没有明确的分隔符。SQL Server会将这些语句不加分割地组织在一个数据库通讯包中发送;对于一些专业化程度不高的数据库审计产品,会将这些语句作为一条语句审计下来。有效地实现多语句分割,需要非常专业的SQL解析技术。能够准确记录每条语句的SQL操作类型、数据库对象、是否执行成功、具体的影响行数等。

3、数据库对象解析

需要对数据库访问对象进行准确解析,包括数据库服务器名称、IP名称、数据库名称、表、视图、序列、包、存储过程、函数、库、索引和触发器等。

对数据库通讯协议及解析能力,是数据库安全防护产品的关键所在,也是对安全厂商专业度的衡量依据,只有掌握这样关键技术的企业才能提供真正具有是有价值的安全产品。