《TCP协议的网络隐蔽通道研究.docx》由会员分享,可在线阅读,更多相关《TCP协议的网络隐蔽通道研究.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、TCP协议的网络隐蔽通道研究(计算机工程与科学杂志)2014年第六期网络隐蔽通道的基本原理早期对隐蔽通道的定义只局限于操作系统内部,研究的重点也是针对操作系统的安全。随着网络技术的快速发展,隐蔽通道已经被应用到网络技术中。由于网络协议在设计时存在漏洞,如网络协议的首部存在冗余字段,而网络设备对这些字段的限制比拟宽松,由此能够通过精心的构造,利用这些字段实现隐蔽通信,就构成了网络隐蔽通道。因而,广义地讲,网络隐蔽通道是指各种利用非正常的通信手段在网络中传递信息的通道。图为隐蔽通道模型。建立网络隐蔽通道的方法建立隐蔽通道的方法一般就是利用网络传输协议设计中存在的一些不严密的地方来隐藏信息,以躲过网
2、络安全防护系统和防火墙系统,到达传输非法信息的目的。由于防火墙或入侵检测系统往往只注重对数据部分的检测,而忽略了对首部息的检测,因而就能够从下面途径来建立隐蔽通道:一是利用协议的首部中的一些很少使用或不使用的域来隐藏信息;二是能够利用数据传输时数据包头中的一些必须强迫填充的域如数据包头中的源地址、目的地址和数据包头中的源端口域、目的端口域、序列号域等来隐藏信息;此外,还能够利用第三方合法主机中转建立隐蔽通道,利用命令隐藏信息建立隐蔽通道等方法。基于协议首部的隐蔽通道协议首部隐蔽通道设计思想基于协议模型网络隐蔽通道的设计思想主要是利用该模型中的协议来进行的,而双方的通信方式则是“合法的,通信前双
3、方约定好用以隐藏或解析隐蔽信息的规则,然后发送端根据该规则对要发送的隐蔽信息进行编码、伪装、发送,接收端收到经过编码的信息后,便会根据发送端产生的规则来解析隐蔽信息。协议首部就是用于隐蔽信息的首选目的。图为协议首部的构造,主要包括源端口和目的端口字段、确认序列号、首部长度、标志位、窗口、检验和及紧急指针等字段。在协议首部的这些字段中,很多字段在通常情况下根本不用或很少使用,能够用来隐藏信息。本文选择序列号字段和确认序列号字段作为隐蔽通道的载体,主要有两方面的原因:一是它们的长度到达,能够隐藏更多信息,同时数据位很多,往往难以检测;二是它们的值在数据传输经过中的变化具有规律性,接收端复原数据比拟
4、容易。假设要在网络中的客户端和服务端之间构建隐蔽通道,还需要借助第三方受信的服务器。利用序列号来实现数据隐蔽传输的方法是:首先客户端构造本人的数据包,向受信的服务器发出建立连接的请求,而服务端也捕获到该包,就伪造服务器向客户端发送返回的数据包,并在序列号字段中携带加密的隐秘信息;客户端从服务端伪造的服务器返回数据包中捕获隐秘信息或指令解析并执行,进而实现了将信息从客户端到服务端之间的隐蔽传输。由于在整个数据通信经过中并没有构成任何一个完好的三次握手,并且返回的包可看作对每个包的响应,因而能够到达躲避防火墙,实现隐藏信息的目的。隐蔽通道的构建利用协议首部构建隐蔽传输通道,主要就是要在发送端生成包
5、数据包时将隐秘信息嵌入,然后在接收端捕获含有隐秘信息的数据,并将其解码出来。由于在数据传输经过中使用了第三方受信的服务器,隐秘信息是隐藏在向服务器发送请求的数据包中,又通过接收方伪造服务器向发送方返回应答数据包,同时也将隐秘信息隐藏在返回的应答数据包中。在隐秘信息传输经过中没有构成完好的三次握手,因而不会给正常通信造成影响,也不会引起防火墙的反响。而将隐秘信息嵌入数据包首部的序列号字段和确认序列号字段,这两个字段长度均为,因此能够隐藏更多信息,同时数据位多,愈加难以检测。数据包的生成和发送生成网络数据包的方法有基于原始套接字的方法、基于的方法和基于的方法等。本文采用基于的方法,详细包括两个部分
6、:在客户端生成获取网关地址的请求数据包,目的是为了获取本机、服务端以及网关的地址。由于局域网中数据包大量存在,且机器中的动态表需要不断更新,正常的数据包不会引起防火墙等设备的怀疑,因而只需要生成正常的请求数据包即可。使用库提供的函数能特别方便地生成请求数据包,获取与地址对应的物理地址。生成手工制作的数据包,各字段符合协议的定义,发起对受信的服务器的建立连接请求,在服务端则伪造服务器,返回嵌入了隐秘信息的数据包到客户端。数据包的捕获客户端捕获数据包后,需要对其进行分解,对每层协议进行解析,然后读取所传送的数据内容,最后再对数据进行解码和处理。捕获数据包的方法也有多种,对应发送端,也采用了基于的方
7、法。其步骤为:首先使用获得主机的网络设备列表,然后使用打开网络设备,使用函数编译过滤规则和使用函数设置过滤规则。之后使用和捕获数据包。捕获到数据包后就能够对其进行分解和解析,将首部中含有隐秘信息的序列号或确认序列号的内容取出,经解密后就得到隐秘信息。基于首部的隐蔽通道系统的实现实现基于首部的隐蔽通道就是采用第节中所述的思想和方法,在发送端伪造协议发送包含有隐秘信息数据包,在接收端对接收的数据包中的隐蔽信息进行相应处理。系统的总体构架系统的功能原理如图所示。通过数据包生成技术,客户端将隐藏信息加密后嵌入协议首部的序列号字段或确认号字段,对可信的第三方服务器发起连接请求。服务端则伪造服务器向客户端
8、返回数据包。通过数据包捕获技术,服务端从客户端发往服务器的请求数据包中捕获隐秘信息并复原。客户端则从服务端伪造服务器的返回数据包中捕获隐秘信息或指令解析并执行。系统功能及实现系统功能模块系统可分为数据包生成模块、数据包捕获模块、管理与控制模块和指令解析模块,如图所示。其中,数据包的生成和捕获模块利用多线程技术实现,执行时不会造成界面假死。管理与控制模块负责处理网络设备的获取与控制。指令解析模块对传递的信息进行显示和执行指令。机密信息经加密后嵌入数据包发往公开信道,接收端在公开信道捕获数据包并对其进行解密。实验结果及分析经过实验,通信功能方面,双方互发的消息都能正确接收。控制功能方面,能够通过在
9、客户端发送命令来实现对服务端的控制。经测试,该系统在和操作系统中运行良好。实验结果见表和表。实验结果表明,该系统不仅能够实现信息传输和远程控制的功能,而且能够成功躲避各种安全防护系统的防备。结束语网络隐蔽通道的存在违犯了系统安全策略,给网络信息安全带来了极大的隐患。从攻击者角度出发去检验网络安全防护系统的性能,是消除安全隐患的一条良好途径。通过对网络隐蔽通道及相关技术进行研究,提出了基于首部中的序列号和确认号字段设置网络隐蔽通道的方法,通过与第三方受信的服务器进行通信,伪造服务器的响应来构建隐蔽通道。设计并实现了原型系统。经过实验测试,系统能够成功绕太多种杀毒软件和防火墙,传输隐蔽信息和实现远程控制。这将对提高网络安全防护系统的性能提供很好的决策根据。