漏洞管理面面觀
隨著企業對網絡安全風險意識的增強、合規性要求的提高和網絡安全事件的頻發,漏洞管理越來越被更多的企業所重視,成為了信息安全項目的必備基石。近幾年,我們見證了網絡安全威脅的瞬息萬變,網絡攻擊形式更自動化、批量化、復雜化,另一方面,信息化的浪潮下,應用新技術、數字化業務、平臺合成的企業系統也暴露出更多的安全漏洞。
一、什么是安全漏洞?
我們有一些耳熟能詳的安全漏洞名字,比如SQL注入、跨站腳本、緩沖區溢出等,企業的資產(需要保護的、有價值的資源)也面臨層出不窮的網絡攻擊的威脅。那什么是安全漏洞呢?簡而言之就是信息系統中的弱點,這個弱點或者脆弱性可以是缺乏防控措施或者防控措施不足造成的,比如組織沒有應用某一個組件的補丁而造成的脆弱性暴露。弱點可以被蓄意的攻擊者利用對組織造成危害和損失,也可以因為無意識的如管理人員疏忽或者違反合規性要求等給組織帶來損失。
二、為什么要做漏洞管理?
漏洞的暴露和利用可能會給企業帶來的不僅僅是巨大的經濟損失,還有可能損害客戶利益、企業名譽,甚至違反相關的法律法規。最近爆出的數據泄露事件中,雅詩蘭黛官方服務器遭黑客入侵,導致未加密的云數據庫發生數據泄露,其中包括逾4億條用戶敏感數據。2017年WannaCry勒索病毒感染了100多個國家超過10萬臺電腦并造成了高達80億美元的損失,這個蠕蟲式病毒正是利用了一個已知漏洞(微軟已經公布的補丁而大多數系統沒有更新補丁的)。2019年1月,拼多多用戶可領取100元無門檻券,大批用戶大量‘薅羊毛’,金額達數千萬元,而這個事件是由黑灰產團伙利用過期優惠券漏洞導致的。有效的漏洞管理可以及早的發現漏洞并遏制漏洞利用事件的發生,相對于企業的盈利部門,雖然漏洞管理是一項支出,而忽略漏洞管理可能意味著更高的經濟成本。
另外,等保2.0的安全運維管理中新增了(相對等保1.0)配置管理、漏洞和風險管理控制點,要求企業重視漏洞和補丁管理安全,做好配置管理工作,及時更新基本配置信息庫,定期開展安全測評工作,提升企業積極主動防護的能力。很多企業也有要求對關鍵等級高的資產在上線前和重要變更時進行滲透測試,并每季度進行漏洞掃描,以發現新暴露的漏洞。另外,小程序、APP中對個人信息的收集也可能違反《中華人民共和國網絡安全法》、《APP違法違規收集使用個人信息行為認定方法(征求意見稿)》、《個人信息安全規范》、《消費者權益保護法》等法律法規中的相關規定。
許多行業的法律法規都規定了對漏洞管理的要求,相關要求也逐漸擴展到各行各業。支付卡行業數據安全標準(PCI DSS)涉及所有處理支付卡業務的實體,并要求涉及的實體采用行業公認的測試方法,至少每年進行一次滲透測試,并且在環境做出重大變更后必須再次測試。對于最近火熱的醫療行業,2018年出臺的《互聯網診療管理辦法(試行)》、《互聯網醫院管理辦法(試行)》、《互聯網醫院基本標準(試行)》均要求互聯網診療相關系統實施三級網絡安全等級保護,而在三級網絡安全等級保護中規定了定期開展安全測評、形成安全測評報告并采取修復措施的要求。2019年6月發布的《網絡安全漏洞管理規定(征求意見稿)》則將控制的范圍擴大到“網絡產品、服務提供者和網絡運營者”,并要求相關組織或個人在獲知網絡產品或系統漏洞后,立即驗證漏洞,“對相關網絡產品應當在 90 日內采取漏洞修補或防范措施,對相關網絡服務或系統應當在 10日內采取漏洞修補或防范措施”。
漏洞管理也可以從技術角度了解系統的信息收集與使用的情況,拿APP收集個人信息的行為來說,《中華人民共和國網絡安全法》、《消費者權益保護法》、《APP違法違規收集使用個人信息行為認定方法(征求意見稿)》中都規定了網絡運營者不能未經用戶同意收集使用個人信息。在實際的場景中,App安裝后可能未經用戶同意收集MAC地址、IP地址、用戶地址位置等個人信息,或者在用戶明確表示不允許收集的情況下,仍然收集這些信息。有些信息收集構成了《中華人民共和國網絡安全法》中禁止的“收集與其提供的服務無關的個人信息”的行為。例如,一些APP可能強制索要用戶的系統權限,如果用戶不同意則拒絕提供相關業務服務(如美食類APP要求用戶提供訪問通訊錄的權限、訪問系統日志的權限等)。或者APP后臺自動收集用戶設配IMEI號、IMSI號地址位置等過于頻繁,超過了業務實際需要。更多的場景和實例不再贅述,對敏感信息相關漏洞的測試和管理可以有效防止信息泄露并了解敏感數據收集、使用的情況,從而幫助APP開發者和管理者了解APP的合規性風險。
三、怎么做漏洞管理?
我們認為,一個漏洞管理框架應該包括治理、發現、評估、處理、監控和報告五個部分。有效的漏洞管理可以幫助組織定期評估漏洞,根據成本效益原則修復風險嚴重、高、和中等的漏洞,并接受修復成本比較高的風險較小的漏洞。
1. 治理/準備
良好的治理過程是是有效的漏洞管理的基礎,如果不能明確數據和處理數據的信息系統的的分類或者對業務的影響程度,也就無法確定他們需要保護的程度、漏洞的等級和修復的優先級。治理的內容包括確認組織的信息系統表,需要保護的信息系統,對數據的分類,和一些諸如服務水平協議,角色和職責,項目范圍等文檔的撰寫。
2. 漏洞發現
漏洞發現的方式主要包括漏洞掃描、滲透測試等,使用Nessus等常見的漏洞掃描器可以快速識別系統、網絡和應用程序中的漏洞,例如版本漏洞和不安全的配置等,然而常規的漏洞掃描器可能存在一定的誤報率和難以發現如邏輯繞過之類的漏洞。滲透測試技術則可以彌補這一缺陷。
滲透測試是通過模擬黑客攻擊的過程,發現資產存在的漏洞。漏洞掃描只是探測漏洞是否存在,通常不會對系統發起主動的攻擊性行為,而滲透測試會通過突破安全控制措施,入侵目標系統來驗證漏洞,達到評估系統安全性的目的。
滲透測試通常包含規劃、信息收集和發現、漏洞掃描、漏洞利用和報告這幾個階段。規劃階段需要確認測試的域名、權限、時間窗口和掃描方式等問題;信息收集和發現結合人工和自動化工具收集目標環境的相關信息,信息收集的步驟通常會對漏洞利用起到很大的幫助;漏洞掃描使用自動的掃描工具勘測系統漏洞;而漏洞利用階段則根據前面步驟收集的信息、發現的漏洞等,嘗試攻破系統的安全防線;最終,對發現的漏洞和對應的修復方式通常以報告的形式呈現。漏洞利用測試的方面主要有:配置管理測試、認證測試、會話管理測試、權限和業務邏輯測試、數據驗證測試、共享主機測試等。具體的測試細節這里不展開討論。
滲透測試根據向攻擊者/測試者提供信息的程度可以劃分為白盒滲透測試、灰盒滲透測試、黑盒滲透測試,其中白盒滲透向攻擊者提供目標系統的詳細信息,因此可以減少信息勘測的步驟,縮短測試和攻擊時間,并增加了發現更多漏洞的可能性。黑盒測試在攻擊前不向測試人員提供任何消息,也更接近真實的攻擊場景。而灰盒測試測試也被稱為部分知識測試,是前兩種測試的折中,平衡了兩者的優缺點,也是最常用的滲透測試方法。
很多指南提供了可以參考的行業標準滲透測試方法,包括OWASP測試指南、OSSTMM、NIST800-115、FedRAMP滲透測試指南、PCI DSS關于滲透測試的信息補充等。OWASP TOP 10 2017也列出了10項最嚴重的應用程序安全風險,包括:注入、失效的身份驗證、敏感數據泄露、XML外部實體(XXE)、失效的訪問控制、安全配置錯誤、跨站腳本攻擊(XSS)、不安全的反序列化、使用含有已知漏洞的組件、不足的日志記錄和監控。
3. 評估
根據漏洞在當前環境下的威脅程度、可復現性、影響用戶程度等評估漏洞和風險,并依此對漏洞評級、排序并確定修復的優先級。對漏洞的定性評估可以將漏洞分為:超高危、高危、中危、低危,具體的評判標準可以參考CVE和CVSS。已發現的漏洞通常使用CVE(通用漏洞和披露)來標識,由MITRE維護,可以在www.cve.mitre.org查看漏洞有關的詳情、可以造成的危害等,如前面提到的WannaCry利用的Windows系統的漏洞被標識為:CVE-2017-0143;而CVSS(通用漏洞評分系統)提供一個描述安全漏洞嚴重性的標準化評分系統。
4. 處理
從處理風險的角度來看,風險的響應通常包括:風險緩解、風險轉移、風險接受、風險威懾、風險規避、風險拒絕。而一般處理漏洞的方式主要有風險緩解和風險接受。企業可以選擇修復漏洞以緩解此漏洞敞露的風險,例如SQL注入漏洞,常見的修復措施有參數化、對用戶輸入進行驗證、使用存儲過程等;對于跨站腳本攻擊(XSS)而言,驗證用戶輸入的有效性是一個很好的措施。(詳細的修復方法可以參考OWASP)如果因為修復漏洞的成本大于風險可能帶來的損失,或其他綜合因素考慮,企業也可以選擇接受風險。接受風險還意味著管理層已經同意接受風險發生可能造成的結果和損失。
除了對資產漏洞的修復措施外,還可以建立對系統的補償性控制。例如使用防火墻設置規則來過濾流量,Web應用防火墻,簡稱 WAF,擁有部署簡易、防護及時等優點,主要用于防御SQL注入、XSS跨站腳本、常見Web服務器插件漏洞、木馬上傳、非授權核心資源訪問等OWASP常見攻擊,同時大多數防火墻也提供了日志記錄,查詢的功能,能夠滿足運維,安全方面的管理需求。更加智能、高效的方式是建立企業的安全運營中心(SOC)進行日志收集、監控分析、識別異常行為并產生預警等,從而實現持續的安全運營。更加智能化的安全管理方式是建立SOC(安全運營中心),SOC可以彌補傳統信息安全的不足,它以數據為核心,通過日志收集、威脅建模、指標設計、告警分析、安全事件用例知識庫和威脅情報態勢感知等功能模塊,真正實現數據驅動安全,不僅能實現攻擊的維護和實時監控,還能通過威脅情報和用戶行為分析等預測威脅,并在安全事件發生后系統地追蹤溯源。
5. 監控和報告
在實際漏洞管理的過程中,企業很難一次修復所有的漏洞,通常都會涉及驗證、再次驗證直到漏洞被修復的過程,甚至有些漏洞難以被完全修復,因此需要對整個過程的實時監控來提高管理效率。項目管理人員也需要向高級管理層匯報漏洞管理項目的狀態,包括對服務水平協議規定的實現和關鍵的業績指標,如:漏洞發現率、漏洞修復率、漏洞修復時間等。另外,第三方的的安全審計、滲透測試、安全評估等也能更獨立的評估企業信息系統的安全性,提高管理的效率和效果。
更高效的管理方案是建立一個集中性管理平臺-漏洞管理平臺,它可以提供一個時事、高效的監控、管理和報告的方式,通過集成漏洞掃描(保持更新最新漏洞)、漏洞自動分類與分級、漏洞狀態管理、漏洞和修復方案描述、報告生成和下載、漏洞管理儀表盤等功能,實現對漏洞全生命周期的有效管理。
漏洞管理是一個持續的過程,成功的漏洞管理過程也需要與組織的業務風險管理緊密聯系,定期審核漏洞管理過程是否與組織的業務和風險管理目標相一致,并確保企業網絡安全相關的人員及時了解新的安全威脅和趨勢也是漏洞管理過程中不可忽略的部分。