通过安全数据库服务器层的会话属性传播的制作方法_2

文档序号:9291693阅读:来源:国知局
/tap)接收远端访问尝试。
[0026]图2是用于适合与非安全数据库访问使用的数据存储和检索环境的环境图。参考 图2,环境200为数据存储和检索操作(数据库操作)向数据库(DB)主机204提供远程用 户202。该用户202通过访问网络206连接主机204,该网络可以为任何合适的互联网络基 础设施比如局域网、内联网、外联网或互联网。数据库主机204包括连接到数据库210的数 据库服务器208,典型地磁盘阵列或大存储装置集如磁盘驱动器。数据库208包括数据库访 问网关212,其通过下面进一步讨论的各种访问方法如应用程序界面(API)操作,用于用户 202访问。
[0027] 用户开始以用户请求214、或数据库客户请求(DCR)的形式对数据库208的访问, 其通过网络206传递以作为传入请求216交付给数据库访问网关212。数据安全装置220 通过开关222或其它连接性装置如分路器、路由器或桥连接,在从网络206到主机204的路 上。数据安全装置220包括DB监视器224,用于接收通过开关222发送的用户请求214。数 据库监视器224接收和分析作为分路访问尝试(tapped access attempt) 218的传入用户 请求214,数据库监视器224根据预定的安全或访问策略分析。数据库安全装置220然后将 分路访问尝试218作为传入请求216向访问网关(AG)212传递。
[0028] 典型地,数据库服务器208预计大部分数据库流量(用户请求214)通过网络206 从远处到达,并且因此在数据库安全装置220下通过检查。然而,从本地客户230本地发出 数据库访问尝试的一部分,在主机204上执行,作为本地访问尝试232。本地访问尝试232通 过进程间通信(IPC)机制234到达访问网关212。如此本地访问尝试232不通过开关222, 因此可能以其它方式可操作地逃避数据安全装置220的检查。
[0029] 通过为拦截本地访问尝试232和传输拦截的访问尝试242到本地代理(LA2) 250 使用IPC拦截240就实质克服所述缺陷。本地代理(LA2) 250通过讯问IPC机制234确定 对应于本地访问尝试232的数据库指令252。然后本地代理(LA2) 250传输确定的数据库指 令252到数据安全装置220以由数据库监视器224分析和进一步操作。采用这种方式,数 据库安全装置220接收所有本地和远端到数据库服务器208的访问尝试232、216以更全面 地分析、监视和防范可能不可取的访问尝试232, 216。
[0030] 值得注意的是,本例中非安全访问本地代理(LA2)有数据库访问信息(DSI)的访 问权。数据库访问信息(DSI)是定义在客户计算装置和数据库服务器之间的会话建立的信 息。该DSI数据的例子包括数据库客户进程的操作系统客户、数据库客户进程识别符、结 束符、数据库客户IP地址和数据库客户和数据库服务器端口。DSI数据可以是为入侵检测 目的用于分析的重要数据。DSI信息对非安全访问本地代理(LA2)可用,因为进程间通信 (IPC)机制使用操作系统级标准应用程序界面(APIs)和操作系统进程识别符对非安全访 问本地代理可用。由于操作系统进程识别符可用,DSI信息能用标准操作系统调用检索。
[0031] 其中当安全数据库就所存储的数据明显提供更大的安全性时,如在'758美国专 利申请公开文本所描述的,安全访问本地代理操作的缺陷在于数据库访问信息(DSI)对安 全监视器代理或数据库安全监视器不可用。这是因为DSI是在数据库主机服务器中不参与 进程的执行流的数据结构,并且仅对操作系统级/层可用,操作系统级/层是与数据库监视 器代理和数据库安全监视器处于不同级/层。但由于本地代理只从相对于数据库服务器主 机为本地的本地客户接收访问尝试并且可以在与操作系统和IPC API相同层/级操作,非 安全数据库本地代理操作能访问DSI数据,非安全数据库本地代理操作比安全数据库本地 代理的安全性低。
[0032] 此外,非安全数据库本地代理通常不能与安全数据库访问一起使用,因为后者是 加密的。也就是说,在安全数据库访问的例子中,可被非安全本地代理(LA2)拦截的DCR和 DSR当它们被非安全访问本地代理(LA2)转发到ESD时是加密的并且不能被外部安全装置 (ESD)所分析。尽管DCR和DSR是加密的,从操作系统级收集的可被非安全本地代理(LA2) 访问的DSI数据是不加密的。相似地,在具有安全访问本地代理(LA1)的情况下,DSI数据 在调用加密操作的点不可用并且不能通过安全访问本地代理(LA1)转让到ESD用于进一步 分析,但是由于解密(DCR)后和加密(DSR)前的拦截,DCR和DSR没通过加密操作加密,并 且能被转发到ESD以进一步分析。
[0033] 说明性实施例提供一种机制,通过该机制,这些本地代理LA1和LA2能一起使用以 允许向外部安全装置(ESD)提供DSI和解密的DCR数据用于进一步分析。该说明性实施例 映射解密数据到运行时在数据库服务器主机上的数据库会话属性,该解密数据在数据库服 务器主机的加密层被拦截。这允许DSI数据对安全访问本地代理LA1可用,否则其如上所 讨论一样对安全访问本地代理LA1不可用,并且解决了与数据库访问识别符信息关联的问 题,以使安全数据库访问对ESD可用从而用于当DCR和DSR加密时的入侵检测分析和操作。
[0034] 利用上述说明性实施例的机制,数据库访问是安全的,并且因此DCR和DSR是加密 的。然而,非安全访问本地代理(LA2)用于拦截加密的DCR和非加密的DSI数据,例如明码 文本,然后映射加密的DCR数据到明码文本DSI数据。说明性实施例基于这样的观察进行 操作:用于数据加密的加密秘钥对每次会话(即每次SSL握手)是特定的,从而,来自不同 会话的相同数据库明码文本数据会因为用于每次会话的特定加密秘钥导致不同的加密数 据。因此,从加密数据提取的足够长二进制字符串是足够随机和特定的,从而使用其在多线 程数据库会话进程中作为特定可识别键(UIK)。因此,加密的DCR数据在与IPC机制整合的 非安全访问本地代理(LA2)的进程间通信(IPC)层被拦截,其可以使用比如UIK与非安全 DSI信息进行映射,该非安全DSI信息反过来可以被映射成会话识别符(SI)。该SI是在加 密级/层识别会话加密上下文的句柄。
[0035] 作为结果,拦截安全DCR和调用密码操作以解密加密的DCR数据以产生明码文本 DCR数据的安全访问本地代理(LA1),能够凭借由非安全访问本地代理(LA2)生成的映射检 索明码文本DSI数据。因此,非安全访问本地代理(LA2)从DCR提取特定可识别键(UIK)。 非安全访问本地代理(LA2)在DSI映射数据结构中存储UIK和DSI数据,并使其对安全访 问本地代理(LA1)可用。该安全访问本地代理(LA1)从传递给它的DCR中提取UIK,并且基 于该UIK在DSI映射数据结构中执行查找操作以识别对应的DSI数据。作为结果,该DSI 数据在安全访问本地代理(LA1)层对数据库会话变得可用。然后该安全访问本地(LA1)可 以向外部安全装置(ESD)转发明码文本DSI数据和明码文本DCR数据。
[0036] 所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算 机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完 全的软件实施例(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施例,这里 可以统称为"电路"、"模块"或"系统"。此外,在一些实施例中,本发明的各个方面还可以实 现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含 计算机可用的程序代码。
[0037] 可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算 机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一一但不限 于一一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算 机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便 携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器 (EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者 上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的 有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0038] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一一但 不限于一一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是 计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者 传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0039] 计算机可读介质上包含的计算机代码可以用任何适当的介质传输,包括一一但不 限于一一无线、有线、光缆、射频(RF)等等,或者上述的任意合适的组合。
[0040] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的 计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如JavaTM、 SmalltalkTM、C++等,还包括常规的过程式程序设计语言一诸如"C"语言或类似的程序设 计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一 个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计 算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网 络一一包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算 机(例如利用因特网服务提供商来通过因特网连接)。
[0041] 下面将参照根据本发明说明性实施例的方法、装置(系统)和计算机程序产品的 流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/ 或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给 通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得 这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实 现
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1