暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
一种基于访问标记的安全数据库审计方法
3223
6页
7次
2020-05-16
免费下载
电力信息与通信技术
2017 年第 15 卷第 12 期
41
网
络
安
全
ELECTRIC POWER ICT
...........................
一种基于访问标记的安全数据库
审计方法
杨利兵
1
,缪燕
1
,邢艳
1
,史成良
2
(1. 北京许继电气有限公司,北京 100085;2. 武汉大学 计算机学院,湖北 武汉 430072)
摘要:目前国内各类计算机信息系统在行业应用中普遍使用国外厂商开发的数据管理系统,但这类
系统普遍存在用户操作不透明、审计效率低等问题。为了实现高效安全的细粒度实时审计功能,提
出了一种基于访问标记的安全数据库审计方法,针对普通数据和高安全级别数据分别采用基于角
色权限和基于访问凭证的标记方法,实现了高效安全的细粒度权限实时审计功能。该审计方案已
应用于国网数据库管理软件 SG-RDB 中,系统测试和实际应用结果表明,该方案能够提供高性能
的实时审计服务,可满足行业应用要求。
关键词:数据库审计;访问标记;安全数据库;实时审计
中图分类号:TP392 文献标志码:A 文章编号:2095-641X(2017)
12
-0041-06 DOI:10.16543/j.2095-641x.electric.power.ict.2017.
12
.008
0 引言
随着信息技术的高速发展,各类计算机应用系
统活跃在各个行业的不同领域。尽管各类系统实现
的功能各不相同,但无论是部署于大型企业和商业组
织的企业级应用,还是开发者出于兴趣编写的个人应
用,数据库系统是所有应用系统数据存储和管理的核
心,存储着整个应用系统中最重要的数据。然而,数
据库系统往往面临许多的安全威胁,不仅外部攻击者
会攻击应用系统所在服务器,一些拥有特权的内部
人员也有可能从内部对应用系统进行破坏,采用实
时审计技术来对数据库用户操作进行快速准确的权
限审计,能够有效防范内部管理人员的越权操作。
目前,在数据库系统领域,现有的成熟商用数据
库系统包括 Oracle、Microsoft SQL Server、DB2 等,
它们都有各自的高效安全的审计系统,但这类审计
方案往往应用于国外厂商的数据库管理系统中。而
在国内,在很多高机密级别的应用场景中,出于对高
安全性要求的考虑,无法直接使用国外厂商提供的
技术解决方案,因此在国产自主研发的数据库系统
中研究并部署数据库审计系统则成为亟待解决的问
题。 国网 数据 库管 理软 件 SG-RDB 是 基 于 开 源 数
据库 PostgreSQL 内核系统进行的二次开发和封装,
SG-RDB 具备关系型数据库的基本功能,通过数据
库安全标记和三权分立实现了强制访问控制,并开
发定制了一系列异构数据库接口和主从读写分离等
高可用集群功能。但 SG-RDB 在数据库审计方面依
旧存在 PostgreSQL 本身数据库审计 功 能不足的问
题,基于国产数据库 SG-RDB 进行安全数据审计方
案的研究与开发,成为亟待解决的课题。
审计功能主要是为了确认数据库系统中用户对
数据库进行访问时所遵守的 访问策略的合法 性
[1]
。
如果只是对用户操作结果进行审计,往往会有许多
不足之处,一方面用户可能通过多次合法操作来实
现不合法的目的,另一方面过于细粒度的审计往往
也会带来效率的降低。目前存在很多种针对数据库
的审计方式,如基于推理的审计
[2]
、基于网络侦听的
审计
[3-4]
、面向数据操作的审计
[5-9]
、基于日志的审计
等
[10]
。在基于网络侦听的审计方式中,审计系统会
捕获、过滤、分析数据库系统中服务器和客户端通信
的数据,根据分析结果按照策略分类进行审计操作。
这类审计操作对于数据包的分析方式有较高要求,
同时这类系统不利于推广,解析和审计策略必须针
对不同的数据库进行调整
[11-12]
,不易针对用户的详细
电力信息与通信技术
2017 年第 15 卷第 12 期
42
网
络
安
全
..........................
ELECTRIC POWER ICT
操作进行审计。在面向数据操作的审计操作中,审计
系统会通过触发器在发生数据操作时检查数据操作
语句是否拥有操作数据的权限,或某些操作是否处理
了特定数据,这类审计直接基于常规的数据操作
[13]
,
审计粒度较小,但是这类审计操作往往只能针对操作
进行审计,如果多个用户通过共谋或者单用户通过多
次查询往往会造成数据信息的泄露
[14-15]
。基于日志
的审计只能在事后追溯时对数据库操作及处理结果
进行审计,审计操作只能在事后对系统中的非法操作
进行跟踪定位,难以满足高效准确的实时审计需求。
比较以上两类审计操作可以发现,传统的数据库
审计系统虽然能够较好地实现数据库审计功能,但在
安全性方面的牺牲较大,一方面为了实现较为高效的
审计操作,某些审计系统不得不牺牲针对系统用户
的身份审计等能够提高安全保障的审计操作;另一
方面,为了实现细粒度的审计操作,审计系统在性能
上不得不牺牲较多资源来针对数据操作触发审计操
作。为了解决以上两方面问题,本文提出了一种基
于访问标记的方法,可实现权限控制和系统开销的
平衡,提供高效和安全的细粒度权限实时审计功能。
1 系统及安全模型
1.1 系统模型
本文提出了一种基于访问标记的安全数据库审计
方法,设计了一种数据库实时审计模型,该模型设置
了 2 种访问标记方法以及对应的权限审计流程。基
于访问标记的安全数据库审计方法原理如图 1 所示。
ஜ૵ंጆፑ
ୱͺࠅ᝟
ஜ૵ं
ࠅ᝟ᮔ᝜
ၸਖ਼
ክူᝇᓣ
ᰳጞ
ክူᝇᓣ
ၸਖ਼ၸਖ਼ၸਖ਼
᝺᫇
њ᝼ଋԯ
ၸਖ਼ᛪ ˉҫᛪ
ԩγએ
ᛪ
ˉҫ
ክူᝇᓣ
ୱͺ
૾ా
ୱͺ
૾ా
њ᝼૾ా
ୱͺ
ాᬌႁឯ
њ᝼ᤄٿ
6TFS*E ःၸኣՏాᬌᅽ᫻
VTFSJE "QQ
\Ā^
VTFSJE "QQ
\Ā^
Ā Ā Ā
ࠅ᝟᤯᣾
ࠅ᝟ʿ᤯᣾
Хͳୱͺ
图 1 基于访问标记的安全数据库审计模型
Fig.1 Security database auditing model based on
access attribute
为简化说明,以图 1 中的用户和角色为例对整
个系统进行说明。为提高数据库审计的安全性,将
系统模型集成到数据库系统中,由实时审计模型首
先进行权限审计,审计通过后进行数据操作审计,最
后响应用户的实际数据操作请求。在实时审计模型
中,按照数据的安全级别,可以分别设置基于角色的
权限标记和基于访问凭证的权限标记,为保证较小
的系统开销,对普通数据基于角色设置粗粒度权限
标记,对高安全级别数据基于访问凭证设置细粒度
权限标记。根据数据库的业务操作需求,将系统角
色分为用户管理角色、业务管理角色和高级管理角
色,同时对应数据库中的用户表、业务表和受保护表
分别为各角色进行授权。其中对于高安全级别的数
据,如图 1 中的受保护表,需要属于高级管理员角色
的用户 3 向访问凭证接口发送具体的权限申请,若
用户的权限申请在应用签名的授权范围内,则根据
应用签名、用户申请的权限、时间戳和随机数共同生
成唯一的、具有时限性的访问凭证字符串,系统临时
存储该字符串以及对应的操作权限,并采用用户提
供的密钥进行 AES 加密后返回给用户。用户 3 对受
保护表的所有访问操作都需要带上该字符串,并在
指定时间范围内进行访问凭证的更新。上述示例并
不局限于 3 个角色的情况,实际模型可根据需求进
行角色的设定和权限的划分。
此后用户发送数据操作请求时,都将经过权限
审计环节,根据用户所属角色的操作授权与用户实
际操作请求进行权限审计,若用户拥有高安全级别
数据的操作授权,则审计系统通过用户提交的访问
凭证获得用户的操作授权,将用户实际的操作请求
与访问凭证的授权进行比较,从而完成权限审计。
系统模型中的应用签名和用户密钥由系统与用
户共同维护,用户可以拥有多个应用签名,并为每个
签名申请所需权限,由审计管理员进行审批和授权,
应用签名的权限矩阵通过线性数组进行存储。
1.2 主要问题
在本文审计方法设计中,需要考虑以下几个问
题,这些问题是目前数据库审计方案必须权衡的。
1)用户权限过大。基于角色的权限标记方法会
综合考虑所有用户的应用需求,同时用户与角色存
在多对一的关联关系,因此可能造成用户获得过多
非必要的操作权限。在本文的审计模型中,由于隔
离了高安全级别的数据,同时结合审计日志的操作
of 6
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜