发明名称 利用进程注入及TNS协议解析增强Oracle数据库服务器安全的方法
摘要 本发明公开了一种利用进程注入及TNS协议解析从外部增强Oracle数据库服务器安全的方法,首先将TNS协议解析和安全特性增强功能模块编译成DLL;使用Create Remote Thread和Load Library将DLL映射到远程Oracle伺服进程;当Oracle伺服进程接收到Oracle客户端与服务器端的通信消息时,TNS协议解析模块和安全特性增强功能模块开始工作本发明可支持所有的数据访问接口,具有很好的通用性;直接运行于服务器端,不仅能防护来自远程的攻击,也可防护来自本机的攻击;对于数据库服务器返回给客户端的结果,仅仅记录其操作成功或失败的信息,避免对结果集的复制,降低对数据库性能的影响。
申请公布号 CN101630351A 申请公布日期 2010.01.20
申请号 CN200910032829.9 申请日期 2009.06.04
申请人 中国人民解放军理工大学指挥自动化学院 发明人 张涛;赵成;赵敏;汤凯;王金双;袁志坚;宋磊
分类号 G06F21/00(2006.01)I;G06F9/44(2006.01)I;H04L29/06(2006.01)I 主分类号 G06F21/00(2006.01)I
代理机构 南京理工大学专利中心 代理人 唐代盛
主权项 1、一种利用进程注入及TNS协议解析增强Oracle数据库服务器安全的方法,其特征在于:以安装在Microsoft Windows操作系统平台的Oracle数据库服务器为实施客体,实施体系结构包括服务器端和客户端,客户端为没有安装额外软件的Oracle客户端,服务器端包括Oracle数据库服务器和安全增强模块,该安全增强模块包括TNS协议解析模块和安全特性增强功能模块,首先通过一次性远程进程注入的方式把TNS协议解析模块和安全特性增强功能模块注入到Oracle数据库服务器的伺服进程中,其实现步骤为:(1)将TNS协议解析代码和安全特性增强功能代码编译成DLL;(2)通过OpenProcess函数得到远程的Oracle伺服进程的HANDLE;(3)通过VirtualAllocEx函数在远程进程中为DLL全路径文件名分配内存;(4)通过WriteProcessMemory函数把DLL的文件名写到分配的内存中;(5)通过CreateRemoteThread函数和LoadLibrary函数把DLL映射到远程进程中;(6)通过WaitForSingleObject函数等待远程线程结束,等待LoadLibrary返回,即以DLL_PROCESS_ATTACH为参数调用的DLLMain返回时,远程线程同时结束;(7)通过GetExitCodeThtread函数取回远程线程的结束码,该结束码为LoadLibrary的返回值,并作为DLL加载后的基地址;(8)通过VirtualFreeEx函数释放第(3)步分配的内存;(9)通过CreateRemoteThread函数和FreeLibrary函数把DLL从远程进程中卸载,其中CreateRemoteThread函数的lpParameter参数为基地址;(10)通过WaitSingleObject函数等待线程的结束。
地址 210017江苏省南京市白下区海福巷1号