從漏洞看更新檔管理政策 |
軟體的缺陷或漏洞随時都可能造成系統崩潰或者入侵,是以,一旦發現漏洞,人們通常的第一反應是——趕快打更新檔。但是,幾乎每天都有新的軟體缺陷、漏洞被發現,伴随着無數相應的更新檔或者臨時解決辦法,安裝如此多的漏洞和更新檔是需要占用大量資源的。另外,倉促推出的更新檔有時未必安全,相反,或許還會引入穩定性、性能等方面的隐患。怎麼辦?看來,漏洞管理不是僅僅打更新檔就夠了,這裡面隐藏着許多學問。權威人士告訴你:打更新檔前要作衡量,建議通過漏洞的影響度、流行度、簡易度乘積(IPS)與企業資産聯系起來,以判斷該漏洞的安全風險,設定門檻值,最終達到科學地打更新檔的目的。 更新檔和漏洞管理 形成資源漏鬥 先來看一組數字。根據Meta Group的報道,2002年全年共發現和公布了4192個漏洞。同時,實際統計表明,平均一個系統管理者全年共花費1920個工時,将4個更新檔打到120台伺服器上,即在一個伺服器上打一個更新檔的平均時間大約為4小時,其中包括備份安裝測試等環節。假設該名系統管理者具有良好的技能訓練,可以在20分鐘内閱讀研究完一個漏洞及其更新檔解決方案,那麼,4192個漏洞總共需要172個人天。再假設其中隻有10%的漏洞适用于自己的網絡環境,這樣413個漏洞,每個相應的更新檔部署在10台伺服器上,共需要2065個人天(即同樣配置的伺服器數量為10個左右)。我們可以看到,這兩個人天數字加在一起,差不多是10個全職安全管理者一年的工作量,這裡還沒有考慮對廠家發表的更新檔進行測試和驗證的過程,也沒有考慮打更新檔失敗造成的二次資源消耗。可以看到,更新檔和漏洞管理已經成為一個很大的資源漏鬥,占用大量的系統管理者資源。 任何一名企業管理者對這些系統和安全隐患不能視而不見,但是,這樣巨大的資源消耗也承受不起,必須找到更有效的解決途徑,以填補這個巨大的“漏鬥”,這些解決途徑可以包括以下措施:引入知識共享或者外部知識庫(專業服務),減少漏洞和更新檔學習過程消耗;建立有效的更新檔管理流程和備份回卷計劃;引入自動化的更新檔和漏洞管理工具,加速布部過程 更新檔的風險成本 上面的數字說明打更新檔對于任何一個企業來說,代價是非常昂貴的。這種成本包含有收集、了解、測試、部署、備份恢複以及風險等成本。但是,不打更新檔的“成本”是資料失密、丢失、竄改、拒絕服務、系統恢複以及其它無形損失等。如果用一個簡單的數學模型來表達以上有關打更新檔的成本分析,即打更新檔的最佳時機的話,就是下面的成本不等式:部署成本+更新檔失敗機率×失敗成本 <= 攻擊入侵機率 × 攻擊入侵成本。 通常我們使用三個數字來描述一個漏洞的安全風險特性:I(影響度,即攻擊入侵成本)、P(流行度,即多大範圍内傳播了該漏洞)、S(簡易度,即利用該漏洞的難易)。後兩者的乘積(P×S)大約可以反映該漏洞導緻攻擊入侵的機率。不等式的右邊I×P×S代表的是該漏洞對應的不打更新檔成本,本質上反映的是更新檔管理決定的防禦強度(是否可以承受),參照圖1的示意圖。在曲線的最高點,按照100%安全的要求,即使是IPS乘積為0的更新檔(即風險極小)也必須完全部署。這時的代價極高,通常不符合安全風險管理的投資回報原則。 從上面的不等式,我們可以看出,左面的部署成本和更新檔失敗成本決定了“合算”的IPS強度。如果我們将部署成本降下來,通過測試将更新檔失敗的幾率降下來,則可以在保證投資回報的前提下,将更新檔引起的損失和成本降到最低,就可以提高IPS決定的防禦強度。 尋找打更新檔最佳時機 通常認為,對于發現的漏洞和更新檔應該盡快安裝部署。但是,按照美國USENIX組織發表的一個針對CVE漏洞和更新檔的研究數字表明,大概有18%左右的更新檔會稍後進行重新釋出,即出現了所謂的更新檔的更新檔,即意味着,在第一時間安裝上的更新檔,有18%的可能會帶來新的缺陷或安全漏洞。随着時間的推移,更新檔本身的安全性和穩定性會上升,由此造成的損失風險相應降低。 如圖2所示,我們必須在早打帶來的更新檔失敗風險與晚打帶來的入侵攻擊風險之間進行平衡,選擇較好的時機。從對實際CVE漏洞和更新檔的研究來看,新發表的更新檔大概需要2周到4周左右的時間穩定下來,換句話說,在更新檔發表後兩周,考慮盡快部署可能是較為穩妥的時間。如果不滿足這樣的時間延遲,則需要自己建立更強大快速的安全實驗室,專門來研究測試更新檔。将大規模部署更新檔的時間延遲提早到1周以内。 自動化打更新檔 降低部署成本 從前面的不等式我們看出,降低部署成本、減小更新檔失敗成本,可以提高更新檔管理決定的安全防禦強度。降低部署成本的有效辦法就是“自動化”,建立覆寫全網的自動化更新檔知識庫和管理系統,集中收集、建立、分發更新檔包。這樣的自動化系統可以帶來下面所列的明顯收益:将整個更新檔分發過程的時間視窗減小到極低;将每伺服器/每更新檔數小時的工時成本降到很低,即分發安裝費用降到接近零,隻剩下制作軟體分發包、檢查測試更新檔安裝結果的“工時”成本;保證全網在更新檔配置管理方面的一緻性。另外,減小更新檔失敗成本的辦法是對更新檔進行有效測試,具體做法可以是購買專業廠家的服務,也可以建立自己的安全實驗室。這樣的投資對于分布式的大企業來說,具有非常高的投資回報率。 更新檔本身的特點注定更新檔管理不可能有很好的預見性,但是作為管理者,在流程和手段上,卻不能不預見到更新檔管理的特性和意義,及其實施中的具體問題。所有的更新檔分發與管理工具隻是幫助加速或者自動化相應的政策和過程,提高效率和品質而已,但是不可能改變邏輯。如果更新檔管理流程本身是混亂的,那麼自動化的後果也肯定是混亂的。 更新檔管理相關政策和流程的設計需要充分考慮以下相關的重要流程環節,包括: 企業的安全政策:漏洞或者缺陷是對安全的威脅,安全政策應該覆寫針對漏洞和更新檔的相應政策,更新檔和漏洞管理流程則應該與上述政策相适應。 變更和釋出管理:更新檔的制作、測試、準許和部署應該納入标準的變更和釋出流程。如果目前尚沒有完整的變更和釋出流程,則在更新檔管理流程中應該明确定義更新檔的優先級或者分類、制作、測試、準許和部署以及驗證等相關職位、職責和時間。 配置管理:按照ITIL的最佳實踐,完整一緻的中心配置管理資料庫(CMDB)是保持高水準IT服務管理的保障。定義更新檔和漏洞相關的配置管理條目,并通過流程保證及時正确地更新。 資産管理:如果已經具備了資産管理體系和流程,更新檔和漏洞應該與具體的資産和相關業務優先級對應起來,正确設計不同關鍵性資産的特定流程。 備份恢複和業務連續性管理:更新檔部署的前後都會與企業的備份恢複以及業務連續性管理有關,需要充分參考、在必要時修改更新備份恢複和業務連續性計劃。 緊急響應:所有的更新檔管理流程必須設計相應的緊急響應流程。從前面的數字,我們知道,即使是官方正式發表的更新檔,也有相當的機率會出現自身新的缺陷或漏洞,與企業系統的應用關聯在一起,更新檔的漏洞是絕對不可忽略的。流程中必須保證這樣的恢複和緊急響應環節。 管理層應該綜合考慮相關的各個方面,充分借鑒在IT服務管理或者ITIL方面的實踐經驗,或者借助于外部的專業服務,設計與整體IT基礎設施管理系統相比對的更新檔管理政策和操作流程。同時,在應用前面的自動化更新檔管理系統之前,應該充分調查研究具體的IT環境和整個更新檔生命周期的各種問題,設計較為周密的更新檔管理政策和流程,至少應該明确定義更新檔管理的使用範圍、更新檔優先級、更新檔分發包的制作和測試、準許與分發安裝、安裝後測試、備份恢複計劃等。 更新檔管理是目前IT系統管理中越來越繁雜的内容。更新檔全部不打,安全風險太大;什麼更新檔都打,一方面成本很高,另外更新檔本身帶來的風險也不可忽略。本文建議:通過漏洞的影響度、流行度、簡易度乘積(IPS)與資産聯系起來判斷該漏洞的安全風險,設定門檻值。一般情況下,留出2周左右的測試時間,尤其是對于電信、銀行等關鍵性應用場合。部署自動化的更新檔管理工具可以大幅減小漏洞收集和更新檔部署成本,進而在相同投入情況下,提高更新檔管理帶來的安全強度。更新檔管理必須建立相應的流程,該流程應充分參考借鑒ITIL的最佳實踐,融入到整體的IT基礎設施管理體系中去。 ![]() 圖2 尋找打更新檔的最佳時機 責任編輯 趙毅 zhaoyi#51cto.com TEL:(010)68476636-8001 |