摘要:網絡隱蔽信道是利用現有網絡協議的冗余等特點實現的一種隱蔽通信。該文研究了網絡隱蔽信道中可能使用的一種信道同步方式,并對其相應的信道容量進行了分析。實驗證明它適合于資源受限的網絡隱蔽信道,較好地解決了不可靠網絡狀態隱蔽信道的驗證。
關鍵字:隱蔽通信;信道同步;分組同步;反饋模式;信道傳輸速率
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)32-8891-03
A Network Covert Channel Study of Synchronization Mode
LIU Min, ZHANG Dai-yuan
(School of Computer Science, Nanjing University of Posts and Telecommunications, Nanjing 210003, China)
Abstract: Network covert channels is to use existing network protocols to achieve redundancy and other characteristics of a covert communication. In this paper, the network may be used as a covert channel channel synchronization mode, and its corresponding channel capacity is analyzed. Experiments to prove that it is suitable for resource-constrained network covert channels, a better solution to the status of non-reliable network covert channel verification.
Key words: covert communication; synchronization channel; packet synchronization; feedback mode; channel transmission rate
網絡隱蔽信道是單機隱蔽信道在網絡環境下的延伸,它是一種利用已有網絡通信協議隱蔽地將信息隱藏于正常數據中,從而秘密傳輸信息的一種手段。國內外的許多可信系統標準均把隱蔽信道分析作為一個硬性指標[1]。
從構建網絡隱蔽信道的角度看,信道同步是必須要考慮的。從通信編解碼的角度上看,同步是為了確定譯碼的邊界,使通信有效地進行。網絡隱蔽信道是一種資源受限的通信方式;文獻[3]指出,隱蔽信道的同步資源只有兩種:反饋和事件;本文認為反饋網絡隱蔽信道的是基本同步資源,因為在多級安全體系下從低安全級別進程流向高安全級別進程的信息流是合法的,我們同時假定反饋是可靠的。反饋示意圖如圖1所示。
基于TCP/IP網絡的特點,網絡隱蔽信道上傳遞的數據包可能存在如下錯誤:傳輸的數據包可能因網絡擁塞而丟失,信道接收端也可能因為誤識別等原因而導致新數據包插入[3],我們把這兩類錯誤分別稱為信道字符丟失錯誤和字符插入錯誤。這些錯誤的發生使信道接收到的數據與發送的不一致,從而使接收端的譯碼邊界不一致,導致信道不同步。我們提出一種稱為同步協議的同步控制方式,其原理是將信道傳遞的每個數據包進行反饋確認,采用時間停等控制方式替換數據冗余編碼方式,適合資源受限的網絡隱蔽信道同步。
1 簡單同步協議
簡單同步協議是一種同步控制方法,過程如下:
首先設置兩個計數器,一個為發送計數器count-S,計算累計發送的數據包的數目,設其值為cs;一個為接收計數器count-R,計算累計接收的包的數目,設其值為cr,計數器初始值都為0。為了實現考慮,這兩個計數器都放在網絡隱蔽信道的發送端。在信道開始前測量一個包往返的平均時間即RTT,并定期地更新這個值。按下面的同步規則進行同步。
接收端每收到一個包,就立即通過反饋信道更新位于發送端的接收計數器,使cr=cr+1;發送進程可以訪問count-S和count-R;發送進程每發送一個包后等待時間RTT(用字母RTT表示數據包的平均往返時間)再檢查接收計數器;發送進程每發送一個數據包之前都比較cr和cs的值,結果有三種可能:
1) 若cr=cs,說明發送進程之前所發送的包已被收到,接收方等待接收下一個包,于是直接發送相應的包,并更新發送計數器的值為cs=cs+1。
2) 若cr
3) 若cr>cs,說明信道上有新的包(字符)插入,為了使譯碼器確定同步邊界,發送進程跳過cr-cs個包,并同時發送下一個包,將發送計數器的值更新為cr+1。
圖2所示為信道同步協議雙方控制流程。通過以上協議,可以確保包不會被丟失;在有新包(字符)插入的情況下,因為發送端跳過了相應的插入字符,使發送與接收的包(字符)數相等;只是發送端發送的某些包(字符)在接收端發生了替換。根據以上協議,非同步的網絡隱蔽信道變了為同步信道。
2 分組同步協議
簡單同步協議考慮的是每一個包都需要進行一次反饋(更新計數器),這對某些一個數據包所攜帶的信息較小的信道,如二進制信道,每傳輸1比特就需要一次反饋,雖然這時信道是完全同步的,能提供更好的可靠性,但相對開銷較大,在數據包之間的發送間隔較小時,反饋的時間開銷更加突出;在網絡狀態比較穩定時,出現丟包和插入錯誤的可能性較小,因此可以采用更加寬松的同步控制方法。
分組同步協議的基本思想是將單包確認改成分組包確認。設a個包作為一個分組,每接收一個分組進行一次反饋。
傳輸開始后,接收端的同步控制器從收到的第一個包開始計數,接收發送方連續發送來的包,如果一個組正常接收則反饋為ACK,表示發送端可以發送下一個分組;否則反饋NAK,表示需要重發這一個分組。發送端每次連續發送一個分組的包(a個數據包,設連續數據包之間有時間間隔o),然后等待反饋;若反饋結果為ACK,則繼續發送下一分組;若為NAK,則重發上一分組。接收端每反饋一組后等待一個RTT間隔再開始接收下一分組,以避免組間串擾。接收端設置一個超時計時器Count-sup,設其值為sup_value,每收到一個包后都重設sup_value=0;在信道開始前測量一個包往返的平均時間即RTT,并定期地更新這個值。設置一個變量b表示當前分組中已接收到的數據包數目,初始為0,反饋后重設為0。信道接收端的同步控制器按如下規則進行反饋:
1) 接收端每接收到一個包,如果不是信道結束包Tend,則判斷當前是否有r=a-1,如果是則表示一個分組傳輸結束,反饋ACK,并準備接收下一分組;如果否,則使r=r+1,然后進入判決時段,并按規則2進行判決;
2) 進入判決時段后,啟動超時計時器,設置時長sup_value =(a-r)*o+0.5*RTT,若在時限內收到下一個包,則按第一條處理;如果超時且沒有收到下一個數據包,說明某些包丟失,放棄當前接收到的分組包,反饋NAK;
圖3所示為分組同步雙方的控制流程;可以看出,當插入的包的數目等于丟失的包的數目時,分組在接收端表現正常,但收到的數據可能有錯誤,需要解碼糾錯;插入的包數目大于丟失的包數目時,根據規則,接收端接收前 個包,收到數據可能出錯;只有當插入的包數目小于丟失的包數目時,系統才會重發分組。
上述分析過程中均含有一個參數a,它表示一個分組中數據包的個數;引入分組同步協議的目的是要提高信道的效率(帶寬);一般情況下受網絡擁塞的影響,包丟失的概率會遠大于新包插入的概率,當一個分組中的包數目增加時,丟失包的數目大于插入包的數目的概率增加,這會導致反復的重傳,從而降低信道的帶寬。但一個分組的包數目過少時則失去了分組的意義。從前面的分析可知,分組同步協議方式適合于網絡基本穩定的情況,此時分組中包的數目 的設置應該盡可能地使信道的最大傳輸速率較大。
信道的最大傳輸速率在下一節分析,我們在(式7)的基礎上分析分組包數目a與信道最大速率Rmax的關系;取Pi=0.001,Ps=0.01,Pd=0.005,q=16,β=0,φ=RTT,σ=RTT/10,RTT=0.007秒,具體參數說明和計算過程見下一節,得出α與Rmax的關系如圖4所示。
從圖4可以看出,隨a增加,Rmax是a的凸函數;當a>12后,一個分組重傳的概率急劇增大,效率降低;在當前環境下,從圖看出當a=6時信道允許的最大速率達到最大,故我們取a=6作為當前環境下的最佳分組大小。
3 兩種同步方式的分析
根據Shannon信息理論,經上述兩種方式同步后的通信信道可以抽象為對稱的離散無記憶信道(DMC),設一個字符(數據包)經過信道時丟失的概率為Pd,信道上一個新字符(數據包)插入的概率為Pi。
對于簡單同步協議,以概率Pi產生插入新字符而形成誤碼,因此,替換成任何某一個可識別字符的概率為Pi/q,真正形成的錯誤替換即除去碰巧新插入字符等于發送字符的情形,替換錯誤發生的概率為(1-1/q)Pi。故一個字符通過信道發生誤碼的概率為(1-1/q)Pi。根據q元離散無記憶的對稱信道(DMC)的特點,可知信道概率轉移式如(1):
(1)
根據Shannon信息理論[8],其信道容量計算如下:
(2)
根據信息理論,設信道平均傳輸一個符號的時間為B秒,I(X,Y)表示平均互信息,則:
(3)
根據信道容量的定義C=max{I(X,Y)},由(3)可得出:
(4)
其中,Rmax表示信道的最大傳輸速率,單位為比特/秒,C表示相應的信道容量。
在簡單同步協議控制下,網絡基本穩定時每個包都至少需要一個反饋時間RTT(用字母RTT表示單包平均往返時間,O (5) 式(5)中前者表示采用簡單同步協議、后者表示采用分組重傳同步控制下的最大信息傳輸速率,其單位為比特/秒。這是未考慮重傳時理論上傳輸速率的極大值,實際應用中一般達不到;實際應用中信道的可用信息傳輸速率除與噪聲延遲、編碼因子有關外,還和系統工作速度,如CPU頻率,進程調度等有關。 4 實驗 基于本文的設計,我們利用ICMP協議構建一種隱蔽信道,利用簡單同步協議控制信道雙方的同步,信道通信結果驗證了設計的預期效果,圖5和圖6所示為實驗信道收發雙發截圖。 5 總結 該文分析了網絡隱蔽信道實現中的一種信道同步方式,設計了兩種基于反饋模式的同步方法,實驗證明,它能有效地控制網絡隱蔽信道中由于包丟失等產生的信道不同步問題,具有實際應用意義! 參考文獻: [1] 梁紅亮,孫玉芳.信息安全評價準則評價綜述與探討[J].計算機科學,2002,29(9). [2] 郭強.基于時延特性的網絡隱蔽信道研究[D].中國學位論文庫,2008. [3] Wang Zheng-hong, Ruby B.Lee.Capacity Estimation of Non-Synchronous Covert Channels[J].ICDCSW’05.IEEE,2005. [4] Paxson V. End-to-end internet packet dynamics[J].IEEE/ACM Transactions on Networking,1999,7(3):277-292. [5] Zhang Y, Duffield N, Paxson V, et al.On the constancy of Internet path properti es[J].In Proceedings of the ACM SIGCOMM Internet Measurement Workshop, 2001(11). [6] Davey M C, Macky D J. Reliable Communication over channels with Insertions, Deletion and Substituions[J].IEEE Trans.on Information Theory,2001(2), 47(2): 687-698. [7] Cabuk S.Network Covert Channels: Design,Analysis,Detection and Elimination[D]. PURDUE UNIVERSITY,2006(12). [8] 戴善榮.信息論與編碼基礎[M].北京:機械工業出版社,2005.