在進行安全評估時,很多人可能聽過這樣的說法。
我們將檢測到的安全風險以「影響度☓發生概率」進行了優先級排序!
…
安全風險=影響度☓發生概率
這是一個被使用了很長時間的框架。
或許你曾想過:
顧問或供應商提出這個公式,但怎麼覺得不太對勁?
安全風險的發生概率因人而異,理解上有困難。
那麼,安全風險的發生概率到底是什麼呢?
今天,我將撰寫這篇文章,為這個辯論劃上句點(或許有點過頭)。
首先想談的是影響度。
影響度是指某一事件(風險、問題等)發生時,能給情況帶來多大的損害或變化的程度。
這裡重要的是能給情況帶來多大的損害或變化這一部分。換句話說,影響度並非單一問題本身的屬性,而是取決於攻擊鏈成功後最終抵達的資產或業務的重要性。
假設在評估結果中檢測到了「特權ID被共用」的問題,這個問題的影響度應該如何評估呢?
憑直覺,我們可能會想回答「高」。假如域名管理員被奪取,整個系統將被控制。
然而,特權ID的共用並不是一個單獨會造成損害的事件。
攻擊者需先獲得初步訪問、探索內部網絡,然後竊取共享的特權ID的認證資訊,並利用該資訊進行橫向展開。這只是一系列攻擊鏈中的一步,並不能完全評估其影響度。
這裡就是「影響度×發生概率」模型的第一個問題。這個模型前提是將單一問題獨立地評估。然而,如MITRE ATT&CK或Cyber Kill Chain所示,網絡攻擊是從初步訪問到信息外洩的多個步驟的鏈條。
當嘗試將影響度分配給個別課題時,會出現兩個問題。
第一個是,最終的損害場景的影響度被轉嫁到個別課題上。
當評估「特權ID被共用」的影響度為「高」時,實際上我們評估的是因特權ID被濫用而導致整個系統被掌控制的最終場景影響度。
然而,要達成該場景,需要初步訪問、內部探索和資訊窃取等前提步驟,而每一步都有不同的防禦措施。
將最終場景的影響度直接貼到個別課題上,將無視攻擊鏈中其他的防禦層。
第二個問題是,所有的課題將都會評估為「高」。
無論何種問題,只要將攻擊鏈延長到最壞的場景,最終都會導致「信息洩露」或「業務停止」。
這樣一來,影響度的評估將失去差異化功能,無法用於決策。
真正應該評估的,是該課題在攻擊鏈中的位置及其對該鏈成立的促進程度。
接下來想談談發生概率。
這裡面存在比影響度更根深蒂固的問題。
發生概率是指某一事件實際上發生的可能性程度。
在自然災害的風險評估中,這一概念極其有效。
根據過去的地震數據、板塊的積累能量和地質結構等,可以統計推估東京在30年內發生震度6以上地震的概率。
這裡非常重要的一點是,無論我們采取何種防災措施,地震的發生概率本身不會改變。即使進行耐震強化和災害訓練,地震的發生概率仍然是相同的。因此「發生概率×影響度」用於事前定量化風險、排序應對優先級的方法成立。
自然災害並無意識。颱風不會專門攻擊特定企業。然而在網絡攻擊的另一邊,是具備意識與智慧的攻擊者。
攻擊者會選擇目標,進行偵察,並選擇最有效的攻擊路徑。也就是說,發生概率是根據攻擊者的意圖、能力以及作為目標的自身組織的吸引力而動態決定的。
防衛產業的下包企業與地方的小型零售店即使面對相同的脆弱性,其威脅質量卻完全不同。前者可能成為國家級APT的目標,後者則主要面對治標的勒索軟體。「發生概率:中」的評估可能會掩蓋這一根本差異。
還有一個更本質的問題。
在網絡風險中,對策本身會改變發生概率。
一旦導入EDR,某些攻擊技術的成功概率便會下降。啟用多因素身份驗證(MFA)則會顯著降低由認證資訊竊取所帶來的入侵概率。
然而,攻擊者也會觀察到我們的防禦狀態並進行調整。
識別到EDR的攻擊者會轉而採用繞過EDR的技術手段。如果有啟用MFA,他們可能會利用社交工程發動MFA疲勞攻擊。
也就是說,我們的防範措施將改變攻擊者的行為,而攻擊者行為的變化又會進一步改變發生概率。
這與金融市場中的「遞歸性」結構相同。
市場參與者的認識影響價格,而價格的變化又進一步影響參與者的認知。
如果著名分析師宣稱「這檔股票會上漲」,那麼該聲明本身將吸引買盤並推高股價,進而強化「果然上漲了」的認知。
在這種發生概率和觀察者相互影響的結構中,無法將概率事先確定為靜態值。
網絡風險恰恰位於這一遞歸結構之中。一旦評估某個脆弱性的「發生概率」,隨著評估結果的不同相應會採取對策(或不採取),攻擊者根據對策情況改變行為,最終「發生概率」就會成為與評估時不同的值。
「風險=影響度×發生概率」的來源,見於以ISO 31000和COSO為代表的企業風險管理(ERM)脈絡。ERM所針對的風險包括財務風險、操作風險、合規風險以及之前提到的自然災害等風險。
這些風險有一個共同特性,那就是發生概率可以統計(在一定程度上)進行推算,且這裡的對策狀況不會改變發生概率本身。
地震的發生概率在進行耐震強化後不會改變。
外匯波動的風險在制定對沖策略時,外匯的波動概率仍不會改變。
工廠火災的發生率可根據過去的統計數據合理推算。
因此提前估算發生概率,並將其與影響度相乘,以及計算對策的費用效益之法得以有效運用。
問題在於,將這一ERM框架毫無保留地移植到網絡風險中。
其背後也存在合理理由。管理層對ERM的「影響度×發生概率」矩陣已經非常熟悉。
向董事會報告的格式也希望能與其他風險域統一。
作為風險管理部門,若單獨針對網絡風險報告使用不同的框架,將會增加管理上的麻煩。
這種組織性的動力學,讓我們在未檢驗框架的適用性前,便推進了在網絡領域的應用。
然而,正如前文所述,網絡風險不具備ERM所假設的特性。
發生概率會根據攻擊者的意圖而動態改變,而我們的對策將改變概率本身,更甚者攻擊者也會隨之調整。並不存在類似自然災害那樣統計上穩定的概率分佈。雖然它們都涉及「概率」,但其性質根本上是不同的。
那麼,我們應該採用什麼呢?首先是一種將風險分解為威脅、脆弱性和影響度三要素的方式。
「影響度×發生概率」模型的問題在於,「發生概率」這一單一軸上混雜了攻擊者的意圖、攻擊的技術實現性以及現有對策的有效性等本質上不同的要素。而這三要素模型能夠清晰地將其分開。
威脅是評估「誰、為什麼、如何發動攻擊」的要素。攻擊者的意圖、能力以及針對自組織的動機都包含在內。行業內的APT團體是否已經確認正在活動,或是主要面臨偶然性的機器人掃描。是否存在公開的PoC或已經被觀察到的攻擊。這些都是獨立於防禦方對策的攻擊方變數。
脆弱性則評估「該問題在攻擊鏈中處於哪一階段,並且在何種程度上促進該鏈的成立」。正如影響度部分所述,個別問題是促進攻擊鏈中某一步驟的重要因素。如果是這樣,則需要評估該因素對整體鏈成立的貢獻程度。
這裡重要的是該問題在鏈中的位置。涉及初步訪問的問題(VPN脆弱性、公開伺服器的RCE)是開啟鏈的關鍵所在,如果不突破該步驟,後續步驟就無法發生。相對而言,涉及持續性(Persistence)或橫向移動(Lateral Movement)的問題則是促進鏈中後期的因素。前者將直接影響鏈的成立,後者則將影響鏈進行後的損害擴大。即使被評為「脆弱性:高」,其意義卻是不同的。
另外,鏈中的每個步驟是否存在其他防禦層也應納入評估。如果特權ID被共享,但在到達該步驟時,已經存在網絡隔離、EDR的檢測以及SOC的監控等防禦措施,那麼整體鏈的成立可能性便會下降。相反,如果都不存在,則一個脆弱性將使整個鏈成立。脆弱性的評估不在於單獨看待該問題,而是應根據攻擊鏈中的位置及周圍防禦層的存否來做出判斷。
影響度則評估「如果攻擊鏈成功,會發生什麼」。正如上文所述,這並非取決於單個課題的屬性,而是最終抵達的資產或業務的重要性(客戶數據的規模、業務停止時的損失金額、合規處罰)。
在此,或許你會想「最後,涉及重要資產的問題不都是影響度高嗎?」確實如此。
但這也沒有問題。在傳統模型中「全部都高」的問題在於影響度本質上是唯一的區隔軸。而在三要素模型中,即使影響度都是「高」,卻也能依據威脅和脆弱性的評估來分出優先級。在通往相同客戶資料庫50萬件的攻擊鏈中,從互聯網直接可以被利用的問題,與假設內部進入需要多個步驟才能實現的問題,風險水平則完全不同。影響度在此並不是設置優先級的軸,而是用於判斷對策必要性的前提條件。
替代方案1的「威脅×脆弱性×影響度」在實施上需要時間及專業知識。在這種情況下,以攻擊的成立可能性為軸的風險評定則有效。
其思路很簡單,這一問題的存在,在多大程度上使攻擊者容易完成該步驟。
| 風險水平 | 判定標準 |
|---|---|
| 高 | 攻擊步驟的成立條件幾乎都已具備,存在被利用的高可能性 |
| 中 | 具有潛在風險,但攻擊步驟的成立仍需額外條件 |
| 低 | 偏離最佳實踐,直接的攻擊成立可能性低 |
需注意的是,「攻擊的成立」所涵蓋的範圍。這並不指的是攻擊鏈的整體成功——也就是最終的信息洩露或業務停止——而是直接問到該問題在攻擊步驟中是否成立。
與「影響度×發生概率」矩陣的決定性區別在於,其評估軸的「條件」並非「概率」。即代替「這次攻擊發生的概率是幾%」——這一問題本質上無法回答——換成「這步攻擊成立還需什麼條件」這一技術上可以驗證的問題。
到目前為止,我已經談到了「影響度×發生概率」模型的問題,但這一框架在某些場景下確實便於使用。
在向董事會或CxO報告時,對於「這個問題是位於MITRE ATT&CK的初步訪問中的脆弱性,綜合考量威脅行為者的TTPs,攻擊步驟的成立條件是……」,有多少人能耐心聽到最後呢。管理層所需要的,很簡單的答案是「那麼,這到底有多糟糕?」或「我們安全嗎?」。作為報告格式,「影響度×發生概率」矩陣確實易於理解。
在這方面,我們可以靈活運用日本人擅長的表裡分明。
在表面上(面向管理層的報告),可以使用管理層熟悉的「影響度×發生概率」矩陣進行報告,以便於與其他風險領域進行平行比較。
而在實務現場(實務工作),則用「威脅×脆弱性×影響度」及攻擊成立可能性來進行評估。我們將分析評估結果,設置對策優先級,制定具體的應對計劃。然後在向管理層報告的階段,將結果轉為「影響度×發生概率」的矩陣格式。
重要的是這一翻譯的方向。「影響度×發生概率」的評估應在決定對策之前進行,而不是在事後決定對策後再用三要素模型進行評估,否則順序顛倒將會帶來所有問題的重現。
作為提供安全評估的角色,我自己有幾點需要注意。
首先,在我參與的項目中,我不使用「影響度×發生概率」的框架。雖然我希望整個公司都這樣做,但首先要從我能掌控的範疇開始。考慮到評估成果必須有效地用於客戶的決策,該框架的有效性是我所堅持的底線。
另有更重要的一點。
用「安全風險=威脅×脆弱性×影響度」進行評估,意味著從攻擊者的角度看待風險。這一脆弱性是否真的有被利用的可能,位於攻擊鏈中的何處,是否能夠被其他防禦層阻止等。判斷這些需要的技能與僅僅閱讀檢查列表並附上是/否的能力是根本不同的,需具備相應的攻擊技術知識。
因此,我們的評估團隊必須由具備攻擊者技能的人員組成。而對於那些不具備技能的成員,我們也會進行培訓,使其能達到該技能水平。改變框架也意味著改變所需人才的質量。
最後,對於讀到這篇文章的人,我有一個請求。
當下次你從顧問或供應商那裡聽到「影響度×發生概率」的矩陣時,請試著問一句。
「這對於網絡攻擊來說,是不是不合適呢?」
這一句話或許將成為改變形式化評估的第一步。