标题 | 多数据库系统中的安全审计策略研究 |
范文 | 施永清 摘要:按照CC准则构造了多数据库系统的安全审计体系结构,描述了各组成部分的功能和安全审计流程,分析了身份认证服务、访问控制服务和安全审计服务三者之间的关系,并提出几种安全审计策略,增强系统的整体安全性。 关键词:多数据库系统;CC准则;安全审计;审计事件;审计日志 DOIDOI:10.11907/rjdk.151504 中图分类号:TP301 文献标识码:A 文章编号文章编号:16727800(2015)008006704 0 引言 多数据库系统(Multidatabase Systems,MDBSs)是由一些预先存在的、分布的、异构的和自治的数据库系统组成的一个协作的数据库系统。由于其能够充分利用已有数据资源,重新构造跨系统、可协同工作的互操作平台,多数据库系统在当前许多领域中具有迫切的应用需求和广阔的应用前景。 多数据库系统所具有的分布、异构和自治等特性给其安全管理带来了很多困难[1]。各局部数据源的安全管理策略和安全级别存在很大差异,如何集成这些不同的安全管理策略,建立全局高效和可靠的安全管理机制,值得深入研究[2]。 虽然采用身份鉴别、访问控制和密码技术等安全措施能够在很大程度上提高系统的安全保障,但由于系统复杂性和一些人为因素,系统总是存在安全上的薄弱环节,安全漏洞和安全隐患不可能从根本上消除。因此,除了进行传统的安全保护之外,实施安全审计机制非常必要。审计作为安全管理的重要组成部分,能够对身份认证和访问控制起到补充和完善作用,从而增强系统的整体安全性[3]。 国际标准化组织(ISO)和国际电工委员会(IEC)发表的《信息技术安全性评估通用准则》(Common Criteria for Information Technology Security Evaluation,简称CC准则或CC标准),对安全审计定义了一套完整的功能[4]。目前,许多软件系统的安全审计设计都借鉴了其中一些建议。本文按照CC准则,构造了多数据库系统的安全审计体系结构,并提出了几种安全审计策略。 1 多数据库系统中的安全审计体系 由CC准则对安全审计功能的定义来看,安全审计需记录和监视用户对系统资源的访问,从中发现攻击行为和安全隐患,及时对攻击行为进行控制,消除和堵塞安全漏洞,避免和减少损失,防止以后发生类似安全事故。 多数据库系统所具有的分布性、异构性和自治性给其安全审计功能的构造增添了多方面的困难。这些困难体 现在:①成员数据源分布在网络环境中,物理上是分散的,逻辑上具有独立性。数据源的分布性使用户绕过全局控制、直接访问局部数据成为可能。审计系统应能防止用户绕过,保证所有用户操作都能被监视和记录;②各成员数据源安全保护的级别和策略存在很大的差异,客体保护力度也不一样。审计系统应能屏蔽这些差异,实施统一的审计措施;③成员数据源大都建立了自己的审计保护体系,所审计的用户包括局部用户和全局用户。多数据库系统只对全局用户的操作进行审计,其审计的实施应不影响成员数据源审计的自治性。 因此,在构造多数据库系统安全审计体系结构时,既要参照CC准则对安全审计系统的评估标准,同时也应该综合考虑上述三方面的问题。 1.1 体系结构 如图1所示,多数据库系统安全审计体系包括审计设置、事件收集、事件记录、监视、告警与响应、事件查询与分析,以及审计信息数据库等几个部分。 图1 多数据库系统安全审计体系结构 (1)审计设置。审计设置的主要功能包括:①建立和维护事件筛选表,用于选择审计事件;②建立和维护攻击行为规则,用来检查审计事件,判断事件中是否存在或隐藏攻击行为;③建立和维护响应预案,根据攻击种类决定采取何种系统控制措施;④制定安全规则,在对审计日志进行分析时,从审计日志中发现安全隐患或攻击行为。 (2)事件收集。事件收集部件负责从系统中收集事件信息,进行整理并传送到事件记录器。多数据库系统中,事件收集部件主要用于身份认证服务、访问控制服务和局部代理服务。 (3)事件记录。事件记录器接收从事件收集部件发送过来的事件记录,对审计事件进行筛选,并整理事件记录。一方面将整理好的事件记录发给监视器,另一方面在该事件记录中加入时间戳,存储到审计信息数据库。 (4)监视。监视器按照攻击行为规则对审计事件进行检查,从中发现攻击行为并向告警与响应部件发送安全控制信息。对于频繁发生可能造成安全威胁的事件,监视器将启动计时器来进行监视。如果在监视时间内,该事件发生次数超过阈值,则向告警与响应部件发送安全控制信息。 (5)告警与响应。告警与响应部件从监视器和事件查询分析器接收安全控制信息,按照响应预案采取相应的防范和控制措施,比如将用户信息库中对应用户记录标记为可疑攻击者,或修改访问控制的存取规则,限制用户的访问权限。 (6)事件查询与分析。事件查询分析器具有两方面功能,一方面提供对审计数据的各类查询功能,另一方面采用数据挖掘的方法对审计数据进行综合分析,从中发现审计事件记录不同属性之间的关系模式,扩充和调整攻击行为规则集,提高实时审计效率。 (7)审计信息数据库。审计信息数据库用来存放审计日志、事件筛选表、攻击行为规则、响应预案、安全事故记录、安全关联规则、分析结果等数据。审计信息数据库建有数据备份计划,定时在本机和另一计算机上对数据库进行增量备份,保证审计数据不被丢失。 1.2 安全审计流程 审计分实时审计和事后审计两部分。实时审计监视正在进行的用户操作,事后审计定时或不定时地对审计日志信息进行分析。 (1)实时审计流程。事件收集部件从身份认证服务、访问控制服务和局部代理服务获得用户登录系统和数据操作等事件信息后,将信息发送给事件记录器,置入事件处理队列。事件记录器从队列中逐条取出事件信息进行处理。首先利用事件筛选表判断是否需要对该事件进行审计,如果不需审计,则舍弃并继续处理队列中下一条事件信息;如果需要进行审计,则对事件信息进行整理和归并,形成事件记录,复制成两份,一份发送给监视器,另一份中加入时间戳,记为事件日志并存储到数据库。监视器根据攻击行为规则对事件记录进行检查,一旦发现攻击行为,立即向告警与响应装置发送安全控制信号。如果判断某行为在一段时间内多次发生会造成威胁,则对该行为启动一个计数器,在规定时间内达到阈值时向告警与响应装置发送安全控制信号。告警与响应装置接收到从监视器发出的安全控制信号后,向系统发出攻击警告,按照响应预案采取相应的防范和控制措施,并且将本次安全事故记录下来存储到数据库,供安全审计员查询和分析使用。 (2)事后审计流程。安全审计员可通过应用程序接口设置定时启动查询分析器,或随时启动查询分析器,对审计日志进行分析。查询分析器利用数据挖掘技术从大量的审计日志中提取出异常行为特征和规则,保存分析结果,并将这些特征和规则添加到攻击行为规则中去,以改进监视器的工作效率。 1.3 全局审计服务与其它安全控制服务之间的关系 传统的安全管理由身份认证服务和访问控制服务组成。本研究在传统的安全管理中加入了安全审计服务,使安全管理整体性能得到增强,如图2所示。 图2 3种服务之间的关系 身份认证是访问控制的前提。用户登录系统时首先要对其进行身份认证,只有在确认其为合法用户的情况下,才能根据用户所担当的角色给用户分配访问权限,确定该用户能够做什么和不能够做什么。同时,安全审计从身份认证和访问控制中获取用户操作信息,一旦发现攻击行为或安全隐患,采取在用户信息中做标记和调整存取规则等措施,及时对身份认证和访问控制进行补充和完善,起到强化整体安全性的作用。 从某种意义上讲,如果身份认证和访问控制是系统的第一道安全防线,则安全审计可以看作系统的第二道安全防线,而且能够产生反馈以加强第一道安全防线。 2 安全审计策略 多数据库系统面临的安全威胁来自内外两个方面。外部攻击者假冒合法用户登录系统,或绕过访问控制进行非法数据操作,内部用户恶意或无意的非法操作,都可能对系统造成危害。由于多数据库系统具有分布、异构和自治等特性,多数据库系统安全审计的实施会遇到很多技术上的难点,可采用相应策略予以解决。 2.1 事件获取及防绕策略 事件(Event)用来描述用户在系统中的操作过程。事件用多元组表示如下: Event ∷= 事件的属性包括主体SU、操作类型OP、客体OB、客体安全级别Lob、事件来源OR、事件发生日期和时间DT、事件是否符合存取规则RU、事件是否执行成功SC和事件备注RE。事件的主体可以是用户也可以是角色。事件客体可以是系统、数据文件、数据库、关系、属性、记录以及记录内的属性等。 用户操作分为用户登录操作、数据访问操作和数据定义操作3类。用户登录操作必须通过身份认证,而用户数据访问操作和数据定义操作首先要通过访问控制,然后在局部数据源得到执行。因此,可以在身份认证服务、访问控制服务和局部代理中调用事件收集部件,由事件收集部件将用户登录事件和数据操作事件发送到事件记录器,置入事件记录队列中。局部数据源如果具有日志记录功能,可采用触发器将局部数据源日志记录表中全局用户的访问日志发给局部代理,局部代理调用事件收集部件将整理后的事件记录传给事件记录器。 在正常情况下,一个数据操作会产生两条事件记录,一条在访问控制时被获取,另一条在局部数据源被执行后,从局部代理处被获取。一个数据操作只产生一条事件记录的情形有两种,一种情况是由于数据操作不符合存取规则,该操作在访问控制时被终止;另一种情况是用户窃取令牌,绕过访问控制,直接对局部数据源进行数据操作。防止绕过攻击的办法是,在事件记录器整理事件记录时,对于事件来源为局部代理的事件记录,如果没有事件来源为访问控制的对应记录,则可断定该事件对应的操作实施了绕过攻击,事件记录器在此事件记录中做标记,并传给监视器,监视器根据标记向告警与控制部件发送安全控制信息,从而采取相应的控制措施,如终止与该用户的连接等。 2.2 审计事件选择与防篡改策略 同传统数据库相比,多数据库系统中的用户操作更加频繁,大量的事件记录通过事件收集部件被传送到事件记录器的事件记录队列中。从安全管理角度看,其中一些事件记录对审计没有太大意义,比如对一般数据表的查询等,这些记录不必记入审计日志。因此,事件记录器在处理事件记录时,需要对事件记录进行筛选。利用事件筛选表可以有效去除不需审计的事件记录。事件筛选表由安全管理员在进行审计设置时设定。事件筛选表的每一条记录包含一个由事件属性字段组成的条件表达式,表示一类不需审计的事件。事件记录器在筛选事件记录时,提取事件属性字段值代入所有条件表达式进行算术比较和逻辑运算。如果值为真,表示该事件不需审计,可予以去除。当各表达式的值都为假时,可以将该事件记录为审计事件,并记入审计日志。 审计日志可以作为追查攻击行为的证据,前提是审计日志必须能够防止被篡改并具有不可否认性。在事件记录中加入时间戳(Time-stamp)可以达到防止篡改和防止抵赖的目的。通常,时间戳由可信第三方(Trusted Third Party,TTP)产生,大部分CA(Certificate Authority)都能够提供时间戳服务(Time Stamping Service)。时间戳的申请过程为:①事件记录器从已整理好的事件记录中提取各字段属性值,拼接后得到信息M,用单向散列函数(比如:SHA-1)对M进行运算,得到信息摘要MD;②事件记录器将MD发给CA,请求TSS服务;③CA在MD中加入本地系统日期和时间后,用自己的数字签名私钥进行签名,得到时间戳TS;④CA将TS和自己的签名公钥证书一起发给事件记录器;⑤事件记录器将事件记录和TS、CA签名公钥证书一起作为一条日志记录存入审计日志表。 2.3 监视策略 一个事件被确定为审计事件后,需根据已有知识判断其是否存在或隐藏攻击性,也即判断审计事件是否具有直接危害性或间接危害性。对于具有直接危害性的审计事件,监视器立即向告警与响应部件发出相应安全控制信号。对于具有间接危害性的审计事件,监视器启动一个计数器对此类事件进行监视。如果在监视时间内,此类事件发生次数达到所设定的阈值,则向告警与响应部件发出相应安全控制信号。 审计事件的攻击性根据攻击行为规则来进行判断。攻击行为规则表中的每一条记录由一个逻辑表达式和一个攻击类型代码组成,描述了一类攻击性事件所具有的共同属性,这类事件的各个属性取值存在一个范围和一定的逻辑关系。这些规则按攻击类型危害程度由高到低的顺序存放,以提高处理效率。 2.4 告警与响应策略 安全控制信号中包含事件的攻击类型和事件记录。告警与响应部件根据攻击类型按照响应预案发出警告并采取控制措施。假如,安全控制信号记为S,攻击类型记为T1,T2,T3,…,Tn,事件记录记为E,警告和控制措施可以由过程Alarm和A1,A2,A3,…,An来实现。响应预案可描述为: (T,E) = Fetch(S);——从S中取出T和E switch ( T ){ ——响应预案 case T1 : Alarm ( T1, E); A1 ( E ); break; case T2 : Alarm ( T2, E); A2 ( E ); break; case T3 : Alarm ( T3, E); A3 ( E ); break; ...... case Tn : Alarm ( Tn, E); An ( E ); break; } 2.5 审计分析策略 利用攻击行为规则表对审计事件进行监视,实际上是一种基于模板的异常检测分析方法。攻击行为规则起初由安全管理员根据经验手工设置,这些规则对攻击行为的描述存在模糊性和局限性,因此实时审计在开始一段时间内效率不高。在积累了大量的审计数据后,可利用数据挖掘方法从中发现精确有效的检测模型。审计数据的挖掘过程就是发现关联规则的过程,目的是从审计数据中寻求审计事件记录不同属性之间的关系模式,扩充和调整攻击行为规则集,提高实时审计效率。 Apriori 算法是一种最有影响的挖掘关联规则算法[5]。设I = {i1,i2,… ,im } 是数据项集合,D={T1,T2,…,Tn}是审计数据集合,其中每条审计记录Ti是数据项的集合,TiI 。设A是I的一个子集, 审计记录Ti包含A当且仅当ATi。包含k个数据项的集合称为k-项集。关联规则的表现形式是“A →B,C = c,S = s”,其中,A和B 是同一条记录内的数据项集且A ∩B=Φ;支持度S 是D 中记录包含A ∪B 的百分比;置信度C是一条记录包含A的情况下同时包含B的概率。挖掘关联规则就是对审计数据D,找出所有满足用户指定的最小支持度阈值Smin和最小置信度阈值Cmin的关联规则。 3 结语 本文提出的安全审计技术源于多数据库系统的安全管理需要,尽管文中构造了安全审计体系结构,对各组成部件的功能和审计流程进行了描述,并针对某些关键问题提出了相应策略,但安全审计技术相关研究还有待进一步深入:①提高事件记录器对所收集事件信息的处理速度,以消除审计服务事件处理瓶颈,满足繁忙系统的安全审计需要;②改进数据挖掘算法,从审计日志中挖掘出更好的攻击行为规则,从而提高监视器的效率;③建立更加有效的用户操作控制机制,以便及时阻止非法操作,尽量避免对系统造成危害。 参考文献: [1] 肖卫军,卢正鼎,洪帆.安全数据库系统中的事务[J].小型微型计算机系统,2004(4):591594. [2] 魏允韬,王治纲,王晓刚.多数据库系统安全体系研究[M].武汉:华中科技大学出版社,2002:5763. [3] 赵久长,王晓刚,王治纲.多数据库系统中的用户管理与身份认证[M].武汉:华中科技大学出版社,2002:4956. [4] ISO.Common criteria for information technology security evaluation criteria[S].Version 2.1,1999. [5] AGRAWAL R,IMIELINSKI T,SWAMI A.Mining association rules between sets of items in large databases[C].In Proceedings of the ACM SIGMOD Conference on Management of Data,1993:207216. (责任编辑:孙 娟) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。