天天看點

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊
https://developer.aliyun.com/topic/download?id=1295 · 更多精彩内容,請下載下傳閱讀全本《Elastic Stack實戰手冊》 https://developer.aliyun.com/topic/download?id=1295 https://developer.aliyun.com/topic/es100 · 加入創作人行列,一起交流碰撞,參與技術圈年度盛事吧 https://developer.aliyun.com/topic/es100

創作人:李捷

最近讀了馬伯庸老師的小說《長安十二時辰》(也有改為《長安二十四時辰》的網劇,之是以改成二十四時辰,我覺得也是非常的不認可原著裡面的時間觀念吧?

别說是十二時辰,即便是二十四時辰,我還是認為也不可能這麼短的時間内構築這麼多事情,這是一部以唐朝為背景,講述短短二十四小時内發生在長安城内,攻防雙方圍繞入侵 & 防禦、檢查 & 規避、攻擊 & 應對 等系列主題,展開的一場場驚心動魄故事的小說。

這不僅讓我想到了最近一直在研究的 SIEM/SOC 的建設,特此有感,寫下本文。

攻防演練的悠久曆史

圍繞我們安全的主題,特别是具體到企業内部的安全建設,其實對我們絕大多數人來說,并不像想象中的那麼的陌生和遙遠。細想一下,如果把企業想象成一座城堡的話,攻擊方和防守方之間的反複較量,其實就相當于一場持續的、沒有硝煙的城堡攻防戰争。就像小說《長安十二時辰》裡面的故事一樣,事情都會圍繞長安城這座城市展開。

現實中的現代網絡攻防,和曆史上的古典城堡攻防事件是類似,對于一個“城堡”的攻防雙方來說,從理念和需具備的能力上來講沒有什麼新的東西,一切都有迹可循,我們完全能從曆史的長河中發現已有的案例,來對标正在發生的事情;也可以在曆史中進行歸納總結,得出城堡攻防的關鍵因素,用于指導現代的網絡攻防。

安全分析&網絡攻防的本質

我相信,雖然馬伯庸老師在準備這本小說的時候,查閱了大量的資料,參考文獻、古籍,甚至是去西安實地考察了很多回,但是他一定沒有去學習過,如何建構一個安全資訊和事件管理系統(SIEM),或是如何建設一個安全營運中心(SOC)。

但讓我特别驚奇的是,馬老師在寫這樣一部曆史玄幻類小說的時候,居然完完全全的描述出了現代網絡攻防雙方,所需要到的各種能力和技術。特别是守城一方,在《長安十二時辰》中,馬老師大量描述了作為守城方的靖安司所建構的系統,非常獨創的杜撰出了一些在唐代不可能具備的能力,但又是現代攻防中必須具備的實實在在的能力。

安全是一個資料問題

首先,安全的本質是一個資料的問題,我們隻有對企業内外部,所有的安全關聯資料都擁有可見性的時候,才能夠有效檢查、有效的追蹤、有效的分析,然後才能揪出漏洞、滲透、入侵,進而采取行動進行補救、緩解、修複和應對。

是以,我們可以看到,在《長安十二時辰》中,馬伯庸老師為主管城防的靖安司配備的第一個能力就是大資料,其最大的特點之一是它是一個巨大的文庫,可以随時查閱朝廷各部的文書資料,施展大案牍術做大資料的搜尋。

而在安全裡面,建構一個安全的大資料系統也是第一要務,這也是現在 SIEM 和 SOC 的底層核心。安全大資料具有以下要求。

安全資料 —— 不能有盲點

在小說裡面,我們可以看到,細到每天進出長安城的人口,貨物都有記錄,分門别類,記錄登入時間,停留地點,貨物類型。并且,這些資料都是長久存儲的曆史資料。是以,我們看到靖安司的全面資料,幫助主角快速查到了突厥狼崽行蹤、查到猛火雷原料的去向。

是以,對于企業攻防來說,有全面的資料是開展安全工作的主要前提,無論是即時發現,還是事後追溯,還是可疑事件的威脅捕獲,還是用于模組化分析的異常檢測,都需要全面的實時資料和全量的曆史資料。

是以,全面和不能有盲點是指:

  • 采集的資料要全
  • 儲存的資料要久

安全資料 —— 要有規範,且能關聯

在小說裡面,靖安司不僅有大量的門禁資料,而且可以随時查閱朝廷各部的文書資料,這裡涉及到大量資料的了解和關聯的問題,其中有個情節,就是将戶部的物品采購記錄,結合城門的出入記錄,發現了突厥狼衛偷運的猛火雷原料的問題。

通過小說我們不難發現,資料的整合分析是一件非常重要的事情。在現在企業内部,我們有不同的域,也有大量的網絡裝置,安全裝置,資料來自不同的廠商、不同的部門。安全部門要能夠通讀這些資料,首先就要有一個統一的資料規範和标準,對不同日志提取出來的字段,有一緻的解釋、命名和類型,然後,要具備跨資料源的關聯分析能力。這樣,資料才不會成為一個個的資料孤島,能夠協同。《長安十二時辰》裡面雖然沒有特别強調和描述,但是其設定和從曆史古代文書的規範看,就是靖安司(朝廷)必須具備良好規範的資料,并且能夠随時調取,并關聯分析。

資料系統要有快速分析和處理資料的能力

在小說中設定我們擁有足夠的資料是比較輕松的事情,但大資料的處理能力,卻無法通過大資料系統來提供。馬老師在《長安十二時辰》中的設定,是通過最強大腦來提供大資料的處理能力,靖安司中的徐賓能夠過目不忘,能施展大案牍術做大資料的搜尋,他作為小說中前期的關鍵人物,在數個場景中通過強大的腦力,快速的找到資料裡關于案情相關資訊的記錄,是推動劇情的關鍵。是以,安全分析系統必備的能力是要能在海量資料中進行快速檢索。

注意,這裡強調的點有兩個:一是海量資料,前面我們說過了,資料要全面且要儲存足夠長時間。第二個是速度,速度是關鍵,天下武功唯快不破,對于安全攻防,速度直接代表了金錢,代表了挽救大廈于将傾的能力。無論是規則引擎的事件掃描,還是威脅捕獲時的即興搜尋,都需要查詢速度作為支撐

Elastic Security 的大資料基礎

整個 Elastic Security 以 Elasticsearch 為基礎來建構。我們通過 Elastic Security 來建構企業SIEM 或者 SOC 的時候,就可以很輕松的應對安全大資料的問題。

  • 首先,Elasticseach 本身是一個分布式的大資料搜尋引擎,天然具備橫向擴容的能力,可以存儲海量的安全資料;
  • 并且 Elasticseach 以 json document 的形式存儲資料,具備動态可變的 schema/mapping,可以靈活存儲不同類型的結構化資料和非結構化資料,并随意添加新的字段,使其能夠吸納任意來源、格式、類型的安全資料;
  • 而對比其他具備搜尋能力的大資料系統,Elasticseach 的優勢在于首屈一指的全文檢索、模糊查詢能力,結合豐富的多元分析能力,内置的機器學習能力,高并發的支撐能力,再加上海量資料的毫秒級查詢響應,使得 Elasticseach 能輕松應對安全大資料分析的工作。
讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

除了避免資料盲點和提供足夠的資料分析能力,其實對于建構 SIEM 或者 SOC 的一個重要考慮因素是機關資料的存儲成本。

可以明确的一點是,安全運維資料,絕對是一個非常龐大的資料集,它包含來自不同域的資料(生産域,辦公域,網際網路域等),來自不同裝置的資料(應用,硬體,網絡,資料庫等),并且因為回溯和審計的需求,可能需要儲存很長的時間。迫于成本,我們可能會放棄部分資料,進而造成某些事件不可見或不可回溯、審計的問題。

而在最新的 Elasticsearch 7.10 版本上,我們提出了一個完美的解決方案,通過資料層和可搜尋快照,我們能以極低的成本來維護所需的所有安全資料

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

安全建設需要對内外部環境梳理

馬伯庸老師為靖安司配備的第二個能力,就是将其設為一個内外部資料和情報的中樞。

内部環境的梳理

小說中有一重要的概念,就是長安城“108坊”,靖安司内有長安城的沙盤模型,坐在屋子裡,就能俯瞰長安全城。要把整個長安城的所有建築,通道,馬路,下水道都梳理清楚不是一件容易的事,并且這些資産還是可變的,可能有變動,有新增,有删除,雖然不易,但卻必須。靖安司建構的這個沙盤模型對于快速的檢查安全隐患,分析對手意圖、潛入方式、攻擊手段等,都有至關重要的作用。

同樣,企業内部要能夠梳理所有的安全資産、拓撲和漏洞:

  • 知道自己擁有哪些資産,動态掌握資産的資訊
  • 厘清楚企業内部的各種邊界和域環境
  • 明了這些資産在不同域中的上下遊網絡鍊路和通道
  • 同時,能進行漏洞掃描,知道哪些資産上存在隐患

通過梳理這些資料,再結合我們之前談到的安全資料(安全資訊和事件),我們才能夠做到知己知彼。了解自身的結構,有針對性的進行補救和補強,再去分析對手的可能行為,對核心資産和邊緣資産進行不同級别的有效防護。

外部情報的彙入

僅了解自己是不夠的,還需要足夠的了解對手,方能做到百戰不殆。小說中,靖安司不僅有長安城的所有資訊,還掌握着長安城外的所有情報(對手情報),在突厥狼衛的劇情中,能夠及時調閱和突厥相關的資訊,了解到突厥可汗,突厥宰相和突厥狼衛的關系,方才知道幕後另有黑手。在現代安全攻防中,外部的威脅情報同樣重要,比如,最新釋出的零日漏洞,最新威脅的檢測方式,最新的黑 ip,黑 url 等各種威脅情報,都是我們了解對手攻擊,進行有針對性防禦的重要資訊

Elastic Security 對安全環境的梳理

Elastic Security 通過 Elasticsearch 強大的資料吸納能力,以及豐富的開箱即用的資料源,和Kibana 上建構的基礎架構分析能力,能夠有效的幫助掌握内部動态、實時的安全資産資訊

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊
讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊
讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

同時,通過功能強大的資料攝入子產品,可有效的豐富和完善内外部威脅情報

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊
讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

完善的監控體系和有效的資訊傳導

馬伯庸老師為靖安司配備的第三個能力是望樓體系。

靖安司在長安城的中心,有一座非常高大的建築叫大望樓,它是望樓體系的核心,圍繞大望樓,在整個長安城内一層層的分布着很多小望樓,每個望樓上都有士兵,可以通過旗和鼓聲打出暗号,在整個長安城内傳遞資訊。正是有了這個詭異的設定,整個故事才可以架設在十二個時辰的設定上。

這裡給我們帶來的啟示點是:

  • 是安全的檢測和響應必須要具有實時性,安全事件能夠在不同的端點,部門進行快速的流轉,并形成閉環
  • 另外要有安全的進行中心,能夠統一的快速發起安全相關事件的處置和響應

是以,建構一個 SIEM/SOC 就是我們企業的靖安司,能夠彙聚跟安全相關的資訊,一旦檢測出安全問題,能夠通過這個安全營運中心中的“大望樓”,快速的下發相關操作。

比如,告警快速觸達相關的安全分析人員進行告警分析,确認是否是需要處理的安全事件;當确認安全事件後,可以快速的更新,觸達到對應的業務,網絡,機架等部門進行安全處置和響應,有一個整體且閉環的完成安全運維流程

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

SIEM/SOC 三要素 —— 人、技術、流程

保衛長安光有個靖安司是不夠的,靜安司的核心并不是這個機構本身,而是其中的人,技術和流程。

企業安全需要仰仗具備不同能力的安全人員

在小說中,如果沒有李泌(主角,Security Director/SOC manager),張小敬(主角,Security Analyst), 徐賓,姚汝能(Security Architect/Engineer)等人去規劃,執行對應的安全工作,是不可能有最終的對抗勝利的。

我們要始終把安全建設,看成是一種攻防對抗的行為。所有的安全設施都隻是工具,是讓防禦方用來抗衡入侵方的工具,不是依仗的主體。關鍵還是人和人之間的對抗,安全人員必須劃分不同的角色,具備不同的技能。我們既要有安全的主管,又要有捕快;既要有防禦工事的勞工,又要有巡邏的士兵;

安全人員的思維方式

在小說中,主角李泌和張小敬,從突厥狼衛,到守捉郎,再到蚍蜉,再到最後的幕後黑手。一直的思維方式就是居安思危,一直假設有更加深層次的威脅,才最終能讓幕後黑手浮出水面。做安全的,無論是在古代還是現代,永遠不能有萬事具備,高枕無憂的想法。

以下幾點是現在面向各種APT攻擊的安全人員必須具備的思維方式:

  • 假設侵入已經存在
  • 以檢測(Detection)為導向的防禦
  • 聚焦于漏洞利用階段 (post-exploitation focus)
讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

其實,這也是警示安全人員,千萬不要沉迷于對已知威脅的防禦,那隻是工具該幹的事。一個城堡總會有意向不到的漏洞,安全裝置的邊界防禦固然重要,但這隻是基礎,而被滲透是必然,安全人員的工作重心應該是對可疑事件和未知威脅的捕獲

必須組建威脅捕獲團隊

是以,我們看到,在《長安十二時辰》中,整個故事是以李泌和張小敬為主的安全團隊,主動出擊為引線而展開的。最有效的防禦從來不是被動式的,所謂進攻就是最好的防禦,無論是以前還是現代,我們都需要有四大名捕這樣的捕快能主動出擊,針對各種可以的事件,主動探查蛛絲馬迹背後隐藏的資訊,在一次有計劃的攻擊(Kill chain)完整完成之前,将其找出,并終止。

當然,現在不是每個企業都有足夠的人力和資源去組建威脅捕獲團隊,但在财力允許的情況下,這是必須放在日程上的一件事。因為你的對手可能是處心積慮以企業為目标的黑客,這是一場腦力的對決,一個貓鼠的遊戲,不是僅僅依賴購買幾個裝置和工具(捕鼠夾)就能穩操勝券的對局。

當然,我們仍然要為威脅捕獲團隊配備即興搜尋所需要的高效分析工具:

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

技術的對決

在現代的安全攻防中,不僅僅是腦力的對決,也是一場技術的對決,攻防雙方都可能使用最新的技術,窮盡不同的方法,嘗試去達到各自的目标。黑客也會使用雲技術,也會用大資料,用機器學習生産 DGA 算法,會發動大量的僵屍機、殭屍電腦進行飽和攻擊,同理,防守方也需要掌握對應的技術,進行有效的檢測和響應。EDR,NTA,UEBA 都是建構 SOC 必須具備的技術能力,而 MITRE ATT&CK 則是知識庫,幫助我們更好的了解對手的政策,技術和流程。

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊
讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

能夠閉環處置的流程

在《長安十二時辰》中,我們也看到,整個長安城的安全,絕不僅僅是靖安司一個部門就能保證的。在不同的場景需要不同部門的參與,比如最終的燈會,我們看到有戶部,工部,旅贲軍,右骁衛,龍武衛,禁軍等各個部門都需要參與其中,戶部安排群眾的出遊時間,路線;工部負責燈會工程的建設,旅贲軍,右骁衛,龍武衛,禁軍有各自的防禦任務,靖安司處置安全事件,需要其他部門的配合,否則就根本沒有辦法在熙熙攘攘,複雜運轉的長安城中有效保證安全。

回到我們的現代網絡攻防,當我們發生一個安全事件的時候,絕不僅僅是安全部門的事情,會涉及到業務,機架,網絡,中間件,運維等不同部門,隻有形成一個能閉環處置的流程,由安全發起,到最終安全檢驗完成,中間通過很多部門的配合才能夠完成時間的處置。是以,有一個行之有效的閉環流程非常的重要,我們在建構一個 SIEM/SOC 的時候,就需要工具有這樣的能力:能發起工單,對接企業内部的流程系統(ITOM),能設定合理的權限,能讓不同的部門在統一的資料上協作。才能讓流程有效運作起來

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

而在單一系統上建構這樣的能力,更是能夠事半功倍

讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊
讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊
讀《長安十二時辰》有感——SIEM/SOC 建設要點—Elastic Stack 實戰手冊

SIEM/SOC 的建設的注意事項

通過分析《長安十二時辰》這個小說裡面描寫的驚心動魄的古代長安城的攻防場景,我們可以更加直覺的了解到現今企業安全攻防,特别是現在國家級别黑客組織的興起,各種 APT 組織,使用更為完善的攻擊工具,更為系統的社交工程,更為豐富、複雜、耐心的攻擊方式和鍊路,讓我們的企業安全面臨極大的挑戰,就像《長安十二時辰》裡面,一層套一層的攻擊,不到最後,你都不知道究竟是誰在攻擊你,究竟他潛伏了多久。

對手在持續的進步,持續的發展,是以,一個 SIEM/SOC 的建設也是一個持續優化和改進的過程。并且這裡必須是人、技術和流程三位一體的持續改進,如果沒有持續的投入是很難獲得成效的。

可以檢視Elastic Security 7.10上的最新功能,了解 Elastic Security 帶給我們的新能力。

Elastic Security 7.10: https://www.elastic.co/blog/whats-new-elastic-security-7-10-0-correlation-cloud-visibility-detection

創作人簡介:

李捷,專注于 Elastic Stack 的解決方案的設計和咨詢。13 年軟體行業從業經驗,從嵌

入式開發,到後端 J2EE 應用和前端界面開發。從爬蟲腳本,到區塊鍊和大資料分析。

從開發工程師,到測試工程師和項目經理。 擁有全棧開發經驗和豐富的項目實施經驗,

同時也是一個活躍的知識分享者和社群活動者。

部落格:

https://lex-lee.blog.csdn.net/