数据库安全审计方法

文档序号:6640883阅读:900来源:国知局
数据库安全审计方法
【专利摘要】本发明数据库安全审计方法,包括以下步骤:数据库网络通信数据采集;数据库网络通信协议解析;审计规则自学习挖掘;数据库风险事件入侵检测;数据库用户权限评估;追踪原始用户的三层关联。本发明数据库安全审计方法,通过对数据库的实时审计和监控,能够实现自动化的评估、审计、保护、入侵检测操作;能够预防、记录、追踪完整的数据库操作行为,帮助管理员及时发现对数据库的越权使用、权限滥用、权限盗用等内部安全问题;并且能够防范SQL注入等外部攻击。
【专利说明】数据库安全审计方法

【技术领域】
[0001] 本发明涉及数据库安全领域,特别涉及一种数据库安全审计方法。

【背景技术】
[0002] 2009年11月IBM收购数据库安全软件Guardium,并在2010年首度发布升级产品 InfoSphereGuardium8。Guardium提供的功能包括数据库扫描与评估、检测数据库事务、 跟踪用户活动、监控敏感数据、审计用户行为、非法访问自动阻断、复杂但灵活的审计报表 等功能。
[0003] ImpervaSecureSphere是全球数据安全的领导厂商Imperva推出的数据安全和 法规遵从解决方案。Imperva支持非在线网络监控、透明的在线保护、基于代理的监控三种 部署方式。提供的主要功能有:1)数据库评估,检测数据库漏洞,并以虚拟方式进行修补。 评估数据库用户权限,统计数据库用户对数据库的访问情况;2)数据库监控和审计:详细 记录审计结果,以及审计系统运行状态,采用大量的过滤条件提供灵活的审计结果分析报 表;3)数据库安全报表:提供灵活的模板控制,生成合规性审计报告等。
[0004] DBProtect是ApplicationSecurity公司推出的数据库安全保护解决方案。 ApplicationSecurity公司建立了庞大的知识库SHATTER,用于支持数据库脆弱性检测和 非法访问监控。DBProtect能够自动发现域内的所有数据库服务器,扫描数据库漏洞,并通 过最小的访问权限分析数据库的用户权限。以此评估数据库的安全性。DBProtect通过用 户定义的策略配置需要监控和审计的数据库安全规则,分析并生成审计报告。DBProtect 采用Web控制台对系统进行控制,主要功能有:资产管理,自动扫描域内的数据库服务器; 脆弱性管理,利用知识库SHATTER定时扫描数据库漏洞,并自动发送扫描结果报告;权限管 理,分析数据库用户的权限授予情况和特权用户分布情况等,协助管理员判断数据库权限 分配是否安全;审计和风险管理,定制审计策略、报警管理、适时监控、系统设置等;分析和 报告,对审计结果进行分析并提供丰富的选项灵活生成审计报告。
[0005] 国内主要有杭州安恒信息技术有限公司的明御⑩数据库审计与风险控制系统(简 称:DAS-DBAuditor)是安恒信息自主研发的数据库审计产品。系统提供细粒度的数据库行 为审计,能够准确回溯数据库行为,全方位地控制数据库业务安全。系统使用旁路监听的方 式记录数据库用户对数据库服务器所做的各种操作。通过对操作日志库的查询、分析、统 计,实现对目标数据库系统的用户操作的监控和审计。系统使用C/S架构,用户必须通过在 终端安装客户端使用系统,使系统的跨平台、跨地域管理性受到限制。另外,系统只提供内 置的审计报告。
[0006] 北京思福迪(SAFETY)信息技术有限公司的"L0GBASE日志管理综合审计系统",是 其拥有自主知识产权的国内唯一的数据库运行安全与合规性管理的整体解决方案。其客户 包括政府机关、电信运营商、金融机构、安全评测机构等。L0GBASE采用旁路监听的模式记录 所有的数据库行为,并对其进行审计,生成合规性报告。记录所有的数据库行为造成巨大的 数据存储压力,而且记录的数量受到存储设备空间的限制。当存储空间不足时系统不再记 录新的数据库行为成为LOGBASE的硬伤。另外,LOGBASE自行分析各个数据库协议,尤其对Oracle数据库的SQL语句中的绑定变量不能很好地支持,也是L0GBASE的一个重大缺陷。
[0007] 此外,还有天融信的网络卫士数据库审计系统TopAudit-DBV3. 1,北京安信通的 数据库审计系统,北京国都兴业的数据库审计系统等,这些产品的功能跟上面介绍的产品 大致相同,在此不再描述。
[0008] 目前对数据库入侵检测的研宄主要分为两类:构建SQL查询结构轮廓和构建数据 库用户行为轮廓。SQL查询结构的研宄旨在防范来自Web应用程序的SQL注入攻击。构建 数据库用户行为轮廓可以有效地检测到授权用户的异常行为。Zhong等人在文献中提出了 使用查询模板来挖掘用户查询中的频繁项集。Lee等人在文献中提出学习正常数据库事务 访问模式的指纹,并将其用于识别潜在的入侵。指纹是SQL查询的结构信息。如果查询无 法匹配任何现有的指纹库,则可能是攻击行为。Barbara等人在文献中使用隐马尔科夫模 型(HMM)和时间序列来检测恶意的数据冲突。将数据的修改描述为一个时间序列,通过训 练HMM来构建数据库行为模型,被HMM接受的可能性低的操作为恶意事件。Chung等人在 文献中使用工作区(working-scope)来发现频繁项集,频繁项集是一系列就有特定值的特 征,工作区表现了用户的行为轮廓,属性集合与工作区的关联程度通过距离来衡量。Lee等 人在文献中提出了对审计数据进行挖掘构建入侵检测模型的方法,首先通过人为分析选出 核心属性,挖掘审计数据得到关联规则和频繁序列模式,然后使用模式中的核心属性特征 计算分类器用以识别异常和已知攻击。Srivastava等人在文献中基于数据库表属性在数据 库恶意操作检测中的作用是不同的这一观点,提出了基于权重的事务规则挖掘,Bertino等 人在文献中将数据库基于角色访问控制的思想用于入侵检测,使用查询类型、访问表数目, 访问字段数目、访问表名、访问字段名等信息来表示一个查询,通过分类器构建角色信息用 于异常行为检测。Kamra等人在文献中对Bertino的方法进行扩展。当数据库是基于角色 进行访问控制,则根据角色来构建行为轮廓。如果数据库采用的是其他访问控制策略,则直 接对用户构建行为轮廓。
[0009] 关联规则挖掘首先由Agrawal等人提出。关联规则的挖掘可以分为2步:(1)找 出所有满足最小支持度计数阈值的项集,即频繁项集;(2)由频繁项集产生形如的强关联 规则。这些规则必须同时满足最小支持度阈值和最小置信度阈值。
[0010] Agrawal等人提出了用于挖掘频繁项集的Apriori算法,引入了Apriori性质:频 繁项集的所有非空子集也必须是频繁的。
[0011] 序列模式挖掘是挖掘频繁出现的有序事件或子序列,由Agrawal等人基于消费者 的购买序列首先提出,序列模式也成为频繁序列,Agrawal等人提出了序列模式的两种算 法:AprioriAll和GSP。Zaki等人提出了基于垂直格式的序列模式挖掘方法SPADE,Han等 人提出了序列模式挖掘的模式增长方法PrefixSpan以及其前驱算法FreeSpan。上述序列 模式挖掘方法都直接或间接地利用了Apriori性质:频繁序列的每个非空子序列都是必须 是频繁的。
[0012] 从上面可以看出,现有的数据库审计系统还存在着一系列的问题:对于国产的数 据库安全产品,数据库协议都是通过自行分析获得,并且由于技术限制,对于某些协议不能 够很好地解析;系统不提供数据库漏洞扫描和用户权限评估的功能,这些功能对于评估数 据库的安全状态时非常必要的;对于审计规则,只能通过勾选规则设置,不如以策略组织规 则灵活;LOGBASE记录全部的数据库行为,对于只关心满足审计规则事件的用户则会造成 很大的数据冗余;用户无法根据自己的数据库操作行为有针对性地进行审计、分析,通用的 审计规则导致大量的常规类报警事件,不能发现对数据库潜在的入侵行为的检测。


【发明内容】

[0013] 针对现有技术的不足之处,本发明的目的在于提供一种数据库安全审计方法,以 解决现有技术中无法对数据库进行权限管理、人工智能审计等问题。
[0014] 为实现上述目的,本发明采用的技术方案是:
[0015] 本发明数据库安全审计方法包括以下步骤:
[0016] 数据库网络通信数据采集;
[0017] 数据库网络通信协议解析;
[0018] 审计规则自学习挖掘;
[0019] 数据库风险事件入侵检测;
[0020] 数据库用户权限评估;
[0021] 追踪原始用户的二层关联。
[0022] 所述数据库网络通信数据采集:采用旁路监听方式捕获指定网络中的数据包,进 行IP分片重组和TCP会话重组,过滤掉与数据库协议流不相关的数据包,提取数据库协议 流相关的协议包中的数据。
[0023] 所述数据库网络通信协议解析:对所述提取协议包中的数据按照数据包类型采用 相应数据库协议解析模块还原数据库用户的登录、注销以及整个会话过程中的SQL请求操 作,对数据库协议解析到的SQL语句进行词法、语法分析形成统一格式的审计记录,储存至 审计日志库中。
[0024] 所述审计规则自学习挖掘为基于人工智能算法的审计规则自学习:对所述审计日 志库中的审计记录利用关联规则挖掘算法构建正常行为模式和异常行为模式;然后利用序 列模式挖掘算法构建序列模式,将正常行为模式、异常行为模式和序列模式构建用户行为 模式库。
[0025] 所述数据库风险事件入侵检测为基于人工智能的数据库风险事件入侵检测:利用 所述用户行为模式库中的频繁正常行为模式、频繁异常行为模式构建关联规则树;利用所 述用户行为模式库中的频繁序列模式构建序列规则树;用户对数据库进行操作时,利用所 述关联规则树和所述序列规则树对用户操作序列进行入侵检测,并对异常行为进行报警。
[0026] 所述数据库用户权限评估为基于人工智能的数据库用户权限评估:根据所述审计 日志库中的审计记录提取用户权限信息,利用K-means聚类算法对用户权限信息构建用户 权限模式,根据用户权限模式对数据库的权限进行数据库权限合理性评估。
[0027] 所述追踪原始用户的三层关联:从所述审计日志库中的审计记录中读取数据库操 作请求和http访问请求并进行数据预处理,对数据预处理后的数据进行关联规则挖掘,构 建数据库操作请求和http访问请求的关联规则,并将关联规则存入关联规则数据库;将实 时到达的数据库操请求与关联规则数据库中的关联规则进行匹配,从而获得发出数据库操 请求的原始用户的IP和用户名。
[0028] 所述的数据库权限合理性评估包括:
[0029] 用户权限过大的评估;
[0030] 用户活动状态的评估;
[0031] 同一类的用户的权限差异的评估。
[0032] 与现有技术相比,本发明具有的有益效果是:
[0033] 本发明数据库安全审计方法,通过对数据库的实时审计和监控,能够实现自动化 的评估、审计、保护、入侵检测操作;能够预防、记录、追踪完整的数据库操作行为,帮助管理 员及时发现对数据库的越权使用、权限滥用、权限盗用等内部安全问题;并且能够防范SQL 注入等外部攻击。

【具体实施方式】
[0034] 数据库网络通信数据采集:采用旁路监听方式捕获指定网络中的数据包,进行IP 分片重组和TCP会话重组,过滤掉与数据库协议流不相关的数据包,提取数据库协议流相 关的协议包中的数据。
[0035] 数据库网络通信协议解析:对提取协议包中的数据按照数据包类型采用相应数据 库协议解析模块还原数据库用户的登录、注销以及整个会话过程中的SQL请求操作,对数 据库协议解析到的SQL语句进行词法、语法分析形成统一格式的审计记录,储存至审计日 志库中。
[0036] 基于人工智能算法的审计规则自学习:对审计日志库中的审计记录利用关联规则 挖掘算法构建正常行为模式和异常行为模式;然后利用序列模式挖掘算法构建序列模式, 将正常行为模式、异常行为模式和序列模式构建用户行为模式库。
[0037] 用户行为模式包括用户正常行为规则、异常行为规则和正常序列模式,通过关联 规则算法和序列模式挖掘得到;自定义规则是从数据库审计系统的前台进行人工设定。
[0038] 基于人工智能的数据库风险事件入侵检测:利用用户行为模式库中的频繁正常行 为模式、频繁异常行为模式构建关联规则树;利用用户行为模式库中的频繁序列模式构建 序列规则树;用户对数据库进行操作时,利用关联规则树和序列规则树对用户操作序列进 行入侵检测,并对异常行为进行报警。
[0039] 对于一条实时的访问记录,入侵检测的顺序是如果该操作行为属于某用户权限模 式且该模式拥有当前操作权限,则判断当前操作行为为正常行为,否则是可能的异常行为, 需要进行下一步判定,即用户行为模式判定;如果该实时访问记录找到匹配的用户正常行 为规则或异常行为规则,将其判定为正常行为或异常行为,否则再进行序列模式匹配,匹配 上则是正常行为,不匹配则最后需要跟自定义规则做最后一步的判定。
[0040] 基于人工智能的数据库用户权限评估:根据审计日志库中的审计记录提取用户权 限信息,利用κ-means聚类算法对用户权限信息构建用户权限模式,根据用户权限模式对 数据库的权限进行数据库权限合理性评估。数据库权限合理性评估包括:用户权限过大的 评估、用户活动状态的评估和同一类的用户的权限差异的评估。
[0041] 从数据库审计系统中的历史访问记录中对用户进行聚类,并构建出用户权限模 式,每一类用户具有相同的权限模式。对于实时访问行为,获取用户名信息、数据库对象以 及操作类型构成权限信息,扫描用户权限模式库,如果在模式库中没有找到该用户名所在 的模式,则该条记录可能为入侵行为;如果在模式库中找到有该用户名的用户权限模式,判 断该模式的集合中是否具有操作记录的权限信息,如果有,则该条实时操作记录为正常行 为,否则可能为入侵行为。
[0042] 追踪原始用户的三层关联:从审计日志库中的审计记录中读取数据库操作请求和 http访问请求并进行数据预处理,对数据预处理后的数据进行关联规则挖掘,构建数据库 操作请求和http访问请求的关联规则,并将关联规则存入关联规则数据库;将实时到达的 数据库操请求与关联规则数据库中的关联规则进行匹配,从而获得发出数据库操请求的原 始用户的IP和用户名。
[0043] 权限评估:根据所述审计日志库中的审计记录提取用户权限信息,利用K-means 聚类算法对用户权限信息构建用户权限模式,根据用户权限模式对数据库的权限进行数据 库权限合理性评估。
[0044] 利用聚类算法从历史审计记录中构建的用户权限模式集合UPP,下面利用数据集DBP和UPP对用户权限设置过大、长时间未活动用户以及同一类用户之间权限是否差异过 大三方面的合理性评估方法进行具体描述。
[0045] 用户过多权限评估,数据库权限的设置应当遵循最小权限原则,数据库管理员往 往会因为缺乏应用系统的业务知识对数据库用户的最小权限难以把握。获得数据库中权限 设置过大的用户的方法有如下步骤:(1)扫描用户权限模式库UPP中的每个用户U; (2)获 取用户U在用户权限模式中的权限集合UP_PS; (3)再获取数据库权限集合DBP中该用户的 权限集合DB_PS;⑷计算权限集合UP_PS和DB_PS的距离,如果距离大于指定的阈值,则用 户U为权限设置过大的用户。其中由于UP_PS是从历史审计记录中提取出来的,当历史审 计记录足够多且采集的审计记录的时间跨度足够长时,如历史审计记录是采集数据库用户 U-年的操作行为,那么UP_PS中的权限能够代表用户U日常的正常行为操作所允许的所有 权限。
[0046] 未活动用户评估,在实际应用系统中,用户的权限信息需要在一定时间内进行更 新。例如对于学生系统,毕业后的学生,系统管理员需要对其权限进行更新,使其不能进行 选课退课等只有在校学生能进行的操作。此外,系统管理员也需对从未活动过的用户予以 关注。获得长时间未活动的数据库用户的方法如下:(1)遍历用户权限模式库UPP中的每 个用户U; (2)从历史审计记录中找到用户U最近的一条操作行为R; (3)如果该操作行为R 的执行时间与当前时间的间隔天数超过设定的未活动天数阈值,则将用户U判定为长时间 未活动的用户。从未活动的用户与长时间未活动用户的区别在于在历史审计记录中不存在 从未活动的用户的操作行为,那么用户权限模式库中不存在从未活动过用户的信息。因此, 获得从未活动过的用户的方法较简单,步骤如下:(1)扫描数据库权限集合DBP中的每个用 户U; (2)对用户权限模式库UPP进行遍历,如果UPP中不存在用户U的信息,则可断定用户 U一直处于未活动的状态。
[0047] 同类用户权限差异评估,属于同一个用户权限模式的数据库用户具有相同的操作 行为,在数据库中设置的权限应该也相差无几。对于权限设置差异过大的用户,数据库系统 管理员需要对其权限进行调整。为获得同类用户中权限设置差异较大的用户的方法步骤如 下:
[0048] (1)遍历用户权限模式UPP的每一个模式UP; (2)得到模式UP的所有用户的集合 US和中心用户UC; (3)遍历用户集合US中的每一个用户U; (4)从数据库权限集合DBP中 找到用户U的权限U_PS以及中心用户UC的权限UC_PS; (5)计算U_PS和UC_PS之间的差 异度,如果大于指定的用户权限之间的距离阈值,则判定U与中心用户UC的用户权限设置 差异过大。
【权利要求】
1. 数据库安全审计方法,其特征在于,包括以下步骤: 数据库网络通信数据采集; 数据库网络通信协议解析; 审计规则自学习挖掘; 数据库风险事件入侵检测; 数据库用户权限评估; 追踪原始用户的三层关联。
2. 根据权利要求1所述数据库安全审计系统,其特征在于所述数据库网络通信数据采 集:采用旁路监听方式捕获指定网络中的数据包,进行IP分片重组和TCP会话重组,过滤掉 与数据库协议流不相关的数据包,提取数据库协议流相关的协议包中的数据。
3. 根据权利要求1所述数据库安全审计系统,其特征在于所述数据库网络通信协议解 析:对所述提取协议包中的数据按照数据包类型采用相应数据库协议解析模块还原数据库 用户的登录、注销以及整个会话过程中的SQL请求操作,对数据库协议解析到的SQL语句进 行词法、语法分析形成统一格式的审计记录,储存至审计日志库中。
4. 根据权利要求1所述数据库安全审计系统,其特征在于所述审计规则自学习挖掘为 基于人工智能算法的审计规则自学习:对所述审计日志库中的审计记录利用关联规则挖掘 算法构建正常行为模式和异常行为模式;然后利用序列模式挖掘算法构建序列模式,将正 常行为模式、异常行为模式和序列模式构建用户行为模式库。
5. 根据权利要求1所述数据库安全审计系统,其特征在于所述数据库风险事件入侵检 测为基于人工智能的数据库风险事件入侵检测:利用所述用户行为模式库中的频繁正常行 为模式、频繁异常行为模式构建关联规则树;利用所述用户行为模式库中的频繁序列模式 构建序列规则树;用户对数据库进行操作时,利用所述关联规则树和所述序列规则树对用 户操作序列进行入侵检测,并对异常行为进行报警。
6. 根据权利要求1所述数据库安全审计系统,其特征在于所述数据库用户权限评估为 基于人工智能的数据库用户权限评估:根据所述审计日志库中的审计记录提取用户权限信 息,利用K-means聚类算法对用户权限信息构建用户权限模式,根据用户权限模式对数据 库的权限进行数据库权限合理性评估。
7. 根据权利要求1所述数据库安全审计系统,其特征在于所述追踪原始用户的三层关 联:从所述审计日志库中的审计记录中读取数据库操作请求和http访问请求并进行数据 预处理,对数据预处理后的数据进行关联规则挖掘,构建数据库操作请求和http访问请求 的关联规则,并将关联规则存入关联规则数据库;将实时到达的数据库操请求与关联规则 数据库中的关联规则进行匹配,从而获得发出数据库操请求的原始用户的IP和用户名。
8. 根据权利要求6所述数据库安全审计系统,其特征在于所述的数据库权限合理性评 估包括: 用户权限过大的评估; 用户活动状态的评估; 同一类的用户的权限差异的评估。
【文档编号】G06F17/30GK104484474SQ201410851656
【公开日】2015年4月1日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】罗平 申请人:南京盾垒网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1