摘要:在攻擊樹模型的基礎上,對該模型進行擴展,提出了一種新的定量的風險評估方法。在對葉子節點(原子攻擊)風險值的量化中,采用了多屬性效用理論,使得評估更加客觀;對該方法的每一步驟均給出了具體的算法,為實現自動化的評估工具建立了基礎。
關鍵詞:攻擊樹; 攻擊鏈; 安全風險評估
中圖分類號:TP393.09文獻標志碼:A
文章編號:1001-3695(2007)11-0153-04
隨著信息技術的發展,以網絡為載體、以信息資源為核心的信息系統規模不斷擴大,隨之而產生的信息戰和網絡攻擊事件不斷升級,信息系統所面臨的安全風險和威脅日趨嚴重。怎樣確保信息系統能夠長時間處于較高的安全水平而免受攻擊,是目前急需解決的問題。
從理論上講,安全管理是一個動態的過程,而不是一個產品,也不能期望通過一個安全產品就能把所有的安全問題都解決。因此,在考慮采用安全技術解決信息系統安全的同時,需要建立最優的安全風險管理對策。風險管理(risk management)包括風險識別、風險分析、風險評估和風險控制等內容。它可以看成是一個包括風險評估、實施決策支持、實施控制和評定計劃有效性四個主要階段組成的持續過程,是一個不斷降低安全風險的過程。其最終目的是使系統的殘余安全風險降低到一個可接受的程度。只有首先進行安全風險評估,才能確定系統的漏洞、風險最大的區域等,并經過成本效益分析,從而采取必要的安全措施,使信息系統的殘余風險降低到一個可接受的程度。
在風險管理領域中,風險通常被定義為由于潛在的安全風險事件導致的期望損失的度量,即風險(R)=潛在威脅事件發生的可能性(P)×事件造成損失(C)
1擴展的攻擊樹與攻擊鏈
1.1擴展的攻擊樹概念
攻擊樹模型是B. Schneier[1]在1999 年提出的一種描述系統安全的方法。樹的根節點表示攻擊者要達到的最終目標;葉節點表示攻擊者可能采取的攻擊手段;各中間節點表示要達到最終目標所必須完成的一些中間步驟或一些概念性的目標(或叫子目標);根節點的各子樹代表達到最終目標的可選方法。樹中的節點可以是與(and)節點,也可以是或(or) 節點。And節點表示要到達該節點, 此節點下的各分支必須全部完成;or節點表示要到達該節點,此節點下的分支只要有一個完成即可。在實際情況中,有的與節點相互之間是有約束關系的。因此,本文引入了順序與節點(Sand:sequence and)來擴展攻擊樹的概念。Sand節點表示要到達該節點,此節點下的各分支必須全部按順序完成。三種節點的圖形表示方法如圖 1所示。
1.2攻擊鏈概念
攻擊鏈就是從一個系統的初始狀態,由于系統中存在脆弱點并被威脅利用,系統受到了攻擊而到達了另一個狀態。由很多個攻擊鏈就組成了攻擊鏈樹。如圖2所示,Sn(n=1,2,…)表示狀態;An(n=1,2,…)表示攻擊。
2信息系統安全風險評估
基于擴展攻擊樹的信息系統安全風險評估方法是一種演繹分解風險分析方法。它將攻擊者要達到的最終攻擊目的作為樹的根節點,然后分析要達到這一目的可能采取的攻擊手段,將攻擊者可能采取的這些攻擊手段作為樹的葉節點。所有各中間節點表示要達到最終目標所必須要完成的一些中間步驟或一些概念性的目標(或叫子目標),根節點的各子樹代表達到最終目標的可選方法。最后采用多屬性效用理論對葉子節點(原子攻擊)風險值進行量化計算,得出整個系統的安全風險結果。
利用攻擊樹描述方法對系統進行風險評估具體可以分為以下幾個步驟:
a)了解系統總的安全狀況,從攻擊者的角度考慮攻擊者要實現的最終目標,構造攻擊鏈,然后由攻擊鏈構造攻擊樹。
b)得到了攻擊樹之后,求每個葉子節點量化了的風險值。
c)對系統進行風險分析,確定系統總的風險和攻擊者最可能采取的攻擊序列。
d)由風險分析的結果,結合成本效益分析,從而采取相應的控制措施。
2.1求攻擊鏈
從攻擊者的角度分析考慮攻擊者要實現的最終目標,構造所有的攻擊集(A)以及系統受每個攻擊后所處的狀態(S)從而構造攻擊鏈。
攻擊鏈算法[2]如下:
4相關研究工作
信息安全管理是一個動態的復雜過程,而風險管理則是信息安全管理的基礎,是保證信息安全投資回報率優化的科學方法。國內外許多學者對此從定性、定量兩方面進行了深入的研究,從目前的研究情況來看,主要分為以下幾類:
a)采用政府、企業或科研機構頒布的信息安全評估標準或指南建立相應的風險評估工具。目前常用的一些標準有ISO/IEC 17799[4]、NIST制定的FIPS 65[5]、英國標準局制定的BS 7799[6]、Carnegie Mellon大學提出的系統安全工程能力成熟度模型(SSE-CMM)[7],微軟也組織編寫了一套安全風險管理指南[8],旨在幫助各類用戶建立和維護一個成功的安全風險管理計劃。這些標準或指南對系統的安全管理過程實施和風險評估具有很好的指導作用,但是不能直接用于對某個具體系統進行風險評估,并且大多數也只是定性的風險評估,對評估者的能力有很高的要求,評估的主觀性很強。
b)通過建立專家系統對系統進行評估。通過收集一些風險評估實例的相關歷史數據,進行分析得出相關的評估經驗;然后用這些已有的評估經驗數據去評估新的信息系統的風險。這種評估方法的準確性依賴于大量的歷史數據,投入周期太長,并且對于不同種類的系統不一定具有很好的移植性。
c)借助一些風險評估工具。風險評估工具的出現在一定程度上解決了手工評估的局限性。這些工具都是以某個或某幾個風險評估標準為基礎而開發的。例如英國Insight Consul ̄ting公司開發的CRAMM風險評估工具,它完全遵循了BS 7799和ISO 17799規范,同時具有風險評測和風險管理功能[9]。英國CA System Security Limited公司研制的一套風險分析、咨詢和安全評價工具COBRA,它改變了傳統的風險管理方法,提供了一套完整的風險分析服務,同時遵循BS 7799和ISO 17799規范校核[10]。美國RiskWatch公司研制的安全風險評測和管理軟件RiskWatch ISO 17799,它以ISO 17799標準為評測基礎,具有風險評價和風險管理的功能[11]。此外,還有加拿大Callio Technologies公司開發的Callio secura 17799[12]、英國Patron Global Limited公司開發的Proteus professional[13]。這些工具具備的功能都大同小異,在用戶選擇時,要重點考慮這些工具的價格、易用性以及適應不同需求的靈活性三個方面[14]。從目前來看,這些專業風險評估軟件價格較貴,實施起來比較復雜,直接使用該軟件不一定能滿足系統風險評估的要求。
d)一些學者借助于不同的數學方法提出許多風險評估定量分析方法。M. Sahinoglu[15]提出根據系統的脆弱點建立一套決策樹,然后計算每個脆弱點的殘余風險,再根據整個系統的殘余風險和投資成本計算期望損失成本。Schechter[16]從經濟學的角度提出了一個來自遠程攻擊的安全風險經濟模型。該模型主要采用回歸分析方法分析系統脆弱點的發現成本,然后再預測在給定的時間內以某個給定的價格發現某個新脆弱點的可能性。朱巖等人[17]在ISO 17799的基礎上提出了一種模糊風險評估模型,通過使用多層結構的模糊關系,將復雜關系分解為由局部簡單關系構成的遞增層次關系,并提出了評判準則及其到評判集元素間的映射。評估過程中的數據都是通過提問和專家打分的方式獲取的,評估結果具有較強的主觀性。故障樹法是一種演繹的風險分析法,將系統總的風險狀況作為樹頂事件,通過分析造成樹頂事件各種可能的原因及彼此關系,畫出邏輯關系圖(即故障樹),根據該邏輯關系圖確定樹頂事件發生的原因和概率[18]。
攻擊樹是一種圖形化的描述方式,從攻擊者的角度來考慮,它能很直觀地分析系統存在的風險。本文在其基礎上進行擴展,提出了一種新的風險評估定量分析方法。與其他的方法相比,它有明顯的優勢。通過采用此方法,不僅可以得出系統總的風險值,而且幾乎可以得到攻擊者可能采取的所有攻擊序列方式,通過對所有的攻擊序列風險值進行排序,得到的最大風險值序列即為攻擊者最可能采取的攻擊序列方式,得到的系統總的風險值也更客觀(通過多個屬性對攻擊進行了刻畫),并且還具有結構化、可重用的特性。
5結束語
本文通過對攻擊樹的擴展,考慮到同層節點之間的先后關系,提出了一種新的風險評估方法,在求原子節點的風險值時,采用屬性的觀點,降低了評估過程中的主觀因素。使用該方法得到的評估結果對風險管理者具有很好的指導作用,并對每一步驟都給出了具體的算法。同時,通過對系統構造攻擊樹,可以很好地對系統的安全狀況進行風險評估,找出攻擊者最可能采取的攻擊方式,從而采取相應的控制措施。
在風險評估中,不可避免地受主觀因素的干預,如本文中求原子攻擊的風險值,并且整個評價過程都是基于手工方式實現的。如何減少主觀因素在風險評估中的影響以及如何設計一個基于攻擊樹的自動化風險評估工具是下一步研究的重點。
參考文獻:
[1]SCHNEIER B. Attack trees: modeling security threats[J]. Dr Dobb’s Journal, 1999,24(12):21-29.
[2]DAWKINS J, HALE J. A systematic approach to multi-stage network attack analysis[C]//Proc of the 2nd IEEE International Information Assurance Workshop.Washington D C: IEEE Computer Society Press,2004: 48-56.
[3]EVANS S, WALLER J. Risk-based security engineering through the eyes of the adversary[C]//Proc of the 6th IEEE Systems, Man and Cybernetics Information Assurance Workshop. New York: IEEE Computer Society Press, 2005:158-165.
[4]ISO. ISO/IEC 17799, Information technologysecurity techniques: code of practice for information security management[S].[S.l.]:International Organization for Seandardization, 2005.
[5]STONEBURNER G, GOGUEN A, FERINGA A. Risk management guide for information technology systems[K]. Gaithersburg:NIST Special Publication, 2002.
[6]BSI. BS 7799, Code of practice for information security management[S].London: British Standards Institute, 1999.
[7]SSE-CMM model description document[S]. version 3.0.Pittsburgh: Carnegie Mellon University, 2003.
[8]Microsoft Corporation. The Microsoft security risk management guide v1.1[K]. 2004.
[9]CRAMM v5[EB/OL].http://www.cramm.com/.
[10]COBRA[EB/OL].http://www.riskworld.net/.
[11]RiskWatch[EB/OL].http://www.riskwatch.com/.
[12]Callio secura[EB/OL].http://www.callio.com/.
[13]Proteus professional[EB/OL]. http://www.patronglobal.com/.
[14]InfoGuard AG. Information security management system and risk ana ̄lysis/risk management tools,Software Evaluation Report[R]. 2004.
[15]SAHINOGLU M. Security meter: a practical decision-tree model to quantify risk[J]. IEEE Security Privacy, 2005,3(3):14-24.
[16]SCHECHTER S E. Toward econometric models of the security risk from remote attacks[J]. IEEE Security Privacy, 2005,3(1): 40-44.
[17]朱巖,楊永田,張玉清,等.基于層次結構的信息安全評估模型研究[J]. 計算機工程與應用, 2004,40(6):40-43.
[18]XU Hong, DUGAN J B. Combining dynamic fault trees and event trees for probabilistic risk assessment[C]//Proc of the Annual Symposium Reliability and Maintainability.Piscataway, N J:[s.n.],2004:214-219.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”