馬 榮,盧 熠,許翰林,段鵬飛,石樂義
( 1. 中國石油大學(xué)(華東) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 青島 266580;2. 螞蟻金服,浙江 杭州310000;3. 中國石油大學(xué)(華東) 海洋與空間信息學(xué)院,山東 青島 266580;4. 寧夏長慶初級中學(xué),寧夏 銀川 750006)
隱蔽通信技術(shù)通過利用載體信息的冗余性將機(jī)密信息以偽裝的方式隱藏在公共信道中進(jìn)行傳輸,達(dá)到在網(wǎng)絡(luò)環(huán)境中隱蔽通信和隱蔽標(biāo)識的目的,為使用者提供有效且安全的信息傳輸服務(wù)。當(dāng)前,無處不在的網(wǎng)絡(luò)監(jiān)視、流量審查等功能對用戶的隱私構(gòu)成越來越嚴(yán)重的威脅,網(wǎng)絡(luò)安全防護(hù)形勢日益嚴(yán)峻。
作為信息隱藏的研究分支[1],隱蔽信道的概念最初是由Lampson[2]在1973年提出,比傳統(tǒng)的信息加密技術(shù)具有更強(qiáng)的隱蔽性,已成為網(wǎng)絡(luò)安全領(lǐng)域的研究熱點(diǎn)。端口敲門技術(shù)作為信息隱藏的一種具體實(shí)現(xiàn),允許訪問預(yù)先配置好“敲門序列”的防火墻服務(wù),通過有序訪問對方端口進(jìn)行機(jī)密信息的傳輸,使得信息安全傳輸從對信息加密轉(zhuǎn)向信息內(nèi)容擴(kuò)展,以信息擴(kuò)展后生成的端口訪問序列作為信息傳輸?shù)妮d體來傳遞機(jī)密信息,更易于機(jī)密信息的隱藏。端口敲門技術(shù)僅對端口進(jìn)行安全防護(hù),使得攻擊者不能利用端口發(fā)起攻擊,但對于服務(wù)器的地址并沒有進(jìn)行相應(yīng)防護(hù)。由于端口敲門技術(shù)對固定IP進(jìn)行多次重復(fù)訪問,極易引起攻擊者注意,可能會(huì)暴露通信地址,引起信息泄露或者通信中斷,研究如何對端口敲門技術(shù)進(jìn)行改進(jìn)以增強(qiáng)其抗攻擊能力和隱蔽傳輸能力十分重要。
本研究提出基于端址敲門的隱蔽通信系統(tǒng),該系統(tǒng)在單一端口敲門認(rèn)證的基礎(chǔ)上引入IP地址,采用地址與端口組合作為敲門序列的端址敲門方法實(shí)現(xiàn)隱蔽信息的傳遞。這樣不僅能夠隱藏服務(wù)器的真實(shí)地址,而且能夠?qū)崿F(xiàn)信息的隱蔽性傳輸。本研究首先詳細(xì)分析擴(kuò)展序列的生成并針對不同信息類型進(jìn)行相應(yīng)的信息傳輸服務(wù),然后針對端口選擇隨機(jī)性的問題提出基于象限的端口選擇策略和基于正弦函數(shù)的端口選擇策略,最后通過實(shí)驗(yàn)分析得到滿足不同信息傳輸要求的端口控制策略,以達(dá)到更好的傳輸效果。
網(wǎng)絡(luò)隱蔽通信中的隱蔽信道分為存儲(chǔ)型隱蔽信道(storage covert channel,SCC)和時(shí)間型隱蔽信道(timing covert channel,TCC)兩種類型。存儲(chǔ)型隱蔽信道是指通過協(xié)議數(shù)據(jù)單元(protocol data units,PDU)傳輸隱藏信息,如數(shù)據(jù)分組、數(shù)據(jù)幀、數(shù)據(jù)段的未使用或保留的協(xié)議頭字段[3-4]。Anagnostopoulos等[5]通過將信息嵌入到DNSKEY中來進(jìn)行隱蔽通信。Mavani等[6]增加新的IPv6目的地址選項(xiàng)用于傳遞隱蔽信息。Zander等[7]提出一種將秘密消息映射到IP生存時(shí)間的新隱蔽方案,用Live Field取代IP數(shù)據(jù)包,證明了該方案的可行性及安全性。王永杰等[8]提出一種基于 DNS 協(xié)議的隱蔽通道技術(shù),并對其基本方法及其實(shí)用化的數(shù)據(jù)編碼、躲避檢測、可靠通信和速率控制等關(guān)鍵技術(shù)進(jìn)行了研究,分析結(jié)果表明該技術(shù)具有可靠性好、隱蔽性強(qiáng)、通信效率高等特點(diǎn)。譚慶豐等[9]設(shè)計(jì)實(shí)現(xiàn)了基于P2P網(wǎng)絡(luò)的StegoP2P,讓P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)合謀隱蔽握手,達(dá)到傳遞隱蔽信息的目的。存儲(chǔ)型隱蔽信道在初期被利用到了極致,但是后期網(wǎng)絡(luò)防火墻使用了流量正規(guī)化技術(shù),強(qiáng)制改寫了IP數(shù)據(jù)包的冗余位,一定程度上打擊了這種隱蔽通信模式[10-12]。時(shí)間型隱蔽信道是指將秘密信息調(diào)制進(jìn)網(wǎng)絡(luò)數(shù)據(jù)包的發(fā)包間隔、發(fā)包速率、發(fā)包次序等特征中進(jìn)行傳遞。早期Moskowitz等[13]提出一種簡單的時(shí)間隱蔽信道(simple timing channel, STC),是一種無噪聲隱蔽信道。Cabuk等[14]最早提出IP時(shí)間隱蔽信道,根據(jù)劃分的若干個(gè)固定的時(shí)間窗口內(nèi)是否有IP數(shù)據(jù)包到達(dá)進(jìn)行解碼。這種方法高度依賴網(wǎng)絡(luò)情況,因此初期并未引起太多關(guān)注。李彥峰等[15]提出區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道模型,用形式化方法建模并證明了抗干擾性和抗篡改性;然后構(gòu)建基于業(yè)務(wù)操作時(shí)間間隔的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的場景;最后提出包含抗檢測性、頑健性和傳輸效率的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道評估向量,為基于區(qū)塊鏈環(huán)境的新型網(wǎng)絡(luò)隱蔽信道的實(shí)用化奠定了理論基礎(chǔ)。王昌達(dá)等[16-17]考慮到雖然IP數(shù)據(jù)包傳輸時(shí)間間隔變化通信與基于數(shù)據(jù)包標(biāo)識號傳輸順序變化通信的IP時(shí)間隱通道具有較好的隱蔽性,但易受到網(wǎng)絡(luò)延遲與時(shí)延抖動(dòng)影響出現(xiàn)錯(cuò)序的問題,提出二維時(shí)間隱通道的構(gòu)建方法,但是由于網(wǎng)絡(luò)時(shí)間型隱蔽通信受網(wǎng)絡(luò)數(shù)據(jù)流量、路由轉(zhuǎn)發(fā)等狀況的影響比較大,會(huì)造成隱蔽信道傳輸信息的錯(cuò)誤,對此類型隱蔽通信的研究需要極其復(fù)雜嚴(yán)格的條件。
端口敲門(port knocking,PK)技術(shù)首先由Krzywinsk[18]提出。Shiraz等[19]針對移動(dòng)云計(jì)算(mobile cloud computing,MCC)的安全問題提出一種動(dòng)態(tài)長度端口敲門認(rèn)證框架,該框架不僅提升了敲門認(rèn)證的安全性,而且在時(shí)間和緩沖區(qū)管理方面優(yōu)化了性能。實(shí)驗(yàn)結(jié)果表明,動(dòng)態(tài)長度端口敲門身份驗(yàn)證技術(shù)可通過減少施加的負(fù)載將時(shí)間方面性能提高23%,將緩沖區(qū)管理性能提高28%。Major等[20]提出一種名為Crucible的新型端口斷開解決方案,是一種安全的身份驗(yàn)證方法,具有很高的可用性和隱身性,可以使服務(wù)器和服務(wù)保持隱藏和受保護(hù)。Ali等[21]提出一種將源端口序列加入到敲門序列中的技術(shù),能夠有效應(yīng)對重復(fù)攻擊和端口監(jiān)聽。Mehran等[22]提出一種安全端口敲門隧道方法,能夠應(yīng)對DoS敲門序列攻擊和NAT敲門序列攻擊。由以上分析可知現(xiàn)階段端口敲門技術(shù)大都應(yīng)用于安全認(rèn)證方面,未涉及隱蔽通信。
綜上,存儲(chǔ)型隱蔽信道是通過將數(shù)據(jù)包中的某些次要字段進(jìn)行填充達(dá)到隱蔽通信的目的,可靠性好、隱蔽性強(qiáng)、通信效率高,但后期的流量正規(guī)化技術(shù)很大程度上限制了這種隱蔽通信方式的發(fā)展。時(shí)間型隱蔽信道是以時(shí)間為載體實(shí)現(xiàn)隱蔽通信,隱蔽性高,但傳輸效率較低,受網(wǎng)絡(luò)和時(shí)延的影響極大,需要極為嚴(yán)苛的傳輸環(huán)境。因此,本研究提出一種基于端口的敲門技術(shù),使用IP地址和端口作為端址敲門序列,在提高信息傳輸隱蔽性的同時(shí)保障系統(tǒng)的安全性和穩(wěn)定性。相較于端口敲門技術(shù),端址敲門中IP地址的加入使得端址敲門技術(shù)中擴(kuò)展序列的復(fù)雜度更高,且隨著配有IP地址的主機(jī)數(shù)量增加,序列復(fù)雜度顯著提升。復(fù)雜的序列既可以防范攻擊者,又可以達(dá)到很好的隱蔽傳輸效果。
基于端址敲門的隱蔽通信技術(shù)通過對端口加IP地址的復(fù)雜組合序列進(jìn)行敲門,旨在建立一種高隱蔽、抗攻擊的通信機(jī)制,在保護(hù)通信雙方的基礎(chǔ)上利用網(wǎng)絡(luò)層和傳輸層協(xié)議的特點(diǎn),構(gòu)建自定義報(bào)頭的數(shù)據(jù)包,并使用這些數(shù)據(jù)包組合序列作為載體隱藏機(jī)密信息,以達(dá)到隱蔽通信的目的。
為了使隱蔽信息能夠分散且傳輸內(nèi)容與所發(fā)送內(nèi)容無關(guān),實(shí)現(xiàn)高隱蔽通信,提出端址敲門技術(shù),并將此技術(shù)應(yīng)用于隱蔽通信。從信息隱蔽的角度出發(fā),建立了基于端址敲門技術(shù)的隱蔽通信模型,如圖1所示。該模型用一個(gè)二元組(Sender,Receiver)描述,Sender表示發(fā)送端,包括擴(kuò)展序列生成模塊和擴(kuò)展序列發(fā)送模塊;Receiver表示接收端,包括擴(kuò)展序列接收模塊,接收到的擴(kuò)展序列用于對發(fā)送端身份的認(rèn)證和秘密消息的傳輸。
圖1 端址敲門隱蔽通信模型Fig. 1 Covert communication model of ports and addresses knocking
在基于端址敲門技術(shù)的隱蔽通信模型中,發(fā)送端首先生成信息擴(kuò)展序列,然后將擴(kuò)展序列發(fā)送給接收端;接收端對接收到的擴(kuò)展序列進(jìn)行檢測,判斷用戶身份的合法性。如果合法則通過認(rèn)證,然后進(jìn)行機(jī)密信息的傳輸,否則拒絕服務(wù)。
在本研究的隱蔽通信系統(tǒng)中,首先通信雙方要分別在各自的網(wǎng)絡(luò)部署若干個(gè)IP地址,然后進(jìn)行隱蔽通信。發(fā)送端將所要傳輸?shù)碾[蔽信息進(jìn)行逐個(gè)編碼,選取IP和端口組成套接字選項(xiàng),通過一系列不同的套接字生成一串?dāng)U展序列,然后將其發(fā)送到接收端。接收端始終運(yùn)行著監(jiān)聽程序,監(jiān)聽并記錄來訪數(shù)據(jù)包中的套接字信息,根據(jù)源IP地址范圍過濾掉無用數(shù)據(jù)包,再以源端口為過濾規(guī)則進(jìn)行身份驗(yàn)證(校驗(yàn)內(nèi)容為源 IP地址、源端口、目的IP地址、目的端口),以免攻擊者偽裝合法IP發(fā)送惡意數(shù)據(jù)包。接收端進(jìn)行身份驗(yàn)證是通信雙方進(jìn)行信息傳輸前必不可少的步驟之一,只有通過身份驗(yàn)證后才能進(jìn)行機(jī)密信息的傳輸。一旦發(fā)送端身份得到確認(rèn),表明通信雙方已經(jīng)建立互信的信道,并進(jìn)入信息傳輸模塊。接收端接收到所有信息并將其存儲(chǔ)起來,然后一并進(jìn)行解碼,還原出原始信息。
端址敲門序列是基于端址敲門技術(shù)的隱蔽通信系統(tǒng)的核心。其中,接收端網(wǎng)卡配置有IP地址池中的所有地址,無論數(shù)據(jù)包發(fā)往哪個(gè)IP地址,都可通過路由到達(dá)接收端網(wǎng)卡。因此接收端的端址敲門序列可以形式化描述為:
Server-Sequence={(IP1,C),(IP2,C),(IP3,C),…, (IPn,C)},其中IP∈(IP1,IP2,IP3,…, IPn)的IP地址池,C為常數(shù),代表服務(wù)端口。
發(fā)送端端址敲門序列在文字模塊下既作為源IP地址發(fā)送數(shù)據(jù)包,又用于編碼文字字符。系統(tǒng)對所發(fā)送的字符串逐個(gè)取字符,并按規(guī)則轉(zhuǎn)換為整數(shù),再轉(zhuǎn)換為二進(jìn)制數(shù),根據(jù)二進(jìn)制數(shù)中“1”的位置選擇IP,最終確定發(fā)送序列。例如發(fā)送端選取了IP1、IP3、IP5作為擴(kuò)展編碼(擴(kuò)展序列只包含目的IP和目的端口號),然后通過提出的端口控制策略選擇合適的端口,組成端址敲門序列{(IP1,port1),(IP3,port3),(IP5,port5)}。
接收端對于接收到的擴(kuò)展序列首先要進(jìn)行身份認(rèn)證,確定是否為合法用戶。接收端對序列進(jìn)行解碼獲取相應(yīng)的身份信息,當(dāng)組合序列滿足預(yù)設(shè)的條件時(shí)信息才能被解析出來,即接收方通過將分散的敲門包進(jìn)行組合完成信息的還原,否則不予響應(yīng)。身份認(rèn)證是信息傳輸?shù)囊环N特殊形式,信息傳輸將在下節(jié)中進(jìn)行詳細(xì)論述。由于傳輸過程中各個(gè)信息是分散的,攻擊者難以通過序列中的單個(gè)敲門包獲取有效信息,因此采用端址敲門的方式進(jìn)行信息傳遞具有良好的隱蔽性及抗攻擊性。
信息傳輸模塊是基于端址敲門技術(shù)的隱蔽通信系統(tǒng)中最為核心的部分,在身份信息驗(yàn)證成功后,接收端進(jìn)入等待接收信息狀態(tài),發(fā)送端進(jìn)入傳輸模塊,進(jìn)行機(jī)密信息的傳輸。針對垂直部門間的實(shí)際應(yīng)用場景,提出下列兩種傳輸模塊,分別用于文字傳輸和文件傳輸。
1) 文字傳輸模塊
文字信息隱蔽傳輸模塊的發(fā)送和接收形式與即時(shí)通信軟件類似,客戶端輸入信息并發(fā)送,接收端接收并呈現(xiàn)信息。發(fā)送端獲取用戶輸入的文字信息,逐個(gè)字符進(jìn)行轉(zhuǎn)碼,將單個(gè)字符轉(zhuǎn)換成用若干IP地址組合的形式表示,配置套接字信息前需要選擇所選用的序列確認(rèn)方式,選擇使用基于象限規(guī)則的方案或者基于正弦函數(shù)規(guī)則的方案,最后將IP地址和端口號配置到套接字中并發(fā)送給接收端。接收端根據(jù)同樣的規(guī)則進(jìn)行解碼,還原出原始文字信息。
系統(tǒng)首先將用戶編輯的文字(以英文為例)按字符分割,并將其按約定擴(kuò)展為一串由不同的源/目的IP地址和源/目的端口套接字組成的序列。為達(dá)到隱蔽通信的目的,文字信息通過編碼后進(jìn)行轉(zhuǎn)換發(fā)送。其中編碼方案綜合考慮了字符的日常使用頻率和字符轉(zhuǎn)碼特性后,為方便字符編碼,將字符集中的字符以整型數(shù)字作為標(biāo)記代號,構(gòu)建對照表如表1所示。詳細(xì)轉(zhuǎn)碼生成IP_Sequence的步驟如算法1所示。
表1 字符與其擴(kuò)展代碼對照表Tab.1 Character and extended code comparison
算法1.IP_Sequence生成算法輸入:編碼字典chr_dic,消息message[],地址池IP_pool輸出:地址序列IP_Sequence[]步驟:1:讀取消息m[]2:while i>=0 do3: if m[i]←chr_dic[key] then value←dic.get(key)4: 將value轉(zhuǎn)換為十位二進(jìn)制數(shù)5: 對該二進(jìn)制數(shù)從左到右依次編號為0-96: for j←0 to 9 do7: if j ←1 then 在IP_pool中選取j所對應(yīng)的ip地址8: add ip[j] to IP_Sequence[]9: else j++10: end if11: end for12: else if m[] == ' 蒙山县| 房产| 达尔| 万荣县| 张家口市| 布尔津县| 平南县| 涟水县| 两当县| 临澧县| 山丹县| 房山区| 六安市| 临湘市| 德钦县| 西宁市| 广河县| 临桂县| 德庆县| 冕宁县| 湛江市| 南丰县| 黄浦区| 宁武县| 广安市| 勃利县| 灵台县| 安徽省| 临泽县| 宁国市| 成都市| 侯马市| 大邑县| 健康| 阿拉善盟| 汉中市| 土默特右旗| 班玛县| 南木林县| 阿拉善左旗| 漳州市|