版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第25卷第4期2008年4月計算機應用研究ApplicationResearchofComputersV01.25No.4Apr.2008基于內(nèi)容審計的千兆網(wǎng)絡監(jiān)控系統(tǒng)的設計蔣卓明8’“,翟偉斌8一,周振柳8:“,許榕生8’6(中國科學院a.高能物理研究所計算中心;b.研究生院,北京100049摘要:網(wǎng)絡監(jiān)控系統(tǒng)通過網(wǎng)絡處理器和改進的捕獲驅動進行高效數(shù)據(jù)捕獲,通過設置虛擬磁盤、優(yōu)化文件系統(tǒng)進行海量數(shù)據(jù)存儲,并著眼于內(nèi)容審計,采用多線程、簡化協(xié)議等方法進行協(xié)議分析,解決了在千兆級網(wǎng)絡監(jiān)控中存在的一系列性能問題。關鍵詞:網(wǎng)絡監(jiān)控;數(shù)據(jù)捕獲;數(shù)據(jù)存儲;協(xié)議還原;內(nèi)容審計中圖分類號:TP393.08文獻標志碼:A文章編號:1001-3695(200804-1114-03DesignofgigabitnetworkmonitoringsystembasedoncontentauditingJIANGZhuo.min94?6,ZHAIWei—bin8,6,ZHOUZhen.1iu8,6,XURong.shen98'6(口.ComputingCenter,InstituteofHighEnergyPhysics,b.GraduateSchool,ChineseAcademyofSciences,Beijing100049,ChinaAbstract:Inthisnetworkmonitoringsystem,datacapturewasdesignedbasedonnetworkprocessorandimprovedcapture‘driver.Hugedatastoragewasdescribedthroughusingvirtualdiskandoptimizedfilesystem.Forcontentauditing,multi-threadandsimplifiedprotocolwereusedtocarryonprotocolanalysis.Alloftheseimprovetheperformanceofgigabitnetworkmonitoring.。Keywords:networkmonitoring;datacapture;datastorage;protocolrestore;contentauditing目前存在的防火墻、IDS等網(wǎng)絡安全工具,往往著眼于入侵行為本身,沒有能夠對協(xié)議數(shù)據(jù)包的內(nèi)容進行深入的分析;而一些對內(nèi)部網(wǎng)主機進行監(jiān)控審計的系統(tǒng)川,重點在于信息保密和訪問控制,一般適用于局域網(wǎng)環(huán)境,應用在高速網(wǎng)絡上存在性能問題。本文設計的基于內(nèi)容審計的千兆網(wǎng)絡監(jiān)控系統(tǒng),使用寬帶網(wǎng)絡硬件和開放源碼軟件平臺,重視其在千兆級以上網(wǎng)絡的性能優(yōu)化。該網(wǎng)絡監(jiān)控系統(tǒng)的體系結構設計可分為數(shù)據(jù)捕獲、數(shù)據(jù)存儲、協(xié)議還原、應用功能四部分,如圖1所示。最上層的應用功能④是對各種應用需求開發(fā)相應的用戶交互環(huán)境,本文主要針對前三部分即系統(tǒng)下層作設計和研究。瓜麗麗翮③協(xié)議還原霧SMTP陋POP3I士鋤*哪lI””8FTP①數(shù)據(jù)捕獲,,、②數(shù)據(jù)存儲[二/圖1網(wǎng)絡監(jiān)控系統(tǒng)體系結構11數(shù)據(jù)捕獲模塊1.1傳統(tǒng)的數(shù)據(jù)捕獲方式為了獲得對網(wǎng)絡上傳輸?shù)乃袛?shù)據(jù)包進行監(jiān)控和內(nèi)容審計,且不影響網(wǎng)絡本身的運行,本文采用旁路并接的方法,從核心路由器上導出流量鏡像。這種集中捕獲數(shù)據(jù)的方法相對于分布式采集數(shù)據(jù),具有易于部署、對網(wǎng)絡用戶透明的特點;但對于大流量的網(wǎng)絡數(shù)據(jù),直接使用普通網(wǎng)卡和相應的捕獲軟件很容易造成丟包,使后期的還原無法進行。例如本文最初的實驗環(huán)境為單機CPU:PentiumⅢI.2GHz,內(nèi)存:PCI33DIMM256MBx2,網(wǎng)卡:OnboardIntel82559Ethernetcontroller,Linux平臺下Libpeap…捕包軟件,IXIA400T作為流鼉發(fā)生器。表1是筆者在實驗中獲得的網(wǎng)絡背景流量與捕獲率之間的關系。表1網(wǎng)絡背景流量與捕獲率關系表從表1中可以看出:a在較小流量網(wǎng)絡中或者大包的情況下,Libpcap表現(xiàn)良好,丟包較少。b在較大背景流量或者小包的條件下,Libpcap捕獲率很低,丟包嚴重。C數(shù)據(jù)包幀長對捕獲率影響很大。即使在流量不高的情況下(如背景流量為25Mbps,幀長80Byte,如果網(wǎng)絡上小包較多,也會導致捕獲率大幅下降。.d在100Mbps背景流量幀長為80Byte情況下,系統(tǒng)基本處于癱瘓狀態(tài),無法響應用戶的操作。出現(xiàn)這種現(xiàn)象是因為過于頻繁的網(wǎng)卡中斷造成的。1.2硬件負載均衡機制以上的數(shù)據(jù)捕獲遠不能滿足千兆級網(wǎng)絡的需求。為了提高性能,在硬件方面引進了Intel公司的ENP2611網(wǎng)絡處理器收稿日期:2007.01.14;修回日期:2007—04—27基金項目:國家自然科學基金資助項目(70471064作者簡介:蔣卓明(1981.,男,廣西桂林人,博士研究生,主要研究方向為網(wǎng)絡安全(ji卸鯽@ihep.∞.en;翟偉斌(1975一,男,河南南陽人,博士研究生。主要研究方向為網(wǎng)絡安全、中文語義分析;周振柳(1971-,男,湖北黃岡人,博士研究生,主要研究方向為網(wǎng)絡安全、固件安全;許榕生(1947-,男,福建莆田人,研究員,博導,主要研究方向為信息安全、網(wǎng)絡對抗.f(.剿剝?nèi)f方數(shù)據(jù)第4期蔣卓明,等:基于內(nèi)容審計的千兆網(wǎng)絡監(jiān)控系統(tǒng)的設計(networkprocessor¨1對流量進行分流,并行采用多個CPU進行處理。分流的策略采用網(wǎng)絡處理器的負載均衡功能,將流量可調(diào)控地分流到若干個CPU上進行處理,可處理達2.5GB的網(wǎng)絡流量。但對于高速網(wǎng)絡環(huán)境下的突發(fā)流量,仍然會造成單個CPU負載過高。因此筆者進一步設計了根據(jù)CPU使用狀態(tài)進行動態(tài)反饋的負載調(diào)節(jié)機制,在某個CPU負擔過重時,通知前端網(wǎng)絡處理器減小分流到該CPU上的流量,避免死機。1.3Libpcap零拷貝優(yōu)化機制在軟件方面,數(shù)據(jù)捕獲還應配置軟件將硬件部分所分流的數(shù)據(jù)包從網(wǎng)絡接口設備的緩沖區(qū)傳送到操作系統(tǒng)緩沖區(qū)進行處理的軟件代碼。針對表1中顯示的短幀頻繁中斷造成的捕獲率降低的情況,筆者在Linux環(huán)境下的Libpcap引進了零拷貝(zero?copy技術H1。傳統(tǒng)的Libpcap從網(wǎng)卡抓包到應用程序,數(shù)據(jù)包要經(jīng)歷三次拷貝:a網(wǎng)卡到內(nèi)核緩沖區(qū),該步驟是通過DMA通道實現(xiàn)的。b內(nèi)核中復制一份,一份交給正常的應用程序,另一份交給抓包程序。c內(nèi)核到應用層的拷貝。這三次拷貝中后兩次所消耗的資源較大,影響系統(tǒng)的整體性能。零拷貝驅動取消了后兩次拷貝操作,首先,利用DMA技術將網(wǎng)絡數(shù)據(jù)包直接傳遞到系統(tǒng)內(nèi)核預先分配的地址空間中,避免CPU的參與;同時,利用mmap系統(tǒng)調(diào)用將系統(tǒng)內(nèi)核中存儲數(shù)據(jù)包的內(nèi)存區(qū)域映射到檢測程序的應用程序空間,檢測程序直接對這塊內(nèi)存進行訪問,從而減少了系統(tǒng)內(nèi)核向用戶空間的內(nèi)存拷貝。實踐證明,零拷貝機制對高速短數(shù)據(jù)包流量的捕獲率提高了5—10倍。2數(shù)據(jù)存儲模塊數(shù)據(jù)存儲作為整個系統(tǒng)的交換部分,前端所采集的原始數(shù)據(jù)必須經(jīng)過存儲模塊緩存以到達協(xié)議還原模塊。在完成協(xié)議還原之后,上層的應用功能模塊也要從緩存中得到需要進一步處理的內(nèi)容,數(shù)據(jù)存儲模塊的性能在很大程度上決定了整個系統(tǒng)的性能,因此本文重點提出了數(shù)據(jù)存儲模塊在聯(lián)系前端數(shù)據(jù)捕獲、后臺協(xié)議還原及E層應用功能中等幾大模塊中的核心作用。圖2描述了數(shù)據(jù)存儲模塊的內(nèi)部結構,分為協(xié)議還原前數(shù)據(jù)存儲和協(xié)議還原后的數(shù)據(jù)存儲兩部分。經(jīng)過濾的捕獲數(shù)據(jù)協(xié)議還原前數(shù)據(jù)存儲協(xié)議還原后數(shù)據(jù)存儲糍lⅢ圈圄叫囂內(nèi)岳12-I多層目||h::忑iT叫囂存葛P…l錄文檔Il嬲’芳I劊墨墨PL/一一L竺”’二J應用或清除數(shù)據(jù)圖2數(shù)據(jù)存儲模塊內(nèi)部結構2.1協(xié)議還原前數(shù)據(jù)存儲原始鏈路層數(shù)據(jù)存儲是為了進行協(xié)議還原而臨時存儲,要求簡潔高效,筆者擯棄了傳統(tǒng)的磁盤陣列一數(shù)據(jù)庫軟件的存儲方式。因為大量地流入數(shù)據(jù)對存儲容量和速度提出了很高的要求,整個系統(tǒng)需要一定的存儲周轉空間,但不能無限制地增加存儲,這不符合及時處理的需求。如果采用磁盤陣列存儲方式,代價高且讀寫速度慢,因此筆者采用了大內(nèi)存虛擬為鏡像磁盤的形式進行高速存儲,被捕獲的數(shù)據(jù)直接存儲為內(nèi)存上的dump文件,系統(tǒng)內(nèi)存擴展至2—4GB,但對于上層開發(fā)人員而言,則是將內(nèi)存視做虛擬的磁盤來訪問,使系統(tǒng)需要頻繁讀寫的數(shù)據(jù)直接在內(nèi)存上進行,從而整體上提高處理速率,減小存儲周轉空間。在協(xié)議還原階段,對It¥時存儲的dump文件采取盡力而為的處理方式,如果處理壓力過大,則應該在協(xié)議還原前盡早丟棄部分數(shù)據(jù)。丟棄的策略在前期由用戶主動定義,將不需要進行內(nèi)容審計或暫時無法處理的數(shù)據(jù)丟棄,減小系統(tǒng)負擔。具體做法有:首先在前端數(shù)據(jù)捕獲通過設置端口和IP的過濾機制丟棄不關心的協(xié)議和IP段;其次在協(xié)議還原模塊中設置黑白名單丟棄不關心的用戶和內(nèi)容,這在3.2節(jié)中有具體實現(xiàn)方法。2.2協(xié)議還原后數(shù)據(jù)存儲對還原結果的數(shù)據(jù),必須存儲下來作進一步分析和備份,以供查詢和取證,并進行深入的處理。首先是文件系統(tǒng)的改進:鑒于網(wǎng)絡實際流量數(shù)據(jù)零碎、非結構化,無法直接進入數(shù)據(jù)庫存儲,故筆者先以文件的形式進行存檔,而這會造成相應存儲目錄下冗長,一個目錄下的文件過多,對該目錄的讀寫會變慢,實踐證明,Linux下單個目錄存儲文件達到lo萬級別的文件數(shù)后,對目錄的訪問消耗的CPU資源高達80%以上。因此必須根據(jù)各種策略對數(shù)據(jù)分類,增加多層目錄存儲,如在本系統(tǒng)中,按照文件生成的日期時間進行分類存儲;其次是采用磁盤前端的高速緩存,積累一定的結果數(shù)據(jù)后一次性批量寫入,減少磁盤中斷,提高寫入速率。存檔數(shù)據(jù)有一定的有效期,在決定數(shù)據(jù)內(nèi)容不再有用后,不能無限制地保存。而按照文件生成的日期時間存儲,正是給各個目錄加上了顯式的時間戳。據(jù)此對目錄進行定期清空,才能保證存儲空間的循環(huán)使用,避免磁盤容量不足。對于存檔的數(shù)據(jù),當人們需要從內(nèi)容審計的角度調(diào)用時,還是相當不方便的,因此本文開辟了二級存儲,將與內(nèi)容審計相關的重要數(shù)據(jù),以警報、摘要等形式組織存人MySQL數(shù)據(jù)庫,建立索引。這樣對上層的應用功能而言就更便于數(shù)據(jù)的深入挖掘。3協(xié)議還原模塊協(xié)議還原是指對獲取的數(shù)據(jù)按照TCP/IP的標準進行重組和剖析,根據(jù)不同端口對應的協(xié)議分別進行還原,包括協(xié)議命令和協(xié)議傳輸?shù)膬?nèi)容(如HTrP網(wǎng)頁、POP3/SMTP郵件信息,將滿足應用功能的數(shù)據(jù)交給應用功能部分(如網(wǎng)頁的文本化信息、郵件的收發(fā)件人信息等,各種協(xié)議的規(guī)范在相應的RFC文檔中有明確的說明。這部分是實現(xiàn)內(nèi)容審計的重要步驟,在整個系統(tǒng)中占有舉足輕重的作用,要著重研究其性能的提高。3.1多線程機制在協(xié)議分析過程中,會遇到各種異常的協(xié)議數(shù)據(jù),或者是通過某種協(xié)議封裝的另一協(xié)議的數(shù)據(jù)包。因此,獲得正確完整的還原數(shù)據(jù)是相當耗費系統(tǒng)資源的,需要設置合適的資源調(diào)度機制和異常處理機制。以SMTP郵件協(xié)議為例,筆者利用Linux下的Libnids¨1軟件對鏈路層的dump文件進行初步分析后,給出的ts結構中含有端口信息,當收到源端口或目的端口為25的TcP數(shù)據(jù)包時,則轉入相應的協(xié)議還原模塊。有兩種進入方式:a直接調(diào)用還原模塊,這在低速網(wǎng)絡吞吐量較小時適用;b通過注冊一個新的線程,在其中調(diào)用SMTP還原模塊,主程序和還原子程序并發(fā)執(zhí)行。值得注意的是如果郵件帶有萬方數(shù)據(jù)?1116?計算機應用研究第25卷較大附件,按照前端的捕獲機制,可能會使得該郵件的全部數(shù)據(jù)分布在多個dump文件中,同一協(xié)議的不同dump文件是有序的,但不一定是連續(xù)的,由于包交換的網(wǎng)絡傳輸機制,會使不同協(xié)議數(shù)據(jù)包的到達次序交錯,中問會插入其他協(xié)議的dump文件。因此,采用多線程處理方式,遇到較大的郵件和附件,在主線程中注冊子線程對其進行處理,由操作系統(tǒng)對系統(tǒng)資源進行調(diào)度,子線程的忙碌雖然可能造成單個郵件的還原時間延長,但不至于造成整個系統(tǒng)的阻塞。值得注意的是,使用多線程時,一定要有子線程工作完畢后的回收機制和子線程數(shù)量的控制。以免造成系統(tǒng)資源的溢出。因此可以使用Linux中常用的守護線程對子線程進行管理。3.2協(xié)議內(nèi)部簡化下面繼續(xù)以SMTP協(xié)議為例,說明在還原處理內(nèi)部的流程優(yōu)化。根據(jù)RFC821規(guī)定,SMTP協(xié)議是基于客戶端與服務器的會話的簡單郵件傳輸協(xié)議,所定義的客戶端基本命令見表2r6|。表2SMTP協(xié)議客戶端基本命令客戶命令描述向服務器標志用廠|身份初始化郵件傳輸.以“marlfrom:”形式標志單個的郵件接收人;常在mail命令后面,以“rcptto:”形式在單個或多個RCPT命令后,表示所有的郵件接收人已標志,并初始化數(shù)據(jù)傳輸,以單行“.”結束用于驗證指定的用戶/郵箱是否存在;由于安全方面的原因,服務器常禁止此命令驗證給定的郵箱列表是否存在,擴充郵箱列表,也常被禁用查詢服務器支持什么命令無操作,服務器應響應OK結束會話重置會話,當前傳輸被取消服務器端常見響應見表3㈨。。表3SMTP協(xié)議服務器端常見響應服務器返回值描述在著眼于內(nèi)容審計的監(jiān)控中,一些協(xié)議命令的字段是不必要的,筆者對協(xié)議數(shù)據(jù)包進行簡化處理,去除一些不關心的控制信息和包頭信息,以減輕協(xié)議分析的壓力和提高性能。例如在客戶端數(shù)據(jù)中,忽略了大量的協(xié)議命令,只考慮data、“.”(單行點號字符、authlogin、user、pass等對于內(nèi)容監(jiān)控所必要的協(xié)議命令。圖3是實際應用中的SMTP協(xié)議還原的簡化狀態(tài)機。值得說明的是,最初的SMTP協(xié)議是沒有認證機制的,但是在實際應用中,由于垃圾郵件的泛濫和發(fā)布信息的不可控,很多SMTP郵件服務器加入了認證機制,已經(jīng)成為主流應用。在設計協(xié)議狀態(tài)時,考慮了以authlogin登錄認證的流程,以獲得用戶名和密碼。此外,為了防止異常的協(xié)議命令和數(shù)據(jù)擾亂正常的郵件還原,在狀態(tài)機中設置了很多異常出口,使得等待成為一個安全的狀態(tài),而關注的焦點在于發(fā)送狀態(tài)后的內(nèi)容,這樣就大大提高了效率和穩(wěn)定性。在應用層次上,還可以通過設置黑白名單的方式,靈活地調(diào)整監(jiān)控策略。由于系統(tǒng)實現(xiàn)了對authlogin命令的還原,在認證階段即可獲得郵件的賬戶名,可以根據(jù)是否需要關注該郵件賬戶,決定是否進行后面的大量郵件正文和附件的還原工作,以節(jié)約系統(tǒng)資源,集中關注目標。在實現(xiàn)系統(tǒng)后,對發(fā)送郵件監(jiān)控進行了測試。在單機20/40Mbps的背景流量下(單機配置如I.I節(jié)所示,通過SMTP服務器發(fā)送100個郵件。其中80個帶有附件,包括doc、eye、pdf、jpeg等格式。表4是系統(tǒng)對SMTP協(xié)議的監(jiān)控情況??蛻舳朔恰癲ata”的數(shù)據(jù)齠霸藩薏服務器端返回“354”II無條件i匡旦_客戶端單行“.”I(、壟莖連客戶端單行非“.”SMTP協(xié)議還原的簡化狀態(tài)機表4SMTP協(xié)議監(jiān)控情況可見,單機背景流量到達40Mbps還能保持較好的處理性能,除了極少量帶附件郵件還原受到附件復雜性的影響。實踐中,筆者在集成設備上配置多CPU并行處理,對于千兆級以上的流量能達到很好的效果。4結束語網(wǎng)絡監(jiān)控是信息安全的重要基石,本文在設計基于內(nèi)容審計的千兆網(wǎng)絡監(jiān)控系統(tǒng)的實踐中,研究得出了對其底層工作性能的優(yōu)化,總結如下:a數(shù)據(jù)捕獲模塊使用帶反饋的網(wǎng)絡處理器進行負載均衡,網(wǎng)卡捕包驅動使用帶零拷貝機制的Libpeap。b使用大內(nèi)存虛擬鏡像盤進行高效的臨時存儲,存檔數(shù)據(jù)采取文檔和數(shù)據(jù)庫并用的分級存儲。C針對內(nèi)容審計的需要,引入通常IDS類軟件中沒有的協(xié)議還原功能。協(xié)議還原使用多線程機制簡化協(xié)議狀態(tài)。上述方案使得整個網(wǎng)絡安全監(jiān)控系統(tǒng)得以高效穩(wěn)定地運行在各種網(wǎng)絡平臺上進行內(nèi)容審計,為用戶提供各種應用功能。參考文獻:[1]李超,楊義先,鈕心忻.一種新的高效主機監(jiān)控審計系統(tǒng)[J].計算機應用研究,2006,23(8:97—99.[2]TCPDUMPpublicrepository[EB/OL】.[2007].hap://*w.tcp-dump.mg/.【3】SHIMONISHIH,MURASET.AnetworkprocessorarchitectureforflexibleQoScontrolinveryhigh-speedlineinterfaces[C]//ProcofIEEEWorkshoponHighPedormanceSwitchingandRouting(HPSR2001.Dallas。Texas:IEEEComputerSocietyPress,2001:402—406.[4]王佰玲,方濱興,云曉春.零拷貝報文捕獲平臺的研究與實現(xiàn)[J].計算機學報,2005,28(1:46—52.[5]IAbnids[EB/OL].[2007]./.[6]JOHNSONK.Internete.marl協(xié)議開發(fā)指南[M】.北京:機
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國地埋式噴頭行業(yè)應用前景與需求趨勢預測報告
- 2024-2030年中國固色劑行業(yè)競爭格局及發(fā)展風險分析報告
- 2024-2030年中國原煤行業(yè)當前經(jīng)濟形勢及投資建議研究報告
- 2024年度醫(yī)療耗材集中采購合同細則3篇
- 2024年度土地征收補償協(xié)議范本3篇
- 眉山職業(yè)技術學院《機械系統(tǒng)設計》2023-2024學年第一學期期末試卷
- 茅臺學院《陶瓷工藝原理》2023-2024學年第一學期期末試卷
- 2024年汽車銷售團隊績效考核合同范本3篇
- 2024年度智慧城市建設綜合解決方案投標書實例3篇
- 茅臺學院《電工測試技術(上)》2023-2024學年第一學期期末試卷
- 山東省高等醫(yī)學院校臨床教學基地水平評估指標體系與標準(修訂)
- 大孔吸附樹脂技術課件
- 空白貨品簽收單
- 建筑電氣施工圖(1)課件
- 質量管理體系運行獎懲考核辦法課案
- 泰康人壽養(yǎng)老社區(qū)介紹課件
- T∕CSTM 00584-2022 建筑用晶體硅光伏屋面瓦
- 2020春國家開放大學《應用寫作》形考任務1-6參考答案
- 國家開放大學實驗學院生活中的法律第二單元測驗答案
- CAMDS操作方法及使用技巧
- Zarit照顧者負擔量表
評論
0/150
提交評論