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