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