夏詩慧,施 勇,薛 質
(上海交通大學 電子信息與電氣工程學院,上海 200240)
基于控制協議弱點的隱蔽通信研究
夏詩慧,施 勇,薛 質
(上海交通大學 電子信息與電氣工程學院,上海 200240)
隨著互聯網和網絡安全的發展,隱蔽通信成為信息秘密傳輸的一種重要方式。隱蔽通信將信息隱藏在協議包的特定字段中,使其在傳輸過程中不被第三方發現。控制協議的引入擴展了隱蔽通信的功能。然而,控制協議自身的弱點也成為攻擊隱蔽通信的有力武器。研究隱蔽信道控制協議的弱點,以ICMP隱蔽信道工具Ping Tunnel為例,分析其控制協議的弱點,以及利用其弱點實施隱蔽通信阻斷的方法。最后,提出控制協議的研究展望。
隱蔽通信;控制協議弱點;Ping Tunnel;網絡安全
隱蔽通道是一種違背合法安全策略進行通信的秘密通道。網絡隱蔽通道利用網絡協議中的冗余條件和有效負載等進行隱蔽通信[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.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控制協議
隱蔽通信的控制協議擴展了隱蔽通信的功能,同時也引入了一些弱點易被攻擊者利用。本文通過研究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包統計
控制協議占用的載體空間越大,隱蔽通信會話過程使用的載體協議包數量就越多,隱蔽通信被檢測到的可能性隨之增加。因而,控制協議的冗余性問題應被考慮。
當前,學術界對隱蔽通信控制協議的研究還不多。一方面研究人員能獲取到的隱蔽通信的控制協議樣本還不夠豐富,另一方面人們非常關注C&C(Command and Control)通信,常常將其與隱蔽通信控制協議混為一談。C&C通信的目的是信息傳輸內容的機密性,而控制協議是為了維持消息傳輸這個過程本身的隱蔽性。因而,研究控制協議對于隱蔽通信有著重要的意義。
本文研究隱蔽通信的控制協議存在的脆弱性以及易被攻擊的方面,認為未來控制協議的研究和設計應考慮如下方面[3]:
第一,控制協議中加入隱蔽通信傳輸信息的完整性校驗。由于隱蔽通信的內容是在合法通信的環境中傳輸,其非常容易遭受篡改報文、偽造報文、中間人攻擊等,因而消息的真實性校驗十分關鍵。
第二,將控制協議對TCP/IP協議的依賴性降為最低。大多數隱蔽通信控制協議的設計依賴TCP/ IP協議,如使用IPv4地址。隨著未來網絡隱通道會置于非TCP/IP環境中的發展趨勢,控制協議的設計應考慮獨立于載體協議。
第三,控制協議應去冗余,使協議長度盡可能短,從而在異常流量檢測上降低其被判為異常的可能性,增大隱蔽通信檢測的難度。
本文通過研究隱蔽通信控制協議的脆弱性及其對隱蔽通信安全性的影響,選擇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