ITTP

ITTP,全稱IntelligentTerminalTransferProtocol,翻譯為智慧型終端轉換協定,內容審計記錄用戶使用計算機網路資源訪問的所有資源和所有訪問過程。完整地記錄審計追蹤數據是事故後調查取證的基礎。

簡介

IntelligentTerminalTransferProtocol--智慧型終端轉換協定

一個網路要保護起來分3個階段:事前、事中和事後。事前就是發現網路已經潛在的安全問題或者是潛在的弱點、隱患並彌補,常用的產品是掃描系統;事中是對正在運行的系統防止黑客攻擊,包括用得最多、最普遍、最成熟的是防火牆和入侵檢測技術;而事後的取證,就必須用到審計系統。網路內容審計能夠幫助我們對網路進行動態實時監控,可通過尋找入侵和違規行為,記錄網路上發生的一切,為用戶提供取證手段。

目前,公司內部員工對機密檔案、敏感信息的竊取和泄漏,以及在工作時間,利用公司網路資源進行與工作無關的活動,嚴重損害了公司的利益。隨著我國電子政務系統的實施和建設,政府、企事業單位對安全提出了更高的要求,本文對基於協定還原的內容審計做了較深入的探討。

2網路內容審計

內容審計記錄用戶使用計算機網路資源訪問的所有資源和所有訪問過程。完整地記錄審計追蹤數據是事故後調查取證的基礎。通過對一些重要的事件進行記錄,從而在系統發現錯誤或受到攻擊時能定位錯誤和找到攻擊成功的原因。審計記錄應具有防止攻擊刪除和修改的措施。在CC準則(信息技術安全評估通用準則2.0版)中,對信息系統安全審計的功能有一個完整的定義:信息系統安全審計主要指對與安全有關的活動的相關信息進行識別、記錄、存儲和分析;審計記錄的結果用於檢查網路上發生了哪些與安全有關的活動,誰(哪個用戶)對這個活動負責,主要功能包括:安全審計自動回響、安全審計數據生成、安全審計分析、安全審計瀏覽、安全審計事件選擇、安全審計事件存儲等。基於網路內容審計的系統,其原始審計數據來自於網路上的數據包。

2.1網路內容審計的系統模型

根據內容審計的功能要求,設計了一個相應的網路內容審計模型如圖1所示,主要是分析審計網路用戶的活動。

(1)原始審計數據是指用戶在網路中進行活動的所有數據,通常是網路數據包。獲得這些數據是進行網路審計的基礎。

(2)會話重建,網路行為一般都不是孤立的,通常是由多個動作形成的一個有序的活動。會話重建是在原始審計數據的基礎上,對某一個網路活動進行重建,恢復其本來面目,並重現。如常見FTP網路檔案訪問行為,一般都包含了口令認證、上傳或下載檔案等動作所構成的一個完整網路檔案訪問活動。不能僅從單個數據包或單個操作動作中審計用戶的行為,因為這樣會忽視各種事件之間的關聯性。

(3)根據事先定義的違規行為集,可以有效地審計會話中的違規行為。

(4)一旦發現違規行為,記錄違規行為,作為今後事故追蹤、犯罪取證的重要證據。

2.3會話重建及協定還原設計

基於上述模型,給出了審計系統的主要部分——會話重建及協定還原的設計方案,其邏輯如圖2所示。

截包引擎用專門的網路探針技術來替代傳統的網路嗅探器。採集到的數據包在網路探針上只做簡單的IP重組,並通過SOCket技術傳遞到協定還原器。這樣的網路探針功能相對專一,具有截包性能高、丟包率低的特點。在完整的審計記錄和高性能的基礎上,多協定的分析還原成為可能。

3關鍵技術分析

3.1高效截包技術

Libcalp是網路截包最通用的函式館,適合於多種作業系統平台。目前有許多著名的截包分析程式都建立在Libpcap的基礎上,如tcpdump,ethereal,snort等。但在高速的網路中,特別是當應用程式需要截取大量完整的網路數據時,以Libcap為架構的截包技術往往是不可行的。這是因為截包和包分析,特別是包分析消耗大量的CPU周期,可能導致數據包丟失。CPU周期也稱為機器周期。通常用記憶體中讀取一個指令字的最短時間來規定CPU周期。一個CPU周期時間又包含有若干個時鐘周期。

這種基於網路數據包的審計系統,如果丟包率太高,後面的會話重建、協定分析將無法進行,系統將失去意義。所以,是否能高效截取所有數據包是整個審計的基石。採用Linux作為截包的作業系統,其核心是可以定製、修改的。

在Linux一2.4.x以後的版本中,Libpcap是通過核心中pf-packet模組實現其截包和包過濾功能的。數據包直接從核心接收佇列獲取,並傳遞到用戶空間。為了提高截包性能,包過濾採用BPF'(BerkeleyPacketFilter,伯克利包過濾器),他是一種用於Unix核心的包過濾機制,具有非常高的性能。為了減少數據從核心到用戶空間的拷貝花銷,必須在核心中過濾掉不進行審計的數據包,減少數據拷貝,節省的CPU周期可以留給數據包分析使用。完成一次系統調用或從核心拷貝數據到用戶空間(通常是應用程式的快取)的系統花銷是很大的。使用Libpcap-mmap替代Libpcap作為截包庫。Libpcap-mmap是Libpcap的特殊版本,採用mmap系統調用,將數據從核心傳遞給用戶空間。文獻[1]指出採用Libpcap-mmap比標準的Libpcap在截包性能上有所提高。

另一個可能造成丟包的原因是,套用層對數據包分析的周期過長。這個周期指的是,數據包從核心空間拷貝到用戶空間後,套用層對其進行分析、操作等一系列動作所用的CPI.『周期。因此,應該儘量縮短數據包在套用層的處理周期。在網路流量突然增大的情況下,由於在核心中,例如Linux一2.4.20快取數據包的空間最大是65535*2B,數據包分析周期過長,應用程式不能快速讀取核心的數據包佇列,致使核心快取不夠,核心只能丟棄新到的數據包。鑒於網路流量的陣發性,所以增大Linux核心pf-packet模組的接收快取,可以避免這種丟包現象。這也是解決丟包的一種方法。

3.2會話重建技術

會話重建是審計系統中的重要環節。分析數據包的特徵,並基於會話對數據包進行重組,去除協商、應答、重傳、包頭等網路信息,以獲取一條基於完整會話的記錄。基於Libpcap的截包應用程式都是截獲原始的網路數據包。因此,基於Libcap的網路審計系統,必須進行IP碎片重組、TCP數據流的重組。對此,模擬了TCP/IP,協定棧,實現會話重建。會話重建可以有多種並行處理辦法:

(1)對LAN的主機進行分段處理

這種方法均衡性很差,因為各主機的流量很難預測,這會導致有些執行緒忙碌,有些很空閒,多執行緒的效果一般。

(2)真正負載均衡

數據包均衡分發到各個TCP重組執行緒,但這種方法涉及到共享數據的同步訪問,需要互斥機制,這樣就增加了許多系統花銷,還會帶來共享資源的等待問題,這些都'影響了系統的性能,實現起來也很複雜。

(3)會話處理均衡

同一會話的數據交給同一執行緒處理,這樣多個執行緒無需同步,而且負載均衡的效果比方法(1)有明顯的改善,結合了上述兩種方案的優點。

在系統實現中,採用會話處理均衡的方法。經過IP重組的數據包,傳給數據分流器,同一會話的數據包分流到不同的TCP重組引擎進行處理,提高了會話重建的能力。每個TCP重組引擎都有一個自己的數據包緩衝區,存放IP包。緩衝區採用靜態環形佇列,避免了數據同步,且減少了記憶體的分配和釋放的系統開銷,從而提高了整體性能,這是提高並發處理性能的關鍵技術之一。

此外,在模擬TCP/IP協定棧的過程中,使用高效的查找算法--哈希算法也是高效實現會話重建的關鍵之一。

在TCP流的重組中,定義了一個四元組。以這個四元組來構造會話檔案,檔案名稱為:目的地址.目的連線埠一源地址.源連線埠,例如檔案名稱:

191.192.193.194.02566一015.016.017.018.01180

存儲從主機191.192.193.194連線埠2566傳送到主機15.16.17.18連線埠1180的會話內容。.

把數據流存為會話檔案有許多好處:恢復到真實的數據流,可以作為原始數據保留,用於違規審計及事後取證等;在需要會話重現的時候,再進行讀取分析;從檔案名稱可以很直觀得到通信雙方的標識(主機地址)及採用的協定(連線埠號);非常便於運用多執行緒技術進行分析。

3.3多執行緒協定還原技術

在應用程式的開發過程中,使用多執行緒技術有很多優點,多個任務並發執行,可以改善這個系統的性能。

(1)執行緒的系統開銷比較小。

(2)同一進程下的執行緒之間共享數據空間。

(3)在多處理器計算機上實現多執行緒時,執行緒可以並行工作,提高程式執行效率。例如,使用多執行緒技術的網路螞蟻(Netants)是目前最常用的下載工具之一,使用多執行緒技術的grep比單執行緒的grep要快上幾倍。

在套用層的網路協定中,不同的協定通常綁定特定的連線埠號。根據連線埠號,可以得到對應的套用層協定,依據協定的RFC文檔,就可以對多個會話檔案並發處理,進行協定還原。系統中採用負載均衡算法。每個協定還原引擎都有一個BUSY/IDLE狀態位,初始狀態為IDLE,由還原程式主模組進行任務分發,把會話檔案池中的檔案分給IDI。E執行緒,並將該執行緒狀態置為BUSY。當該執行緒完成還原任務後,將狀態置為ID[。E。這樣,多個執行緒可以同時進行協定還原,生成協定檔案。這種算法簡單而且有效。利用這種算法,結合多執行緒技術,實現了}ITTP,FTP,'I'EI.,NE2',SMTP,POP3等協定的分析還原。

4結語

當前,基於網路內容的協定分析還原主要的技術難點在於高效截包的技術上,必須保證零丟包率,或者極低的丟包率,否則會話就無法完整重建,協定還原便無法實現。在百兆的區域網路內,採用Libpcap及BPF過濾技術,高效的模擬的'I'CP/IP重組技術,實現了零丟包率,系統取得了預期的效果。但在1Gb的高速網路,必須尋找新的方法,如數據包零拷貝技術或其它辦法。在Linux下實現截包,網卡中斷調度消耗比較多的CPU周期,對核心進行補丁(RTIRQ),提高調度性能也是一種方法。本文提出的截包技術、會話重建技術及分析還原技術,對基於網路的IDS也具有一定的參考價值。

相關詞條

相關搜尋

熱門詞條

聯絡我們