【紅藍對抗】大型網際網路企業安全藍軍建設
最近幾年一直在做網路安全攻防相關的工作,從威脅情報、DDoS攻防、風控基礎技術攻防、APT紅藍對抗等方向,基本覆蓋了基礎安全的幾個主要場景,算是泛藍軍相關的內容,目標都是以攻擊帶動促進安全建設。 從實際專案來看,很多攻防的需求,前期都是因為現狀不清晰、防護檢測效果無法衡量、策略有缺漏、策略人員對防護場景認知不全面,或是對抗戰場的升級,外部黑灰產的技術發展、真實對抗日趨激烈、需要拓展防守視野和能力,從而引進藍軍攻擊團隊進行場景的梳理、對現有安全體系的評估和對抗提升。當防禦建設到一定程度之後,也需要藍軍挖掘更多的攻擊面和風險盲點,並相對客觀的評價當前防禦體系的水平和攻擊成本。 本文主要從入侵檢測方向的紅藍攻防演練切入,分享一下對於網際網路企業安全中企業藍軍建設的經驗和想法,僅代表個人觀點,歡迎大家交流和指正。
1
什麼是藍軍
藍軍(國外稱為紅隊 RedTeam),在軍事上指部隊模擬對抗演習中專門扮演假想敵的部隊,可以模仿任何一支軍隊與我方正面部隊進行鍼對性的訓練。
藍軍旨在實現全場景、多層次的攻擊模擬,來衡量企業人員、網路、應用、物理安全控制和防護體系在面對真實攻擊時的防禦水平,另外一個重要的意義在於拓寬防守方的視野,攻守相長。
眾所周知,網路安全威脅形勢是不斷動態變化的,而很多企業內部安全體系中缺乏藍軍建設,導致承載業務高速發展的安全地基尚處於強度未知的狀態。與傳統滲透測試相比,紅藍對抗中的藍軍演練更接近真實的攻擊,可能包含線上業務、企業人員、合作方、供應商、辦公環境、物理樓宇、資料中心等等多樣化的攻擊形式。
2
進攻是最好的防守
企業安全為什麼需要藍軍?我們可以從這幾點觀察一下藍軍存在的價值和職責。
-
檢驗安全態勢和防護水平
紅藍對抗可以檢驗企業安全防護體系:防護阻斷、檢測感知、響應溯源的能力,同時暴露防禦脆弱點和業務風險盲點,從而針對性的優化和提升防護系統和消除業務風險,完成安全閉環。作為一個相對獨立的第三方,藍軍可以客觀的評價反入侵建設水平,用攻防實踐來檢驗安全水平高低。
-
梳理風險盲點和攻防場景
藍軍可以理清防護標的所面臨的風險、可能存在的攻擊面,像攻擊者一樣思考。不斷積累並挖掘多樣化的攻擊面,對於每個攻擊面梳理可能的攻擊路徑,將攻擊路徑根據殺傷鏈的各個環節,分離出關鍵場景。在暴露風險盲點的同時,藍軍團隊一方面需要持續繪製出清晰的攻防場景地圖,另一方面也可以為防禦建設提供有價值的優先順序和技術建議。
-
安全價值的體現
在一次深度的紅藍對抗演習中,藍軍會盡最大可能的去暴露和挖掘安全風險的危害,這是對內部安全建設價值的一個強有力體現。安全所具備的價值與所防護業務的價值密切相關,另外外部威脅和攻擊者的強弱也決定了安全的投入。藍軍的攻擊目標往往是企業的核心業務和資料,通過扮演了一個外部攻擊者的角色,可以正面反映出安全投入的必要,也證明了安全工作和防守方的價值。
-
強化業務同事安全意識
一次攻防演練往往能讓各方更加直觀的感受到攻擊現場,強化業務同事、甚至防守方安全人員的安全意識。
3
藍軍工作如何開展和考核
藍軍的核心目標只有一個:貼近實戰,模擬真實的攻擊者。工作方向可以分別聚焦於攻擊的深度、廣度上。
深度,指完成指定攻擊目標的完整攻擊演習,暴露各種未知攻擊面。在深度方向上,側重於攻擊過程的完成度,以及演習過程中的隱蔽性、躲避檢測的能力。藍軍需要描繪的是一個完整的攻擊故事,而不僅是單純的發現漏洞和風險。廣度,是指研究和梳理所有的攻擊手法和攻防場景,並持續補充完善。重點在於攻擊路徑的、攻防場景的全面覆蓋。
藍軍工作的核心指標有很多,這些指標可以是關於紅藍雙方的:
-
入侵發現率 。入侵發現率是一個很重要的指標,但並不是全部。很多人對攻防的理解可能是:攻擊被發現則表示任務失敗。而真實攻擊過程中,單純的發現並不能阻礙攻擊者的活動,還要考驗的是防守方的應急響應能力。被發現之後藍軍還可以繼續行動,通過持久化後門或者其他攻擊面進一步突破防線繼續入侵。
-
攻防場景發現率 。縱深防禦體系對攻擊路徑上每一個關鍵場景是否有感知和響應。
-
攻擊覆蓋度 。攻擊演習手法對已知攻防場景的覆蓋情況。
-
演習頻次/安全風險數/策略缺陷數/效率提升 。這些數值可以比較量化的體現紅藍對抗工作的效果:防護策略提升、響應效率提升、業務風險收斂。
-
攻擊成本 。多次滲透環比來看攻擊成本的變化,達成目標所花費的時間,難度。
-
目標達成率 。攻擊目標達成情況。滲透藍軍來說目標通常是主機許可權或者敏感資料。
藍軍工作可以根據需要分別從現網真實環境和測試環境發起。 測試環境 可以用於快速檢驗安全系統發現率和安全策略的場景覆蓋情況。 真實環境 用於實施完整的攻擊行動,發現風險盲點。很多風險盲點只有在現網中才會被暴露,比如說一個通用的配置失誤,網路區域歷史隔離問題,甚至完全未納入過管控的未知資產等等。“安全就是指隱患都被人藏好了”,而藍軍正是需要挖掘出這些隱患。
就攻防場景而言,比如對命令執行、Webshell、持久化後門、許可權提升、橫向移動、埠掃描、C2C通訊等等關鍵行為的檢測策略,藍軍可以在測試環境快速對這些策略進行對抗與反向檢驗。而對於攻擊面,比如內部核心業務區域、線上業務、企業人員、辦公環境、資料介面、合作方、供應鏈、網路基礎設施等等則需要真實環境的對抗,這也會檢驗防禦方對於異常行為關聯分析和告警的能力,而不僅是一個個孤立的黑特徵告警。
紅藍對抗相比滲透測試而言,攻守視野相對要求更高,作戰雙方是“紅軍”和“藍軍”。藍軍需要考慮如何掌控戰場、隱蔽和奇襲,從戰術層指定攻擊策略,不限制於具體的技術手法,不是單兵作戰。如果能一招制敵,弱口令為什麼不能出奇制勝?
覆盤 ,也是紅藍對抗的重點之一。將藍軍滲透過程中的所有關鍵行為與紅軍檢測記錄到的資料進行對賬,思考怎麼樣提高入侵感知能力,怎麼樣提高應急響應效率,怎麼樣提高入侵攻擊成本,怎麼樣提高攻擊溯源能力,怎樣舉一反三消除同類業務風險等等。提出優化建議,建設縱深立體的防禦體系。
紅藍對抗工作開展過程中,要求攻守雙方是“背靠背”方式開展對抗演練,而不是預先通知的逢場作戲。比如,限定攻擊時間和攻擊入口,防守人員嚴陣以待、一條一條人肉過日誌、封IP,這樣並非長久之計,不能體現出防禦系統的一般水平。作為藍軍,我們有發起戰鬥的優先權,可以選擇什麼時候發起攻擊,具有隱蔽性,突然性的特點。這種對抗也要求藍軍快速獲取或者研究新型攻擊手法的能力,形成不對稱的打擊優勢,不斷嘗試將新的技術融入到“攻防演練“裡。
除了技術層面的工作之外,藍軍還需要內部的品牌和影響力運營,做到每次出擊都師出有名。這裡暫不細表。另外在內部演習中也要保證和業務同事知會到位,演習實施過程中 嚴格控制風險 ,避免對線上業務造成影響。
大型網際網路企業藍軍的最終目標一定是能模擬國家級的APT攻擊,防守方亦需達到反APT的水平。比如辦公網安全、供應鏈安全、合作方安全、企業基礎設施安全、物理安全,也必須是要涉及的對抗場景。當然也可以根據企業需求,適當的引入外部安全力量進行交叉演習。
4
能力提升和個人成長
隨著技術和對抗的升級,藍軍的角色、能力、戰場也是不斷轉變的。圍繞著核心資料資產,從早期的對抗指令碼小子到對抗APT黑客,從Web漏洞掃描到縱深防禦體系對抗。藍軍核心價值是模擬,所以必須對外部攻擊形勢和風險有清晰的認知:誰在攻擊、攻擊什麼、攻擊動機、攻擊手法。瞭解真實世界的攻擊者,是藍軍需要具備的核心能力之一。
廣泛的情報來源有助於我們更深入及時的掌握攻擊趨勢,各種APT事件和調查報告是一個很好的情報來源。通過APT事件中的蛛絲馬跡可以提取攻擊者的一些行為特點:突破防線的手法、遠控木馬的行為,資料回傳通訊方式、攻擊的目標以及一些已捕獲的IOC資訊。目前公開的報告大部分停留在對攻擊入口相關樣本的分析,包括魚叉攻擊中的誘餌文件、駐留木馬等等。曝光出來的攻擊入口以魚叉郵件植入遠端控制木馬為主,可能有少量攻擊員工手機或者攻擊對外網站的案例,然而真實的攻擊入口遠比想象的更多。涉及內網橫向移動細節的案例顯得非常珍貴,這部分是後滲透階段非常重要的一環,藍軍團隊可以多關注一些完整的滲透案例,比如2015年的HackingTeam入侵事件、2017年FlexiSPY原始碼洩露事件、NSA方程式武器庫洩露、CIA洩密資料等等。這裡推薦一個開源專案: APT Notes ,它記錄了歷年來的APT報道和分析文章。我在部落格中也會不定期更新一些安全事件索引: https://kingx.me/latest-events/ 。
業內創新型的網路安全產品和議題則代表了防禦檢測方向探索的先驅,也可以給紅藍對抗和內部安全體系的提升帶來很多新的思路。比如,Cybersecurity Ventures的網路安全創新企業Top500,一年一度RSA大會上的創新沙盒競賽,BlackHat會議,或者Cylance、CrowdStrike結合人工智慧的創新型EDR產品等等。
另外,藍軍團隊需要沉澱出一套體系化的攻擊手法知識庫和武器庫。MITRE出品的ATT&CK Matrix專案是一個很好的參考(MITRE是美國的非盈利組織,CVE專案的維護方。 ATT&CK Matrix 專案基於全球真實入侵事件,羅列了APT組織使用的戰術和技術的知識庫)。去年我們完成了對APT攻擊矩陣的完整梳理和擴充套件,並且對內部策略進行了針對性的檢驗,後續也會陸續分享這塊的內容。簡化後的攻擊框架如下:
梳理過程是獲益匪淺的,將零碎的知識點串聯起來,這對於藍軍團隊成員的個人技術成長和認知也有很大提升。形成框架之後可以不斷研究補充其中的細節,並完善相應的武器庫。
國家級APT能力不僅依賴全方位完善的後端體系支撐,更需要全平臺、自動化、模組化的網路攻擊軍火庫裝備體系。管窺2017年曝光的CIA Vault7資料,至少還有0day漏洞挖掘、開源情報、武器研發、自動化植入、嵌入式裝置、網路裝置、作業系統利用、移動漏洞利用、無線入侵等等方向都是藍軍可以踏足並研究提升的領域和方向。當然,這是一個非常龐大的工程了(下方是CIA的組織架構圖)。
5
挑戰
-
效率、收益
現代化高階網路攻擊者在投放威脅載荷時明顯表現出更多的耐心,與高頻的暴力破解相比,更偏向於慢速、有針對的口令嘗試。花更多的時間去了解攻擊目標,尋找目標企業在安全鏈條中最薄弱的一環進行攻擊。長期潛伏也是高階攻擊者的一個風格偏向。然而內部藍軍和紅藍對抗最終還是要為企業服務,目標是為了保持企業的商業競爭力和利益。在綜合考量ROI的前提下,企業不會允許不計時間成本的攻擊,所以在保證一定效率的同時,攻擊場景會相對靈活。有可能外網社工花很長時間突破到內網,最終價值可能還不如一次群發的辦公網釣魚郵件演習。那進行外網滲透還是從內網滲透呢?我認為兩者都是需要去做的,只是頻次和形式上會有些差異。
-
攻擊成本量化
如何將攻擊成本量化是一個很大的挑戰。從攻擊成果上來看,只有成功和失敗兩種結果。而攻擊的人力和時間成本則存在較大的主觀因素和不穩定性。
-
來自業務的挑戰
有時候有人會問:攻防演習暴露出來的問題非常嚴重,那是不是還有很多演習中沒有暴露的未知風險呢?
乍一聽竟無言以對。安全是動態的概念,所有百分之百的固若金湯被打臉只是時間和成本問題。既然未知風險是必然存在的,那上面這個問題其實就是並沒有什麼意義了。一次演習不能暴露所有問題,更多的意義在於暴露出風險點,在後續的覆盤中舉一反三推動一類問題的解決。比如,演習中一臺伺服器Redis未授權訪問導致了主機失陷,最終達成攻擊目標。那麼後續要關注的可能是未授權訪問這類問題的解決、網路訪問控制策略的加強等等,而不單單是解決Redis這個漏洞。 所以藍軍工作的完美開展與業務側的配合肯定是分不開的,一定要聯合業務側推動,核心目標是為業務保駕護航,演習也需要週期性的持續進行。
6
展望與產品化思考
-
多層次全範圍的藍軍
在未來可預見的時間範圍內,藍軍演習肯定會向APT方向發展,時間跨度更大,更加隱蔽。多層次的藍軍演習可能包含滲透測試(線上業務、網路裝置、移動端)、社會工程(網路、電話、郵件、聊天)、物理入侵(逃避攝像頭、繞過警報)等等。藍軍團隊需要各個方向的專家,比如滲透測試專家、物理入侵專家、社會工程專家等等,從物理、網路、系統、應用、業務、資料等各個層面展開立體的對抗。演習內容更加複雜,更貼近實戰。
-
自動化產品
面對大型網際網路企業內部成千上百萬的伺服器資產和眾多的業務型別,自動化滲透平臺必然是趨勢。將自動化資訊蒐集、漏洞發現、漏洞利用、防禦規則繞過、木馬駐留、持久化控制等滲透殺傷鏈各個環節實現自動化,形成自動化滲透能力。
這裡和傳統漏洞掃描器是有一定區別的,伺服器數量眾多從來不是藍軍的挑戰。正是因為數量眾多,就存在著更多的攻擊面。藍軍自動化攻擊平臺的重點在於自動化與協作,而不是規模化。
快速發現攻擊入侵路徑是自動化平臺需要解決的問題。不在於一鍵獲取許可權,而是一個藍軍團隊協同作戰的平臺,資訊共享和關聯。滲透涉及到的資訊錯綜複雜,比如外網IP、埠、服務、應用指紋、證書、域名、子域名、人員姓名、郵箱、內網IP、軟體資訊等等,我們也一直在嘗試這塊的自動化工作。不斷沉澱和積累,將能力沉澱到系統或者平臺上。
-
藍軍能力對外輸出
在如今萬物互聯的生態中,大家除了在業務環節實現相互連線外,底層基礎的安全技術能力、資料和介面也必須相互開放和連線,共同打造公共基礎安全平臺和能力。相信各大企業的內部藍軍也會逐漸“走出去”,共建網路安全生態體系。只有共享的安全能力滲透到產業鏈的每一個環節,才能確保更立體,更全面的安全,才能保障“網際網路+”的健康發展。
在網際網路生態高速發展的現在,個人資訊和資料安全越來越受到重視,安全是大型網際網路公司所有業務的生命線。反入侵更是基礎安全領域的重中之重,各大網際網路企業無時無刻不面臨著全球黑客甚至是國家隊的定向攻擊,一旦出現重大事件,對商業品牌會造成無法挽救的損失。我相信安全藍軍和紅藍對抗的形式會繼續在曠日持久的安全戰場上發揮重要作用。
這裡是預告
紅藍對抗系列 Next 《如何發起一次高階滲透攻擊》
歡迎訂閱我的微信公眾號