周 磊,姜雙林,饒志波
(北京安帝科技有限公司,北京100125)
典型的工業控制系統(ICS)網絡資產和企業網絡資產之間存在著關鍵的差異[1-2],這導致漏洞修復的流程在ICS網絡中與企業網中也存在明顯的不同。應用安全補丁是網絡安全既定計劃的一部分,也是風險管理的一個重要步驟。企業的目標不是擁有完全修復補丁的網絡資產,而是將風險管理到一個可接受的水平。當安全補丁是將風險降低到可接受水平的最有效率和最有效果的方法時,應該安裝這些補丁。
工業控制系統的漏洞修復因其自身的特點,在實踐中面臨復雜性和可行性的挑戰。首先ICS資產存在天然的安全缺陷。許多ICS網絡資產缺少安全設計,漏洞頻出,應用安全補丁通常會降低風險。其次,ICS資產處于嚴格隔離的網絡。對于攻擊者來說,ICS網絡資產通常比企業網絡的資產更難訪問。第三,ICS的攻擊可能導致極其嚴重的物理后果。許多ICS控制的物理過程有可能對人的生命造成損害,對環境造成破壞。第四,ICS資產的生命周期相對較長。大多數ICS網絡資產和ICS本身都有靜態的特點,與典型的企業網絡資產和企業網絡相比,很少發生變化。
然而,數字化轉型的加速,網絡連接泛在化、工業設備數字化、生產流程智能化、大容量、低時延、高速率等數字時代的新興技術特征,正在加速變革傳統的漏洞管理態勢。補丁應用作為ICS漏洞管理過程的關鍵環節,相比傳統IT漏洞的修復面臨更大的困難和更嚴峻的考驗。
本文的主要貢獻是總結了當前CVSS評估系統在工業場景下的不足,梳理了當前圍繞ICS漏洞補丁應用研究的四種主要決策方法,最后結合工作實踐,提出了實踐中可行的ICS漏洞管理方法。
在信息系統漏洞成為戰略資源的當下,對漏洞的全生命周期管理也成為化解信息系統網絡安全風險的重要手段。目前國際標準化組織、各國網絡安全主管部門、各大研究機構和大型網絡安全企業,均出臺了相應漏洞管理的標準和指南,如ISO的《ISO/IEC 30111:2019信息技術-安全技術-漏洞處理流程》[3];美國NIST的《NIST SP 800-40第2版 創建補丁和漏洞管理程序》《NISTIR 8011(Volume 4)安全控制評估的自動化支持:軟件漏洞管理》[4];英國國家網絡安全中心發布的 《NCSC漏洞管理指南》[5];SANS發布的《實現漏洞管理過程》[6];卡耐基梅隆大學的《漏洞管理-V1.1》[7];美國能源部桑迪亞實驗室的《關于進行安全漏洞評估的規范指南》[8];美國NIST下屬國家網絡空間安全卓越中心的《網絡安全衛生:修補企業漏洞》[9];中國的《GB/T 30276-2020信息安全技術網絡安全漏洞管理規范》標準等。這些標準規范對漏洞披露到漏洞修復補丁后的活動以及相關利益方給予了指導,具有積極的意義。但對于工業控制系統而言,這些漏洞管理的過程似乎無能為力,無法突顯OT域漏洞管理的特殊性。而美國國土安全部下屬CISA發布的漏洞管理流程,更加適合工業控制系統的漏洞管理。該流程分為以下四個階段,漏洞修復是其重要一環。
(1)挖掘階段:惡意的黑客(壞小子)、漏洞賞金獵人(私營機構的研究者)、官方的研究者(DHS研究人員)和設備廠商自己的研究人員分別進行的漏洞發現活動;
(2)初始披露階段:各種形式的披露(涉及賞金計劃者、會議演講、郵件列表、產品安全響應團隊、安全事件響應組織、CISA等官方機構),CVE編號組織分配編號等;
(3)分析和協調階段:分配漏洞編號后,歸類驗證、正式披露或發布、嚴重性評估(CVSS評分)等;
(4)修復階段:補丁或更新的發布、定位受影響系統、檢測是否有在野利用、其他緩解措施公布等。
即使這個規范,對ICS漏洞的修復也不具有可操作性的指導。
CVSS[10]作為IT域漏洞的嚴重性評級指南,可以指導企業做出修復的決策。但在OT域是否可以同樣應用CVSS這個標準評分系統存在疑問,在目前尚不存在用于漏洞評分的更科學的標準指標的情況下,需要明確管理IT和OT系統時CVSS評分系統的優缺點。
文獻[11]對現行CVSS評分系統在ICS/OT域中的適用性進行了分析。CVSS明顯的優勢是其定義了一套漏洞的詞匯、術語和評分準則,目前它是全球通用的為數不多用于實踐的標準。一方面,在討論漏洞時,可以據此以同一種語言進行交流,而不論漏洞所屬的分類、應用和行業等。另一方面,CVSS提供需要緩解的現有風險的指標。無論是否有可能對任何提到的漏洞(CVE)進行補救,其存在都表明了不應忽略修復/修補,通過補償性控制減輕風險,以及至少進行管理/記錄風險。當將其運用于OT域時,CVSS的不足或局限性也逐漸暴露出來。
用戶關心的是脆弱性或漏洞給他們帶來的風險,即漏洞被利用后產生的影響,或他們應對漏洞的速度。恰恰工業網絡風險考量的一個重要因素就是影響。一般而言,嚴重性僅應作為漏洞響應優先級的一部分。人們可能還會考慮利用漏洞的可能性,或者是否可以公開利用漏洞。漏洞利用代碼成熟度向量(以時間度量)試圖解決漏洞利用的可能性,但默認情況下總是假設漏洞利用廣泛,這是不現實的。
CVSS分數由三個度量標準組構成:基本指標、時間和環境。大多數已發布的CVSS分數僅報告基本指標,該指標描述了隨時間變化的漏洞特征。時間組包括漏洞利用代碼的成熟度和獨立于特定環境的可用補救措施。環境指標只能使用對易受攻擊的系統所在環境的了解來評估。為發現的漏洞創建CVSS的研究人員通常不考慮環境得分或將其標記為“零”,因為他們對每個單獨的環境都不熟悉。為了考慮環境評分,每個受影響組織中的安全分析師都需要評估其環境并修正評分。
CVSS考評的是漏洞的嚴重等級,不是風險評分。環境分數可以通過考慮本地緩解因素和配置詳細信息來修改基本分數。如果利用了此漏洞,它還可以調整對資產的機密性、完整性和可用性(CIA)的影響。但是,它仍然是衡量嚴重性的標準,并且沒有考慮暴露資產對組織的價值,這是關鍵的風險因素。
更客觀衡量標準的兩個因素是漏洞利用的潛力和資產的關鍵性。使用CVSS對漏洞的響應進行優先級排序可能會看到這樣的結果:CVSS得分為10的漏洞升至優先級列表的頂部,即使它們可能影響的資產只會造成很小的損失。如果它們受到損害,則會對業務產生影響。高分數也歸因于漏洞,即使當時犯罪分子沒有在野外利用漏洞。同時,CVSS分數為5的漏洞在優先級列表中排名較低,即使它們可以暴露高價值的資產并且正在被犯罪分子積極地用作武器。結果,首先修復了得分為10的漏洞,使犯罪分子有充裕的時間利用得分僅為5的漏洞。
修補問題過去通常由供應商及其批準此修補程序的能力來決定。如今,即使解決方案已經存在并且可以在許多關鍵環境中使用,從而在很大程度上解決了修補OT資產的技術難題,但是,ICS漏洞報告持續增加,如何對ICS漏洞管理活動進行分類和優先級排序,CVSS系統顯然是無能為力的。
ICS漏洞逐年增加積累,是否需要修復、何時修復、修復順序如何確定等問題依然困擾著ICS漏洞管理相關方。相關研究機構也進行了有益的嘗試與探索,典型的就是基于決策樹的ICS漏洞補丁應用方法。
文獻[12]提出了一個可測試的特定于利益相關者的漏洞分類方法——SSVC,它避免了通用漏洞評分系統(CVSS)的某些問題。SSVC采用針對不同漏洞管理社區的決策樹的形式。應用SSVC的結果是得到一個優先級決策,如圖1所示。文獻[12]將漏洞修復分為四個優先級:推遲、排期/計劃、帶外和立即。各優先級下開發人員和應用者的決策如表1所示。

表1 各優先級下開發人員和應用者的決策

圖1 為補丁應用者提出的漏洞優先級決策樹[12]
SSVC方法是根據漏洞被利用帶來的風險來對漏洞進行優先級排序。修補成本(風險方程的另一面)不在該文討論的范圍之內。但修補成本至少包括三個方面:首先也是最明顯的是應用補丁的交易成本。向系統管理員付費以開發或應用補丁,并且這可能還需要其他交易成本,例如更新補丁需要停機時間。其次是失敗的風險成本,如果補丁引入了新的錯誤或漏洞,同樣會造成損失。回歸測試是開發人員為此費用支付的一部分。最后應用補丁可能會產生運營成本,代表功能的不斷變化或增加的開銷。成本考量可能是決策者在一個優先級類別(計劃的、帶外的等)內安排工作的一種方式。
由于漏洞管理中有許多不同的利益相關者,因此文獻[12]力求避免采用千篇一律的解決方案。在SSVC方法中,為兩個利益相關者角色開發決策樹:補丁開發人員和補丁應用者[12]。在CERT協調漏洞披露指南中,這些角色分別對應于供應商和部署者角色。
資深的ICS/SCADA網絡安全專家、Digital Bond和S4 Events的創始人Peterson對SSVC方法進行了改進[13]。其創建了ICS-補丁項目以幫助ICS資產所有者決定何時修補漏洞,該項目有兩個主要目標:一是根據每個安全補丁對降低風險的貢獻,對ICS資產所有者的哪個資產在什么時間修補做出決策;二是實現決策的自動化,即不需要人工交互,只需要在設定好ICS補丁修復過程后,即可為每個可用的安全補丁提供推薦的修補決策。自動化并不意味著自動應用安全補丁,ICS資產所有者可以選擇對選定的安全補丁實施進一步分析。ICS資產所有者變更控制過程應該驅動安全補丁的應用。
Peterson改進的ICS補丁修復方法使用決策樹來選擇“盡快(ASAP)”“推遲”“計劃”應用ICS網絡資產上的安全補丁。決策樹中的每個節點/決策點將ICS補丁過程移動到更接近補丁應用程序決策的位置,如圖2所示。

圖2 產生直接影響的決策樹[13]
除了ICS網絡資產的一個決策點值之外,所有的決策點值都是靜態的,當網絡資產被放入資產庫時,很少發生(如果有的話)更改。技術影響決策點與正在修補的漏洞有關,CVE的CVSS評分用于將其設置為高、中或低值。這使得何時修補、修補什么的自動化問題變得更簡單。
此ICS補丁決策樹可以在資產庫/資產管理產品、漏洞管理應用程序或單獨應用程序中執行。ICS補丁決策樹將產生針對每個網絡資產/安全補丁對的如下三個結果之一:
(1)推遲:不要應用或計劃在網絡資產上應用安全補丁以降低風險(資產所有者可以選擇應用安全補丁作為網絡維護的一部分,以保持系統的支持)。
(2)排期(計劃):安全補丁應在下一個預定的補丁窗口期應用于網絡資產。對于一些ICS,這可能是每年或每半年發生的計劃中斷。對于其他類型資產,可以選擇按季度或月修補。
(3)盡快(ASAP):以安全的方式盡快在網絡資產上應用安全補丁。
Peterson的改進方法中的決策結果有三類,而SSVC有四類。他將帶外和立即的SSVC類別合并為盡快(ASAP)。相應地,對暴露、漏洞利用、任務影響、盜用、功能安全影響、安全態勢改變等決策因素也作了簡化。
在IEC 62443-2-3中對補丁生命周期規范了11個不同的狀態[14],不同的狀態涉及資產所有者、產品供應商,分別是可用的、測試中、未批準、未應用、已批準、已發布、內部測試中、未獲得授權、已授權、有效的和已安裝。
漏洞的補丁開發完成后,就可以啟動交付過程了,實際上就是系統地評估這個軟件補丁,以確保它確實解決了所發現的安全缺陷。其次,保證它不會引入回歸,也不會損害任何其他系統屬性,例如安全性或可用性 (更新可能會導致嚴重的操作中斷)。新軟件與相關組件、操作系統的兼容性(包括操作系統更新包)也應進行評估。所有的軟件補丁評估過程都應該被適當地記錄下來。基于IEC 62443-4-1指定的軟件更新交付因素,圖3顯示了一個建議的軟件更新交付決策樹[15]。

圖3 軟件補丁評估和交付策略決策樹[15]
在實踐中,企業通常對要評估的補丁進行分類,并在給定的時間段內交付。首先,對發現的漏洞的潛在影響進行檢查。此時眾所周知的常見漏洞評分系統(CVSS)可以派上用場。根據計算出的評分,確定潛在的影響。該分析已經在評估安全問題管理階段執行。最后,應該考慮部署系統的數量。
根據文獻[16]的研究,在超過10萬臺工業控制設備中,50%的設備在發現漏洞后60天內進行了修補。正如文獻[17]的軟件補丁測試所宣稱的那樣,優先級和時間安排經常是沖突的。
以色列工業網絡安全企業Scadafence[18-19]開發了一個基于決策樹的工業漏洞決策工具,將漏洞和補丁對資產的影響程度,通過回答相應問題進行評分來綜合判定。漏洞信息方面,設計了四個方面的問題:即時影響、其他影響、暴露情況、利用的可能性。每個問題對應三個答案,得分為1~3分,得分高就意味著不打補丁的風險高。而在補丁信息方面,設定了五個方面的問題:耗時、錯誤、穩定性、范圍和恢復,每個問題有三個答案,分別計1~3分,得分高意味著修補的風險高,參見圖4。

圖4 軟件補丁評估和交付策略決策樹[18]
漏洞和補丁兩項共計九個問題,分別累計評分。如漏洞項,暴露得分3,利用的可能性得分2或3,無論補丁項評分多少,都將得出現在修復的決策;如果漏洞項得分10,補丁項得分不超過7,則得出現在修復的決策;如果漏洞項得分4,而補丁項得分是7分及以上,則做出記錄漏洞,不修復的決策。
上述四種漏洞補丁修復決策的方法中,從決策要素、決策過程、復雜程度、決策結果以及最終的可操作性來看,都有各種的優點和不足。SSVC方法和改進的SSVC方法總體上看仍然屬于定性的方法,決策結果的落實仍然存在不確定性。而基于IEC 62443國際標準的決策方法和Scadafence公司的決策樹方法,總體上可歸為定量的方法,結果是有明確的實現時限的。表2所示為四種ICS漏洞補丁修復決策方法的比較。

表2 四種ICS漏洞補丁修復決策方法比較
在當前工業控制系統的網絡安全探索和實踐中,最困難的問題就是對OT域的設備,特別是那些控制系統設備(普渡模型中0級和1級的設備),不敢碰、不能動,即使明明知道存在各種老舊的、歷史遺留的漏洞、脆弱點。其實這暴露出的是IT與OT/ICS之間巨大的人員、技術、過程和文化的差異。在當前數字化轉型的驅動下,IT與OT融合加速,IT網絡安全和OT網絡安全也呈現融合發展之勢。聚焦到OT域安全漏洞的修復問題上,核心問題就是ICS設備應用補丁通常伴隨較高的成本和代價。比如應用補丁可能會導致設備被“磚化”或導致同步問題,還有可能導致停機,而這正是用戶想要通過打補丁防止的。即使前述基于決策樹的方法形成了在一個確定的時間給一個確定的設備打上安全補丁的決策,但現實中仍然會讓應用者舉棋不定。基于決策樹的方法目前還處于理論探索,有待實踐和時間的檢驗。鑒于此,在常態化的OT/ICS漏洞管理中,堅持一些業界公認的安全實踐可能更加有效。
最基本的管理,就是維護一個自動的、最新的、被動和主動的最全面的資產清單,即增強對OT資產的全面可見性。“你無法保護你看不到的東西”,資產清單應該不只是一份資產清單。一個強大的資產庫管理解決方案是一個成功的漏洞管理程序的關鍵,需要掌握每個資產的詳細概要數據(如資產對操作的關鍵性、資產所在的層、是否遠程可訪問等)。關于每個資產的關聯信息越多,脆弱性分析和優先級劃分就越強。
優先考慮漏洞,了解設備對網絡威脅的暴露程度,設備和漏洞的關鍵程度,以及補丁的有效性。漏洞掃描在OT中比在IT中面臨更大的挑戰,幾乎不可行。代替漏洞掃描,利用基于代理的OT系統管理方法是最好的選擇。實時覆蓋資產及其漏洞,保護最關鍵的OT資產才會多一份保障。
漏洞關聯到資產,通過將漏洞披露源與資產清單匹配來將漏洞映射到資產。避免掃描漏洞,以防止因工業設備不穩定而停機。為了優先修復漏洞,組織需要進行360度的風險評估,包括超出CVE或CVSS的綜合風險評分。不能僅停留在識別潛在的風險和弱點的層次,應以最有效的方式推動最大風險因素的緩解行動。
隔離脆弱的設備,在發現哪些設備易受攻擊之后,考慮將它們放在防火墻后,將它們的接口限制在網絡上,以減少攻擊面。有效的物理或邏輯隔離措施/微隔離措施,可阻止可能的攻擊者橫向移動或攻擊成果最大化的態勢,從而遏制攻擊行動,為防御者贏得時間。
由于漏洞披露、補丁開發、測試驗證、應用補丁等幾個關鍵階段存在較大的時間差,預測和監測漏洞后利用也是一項重大考驗[20]。檢測漏洞利用,有些設備將暫時或永久地保持未修補的狀態,需要部署技術手段方法來監測網絡漏洞的利用,同時建立規則或策略來阻斷漏洞利用的入口和通道。通過威脅情報共享、網絡流量監測分析等手段,監測相關漏洞被利用的動態,及時調整和修正防范措施。
工業控制系統的漏洞管理絕不是一個簡單的過程,或者一個標準、規范或指南可以解決的。核心的本質問題——成本,無論是時間成本、空間成本、經濟成本、聲譽成本,都需要一個權衡過程。這也是上述漏洞修復策略無法回避的一個問題。無論是SSVC方法、改進的SSVC方法、基于IEC62443國際標準的方法,還是Scadafence的決策工具,均是提供一個可行的基線來改進和完善一個ICS漏洞應用補丁的優先排序方法。每種決策方法也都有其優勢和局限性。當下,充分考量具體行業甚至業務應用的特殊性,堅持工業控制系統的一些最佳安全實踐,不失為務實可行之策。未來關于ICS/OT漏洞補丁應用策略的研究,仍需關注于進一步的需求收集、決策過程可靠性的進一步測試,以及擴展到補丁應用程序和補丁開發人員之外的其他類型的利益相關者。特別是要借鑒長期以來OT側系統工程的技術和管理實踐,來推動網絡安全融合態勢下ICS漏洞的管理。