天天看點

漏洞修複實用指南什麼是漏洞修複?漏洞修複流程

什麼是漏洞修複?

首先我們來定義漏洞修複這個概念。開發人員和安全團隊為了防止外部惡意攻擊,使用一些方法來識别、優先考慮、修複和監控漏洞,這個過程就是漏洞修複了。

在檢測方面,企業可以使用各種應用程式安全測試 (Application Security Testing, AST) 工具來識别軟體應用程式和其他系統中的漏洞。例如,軟體成分分析 (SCA) 工具通過對開源軟體元件與軟體開發環境中的漏洞資料庫、安全公告或問題跟蹤器進行檢查,來驗證其完整性,以確定不包含漏洞。

當 AST 工具發現問題時,安全團隊會嘗試攔截或消除漏洞,這一步就被稱為修複。修複有時可以像應用軟體更新檔一樣簡單,有時也會像更換一組實體伺服器或硬體裝置一樣棘手困難。

補救的目的是在漏洞成為安全威脅之前對其進行修補或修複。這一步驟并不容易達成,是以需要開發團隊、系統所有者、安全團隊和營運人員共同建構有效的漏洞修複流程。

修複(Remediation)和緩解(mitigation)之間的主要差別在于,Remediation 修複了漏洞,而 Mitigation 解決了漏洞帶來的安全威脅,而不必修複底層漏洞。

雖然修複是更徹底和全面的解決方案,但在某些情況下,這可能沒有必要也無法實作,比如:

有時部分企業由于技術原因無法修複漏洞。例如,某些硬體裝置可能不支援軟體更新或修複。這對于連接配接的醫療裝置很常見。

還有一部分情況是不同團隊對修複存在意見沖突。比如,開發團隊擔心他們沒有充足的時間實施漏洞修複措施,而面向客戶的團隊則擔心所涉及的停機時間可能對客戶活動的造成幹擾。

當企業将優先級評分應用于漏洞管理時,安全團隊可能會選擇緩解漏洞風險而不是修複構成威脅較小的低風險漏洞。這使他們能夠優先處理更嚴重的威脅,或者騰出開發人員的時間來專注于建構應用程式的主要目标。

在這些無法實施修複的情況下,緩解措施提供了替代方案。緩解措施降低了漏洞被利用的可能性,并給企業在修複漏洞之前提供了緩沖時間。在選擇是修複漏洞還是緩解漏洞風險時,需要時刻記住緩解漏洞風險隻能減少漏洞帶來的威脅并不能讓漏洞完全消失。是以隻要有可能,修複應當是首選解決方案,從根本解決漏洞帶來的安全風險。

漏洞修複流程

漏洞修複過程包括以下四個步驟:

1.漏洞檢測

這一步涉及識别攻擊者可以利用的代碼或系統配置中的任何已知缺陷。安全團隊可以通過測試和掃描來檢測漏洞,了解暴露的資産或系統至關重要。

軟體漏洞的其中一個例子是通路控制配置不足,例如單因素身份驗證。不嚴格的身份驗證會讓未經授權的使用者更容易獲得通路權限,并擷取敏感資訊或發起惡意攻擊。

理想情況下,DevSecOps 團隊應當在整個 SDLC 中執行漏洞掃描,在此階段,可以利用 SCA、SAST 或 DAST 等工具。當然并不是所有的漏洞都需要修複。 例如,如果在産品代碼實際未調用的函數中發現漏洞,則無法利用該漏洞,自然也就無需修複。

2. 優先級排序

這一步需要識别漏洞帶來的風險,并确定哪些問題更緊迫或需要更多關注,并為這些漏洞做優先級排序。企業往往面臨許多漏洞又無法快速管理,而安全團隊的人員又十分有限,這時優先級排序的重要性便凸顯出來了。

安全團隊可以根據系統配置、潛在漏洞利用的可能性、實際事件的業務影響以及任何現有的安全控制來确定風險的優先級。需要特别注意,企業應當隔離其最重要的資産。如果 DevSecOps 團隊發現關鍵核心系統存在風險,可以優先修複相關漏洞并在整個團隊中配置設定工作優先級。 這可以幫助企業避免開發生命周期中斷的情況發生。

在管理開源漏洞時,建議使用工具來彙總來自列出已知漏洞的各種存儲庫的資訊,因為這能夠幫助過濾安全警報,有效節省時間。比如使用 SCA 工具來确定代碼是否容易受到易受攻擊的元件的影響。當然如之前所提,并不是所有的漏洞都會帶來重大風險。使用合适的方式來識别影響代碼的漏洞,并用有效的工具進行分析,這些能夠幫助企業深入了解實際影響代碼的開源元件。

3. 整治

當判斷漏洞可能會影響代碼時,就需要進行修複。這一步涉及應用更新檔、删除或禁用易受攻擊的元件、更新系統或其配置,或阻止某些操作。

對于專有代碼,需要确定漏洞的根本原因才能進行修複。企業可以嘗試使用 SAST 來執行此操作。安全團隊需要結合自動和手動來進行修複,在此過程中可以添加額外的安全措施來強化邊界。需要注意的是,企業需要在安全、隔離的環境(例如沙盒)中測試修複工作,而不是完全在生産環境中進行此步驟。

4. 持續監控

繼續閱讀