第四章:总体描述在Linux平台上进行的基于TRCTC的网络隐蔽信道的具体实现,简单地介绍开发环境以及发送方和接收方详细的设计与实现情况。
2 网络隐蔽信道的通信模型以及分类
网络隐蔽信道的研究专注于计算机网络,而隐蔽信道的研究专注于操作系统安全,两个概念所处的层次不同,但仍有其相似的地方。本章所介绍的通信模型以及分类在隐蔽信道和网络隐蔽信道两个方向上都有研究,这里都进行介绍,我们可以很清楚看到它们之间相似甚至是共通的地方。论文网
2。1 网络隐蔽信道的通信模型
隐蔽信道的概念是在1973年由Lampson首次提出,而从1973年开始,一直到1987年Girling提出网络隐蔽信道的概念为止,实际上隐蔽信道相关的研究一直是指的在操作系统这一层次上的隐蔽信道,与计算机网络并无关系。当时Lampson提出隐蔽信道的概念,主要是为了探索如何在一个程序的运行过程中约束它,让它除了它的调用方以外不能像其他任何的程序传递信息,这很明显是出于系统安全的考量。一般来说,未授权的信息是不能通过系统的高级用户传送给低级用户的,然而通过隐蔽信道,这种信息就可以隐蔽地传送了。这里的隐蔽信道的一般通信模型,我们可以从图2。1直观地看出[10]。
图2。1隐蔽信道通信模型1
如图2。1,发送端和接收端的合法信息流通过公开信道传输,而通过特殊的方式进行编码和译码后,未予认证的信息流则通过隐蔽信道隐秘的传输了。可以看到,虽然系统拥有相关的防御机制,但对于隐蔽信道的信息仍无法阻止其通过,因为隐蔽信道的信息是在公开信道的合法信息流下传输的。
虽然直到1987年Girling才第一次提出网络隐蔽信道的概念,但是实际上网络隐蔽信道中被广泛使用的通信模型在1983年就已经出现了,这个模型来源于1983年Simmons在他的论文中举的一个例子(囚犯问题),囚犯问题说的是这样一个场景[18]:Alice和Bob两个人因罪被捕入狱,他们被分别关押在相距遥远的两个牢房里,他们之间交流的唯一方式就是通过监狱看守Wendy来传递信息。现在两个囚犯需要商量一个计划来帮助他们越狱,但是因为他们之间的信息是通过监狱看守Wendy来传送的,一旦Wendy发现了他们的计划,他们就会被隔离关押,越狱计划也就宣告失败。因此,他们必须互相约定一套规则,以在合法的通信中传递隐蔽的信息。这个模型可以用图2。2形象地表现出来:
图2。2隐蔽信道通信模型2
这个模型很方便地就可以引入到计算机网络中,我们可以把Alice和Bob看作是计算机网络当中的两台计算机,他们在公开信道上传递合法信息,同时他们之间共享一套“密语”(算法机制),这使得他们能够在彼此间建立一条隐蔽信道,并通过它从一方传递加密的隐蔽信息,在另一方译码并得到隐蔽信息。而Wendy可以看作是网络中的防火墙、监控机制或者是某种安全协议,它可能是个“老实人”,只监督表面上的信息是否合法,只要合法,就一律放行;它也可能是“机智狡诈”的,它察觉到隐蔽信息存在的可能,从而对两者间传递的合法信息进行修改和干扰,导致隐蔽信息无法正常传输。由于第二种看守的存在,隐蔽信道的防检测,也成为了研究的要点之一。
2。2 网络隐蔽信道的分类
由于隐蔽信道其自身在构造上、形式上的多样性,隐蔽信道的分类一直是一件麻烦的事情,几乎没有一种分类方式能够将所有的隐蔽信道概括进来。但是经过这么多年的争论,有一种分类方法逐渐被大多数人所认可,那就是根据隐蔽信道共享的资源属性的不同,将隐蔽信道分为存储隐蔽信道和时间隐蔽信道。在这个分类方法中,存储隐蔽信道指的是发送方进程直接或间接将信息写入存储位置,而接收方进程直接或间接读取存储位置信息的一类隐蔽信道;而时间隐蔽信道指的是发送方进程通过控制发送时间间隔等形式,发送编码的隐蔽信息,接受方进程则通过收到的合法信息的时间特点来译码得到隐蔽信息的这么一类隐蔽信道。