论文部分内容阅读
数据库安全涉及到数据库中数据的机密性、完整性、可用性。目前,大部分研究集中在如何保护数据库免受损害,很少有研究数据库在面临着一些成功的攻击时,如何提高自身的容忍能力。成功的攻击往往意味着对数据库系统的破坏,而破坏可以通过彼此读写而扩散。严重的破坏扩散会导致系统的不可用,因此,需要进行破坏控制,避免破坏扩散。目前,入侵容忍破坏控制技术多为单阶段破坏控制,受破坏对象直到修复管理器定位到它才受到控制,存在着延迟及破坏扩散。数据库系统完整性、可用性受到很大破坏。 针对这个问题,本文提出了多阶段破坏控制技术。当入侵检测器确定某一事务为恶意事务时,立即停止执行新的事务,并且立即控制从恶意事务的开始时间到恶意事务被检测出来的时间这个时间段内所有可能遭到破坏的对象,避免破坏扩散。然后在后续过程中,分多个阶段分析数据对象是否真正受到破坏。对那些没有受到破坏的对象立即解除控制。对受到破坏的对象修复到未被破坏前的最新版本,然后解除控制。多阶段破坏控制技术不再等到修复管理器定位到破坏再实行控制,避免了延迟,有效地解决了破坏扩散,保证了数据库系统完整性、可用性。 本文首先讨论了入侵容忍的理论基础,及常用的入侵容忍技术,分析了多级入侵容忍数据库模型,并介绍了入侵容忍数据库系统的破坏控制技术现状。然后,提出了多阶段破坏控制技术方案。方案包括对单个,两个及多个恶意事务的破坏控制。首先,方案给出了控制单个恶意事务时,用到的数据结构及基于时间戳控制单个恶意事务方案,处理了可能出现的破坏扩散,使用事务轮廓提高了多阶段破坏控制的效率,以及利用已完成的扫描进行有状态破坏控制。然后,给出了控制两个恶意事务的方案。方案将控制两个恶意事务分为三种情况,分别写出了严谨的算法。然后,给出了多个恶意事务的控制方案,提出了模型,并写出了算法。最后,针对多阶段破坏控制模型给出了其原型系统,并对其可行性进行了分析。 本模型有效地拒绝了破坏扩散,对用户透明,执行破坏评估和恢复时不需要停止正常的事务处理。模型基于时间戳设计,可以方便地应用到任何DBMS系统。在解除控制阶段,充分利用已有分析,避免重复分析,提高了效率。模型可