企業(yè)P2P通信網(wǎng)絡(luò)檢測與防護(hù)技術(shù)發(fā)展
談到老北京生活的代表畫面,可能很多人都會想到美麗的四合院??墒且坏┱娴淖咴诒本┑拇蠼中∠?,身臨其境,你可能會發(fā)現(xiàn)很多四合院都已經(jīng)成了大雜院。私搭亂建現(xiàn)象非常普遍,進(jìn)出院門往往很不方便,對于體型豐滿的人而言,最窄的地方可能通過都會成為一個挑戰(zhàn)。這一現(xiàn)象在企業(yè)的網(wǎng)絡(luò)中也同樣存在,雖然企業(yè)的網(wǎng)絡(luò)帶寬遠(yuǎn)比幾年前富裕,但是網(wǎng)絡(luò)體驗卻未必與時俱進(jìn)。制造障礙的是那些酷愛下載的用戶,不管網(wǎng)絡(luò)如何升級改造,對于網(wǎng)絡(luò)管理員而言,網(wǎng)絡(luò)下載相關(guān)的P2P 流量一直是最深的夢魘。拋開利用P2P協(xié)議在組織內(nèi)部傳輸影音文件、應(yīng)用程序可能帶來的法律方面的困擾不提,即使單純從網(wǎng)絡(luò)可用性的角度出發(fā),目前未對 P2P通信進(jìn)行限制的組織中,P2P流量一般會占據(jù)20%到60%不等,這將會嚴(yán)重影響企業(yè)的正常業(yè)務(wù)。正常的郵件、VoIP等應(yīng)用就像在大雜院中舉步維艱的你我一樣,在狹小的縫隙中艱難前行。
在組織中對P2P流量必須進(jìn)行控制,這已經(jīng)成為大多數(shù)網(wǎng)絡(luò)管理者的共識。目前常見的入侵防護(hù)技術(shù)和流量整形技術(shù)一度被人們寄予厚望,這種技術(shù)通過簽名技術(shù)將各種流量用白名單和黑名單加以區(qū)分,其工作機(jī)制類似于防毒軟件。在初期也的確表現(xiàn)的中規(guī)中矩,頗能解決企業(yè)的P2P困擾。但是問題在于隨著P2P協(xié)議技術(shù)的發(fā)展,簽名技術(shù)越來越難以捕捉P2P流量。傳統(tǒng)的入侵防護(hù)技術(shù)和流量整形技術(shù)對于P2P的效果因此也越來越弱。
P2P協(xié)議技術(shù)發(fā)展帶來的挑戰(zhàn)
以最具代表性的兩種P2P協(xié)議為例,BitTorrent 協(xié)議在出現(xiàn)初期,客戶端依賴于連接Tracker服務(wù)器,從該服務(wù)器獲取其他正在下載該文件的人的地址信息。從這一點(diǎn)來看,BT并非全部為點(diǎn)對點(diǎn),Tracker服務(wù)器是BT得以存在的核心。也因此對Tracker服務(wù)器的封殺即可實現(xiàn)對于BT的阻斷。但是隨著哈佛大學(xué)兩位教授發(fā)表了了“去中心”的點(diǎn)對點(diǎn)網(wǎng)絡(luò)論文后,BT技術(shù)出現(xiàn)了分布式哈希表DHT網(wǎng)絡(luò),真正做到了完全的分散,沒有集中服務(wù)器用于注冊、登錄或存儲有關(guān)哪些節(jié)點(diǎn)共享哪些文件的信息。DHT技術(shù)為BT下載帶來巨大變化的另一佐證是世界最大BT下載網(wǎng)站“海盜灣”(thepiratebay.org)于2009年11月中的時候在官方網(wǎng)志上宣布,永久關(guān)閉Tracker服務(wù)器。這并非是反盜版的巨大勝利,而是該網(wǎng)站認(rèn)為從技術(shù)上并不需要繼續(xù)提供Tracker服務(wù)器即可在客戶端完成BT下載。DHT技術(shù)當(dāng)然也為基于網(wǎng)絡(luò)檢測和阻斷BT帶來了很大的挑戰(zhàn),因為不存在一個包含可被列入黑名單的 IP 地址或特定端口的列表 — 無法通過阻斷IP地址和端口實現(xiàn)BT阻斷,而必須通過分析各網(wǎng)絡(luò)流量來完成。而且,一旦一個節(jié)點(diǎn)得到共享所請求文件的遠(yuǎn)程節(jié)點(diǎn)的 IP-端口對,BitTorrent 協(xié)議支持信息流加密 (MSE) 或協(xié)議頭加密 (PHE),以對整個文件-傳輸 TCP 會話進(jìn)行加密。對于傳統(tǒng)的入侵防護(hù)系統(tǒng)或流量整形設(shè)備而言,一旦兩個節(jié)點(diǎn)間設(shè)置了共享密鑰,并使用該密鑰進(jìn)行了加密以啟動共享所請求變得的文件。這些設(shè)備可能會束手無策。Skype協(xié)議與之類似,也采用了通信加密處理。比BT更為棘手的是,Skype并非開源軟件,并且在其發(fā)布版本采用了多種反逆向工程措施。這使得對其協(xié)議進(jìn)行解析變得更加困難。入侵防護(hù)系統(tǒng)或流量整形設(shè)備首先需要解析Skype協(xié)議,并通過耗費(fèi)大量計算資源逆向解開密鑰,并對于所有網(wǎng)絡(luò)通信實現(xiàn)這一檢測。這使得即使沒有技術(shù)障礙,對于Skype的檢測也不經(jīng)濟(jì)—因為開啟這一檢測功能將嚴(yán)重影響網(wǎng)絡(luò)性能。
P2P檢測和防護(hù)技術(shù)的發(fā)展
為了適應(yīng)P2P的改變,除了面對DHT技術(shù)和加密技術(shù)外,需要有一種一勞永逸的思路來McAfee Labs 展開的 P2P 研究,McAfee 的研究人員設(shè)計了若干正在申請專利的技術(shù),這些技術(shù)能夠識別逃避 P2P 文件共享協(xié)議的一般行為特征,即這些 P2P 系統(tǒng)自身具有的高逃避性、文件共享和分散性特征。這種技術(shù)的優(yōu)勢在于:P2P 對傳統(tǒng)流量整形基于協(xié)議的識別簽名技術(shù)展開的“抵抗”越兇猛,新技術(shù)對其進(jìn)行檢測越容易。接下來,將概述這一創(chuàng)新的對逃避性批量傳輸進(jìn)行速率限制的技術(shù)。
這一技術(shù)通過以下三個階段對于采用了逃避技術(shù)的 P2P 文件共享進(jìn)行分類:
第一階段:設(shè)置灰名單 — 對未分類的協(xié)議進(jìn)行分類
首先,我們要嘗試依據(jù)已知“已知良好”(白名單)和“已知有害”(黑名單)對協(xié)議進(jìn)行分類。
McAfee 的研究人員開發(fā)了一個網(wǎng)絡(luò)應(yīng)用層協(xié)議分類引擎,該引擎的檢測范圍涵蓋上百種協(xié)議,包括 TCP/IP 堆棧(例如,TCP 和 ICMP)、應(yīng)用級協(xié)議(如 FTP、TFTP 和 HTTP)以及 P2P 和即時消息協(xié)議(例如,eDonkey、BitTorrent 和 MSN)。該引擎可對于對網(wǎng)絡(luò)流量進(jìn)行白名單和黑名單劃分。例如,F(xiàn)TP 和SSH 等協(xié)議列入白名單,而 BitTorrent 和 Gnutella 變體則被列黑名單。任何未被歸類為白名單和黑名單的網(wǎng)絡(luò)流都將被標(biāo)記為灰名單(未知)協(xié)議。
第二階段:針對批量數(shù)據(jù)傳輸流的啟發(fā)式檢測方法
對于灰名單流列表,采用精心設(shè)計的啟發(fā)式方識別該流量是否為批量數(shù)據(jù)傳輸或非批量數(shù)據(jù)傳輸。通過這樣深入分析灰,從而排除所有不需要進(jìn)行流量整形的交互式會話或低帶寬流量。研究人員采用的部分啟發(fā)式方法包括查找:
• 大容量數(shù)據(jù)傳輸流量 —高效的 P2P 技術(shù)的設(shè)計使得服務(wù)器節(jié)點(diǎn)可容納的最小的非完整文件“塊”也至少具有數(shù)百 Kb(BitTorrent 中的每個塊為 256 Kb)。因此,這一技術(shù)會關(guān)注那些已傳輸某一預(yù)設(shè)最小數(shù)據(jù)量的流量(例如,數(shù)百 Kb 的數(shù)據(jù)),而忽略那些不那么高效的數(shù)據(jù)流——總是只傳輸少量數(shù)據(jù)。
• 含有數(shù)據(jù)流量,而非交互式會話的流量 — 交互式會話一般會不時地有雙向交換的帶有較小載荷的數(shù)據(jù)包。而數(shù)據(jù)傳輸往往是數(shù)據(jù)包的單向流動,數(shù)據(jù)包的大小與網(wǎng)絡(luò)的物理特性或協(xié)商好的會話最大分段大小 (MSS) 相當(dāng)。例如,如果網(wǎng)絡(luò)流量在服務(wù)器-客戶端方向有上百個數(shù)據(jù)包,且大部分?jǐn)?shù)據(jù)包為 1412 字節(jié),則流量很有可能屬于服務(wù)器-客戶端批量數(shù)據(jù)傳輸,這里1412 字節(jié)則是網(wǎng)絡(luò)路由的最大傳輸單元 (MTU) 或是對等雙方協(xié)商好的 MSS。
• 不可打印/二進(jìn)制響應(yīng) — 經(jīng)過混淆或加密處理的協(xié)議自然會包含不可打印(非 ASCII)字符。由于傳統(tǒng)的流量整形技術(shù)通常會在網(wǎng)絡(luò)流量的起始處查找簽名,而逃避的 P2P 協(xié)議通常會在流量開始傳輸時便對字節(jié)進(jìn)行加密或混淆處理,因此,研究人員在網(wǎng)絡(luò)流量開始傳輸時即查找二進(jìn)制字符。
通過上述第一和第二階段,McAfee的研究人員可非常精準(zhǔn)地明確識別灰名單/未知、不可打印/二進(jìn)制、長時間(無小數(shù)據(jù)包)和非交互式/數(shù)據(jù)流量,并將它們標(biāo)記為采用了逃避技術(shù)的文件傳輸協(xié)議。研究人員將所有類似的網(wǎng)絡(luò)流量定義為名為“批量數(shù)據(jù)”的協(xié)議族。此時即可選擇對上述標(biāo)記的流量進(jìn)行速率限制,使其優(yōu)先級低于“已知良好”協(xié)議的指定速率,但高于“已知有害”協(xié)議。例如,HTTP 可能被明確歸入白名單,Emule這一 P2P 協(xié)議則可能被明確歸入黑名單?;谒俾氏拗苾?yōu)先級的方案中,“批量數(shù)據(jù)”這類流量的優(yōu)先級將低于 HTTP,但高于 Emule。這一算法使網(wǎng)絡(luò)管理員能夠根據(jù)網(wǎng)絡(luò)流量是被列入白名單、黑名單還是灰名單(對于傳統(tǒng)檢測技術(shù)而言“不可見”),來有區(qū)別地加以處理。
第三階段:對于一段時間內(nèi)多個采用逃避技術(shù)的批量數(shù)據(jù)流的關(guān)聯(lián)檢測
本階段針對 P2P 技術(shù)的分散特性。最新的 P2P 技術(shù)將文件分成多個塊。任何時間點(diǎn)都有多個不同的 P2P 節(jié)點(diǎn)正在進(jìn)行下載和/或共享這些塊。出于分散的目的,P2P技術(shù)設(shè)計為需要一個文件的 P2P 客戶端將向不同節(jié)點(diǎn)請求不同的塊。這一過程顯示為某一請求節(jié)點(diǎn)針對一批隨機(jī)目標(biāo)節(jié)點(diǎn)發(fā)起一系列網(wǎng)絡(luò)流量。由于 P2P技術(shù)設(shè)計為逃避防火墻和流量整形器,則源 IP 地址是為這些流的唯一通用參數(shù)。目的 IP、目的端口、源端口等將全部顯示為隨機(jī)參數(shù)。同時,流的內(nèi)容本身也將被混淆或加密。
由于那些批量數(shù)據(jù)流的混淆特性,McAfee研究人員的檢測算法的第一和第二階段可以輕松捕獲它們。而算法的第三階段,則可對這些“組件”檢測基于時間進(jìn)行關(guān)聯(lián):
• 基于源的關(guān)聯(lián) — 通過算法第一和第二階段識別出的多種流量(未知流量、二進(jìn)制流量、長時間流量、數(shù)據(jù)流),這些流量都來自相同的源 IP。
• 掃描特性/多個不同目的地 — 該算法將從一個給定源 IP 連接到同一目的地的多個流視為一個流。這樣可以避免誤報,如某一源節(jié)點(diǎn)頻繁連接同一目標(biāo)節(jié)點(diǎn)(例如,HTTP 瀏覽器會話、HTTP/ FTP 站點(diǎn)鏡像等)。
• 可配置的掃描閾值 — 網(wǎng)絡(luò)管理員可以對此類流量進(jìn)行定義,一個源在指定時間段 (P) 內(nèi)連接多個不同目標(biāo)發(fā)起的流的閾值 (N),以確定是否屬于 P2P 文件傳輸塊請求的離散。也就是說,如果離散點(diǎn)在 (P) 時間段內(nèi)超過 (N),則可以將該來源標(biāo)記為 P2P 文件共享節(jié)點(diǎn)。
• 在由第一和第二階段標(biāo)記的所有流量如果在第三階段仍被算法進(jìn)行標(biāo)記,該數(shù)據(jù)流無疑是 P2P 文件傳輸。對于對這些流量可進(jìn)行更嚴(yán)格的速率限制。
算法的第三階段為網(wǎng)絡(luò)管理員提供了一種可配置閾值的方法,用于識別 P2P 離散點(diǎn)并進(jìn)一步深入到 P2P 文件共享源。此外,還提供對屬于第一階段和第二階段確定的灰色區(qū)域的協(xié)議更加細(xì)化的速率限制。
新P2P檢測和防護(hù)技術(shù)的實踐
McAfee 的研究人員已將該技術(shù)集成在入侵防護(hù)系統(tǒng)(IPS)產(chǎn)品中,并在已在大型真實網(wǎng)絡(luò)(企業(yè)和開放式大學(xué)網(wǎng)絡(luò)環(huán)境)中對這一新技術(shù)進(jìn)行了測試。研究人員首先基于快速人工檢查,挑出一些明顯屬于不可識別的批量數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)流量。然后使用算法重試了所有這些流量,發(fā)現(xiàn)這些流量被百分之百捕獲。這實質(zhì)上驗證了此算法實施的正確性 — 它能夠檢測到所有與“逃避性、長時間批量數(shù)據(jù)傳輸”定義相符的流量。研究人員并且集中分析了算法第三階段捕獲的源主機(jī)。通過詳細(xì)的取證分析,確定所有這些源主機(jī)都存在涉及使用目前協(xié)議識別器并未涵蓋的協(xié)議的 P2P 活動(準(zhǔn)確率 100% 或誤報率為 0%)。研究人員同時發(fā)現(xiàn)了大量地采用逃避技術(shù)的批量數(shù)據(jù)傳輸活動 — 根據(jù)算法第一和第二階段,在這些灰色流量中,40% 至 50% 被識別為“采用了逃避技術(shù)的批量數(shù)據(jù)”。換句話說,在大型真實網(wǎng)絡(luò)網(wǎng)絡(luò)中,大約有一半的P2P文件傳輸由于采用了逃避技術(shù)使得以往完全不可見得以成為漏網(wǎng)之魚。研究人員還進(jìn)行了另一項實驗——挑選了包括 BitTorrent、eMule 在內(nèi)的幾種 P2P 協(xié)議。在協(xié)議識別引擎中不加載針對這些協(xié)議的解析,而僅采用新算法進(jìn)行檢測,使用算法的第一和第二階段,在對 P2P協(xié)議不進(jìn)行識別的情況下,捕獲了其中約 84% 至 92% 的長時間批量數(shù)據(jù)流量。由于BitTorrent、eMule 是最具有代表性的 P2P 技術(shù),這一結(jié)果表明,該算法能夠捕獲 84% 至 92% 以前對設(shè)備無法通過簽名技術(shù)識別從而完全不可見的 P2P 批量數(shù)據(jù)傳輸流量。
對于企業(yè)而言,結(jié)合了網(wǎng)絡(luò)行為分析的灰名單方法將成為檢測和管理 P2P 流量最行之有效的方法。通過上面的介紹,已經(jīng)說明了這一方法所帶來的出色的成效。這種技術(shù)使得以往難以檢測的卻又最占帶寬的P2P網(wǎng)絡(luò)流量無所遁形,為網(wǎng)絡(luò)管理者提供了亟需的的P2P流量監(jiān)控和防護(hù)功能。