每日最新情感日志速递平台 第一时间了解互联网的新鲜句子。

造成SQL语句的审计解析错误

发布时间:2019-05-25 01:26 类别:数据库

  跟着消息化的成长,数据库平安问题成为当前当局和企事业单元用户关心的核心,数据库审计产物曾经成为当前消息平安产物的盛宠。

  当前在市道上具有着几十种数据库审计产物,这些产物集中起来大约可分四品种型:

  (1)在收集审计产物的根本上颠末简单包装推出数据库审计产物的既有收集审计产物厂商,好比国内几大平安厂商推出的数据库审计产物,平安圈都晓得,不再例举;

  (2)针对数据库通信和谈的特点开辟出特地的数据库审计产物的国内细分范畴平安厂商,好比安华金和、思福迪、都城兴业、帕拉迪等;

  (4)OEM第三方的数据库审计产物,OEM对象可能来自国内,也可能来自国外,好比Imperva或韩国的DBInsight。

  跟着国产化采购政策的鞭策,处于平安性的考虑,国外数据库审计产物,不在本文的评论范畴内。安华金和作为国内专业的数据库平安厂商,为泛博用户供给国内*为切确、机能*好的数据库审计产物,国内程度,总结国内厂商开辟的数据库审计产物常见的八类缺陷。当然这些缺陷并不是每种产物都具备,读者如有乐趣且前提便利,能够进行有针对性的测试:

  漏审是由于长SQL语句(好比跨越2K)被分派到了多个通信包中,而相关产物对跨通信包的和谈解析并未进行精细化的处置,该错误会形成全数或局部漏审,极易被攻击者操纵。

  SQL Server如许的数据库支撑多语句同时发送,语句间缺乏明白的朋分标识;因为大多的数据库审计产物是基于正则表达式,无法无效朋分SQL语句,形成SQL语句的审计解析错误,如无确捕捉SQL语句的类型、操作对象等。

  SQL语句因为要表达各类复杂的检索前提和统计阐发环境,语法很是复杂,数据库系统需要借助Yacc&Lex如许的词法和语法解析东西进行语句解析。

  但大大都数据库审计产物采用的是正则婚配手艺,在语句中具有子查询、联系关系查询等环境时无法精确获得多层对象,出格是在SQL语句中利用别号的时候;这些缺陷往往会形成错误的数据库对象记实。

  为了提拔SQL处置的效率,大大都使用软件会操纵数据库编程的语句预编译(Prepare)、参数绑定(bind)机制,以实现高效处置。

  这种机制素质上是通过句柄追踪机制完成的,大大都的数据库审计产物可以或许处置简单的预编译与参数绑定的环境;但当预编译与参数绑定达到几十条时,挪用环境稍微复杂,就发生了大量的参数值与语句的错误搭配,从而形成大量错审。

  对于SQL操作能否成功,是数据库审计的根基需求;对数据库操作读取或影响了几多行是用户的现实需求。

  但SQL操作成功与否的精确记实,需要仰仗SQL语句的合理切割和句柄的精确追踪及对前往成果集的完全解析;大大都数据库审计产物在多语句环境,或者通过FETCH操作批量获取等环节下,无法精确获得查询施行的准确性以及影响行数。

  市场上的数据库审计产物大大都都宣传支撑三层联系关系审计,实现SQL语句与营业用户的联系关系。这种基于三层联系关系审计的手艺,是通过http和谈中的参数与SQL语句中的参数的婚配,以及时间的婚配来完成的,属于恍惚婚配。

  这种方式在http参数颠末加工后或基于逻辑判断后再发出SQL语句,也即SQL语句的参数与http参数没有间接的婚配关系时将完全失效;在高并发时更是一个灾难。

  这个问题次要是针对基于收集审计而成长来的数据库审计产物,这种产物因为在设想之初就不是特地面向数据库用户的,因而并未按照数据库的拜候类别、会话追踪、数据库对象条理进行界面组织,形成这类产物的界面极其不易利用。

  良多使用系统会采用动态拼接SQL语句的体例来实现对数据库的拜候;这会形成大量SQL语句语法形式不异而仅仅是SQL语句中的参数值分歧 http://takahangha.com/shujuku/737/


你可能喜欢的