張斌 孫偉博
(1.中華通信系統有限責任公司,河北石家莊 050000;2.清華大學計算機科學與技術系,北京 100089)
在信息時代背景下,人們對信息交流提出了更高的要求,各種通信軟件應運而生。其中,我國最流行的通信軟件為騰訊公司的QQ、微信等,國外流行的即時通信軟件主要有MSN、ICQ等產品。這些軟件的共同特點為都有著較為完善的功能以及具有精美的界面設計,為各個互聯網用戶提供了便捷的服務,深受人們的喜愛。因此,在通信技術安全問題對于心軟件的監控和通信協議分析來說非常重要,處理好通信技術中存在的安全問題對維護網絡安全起到至關重要的作用。
客戶端/服務器模式以及客戶端/客戶端模式分別是即時通信系統中的模式,這兩種模式的區別在于前者收發客戶需要通過服務器來進行信息交流,而后者服務器為客戶建立了直接交流通道,客戶與客戶之間的交流可以直接在這條通道上進行。目前國內主流的通信軟件,微信、QQ都是以客戶端/服務器模式為主,在交流中消息必須通過服務器來實現在客戶端之間傳遞。
主流即時通信軟件的通信過程主要是:設立一臺或一組DNS服務器為總調度臺,每個即時通信客戶端可以通過對域名服務器進行查詢,與即時通信軟件的服務器建立TPC通道。客戶端在進入服務器之前可以輸入自身的ID和密碼來進行登錄,服務器會對輸入的密碼信息加密處理再進行傳送,當客戶身邊、密碼識別正確后服務器會重新將驗證通過信息發送回客戶端,同時將客戶好友信息、端口號信息等一并傳送過去。客戶端接收信息后可直接利用中轉服務器來向通訊錄好友傳遞信息。
協議分析的試驗中,整體實驗環境由交換機以及PC機組成,PC機在與互聯網相連接后,可以通過Windows的操作系統來實現PC機與互聯網的連接同時通過Windows來安裝協議分析Etherea10.8軟件。
通信會話網MSN Messenger Netword在微機上統稱為MSN Messenger客戶端,它通過互聯網與另一個MSN Messenger客戶端進行相連。因此,客戶端通過服務器來與其他客戶進行信息交流。MSN Messenger和Windows Messenger是微軟提供的兩個客戶端,微軟沒有對MSN Messenger Server進行正式公布,我們將MSN Messenger服務器與客戶端之間信息交互的規則稱作“MSN協議”。MSN協議在不斷發展,隨著MSN Messenger版本的更新和修訂。
一般來說信息監控系統內部的前端接受設備是可以接收互聯網上的各種信息的,其采用的網絡處理器為IXP2400,一共有四個IG出口,其中有一個出口就是專門為即時通信信息監控系統預留的。另外的IM數據接受服務器則是用來接收前段數據和接收即時通信數據信息,并對數據進行判斷并分類發送到各個媒體流管理和協議解析服務器。這里又引申出媒體流管理服務器這一名詞,其作用主要用于接收媒體數據包,提取媒體內部數據并儲存和管理同一回話重點媒體數據流,進一步的展示動態規則。最后要介紹的一種功能就是文本消息還原設備,其主要針對IM文本消息進行還原,常見的多媒體數據還原設備嘖主要將多媒體的會話數據進行解碼,并系統性的還原。
2.2.1 網絡前端數據接收
前端數據接收設備會完成網絡前端數據接收功能,前端數據接收設備會通過IXP2400網絡處理器的采用來獲取到大量的互聯網數據,該網絡處理器共有四個IG出口,網絡處理器中的規則會根據即時通信軟件中的特征來制定,以便在大量的互聯網信息中過濾、篩選出有用的即時通信數據包,并將過濾后的信息發送到MSN數據接收模塊中。
2.2.2 MSN數據接收
IM數據接收器完成MSN接收模塊的功能,在收到網絡前端數據接收模塊轉發來的數據包后首先判斷數據包的類型,對其進行分類和處理。當判斷為TCP數據包時會將數據送往TCP數據重組模塊;當判斷為RTP數據包時會將數據送往媒體數據流管理模版進行處理。
2.2.3 TCP數據重組
由協議解析服務器完成TCP數據重組模塊的功能,在接收到TCP數據包后,會根據協議規則將頭部規則去掉,剩余的內容為TCP數據內容,同時依據TCP數據包的連接特性,采用動態哈希鏈表CRC16算法方式來儲存管理數據包。另外由于同一個MSB的數據不僅在同一個TCP傳輸,還有可能在多個數據包中共同傳輸,這就需要應到TCP頭部字段需要一一進行數據重組。最后為了更加方便和管理數據包,一般還會設計一個8192字節的滑動窗口,這有利于更便捷的將重組數據發送給MSN協議解析模塊進行協議解析。
2.2.4 MSN協議解析
MSN協議解析模塊的功能是由協議解析服務器來執行的,解析服務器利用LEX技術來對TCP數據重組模塊傳送過來的MSN數據進行解析,解析完畢后將文本消息傳送到還原模塊中進行還原處理。在整個過程中會話信息會與監控模塊之間進行信息交換,交換過程中只有消息賬號滿足滿足監控模塊的條件,會話信息才會被送到規則反饋模塊中處理。
2.2.5 SIP信令解析
協議解析服務器完成SIP信令解析模塊的功能,它在解析SIP信令數據時應用到了LEX技術的信令解析程序。首先,在接收SIP信令數據包后,將UDP頭部去掉,剩余的內容為UDP數據,也就是SIP信令數據。依據SIP的信令特征,使用LEX工具解析SIP信令數據,將重要的會話信息提取出來,向規則反饋模版傳送解析出的雙方多媒體數據傳輸的媒體流通參數。
2.2.6 監控模塊和規則反饋模塊
監控模塊以及規則反饋模塊的功能統一由管理服務器來完成。監控模塊會根據規則反饋信息來制定相關的監控規則。例如設置IP段的固定、黑名單等。制定完規則后會和MSN解析模塊進行交流,當協議解析模塊解析得出的通信信息與監控條件不符時,那么監控模塊無法處理這類通信信息。
2.2.7 文本還原和解碼還原模塊
還原模塊的功能是由還原設備來進行文本還原的。MSN文本消息可以采用特定的UT F編碼,在MS N協議解析模塊解析完通信消息后,將消息傳遞到文本還原模塊,文本還原模塊會對傳遞來的消息進行解碼和還原,并依據關鍵詞等線索來對文本消息進行篩選和過濾。
即時通信協議和監控技術對人們的生活有著至關重要的作用,因此,相關工作人員應做好更新與修訂的工作,關注其使用時的安全問題,避免通信軟件在使用時危害國家與社會的安全,泄漏國家與企業的重要秘密等。