浅谈SQL Server数据库安全监控系统的设计与实现
扫描二维码
随时随地手机看文章
数据库监控信息获取策略的研究内容包括:数据库威胁来源、威胁特征、数据库审计事件、数据库运行性能指标等。通过对数据库所受威胁的研究,建立数据库威胁知识库,可以了解数据库攻击手段、攻击特征、检测信息源,进而制定监控信息获取策略,保证数据库监控信息获取的完备性与可靠性。本文探讨了SQL?Server数据库安全监控系统的实现。
一、系统整体结构
下面本文将分别从横向、纵向以及切向对数据库安全监控系统进行了结构上的再设计,改善了原有系统结构设计上的不足之处,并对其不同的划分结果进行分析。
1、横向结构
从横向看,该系统按照信息获取系统、分析机系统、控制台系统按照功能不同进行了重新的系统模块结构的划分,并补充了实时状态查询模块,增加了数据库安全监控系统安全威胁分析的数据来源,其横向结构如图1所示:
a)信息获取子系统
b)分析机子系统
c)控制台子系统
其中信息获取子系统位于整个系统的底层,是系统运行的基础所在。它采用主机获取的方式,对数据库服务器进行实时的数据信息获取,获取主机以及网络通讯会话轨迹,并对获取的数据进行二次过滤,以减少模块之间传输的数据总量,减轻上层模块的数据分析时间,再将数据通过指定数据传送通道发送到上层分析机子系统,做进一步的处理。
分析机子系统作为整个系统的中间层,其作用在于对从底层接收到的原始数据记录进行进一步的处理。主要是通过该层所包含的分析模块对采集到的原始数据,按照既存于规则库中的规则,进行模式匹配分析,将正常授权访问与非法入侵行为区分开,并把分析的结果存储到日志数据库中。对于危害操作进行报警。
控制台子系统作为人机交互的接口,为用户管理、控制、配置系统并查询入侵记录提供操作界面。它负责控制、管理信息获取子系统和分析机子系统,生成安全规则,接收、存储报警和日志信息;对报警及日志信息进行查询统计;对报警事件做进一步分析处理,并且有开放的报警接口支持更高层次的安全管理平台。
2、纵向结构
从纵向看,与原有系统不同之处在于,新的数据库安全监控系统在采用获取一分析一响应的体系结构,构建面向对象开发和面向构件开发的技术基础上,新引入了面向服务框架思想,实现了获取与分析的分离,通信与业务的分离。其纵向结构如图2所示:
在整个系统中TCP/IP层,即物理网络层,作为底层存在于系统中,在其上构筑的通信托管层则总揽了系统的全部通信工作,是整个系统的总线,支持异步通讯和断忘映传。在这之上的业务托管层可视做所有业务的容器和管理平台,其中最重要的功能则是提供信息注册,以实现信息生产者和信息消费者之间的沟通。在业务托管层的边缘是信息网关,负责将业务数据按照标准协议转化成其他格式数据,以实现和其他系统(包括安全设备)之间的互联、级联。最上层的是具体的业务模块,它们的角色分别为信息生产者和信息消费者,其中信息获取可视做信息生产者,而分析则是信息消费者,响应是信息的二次消费者,也是最终消费者。
传统的AAR框架与面向服务思想的结合,使得这四个层次相对独立,互相之间实现了松祸合,并且因为托管平台也己成形,那么基于这一平台的响应业务插件的开发将会变得非常便捷,从而实现了面向服务和面向构件开发的核心理念随需而变。
同时也实现了系统的分布式结构设计,集中控制与多层管理。整个系统由检测系统、分析系统、控制系统组成,每个子系统都采用层次化设计,业务逻辑与通讯管理分层实现。一个控制系统可以管理多个分析系统,一个分析系统还可以同时支持多达五十个不同系统平台的检测系统。
3、切向结构
若从切面来观察该系统,新系统的关键脉络变得更加清晰明了,两条关键脉络包括:数据和命令,而且互相内部之间实现了高聚合、松祸合,提高了模块的独立化。这里的数据为狭义数据,主要包括了信息生产者向信息消费者提供的信息,而命令则是响应模块对于获取和分析模块进行配置、维护、管理所传送的信息。数据(包括报警数据和实时信息)始终是自下而上的,从被监控数据库采集出来,途经IAS,AES,最后到达MTS。而命令(控制)始终是自上而下的,其中一部分命令由MTS发起(因用户的操作发起或系统维护需要发起)途经AES,最后到达IAS;另一部分由AE发起(因系统维护需要发起)到达IAS。
二、系统工作原理
该系统是一种基于主机探测的实时自动攻击识别和响应系统,运行于有敏感数据需要保护内部网络中。通过采取主机监控的方式,获取用户的数据库操作信息。借助于自身内置的攻击特征数据库,识别违反用户定义的安全规则,进行应用级攻击检查。在寻找到攻击模式和其他违规活动时,可以进行如下反应:控制台告警、记录攻击事件、实时阻断网络连接,同时还可以根据需要对系统进行扩展,实现与防火墙等其他安全设备的联动。
信息获取、分析机以及控制台三个子系统三者之间的交互主要包括以下几个方面:
1、主机报警实现。探头启动之后,将自动实现对于探头所在主机数据库的监控,获取与数据库操作有关的信息,包括数据库操作的SQL语句、登陆的用户名、数据库主机名称、当前系统用户、操作结果(成功或者失败)等信息,并将信息格式化发送到分析机,分析机通过自身的信息规则分析系统,从这些信息当中分离出对数据库安全有危害的操作,并向控制台发送报警,控制台在接受到报警信息之后,由管理员发出对攻击源IP地址行阻断的命令。所发出的阻断命令由分析机转发给探头部分,由探头部分调用系统自身API函数,实现对于指定IP地址的拦截操作,从而有效的实现了对于数据库安全的保护,避免了被进犯的可能。
2、命令的下发。控制台对分析机以及探头进行控制,对它们进行维护更新,并通过查询的方式,获取探头以及分析机的运行状态。命令由控制台发出后,向分析机或者经分析机向信息获取部分传达,再分别由分析机以及信息获取部分的响应模块对命令加以实现。其中控制台所有下达的命令通过指定的端口进行传递,同时分析机以及信息获取系统的命令回复也是由同一端口向上传达。
3、数据的传送。探头、分析机以及控制台三者之间通过指定的端口进行数据的传送,所有发送的数据都进行了统一的格式化处理,以固定的格式进行传递。
参考文献:
1、马应章.SQL标准发展概述[J].计算机应用与软件,2003,11:28-32。
2、谷震离,杜根远.SQLserver数据库应用程序中数据库安全性研究[J].计算机工程与设计,2007,28(15):3717一3719。
3、金烨,曹珍富.一个新的用于移动代理的签名方案[J].计算机工程,2006,32(2),149一150。
更多计算机与外设信息请关注:21ic计算机与外设频道