網路行為審計技術深度解析

weixin_34219944發表於2010-09-21

【引言】本文在去年初以系列文章的形式在部落格上進行過發表。現在重新整理一次,並修訂一些內容。

概述
    網路行為審計,Network Behavior Audit,國外更多的叫做Network Behavior Analysis, Network Behavior Anomaly Detection (NBAD)。當然,絕不是National Basketball Association。這是一個新生事物,即便國外,出現的年頭也不長。無論怎麼稱呼,其目的都是通過分析網路中的資料包、流量,藉助協議分析技術,或者異常流量分析技術,來發現網路中的異常和違規行為,尤其是那些看似合法的行為。並且,有的產品在該技術上進行擴充套件,還具有網路行為控制、流量控制的功能。
      網路行為審計是安全審計中較為重要的一種技術實現,其他安全審計技術還包括日誌審計技術、本機代理審計技術、遠端代理審計技術,具體可以參見這個文章
      NBA的實現有多種方式,其中有兩個最重要的分支:
 

  1. 基於*Flow流量分析技術的NBA:通過收集網路裝置的各種格式的Flow日誌來進行分析和審計,發現違規和異常行為,傳統的網管廠商很多開始以此為進入安全的切入口;而安全廠商則將其歸入的範疇。
  2. 基於抓包協議分析技術的NBA:通過偵聽網路中的資料包來進行分析和審計,發現違規和異常行為,傳統的安全廠商很多以此作為進入審計領域的切入點。

      
基於抓包協議分析技術的NBA

抓包型NBA技術及產品型別說明
    抓包型網路行為審計(NBA)根據用途的不同、部署位置的不同,一般又分為兩種子型別。
 

  • 上網審計型:審計網路內部使用者訪問網際網路的行為和內容、防止內部資訊洩漏、使用者違規行為,提升內部網路使用者網際網路上網行為的效率。
  • 業務審計型:對網路中重要的業務系統(主機、伺服器、應用軟體、資料庫等)進行保護,審計所有針對業務系統的網路操作,防止針對業務系統的違規操作和行為,提升核心業務系統的網路安全保障水平,尤其是資訊和資料的安全保護能力,防止資訊洩漏。

    從上面按用途劃分的定義可以看出,他們是兩類不同的產品。上網審計的物件是使用者及其上網行為,而業務審計的物件是核心業務系統及其遠端操作。正因為如此,他們部署的位置有所不同。上網審計NBA應該部署在網際網路出口處,而業務審計NBA則就近部署在核心業務安全域的邊界(一般是核心業務系統所在的交換機處)。
    下面是兩類產品在技術層面的定義:
 

  • 上網審計型: 硬體裝置,旁路/串路方式部署在使用者網際網路出口處。通過旁路偵聽/資料包文截獲的方式對內部網路連線到網際網路(Internet)的資料流進行採集、分析和識別,基於應用層協議還原的行為和內容審計,例如針對網頁瀏覽、網路聊天、收發郵件、P2P、網路音視訊、檔案傳輸等的審計。可以制定各種控制策略,進行統計分析。
  • 業務審計型:硬體裝置, 採用旁路偵聽的方式對資料流進行採集、分析和識別,實現對使用者運算元據庫、遠端訪問主機和網路流量的審計。例如針對各種型別的資料庫SQL語句、操作命令的審計,針對Telnet、FTP、SSH、 VNC、檔案共享協議的審計。管理員可以指定各種控制策略,並進行事後追蹤與審計取證。

    從上面的定義,可以很清楚的看出來兩種型別的異同。從技術架構上講,他們是一樣的,都是抓包引擎加管理器。但是從具體的技術細節來看,他們之間的差異是顯著的。

差異分析

  • 上網審計型系統分析的協議都是網際網路上常用的應用層協議,例如P2P、郵件、HTTP、音視訊、網路遊戲等,同時,為了進行更為精確的審計,還需要再深入一步,分析協議的內容,例如要能夠分析WEB MAIL和WEB聊天室的內容,分析MSN的聊天內容。因此,一個好的上網審計型NBA必須要有一個巨大的、不斷及時更新的協議分析庫。這個難度是挺大的,因為這些網際網路應用協議具有種類多、變化頻繁的特點,並且不會提前通知開發廠家,最明顯就是音視訊、網遊、聊天室。更加的,即使針對HTTP協議,還要分析出163郵箱、sina郵箱、yahoo郵箱之間的區別。這是一個苦力活。也是產品的核心技術點。
  • 業務審計型系統分析的協議基本上都是區域網中常見的應用層協議,並且與業務系統密切相關。例如TDS、TNS等資料庫訪問協議,FTP、TELNET協議,HTTP、企業郵箱協議(IMAP、STMP等),等等。對於業務審計型NBA而言,協議種類相對比較固定,並且協議版本比較穩定,比較易於實現。
  • 對於上網審計型NBA,還有一個重要的技術點就是網頁分類地址庫,就是一個巨大的地址庫,裡面對網際網路的網址進行分門別類。用途就在於控制某些使用者可以訪問哪些類別的網站,不能訪問哪些類別的網站。例如:上班時間不能上游戲網站,而午休時間可以上,等等。
  • 對於業務審計型NBA而言,其核心技術不在於複雜的協議分析,而在於協議分析之後,對生成的歸一化的事件(event)進行二次分析,通過關聯分析的技術手段,發現針對業務系統的違規行為,將事件變成真正的事件(incident),或者叫告警。例如,發現某賬戶在某時間段內頻繁的查詢核心的客戶資料資料庫,從而及時告警,並告知管理員該異常賬戶的行為,可能該客戶正在下載客戶資料。要實現這種行為的發現,光靠協議分析是不夠的。協議分析只能將這種行為對應的零散的資料包文截獲出來,並變成一條條的事件,可能是100條。而只有通過事件關聯分析,才能將這100條時間轉化為有意義的incident告警資訊。


關於資料庫審計
     可以說,資料庫審計是業務審計在實現功能上的子集。先看看業務系統的定義:
    “業務系統是由包括主機、網路裝置、安全裝置、應用系統、資料庫系統等在內的多種IT資源有機組合而成的。”
    因此,針對業務的審計就要對構成業務系統的各個
IT資源之間的訪問行為以及業務系統之間的操作的審計。只有通過審計構成業務系統的各種IT資源的執行行為才能真正反映出業務系統的安全狀態。
   
我們說,面向業務的安全審計系統不單是一個主機審計系統、也不是一個單純的網路審計或者資料庫審計系統,而是他們的綜合。而資料庫審計主要就是針對業務的核心——資料庫的審計。

關於運維審計(堡壘主機)
      運維審計,也叫做堡壘主機,主要是針對網路內部人員訪問重要伺服器、主機、網路及安全裝置的行為(尤其是加密協議訪問行為)進行審計的技術。除了進行訪問操作的行為及內容審計,還具備使用者授權、訪問控制、單點登入的功能,能夠大大減輕伺服器及裝置管理人員的帳號維護負擔,並能夠實現基於自然人的操作審計和責任認定。
      運維審計產品可以看作是業務審計在技術實現上的一個變種。傳統的業務審計都以旁路部署的方式來進行網路包偵聽、協議解析還原和審計分析。而運維審計則是以應用層代理伺服器的方式進行部署,獲取應用層網路協議,進行還原分析,在重新打包提交給目標主機。他們都是基於應用層協議分析DPI的,只是部署方式有區別。真是由於代理的部署方式,使得運維審計能夠對SSH、RDP、SFTP等加密協議進行解析還原(因為有金鑰),從而擴大了傳統業務審計的審計範圍。

綜合網路安全審計的解決方案
    在真實的案例中,上網審計NBA和業務審計NBA(包括資料庫審計、運維審計等)可以聯合部署,達到綜合安全審計的效果。上網審計部署在整個網路安全域的邊界,業務審計部署在核心業務系統安全域邊界。然後,通過一個統一的管理中心,將這個系統的告警資訊彙總到一起,讓管理員實現全網統一的網路安全審計。

上網審計和業務審計的融合
    那麼,兩類產品可以融合到一起,變成一個產品嗎?我認為沒有必要,因為他們針對的需求定位是不同的,技術細節也是有區別的,如果合一,不好部署,只能部署到核心交換機上,同時審計使用者上網行為和保護核心業務系統,對裝置效能是個挑戰,會力不從心,簡單的問題反而變複雜了。我的觀點是:只要做到方案級別的整合就夠了,畢竟兩類產品可以獨立發揮功效,滿足客戶某一方面的需求。

抓包型NBA與IDS的聯絡

      國內網路安全業界多采用抓包方式來實現NBA,與IDS的工作方式很相像。因此,在國外,很多人將這種NBA叫做EDS:Extrusion Detection System。這個名詞比較形象地表明瞭NBA和IDS之間的聯絡和區別。
    他們都是採用抓包的工作方式, 採用旁路偵聽的方式進行工作, 部署十分方便,即插即用,不必對業務網路配置做任何更改,對業務網路沒有任何影響。
    工作的時候都需要用到協議分析技術、特徵/策略匹配技術,遇到威脅可以實時阻斷,違規/違規過程可以回放取證。

    NBA和IDS的產品架構比較類似,一般都分為引擎和管理器兩個部分,引擎負責抓包、協議分析、特徵/策略匹配等底層功能;而管理器則負責資料分析、規則定義、告警設定、介面互動等上層功能。兩個部分通常分開為兩個實體組成。不過,隨著使用者需求的發展,有一種趨勢是將上述兩個部分合到一起,即一體化的 NBA裝置。對於使用者而言,產品實施無疑更加便捷。

抓包型NBA與IDS的區別

 

首先,此種NBA是應用層協議分析,因為他關注的是對被保護物件資產的各種違規業務操作,例如telent、FTP、資料庫訪問、HTTP訪問,等等。而(傳統的)IDS主要是應用層之下的協議分析,因為他關注的是對被保護物件資產的各種***行為。誠然,現在的IDS也開始進行應用層協議分析,但是分析應用層協議的目的是為了發現***行為,例如MSN的釣魚行為,等等。

因此,他們最本質的區別就在於IDS是檢測***,而NBA是審計使用者/遠端操作。IDS有一個***特徵庫,需要不斷被動的升級;而NBA定義了一個使用者操作規範庫,說明什麼是合法的行為,那麼只要是違反這個規範的行為就會被發現。通俗地講,IDS的規則庫是一套黑名單庫,寫滿了什麼是不對的,總是後發制人;而NBA的規則庫是一套白名單庫,簡潔的列出了什麼是允許的,保證先發制人。下面是兩條NBA規則庫的表述性示例:

1)單位規定:所有對資料庫的訪問只能來自於中介軟體系統所在的IP1,並且只能通過midware賬戶進行訪問,而管理員admin賬戶只能從維護終端IP2訪問資料庫,其他行為都是違規的。

2)單位規定:任何資料庫管理員帳號都不能讀取資料庫中工資表的員工工資欄位,只有財務的小李可以從他的機器(IP)通過工資管理系統進行訪問。

很顯然,NBA在工作的時候,會分析應用層協議,並將不符合規則庫的操作行為記錄下來。這種分析的效率將會很高,因為白名單技術確保了規則不會很多,並且相對保持穩定,通常只會跟隨業務的變化、或者是使用者許可權的變化而變化。
 

    正是由於上述本質區別,使得NBA更加貼近使用者的業務系統,唯有如此才能真正保護使用者的業務系統不受違規行為的干擾,而這些違規行為往往來自網路的內部!而一旦與業務掛鉤,NBA系統的複雜度就立刻上升,尤其是NBA的管理器部分遠比IDS的管理器要複雜。
    首先是規則更加複雜,不是簡單的字串匹配,而是更為複雜的匹配,涉及到多個變數,不僅包括源IP、目的IP、源埠、目的埠、使用者名稱、帳號、(協議)操作型別、操作內容,等等。
    其次是匹配之後的資料分析更加複雜,不是簡單的告警和阻斷,而是需要進行二次資料分析,也就是針對引擎產生出來的各種歸一化的事件資訊進行實時事件關聯分析realtime event correlation analysis。這種關聯分析,不是一般的關係型資料查詢語言能夠完全達成的。

基於*FLOW流量分析技術的NBA
    這類NBA技術和產品通過採集網路中(尤其是核心網路)交換機、路由器等的flow流量日誌,進行行為分析,發現違規和***。
    一個Flow(流)日誌裡面包括了Flow的起止時刻、包位元組數、源/目的IP、源/目的埠,以及其他一些TCP報文資訊。
    通過分析這些Flow日誌,可以以建模的形式建立起網路中的行為模型,從而得知某個IP的應用層協議流量分佈,找尋網路中某個IP的非法或者違規行為。
    Flow有多種格式,最典型的有三種:NetFlow、SFlow和IPFIX。在國內,還有就是華為、H3C的NetStream流。這些流日誌格式各有不同,但是承載的內容都大致相同。

為什麼需要Flow分析,它與抓包型NBA的異同

     因為對於核心的路由、交換裝置而言,他們每天工作過程中收發的資料包文量是巨大的,通過採集這些裝置產生的摘要性報文資訊(Flow日誌),可以以一種比較經濟的方式獲得網路行為資料,從而進行行為建模、分析和審計。而如果通過抓包方式去做的話,那麼這個用來做抓包分析的裝置的硬體效能將可能需要與核心路由交換裝置相當,成本一定會很高。這也是Flow分析型NBA存在價值。
    當然,Flow分析型NBA的審計深度不如抓包型NBA,因為Flow日誌是摘要資料,資訊不全,同時,行為建模的過程中存在很多模糊匹配的過程,不夠精確。因而,Flow型NBA適合做全網行為的統計分析和趨勢分析,而要針對某個安全域中特定的網路行為(例如上網行為、資料庫操作行為,等等)進行審計的話,抓包型NBA則更勝一籌。
    我們進一步加以闡述。Flow日誌是摘要資料,應該好理解。既然是摘要,資訊一定不全,就會影響到審計的精確性,也不難理解。Flow型NBA的行為建模過程的模糊性是指在通過Flow日誌進行行為建模的時候,需要通過一個特徵庫來進行匹配,以便將TCP流資訊轉換成應用層行為資訊。例如,Flow日誌不會說某個資料包是HTTP協議還是SMTP協議,但是會提供一個TCP埠號。因此,通過一個相對固定的埠知識庫,可以將某個資料包對映為HTTP包,另一個資料庫包對映為SMTP協議包,以此類推。再高階一些,通過分析連續時間內的多個資料包之間的關係,可以判斷出一些異常的資料流,從而推測出某些異常的行為。總之,Flow型NBA的分析審計過程是存在模糊性的,不能確保準確。這也是為何適於做行為統計和整體趨勢分析的原因。
    另外,Flow型NBA是地道的行為審計,而抓包型NBA除了可以做行為審計,還能夠做內容審計。也就是說,抓包型NBA不僅知道誰在執行HTTP操作,還知道他訪問了那個URL,甚至網頁的內容也能知道。
    因此,Flow型NBA與抓包型NBA適用於不同的場合。

技術應用
    本質上講,NBA技術是一類跨網管、安管的技術,是網管與安管融合的一個具體例證。
    目前,Flow型NBA更多是傳統的網管廠商在做,而國內的安管廠商則利用其在IDS上面的技術積累從事抓包型NBA的研製。
    國外的情況也大致相同。
    最後,我們要提一下,NBA和SIM產品具有很多相似性和共通性,他們天生就是一對,協作實現了全網的事件(日誌)收集、分析和審計。

國內外的NBA技術與市場走勢

國外

    NBA這個詞最早就是被老外提出來的。在國外,NBA中的A一般都稱作Analysis,比較中性。我能夠找到的就是200599Gartner出版的一份報告《Use Network Behavior. Analysis for Better Visibility Into Security and Operations Events》。為此,Gartner還為它專門建立了一個分類。相比之下,Yankee集團對NBA的研究更加熱衷一些。作為對IDS的必要補充,NBA一開始就是針對DLP(資料洩漏保護,Data Leakage Protection)這個話題。NBA是一種跨安全管理和網路管理的技術,它借鑑了網路管理中的流量分析技術,又借鑑了安全領域常用的協議分析技術,成為了傳統網路安全檢測裝置的有益補充。下面這幅圖是2007Yankee集團對NBA技術發展趨勢的分析判斷。

在業界的追捧下,NBA技術得到了很快的發展。由於NBA自身技術的多樣性,很快形成了各種分支。尤其因為NBA技術跨網管和安管的特性,加入這個市場的玩家既有網管廠商,也有安管廠商。天生地由於思路上的差異,各自推出的產品差別還是很大的。很快,由於防範內部威脅的需求不斷增強,NBA出現了一個重要的分支——DAMDatabase Activity Monitoring)。DAM技術起初就是通過網路抓包來分析基於網路的資料庫操作行為,漸漸地,為了更加全面的保護資料庫,DAM技術又增加了通過資料庫日誌、資料庫代理等技術來完善對資料庫的保護。到後來(2008年開始),DAM已經脫離了NBA,和NBA地位平齊了。

      在2007年,Gartner釋出了一個名為《Select the Right Monitoring and Fraud Detection Technology》的重要報告。Gartner的幾個領域的分析師們湊在一塊寫出了這個報告。相關的技術被分為了五類:

1)  資料庫行為監控(DAM):NBA的衍生,從普遍協議分析到資料庫協議分析;

2)  內容監控和過濾(Content Monitoring and Filtering,簡稱CMF):也是NBA的衍生,從行為深入到內容;

3)  NBA:(注:這個報告中對利用NBA進行資料庫操作分析的闡述我並不是完全認同的

4)  欺詐檢測

5)  SIEMNBASIEM也是親戚,這個我們以後還會詳談)

      根據這份報告,NBA的定義成形了(NBA allows security and network personnel and inline devices to monitor and alert on network traffic or packet anomalies)。並且,DAM被從NBA中分離了出去,Gartner也為DAM專門建立了一個分類。

      說到NBA的定義,這個不錯。

      從2008年開始,NBA技術逐漸成熟,並且不斷地衍生,成為其他新產品的必要技術組成部分。Q1Labs將它與SIEM結合,而Mazu則被Riverbed收購。漸漸的,Gartner不再將NBA列為熱門技術,轉而大力研究DAMSIEMCMF了。但是,NBA的實質內涵和技術作用一直沒有消褪,這項技術現在依舊很有用。Yankee2008年的一項調查顯示,被訪者(美國公司)中有38%已經部署了NBA

 

國內

      回到國內,基於NBA的抓包技術,國內最火的就是獨具特色的上網行為審計/管理產品,國情使然。此外,基於NBA的資料庫抓包技術,DAM(國內叫資料庫審計)產品也出現了。還有,網管廠商從Flow日誌入手,開發出了輕量級的NBA產品(流量日誌分析產品)。可以看到,雖然沒有明確的NBA產品,但是它的變種很壯大,上網行為審計市場沒有人分析統計過,我想肯定不小。

    由於國內技術總體發展滯後於國外,國內NBA興起的時候,國外NBA技術已經開始分化,因而,國內就沒有形成過穩定的NBA的定義,一開始就是花樣繁多的。現在,上網行為審計、資料庫審計產品所包含的技術特徵已經超越了NBA的基本技術,融合了更多的其他技術。例如閘道器控制技術、日誌分析技術,等等。

 

關於未來

    NBA會成為一個基礎性的技術,其本質的DPIDFI技術會被其他各類產品所廣泛採用。國外,獨立的NBA產品恐怕會越來越少,有也很可能是準備被收購的。大型的和專業的安全廠家以及網路廠家會擁有這項技術,並體現在其產品中。NBA會成為網管和安管的一個技術交匯點。並且,網管和安管廠家應用這項技術的目標一定會有差異。網路管理員和安全管理員都需要做網路行為分析,但是目的是不同的。

      在國內,NBA會幻化為多種產品形態,核心的就是上網行為審計(或上網行為管理)和資料庫審計(或叫業務審計)。為了加強控制性,還會出現閘道器型的產品,例如針對應用層協議分析的流控產品,一種與傳統的QoS流控不太相同的產品。

相關文章