何謂弱點管理?
弱點管理是一項持續性的計畫,依賴各種技術和實務來識別弱點 (尤其是網路暴露風險),並及時修補,以確保組織基礎架構和資源的安全。弱點管理的目標是建立有系統的程序,無論弱點出現在何處,都能偵測並降低弱點。
除了保護傳統網路之外,弱點管理也是識別並預防整個應用程式生命週期中的弱點不可或缺的一環。這包括將弱點管理整合至 CI 流程 ,同時不斷地監 控雲端原生環境 中的所有主機、影像和功能,以辨識、優先處理並降低風險。
在這方面,弱點管理可確保安全性團隊能在弱點導致系統入侵、 資料外 洩或其他不利的安全性事件之前,可靠地找出並修復弱點,為健康的網路安全性策略奠定基礎。
圖 1:一旦偵測到弱點,就需要將弱點背景化,以界定其潛在影響、來源及其影響的資產。
漏洞管理說明
網路設備、伺服器、儲存系統、工作站、傳統應用程式、虛擬機器、 容器、雲端應用程式、 微服務、資料庫、API、雲端基礎架構服務、雲端平台服務、安全性配置,這些似乎都不勝枚舉。隨著敏捷方法的日益普及和雲端服務擴大 IT 環境,弱點管理也變得越來越複雜。與傳統 IT 環境一樣, 雲端工作負載 的弱點管理也是一個不斷地從多方面著手的過程,包括安全弱點的識別、評估、優先排序和減緩,以確保 敏感資料受到保護、維持 雲端合規性,以及降低網路攻擊的風險。
此過程始於維護最新的資產清單,並採用弱點掃描來發現雲端資源中的潛在威脅。然後,會根據漏洞的嚴重性和影響來評估漏洞,以便排定修復工作的優先順序。修補程式和設定管理可解決軟體弱點和設定錯誤,而不斷地監控和事件回應則可確保快速偵測和遏制新興威脅。最後,報告與稽核活動可提供能見度與問責性,確保弱點管理計畫的有效性與合規性。
瞭解弱點、威脅和風險
要瞭解弱點為何重要,以及它們會如何影響您的業務,您必須瞭解弱點、威脅和風險之間的關係。
弱點是 IT 系統中的任何瑕疵、弱點、錯誤設定或疏忽,攻擊者可利用這些瑕疵、弱點、錯誤設定或疏忽來控制系統、竊取資料、擾亂系統運作,或以其他方式對企業造成傷害。
這意味著漏洞為網路威脅製造了實施的機會。威脅是指任何企圖且可能執行某種網路攻擊的實體。然而,若要進行網路攻擊,威脅必須找到可以利用的弱點。
當漏洞存在,且威脅主動尋求利用時,組織就會面臨風險。
因此,弱點讓威脅成為實際風險成為可能。如果沒有弱點,威脅 - 例如想要從組織中竊取敏 感資料以獲取財務利益的駭客,或是為了地緣政治目的而試圖破壞關鍵系統的國家贊助威脅行為者 - 依然可能存在。然而,只有當漏洞存在時,才會有威脅實際被利用的風險。
雲端漏洞管理為何具挑戰性
漏洞管理對任何類型的工作負載來說都不簡單,但當您要處理雲端工作負載時,偵測和減緩漏洞尤其具有挑戰性。
雲端服務複雜且多樣化
雲端工作負載可能差異極大。它們可能包括虛擬機器、容器、無伺服器功能、 協調服務或以上所有。每種類型的雲端工作負載都可能受到不同類型的弱點影響,因此您需要能根據工作負載情境辨識不同威脅的弱點管理策略。
雲端不斷變化
與大多數內部部署環境相比,雲端環境通常是動態的。配置會隨著工作負載的大規模增減、使用者的新增或移除、應用程式的更新等而不斷變更。因此,不斷地監控漏洞的能力是最重要的。
雲端風險的範圍各有不同
並非所有的弱點都是一樣的。有些 (例如可執行遠端程式碼的攻擊) 比那些只能在罕見配置下被攻擊的攻擊更危險。您需要知道哪些是嚴重性的,這樣才能先解決它們。
漏洞管理與修補程式管理
在某些方面,弱點管理流程類似 IT 組織已實行數十年的其他安全流程,例如修補程式管理。與弱點管理一樣,修補程式管理涉及在潛在安全風險 (即攻擊者可能利用的未修補軟體) 變成問題之前,有系統地找出這些風險並作出反應。
但弱點管理流程不只是修補程式管理。
- 未修補軟體是將軟體漏洞導入 IT 環境的一種方式,但並不是唯一的方式。弱點管理也會處理其他弱點的切入點,例如不安全的組態。
- 修補程式管理通常是定期安裝軟體修補程式,而弱點管理則是一個不斷地進行的過程。您不會 - 或不應該 - 每週甚至每天才掃描一次漏洞。相反地,您應該不斷地掃描,如此一來,無論何時何地,您都可以即時發現漏洞並作出反應。
- 弱點管理流程不僅適用於可修補的資產 (如應用程式),也適用於雲端服務、基礎架構以及您的 IT 團隊通常無法以傳統方式修補的其他類型資源。
常見漏洞與曝露 (CVE) 概觀
當安全研究人員在公開使用的軟體中發現漏洞時,通常會將其報告至 Common Vulnerabilities and Exposures (CVE) 資料庫。CVE 資料庫是已知漏洞的清單。這些資訊包括造成漏洞的原因、如何利用漏洞、漏洞的嚴重性,以及如何修補或更新系統以減緩漏洞的詳細資訊。
大多數的 CVE 資料庫都使用共通漏洞評分系統 (Common Vulnerability Scoring System, CVSS) 來定義此資訊,這是一個開放式的架構,用來分享有關漏洞的詳細資訊及其造成的嚴重性。CVE 和 CVSS 透過提供可存取的弱點資料,提供了一個關鍵的資源,讓組織可以用來判斷哪些弱點會影響他們所使用的系統或軟體。此外,它還可以根據企業使用的特定組態,告訴團隊這些弱點的嚴重性,以及是否可以被利用。
National Vulnerability Database 和 MITRE CVE 資料 庫 是最受歡迎的公開 CVE 資料庫。不過,組織也可以維護私人或增強的 CVE 資料,並將其提供給其他組織作為威脅情報產品的一部分。
圖 2:CVE 識別程序
CVE 的一個重要限制是它們通常只列出影響公開軟體的威脅,例如開放原始碼應用程式。主要原因是任何人都可以檢查公共軟體,並可能發現其中的漏洞。組織保留給內部使用的軟體,第三方研究人員較難進行研究。因此,軟體中的漏洞不一定會在 CVE 資料庫中被發現或揭露。
這表示您絕對不能因為 CVE 資料庫沒有顯示已知的弱點記錄,就假設應用程式沒有弱點。漏洞總有可能存在,而且威脅行為者也知道,只是尚未報告而已。
但如上所述,安全漏洞有多種形式。
驗證失敗
軟體內無效的 存取控制 程序或配置可能會允許惡意行為者存取軟體或提升使用者以外的權限。
SQL 插入
SQL 插入漏洞允許攻擊者將惡意查詢注入資料庫,從而篡改資料或滲透資料。SQL 插入漏洞通常是由於與資料庫連接的應用程式中缺乏適當的輸入驗證所導致。
跨網站指令碼編寫
跨網站指令碼編寫漏洞可讓攻擊者執行惡意指令碼。此類型的漏洞最常影響包含拙劣 Javascript 程式碼的網站。如果攻擊者找到易受攻擊的程式碼,他們可以誘騙網站執行他們所選擇的指令碼,有可能讓他們存取連接到網站的端點上的資源。
跨站請求偽造
攻擊者可利用跨站請求偽造漏洞,導致使用者將惡意程式碼注入目前已驗證的網站或應用程式。這些漏洞與跨網站指令碼編寫漏洞類似,主要差異在於跨網站請求偽造漏洞的重點在於冒充認證使用者執行惡意動作,而非透過不安全的 Javascript 執行惡意程式碼。
安全設定錯誤
任何類型的安全設定錯誤或疏忽都可能觸發漏洞。例如,管理員可能會因為防火牆設定錯誤而無意中讓敏感資料可透過網際網路存取,或是在設定新應用程式部署時忘記要求多重要素驗證。
漏洞管理與漏洞評估
弱點管理是 IT 組織用來識別弱點並對弱點做出反應的策略。然而,當發現個別弱點時,他們會使用稱為弱點評估的程序來瞭解弱點所造成的風險等級,並協助決定如何修復弱點。
弱點評估之所以重要,是因為並非所有弱點都會造成相同程度的風險。舉例來說,一般而言,只有直接實體存取易受攻擊系統的攻擊者才能利用的漏洞,比起可透過網路利用的漏洞所構成的風險較小,因為透過網路操作的威脅行為者通常遠多於可實體存取 IT 資產的威脅行為者。
此外,在某些情況下,漏洞只能在特定的組態或環境下被利用。例如,如果應用程式託管在 Windows 伺服器上,但不在 Linux 伺服器上,或反之亦然,則應用程式中的漏洞可能會被利用。
根據這些因素,弱點評估可讓 組織確定每個弱點對其造成的特定風險等級。然後,他們可以優先回應最嚴重性的弱點,以盡量降低整體風險水準。
建立弱點管理架構
儘管弱點管理計畫需要根據其所服務組織的獨特需求來量身訂做,Gartner 提供了一個弱點管理指導架構,為開始弱點管理提供了一個有用的起點。
Gartner 架構 的主要組成部分包括
- 定義計劃的範圍:企業在開始弱點管理策略時,首先要確定需要處理多少 IT 資產和弱點類型。
- 定義角色和責任:確定誰在何時做何事是弱點管理的重要組成部分。從 IT 工程師等前線員工,到 CISO 和 CTO,每個人都有責任找出、報告和管理弱點。
- 選擇弱點評估工具:企業必須決定使用哪些工具來尋找和評估弱點,以及弱點修復如何融入工作流程和工具。
- 建立並完善政策 SLA:服務層級協議 (SLA) 決定組織對弱點的反應速度,以及可容忍的活躍弱點程度。由於不同組織可容忍的風險程度不同,因此 SLA 是一項特別重要的資源,可依業務量身打造。
- 識別資產背景來源:資產上下文來源可提供補充資訊,例如系統或應用程式在業務中所扮演角色的相關資料,這些資料對於評估弱點及其嚴重性非常重要。
透過處理上述每項需求,組織可建立弱點管理計畫,使其有能力在所有相關系統中找出弱點並作出反應。
弱點管理的四個關鍵步驟
當全面實作時,有效的弱點管理計劃應可讓您的企業執行弱點管理流程中的下列每個步驟。
識別弱點
你無法修復你看不到的東西。尋找弱點包括掃描組織中的所有 IT 資產,並判斷它們 (或其中任何元件) 是否存在弱點。CVE 資料庫是達到此目的的重要資源,不過同樣地,並非每個弱點都會詳列在公開的 CVE 清單中。
評估弱點
發現之後,必須評估每個弱點,以判斷其對業務造成的風險程度。在某些情況下,手動評估弱點可能是必要的,但弱點管理工具可以自動判斷每個弱點的嚴重性,並評估該弱點在企業環境中被利用的可能性,從而加速評估過程。
處理弱點
處理弱點的方式主要有三種:
- 補救:修復涉及完全消除弱點,通常是透過更新或修補受影響的資產,使弱點不再存在。
- 緩解措施:緩解可讓組織將弱點被利用的風險降到最低,或降低弱點可能造成的傷害。在補救不可能或不可行的情況下,緩解是一種很好的策略。舉例來說,如果您因為無法取得修補程式而無法更新有漏洞的舊式應用程式,您也許還可以透過變更應用程式的組態來降低漏洞。
- 接受:在某些情況下,IT 組織可能會認為弱點不夠嚴重,不值得進行修復或減緩。在這種情況下,他們只需接受漏洞。
報告漏洞
弱點報告是向外部利害關係人揭露弱點的程序。這通常涉及向公共 CVE 資料庫提交弱點報告,但組織也可能因合規性授權或合約協議而需要直接向監管機構、客戶或合作夥伴報告弱點。無論是哪一種方式,報告的目的都是分享有關存在哪些弱點、造成弱點的原因,以及如何修復弱點的資訊,以便其他人可以在弱點導致攻擊之前對其做出反應。
改善您的漏洞管理計畫
有了弱點管理計畫並不表示您就可以不用擔心弱點,而轉移到其他的問題上。相反地,弱點管理應該受惠於持續改善的策略,意即 IT 組織不斷地尋找改善弱點管理策略的方法。
弱點管理計畫改善的常見範例包括
- 更廣泛地使用自動化功能,以增加弱點管理的效率和一致性。
- 將其他系統或應用程式納入弱點管理範圍,以增加涵蓋範圍的全面性。
- 利用額外的弱點資料庫和/或資產背景來源,以增加評估弱點時的可用資料。
- 部署新的或增強的弱點管理工具,以偵測先前系統無法支援的弱點類型。
類似這些步驟可讓組織提高弱點管理的成效與效率,使組織更接近確保即時偵測與修復所有弱點的目標,無論這些弱點包含什麼或存在於何處。
管理雲端工作負載漏洞的最佳作法
沒有簡單的訣竅可以確保您能在雲端漏洞轉變為嚴重威脅之前,捕捉並修復所有雲端漏洞。然而,下列策略可協助您降低遭受嚴重雲端相關網路攻擊的風險。
將漏洞掃描整合至 CI 流程
在開發生命週期中越早發現弱點,它們在生產環境中導致漏洞的風險就越低。
因此,弱點掃描應該整合到您的 CI 程序中。與其等到工作負載進入生產環境後才進行掃描,不如在開發和暫存環境中掃描您的主機、容器、無伺服器功能和其他資源。即使您的組態在開發/暫存與生產之間有所變更,預先部署的弱點監控仍可讓您有最大的機會防止弱點滲入生產。
在生產中保持掃描
當然,您也應該在工作負載部署到生產後,不斷地執行弱點監控。無論進行多少預先部署掃描,都無法取代檢查生產工作負載中的風險。
掃描雲端環境的所有層次
典型的雲端工作負載包含多層配置。每個人都可能存在弱點。
例如,如果您部署容器,則容器映像中可能存在漏洞。漏洞也可能存在於您在 container orchestrator 中設定的 RBAC 政策中。除此之外,您使用雲端提供商的 IAM 架構設定的政策可能會為容器化工作負載帶來風險。
這就是掃描雲端工作負載所有層級的關鍵原因。只要有資料存在的地方,就可能存在弱點。
使用 CVE 獲取弱點情境
如上所述,有些弱點比其他弱點更嚴重性。但並不總是很明顯哪些需要立即注意。
儘管如此,為了讓弱點警示盡可能可操作,您需要知道每個弱點的嚴重性等級。您可以使用 Common Vulnerabilities and Exposures (CVE) 資料庫來進行這項工作,該資料庫會列出已知的弱點,並根據它們所造成的風險程度來「評分」。
透過將弱點偵測與 CVE 資料結合,您就能針對雲端工作負載的風險,獲得情境化、可執行的洞察力。
漏洞管理常見問題
- 網路漏洞涉及網路基礎架構、協定或配置中的弱點,使攻擊者能夠攔截、修改或中斷資料傳輸。
- 作業系統漏洞是指作業系統或其元件中的缺陷,可被利用來取得未經授權的存取權、提升權限或執行惡意程式碼。
- 人為弱點來自於人為錯誤或惡意行為,例如落入網路釣魚攻擊、弱密碼或內幕人士威脅。
- 應用程式漏洞源自於不安全的編碼實作和設定錯誤。
- 流程漏洞源自於安全政策、程序或合規性控制的不足,導致保護上的缺口,並增加安全漏洞的風險。
弱點管理的挑戰包括
- 新的弱點不斷出現
- 用於處理已識別弱點的資源有限
- 訂定修復工作的優先順序
- 確保及時的修補程式和組態更新
- 在複雜且不斷演進的 IT 環境中維持能見度
- 克服人為因素,例如抗拒改變或缺乏意識。
此外,組織必須跟上產業規範與合規性需求,讓弱點管理流程又多了一層複雜性。