伴随互联网、大数据的高速发展,全球信息化建设不断深入,数据库安全问题现已成为政府、企事业单位用户关注的焦点。当前市面单是数据库审计产品就多达几十种,可大致分为四种类型:
第一种:由各大网络安全厂商,在其既有网络审计产品的基础之上,经过简单包装推出的数据库审计产品;
第二种:由安华金和等国内细分领域安全厂商,针对数据库通讯协议特点开发出的,专门的数据库审计产品;
第三种:imperva、guardium等国外数据库审计产品;
第四种:韩国的dbinsight等国内外第三方oem的数据库审计产品。
作为专业的数据库安全厂商,k8凯发天生赢家梳理、总结了国产数据库审计产品常见的八类缺陷:
1、长sql语句漏审
漏审是因为长sql语句(比如超过2k)被分配到了多个通讯包中,而相关产品对跨通讯包的协议解析并未进行精细化的处理,该错误会造成全部或局部漏审,极易被攻击者利用。
2、多语句无法有效分割
像sql server数据库支持多语句同时发送,但语句间缺乏明确的分割标识;而数据库审计产品大多基于正则表达式,无法有效分割sql语句,造成sql语句的审计解析错误——无法正确捕获sql语句的类型、操作对象等。
3、复杂语句对象解析错误
sql语句由于要表达各种复杂的检索条件和统计分析情况,语法非常复杂,数据库系统需要借助yacc&lex这样的词法和语法解析工具进行语句解析;而数据库审计产品大多采用正则匹配技术,若语句中具有子查询或关联查询等情况便无法准确获取多层对象,尤其当sql语句中使用别名时,常导致错误的数据库对象记录。
4、参数值与sql语句匹配错误
为了提升sql语句处理的效率,大多数应用软件会利用数据库编程的语句预编译(prepare)和参数绑定(bind)等机制实现高效处理。这种机制本质上是通过句柄追踪机制完成的,大多数数据库审计产品能够处理简单的预编译与参数绑定情况;但当预编译与参数绑定达到几十条时,调用情况开始变得复杂起来,就可能发生大量参数值与语句的错误搭配,从而造成大量错审。
5、错误的应答结果,特别是影响行数解析不正确
数据库审计的基本需求看得是对于sql语句操作是否成功,而用户的实际需求看得是对于数据库的操作读取或影响了多少行。但sql语句操作成功与否的准确记录,需要依托sql语句的合理切割、句柄的准确追踪以及对返回结果集的完全解析,大多数数据库审计产品在多语句或通过fetch操作批量获取等情况下,无法准确获得查询执行的正确性以及影响行数。
6、充满失真率的应用用户关联
市场上的数据库审计产品大多数都宣传支持三层关联审计,实现sql语句与业务用户的关联。这种基于三层关联审计的技术属于模糊匹配,是通过http协议中的参数与sql语句中的参数以及时间进行匹配完成的。这种方法在http参数经过加工后,或基于逻辑判断后再发出sql语句(即sql语句的参数与http参数没有直接的匹配关系)时将完全失效;而在高并发时更是一个灾难,准确率往往很难超过80%。
7、未专业化的审计界面
基于网络审计发展而来的数据库审计产品,由于其在设计之初就不是专门面向数据库用户,因而并未按照数据库的访问类别、会话追踪、对象层次进行界面组织,导致此类产品的界面不专业、不易用。
8、过度冗余的审计信息存储
很多应用系统会采用动态拼接sql语句的方式来实现对数据库的访问,然而这会造成大量sql语句的语法形式相同、仅其中的参数值不同,如果数据库审计产品将这些语句做重复记录和存储,便会导致审计效率低下和存储设备的浪费,对sql语句的分析和排查效率也会造成严重影响。
安华金和数据库安全审计系统可以有效避免以上八类缺陷,为广大用户提供专业、高效、安全、可靠的数据库安全防护与管控支撑,让数据使用更安全。
试用申请