Oracle通信TNS协议中请求报文的解析①
2018-10-24侯方杰
计算机系统应用 2018年10期
侯方杰, 王 雷, 王 嵩, 盛 捷
(中国科学技术大学 信息技术学院 自动化系, 合肥 230001)
1 概述
数据库作为各类信息系统的核心部分, 其安全性在整个安全体系结构中举足轻重. 根据Verizon 2016数据泄露调查报告[1], 分析已确认的 2260 起数据泄露事件中, 泄露源 7 成以上和数据库相关. 且由内部违规, 即公司内部人员的操作失误和权限误用造成的数据泄露事件占总事件的20%. 在外部攻击方面,2016年数据库漏洞中, 80%以上都属于SQL 层入侵范畴, 主要是利用数据库系统SQL语言漏洞[2]. 诸多的安全隐患也催生了大批数据库安全审计软件, 在事中发现并阻断违规和入侵语句, 在事后审计和分析, 对泄密行为追根溯源, 保证数据库的安全. 而Oracle数据库作为最流行的数据库产品之一[3], 在各种数据库安全软件中均被广泛支持.
将网络数据报文转化为数据库会话是数据库安全审计中必不可少的一部分. 由于Oracle公司并未公布数据库通信细节, 当前的安全审计重点针对Oracle数据库的通信协议TNS(Transparent Network SubStrate Protocol)进行分析. 文献[4,5]都基于TNS协议设计与实现了Oracle审计系统, 并进行了性能评价. 文献中给出了TNS数据包头的格式、数据包分类及会话流程,但对于数据包的内部格式细节却没有太多说明, 并且仅覆盖一两个协议版本. 文献[6]则通过WireShark抓包工具研究数据包的结构来对TNS协议进行解析, 对客户端与服务器建立连接的过程进行了细致的分析,并给出了网络选项协商、类型编组、认证过程, 分析了TNS协议中的5种数据包结……
登录APP查看全文
