黃林 李欣宇
【摘要】隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)技術(shù)已經(jīng)滲透各個(gè)領(lǐng)域,即時(shí)通信技術(shù)為企業(yè)對(duì)員工行為的有效控制增加了一定的難度,這樣就可能出現(xiàn)企業(yè)的機(jī)密泄露到外界,或者重要資料被竊取等情況,給企業(yè)帶來不同程度的損失。因此,針對(duì)企業(yè)對(duì)即時(shí)通信安全的需求,設(shè)計(jì)一個(gè)有效的監(jiān)控系統(tǒng),即協(xié)議分析企業(yè)所使用的MSN Messenger,基于此,建立一個(gè)叫MSNAnalyzer的監(jiān)控分析系統(tǒng)。利用這個(gè)系統(tǒng)能夠?qū)崟r(shí)監(jiān)控企業(yè)內(nèi)部網(wǎng)絡(luò),保護(hù)企業(yè)的信息安全。
【關(guān)鍵詞】即時(shí)通信監(jiān)控系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)
一、即時(shí)通信協(xié)議的工作原理
MSNP Messenger主要是指出席即時(shí)通信系統(tǒng),即時(shí)通信就是和其他用戶之間的對(duì)話。即時(shí)通信協(xié)議主要是建立在TCP/IP系統(tǒng)上的,除了文件傳輸和語音聊天是直接點(diǎn)對(duì)點(diǎn)通信外,其他的都需要通過服務(wù)器中轉(zhuǎn),在MSNP協(xié)議中共有派遣服務(wù)器、通知服務(wù)器以及交換服務(wù)器,三種服務(wù)器在系統(tǒng)中各有各的功能更和作用[1]。
二、即時(shí)通信監(jiān)控系統(tǒng)的設(shè)計(jì)
在快速發(fā)展且競爭激烈的環(huán)境,為了能夠?qū)崿F(xiàn)對(duì)有害的文本進(jìn)行監(jiān)控,則需要對(duì)即時(shí)通信文本的數(shù)據(jù)以及消息進(jìn)行深度的分析,其即時(shí)通信分析環(huán)境如下圖所示,其中即時(shí)通信分析環(huán)境的硬件部分主要包括客戶機(jī)、集線器網(wǎng)關(guān)等。其中軟件部分主要包括網(wǎng)絡(luò)分析軟件、即時(shí)通信軟件等。通過進(jìn)行分析數(shù)據(jù)并采用一定的格式將其保存在文件中,然后從文件中讀取數(shù)據(jù)幀并將數(shù)據(jù)幀交給協(xié)議分析處理模塊,最后保存在磁盤中。經(jīng)過分析,得出系統(tǒng)總體實(shí)現(xiàn)模型和模塊劃分。
1、數(shù)據(jù)采集與存儲(chǔ)。該系統(tǒng)中,對(duì)數(shù)據(jù)的采集使用的是基于網(wǎng)絡(luò)嗅探技術(shù)的方法,使用的開發(fā)工具為WinPcap4.0.1,這樣能夠有效捕獲數(shù)據(jù)包,并對(duì)其進(jìn)行過濾,從而得到與系統(tǒng)相關(guān)的數(shù)據(jù),有利于提高系統(tǒng)的工作效率?;诖?,要對(duì)采集到的數(shù)據(jù)進(jìn)行及時(shí)存儲(chǔ),并能夠保證數(shù)據(jù)報(bào)的安全,因而必須考慮內(nèi)存緩沖技術(shù)、磁盤I/O能力、CPU處理能力、網(wǎng)絡(luò)接口能力等多種因素的影響,采用有效的存儲(chǔ)策略來保證數(shù)據(jù)存儲(chǔ)的安全。該系統(tǒng)在數(shù)據(jù)存儲(chǔ)時(shí)引入了內(nèi)存緩沖處理技術(shù),采用環(huán)形緩沖區(qū)對(duì)數(shù)據(jù)包緩沖有很好的性能,,將用戶緩沖器和內(nèi)核緩沖器的大小分別設(shè)置為1MB和6MB,同時(shí)將二者之間一次傳送的最小數(shù)據(jù)塊的大小設(shè)置為512 KB。
2、數(shù)據(jù)分析和處理。(1)命令解析。在數(shù)據(jù)分析階段,首先要進(jìn)行命令解析。MSNP協(xié)議涉及的命令多達(dá)幾十個(gè),客戶端所使用的命令也不同于服務(wù)器使用的命令。該系統(tǒng)重點(diǎn)解析了數(shù)據(jù)傳輸命令和握手命令。對(duì)于服務(wù)器端命令,主要對(duì)“JOI”“USR”“IRO”和“MSG”進(jìn)行解析;客戶端主要解析“ANS”與“MSG”。(2)重組協(xié)議數(shù)據(jù)。對(duì)協(xié)議數(shù)據(jù)進(jìn)行重組,主要針對(duì)的是P2P消息,若二進(jìn)制頭與尾之間的消息內(nèi)容大小>1202 B,則消息將會(huì)被分片傳輸。二進(jìn)制頭中總共包括9個(gè)字段,其中有3個(gè)字段與消息分片密切相關(guān),這3個(gè)字段分別為:“Total Date Size(總數(shù)據(jù)大?。?、“Data Offset(數(shù)據(jù)偏移量)”和“Message Length(本條消息長度)”。由于TCP處理模塊已經(jīng)處理了無序和重復(fù)的數(shù)據(jù)流,因此MSNP協(xié)議模塊中所輸入的數(shù)據(jù)流都是由一定順序的,只需要按順序取出數(shù)據(jù)即能完成協(xié)議數(shù)據(jù)重組。(3)數(shù)據(jù)存儲(chǔ)。重組協(xié)議數(shù)據(jù)后,要分析重組后的協(xié)議數(shù)據(jù),并進(jìn)行數(shù)據(jù)提取。數(shù)據(jù)分析時(shí),主要針對(duì)的是負(fù)責(zé)建立和結(jié)束會(huì)話的MSNSLP消息,在對(duì)其分析時(shí),不僅要分析取得傳輸?shù)念愋?,同時(shí)還要提取文件名,為數(shù)據(jù)存儲(chǔ)時(shí)的使用做好充分準(zhǔn)備。以Unicode格式將傳輸文件的文件名存儲(chǔ)在INVITE方法的Context中;將自定義表情和顯示圖片的文件名封裝在其各自的MSNObj對(duì)象中。
三、即時(shí)通信監(jiān)控系統(tǒng)的實(shí)現(xiàn)及調(diào)試
即時(shí)通信監(jiān)控系統(tǒng)設(shè)計(jì)完成之后,要對(duì)其實(shí)現(xiàn)進(jìn)行分析,即進(jìn)行性能測試,檢查系統(tǒng)對(duì)指定數(shù)據(jù)的監(jiān)聽提取能力。此次測試給定的工作環(huán)境為:一臺(tái)監(jiān)控服務(wù)器主機(jī),若干客戶機(jī),客戶機(jī)通過交換機(jī)連接在一個(gè)局域網(wǎng)中,同時(shí)與因特網(wǎng)互聯(lián)。測試時(shí)間為周一至周五,共5天,每天測試時(shí)間為08:00~20:00,同時(shí)每天客戶機(jī)的數(shù)量維持在123~167.系統(tǒng)測試最終結(jié)果文件傳輸?shù)奶崛÷手挥?1.7%,造成這種結(jié)果的原因可歸納為以下三點(diǎn):首先是丟包率;其次是協(xié)議分析中對(duì)NAT穿越的判斷結(jié)果。再次就是當(dāng)傳輸?shù)碾p方在同一個(gè)局域網(wǎng)時(shí),實(shí)際數(shù)據(jù)沒有通過服務(wù)器中轉(zhuǎn),導(dǎo)致該系統(tǒng)僅能監(jiān)聽到傳輸邀請,而對(duì)實(shí)際傳輸?shù)臄?shù)據(jù)的監(jiān)聽卻無法實(shí)現(xiàn)。自定義表情與顯示圖片的提取率都大于96%,造成數(shù)據(jù)的原因主要是丟包,該系統(tǒng)在數(shù)據(jù)包捕獲時(shí)采用的是過濾策略,在網(wǎng)絡(luò)流量比較大的情況下,就會(huì)導(dǎo)致一定程度的丟包率,從而使結(jié)果受到影響。測試結(jié)果中沒有文字信息的相關(guān)評(píng)估,主要是因?yàn)槲淖中畔⒌膫鬏斎鄙傥帐诌^程,評(píng)估起來比較困難。該系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)可以確保較小丟包率的基礎(chǔ)上,使文字信息的提取率能夠接近或達(dá)到100%。
參考文獻(xiàn)
[1]張茜.即時(shí)通信視頻傳輸封堵系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).現(xiàn)代商貿(mào)工業(yè),2010(3):102-103