论文部分内容阅读
保密性是软件的可信性属性之一。提供保密性的传统方法是访问控制和加密技术,但是它们不能提供端到端的保密性。信息流控制策略试图通过控制系统中的信息传播来提供端到端的保密性。无干扰策略是信息流控制策略中的一个非常重要的基础性安全策略,限定系统的公开输出不依赖于系统的秘密输入。无干扰策略的限制性太强,很多安全的应用程序由于其功能的需要,不可避免地要违反无干扰策略,因此,需要对无干扰策略的限制性进行放松,信息释放策略是一种放松的无干扰策略。本文基于程序语言的机制对信息释放策略进行了研究,具体概括如下:(1)针对信息释放策略单一维度的局限性,提出了二维的信息释放策略的语义条件和实施机制。首先,基于攻击者知识模型,在顺序式程序语言环境下建立了结合内容和地点维度的信息释放策略的语义条件,其中内容维度限定释放的内容不能超过允许释放的范围,而地点维度限定释放的位置仅能发生在特定的语句中。其次,提出了释放策略的三种实施机制:第一,提出了策略的类型规则系统,并进行了可靠性证明。类型规则判定为良类型的程序,即是满足释放策略的程序,否则将不满足策略;第二,提出了策略的自动机监控机制。自动机首先捕获程序执行的命令事件,对其进行分析,授权符合策略的命令执行,修改或禁止违反策略的命令执行,并证明了自动机监控执行的可靠性;第三,提出了策略的内嵌式监控机制,该机制通过一个可信的重写进程将策略嵌入到目标程序中,生成一个新的应用程序。通过证明内嵌式监控机制与虚拟机监控机制的观察等价关系,间接地证明了内嵌式监控机制的可靠性。最后,将顺序式程序语言环境下的二维的信息释放策略扩展多线程并发程序语言环境,并提出了可靠的动态监控机制。由于所提出的二维策略同时结合了两个维度,该策略具有更细的控制粒度,能检测出单一的内容或地点维度的策略所无法识别的攻击;策略三种不同的实施机制能适用于不同的应用场合。(2)为了进一步提高策略的抵抗信息清洗攻击的能力,提出了一种结合内容、地点和主体的三维的信息释放策略和实施机制。在内容和地点维度上,通过攻击者的各种不可区分关系来禁止攻击者滥用释放机制窃取超额的秘密信息以及禁止秘密信息提前释放;在主体维度上,通过完整性约束来限定攻击者不能控制释放语句是否执行。建立了该三维的信息释放策略的类型规则系统,并进行了可靠性证明。(3)针对信息释放策略定性分析存在限制性过强的缺点,提出从定量的角度建立信息释放策略,实现更富有弹性的释放策略。基于信息流定量分析理论,对信息释放策略的鲁棒性从量的角度进行了放松,提出了释放策略的鲁棒率概念;基于有界模型检测,实现了程序信息释放的定量分析模型,为信息释放策略鲁棒率的计算提供基础。以平均工资的信息清洗攻击为例,对程序信息释放的鲁棒率分别进行了理论和实验分析,两者结果保持一致。量化的鲁棒性策略,可以通过不同的阈值实现富有弹性的信息释放控制。