基于句法分析的安全信息流
【摘要】:人类已经进入信息社会,计算机网络技术为信息的获取、传输、处理、利用提供了越来越便捷的手段。由于网络“黑客”与“入侵者”的活动日益频繁,使得计算机网络中的信息变得越来越不安全了。信息技术发展到今天,迫切要求发展信息安全技术。
为了确保端到端的安全,必须控制信息流。安全信息流是信息安全的重要分支之一。安全信息流的句法分析有两类:一类是基于类型系统的方法;另一类是基于数据流分析的方法。
针对安全信息流目前研究的重点,本文在安全信息流领域作了一定的研究工作。其主要研究工作及创新点如下:
Ⅰ.类型系统方法
1.在Volpano等人工作的基础上,把其可靠性类型系统的核心语言扩展到具有非确定语句的编程语言。在非确定语言的环境下, Volpano的可靠性类型系统不满足不干扰。我们证明在非确定语言的环境下,类型系统满足的是几率不干扰。
2.在Volpano等人关于安全信息流的开创性工作之后,开发了许多安全信息流类型系统。然而,迄今为止尚未有类型系统关注多维数组运算的安全信息流。我们把数组作为第一级值,通过别名数组,多维数组可作为数组的数组。为了区分数组和它的别名,我们引入了一个全新的二元存储器模型,类型系统的可靠性通过不干扰得已证明。
3.基于语言的信息流安全策略通常形式化为不干扰,仅允许信息从低安全级流向高安全级。不干扰太严格,不能实用。实用程序中存在降级,降级指定信息从高安全级流向低安全级,同样称为消去保密性标志。如果一个实用软件被消去保密性标志,就有理由接受某些信息释放。我们提出的降级策略在某些条件满足时,通过一些运算消去指定数据的保密性标志。带有策略e(?)p标志的数据必须在安全级e下处理,如果条件c为真,可以把运算符op运用于该数据。运算的结果是带有安全对策p的标志。所有的安全降级策略都是强制的,因此,我们提出的安全策略框架在实用软件中支持降级。在满足某些前提条件时,每一步的降级都用一些运算符表示。类型系统的可靠性用松弛无干扰得以保证。
Ⅱ.数据流分析的方法
假定信息仅有低密级(L)和高密级(H)两个安全级,且LH。程序中的每个变量x都绑定一个初始安全级,表示为(?)。在数据流分析中,我们引入两个表示符x↑和x↓,其中x↑表示存在从任意H变量到L变量x的信息流时,L变量x的密级升级;x↓表示存在从L变量到H变量x的信息流时,H变量x的密级降级。我们的研究表明:如果在给定的程序终止处,不存在密级已升级的变量,那么就能保证该程序是安全的。
Kyung-Goo Doh和Seung Cheol Shin同样使用数据流分析处理安全信息