2。2。1 隐蔽信道的威胁 11
2。2。2 隐蔽信道的用途 11
2。3 隐蔽信道的具体概念 12
2。3。1 隐蔽信道的容量 12
2。3。2 隐蔽信道的构造 12
2。3。3 隐蔽信道的存在条件 12
2。3。4 隐蔽信道的使用场合 13
2。3。5 隐蔽信道的研究范围 13
3 基于ON/OFF的网络隐蔽信道的设计 14
3。1 处理隐蔽信道的思路 14
3。1。1 隐蔽信道的检测 14
3。1。2 隐蔽信道其他处理方法 14
3。1。3 处理隐蔽信道的基本设计思想 15
3。1。4 时间隐蔽信道的干扰策略 16
3。2 开发环境 16
3。2。1 CentOS 7 16
3。2。2 QT 17
3。3 基于ON/OFF网络隐蔽信道的算法 17
3。3。1 网络信道构建主要流程 17
3。3。2 ON/OFF网络隐蔽信道综述 18
3。3。3 ON/OFF网络隐蔽信道的输入输出 18
3。3。4 ON/OFF详细算法 18
3。3。5 基于ON/OFF网络隐蔽信道的程序流程图 20
3。3。6 libpcap 21
4 基于ON/OFF的网络隐蔽信道的实现 23
4。1 网络信道构建模块的具体实现 23
4。2 common库函数说明 24
4。3 准备工作 25
4。3。1 定义信道状态 25
4。3。2 定义隐蔽信息 26
4。3。3 将字符串转换为二进制 26
4。4 核心代码 27
4。4。1 初始化 27
4。4。2 构造时间间隔 28
4。4。3 传输过程 29
4。4。4 隐蔽信道结束 29
4。5 数据测试与分析 30
结论 31
致谢 32
参考文献 33
1 绪论
1。1 背景
1。1。1 研究网络隐蔽信道的背景
隐蔽信道是一种能够以违反系统安全策略的方式进行通信, 并且难以被检测的恶意通信机制[21],它通常被用来窃取敏感信息。根据隐蔽信道所选用的载体分类,隐蔽信道可分为存储式隐蔽信道和时间式隐蔽信道两大类[22]。
随着计算机网络技术飞速的发展,通信的方法越来越多,但是有一些信息因为一些特殊的原因,需要防止被窃听,或者说防止被发现,因此有人开始研究隐蔽信道,顾名思义,就是传递隐蔽信息的信道。信息的传递和泄露对网络安全有着重大的影响,是非常具有威胁的,信息是通过隐蔽信道泄露出去的,对隐蔽信道的研究具有非常重大的意义。
本文主要研究网络隐蔽时间信道,这种信道是通过隐蔽信息的发送时间和接收时间的规律来传递信息的,主要是数据包的发送和接收的时间间隔。21世纪时信息化的时代,网络可以对资源进行共享,对信息进行处理,现在电子商务非常流行,隐蔽信道可能被一些坏人利用,通过网络窃取重要的情报或者是私人的银行卡密码,对网络安全有着非常大的影响。但是任何事物都具有双面性,隐蔽信道是典型的双刃剑,它本质是一种传递信息的通道,信道是没有好坏的概念的,主要看传递的信息是好的还是坏的。
网络的数据包实在是太多了,为隐蔽信息提供了特别好的隐藏空间,隐蔽信息的危害也很大,因为带宽太高,即使带宽只有1bit/s,一个小时里面,传递四五百个字符是没啥问题的[3],因此需要对其进行干扰。
不同的隐蔽信息具有的特性是不同的,或者说侧重点不一样,有一些注重信息的完整性,有一些注重信息的鲁棒性,有一些注重信息的不可感知性。不同的注重方向对应着不同的隐藏信息的方法。