论文部分内容阅读
随着信息系统的复杂化和网络互联技术的广泛应用,信息系统的安全问题日益突出,各种网络和信息系统的安全越来越依赖于防火墙、入侵检测系统等安全应用软件和产品的保护。这些安全产品和软件的自身安全问题已成为整个安全体系的基础。论文旨在研究如何通过操作系统内核级为各种安全应用软件提供安全保障机制,保障安全应用软件的安全功能正确发挥效用,抵御各种针对安全产品自身安全的攻击。
论文对目前各种安全产品的自身安全问题进行了分析,认为各种安全产品的自身安全问题主要来自四个方面:系统安全管理、安全应用自身漏洞、其它特权进程的自身漏洞和底层操作系统内核漏洞。因此针对性的从安全模型、进程自身安全、操作系统安全结构和形式化保证技术四个方面进行研究来解决安全产品的自身安全问题:
(1)提出了基于可信级别的多级安全策略模型TBMLs。MLs多级安全策略虽然能很好地防止信息的非授权泄漏,保护信息的机密性,但它不考虑信息的完整性保护问题,并且不能有效解决信道控制等问题。TBMLS模型将可信级别的概念纳入到MLS中,使其在方便地表达各种信道控制策略和解决安全降级问题的同时不违背最小特权原则,而信道控制和安全降级正是防火墙等安全应用软件需要解决的问题。另外TBMLS利用完整性级别来保障信息的完整性,同时其完整性级别、机密性级别和可信级别互相配合使该模型具有很强的策略表达能力,而不是简单地叠加两个基于格的流策略,可以表达所有静态信息流策略。与DTE等用于信道控制的安全模型相比,基于等级的安全级别更易配置和维护。
(2)提出了多保护域进程模型并进行了原型实现。多保护域进程模型一方面在进程内部通过细粒度的内核级保护域隔离机制对进程数据和代码实施强制的访问控制,从而防止攻击者通过缓冲区溢出等手段利用程序局部漏洞破坏程序的数据和代码或劫持整个进程,以达到增强安全关键进程自身安全的目的;另一方面与权能机制结合,实现基于保护域的权能机制动态限制进程的特权,更细致地实行最小特权原则。同时多保护域进程模型可以与模块化的程序设计方法结合,在设计程序时就关注程序的安全性,将操作系统的保护机制与程序设计方法有机地结合起来,充分利用系统安全特性增强应用程序自身安全。 (3)提出了操作系统分层隔离安全结构并实现了一个小型的原型操作系统内核。操作系统内核是各种应用层安全机制的基础,而Unix、Linux等单块结构操作系统的内核都是一个庞大、复杂的程序,所有代码和模块都共享同一个内核地址空间并具有同样的无限特权,一旦内核中某模块存在漏洞则可能危及整个系统的安全。操作系统分层隔离安全结构将内核划分为安全微内核层和功能服务模块层,为操作系统建立了有纵深的防御体系,在不同强度的攻击下尽可能多地保证系统各种安全底线不被破坏。由于i386的硬件保护机制保证了安全微内核的不被篡改性,有效地隔离了各种内核安全威胁,抵御内核模块攻击等针对系统内核的攻击,保证了系统的整体安全性。
(4)利用形式化安全保证技术对分层隔离的操作系统结构的内核隔离机制进行了描述和验证。论文用PVS形式化规范语言,利用集合、函数、公理公式对系统常量、状态、指令、状态转换等系统元素进行建模,并将系统描述为一个状态转换机模型。精确定义了系统隔离保护目标,通过引入系统安全状态利用归纳法对系统安全目标进行了形式化验证,以排除内核隔离机制设计中的逻辑漏洞,提高了分层隔离结构操作系统内核安全关键部件的可信程度。