流量威脅分析系統與Tenable生產實踐
0×01 概要
資訊保安體系構建中流量監聽是一種常見的防護手段,從流量抓取到日誌落地,到日誌分析到威脅報警,相應產品基於流量分析模式,從最上層的處理邏輯來看是相近的,使用Suricata還是Snort處理流程類似接近,最粗暴的理解他們都屬於“大型字串處理過濾系統”。
生產中會使多家廠商的產品配型開源產品使用,或自主開發,無論採用哪種方案,我們都可以抽象出一個共通的頂層流量資料處理模式,典型的流量過濾與日誌分析處理流程。我們有基於Tenable產品的實踐經驗,這種經驗展開也可以橫向擴充套件到其它的同類產品上、開源產品上、自主研發產品上。如果說閉源商業軟體系統和開源社群軟體系統的區別,除了產品本身,產品的生態和後期支援也是不一樣的,我們在開源軟體使用中得到了同行和社群的很多幫助。我們在Tenable的使用實踐過程中,得到專家級的指導,這些對我們使用產品和理解應用產品起到了莫大的幫助。但為什麼要單獨說Tenable呢,因為此係統在設計理念上獨到處,也有很典型的部分,因些我們選擇用這個系統進行舉例說明,流量分析系統一些共性內容。
0×02 基本處理模式
從我們的角度看,流量分析型的安全威脅系統有5個基本任務要完成:
1.流量獲取:如何抓取網路流量內容是首要基礎功能,只有抓取流量資料,得到traffic交通流量,才能去通過應用過濾規則取得威脅事件資料。(上圖值得注意的是我們使用了流量分發裝置。)
2.流量過濾:在流量獲取階段,對資料進行過濾成本開銷比較大,通過對濾過濾條的件設定, 規則 解析,規則下發執行,可在在流量讀取階段對資料進行過濾,異常檢測。問題是過濾規則越多系統效率越低,甚至產生時間瓶頸或是延遲。
3.資料落地:流量獲取階段,分析資料耗時耗效能,如果我們將資料緩衝下來,將日誌資料落地,準實時的分析資料,一方面可以減輕系統負擔, 另外資料落地後可以應用資料分析模型和關聯聚合資料,做基於演算法的更精準的異常捕獲分析,所以要把資料儲存一定週期,資料保持不揮發。
4.資料分析:單純儲存資料不是目的,還要在日誌資料中挖掘出威脅事件的特徵資料,如果流量監聽算先知性預警處理,將風險提前預告防患於未然之中。如果過濾是針對網路流量實時規則配對的,資料分析就是對流量日誌落地後再次深入的資訊挖掘。
5.威脅報警:流量資料作為系統的輸入並不直接產生收益,當系統產生有效的威脅報警,就能體現出系統威脅感知價值,將威脅情況第一時間通知責任相關人,防患於未然。如果主機威脅定位於威脅動作執行階段算“後知後覺”,那在流量監聽規則過濾階段報警,或是在準資料分析階段報警,能不能算是“先知先覺”是個問題。
0×03 “流”經典設計處理模式
我們用“流”的工作模式來解釋介紹流量威脅情報系統的工作過程,用Stream A和Stream B兩個“流”概括系統處理的五個組成部分:
關於流量威脅系統的核心指標:漏報率和誤報率。
漏報率:在Stream A階段進行對流量的過濾 ,可以是與歷史 累計聚合 資料無關碰撞的,如果不考慮黑白名單機制,不進行瞬時關聯統計,過濾是基於 異常 規則碰撞的,而規則是否完備,決定了威脅的漏報率高低,如果不是自學習, 系統的異常規則都是人為來定義的。
誤報率:在Stream B階段,基於Traffic流量規則過濾的威脅預判結論,在一定有限的資料集合範圍的,與規則定義的多少成正比。假定規則完備理想狀態下沒有漏報,但會存在誤報,降低誤報有幾種手段:
1:多個威脅系統報警比較確認。
2:基於聚合數學統計模型進行輔助判斷。
3:特徵標籤打分,積分累計判斷。高於多少分才報。
4:對威脅payload進行第三方庫再確認。
一定還會有其它大類別的方法來解決,對已有報警進行誤報確認的更好方法。規則 策略構建是動態變化的過程。
有些朋友的系統突然被入侵後,我們可以一個環境下部署多個安全系統,A系統和B系統都有基本的威脅異常分析規則,但有些規則是對外不可見的,有的支援自定義外掛,有的不支援自定義規則。系統間的規則有重合或不重合,我們橫向比較系統的報警結果,系統間重合的報警應該是被重示的。資料情況往往是多樣性 ,關聯性的。蜜罐、防火牆、流量分析,同時作用於一個網路環境,對他們來說, 輸入的資料是一樣。他們會從不同的角度發現威脅。如果報警高度重合,就越可能是高威脅。
0×04 流量監聽與蜜罐監聽的異同
蜜罐可以對網路異常行為流量進行一種守株待兔式的監聽, 蜜罐部署利用互動機的埠聚合trunk模式,把不同的VLAN網段中的一個IP聚合到一臺機器的入口埠中。
設定多IP和標記,接收不同VLAN中的流量訪問,ARP級與負載均衡DR模式類似的技術。而監聽流量是要把一定總合的流量推送到不同的監控機,關係形式多對一,多對多。 每 臺監控機上,使用相同的過濾規則,規則與異常行為一對一對應,一個規則對應一個威脅事件ID。在Tenable系統中分為SC、NC。名字是代號,任務內容都是監聽與儲存分析。
0×05 實踐與課題解決
如上所說,威脅分析系統本質是一個“大型字串處理系統“。流量變字串檔案,威脅匹配和檔案就是字串按”規則“的查詢過程。Tenable是一款優秀的產品,特色於具備獨特設計理念和專家支援。Tenable規則系統是面象使用者友好的,使用者可以自定義外掛,增加檢測規則,擴充套件系統的功能。同時其它系統一樣,也要面臨多機部署配置分發的場景,針對這點提出解決方案是,基於Ansible進行自動化分配下發。如果你使用Suricata面臨面樣境遇的話,也可以考慮這種方案嘗試。
對於流量監聽,輔助分析工具必不可少,在除錯裝置、監聽實際流量,可以是使用像Wireshark、TcpDump、WinDump這些工具。Wireshark是經典工具。可以方便的在網上找到類似於《Wireshark網路分析從入門到實踐》這種命名規則的書, 找一本好的出版社出的書,對流量日常分析工作有事半功倍的效用。
關於日誌資料落地之前已經介紹很多,緊的值得關注的是Graylog正式發行了第三版:Graylog3。很多威脅分析系統都使用了ES作資料持久化,Graylog應用ES儲存安全資料相對比較方便,作為一個基於ES的管理資訊系統有自身的特色。
對於最近可能被入侵生產系統影響的朋友,提供一個開源安全系統列表,可以用些對自己的系統進行先期加固: Graylog、Snort、Suricata、Wazuh、Moloch、Ansible、OpenVAS等, 希望可解燃眉之急。
0×06總結
同網路環境下,如何部署多種威脅檢測系統,抽象出核心處理模型,歸納系統關鍵處理任務,是因近期非安全領域朋友遭遇網路入侵事件。突如其來的狀況如何快速選型安全系統部署加固生產環境,快速保護安全資產勢在必行,本文靈感也源於Tenable生產實踐,個人觀點,僅供參考!
宣告:本文來自糖果的實驗室,版權歸作者所有。文章內容僅代表作者獨立觀點,不代表安全內參立場,轉載目的在於傳遞更多資訊。如需轉載,請聯絡原作者獲取授權。