freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

知识点 | 数据库审计产品八大常见缺陷
2019-08-13 09:52:12
所属地 北京

伴随互联网、大数据的高速发展,全球信息化建设不断深入,数据库安全问题现已成为政府、企事业单位用户关注的焦点。当前市面单是数据库审计产品就多达几十种,可大致分为四种类型:

第一种:由各大网络安全厂商,在其既有网络审计产品的基础之上,经过简单包装推出的数据库审计产品;

第二种:由安华金和等国内细分领域安全厂商,针对数据库通讯协议特点开发出的,专门的数据库审计产品;

第三种:Imperva、Guardium等国外数据库审计产品;

第四种:韩国的DBInsight等国内外第三方OEM的数据库审计产品。 

图片1 副本.png

作为专业的数据库安全厂商,安华金和梳理、总结了国产数据库审计产品常见的八类缺陷: 

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语句的分析和排查效率也会造成严重影响。 

图片2 副本.png

安华金和数据库安全审计系统可以有效避免以上八类缺陷,为广大用户提供专业、高效、安全、可靠的数据库安全防护与管控支撑,让数据使用更安全。


本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者