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