夏詩慧,施 勇,薛 質(zhì)
(上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)
基于控制協(xié)議弱點(diǎn)的隱蔽通信研究
夏詩慧,施 勇,薛 質(zhì)
(上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)
隨著互聯(lián)網(wǎng)和網(wǎng)絡(luò)安全的發(fā)展,隱蔽通信成為信息秘密傳輸?shù)囊环N重要方式。隱蔽通信將信息隱藏在協(xié)議包的特定字段中,使其在傳輸過程中不被第三方發(fā)現(xiàn)??刂茀f(xié)議的引入擴(kuò)展了隱蔽通信的功能。然而,控制協(xié)議自身的弱點(diǎn)也成為攻擊隱蔽通信的有力武器。研究隱蔽信道控制協(xié)議的弱點(diǎn),以ICMP隱蔽信道工具Ping Tunnel為例,分析其控制協(xié)議的弱點(diǎn),以及利用其弱點(diǎn)實(shí)施隱蔽通信阻斷的方法。最后,提出控制協(xié)議的研究展望。
隱蔽通信;控制協(xié)議弱點(diǎn);Ping Tunnel;網(wǎng)絡(luò)安全
隱蔽通道是一種違背合法安全策略進(jìn)行通信的秘密通道。網(wǎng)絡(luò)隱蔽通道利用網(wǎng)絡(luò)協(xié)議中的冗余條件和有效負(fù)載等進(jìn)行隱蔽通信[1]。網(wǎng)絡(luò)協(xié)議為隱蔽通信提供了數(shù)據(jù)存放空間,但隱蔽通信的良好運(yùn)作不僅需要網(wǎng)絡(luò)負(fù)載,還需要控制協(xié)議的支持。隱蔽通信控制協(xié)議(Covert Channel Internal Control Protocol)這個(gè)術(shù)語,在2012年被提出[2]。正如通信協(xié)議控制網(wǎng)絡(luò)中分布進(jìn)程之間的通信一樣,控制協(xié)議為隱蔽通信的分布進(jìn)程間提供管理和控制。它被載入隱蔽通信負(fù)載部分,為隱蔽通信提供了諸多控制功能,包括但不限于[3]:(1)數(shù)據(jù)傳輸?shù)目煽啃?;?)多會話連接管理;(3)隱蔽通信覆蓋網(wǎng)絡(luò)的編址和動態(tài)路由;(4)變換隱蔽通信的載體。
控制協(xié)議的功能多樣,使隱蔽通信更加穩(wěn)定和強(qiáng)大。然而,協(xié)議的設(shè)計(jì)會有不完善的地方,控制協(xié)議自身的脆弱性也給隱蔽通信帶來了風(fēng)險(xiǎn)。攻擊者利用協(xié)議弱點(diǎn),能對隱蔽通信實(shí)施檢測、限制和阻斷。因此,研究控制協(xié)議對于隱蔽通信的檢測機(jī)制和中斷機(jī)制的研究具有重要意義。
目前,已知的一些隱蔽通信控制協(xié)議存在于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作為研究對象,研究其控制協(xié)議的弱點(diǎn)以及這些弱點(diǎn)如何被攻擊者利用,繼而影響隱蔽通信過程。
文章共分為四部分。引言介紹研究內(nèi)容背景和意義,接著介紹Ping Tunnel及其控制協(xié)議的結(jié)構(gòu)和功能,然后對其控制協(xié)議的弱點(diǎn)和利用方法做詳細(xì)說明,最后總結(jié)并對控制協(xié)議的研究進(jìn)行展望。
1.1 Ping Tunnel
Ping Tunnel(PTunnel)是一種實(shí)現(xiàn)ICMP協(xié)議隱蔽通信的工具,通過ICMP請求和應(yīng)答包的負(fù)載部分傳輸信息。PTunnel最初由Daniel St?dle在2004年開發(fā)[4],之后不斷完善。通常情況下許多網(wǎng)絡(luò)設(shè)備考慮ICMP流量是良性,對其負(fù)載部分不做檢測,且ICMP負(fù)載的承載能力較大,使其成為隱蔽通信的優(yōu)良載體。
利用PTunnel可以穿透防火墻建立端到端的可靠通信,隱蔽地進(jìn)行TCP連接,例如SSH、HTTP、滲透測試等操作。如圖1所示,客戶端與一個(gè)外部的代理服務(wù)器進(jìn)行ICMP隱蔽通信。代理將收到的ICMP包中隱藏的請求解析成標(biāo)準(zhǔn)的TCP包,與目的地建立正常的通信。
圖1 ICMP隱蔽通信
1.2 Ping Tunnel控制協(xié)議
PTunnel利用ICMP包的載體部分傳輸控制協(xié)議段和信息內(nèi)容??刂茀f(xié)議擴(kuò)展了ICMP隱蔽通信的特性和功能,通過確認(rèn)機(jī)制提高了連接的可靠性,能應(yīng)對丟包情況。此外,它還能管理多個(gè)會話連接,同時(shí)負(fù)責(zé)地址信息的傳遞等。
PTunnel控制協(xié)議的結(jié)構(gòu)如表1所示。
協(xié)議包括[3]:
(1)magic word(0xD5200880),可以篩選出屬于PTunnel的ping包;
(2)目的地址;
(3)目的端口號;
(4)狀態(tài)碼,表示信息類型:新會話的開始、數(shù)據(jù)傳送、數(shù)據(jù)接收確認(rèn)、連接關(guān)閉、認(rèn)證信息以及發(fā)送方;
(5)確認(rèn)字段,能應(yīng)對丟包等情況的發(fā)生;
(6)傳送數(shù)據(jù)長度;
(7)序列號;
(8)會話ID,用來處理同步的多個(gè)連接。
表1 PTunnel控制協(xié)議
隱蔽通信的控制協(xié)議擴(kuò)展了隱蔽通信的功能,同時(shí)也引入了一些弱點(diǎn)易被攻擊者利用。本文通過研究ICMP隱蔽通信的工具Ping Tunnel的脆弱性,同時(shí)結(jié)合現(xiàn)有的一些隱蔽通信控制協(xié)議SCCT[5]、dG[6]的弱點(diǎn)進(jìn)行探究。本節(jié)將首先說明控制協(xié)議缺少對信息的完整性校驗(yàn),然后說明控制協(xié)議使用TCP/IP協(xié)議棧帶來的風(fēng)險(xiǎn),最后說明控制協(xié)議的冗余度對隱蔽通信的影響。
2.1 弱點(diǎn)一:缺乏信息完整性校驗(yàn)
PTunnel控制協(xié)議包含一個(gè)常量字符串magic word,來區(qū)分隱蔽通信的Ping包和正常的ping,是迅速篩選出隱蔽通信數(shù)據(jù)包的方法。但是,控制協(xié)議的這項(xiàng)設(shè)計(jì)容易被攻擊者利用,以實(shí)施對隱蔽信道的攻擊。攻擊者截獲客戶端和代理間的Ping Tunnel包,替換magic word為其他值,使代理認(rèn)為其是正常的請求包,回應(yīng)正常的ICMP回應(yīng)包,從而中斷隱蔽通信[8],如圖2所示。
圖2 篡改magic word攻擊
這種攻擊得以實(shí)施的原因,是PTunnel控制協(xié)議缺少對信息傳輸真實(shí)性和完整性的校驗(yàn)。攻擊者能輕易篡改隱蔽通信的內(nèi)容而不被通信雙方察覺,從而干預(yù)隱蔽通信。
目前已知的一些隱蔽通信控制協(xié)議也存在類似問題,如SCCT[5]、dG[6]協(xié)議也缺少信息完整性的校驗(yàn)功能。這項(xiàng)脆弱性給隱蔽通信攻擊者提供了機(jī)會。
2.2 弱點(diǎn)二:協(xié)議依賴TCP/IP
PTunnel控制協(xié)議使用IPv4協(xié)議進(jìn)行地址編碼,使用TCP協(xié)議進(jìn)行會話(如SSH、HTTP會話等)。攻擊者能夠理解控制協(xié)議各字段內(nèi)容,包括掌握隱蔽通信的IP地址。因而,攻擊者可以輕易實(shí)施中間人攻擊,根據(jù)截獲的隱蔽通信數(shù)據(jù),偽造出同樣遵循TCP/IP協(xié)議棧的ICMP包來回應(yīng)客戶端,使隱蔽通信中斷。
攻擊方式,例如:
(1)通過發(fā)送偽造信息,修改控制協(xié)議中的狀態(tài)碼字段為接收確認(rèn),來終止隱蔽會話,如圖3所示。
(2)通過篡改控制協(xié)議的目的地址為攻擊者IP地址,欺騙代理服務(wù)器,將消息重定向。
圖3 偽造應(yīng)答報(bào)文欺騙
目前已知的一些隱蔽通信控制協(xié)議,如PTunnel、SCCT等控制協(xié)議都遵循IPv4協(xié)議進(jìn)行編址,依靠TCP/IP協(xié)議棧進(jìn)行通信。這種易被理解和模仿的控制協(xié)議結(jié)構(gòu),給隱蔽通信帶來了不安全因素。因而,在控制協(xié)議設(shè)計(jì)上,可以通過構(gòu)建內(nèi)部編址機(jī)制以及獨(dú)立的通信機(jī)制,來規(guī)避這項(xiàng)弱點(diǎn)。
2.3 弱點(diǎn)三:協(xié)議冗余性較大
本文通過Ping Tunnel實(shí)驗(yàn)?zāi)M隱蔽通信過程,模擬隱蔽HTTP會話和SSH會話,統(tǒng)計(jì)出隱蔽通信流量包長度。實(shí)驗(yàn)結(jié)果分別如表2、表3所示。
表2 PTunnel包長分布-HTTP
表3 PTunnel包長分布-SSH
同時(shí),借助上海交通大學(xué)校園網(wǎng)某臺交換機(jī)做端口鏡像,獲得ICMP(type 0/8)數(shù)據(jù)包約1.5億個(gè)。提取其payload,觀察實(shí)際網(wǎng)絡(luò)流中ICMP數(shù)據(jù)包的載體內(nèi)容和長度分布,實(shí)驗(yàn)結(jié)果如表4所示。表4羅列了校園網(wǎng)流量中占比較大的ICMP包的payload及其長度。
由實(shí)驗(yàn)結(jié)果可見,Ping Tunnel數(shù)據(jù)包長度主要分布在962~1 094 byte區(qū)間。而校園網(wǎng)流量中,81%以上的ICMP包的payload長度在30~50 byte之間,遠(yuǎn)小于前者。
由于Ping Tunnel數(shù)據(jù)包過大,其在網(wǎng)絡(luò)流量中容易被檢測為異常流量。相比正常網(wǎng)絡(luò)流中ICMP包載體部分30~60 byte的大小,PTunnel控制協(xié)議28 byte的長度相對較大。為了降低被檢測為異常流量的概率,同時(shí)保證隱蔽通信的傳輸效率,可以考慮通過降低控制協(xié)議冗余度來縮小協(xié)議長度。例如,PTunnel控制協(xié)議中的目的地地址設(shè)計(jì)比較冗余,目的地地址只需在會話初始階段傳遞一次。如果能合理利用這個(gè)協(xié)議字段,就可以節(jié)約4 byte的傳輸空間。
表4 校園網(wǎng)流量中ICMP包統(tǒng)計(jì)
控制協(xié)議占用的載體空間越大,隱蔽通信會話過程使用的載體協(xié)議包數(shù)量就越多,隱蔽通信被檢測到的可能性隨之增加。因而,控制協(xié)議的冗余性問題應(yīng)被考慮。
當(dāng)前,學(xué)術(shù)界對隱蔽通信控制協(xié)議的研究還不多。一方面研究人員能獲取到的隱蔽通信的控制協(xié)議樣本還不夠豐富,另一方面人們非常關(guān)注C&C(Command and Control)通信,常常將其與隱蔽通信控制協(xié)議混為一談。C&C通信的目的是信息傳輸內(nèi)容的機(jī)密性,而控制協(xié)議是為了維持消息傳輸這個(gè)過程本身的隱蔽性。因而,研究控制協(xié)議對于隱蔽通信有著重要的意義。
本文研究隱蔽通信的控制協(xié)議存在的脆弱性以及易被攻擊的方面,認(rèn)為未來控制協(xié)議的研究和設(shè)計(jì)應(yīng)考慮如下方面[3]:
第一,控制協(xié)議中加入隱蔽通信傳輸信息的完整性校驗(yàn)。由于隱蔽通信的內(nèi)容是在合法通信的環(huán)境中傳輸,其非常容易遭受篡改報(bào)文、偽造報(bào)文、中間人攻擊等,因而消息的真實(shí)性校驗(yàn)十分關(guān)鍵。
第二,將控制協(xié)議對TCP/IP協(xié)議的依賴性降為最低。大多數(shù)隱蔽通信控制協(xié)議的設(shè)計(jì)依賴TCP/ IP協(xié)議,如使用IPv4地址。隨著未來網(wǎng)絡(luò)隱通道會置于非TCP/IP環(huán)境中的發(fā)展趨勢,控制協(xié)議的設(shè)計(jì)應(yīng)考慮獨(dú)立于載體協(xié)議。
第三,控制協(xié)議應(yīng)去冗余,使協(xié)議長度盡可能短,從而在異常流量檢測上降低其被判為異常的可能性,增大隱蔽通信檢測的難度。
本文通過研究隱蔽通信控制協(xié)議的脆弱性及其對隱蔽通信安全性的影響,選擇ICMP隱蔽信道工具Ping Tunnel為例,分析其控制協(xié)議的弱點(diǎn)及弱點(diǎn)利用方法,并在文章最后提出了隱蔽通信控制協(xié)議的研究展望,希望為今后的控制協(xié)議研究提供一些有價(jià)值的參考。
[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—),女,碩士,主要研究方向?yàn)榫W(wǎng)絡(luò)攻擊防御、APT攻擊檢測;
施 勇(1979—),男,博士,講師,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、網(wǎng)絡(luò)攻防;
薛 質(zhì)(1971—),男,博士,教授,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、網(wǎng)絡(luò)攻防。
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