摘要:匿名即時通信監控技術是近幾年提出的一種網絡監控技術,對于追查網絡非法聯絡和犯罪取證具有重要的意義。首先提出了一種面向多代理技術的匿名即時通信監控模型;然后論述了匿名會話檢測技術、匿名通信數據庫的關聯規則挖掘技術、匿名通信追蹤技術等匿名即時通信監控關鍵技術;最后給出了實驗結果,并對實驗中發現的問題提出了解決方案。
關鍵詞:即時通信; 多代理; 匿名通信; 網絡監控
中圖分類號:TP393
文獻標志碼:A
文章編號:1001-3695(2008)06-1842-04
0引言
隨著即時通信(instant messenger)日益成為Internet上重要的信息交流方式,利用即時通信技術實施網絡犯罪的惡性案件也逐漸增多。通過即時通信系統泄漏國家或商業機密、傳播反動和不健康的信息、秘密組織恐怖活動等,這些問題已引起網絡安全監管部門的高度重視。為了維護國家安全,遏制網絡犯罪,即時通信監控技術亟待深入研究。
目前,即時通信監控技術主要包括內容監控技術和通信關系監控技術。內容監控技術主要解決通信雙方正在說什么的問題,即通過重組、解碼截獲的語音數據流,對通話內容進行實時或事后重放。當即時通信系統采用內容加密傳輸技術,如Skype使AES(advanced encryption standard)算法[1]進行加密,即使截獲了數據包,也無法解析其中的內容,因此內容監控技術僅對明文有效。通信關系監控技術主要解決誰和誰正在通信的問題,即通過向TCP報文段的某些首部字段或數據字段添加標記信息,并提取和匹配這些信息,從而確定通信雙方關系。為了逃避監控,通信雙方經常采用基于代理的匿名通信技術[2]來隱藏通信中的路徑信息、通話人地址信息以及數據流特性,增加了通信關系監控的難度。
本文的研究對象是Skype即時通信軟件。選擇Skype的原因基于以下三點:a)Skype是一款應用廣泛的即時通信軟件,據統計目前全球的Skype用戶已超過5 000萬;b)Skype網絡是一個基于KaZaA技術開發的兩層P2P覆蓋網絡,網絡中的節點被劃分為普通節點、超級節點和服務器節點三類。根據A.B.Salman等人[3]的研究以及利用ethereal實驗證實,當通信雙方均處在設置有限制端口的NAT和阻塞UDP數據包的防火墻的網絡中,通信雙方需要通過Skype網絡中的其他節點以TCP數據流的方式進行通信,這是符合目前大多數Skype用戶的實際情況;c)Skype使用256bit AES加密算法對通信內容加密,并使用RSA算法來協商AES 密鑰。綜上所述,Skype是一款使用廣泛且具有匿名通信特征的即時通信系統,Skype監控技術的研究對于研究即時通信監控技術具有很重要的價值。
在研究Skype自身匿名特征的同時,本文還將基于多代理的匿名系統引入到研究中,基于多代理的Skype通信系統模型如圖1所示。
1匿名即時通信監控系統模型
匿名即時通信監控系統采用分布式監控、集中式處理的體系結構,整個系統由多個監控節點和一個監控中心組成,系統模型如圖2所示。
監控節點設置在各網絡檢測區域的匯聚節點,其功能包括:a)根據通信會話檢測策略,對匿名數據流進行實時檢測和截獲,并從截獲的數據包中提取協議信息、時間信息、地址信息等特征信息,保存在數據文件中,并以事件驅動模式傳輸到監控中心進行集中存儲和處理。b)設置與監控區域匯聚節點串接的轉發節點,根據系統設置對該區域所輸出的匿名數據流實施延遲轉發、選擇性丟包等操作。同時,根據源、目的網絡地址分別對流出、流入監控區域的數據流進行固定時間窗口連續采樣,并將采樣結果定時傳輸到監控中心進行路徑相關性計算。c)根據監控者的控制策略和命令,對已識別的匿名會話進行實施阻斷、干擾等控制操作。
監控中心由六個功能模塊組成,其模塊劃分如圖3所示。
a)數據處理中心。該模塊由四個子模塊組成:(a)關聯規則挖掘模塊主要實現對匿名通信數據庫的關聯規則挖掘;(b)數據流相關性分析模塊根據各監控節點的數據流采樣結果計算不同路徑之間的相關關系;(c)關聯規則匹配模塊通過對不同監控區域的關聯規則按時間窗口進行匹配,實現通信關系的事后推斷;(d)匿名通信關系推斷模塊根據數據流相關性分析結果和用戶設定的相關系數,實現通信關系的快速推斷功能。b)黑名單數據庫及更新模塊,主要用于記錄匿名代理節點的網絡地址和危險級別,并從已識別的匿名會話中提取新發現的匿名代理節點加入黑名單數據庫。c)匿名通信數據庫,用于集中記錄各監控節點截獲的匿名數據包信息。d)數據流采樣數據庫,記錄監控節點對每條輸入、輸出路徑的采樣結果,并實時刪除已確定關系或過期的采樣結果。e)策略定義及分發模塊,用于監控者定義匿名會話檢測策略和匿名通信控制策略,形成特定格式的策略文件發送到各個監控節點上。f)報警及控制命令發送模塊,用于綜合通信關系推斷結果和匿名代理節點的危險級別,向對應監控節點發送不同的會話控制命令,并以多種方式向監控者報警。
2匿名即時通信監控系統關鍵技術
2.1匿名會話檢測技術
目前,匿名代理協議可分為兩類,即公共代理協議,包括HTTPS協議和SOCKS代理協議與私有代理協議。對于公共代理協議,本文利用協議特征實現對匿名會話的檢測。對于私有代理協議,筆者根據數據流特征和匿名代理地址實現對匿名會話的檢測。同時,借鑒文獻[4]中分析P2P文件共享協議FastTrack的實驗方法,筆者利用ethereal發現了Skype 3.0.4.216的與DNS服務相關的數據流特征,并提出了相應的檢測方法。
1) 基于通信協議類型的匿名會話檢測方法
(1)基于HTTPS協議的匿名會話檢測方法
HTTPS是一種安全的HTTP協議,它使用SSL協議來加密數據報文。HTTPS默認使用443號端口進行數據交換,而不是像普通的HTTP那樣使用80號端口進行通信。由于HTTPS使用固定的443號端口進行通信,根據該特征可以判斷是否是基于HTTPS代理的匿名通信。
(2)基于SOCKS協議的匿名會話檢測方法
SOCKS是一種代理服務協議,該協議工作在TCP/IP模型的應用層和傳輸層之間。SOCKS代理提供一種與具體應用無關的代理服務,通過IP地址轉換來隱藏用戶真實IP地址,從而實現匿名通信。在傳輸數據時,SOCKS按照一定的格式對數據報文進行封裝,在原始報文前添加一個報頭,其數據報文格式如圖4所示。
SOCKS數據報文保留字節為兩個字節的0,根據該特征可以判斷是否是基于SOCKS代理的匿名通信。
2)基于數據流特征的匿名會話檢測方法
對于私有的代理協議,由于缺少協議特征信息,不能采用基于通信協議類型的檢測方法。然而,在某些基于多代理的匿名系統中,為了防止通過采樣、分析數據報文長度和傳輸速率的規律性來推斷匿名通信關系,通常對數據流的流量特征進行模糊化處理,如固定報文長度、恒定數據包傳送速率、改變端到端的數據流延遲時間等。因此,如果某一數據流長時間保持某種匿名數據流的顯著特征,則可以推斷該數據流是疑似匿名通信流。
3)基于黑名單的匿名會話檢測方法
如果在網絡流量中既檢測不出協議信息,也無法檢測出數據流特征,則可以利用匿名代理節點地址信息對匿名會話進行檢測。匿名代理節點的地址信息、協議類型信息、危險級信息均保存在黑名單數據庫中。當數據流源或目的地址與黑名單中地址匹配,則可以推斷該數據流是匿名數據流。
4)基于Skype流量特征的匿名會話檢測方法
根據ethereal 抓包實驗,在設置有限制端口的NAT和阻塞UDP數據包的防火墻的網絡中,準備登錄Skype網絡的客戶端都會以明文方式訪問DNS服務器查詢域名ui.skype.com的地址,并利用該地址與ui.skype.com建立TCP連接完成認證。根據以上結果,如果某個監控IP查詢了ui.skype.com的IP地址,但在其后截獲的數據包中未發現與ui.skype.com的TCP連接,則說明該用戶在會話過程中使用了匿名網絡。
2.2匿名通信關聯規則挖掘技術
監控節點將截獲的原始數據包轉換成如圖5所示的連接記錄保存在匿名通信數據庫。其中,會話持續時間由監控代理計算,每一個匿名特征碼都對應一種匿名代理協議或匿名數據流特征。
由于匿名通信數據庫中的連接記錄數量很大,利用Apriori算法[5]進行關聯規則挖掘,有利于提高事后通信關系推斷的速度,其方法如下:
a)將匿名通信數據庫中的連接記錄根據發生時間劃分成若干子數據庫。從匿名通信持續時間的特性考慮,將劃分數據庫的時間窗口定義為10 min。
b)利用Apriori算法對各個子數據庫進行關聯規則挖掘。通過規定屬性組合為(源IP地址、目的IP地址、源端口、目的端口、匿名特征碼、會話持續時間)的頻繁項集為匿名會話特征,確保產生有意義的匿名通信關聯規則,如表1所示。
c)利用分箱方法[5]對屬性會話持續時間進行概念分層。目前,筆者將屬性會話持續時間劃分成等深的箱(深度均為20 s),每一個存入箱中的值被平均值替代。
d)通過Apriori算法的規則挖掘,從每個子數據庫中可以得到多條匿名通信關聯規則,形成與時間窗口對應的關聯規則集合。
事后通信關系推斷算法建立在定理1和假設1基礎上。
定理1通信雙方會話持續時間相同,且被監控代理發現的時間近似相同。
假設1匿名通信雙方使用相同的匿名代理網絡,即雙方使用的匿名代理IP地址屬于同一匿名代理IP集合。
事后通信關系推斷算法主要思想是:
a) 利用同一關聯規則集合中的關聯規則構造描述監控對象匿名會話的四元組:〈代理IP、代理端口、匿名特征碼、會話持續時間〉,每一個四元組由對應監控對象的IP地址和匿名特征碼標記。
b) 根據定理1和假設1,分別對來自不同監控區域且屬于同一時間窗口的監控對象所對應的四元組進行匹配操作。當兩個四元組相互匹配,則可推斷出對應監控對象曾經進行匿名通信。
推斷算法的工作流程如圖6所示。其中,IP1和IP2表示不同監控區域的兩個監控對象。
2.3匿名通信追蹤技術
匿名通信關聯規則挖掘技術主要提供事后匿名通信關系識別和取證功能,但對危害級別較高的匿名會話,應采取實時監控技術,這就需要解決匿名通信關系實時識別和追蹤問題。
匿名通信追蹤技術的基本思想是:由于前驅路徑上數據報文延遲、丟失率等數據流特性的改變都會對后繼路徑上相關特性產生影響。因此,在每個監控區域上設置一個與匯聚節點串連的轉發節點,所有的用戶只能通過該節點連入匿名網絡。
轉發節點具有兩個功能:a)根據系統設置,對所有從該區域輸出的數據流延時轉發;b)根據系統設置的固定大小時間窗口,非重疊、連續地對各條路徑在每個時間窗口內發送和接收的數據報文個數分別采樣,構成觀測序列。
由于各條路徑上的觀測結果均可看做隨機變量的抽樣樣本??梢岳貌煌O控區域路徑之間的觀測結果構造對應隨機變量之間的一元線性回歸模型[6]。同時,兩變量是否具有顯著的線性相關關系,對應到觀測實驗中也就是指兩路徑是否正在匿名通信,則需要通過一元線性回歸模型的相關系數檢驗算法來驗證。
根據一元線性回歸模型相關系數的定義及其性質,可以得出以下結論:
a) 假設轉發節點X上,某一路徑的發送采樣結果為{xi},μx是{xi}的均值;轉發節點Y上,某一路徑的接收采樣結果為{yi},μy是{yi}的均值;兩節點間的平均延遲為d。兩條鏈路的相關性可用式(1)計算:
b)|r(d)|≤1。若兩個路徑不相關,則r(d)取值趨向于0;若兩個路徑相關,則r(d)取值趨向于1。
c) 當兩條鏈路之間的相關程度大于系統預定的閾值時,則可以推斷出該鏈路兩端的用戶可能正在進行匿名通信。
為提高匿名追蹤的準確性,本文根據數據流延遲、丟包操作對數據流的影響提出三種改進方法。
a) 基于匿名會話檢測結果,僅對識別出的匿名數據流延遲轉發,從而避免了匿名追蹤模塊對正常數據流的影響。
b) 計算兩個轉發節點間最大時延、最小時延和平均時延,并根據預先設置的權值計算加權時延,用于相關性計算。
c) 在初步推斷的基礎上,轉發節點選擇性丟棄數據報文,由于操作會影響接收區域相應鏈路上的丟包率特性??梢酝ㄟ^計算兩路徑丟包率之間的相似性,進一步推測監控對象之間的匿名通信關系。
3實驗結果與分析
3.1實驗環境
基于校園網,分別利用SOCKS5代理服務器和私有協議匿名代理服務器在兩個局域網之間建立了匿名通信網絡,兩類代理服務器的地址信息均列入黑名單數據庫中。其中,私有協議匿名代理服務器采用PPTP[7](點對點隧道協議),并對匿名數據流實施固定數據包大小和恒速率轉發操作。
在匿名通信網絡中,設有兩對計算機。其中一對計算機必須通過SOCKS5代理節點才能登錄Skype網絡;另一對計算機必須通過兩級私有協議匿名代理節點才能登錄Skype網絡,并假設這些匿名代理屬于同一匿名代理集合。同時,兩局域網中還有多臺計算機按照正常方式進行通信。
在匿名通信監控系統中,監控節點通過ethereal截獲和解析數據包,然后發送到監控中心進行數據分析和處理。
3.2實驗結果與分析
在實驗中,可得出三種實驗結果。
1) 監控代理對使用SOCKS協議和私有匿名協議的匿名通信數據流的檢測結果如表2所示。
2) 監控中心能夠從匿名通信數據庫中挖掘出匿名通信關聯規則,但隨著匿名代理集合的增大,匿名通信關系推斷的準確性下降,實驗結果如圖7所示。
3) 基于時間窗口采樣的追蹤只能從私有匿名協議數據流中推斷出匿名通信關系,且鏈路的負載變化也會對推斷產生較大的影響。
根據以上實驗結果可以看出,僅通過數據流固有的特征進行匿名通信關系推斷存在一定的局限性。對于這個問題,可以借鑒主動入侵追蹤[8]的方法來解決。即針對特定匿名即時通信系統的應用層流量特征,如果監控節點能夠在該類匿名數據流中加入一個在一次會話中保持不變的應用層標志,并且能在被監控區域的數據流中檢測出該標志,則無論匿名通信是否有明顯的數據流特征都可實現匿名通信關系的快速推斷。對此,筆者將作進一步的實驗驗證。
4結束語
匿名即時通信監控技術是網絡安全所面臨的新課題,亟待進一步深入研究。本文提出了一種可行的解決方案。同時,如何減小網絡負載對匿名通信關系推斷的影響、如何選擇最優的時間窗口等問題還需要在今后工作中進一步研討。
參考文獻:
[1]BERSON T.Skype security evaluation, ALR-2005-031[R].Palo Alto:Anagram Laboratories, 2005.
[2]DINGLEDINE R, MATHEWSON N, SYVERSON P. Tor: the se-cond-generation onion router[C] //Proc of the 13th Usenix Security Symposium. San Diego:[s.n.], 2004:303-320.
[3]BASET S A, SCHULZRINNE H. An analysis of the Skype peer-to-peer internet telephony protocol[C] //Proc of IEEE INFOCOM’06. Barcelona:[s.n.], 2006.
[4]SPOGNARDI A, LUCARELLI A, PIETRO R D. A methodology for P2P file-sharing traffic detection[C] //Proc of the 2nd International Workshop on Hot Topics in Peer-to-Peer Systems. La Jolla:IEEE Computer Society Press, 2005.
[5]HAN Jia-wei, KAMBER M. 數據挖掘——概念與技術[M]. 范明, 孟小峰,等譯. 北京:機械工業出版社, 2001.
[6]趙選民, 許偉, 師義民,等. 數理統計[M]. 2版. 北京:科學出版社, 2002.
[7]RFC 2637, Point-to-point tunneling protocol(PPTP)[S]. [S.l.]: Internet Society, 1999.
[8]WANG Xin-yuan, REEVES D S, WU S F, et al. Sleepy watermark tracing:an active network-based intrusion response framework[C] //Proc of IFIP Conference on Security. 2001.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文