基于控制协议弱点的隐蔽通信研究
2016-12-28夏诗慧
夏诗慧,施 勇,薛 质
(上海交通大学 电子信息与电气工程学院,上海 200240)
基于控制协议弱点的隐蔽通信研究
夏诗慧,施 勇,薛 质
(上海交通大学 电子信息与电气工程学院,上海 200240)
随着互联网和网络安全的发展,隐蔽通信成为信息秘密传输的一种重要方式。隐蔽通信将信息隐藏在协议包的特定字段中,使其在传输过程中不被第三方发现。控制协议的引入扩展了隐蔽通信的功能。然而,控制协议自身的弱点也成为攻击隐蔽通信的有力武器。研究隐蔽信道控制协议的弱点,以ICMP隐蔽信道工具Ping Tunnel为例,分析其控制协议的弱点,以及利用其弱点实施隐蔽通信阻断的方法。最后,提出控制协议的研究展望。
隐蔽通信;控制协议弱点;Ping Tunnel;网络安全
0 引 言
隐蔽通道是一种违背合法安全策略进行通信的秘密通道。网络隐蔽通道利用网络协议中的冗余条件和有效负载等进行隐蔽通信[1]。网络协议为隐蔽通信提供了数据存放空间,但隐蔽通信的良好运作不仅需要网络负载,还需要控制协议的支持。隐蔽通信控制协议(Covert Channel Internal Control Protocol)这个术语,在2012年被提出[2]。正如通信协议控制网络中分布进程之间的通信一样,控制协议为隐蔽通信的分布进程间提供管理和控制。它被载入隐蔽通信负载部分,为隐蔽通信提供了诸多控制功能,包括但不限于[3]:(1)数据传输的可靠性;(2)多会话连接管理;(3)隐蔽通信覆盖网络的编址和动态路由;(4)变换隐蔽通信的载体。
控制协议的功能多样,使隐蔽通信更加稳定和强大。然而,协议的设计会有不完善的地方,控制协议自身的脆弱性也给隐蔽通信带来了风险。攻击者利用协议弱点,能对隐蔽通信实施检测、限制和阻断。因此,研究控制协议对于隐蔽通信的检测机制和中断机制的研究具有重要意义。
目前,已知的一些隐蔽通信控制协议存在于Ping Tunnel[4]、SCCT[5](Smart Covert Channel Tool)、dG[6](Micro-protocol by deGraaf et al.)、HyH[7](Hybrid Approach Using Digital Watermarking)等隐蔽通信方法中。本文以ICMP(Internet Control Message Protocol)隐蔽通信工具Ping Tunnel作为研究对象,研究其控制协议的弱点以及这些弱点如何被攻击者利用,继而影响隐蔽通信过程。
文章共分为四部分。引言介绍研究内容背景和意义,接着介绍Ping Tunnel及其控制协议的结构和功能,然后对其控制协议的弱点和利用方法做详细说明,最后总结并对控制协议的研究进行展望。
1 Ping Tunnel及其控制协议
1.1 Ping Tunnel
Ping Tunnel(PTunnel)是一种实现ICMP协议隐蔽通信的工具,通过ICMP请求和应答包的负载部分传输信息。PTunnel最初由Daniel Stødle在2004年开发[4],之后不断完善。通常情况下许多网络设备考虑ICMP流量是良性,对其负载部分不做检测,且ICMP负载的承载能力较大,使其成为隐蔽通信的优良载体。
利用PTunnel可以穿透防火墙建立端到端的可靠通信,隐蔽地进行TCP连接,例如SSH、HTTP、渗透测试等操作。如图1所示,客户端与一个外部的代理服务器进行ICMP隐蔽通信。代理将收到的ICMP包中隐藏的请求解析成标准的TCP包,与目的地建立正常的通信。
图1 ICMP隐蔽通信
1.2 Ping Tunnel控制协议
PTunnel利用ICMP包的载体部分传输控制协议段和信息内容。控制协议扩展了ICMP隐蔽通信的特性和功能,通过确认机制提高了连接的可靠性,能应对丢包情况。此外,它还能管理多个会话连接,同时负责地址信息的传递等。
PTunnel控制协议的结构如表1所示。
协议包括[3]:
(1)magic word(0xD5200880),可以筛选出属于PTunnel的ping包;
(2)目的地址;
(3)目的端口号;
(4)状态码,表示信息类型:新会话的开始、数据传送、数据接收确认、连接关闭、认证信息以及发送方;
(5)确认字段,能应对丢包等情况的发生;
(6)传送数据长度;
(7)序列号;
(8)会话ID,用来处理同步的多个连接。
表1 PTunnel控制协议
2 PTunnel控制协议的弱点分析
隐蔽通信的控制协议扩展了隐蔽通信的功能,同时也引入了一些弱点易被攻击者利用。本文通过研究ICMP隐蔽通信的工具Ping Tunnel的脆弱性,同时结合现有的一些隐蔽通信控制协议SCCT[5]、dG[6]的弱点进行探究。本节将首先说明控制协议缺少对信息的完整性校验,然后说明控制协议使用TCP/IP协议栈带来的风险,最后说明控制协议的冗余度对隐蔽通信的影响。
2.1 弱点一:缺乏信息完整性校验
PTunnel控制协议包含一个常量字符串magic word,来区分隐蔽通信的Ping包和正常的ping,是迅速筛选出隐蔽通信数据包的方法。但是,控制协议的这项设计容易被攻击者利用,以实施对隐蔽信道的攻击。攻击者截获客户端和代理间的Ping Tunnel包,替换magic word为其他值,使代理认为其是正常的请求包,回应正常的ICMP回应包,从而中断隐蔽通信[8],如图2所示。
图2 篡改magic word攻击
这种攻击得以实施的原因,是PTunnel控制协议缺少对信息传输真实性和完整性的校验。攻击者能轻易篡改隐蔽通信的内容而不被通信双方察觉,从而干预隐蔽通信。
目前已知的一些隐蔽通信控制协议也存在类似问题,如SCCT[5]、dG[6]协议也缺少信息完整性的校验功能。这项脆弱性给隐蔽通信攻击者提供了机会。
2.2 弱点二:协议依赖TCP/IP
PTunnel控制协议使用IPv4协议进行地址编码,使用TCP协议进行会话(如SSH、HTTP会话等)。攻击者能够理解控制协议各字段内容,包括掌握隐蔽通信的IP地址。因而,攻击者可以轻易实施中间人攻击,根据截获的隐蔽通信数据,伪造出同样遵循TCP/IP协议栈的ICMP包来回应客户端,使隐蔽通信中断。
攻击方式,例如:
(1)通过发送伪造信息,修改控制协议中的状态码字段为接收确认,来终止隐蔽会话,如图3所示。
(2)通过篡改控制协议的目的地址为攻击者IP地址,欺骗代理服务器,将消息重定向。
图3 伪造应答报文欺骗
目前已知的一些隐蔽通信控制协议,如PTunnel、SCCT等控制协议都遵循IPv4协议进行编址,依靠TCP/IP协议栈进行通信。这种易被理解和模仿的控制协议结构,给隐蔽通信带来了不安全因素。因而,在控制协议设计上,可以通过构建内部编址机制以及独立的通信机制,来规避这项弱点。
2.3 弱点三:协议冗余性较大
本文通过Ping Tunnel实验模拟隐蔽通信过程,模拟隐蔽HTTP会话和SSH会话,统计出隐蔽通信流量包长度。实验结果分别如表2、表3所示。
表2 PTunnel包长分布-HTTP
表3 PTunnel包长分布-SSH
同时,借助上海交通大学校园网某台交换机做端口镜像,获得ICMP(type 0/8)数据包约1.5亿个。提取其payload,观察实际网络流中ICMP数据包的载体内容和长度分布,实验结果如表4所示。表4罗列了校园网流量中占比较大的ICMP包的payload及其长度。
由实验结果可见,Ping Tunnel数据包长度主要分布在962~1 094 byte区间。而校园网流量中,81%以上的ICMP包的payload长度在30~50 byte之间,远小于前者。
由于Ping Tunnel数据包过大,其在网络流量中容易被检测为异常流量。相比正常网络流中ICMP包载体部分30~60 byte的大小,PTunnel控制协议28 byte的长度相对较大。为了降低被检测为异常流量的概率,同时保证隐蔽通信的传输效率,可以考虑通过降低控制协议冗余度来缩小协议长度。例如,PTunnel控制协议中的目的地地址设计比较冗余,目的地地址只需在会话初始阶段传递一次。如果能合理利用这个协议字段,就可以节约4 byte的传输空间。
表4 校园网流量中ICMP包统计
控制协议占用的载体空间越大,隐蔽通信会话过程使用的载体协议包数量就越多,隐蔽通信被检测到的可能性随之增加。因而,控制协议的冗余性问题应被考虑。
3 控制协议研究展望
当前,学术界对隐蔽通信控制协议的研究还不多。一方面研究人员能获取到的隐蔽通信的控制协议样本还不够丰富,另一方面人们非常关注C&C(Command and Control)通信,常常将其与隐蔽通信控制协议混为一谈。C&C通信的目的是信息传输内容的机密性,而控制协议是为了维持消息传输这个过程本身的隐蔽性。因而,研究控制协议对于隐蔽通信有着重要的意义。
本文研究隐蔽通信的控制协议存在的脆弱性以及易被攻击的方面,认为未来控制协议的研究和设计应考虑如下方面[3]:
第一,控制协议中加入隐蔽通信传输信息的完整性校验。由于隐蔽通信的内容是在合法通信的环境中传输,其非常容易遭受篡改报文、伪造报文、中间人攻击等,因而消息的真实性校验十分关键。
第二,将控制协议对TCP/IP协议的依赖性降为最低。大多数隐蔽通信控制协议的设计依赖TCP/ IP协议,如使用IPv4地址。随着未来网络隐通道会置于非TCP/IP环境中的发展趋势,控制协议的设计应考虑独立于载体协议。
第三,控制协议应去冗余,使协议长度尽可能短,从而在异常流量检测上降低其被判为异常的可能性,增大隐蔽通信检测的难度。
4 结 语
本文通过研究隐蔽通信控制协议的脆弱性及其对隐蔽通信安全性的影响,选择ICMP隐蔽信道工具Ping Tunnel为例,分析其控制协议的弱点及弱点利用方法,并在文章最后提出了隐蔽通信控制协议的研究展望,希望为今后的控制协议研究提供一些有价值的参考。
[1] Zander S,Armitage G,Branch P.A Survey of Covert Channels and Countermeasures in Computer Network Protocols[J].IEEE Communications Surveys & Tutorials,2007,9(03):44-57.
[2] Wendzel S,Keller J.Systematic Engineering of Control Protocols for Covert Channels[C].IFIP International Conference on Communications and Multimedia Security,2012:131-144.
[3] Wendzel S,Keller J.Hidden and under Control[J].Annals of Telecommunications-annales des Tele-communicatio ns,2014,69(07-08):417-430.
[4] Stødle D.Ping Tunnel-for Those Times When Everything Else is Blocked[EB/OL].(2009-01-01)[2016-08-29].http:// www.cs.uit.no/~daniels/PingTunnel,2009.
[5] Backs P,Wendzel S,Keller J.Dynamic Routing in Covert Channel Overlays based on Control Protocols[C].Internet Technology And Secured Transactions,2012:32-39.
[6] Aycock J,Jacobson M.Improved Port Knocking with Strong Authentication[C].21st Annual Computer Security Applications Conference (ACSAC'05),2005:462.
[7] Mazurczyk W,Kotulski Z.New Security and Control Protocol for VoIP based on Steganography and Digital Watermarking[J].ArXiv Preprint cs/0602042,2006.
[8] Kaur J,Wendzel S,Meier M.Countermeasures for Covert Channel-Internal Control Protocols[C]. Availability,Reliability and Security(ARES),2015:422-428.
夏诗慧(1991—),女,硕士,主要研究方向为网络攻击防御、APT攻击检测;
施 勇(1979—),男,博士,讲师,主要研究方向为网络安全、网络攻防;
薛 质(1971—),男,博士,教授,主要研究方向为网络安全、网络攻防。
Covert Communication based on Control Protocol Vulnerability
XIA Shi-hui, SHI Yong, XUE Zhi
(School of Electronic Information and Electrical Engineering, Shanghai Jiaotong Univ., Shanghai 200240, China)
With the development of Internet and network security, covert communication now becomes an important way for transmitting secret information. Information in covert communication is hidden in a particular field of protocol packets, so as not to be found by a third party during transmission. The introduction of control protocol extends the functionality of covert communication. However, the weakness of the control protocol itself thus becomes a powerful weapon for attacking the covert communication. The vulnerabilities of covert channel control protocol are discussed. With ICMP covert channel tool Ping Tunnel as an example, the weakness and blocking methods of control protocal are analyzed. The article concludes with future research prospects of control protocol.
covert communication; control protocol vulnerability; Ping Tunnel; network security;
TP309.5
A
1002-0802(2016)-12-1691-04
10.3969/j.issn.1002-0802.2016.12.022
2016-08-13
2016-11-21 Received date:2016-08-13;Revised date:2016-11-21