论文部分内容阅读
近年来,入侵容忍作为一种数据库安全技术,得到了越来越多研究者的重视。目前入侵容忍数据库都将研究重点放在了事务依赖的追踪以及事务恢复的一致性和效率等方面,并没有考虑事务所处的应用环境可能并不允许系统对某些事务进行恢复。如何根据语义信息保留这些事务的执行结果,同时尽可能地消除其它感染事务对数据库的影响,以期望恢复的结果能与数据库描述的现实世界尽可能的保持一致,具有重要意义。首先给出了刚性事务的概念,它是指不能被恢复的感染事务。刚性事务产生的原因是事务所处的应用环境。被刚性事务所依赖的事务称为半刚性事务,对它的恢复会引起刚性事务结果丢失。为了区分出这两类事务,在系统中引入了应用语义机制。该机制的实现包括语义分析算法的设计、语义信息日志的设计以及与恢复模块交互方式的设计等等。针对刚性事务和半刚性事务的恢复问题,在动态恢复模块设计了用于划分感染事务集合的事务分选器,并重新设计了恢复算法,恢复算法在保留刚性事务的基础上尽可能地消除恶意事务对数据库造成的影响。最后,在postgres平台上实现了该系统。并在实验中针对功能和性能两方面设计了相关的实验。功能实验验证了系统是否按照设计初衷对各种不同类型的事务进行了不同地恢复操作,性能实验验证了系统在不同的工作状态下对数据库性能所产生的影响。