網絡殺傷鏈真的已過時嗎?
網絡殺傷鏈是由洛克希德·馬丁公司在十多年前提出的。其基本思想是,攻擊者進行偵察以發現漏洞,開發漏洞利用程序進入系統,安裝惡意軟件連接到控制服務器(C2),橫向移動找到目標并盜取數據。防御者則根據這些步驟設置檢測和防護機制以阻止攻擊。
但這個框架并不完善,從設計出來的時候,就不適用于許多種攻擊方法。例如一些直接的攻擊,像非法訪問公開的數據庫、DDoS攻擊,或是一些幾乎看不到或根本看不到攻擊者在做什么的第三方攻擊。到了現在,縱深防御和零信任時代,這個框架更是變得無關緊要。
殺傷鏈正在失去價值
主要是因為許多攻擊類型會跳過這七個上步驟中的某些環節。例如,勒索軟件攻擊包括惡意軟件安裝和橫向移動,但除非攻擊者進行二次勒索,否則可以跳過拖走數據的步驟。
再比如,一個不安全的API可以允許攻擊者將其所訪問的所有數據虹吸出來,API正在為一種常用的攻擊載體,因為可以直接打穿系統,那些針對邊界和區域的層層防護如同虛設。
最后,攻擊者也可以利用金錢跳過殺傷鏈的環節。例如,他們可以在黑市上購買被盜的憑證,并使用這些憑證訪問公司基礎設施。典型的,利用一些從暗網上買來的云端或K8s的憑證,悄悄地用受害者的計算資源挖礦。
最常見的一步到位攻擊,從不安全或安全性差的AWS存儲桶中竊取數據。今年1月,Bonobos男裝店的整個客戶數據庫,約70GB的個人信息被泄露。該公司在云中存儲了一個備份文件,但沒有正確的保護措施。這些數據可以通過互聯網直接訪問,黑客無需殺傷鏈的大部分步驟,如武器化、交付、安裝或指揮與控制。
去年秋天Emetic專門針對AWS存儲桶的一份調查顯示,研究人員抽樣調查的AWS環境中有70%以上的機器暴露在互聯網上,并有被入侵并執行勒索軟件的風險。事實上,網絡犯罪分子不斷演變的商業模式是殺傷鏈逐漸失去防御價值的一個重要原因。也就是說,不同的攻擊者專注于自己的專業領域,然后將結果出售給他人,不再是由多個鏈接步驟組成的單一攻擊。
供應鏈攻擊顛覆殺傷鏈
針對第三方合作伙伴的攻擊令殺傷鏈毫無意義,通過入侵第三方以獲得進入目標企業的權限,典型的如2013年Target事件,是因為其空氣調節系統供應商被入侵。更近一些的供應鏈安全事件,如SolarWinds。
入侵可以完全發生在第三方環境。例如,第三方服務提供商可以訪問財務數據、人事記錄、敏感IP或客戶信息。如果對第三方沒有可見性,就會造成很大的安全盲點。
隨著API、云應用和系統整合的趨勢,針對第三方的攻擊已成常態。從業務方面來看,能夠跨企業邊界將數據和服務連接在一起,無疑會有很大的益處。但同時,安全問題往往被忽略。
攻擊者是圖形思考而不是鏈路思考
標準的網絡殺傷鏈會讓人誤解,即認為攻擊者在入侵目標時會遵循一組特定的步驟。但這與事實相差甚遠,攻擊者是沒有固定規則的。相反,攻擊者會嘗試任何有效的方法。成功的網絡攻擊與其說是從偵察到目標的一條直線,不如說更像一棵樹,或者像一張圖形,有節點和邊。邊是攻擊者從一個節點到另一個節點的路徑,但邊有多條,并非一條單一的鏈路。
超越殺傷鏈的ATT&CK
明顯可以看出殺傷鏈不足之處的一個方法是,與MITRE ATT&CK框架做比較。ATT&CK非常詳細,包括攻擊者可能采取的200多個不同類型的TTP(戰術、技術與步驟)。它囊括了攻擊者所使用的方法,堪稱攻擊活動的百科全書。尤其是許多基于殺傷鏈的思路很難發現的攻擊方法,如上文中所講的S3存儲桶攻擊、拒絕服務攻擊和供應鏈攻擊。
真實的情況是,有多種殺傷鏈(攻擊路徑),而不是只有一條。而且,ATT&CK也不是完美的,攻擊者總是會想出新的攻擊方法。但是有一點,至少目前許多入侵成功的事件,都是由于未能針對ATT&CK框架中現有的TTP進行保護。換句話說,如果我們對MITRE框架中所有的內容都做出了相應防護,那么即使是在使用零日漏洞的情況下,也很難造成巨大的損失。
結合了殺傷鏈和ATT&CK特點的“統一殺傷鏈”會加更有效。首先,它比傳統殺傷鏈更加深入、細化,再者還具備了關注攻擊者行動順序的特性。最后,它會不斷更新和修訂,包括緩解和檢測,以緊密跟上不斷變化的威脅。
零信任應對新型攻擊
在適應新的攻擊方法時,零信任是一個不錯的理念。“持續驗證,永遠懷疑”是當下網絡安全領域的流行語。似乎只要不信任,就能解決一切問題。但從目前的落地情況來看,理論不錯,實踐很難。盡管如此,至少零信任理念有助于企業擺脫殺傷鏈背后的邊界或說城堡防御的傳統方法。
眾所周知,邊界防御的弱點在于,突破即自由。用一個形象的比喻來說,就是外面是堅硬厚實的盔甲,里面是柔軟脆弱的身體。
零信任則不然。每個應用程序、每個數據節點都擁有自己的“盔甲”。從而讓攻擊者無法獲得立足點,進而不能實施橫向移動,并進入信息系統的核心。
殺傷鏈依然還有價值
雖然殺傷鏈已經不適用于當今的攻擊環境,但也依然有著一定的價值,比如在進行威脅建模時就非常有用。
仍然用上文中的S3存儲桶舉例。從攻擊者的角度來思考,如何發現存儲桶中的敏感數據,又將如何實施入侵,并最終獲取數據?這就是威脅建模,了解風險在哪里,潛在的脆弱在哪里,攻擊者又如何實施每一步,這就是威脅建模。然后采取相應的安全措施,確保攻擊者不能順利的完成這些步驟,而殺傷鏈模型則有助于完成這一過程。
現在的許多攻擊方法,尤其是第三方攻擊,殺傷鏈的確已不適用。但攻擊者仍然需要建立C2,橫向移動和拖走數據,殺傷鏈仍然是分析這些威脅的有效框架。安全團隊需要擴展他們的傳統模型,如將供應商或源代碼被入侵的模型包括在內。