高 屹
(西藏民族學院 信息工程學院,陜西 咸陽 712082)
網絡隱蔽通信是指利用計算機網絡中合法公開的通信信道進行秘密信息傳輸的過程。其本質是將秘密信息隱藏于網絡流量特征的信息隱藏技術[1],是除網絡加密外另一種重要而有效的保密通信手段[2]。
目前,有關網絡隱蔽通信的研究主要分為時間信道、行為信道和存儲信道[3-6]。時間信道和行為信道隱蔽性較好,但時間信道存在復雜網絡環境下難以保證通信兩端同步的致命缺陷,且傳遞信息容量較小;而行為信道依賴于流量行為的識別,難以保證較高的準確性,所能攜帶秘密信息也較少;存儲信道能利用網絡協議合法字段簡單、準確地傳送大量秘密信息,不受網絡環境干擾,但同時也易于遭受檢測,降低了該信道的隱蔽性。
現有的網絡存儲隱蔽信道一般是將秘密信息附加在不常用的數據包字段中(如IP頭部ID和Offset字段、TCP頭部Seq字段等)來實現隱秘傳輸。Murdoch等人[7]在預設密鑰的控制下,通過模擬操作系統中產生IP ID字段和TCP ISN (Initial Sequence Number)字段值的過程,將含有秘密信息的隨機數嵌入到正常數據包的此2個字段中,減少了秘密信息被檢測的可能性,但該方法需借助塊加密算法才能完成秘密信息的嵌入,增加了該方法的時空復雜度;Ahsan等人[8]指出IP頭部中存在冗余位,并給出了利用IP頭部中指示數據包分片的3個標志位和ID字段作為隱蔽信道,該方法可使單個正常數據包傳輸多個bit秘密信息;Zhai等人[9]設計了一種隱蔽存儲信道,在保證TCP頭部校驗和不變的情況下,通過補償算法在重傳數據包中TCP有效載荷尾部嵌入秘密信息,隨著重傳數據包數增多該方法才能增大秘密信息容量,但也會引起網絡異常,使得秘密信息易被發現和檢測,降低了隱蔽性,且該方法會改變TCP有效載荷內容,需要對應用層解析程序修改,不易于使用。
本文提出一種基于DNA編碼的網絡存儲隱秘信道設計方法(network Covert Storage Channel based on DNA coding,CSCDNA)。實驗結果表明:在保證較好隱蔽性的情況下,對于傳輸同等長度的秘密信息,本文所提方法與其他方法相比使用時間較少,所使用的數據包數量也較少。
眾所周知,脫氧核糖核酸 (deoxyribonucleic acid,俗稱DNA)分子序列是由A(adenine),C(cytosine),G(guanine)和T(thymine)4種核苷酸堿基組成。其中,A和T,C和G構成互補堿基對,且此配對規律是固定不變的。而在二進制編碼中,00和11,01和10也構成互補對。因此,4種核苷酸堿基可用00、11,01及10的組合來表示。本文中01和00分別代表A、C,10和11分別代表T、G。
DNA編碼使用3個核苷酸堿基來表示一個字符[10],如表1所示,每個字符的DNA碼長為6 bit。雖然DNA編碼只表示了小寫字母、數字和一些標點符號,但在實際應用中已足以編碼秘密信息,而且與經典的8 bit ASCII相比,減少了表示字符所使用的二進制位數,提高了對字符的編碼效率。例如,若秘密消息M=“ab”,根據表1,M對應的DNA編碼為MDNA=“CGACCA”,變成二進制序列為MDNA=“001101000001”,而MASCII=“0110000101100010”,很顯然,MDNA長度要小于MASCII。

表1 DNA編碼表
注:AC—ASCII Character;DC—DNA Code。
因此,DNA編碼是不同于傳統ASCII碼的新編碼方式,采用DNA編碼對秘密信息編碼,既可提高編碼效率,還能在一定程度上增強秘密信息的隱蔽性。
為進一步增強MDNA的隱蔽性及隨機性,CSCDNA中還使用了Arnold變換[11]對其進行置亂。該變換可將原始序列置亂后,再通過若干次相同的變換操作,恢復出原始序列,是一種傳統的混沌系統。Arnold變換目前主要作為一種圖像置亂技術,應用于圖像數字水印領域[12-13]。
定義 設A為K×K的方陣,(x,y)表示A中某個元素的坐標,則將元素(x,y)變到另一元素(x′,y′)的以下變換過程稱為Arnold變換
(1)
x,y,x′,y′=0,1,2,…,K-1,K(K≥2)為整數,mod為余數運算。
推論 對于K×K方陣A中的任一元素(x,y),存在一個整數T(T>0),使得式(2)成立
(2)

此推論說明Arnold變換具有周期性。表2給出了不同階數矩陣A的Arnold變換周期。

表2 不同階數矩陣A的Arnold變換周期
CSCDNA系統模型結構如圖1 所示,發送端利用編碼器Encoder在共享密鑰的干預下將秘密信息M變換處理后嵌入到其所發送的正常合法的數據包中,形成合法的網絡流,該網絡流在經過網絡信道傳輸到達接收端。接收端利用解碼器Decoder按照與Encoder相反的處理過程對網絡流量的數據包進行處理,以恢復出秘密信息M。共享密鑰可事先通過其他途徑分發給發送端與接收端。

圖1 CSCDNA系統模型
可以看出:Encoder、Decoder及共享密鑰是CSCDNA系統模型的核心所在,且Decoder與Encoder互為逆過程。因此,本文此處僅對Encoder部分作詳細介紹。
假設秘密消息M為由ASCII字符組成的字符串,Encoder的任務是根據密鑰將M經過變換處理后嵌入進發送端所產生的正常數據包流中,其處理流程如圖2所示,包含如下基本步驟:
(1) 利用DNA編碼將M轉換為對應的二進制序列MDNA。例如,若M=“abc”,根據表1可知,MDNA={CGACCAGTT}={001101000001111010};
(2) 將MDNA劃分為q個KKbits的數組Wi和一個rbits數組Z,并將q個數組直接轉換為q個方陣Ai(i=1 ,2 ,3 ,…,q);
(3) 對此q個方陣分別進行k次Arnold變換;



圖2 Encoder處理過程

Decoder的任務是根據與發送端共享的密鑰,從到達接收端的數據包中正確恢復出秘密信息M,其處理過程與Encoder算法相反,比較簡單,本文此處不再贅述。
為測試CSCDNA的性能,本文采用C語言在Ubuntu12.05平臺上實現了Encoder和Decoder,并實現了面向TCP/IP網絡環境的收發程序。發送方調用Encoder處理秘密信息,并嵌入合法數據包中,然后將這些數據包發送到網絡上。接收方被動接收數據包并傳遞給Decoder,Decoder執行與Encoder相反的處理過程以恢復出秘密信息。收發程序被部署在校園網內地理位置相距較遠的兩臺主機上,其硬件配置均為Intel(R) Pentium(R) G640 2.80 GHz,4 GB RAM及 Ubuntu12.05 。在實驗中,收發雙方所使用的DNA編碼表為表1,Arnold變換參數分別為K=16,k=8,T=12。
實驗主要將CSCDNA與Murdoch[7]及Zhai[9]的方法從嵌入秘密信息時間開銷和數據包使用數量方面進行了對比,其結果分別如圖3、圖4所示。圖中L代表MDNA序列所包含的bit總數。


圖3 CSCDNA,Murdoch及Zhai時間開銷對比

圖4 CSCDNA,Murdoch及Zhai數據包使用數量對比
對于同一長度的MDNA序列,CSCDNA與Murdoch在完成嵌入MDNA序列時所使用的數據包數量比Zhai方法要少得多(如圖4所示)。這是因為,雖然從單個數據包可攜帶的秘密信息長度來看,Zhai算法將秘密信息嵌入在重傳數據包的TCP載荷內,其長度可達幾十個字節。而Murdoch和CSCDNA算法則將秘密信息嵌入在單個數據包內IP或TCP報頭的某些合法字段中,最多每次可嵌入幾個字節。Zhai算法貌似比Murdoch和CSCDNA算法能攜帶更多的秘密信息,但由于Zhai算法只能在發生重傳的數據包中嵌入秘密信息,而數據包重傳的發生是整個流量傳輸過程中一個小概率事件,整個流量傳輸過程是產生重傳數據包的前提,因此,Zhai算法完成秘密信息的嵌入是建立在整個流量基礎上的。盡管Zhai算法對流量內其他正常數據包不嵌入任何秘密信息,但其本質上相當于使用了整個流量的所有數據包(重傳和正常數據包之和)。而Murdoch和CSCDNA算法基本上能在流量內的每個數據包中嵌入秘密信息,對整個流量利用率非常高。圖4為重傳率為5%的情況下,3種算法所使用數據包數量對比。可見,Murdoch和CSCDNA算法使用數據包數量基本相同,而Zhai算法所使用的數據包數量明顯高于前兩種算法。
綜上所述,本文給出了一種基于DNA編碼的網絡存儲隱蔽信道設計方法。該方法借用DNA編碼和Arnold變換不僅有效增強了秘密信息的隱蔽性和隨機性,而且還維持了較低的時空開銷。通過實驗中與其他同類方法對比,結果表明:在嵌入相同長度的秘密信息條件下,與其他方法相比,該方法不僅時間開銷小,而且所需的數據包數量也較少,其性能優于其他同類方法。下一步將繼續在實際應用環境中對該網絡存儲隱蔽信道做測試,研究如何增強其抗檢測性。
[1] Moulin P,O’Sullivan J A.Information-theoretic analysis of Information Hiding[J].IEEE Transactions on Information Theory,2003,49(3):563-593.
[2] Lampson B.A note on the confinement problem[J].Communication of the ACM,1973,10(16):613-615.
[3] Hoffman C,Johnson D,Yuan B,et al.A Covert Channel in TTL Field of DNS Packets[C]//In Proceedings of 2012 International Conference on Security and Management.Las Vegas:Elsevier,2012.
[4] Johnson D,Lutz P,Yuan B.Behavior-based covert channel in Cyberspace[C]// Proceedings of Intelligent Decision Making Systems,New Jersey,2009:311-318.
[5] Bukke Devendra Naik,Sarath Chandra Boddukolu,Pothula Sujatha.Connecting entropy-based detection methods and entropy to detect covert timing channels[J].Advances in Computing and Information Technology,2012,176(1):279-288.
[6] Cabuk S,Brodley C E,Shields C,et al.IP covert timing channels:design and detection[C]// Proceedings of the 11th ACM Conference on Computer and Communications Security,Washington DC,2004:178-187.
[7] Murdoch S J,Lewis S.Embedding Covert Channels Into TCP/IP[C]// Proceedings of Information Hidding’05.Berlin,Heidelberg:Springer-Verlag,2005.
[8] Ahsan K,Kundur D.Practical Data Hiding in TCP/IP[C]// Proceedings of Workshop on Multimedia Security at ACM Multimedia ’02,Juan-les-Pins (on the French Riviera):ACM,2002.
[9] Zhai J,Liu G,Dai Y.An Improved Retransmission-based Network Steganography:Design and Detection[J].Journal of Networks,2013,8(1):182-188.
[10] Liu Hongjun,Lin Da,Kadir A.A novel data hiding method based on deoxyribonucleic acid coding[J].Computers and Electrical Engineering.2013,39(4):1164 11 73.
[11] Wikipedia.Arnold’s cat map [EB/OL].(2013-9-24) [2013-10-24].http://en.wikipedia.org/wiki/Arnold%27s_cat_map.
[12] Zhong Q C,Zhu Q X.A DCT domain color watermarking scheme based on chaos and multilayer Arnold transformation[C]// Proceedings of 2009 International Conference on Networking and Digital Society,Guiyang:IEEE,2009,2:209-212.
[13] Kishore Kumar N K,Sheeba V S.Blind biometric watermarking based on contourlet transform[C]// Proceedings of the 3rd International Conference on Computing Communication &Networking Technologies,Coimbatore IEEE ,2012:1-6.