论文部分内容阅读
数据库作为信息系统的核心资产已成为入侵者主要的攻击目标。目前广泛应用的数据库安全机制主要是从预防的角度应对非安全事件,它们缺乏非安全事件发生后的应对能力。一旦发生安全问题,快速识别发现非法行为、事后取证和分析安全事故就十分重要。因此关注数据库安全审计与安全检测有着重要的现实意义。论文剖析了数据库安全审计机制和安全检测技术,认为数据库安全审计与安全检测在功能和目标上相互支撑、相互利用。在此基础上,本文从审计独立的角度,针对Oracle数据库设计和实现了一种数据库安全审计检测系统。数据库安全审计采用旁路监听的数据采集方式,实现了审计的独立性。其中的核心技术包括Java网络数据包捕获与过滤、网络协议解析、数据库通信协议解析、SQL语句解析。数据库安全检测采用基于用户行为规则的安全检测和基于SQL语句结构的安全检测相结合的方式。基于用户行为规则的安全检测是在建立数据库用户行为模型的基础上生成用户行为规则,通过用户操作行为与规则的匹配来实现异常检测。生成用户行为规则采用关联分析的方法,并考虑了规则训练集内容安全性的不同。基于SQL语句结构的安全检测是在分析SQL语法结构的基础上实现的,它弥补了基于用户行为规则的安全检测检测颗粒度低的缺点。论文的主要工作如下:(1)解析了Oracle11g数据库的非公开TNS协议(314版本),实现了准确高效的从TNS数据包中提取数据库用户操作信息。(2)提出了一种数据库用户行为模型。不仅能识别SQL语句的操作类型与操作目标,同时也能提取操作条件或嵌套语句中的操作类型与操作目标,能较全面的描述数据库用户的操作行为,且具有描述精度的扩展能力。(3)在关联分析的基础上设计了一种用户正常行为规则生成算法,并考虑了训练集内容的安全性。分析对比了几种典型的相关性度量标准,选用了一种适用于数据库用户行为数据特性的相关性度量标准生成用户行为规则。(4)设计了基于用户行为规则和基于SQL语句结构相结合的安全检测方法,提高了用户行为检测的广度和精度。