《操作系统安全》 实验报告
《操作系统安全》课程
实验报告
实验题目: 隐蔽通道实验三
姓 名: 学 号:
日 期: 2016/4/25
第 1 页 共 9 页
《操作系统安全》 实验报告
原 创 声 明
本人郑重声明:
所呈交的实验报告,是本人根据实验指导材料的要求,独立进行实验所取得的成果。本文不含任何其他人的实验成果。如果存在抄袭他人成果之情形,一切后果由本人承担。
第 2 页 共 9 页
《操作系统安全》 实验报告
一、实验目的
1、熟悉隐蔽通道原理; 2、熟悉隐蔽通道的实现。
二、实验内容
信道名称: 消息队列信道 信道类型: 持久变量型 中介变量: msg_ids
存在条件: 系统中的各个进程共享同一个消息队列列表,并且这个队列大小是有限制的。
创建一个消息队列时,系统将消耗消息队列列表的一项。如果该表被耗尽,则创建操作就不能成功。
发送方动作: 发送方读取机密文件,然后,根据该文件内容的当前字节的ASIIC码决定创
建的消息队列数目,待接收方读取该信息后,删除这些消息队列。
接受方动作: 创建消息队列,得到消息队列空槽数目,可以知道其它进程创建的消息队列数
目。解释所得到的信息。
噪音情况: 高噪音。系统中存在的任何其它进程都可能创建消息队列,从而导致接收方错
误解释所得到的信息。如果再安排在其它用户不工作的时刻(比如午夜12点)传递信息,就可能获得较大带宽。
带宽估计: 最大可以达到30比特/秒。
处理措施: 采用加入Idle进程,该进程随机创建消息队列。或者采用审计法。
三、实验过程、结果
实验步骤:采用sleep(秒)/usleep(微秒)制造同步。
当一个进程sleep时,就将cpu的控制权交给其他进程,直到sleep时间已到,重新获得cpu的控制权。
分析:这种同步技术容易实现,适于演示。
但是由于进程发送不同字符所用时间不同,而sleep时间一旦指定就是固定的,不能在
第 3 页 共 9 页
《操作系统安全》 实验报告
程序运行期间更改,因此这种同步必然造成时间浪费。
实验结果: 1.权限不够
2.设置消息队列最大个数
3.测试 ipcs –q指令
第 4 页 共 9 页
《操作系统安全》 实验报告
4.发送过程
5.成功传输消息
程序代码: 发送方代码:
#include
北大操作系统与虚拟化安全隐蔽通道实验三



