数据库通信协议分析与安全检测

上传人:tian****1990 文档编号:81527024 上传时间:2019-02-21 格式:DOC 页数:7 大小:71.50KB
返回 下载 相关 举报
数据库通信协议分析与安全检测_第1页
第1页 / 共7页
数据库通信协议分析与安全检测_第2页
第2页 / 共7页
数据库通信协议分析与安全检测_第3页
第3页 / 共7页
数据库通信协议分析与安全检测_第4页
第4页 / 共7页
数据库通信协议分析与安全检测_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《数据库通信协议分析与安全检测》由会员分享,可在线阅读,更多相关《数据库通信协议分析与安全检测(7页珍藏版)》请在金锄头文库上搜索。

1、数据库通信协议分析与安全检测雒群 刘秋实摘要:本文介绍了对SYBASE和MICROSOFT SQL SERVER数据库中CLIENT端和SERVER端通信应用的TDS协议的分析,对协议中存在的一些漏洞进行了测试。关键词:TDS协议,协议分析,安全检测一 引言数据库技术目前已经渗入到我们生活中的方方面面,数据库的客户端和服务器端的通信遵循TDS协议,如果客户端向数据库服务器发送一个畸形的TDS包,可能引起数据库崩溃,所以对TDS协议进行分析,测试,找出协议中存在的安全问题,尽早解决,意义非常重大。二 TDS协议概述1协议的历史和版本问题开始,TDS的一个版本有两个卖主,但是为了保持私人投机的长远

2、历史,他们不久就分道扬镳了。后来每个卖主都有不同的版本,并且不一定会互相支持。也就是说,每一个卖主的客户库用那个卖主提供的最新版本的TDS。你不能用微软的库可靠的连接SYBASE,或者SYBASE的库不能可靠的连接微软。在某些例子中你会得到一个连接,但不久你就会因为某些功能不全而碰壁。TDS的版本包括:TDS 4。2 (SYBASE 和 微软)在SYBASE和微软分裂时这个版本在用TDS5。0 (SYBASE)SYBASE生产的。TDS5。0包括一些协商能力,通过这些能力协议可以扩展功能。TDS 7。0(微软)它是为SQL SERVER7。0生产的。包含在SQL SERVER7。0中对扩展数据

3、类型的支持(比如char/varchar域多于255个字符)。它也包括对Unicode的支持。TDS 8。0 (微软)它是为SQL SERVER 2000生产的。包括对大整数(64位整数)和可变数据类型的支持。2 系数据库的结构流程TDS客户端使用称为表格格式数据流 (TDS) 的 SQL Server 专用应用程序级协议来发送 SQL 语句。数据包由用于 SQL Server 的 Microsoft OLE DB 提供程序、SQL Server ODBC 驱动程序或 DB-Library DLL 生成。TDS 数据包然后被传递给 SQL Server 客户端 Net-Library,客户端

4、Net-Library 将 TDS 数据包封装为网络协议数据包。在服务器上,服务器 Net-Library 接收网络协议数据包,且析取 TDS 数据包并将其传递给关系数据库服务器。在将结果返回给客户端时,这一进程反向执行。3.TDS协议定义TDS是一种协议,一系列描述两个计算机间如何传输数据的规则。象别的协议一样,它定义了传输信息的类型和他们传输的顺序。总之,协议描述了“线上的位”,即数据如何流动。表格数据流协议是建立在TCP/IP Net-Library之上的,包含在TCP数据段内。TDS用1433端口进行数据库通信。TDS协议的特点:TDS是sybase传送规则表格数据的专用协议与传送的语

5、言无关与传送的数据无关(长度,字节顺序)与具体的网络或硬件平台无关是单一的协议TDS协议的最大优点是,它负责处理所有数据传送细节。三TDS协议分析TDS协议位于TCP的数据段内,结构如下:IPTCPTDS头TDS的DATA段8位头TDS数据库模型的TDS解码信息.它主要包括以下的主题:TDS信息头TDS登陆记录TDS SQL请求TDS标记和他们的功能下图示出了用这些标志的一个客户和一个数据库服务器间连接的例子。在这个例子当中,客户日志中记录的是数据库服务器的信息,请求和接收一些数据(用语言标志),然后再把日志发出去。客户标志登陆记录-语言-发出日志-服务器标志-登陆确认-完成回应-行格式-行数

6、据-(更多行)-行数据-完成回应-完成下表给出了TDS框架头的格式:01234567信息类型状态信息长度信道数包的数量窗口状态对于信息类型:0X01 TDS4。2或7。0的请求报 0X02 TDS4。2或5。0的登陆报 0X04 服务器的回应 0X06 取消 0X0F TDS5。0的请求报 0X10 TDS7。0的登陆报对于状态:0X01 在请求或回应中的最后一个缓冲区0X00 下面还有更多的包客户端和服务器之间的会话是从客户端向服务器端发送一个TDS登陆信息开始的。一个TDS登陆信息有以下几个特性:一个TDS信息类型一个TDS登陆记录 通常包含两个TDS框架TDS登陆记录包括多个固定长度和可

7、变长度的域。每一个可变长度的域有一个相应的长度类型,表明这个域的长度。紧跟登陆记录之后是一个对命令信息的回应。服务器会表明注册的成功或失败。一个成功注册的结果是:在SQL环境变量里数据库、本地语言和包的大小的改变。 客户和服务器之间能力的交换。在数据库结构中,客户从数据库服务器中请求服务或数据。服务器对这些请求结果进行回应。客户用下面的TDS信息类型对SQL服务器进行请求:信息类型1-语言命令信息类型15-对TDS标志类型0X21的正常请求或回应信息类型16-对TDS标志类型0X21的紧急请求或回应TDS并没有指出语言命令的语法必须是什么。语言命令的变化范围是整个的Transact-SQL命令

8、设置。对SQL请求的回应一个数据库服务器如何回应一个SQL请求呢?假如SQL请求是“select*from发生一系列:1发给服务器的是相同的TDS请求格式,而不管发出命令的应用(比如,isql,esql,ODBC,orPowerBuilder)。2.数据库服务器用TDS的类型4回应SQL请求-回应一个命令SQL回应会包括客户请求的数据,一行一行的传输。发回给客户的每一行数据的前面会有一个TDS标志,它表明这一行的数据类型。标志是单个位值表明紧跟的数据值的andor格式标志能够描述固定或可变的数据长度 固定长度的标志没有相应的长度域(因为他们长度是固定的不需要长度域)TDS标志和它们的功能这部分

9、列出了TDS的标志类型,描述了它们的功能。重调用一个标志如果是一个单个位值表明下面紧接的数据值andin的格式.在客户端和数据库服务器的每一个信息交换都包含一个标志位,描述了在信息中包含的数据.标志能描述固定或可变长度的数据长度.固定标志的长度没有相应的长度域.下表列出了不同客户和服务器的标志.标志被分成下面几种范畴:0长度的数据标志.0长度的标志后面没有长度域.数据后面紧跟一个0长度的标志是一种自我描述(比如,行数据)固定长度的数据.固定长度的标志后面有一位,二位,四位,或八位的数据.固定长度的标志后面没有长度域.可变长度的数据标志.这些标志并不描述0长度或固定长度的数据.这些标志后面是一个

10、两位或四位的长度域,表明后面数据的长度.TDS标志和它们的功能TDS基本上是一个以标志为基础的协议。一个标志是一个单个的位值,它表明接下来的数据和值的格局。在一个客户机和一个数据库服务器间的每一个信息交换包括一个标志,它描述了包含在信息中的数据。这种自我描述格局允许客户请求数据而不用提前知道一些细节,比如域的类型,返回值的数量和一些别的服务器中存储信息。标志能够描述固定的或可获得的数据长度。标志被分成下面几种范畴:0长度的数据标志.0长度的标志后面没有长度域.数据后面紧跟一个0长度的标志是一种自我描述(比如,行数据)固定长度的数据.固定长度的标志后面有一位,二位,四位,或八位的数据.固定长度的

11、标志后面没有长度域.可变长度的数据标志.这些标志并不描述0长度或固定长度的数据.这些标志后面是一个两位或四位的长度域,表明后面数据的长度TDS标志和它们的功能TDS基本上是一个以标志为基础的协议。一个标志是一个单个的位值,它表明接下来的数据和值的格局。在一个客户机和一个数据库服务器间的每一个信息交换包括一个标志,它描述了包含在信息中的数据。这种自我描述格局允许客户请求数据而不用提前知道一些细节,比如域的类型,返回值的数量和一些别的服务器中存储信息。标志能够描述固定的或可获得的数据长度。标志被分成下面几种范畴:0长度的数据标志.0长度的标志后面没有长度域.数据后面紧跟一个0长度的标志是一种自我描

12、述(比如,行数据)固定长度的数据.固定长度的标志后面有一位,二位,四位,或八位的数据.固定长度的标志后面没有长度域.可变长度的数据标志.这些标志并不描述0长度或固定长度的数据.这些标志后面是一个两位或四位的长度域,表明后面数据的长度.应用在TDS协议中的客户标志包括:注册记录语言命令指针命令远程数据库调用过程注意事项动态SQL语句信息应用在TDS协议中的服务器标志包括:注册认证行结果返回身份认证完成回应错误信息注意认证指针身份认证信息回应四安全检测很多网络协议的网络下层结构设计的不安全。没有一个基本上安全的下层结构,网络保护是非常困难的。进一步讲,网络是一个根据拓扑结构和浮现技术的非常动态的环境。因为网络内部的公开性和协议的原始设计,总的来说,网络攻击是又快又容易又便宜而且很难探测和跟踪。构造TDS包向数据库服务器不断发包,通过反复更改TDS协议参数,观察数据库服务器的反映,检查TDS协议存在的问题。比如SQL SERVER7。0用TDS协议和客户端通信的时候,攻击者向脆弱的SQL SERVER发一个畸形的TDS包可能引起服务器出错甚至崩溃。五小结通过对应用在SYBASE和SQL Server数据库中的TDS协议的分析,测试,检查该协议的安全漏洞和存在的问题,最终形成了一个风险评估的工具。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 模板/表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号