用于监控数据库系统的方法和装置的制作方法

文档序号:6405319阅读:206来源:国知局
专利名称:用于监控数据库系统的方法和装置的制作方法
技术领域
本申请涉及管理数据库系统。具体而言,本申请涉及用于监控数据库系统的方法和装置。
背景技术
保护网络系统中的数据是重要的。能破坏或以其它方式影响有用数据的完整性的情况是很多的,并且随着网络系统的发展而增加。当影响数据完整性的事件发生时,重要的是能检测所发生的事件。否则,如果这种情况经常发生,则数据保持其受影响的状态,且网络在将来易受相同类型的事件的攻击。
现代网络在保护有用数据中面临的问题类型包括,例如,黑客攻击和未授权使用的其它数据破坏、灾害、恶意软件(例如病毒和特洛伊木马等)、硬件或软件故障、内部的人欺骗或误用、以及人为失误(例如无意的数据输入错误)。
为了解决网络系统面临的公共问题的一些已经开发出多种不同的方法。例如,防火墙和虚拟专用网络防止从外部站点未授权地访问网络系统。特权的指定提供了对不同类型的用户可在网络上进行何种活动的保护。在这一方面,特权的指定可防止内部的人欺骗和误用。数据备份在硬件或软件故障的情况下提供保护。然而,在大多数情形下,如果有疑问的事件避开了特定网络的各种保护机制,并损害或以其它方式影响网络数据,则受影响的数据不易识别,特别是如果后来没有注意到该事件。
在这部分描述的方法是可执行的方法,但是不一定是先前已经想过或执行的方法。因此,除非以其它方式指明,否则不应当假定在这部分描述的方法由于其包含在这部分内而被认为是现有技术。

发明内容
根据本文中描述的实施例,提供了用于监控数据库系统的技术。在一个实施例中,一组数据元从数据库系统读入数据库外部的装置。在该装置处,对数据元执行一组分析操作,以识别是否有数据元满足被认为是潜在异常的标准。如果识别出潜在异常,则用信号发出通知。
在另一实施例中,用于监控数据库系统的技术包括识别存储为数据库系统的数据中的内容的一组数据元。执行一系列的分析程序,以识别数据库中为潜在异常的数据。


通过附图中的实例而不是限制说明本发明,在附图中,相同参考标号是指相似部件,且在附图中图1示出了根据本发明的一实施例用于监控数据库的系统;图2示出了根据本发明的一实施例用于监控数据库的方法;图3示出了其中连续执行一系列程序以分析数据库的内容数据的实施例;图4示出了根据本发明的一实施例用于监控数据库系统的内容数据的方法;图5示出了通过检测数据库系统的系统目录的变化来监控数据库系统的方法;图6示出了通过检测分配给网络上的用户的特权的变化而监控数据库系统的方法;图7示出为了调整执行用于识别异常数据的一个或多个程序,使用学习模式分析趋势数据的方法;以及图8示出可执行本发明的实施例的计算机系统的框图。
具体实施例方式
描述了用于监控数据库的方法和装置。在以下描述中,为了说明的目的,阐述了许多具体细节,以提供对本发明的完全理解。然而,显然的是,本发明没有这些具体细节也可实施。在其它情况下,为了避免对本发明造成不必要的模糊,公知的结构和装置以框图示出。
一般概述根据本文中描述的实施例,为了检测损害数据的完整性、真实性、或精确性的各种活动或事件,可监控数据库系统管理和储存的数据。本发明的实施例可在数据库管理系统(正在由该装置监控)外部操作的装置上实现。
在一个实施例中,提供了一种在使用由一个或多个处理器组成的一组处理器维持数据库的环境中监控数据库的方法。使用由一个或多个处理器组成的一组处理器外部的处理资源可基本上执行该方法。数据元,包括储存为数据库系统的数据库中的内容的数据,从保持或执行数据库的处理器外部的位置读取。一组分析操作在数据库的部分上执行,以识别满足一个或多个被认为是潜在异常数据的标准的数据元。当识别到潜在异常的数据时可发信号通知或发送通知。
根据另一实施例,用于监控数据库系统的方法包括识别储存为数据库系统的数据库中的内容的一组数据元。一系列分析程序在这组数据元上执行,以识别数据库中为潜在异常的数据。当检测到潜在异常的数据时触发通知。
在另一实施例中,用于监控数据库系统的方法包括在指定时间间隔中以一个或多个实例处识别储存为数据库系统的数据库中的内容的一组数据元。该方法还包括识别用于在指定时间间隔上如何修改这组数据元的趋势数据。基于该趋势数据,执行一个或多个分析操作,以识别数据库中潜在异常的数据。
使用上述实施例,可对数据库系统的各种类型的数据进行处理,以识别为潜在异常或可疑的数据。在一个实施例中,读取和处理关于数据库模式的元数据,以检测数据库模式的潜在可疑变化。例如,数据库模式的变化可表示恶意软件的存在。可检查内容数据以检测表示可能已经损害数据库的任何数目的事件(其中一些在下一段中描述)的数据库模式。更进一步,此处描述的实施例可监控限定网络上用户的特权的数据。数据库特权的变化可被检查并可能报告为可疑,以确保,举例来说,不是在不适当地使用特权以进行不法行为。
由于能够检测异常内容数据或元数据,所以本发明的实施例可在其它事件中检测不良数据何时从其它系统供给,软件机器人搜索(spidering)破坏何时出现在分布式数据库中,通过不同应用模块写入数据库的非一致数据的存在,数据的意外或故意删除或操作,违反安全政策的使用,欺骗性数据库交易和输入,以及管理或操作失误。而且,本发明的实施例能检测盗用或欺骗性地获得的特权或已经被“入侵”的数据。同样,当事实上不应给予用户访问数据库的权利时,特权可被有意或无意地改变,从而授权用户能访问数据库。
此外,上述实施例可执行这样的功能,而不需要数据库的任何大量的资源。例如,此处提供的实施例能执行监控数据库的功能,而不需要处理用于维持数据库的资源。维持数据库的数据库服务器不必配置有使得上述实施例能操作的“代理”。事实上,在此应用中例如上述实施例等实施例使得数据库被监控,同时对维持数据库的系统的性能特征的影响最小。
术语如本文中所用,术语“内容”或“内容数据”是指位于数据库中但是不形成数据库的结构或模式(schema,大纲)的部分的数据。此外,内容数据不包括元数据。
“数据库”包括用于以列表形式或行的方式储存数据的任何数据结构。一般而言,数据库在结构上是不分级的,但是可用于储存分级数据。
“特权”是指允许网络用户执行的一组动作或操作。可选地,也可称之为授权,或一组授权。
术语“数据元”是指储存在数据库中的任何数据。例如,“数据元”可包括对象或包含在对象内的值。
系统描述图1示出了根据本发明的一实施例用于监控数据库的系统。为了描述目的,图1示出在具有很多传统特性的网络范围内的实施例。
根据图1所示的一个实施例,数据分析系统(data analysissystem,DAS)110设置在局域网(LAN)104上。LAN 104与互联网108相连。防火墙124配置为保护LAN 104不受通过互联网108发送的输入通信的影响。路由器122用于指引源于LAN 104的流量,或被指定用于LAN 104的组件。
数据库服务器130保持在LAN 104上。数据库服务器130可假定为保持数据库132上的重要数据。该重要数据可包括,例如,审计记录、档案、和客户帐户信息。数据库132以相关形式组织数据,例如以表格数据结构组织数据。数据库132可以是数据库服务器130的组成部分。由数据库服务器130维持的数据包括内容数据、关于数据库模式的元数据、和限定用户观看数据库中的数据的授权的特权。该数据库服务器130可管理内容数据、元数据、和特权。管理站144用于在LAN 104上执行管理功能。管理功能可包括监控LAN104的安全,包括LAN用户的活动。LAN 104的各种元件和组件可通过信道106互连。在边界防火墙的范围内的互连元件和部件被认为是LAN 104的部分。
在一个实施例中,DAS 110包括商务规则程序112、取数引擎(fetching engine)114、和政策引擎116。取数引擎114配置为一指定间隔或在指定条件(人工指令)发生时从数据库服务器130读取数据。DAS 110对其从数据库服务器130取回的数据执行分析操作或程序,以保护由数据库服务器130维持的数据的整体完整性。在一实施例中,取数引擎114扫描数据库132的指定部分并取回数据库服务器130管理的表的列或其它部分。通过从数据库132读取数据,DAS 110可在数据库服务器130外部操作,从而使对数据库服务器的影响达到最小。
在一个实施例中,DAS 110在通过取数引擎114找回的日期上执行一系列的分析程序,以识别异常数据。一个或多个分析程序可要求使用商务规则、或数据库服务器130的管理员或操作者指定的其它规则和条件。商务规则程序112可提供用于使得管理员或操作者能进入商务规则的机制。该商务规则程序112也可管理商务规则的执行。一旦识别到异常数据,则该DAS 110可用信号通知。例如,DAS 110可发送电子邮件122给管理站144。可选地,该DAS 110可发送例如我们的页面124或产生可听或可见警报。
政策引擎116配置为在通过取数引擎114从数据库服务器130取回的各种数据上执行一系列程序(可选地,称之为“政策”)。在一个实施例中,政策引擎116负责对由取数引擎114取回的数据库132的每行或每段以指定次序执行一系列程序。在图4-6中提供了为DAS 110执行的各种政策的更详细的描述。在图3中提供了这些政策可以执行的方式。
因此,举例来说,DAS 110可以工作,而不需要在数据库服务器130上执行代理。因此,DAS 110仅需要对数据库服务器130执行“只读”访问。根据一个实施例,DAS 110不对数据库服务器130的性能产生明显的影响。
如图2-7中描述的实施例所提供的,DAS 110可从数据库服务器130获得数据的快照。该DAS 110可检查和分析元数据、特权数据、和内容数据。元数据包括关于数据库132的结构的数据以及关于特定数据元或结构或其它元素/结构的关系的数据。特权提供对网络上的不同用户的授权。内容数据是指由形成数据库132的数据结构储存的数据。
在LAN 104上的DAS 110的其它用途中,DAS可检测事件何时不利地影响由数据库服务器130保持的数据。例如,DAS 110可检测来自通过互联网访问LAN 104的未知用户的未授权的访问和/或由数据库服务器保持的数据操作。DAS 110也可确定LAN 104的用户何时故意或无意损害由数据库服务器130储存的数据。当通过LAN 104的恶意软件影响由数据库服务器130保持的数据时,可检测该恶意软件。将描述影响数据库服务器130的事件和可由DAS110检测的事件的其它实例。
图2示出根据本发明的一个实施例用于监控数据库系统的方法。例如描述的方法等的方法可在图1所示系统上执行。例如,例如图2中描述的方法可在DAS 110上执行。在描述图2的方法中,提供对图1的元素的任何参考,以示出用于执行本发明的实施例的适合的组件或上下文(context)。
参看图2,提供用于从数据库服务器读取一组数据的步骤210。该数据被读入外部装置或位置。该外部装置举例来说可包括相应于DAS 110的独立部件。该读取操作可自动执行,例如定期执行。例如,可执行的一类操作包括以结构化查询语言(SQL)编写的SELECT语句。该SELECT语句扫描数据库132的指定部分。每个读取操作可提供正在被DAS 110保持的数据的“快照”。每个快照都被记录,以便其能用于后来的比较功能。
其中读取数据库的频率或调度可根据用户需要而改变。例如,对于某些高安全性应用,每几分钟或几秒就得到数据库132的快照。但是对于其它低安全性应用,可基于每天或每周得到数据库132的快照。可选地,数据库132的读取可以是事件驱动。例如,每个数据库132的读取可由网络管理员人工启动。
根据一个实施例,其中数据从数据库服务器130读取的每个实例都可产生以下类型的数据的一些(i)包含关于由数据库服务器130维持的数据结构的元数据的系统目录,(ii)表示LAN 104上不同用户的网络特权的一个或多个表,和(iii)内容数据。该系统目录可包含关于数据库的所有表的元数据、数据库的列、表之间的关系、列或单独的数据元。该内容数据可对应于数据库132的部分的实际关系数据。该内容数据尤其可具有特定用途,用于检测损害数据库132的完整性和安全性的各种难以检测的事件。
在步骤220,一个或多个分析操作在从数据库服务器130读取的这组数据上执行。分析操作在数据库服务器110外部执行。例如,DAS 110可读取由数据库服务器130保持的数据,并且可以执行分析操作,而不需要任何来自数据库服务器的资源。由DAS 110执行的分析操作取决于正在分析的数据类型。就复杂度而言,内容数据是最难的,从而需要更复杂的分析操作。另一方面,可通过在来自最近的快照的数据和指定为比较源的另一快照的数据之间进行直接对比,而分析执行系统目录和特权表。
在一个实施例中,分析操作检测是异常的数据。异常数据是指定为要求进一步检查的数据,例如由管理员指定。在一个实施例中,分析操作实际上是一系列的程序,其中每个程序使用一种特定的方法检测异常数据。操作或程序可以指定次序顺序执行,以使其结果最大化。下面提供对分析操作以及它们的执行方式的更详细的说明。
在步骤230,如果从数据库系统读取的数据检测到异常数据,则发信号通知。根据一个实施例,该通知可呈给指定的网络用户(例如管理员等)的邮件或页面的形式。该通知可触发用户人工检查潜在异常的数据,以确定实际上该数据是否是不正确的,或以其它方式表示对由数据库服务器130保持的数据的完整性的损害。
图3示出其中一系列程序顺序执行以分析来自数据库的内容数据的实施例。可分析该内容数据,以检测可能表示已经损害数据库的潜在事件发生的异常内容数据。例如,异常内容数据可表示由于内容数据不正常,所以数据库已经被入侵。进一步说明此实例。内容数据可相应于特定级别的用户待减免的量,异常数据可相应于指定为接收比其它人多的资金的本级别中的一个人。这种异常数据的存在可表示管理员应当调查异常数据是否是正确的。如果异常数据是不正确的,则管理员可调查以查看数据库是否被入侵,或具有将数据输入数据库的授权的人是否不正确地进行特定输入。
在后一情形下,管理员可调查错误是否是无意而为,或具有访问权的人是否恶意地故意输入异常数据。例如,管理员可发现,指定为接收更多资金的人也是可以访问数据库的雇员。在这种情况下,提示管理员,雇员可能有贪污行为或者有进行损害数据库完整性的进一步行动的倾向。
如提供的实例所表明的,异常内容数据的检测可提供很多关于已经影响数据库完整性的事件或甚至人的线索和信息。在例如图3所描述的实施例中,在相同的内容数据元或内容数据上顺序执行分析程序,以确定该内容数据中是否有异常的。例如,一个程序限定为异常的数据可与另一程序限定的数据不同。这样,实施例(例如图3所描述的)提供了当确定是否存在异常内容数据时,连续的程序可在数据库的内容数据的部分上执行。该存在异常内容数据的决定可提供已经产生异常数据的各种事件或情形发生的线索或指示。在图3的描述中,参看图1的元素,仅示出用于执行正在描述的方法的步骤或功能的适合的部件。
在步骤310中,内容数据从数据库读取。例如,内容数据可能从保持数据库132的数据库服务器130读取。
在步骤315,从数据库132取回的内容数据的至少部分为了分析而被识别。在一个实施例中,通过使内容数据的每部分经受一系列连续的分析程序而分析该部分。可一次一个地或同时分析该内容数据的不同部分。
步骤320提供了第一分析程序在从数据库132读取的内容数据上执行。该程序自身可包括以想要的次序执行的一系列操作。例如,该程序可相应于用于检测内容数据中的异常的算法。
在步骤330,确定第一分析程序是否检测用于特定数据内容或一组数据元的异常数据。该异常数据可相应于不正常的内容数据或比其它数据更可能是不正确的数据。在一个实施例中,第一分析程序定义了一个或多个确定数据何时异常的准则。第一分析程序可检查从数据库132读取的数据,以确定从数据库读取的内容数据是否满足由该程序指定的一个或多个准则。例如,每个数据元,例如储存在数据库中的数据对象的一个或多个值,可通过由第一分析程序定义的算法被分析。
作为另一实例,该算法可同时将数据元与从数据库132读取的其它数据元进行比较,以确定当该数据元与其它数据元进行比较时是否是不正常的。作为另一实例,第一程序的算法可将单独的数据元与先前从数据库读取的其它数据元进行比较。例如,当已知该数据库是安全的并且未受损害时,从该数据库读取的一组比较数据可提供在执行第一(以及随后的)分析程序时用于比较的一组数据。
如果步骤330中的确定是被分析的数据元是异常的,则步骤335提供了产生通知并发信号通知。在一个实施例中,指定的个人或代理发送已经发现异常内容数据的通知。该通知可以是电子邮件、页面的形式或发消息的其它形式,尽管该通知可能象可发声警报或灯的闪光一样简单。在一个实施例中,该通知指定触发该通知的特定数据值或数据元。在另一实施例中,该通知识别通知中被连续程序分析的内容数据的部分。
如果步骤330中的确定是,第一分析程序不检测异常数据,则步骤340确定可在相同内容数据上执行的另一分析程序是否存在。在一实施例中,多个程序(每个都使用截然不同的算法)可在相同的内容数据上执行。如果步骤340中的确定是,不存在其它分析程序来分析特定内容数据,则步骤345识别步骤310中读取的内容数据的另一部分是否保持待被分析。如果步骤345中的确定是从步骤315保留其它内容数据,该内容数据的另一部分存在,则从步骤315重复该方法。
如果步骤340中的确定是用于内容数据的特定部分的另一分析程序存在,则该方法从步骤330重复,直到这一系列的程序中的所有程序都为从数据库132读取的内容数据元顺序执行。如果任何一个程序都触发通知,则步骤335发送该通知。
如果存在需要被分析的额外的内容数据,则提供用于使用另一程序在该内容数据上执行另一分析操作的步骤350。在此步骤执行的特定程序可以执行多个程序的次序指定。
如果步骤345中的确定是,从步骤315不存在其它内容数据,则该方法在步骤350结束(直到另外的数据被从数据库132读取为止)。在完成详述或突出该通知或在内容数据的不同部分上的各种分析程序的结果的方法后可产生报告。该详述、突出、或结果也可存档。
在一实施例中,可周期性地或根据某一进度表读取来自数据库132的内容数据。一旦被读取,则可执行例如图3描述的方法。可选地,可响应某一无计划的事件读取内容数据。例如,管理员或其它网络用户可人工触发例如图3描述的方法以被执行。
虽然例如图3中描述的实施例提供了在一组特定的内容数据上顺序执行所有的分析程序,另一实施例提供了同时或至少彼此对立地执行分析程序的至少一些。例如,这种实施例可提供无需注意第一分析程序何时启动或完成,就可执行第二分析程序。
图4示出根据本发明的一实施例用于将空数据库系统的内容数据的方法。该内容数据可被监控,以检测可能已经不正确地改变监控的数据库的内容的多个事件的发生。这样事件的实例包括黑客攻击、恶意软件的出现、改变内容数据的有意的但是授权的不法行为、或将错误值输入到数据库中的偶然的数据输入。
在图4的描述中,参看图1的内容,仅示出用于执行正描述的方法的步骤或功能的适合部件。对于一组内容数据元,例如图4中描述的方法执行一系列政策以确定是否有内容数据是异常的。该政策实际上是程序,且每个政策都具有定义内容数据何时是异常的参数和条件。
图4提供的方法假定,来自数据库132的内容数据已经读入DAS 110。例如,在以下提供的描述中,假定取数引擎114已经将内容输入读入DAS 110,其中政策引擎116和商务规则程序的组合将执行政策以确定是否有内容数据应当引起注意,或触发通知。
在一个实施例中,步骤420-460顺序执行,从而在一个步骤在另一步骤结束时执行。在另一实施例中,步骤420-460同时执行。更进一步,这些步骤可彼此对立地执行。在一个实施例中,各个步骤何时被执行的特定定时可由网络管理员或操作者指定。
步骤410提供了建立用于执行分析程序的一个或多个的参数。每个程序可要求不同组的比较参数。在一实施例中,比较参数的至少一些由网络管理员或操作者定义。将参看以下详述的具体政策更详细地描述每个政策所要求的比较参数。
步骤420-460识别执行的政策,其中每个政策都时待在内容数据上执行的特定类型的分析。每个政策均可由政策引擎116执行。具体程序或用于执行这些程序的指令可储存在政策引擎116中,或储存在别处,例如库中,其中政策引擎116能得到这些政策。
在步骤420,执行指定用于在内容数据上执行平均分析的政策。在一个实施例中,由处理取数引擎114读取的一列数据以确定,对于列中的数据,(1)所有值的平均值,(2)这些值的最大值,(3)这些值的最小值。然后列中的每个数据元都与平均值、最大值和最小值进行比较。这些比较参数(在步骤410中识别)定义一个具体数据元不同于平均值、最小值、和/或最大值的可能范围或区域。
例如,比较参数可定义数据元的值可从平均值变化20%、从最小值或最大值变化5%。如果超出该区域,则将数据元确定为异常的。如图3所述,通知可以信号发出或发送。在一个实施例中,如果作为这个步骤的结果,将具体数据元认为是异常的,则该具体数据元后来不被其它政策处理。
在步骤430,执行指定用于在内容数据上执行分布式分析的程序的政策。该分布式程序将数据元的范围值与指定的一组准则进行比较。该指定的一组准则可在步骤410中获得。在一个实施例中,如果有数据元具有超出指定准则的范围值,则将那些数据元标记为异常的。不需要对那些数据元作进一步的分析。而且,如果在此步骤中检测到潜在异常的数据元,则通知可以信号发出或发送给指定的接收者。
为了提供一实例,一列特定的数据可列出包括公司职员薪水的值。可定义指定大于$100,000的薪水值作为异常的一组准则。然后,检查列中的每个数据元以识别该具体数据元薪水值。如果薪水值超过$100,000,则通知以信号发出或发送。
步骤440提供了执行指定用于在从数据库取回的内容日期上执行数据挖掘分析的程序的政策。该数据挖掘分析可基于两个或更多个变量或参数将数据元聚集在一起。例如,每个数据元可相应于为单独的雇员概要(profile,配置文件)的对象。可被分析的对象的变量包括位置和薪水。对于给定的一组数据元,可通过位置和薪水将单独的雇员概要归并在一起。然后,如果确定一雇员概要位于该簇外部,则将该雇员概要识别为异常。例如,可确定一雇员具有比与其位置相同的其他雇员高得多的薪水。作为另一实例,可确定一雇员具有公司中其他人没有的位置。这些实例的每个都可触发特定的雇员概要被认为是异常的。用于此步骤中的特定变量以及该簇的各个值可允许的偏差都是在步骤410中获得的比较参数的部分。
在步骤450,执行指定将从数据库取回的内容数据分成类的程序的另一政策。然后,在步骤455中,再次执行在步骤420-440的一个或多个中详述的程序,除了为根据具体类别分类的数据元修改该程序外。当为特定的类别执行步骤420-450时,用来确定有无异常数据的标准可为这些类别专门定义。这些类别可由网络的管理员/操作者定义。在步骤410中可获得用在执行在步骤420-440中详述的每个程序中的类别具体准则。
步骤460提供了执行指定使用商务规则或其它预定规则确定内容数据是否异常的程序的另一政策。商务规则包括用户定义的规则。例如,用户定义的规则可为特定的商业环境而执行,例如公司特定安全政策。在一个实施例中,这些规则可构造成SQL队列的形式。这种规则可由存在被监控的数据库的网络的管理员或操作者定义。预定义规则是指可包括在网络上执行DAS之前存在与DAS 110上的制造业定义规则的规则的较大类别。在一个实施例中,预定义规则说明卖主指定的“最佳实施”政策。这种最佳实施政策举例来说提供带有公知的哑口令和注册的数据库。尽管这些口令和注册是众所周知的,并不是所有管理员都实际上知道它们存在。预定规则可被配置为从这样的最佳实施政策自动消除潜在的违反安全性。
在一个实施例中,商务规则可由DAS 110的商务规则程序112管理。政策引擎114可应用商务规则。产生商务规则的能力使得DAS 110能延伸到特定的网络环境。例如,威胁一公司的内容数据的事件类型可不同于威胁另一公司的内容数据的事件类型。在例如所描述的实施例中,每个公司都能定义其自己的商务规则,以满足其自身需要。而且,制造者可具有其客户没有的专家经验。该制造者可提供带有预定规则的装置(例如DAS 110),以便于客户使用。
尽管例如图4所示的实施例详述了执行政策的特定顺序,但是其它实施例可使用其它顺序执行相似的政策。可选地,执行政策的顺序可由网络用户或管理员定义。
图5示出通过监控数据库相同的系统目录的改变监控数据库系统的方法。在描述图5的方法中,参看图1的内容,仅示出用于执行所描述的方法的步骤或功能的适合的部件。一般而言,数据库系统目录包含关于表、列的元数据和正在被监控的数据库系统的数据元。该系统目录将例如提供特定数据库表的列和模式的定义。该系统目录也可提供数据元、列、和表如何彼此相关的定义。
在步骤510,获得已知为精确的系统目录,作为用于将来比较的参考文件。该系统目录举例来说可在已知该系统目录为精确的时从数据库132读取。例如,这可相应于刚在已经审计数据库后的事件。可选地,系统目录的副本可直接输入该系统。这个系统目录作为为后来分析进行比较的基础。
在步骤520,待分析的另一系统目录从数据库132读取。在读取第一系统目录随后的时间段,可从数据库132读取下一系统目录。在一实施例中,以网络管理员指定的间隔周期性地执行步骤520。例如,为了使该方法的有效性最大化,每分钟或每几秒执行步骤520,以在第一系统目录和后来的系统目录之间执行比较。可选地,当预料几乎没有事件扰乱数据库服务器530时,可每周一次地执行步骤520。
在步骤530,执行分析操作或程序,以将第二系统目录与第一系统目录进行比较。执行分析,以确定自从第一系统目录从数据库132读取的时间以来第二系统目录如何改变。
步骤540提供了产生详述改变随后的系统目录的方式的报告。例如,可列出系统目录的所有变化的列表,可识别为特定表创建的所有新列,和/或列出对另一表的模式修改。在努力确定随后的系统目录和第一系统目录之间是否异常的过程中,可由网络的保安人员或管理员检查报告。潜在的异常可触发管理员或保安人员作出反应。
作为执行步骤540的可选方案,提供了用于纲领性地(programmatically)确定在两个系统目录之间的比较中是否存在异常数据的另一方法。如果确定异常存在,则发送通知给网络的管理员或保安人员。这样,这样的实施例将自动操作否则将人工执行的步骤。
图6示出通过检测分配给网络上的用户的特权的变化而监控数据库系统的方法。除非特权被监控,否则总是有这样的可能性,某人可发现一条在网络上访问和编辑其自身特权以获得对网络资源的更多访问和控制的路径。如果某人的一组特权被不正常地修改或获得,则滥用的检测将变得非常困难。给予用户的新特权仅增强用户的授权的活动,从而使得其滥用的检测更加困难。在描述图6的方法中,参看图1的内容,仅示出用于执行描述的方法的步骤或功能的适合的部件。
步骤610提供了从已知用于识别网络上的用户特权的特权数据是精确的时起储存该特权数据。例如,特权数据可在其已经被人工检查和调查后被储存。这也可相应于例如在特定时间(其中安全地认为特权数据没有错误或滥用)已经从数据库服务器130读取的一列特权数据。
在步骤620,从正在被监控的数据库服务器130读取特权数据。这可在从数据库服务器130获得一组最初的特权数据之后的任何时间执行。在一个实施例中,读取这种数据的频率由管理员确定。
在步骤630,将在步骤620中读取的特权数据与在步骤610中读取的特权数据进行比较,以确定特权数据是否存在任何异常暗示。在一实施例中,特权数据的任何变化可触发比较操作,以表明存在异常。然而,在另一实施例中,在表明异常之前特权数据中的变化必须满足某些准则。例如,可要求网络上特权数据改变的数目保持低于指定数目。可选地,可忽视某些低级特权的变化。
如果在步骤630中确定不存在异常,则在步骤635中假定在步骤620从数据库服务器130读取的特权数据是正确的。在一个实施例中,在例如所示出的方法的随后执行中将此特权数据用作比较基出。
在一实施例中,如果特权中存在变化或其它异常,则步骤640提供了产生通知,以通知特权数据中的变化给管理员和/或保安人员。该特权数据中的变化可以是严重违背网络安全。
为了监控特权,过去的方法是周期性地检查网络上的用户特权。典型地,这通过人工完成,从而如果已经给予用户比其应当拥有的特权更多的特权,则该人工检查将最终检测到它。在这种情况下,网络易遭受这样的情形,用户可以使用其特权,改变特权,然后使用新授权来使用先前不能使用的网络资源。然后该用户可将其特权改回其原始设置,以避免检测。
由于特权数据可自动读取和分析,所以例如图6描述的实施例解决了这样的问题。而且,特权数据可连续读取,或至少以使得特权数据的快速变化能被检测到的频率读取。
作为640的可选方案,另一实施例提供了产生概述、或至少突出这两组特权之间的变化或差异和/或由于变化/差异而被发送的通知的报告。
根据一个实施例,可一次读取元数据(例如系统目录)和特权数据。可选地,可在不同时间读取不同类型的数据。例如,在不同时间可从数据库服务器130读取需要更多处理资源的内容数据,以确保DAS 110没有过载。
根据一实施例,分析内容数据、元数据、和特权的方式可在特定网络上进行修改,以说明使用网络的方式以及感兴趣的时间发生的历史方式。这样的实施例整合了趋势数据,以修改为了检查异常而分析各种类型的数据的程序的执行。
图7示出为了调整执行用于识别异常数据的一个或多个程序的方式将学习模式用于分析趋势数据的方法。与先前的实施例一样,对图1中的内容的参考仅示出用于执行描述的方法的步骤或功能的适合的部分。例如,根据图7中描述的实施例,DAS 110配置为监控数据库事件,以调整其程序的执行,从而其能更好地确定何时保证通知。
步骤710提供了数据从数据库服务器130读取。其中数据可从数据库服务器130读取的方式已经在向前的实施例中作了描述。
在步骤720中,确定在DAS 110上激活“学习模式”。该学习模式可对应于DAS 110获得趋势数据的模式或其它过去的历史活动的表示,且处理趋势数据以察看网络管理员/操作者作出的通知、结果、和/或确定如何被使用。是否激活学习模式是用户选择。例如,可提供其中图标或其它特性的选择可触发学习模式成为活动的用户接口给管理员。以类似的样式,管理员可取消选定学习模式。
如果学习模式被激活,则步骤730提供了趋势数据被获得。该趋势数据可以多种方式被获得。该数据库服务器130可报告由DAS110转换成趋势数据的数据。另一模块可监控数据库活动,以确定由被指定以接收该通知的管理员/操作者执行的活动。可选地,DAS110可观察数据库服务器130。该趋势数据的主题可包括是否响应异常数据的过去的检测采取纠正活动,以及那些纠正活动包括什么。
步骤740提供了基于趋势数据更新可由DAS 110执行的一个或多个分析程序。趋势数据可影响分析程序的复杂度可变化。在简单的等级上,连续忽视的重复的异常可在趋势数据中观察到。然后,随后对该若定异常的检测可被DAS 110忽略。在更复杂的等级上,统计分析可用于分析趋势数据以寻找细小区别。
在一个实施例中,作为学习模式活动的结果,可通知网络管理员或操作者对分析程序作出的任何改变。可给予管理员或操作者拒绝对识别为学习趋势数据的结果的任何更新的机会。
在步骤750,分析程序被更新,然后在从数据库服务器130读取的数据上执行。例如,至少为从数据库132取回的数据的特定列或行改变用于执行平均程序或分布式程序的比较参数。对于在图5中描述的方法中分析的特权数据,为比较基础的特定特权可使用趋势数据更新。类似地,在图6中描述的方法中,为进行比较的基础的系统目录可类似地被更新。对图4-6中描述的基于学习趋势数据的方法的其它更新也是可能的。
如果在步骤720中,确定学习模式没有被激活,则步骤760使用建立的分析程序对从数据库读取的数据进行分析。
在步骤750或步骤760之后,步骤765确定是否检测到异常数据。这样,学习模式是活动的这一事实不会阻碍DAS 110执行其分析程序。如果检测到异常数据,则步骤750提供了通知被发送。此外,方法从步骤710开始重复。即,可能在后来的时间,另外的数据从数据库取回。
在一个实施例中,如果学习模式被激活,且异常数据被检测到,则步骤710后来的重复可使用被减活的学习模式执行。这可便于异常模式考虑在趋势数据中。
由于由例如图7中描述的方法提供的结果,否则将确定为潜在异常的某些内容数据可基于过去的事件被忽视。例如,相应于雇员薪水的内容数据可被监控。在监控期间,建立雇员的新薪水在雇员的新位置之前被记录的趋势。
这样,例如,从初级晋升到高级的雇员记录可表明雇员已经受到大的提升,且几天或几周后表明雇员具有新岗位。虽然新薪水对于雇员以前的工作来说是异常的,但是可使用例如图7的方法,从而DAS 110可知道在雇员新薪水被记录的时间和雇员岗位被记录在数据库132中的时间之间存在延迟。DAS 110认可对应于雇员薪水的潜在异常数据不需要通知。相反,DAS 110可等待以察看是否记录将随后表明该雇员的岗位已经改变。
可由例如所描述的实施例提供的一个特性包括报表生成程序。报表生成程序可以是为网络管理员/操作者产生报告的自动机制。该报表生成程序可以是模块或形成DAS 110(图1)的部件的类似逻辑。该报告可概述或突出遇到的特定异常。此外,可在报告中描述趋势数据或趋势数据的结果。在一个实施例中,报告也起代替通知的作用。
可由例如所描述的实施例提供的另一个特性包括存档机制。该存档机制记录关于DAS 110的使用的各种信息。遇到的所有异常数据的记录也包含在该信息中。此外,趋势数据或趋势数据的结果可被存档。该存档机制也可以是模块或DAS 110(图1)的其它部件。
硬件概述图8示出根据可执行的本发明的实施例的一计算机系统800的框图。计算机系统800包括总线802或其它用于传送信息的通信机制以及处理器804,其与总线802连接,用于处理信息。机算机系统800还包括主存储器806,例如随机存取存储器(RAM)或其它动态存储装置,与总线802结合用于储存信息和待被处理器804执行的指令。主存储器806也可用于储存执行待被处理器804执行的指令期间的临时变量或其它中间信息。计算机系统800还包括与总线802结合用于储存静态信息和用于处理器804的指令的只读存储器(ROM)808或其它静态存储装置。存储装置810,例如磁盘或光盘,被设置和连接到总线802,用于储存信息和指令。
计算机系统800可经由总线802与例如阴极射线管(CRT)等用于将信息显示给计算机用户的显示器812相连。输入装置814,包括字母数字和其它键,与总线802相连,用于传送信息和命令选择给处理器804。另一类型的用户输入装置是光标控制器816,例如鼠标、跟踪球、或光标方向键等,用于将方向信息和命令选择传送给处理器804,和用于控制在显示器812上的光标移动。这种输入装置通常在两个轴上具有两个自由度,这两个轴即第一轴(例如x)和第二轴(例如y),允许该装置在平面上指定位置。
本发明涉及用于执行上述技术的计算机系统800的使用。根据本发明的一个实施例,响应于处理器804执行包含在主存储器806中的一个或多个指令的一个或多个序列,那些技术由计算机系统800执行。这样的指令可从例如存储装置810等另一计算机可读介质读入主存储器806。包含在主存储器806中的指令序列的执行使得处理器804执行本文中描述的处理步骤。在可选实施例中,硬连线电路可用于代替软件指令或与软件指令结合来实施本发明。这样,本发明的实施例不限于硬件电路和软件的任何具体结合。
如本文中所用的,术语“计算机可读介质”是指参与提供指令给处理器804进行执行的任何介质。这样的介质可采用很多形式,包括但不限于非易失性介质、易失性介质、和传输介质。非易失性介质包括,例如光盘或磁盘,诸如存储装置810。易失性介质包括动态存储器,例如主存储器806等。传输介质包括同轴电缆、铜线、和光纤,包括包含总线802的导线。传输介质可采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的波。
计算机可读介质的通用形式包括,例如,软盘、软磁盘、硬盘、磁带、或任何其它磁性介质、CD-ROM、任何其它光学介质、穿孔卡、纸带、任何其它带有孔的物理介质、RAM、PROM、和EPROM、FLASH-EPROM、任何其它存储芯片或模块、如下文中描述的载波、或任何其它计算机可读的介质。
计算机可读介质的各种形式可参与将一个或多个指令的一个或多个序列传送到处理器804以被执行。例如,该指令可最初承载在远程计算机的磁盘上。该远程计算机可将该指令装入其动态存储器并在使用调制解调器的电话线上发送该指令。计算机系统800本地的调制解调器可接收电话线上的数据,并使用红外发射器将该数据转变为红外信号。红外探测器可接收在红外信号中承载的数据,且适当电路可将该数据放到总线802上。总线802将该数据传送到主存储器806,处理器804从该主存储器取回和执行该指令。由主存储器806接收的指令在被处理器804执行之前或之后可选地储存在存储装置810上。
计算机系统800也包括与总线802相连的通信接口818。通信接口818提供与连接到本地网822的网络链路820耦合的双向数据通信。例如,通信接口818可以是综合业务数字网(ISDN)卡或调制解调器,以提供到相应类型的电话线的数据通信连接。作为另一实例,通信接口818可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。无线链路也可被实施。在任何这样的实施中,通信接口818发送和接收承载表示各种类型的信息的数字数据流的电信号、电磁信号、或光信号。
网络链路820通常提供通过一个或多个网络的数据通信给其它数据装置。例如,网络链路820可提供通过本地网822到主机824或到由互联网服务提供商(ISP)826操作的数据设备的连接。ISP 826又通过现在通常称为“互联网”828的万维分组数据通信网络提供数据通信服务。本地网络822和互联网828都使用电信号、电磁信号、或光信号承载数字数据流。通过各种网络的信号和网络链路820上的信号和通过通信接口818的信号(与计算机系统800交换数据)是传输信息的载波的示范性形式。
计算机系统800可通过网络、网络链路820、和通信接口818发送消息和接收数据,包括程序代码。在互联网实例中,服务器830可通过互联网828、ISP 826、本地网络822、和通信接口818传输应用程序的请求代码。
所接收的代码可在其被接收时由处理器804执行,和/或储存在存储装置810或其它非易失性存储器中用于以后执行。以此方式,计算机系统800可获得呈载波形式的应用代码。
在上面的详细说明中,已经参看诸多实施方式不同的具体细节描述了本发明的实施例。因此,本发明的或被申请人认为是本发明的单独而排他的指示是以这样的权利要求出现的具体形式(包括任何随后的修正)由本申请产生的一组权利要求。本文中对包含在这样的权利要求中的术语明显阐明的任何定义应当决定如权利要求中使用的这些术语的意义。因此,没有在权利要求中明显列出的元件、性质、特性、优点、或属性不应以任何方式限定这样的权利要求的范围。因此,说明书和附图被认为是说明性的,而不具有限定的意义。
权利要求
1.一种用于监控数据库系统的方法,其中使用由一个或多个处理器组成的一组处理器操作所述数据库系统,所述步骤包括读取由所述数据库系统管理的数据元,其中所述数据元包括被储存为所述数据库系统的数据库中的内容的数据;在所述数据元上执行一组分析操作,以基于由这组分析操作定义的准则识别为异常的一个或多个数据元;以及在识别所述一个或多个数据元是潜在异常时自动用信号发出通知;其中基本上使用这组一个或多个处理器外部的处理资源执行包括所述方法的步骤。
2.根据权利要求1所述的方法,其中执行所述方法的步骤,而不在所述数据库系统上执行任何代理。
3.根据权利要求1所述的方法,其中执行在所述数据元上执行一组分析操作的步骤,而不在这组一个或多个处理器上执行任何代码。
4.根据权利要求1所述的方法,其中读取由所述数据库系统管理的数据元包括读取关于所述数据库模式的元数据。
5.根据权利要求1所述的方法,其中读取由所述数据库系统管理的数据元包括读取表示一组特权的数据,所述特权用于使得所述数据库系统的一个或多个用户能对所述数据库内的数据执行察看、改变或删除操作中的至少一种。
6.根据权利要求1所述的方法,其中所述自动发信号通知的步骤包括发送电子邮件给至少第一指定的电子邮件地址。
7.根据权利要求1所述的方法,其中所述自动发信号通知的步骤包括寻呼至少第一指定的电话号码。
8.根据权利要求1所述的方法,执行一组分析操作包括将所述数据元的至少一些与先前读取的数据元进行比较。
9.根据权利要求4所述的方法,其中读取数据元包括读取所述数据库的系统目录,其中在所述数据元上执行一组分析操作以识别一个或多个数据元包括将所述系统目录与先前从所述数据库读取的系统目录进行比较。
10.一种用于监控数据库系统的方法,所述方法包括识别储存为所述数据库系统的数据库内的内容的一组数据元;以及在这组数据元上执行一系列分析程序以识别所述数据库内为潜在异常的数据。
11.根据权利要求10所述的方法,其中识别一组数据包括从所述数据库系统读取这组数据。
12.根据权利要求11所述的方法,还包括从外部机器读取来自所述数据库系统的这组数据。
13.根据权利要求10所述的方法,其中执行一系列分析程序包括在所述数据元上执行第一程序,以基于这组数据元的第一特征作出关于所述数据库中是否有数据是异常的第一决定,和在所述数据元上执行第二程序,以基于这组数据元的第二特征作出关于所述数据库中是否有数据是异常的第二决定。
14.根据权利要求13所述的方法,其中执行一系列分析程序包括在所述数据元上执行第三程序,以基于这组数据元的第三特征作出所述数据库中是否有数据是异常的第三决定。
15.根据权利要求10所述的方法,其中执行一系列分析程序包括将这组数据元与由用户定义的一组参数进行比较。
16.根据权利要求13所述的方法,其中执行一系列分析程序包括确定这组数据元中的两个或更多个数据元的最大值、这组数据元中的两个或更多个数据元的最小值、以及这组数据元中的两个或更多个数据元的平均值。
17.根据权利要求16所述的方法,其中执行一系列分析程序包括将所述最大值、所述最小值、和所述平均值中的至少一个与先前确定的值进行比较。
18.根据权利要求13所述的方法,其中执行一系列分析程序包括从这组数据元选择一组数据,并确定这组数据的特征。
19.根据权利要求18所述的方法,其中确定这组数据的特征包括确定这组数据中的最大值数据元、这组数据中的最小值数据元、这组数据中的平均值数据元中的一个或多个。
20.根据权利要求1 8所述的方法,其中选择一组数据包括基于一个或多个用户定义的参数选择这组数据。
21.根据权利要求10所述的方法,其中执行一系列分析程序包括使用统计分布聚集从这组数据元识别的值,然后使用统计分布识别所述数据库内为潜在异常的数据。
22.根据权利要求21所述的方法,其中执行一系列分析程序包括基于定义所述数据库内单独数据元的两个或更多个参数的范围,识别单独的数据元的数据点。
23.根据权利要求22所述的方法,其中所述两个或更多个参数对应于识别单独的数据元的一行的第一参数和识别单独的数据元的一列的第二参数。
24.根据权利要求10所述的方法,其中执行一系列分析程序包括将这一系列的分析程序的一个或多个的结果与先前在从所述数据库识别的一组数据元上执行一个或多个分析程序系列的结果进行比较。
25.根据权利要求10所述的方法,其中执行一系列分析程序包括将这一系列分析程序的一个或多个的结果与指定的一组结果进行比较。
26.根据权利要求10所述的方法,还包括如果识别到潜在异常的数据,则自动发信号通知。
27.根据权利要求26所述的方法,其中发信号通知包括发送电子邮件到指定的电子邮件地址。
28.根据权利要求26所述的方法,其中发信号通知包括寻呼指定的电话号码。
29.根据权利要求10所述的方法,还包括将在一种或多种情况下执行这一序列的分析程序的结果编辑成报告。
30.根据权利要求29所述的方法,还包括将所述潜在异常的数据编辑成报告。
31.根据权利要求10所述的方法,还包括使潜在异常的数据与使所述数据被储存在所述数据库中的事件相关联。
32.根据权利要求31所述的方法,还包括将使得异常数据被储存在所述数据库中的多个事件归档。
33.一种用于监控数据库系统的方法,所述方法包括在指定时间间隔中的一种或多种情况下,识别储存为所述数据库系统的数据库内的内容的一组数据元;识别这组数据元在所述指定的时间间隔上如何修改的趋势数据;以及基于所述趋势数据执行一个或多个分析操作,以识别所述数据库内的潜在异常数据。
34.根据权利要求33所述的方法,其中所述执行一个或多个分析操作的步骤包括基于所述趋势数据调整所述一个或多个分析操作。
35.根据权利要求33所述的方法,其中所述执行一个或多个分析操作的步骤包括基于所述趋势数据选择所述一个或多个分析操作。
36.根据权利要求33所述的方法,识别这组数据元如何被修改的趋势包括在由用户指定的时间内识别所述趋势数据。
37.根据权利要求33所述的方法,还包括一旦所述指定时间间隔结束,则重复识别一组数据元的步骤,然后基于在所述指定的时间间隔期间识别的所述趋势数据执行所述一个或多个分析操作。
38.根据权利要求33所述的方法,其中识别一组数据元包括从所述数据库系统的数据库读取这组数据元。
39.根据权利要求33所述的方法,其中在所述指定的时间间隔上的多种情况下重复所述识别一组数据元的步骤,且其中识别这组数据元如何被修改的趋势数据的步骤包括在每个识别这组数据元的实例后更新所述趋势数据。
40.根据权利要求33所述的方法,还包括如果识别到潜在异常的数据,则自动发信号通知。
41.根据权利要求40所述的方法,其中发信号通知包括发送电子邮件到指定的电子邮件地址。
42.根据权利要求40所述的方法,其中发信号通知包括寻呼指定的电话号码。
43.根据权利要求33所述的方法,还包括将执行所述一个或多个分析操作的结果编辑成报告。
44.根据权利要求33所述的方法,还包括将所述潜在异常的数据编辑成报告。
45.根据权利要求33所述的方法,还包括使潜在异常的数据与使所述数据被储存在所述数据库中的事件相关联。
46.根据权利要求45所述的方法,还包括将使得异常数据被储存在所述数据库中的多个事件存档。
全文摘要
本发明提供了用于监控数据库系统的技术。可将一组数据元从数据库系统读入一装置。所述装置可以位于所述数据库系统外部。在所述装置处,对所述数据元执行一组分析操作,以识别是否有数据元满足被认为是潜在异常的准则。如果识别到潜在异常的数据,则发信号通知。
文档编号G06F7/00GK1643520SQ03806438
公开日2005年7月20日 申请日期2003年2月24日 优先权日2002年2月22日
发明者坂本绍夫, 阿马尔纳特·慕克杰吉, 弗兰克·苏迪亚, 塞珊·拉杰 申请人:Ip锁有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1