摘要:脆弱性分析是網絡安全風險分析與控制的關鍵技術,脆弱性也是網絡攻防雙方爭奪信息優勢的焦點。闡述了網絡攻防控制的作用原理,提出了相對脆弱性分析的概念,從結構脆弱性分析的角度,分析了信息網絡中訪問路徑上的節點脆弱性,給出了分析模型以及計算關鍵節點和訪問路徑綜合脆弱性的分析方法,對分析算法進行了描述。該算法可計算出信息網絡中任意兩對節點之間訪問路徑的最大綜合脆弱性,為網絡安全控制提供了有效評估手段。
關鍵詞:網絡; 訪問路徑; 脆弱性; 分析
中圖分類號:TP393.08
文獻標志碼:A
文章編號:1001-3695(2008)06-1796-03
0引言
如果從網絡攻防的角度看信息網絡系統的安全控制,那么系統的脆弱性分析及控制能力是保證系統安全可控的決定性因素。網絡攻防控制的作用原理如圖1所示。
從圖1中可以看到,網絡攻防雙方均以系統的脆弱性為攻防博弈的焦點。攻擊方通過掃描、偵測等各種檢測技術,發現并利用系統存在的各種脆弱性,增大系統的安全風險,進而達到控制或破壞系統的目的;防御方同樣通過掃描、偵測等各種檢測技術,發現并彌補系統脆弱性,降低系統的安全風險,進而達到控制或保護系統的目的。從控制論[1]的角度出發,系統安全可控必須建立在系統可觀的基礎上,脆弱性分析是實施信息網絡安全控制的關鍵環節,它貫穿于信息網絡的整個生命周期,如圖2所示。因此,為了有效實現系統的安全控制,提高系統的安全可控性[2],研究系統安全脆弱性的分析與控制技術是十分重要的。
與計算機系統一樣,任何系統均存在各種潛在的脆弱性。從總體上可將脆弱性分為技術脆弱性和組織脆弱性[3]。技術脆弱性反映的是系統存在的先天缺陷或技術漏洞,而組織脆弱性是由于系統管理或配置不善造成的安全隱患。是否將某個網絡對象界定為存在脆弱性,以及如何衡量脆弱性的嚴重程度,要根據對象本身的固有安全可靠性、攻擊者的對其實施攻擊的能力(威脅大小)、該對象的信息價值以及攻擊成功后可能造成的影響范圍等因素來決定。顯然,如果該對象面臨的安全威脅大,系統因其可能遭受的損失大于預定的閾值,那么該網絡對象就是整個信息網絡系統的薄弱環節,就應該成為信息網絡安全控制的重點對象。本文將這樣界定出來的脆弱性稱為相對脆弱性。相對脆弱性分析的前提條件是假設攻擊者具有全面的攻擊能力和系統接入能力,因此在分析時不考慮系統本身已經具有的防御能力。
目前對于信息網絡,尤其是由計算機組成的信息網絡的脆弱性分析主要有兩種類型:一種是采用基于規則的脆弱性分析方法,它是從已知的故障實例或攻擊實例中抽取特征,并歸納成規則表達式,將目標系統與已有的規則一一匹配,從而檢測出脆弱性。在這種分析方法中,規則的生成是十分關鍵的。隨著計算機網絡變得越來越復雜,運用規則進行脆弱性分析的復雜度也隨之增加,這就給具體實施帶來了困難。另外,基于規則的方法只能描述已知的攻擊方式和攻擊行為,對新型的、尚未檢測到的攻擊方式難以奏效。另一種是基于模型的脆弱性分析方法,它是為整個網絡系統建立脆弱性分析模型,通過模型抽象描述系統所有可能的行為和狀態并進行評估。模型的建立比規則的抽取更簡單,而且能夠發現未知的攻擊模式和系統脆弱性,因而適合于對系統進行整體評估[4,5],國際上也提出了一些基于模型的網絡脆弱性分析方法[6],如基于攻擊圖[7]、攻擊樹和故障樹[8]的脆弱性分析方法,但是對信息網絡訪問路徑的安全脆弱性分析,還缺乏較為有效的建模分析手段。
通常意義上的脆弱性只是指系統在技術和管理方面存在的各種缺陷,因而過分注重于某個部件或子系統中存在問題的分析,忽視了從整體結構上分析系統中可能存在的脆弱性。中國啟明星辰公司的潘柱廷[9]首次提出了要從系統設計結構的角度分析系統中可能存在的安全脆弱性。這是因為系統結構具有生命周期,會隨時間演變,也具有時序性,結構本身就可能存在問題。分析攻擊體系的結構,有利于尋找抵御或反制攻擊的最佳作用點;分析防御體系的結構,有利于以最小的代獲取最佳的防護效果。
正是基于上述考慮,下面主要從網絡系統結構的角度,運用訪問路徑關鍵點分析和訪問路徑綜合脆弱性分析這兩種分析模型。通過建模的方式分析訪問路徑的安全脆弱性,并嘗試給出可能的安全控制建議,目的是為了幫助信息安全工程的技術人員和安全評估人員在系統設計之初,就能更好地觀測系統的安全狀態,找出控制系統安全的關鍵點,并能采取針對性的控制措施,使整個系統的安全性能更加可控。
1訪問路徑關鍵點分析
信息流的安全性從很大程度上講是由系統中傳遞信息流的訪問路徑的安全性決定的。不同的信息流具有的信息價值是不同的,它所流經的訪問路徑可能也不相同。多個訪問路徑可能會經過相同的信息節點或信息鏈路。為了確定信息訪問路徑中需要被保護的關鍵節點,可采用如下分析模型。
將信息訪問路徑抽象為由多個信息節點和信息鏈路組成的通路。設信息源中存儲的信息價值是由信息的機密性、完整性和可用性決定的。機密性的價值可按信息的秘密等級劃分,如可劃分為絕密級(top secret)、機密級(secret)、秘密級(confidential)和公開級(public);完整性的價值可按系統對信息的完整性保護要求劃分等級,如果同時需要對信息內容、信息流和信源的完整性進行保護,則信息的完整性價值最高;可用性的價值可按信息訪問的時延需求、帶寬需求和時延抖動需求等進行衡量,要求越高,則可用性的價值越大。
對訪問路徑中關鍵節點和關鍵鏈路的分析,采用以下步驟:
a)確定系統中所有的訪問路徑;
b)確定每條訪問路徑上信源節點的信息價值(可分別用機密性價值VS、完整性價值VI和可用性價值VA表示);
c)將信息價值的等級量化為0~9之間的數,等級越高,取值越大,形成信源的信息價值綜合向量NV=(NS,VI,VA);
d)按每條訪問路徑的信息流過程確定所有中間節點的信息價值防護要求。中間節點k的信息價值防護要求 DKV=∑mi=1NiV(其中:m為經過節點k并且具有不同信源的訪問路徑的個數;V iV為信源i的信息價值);
e)(分別從機密性、完整性和可用性三個方面)找出具有最大DV值的信息節點,它即是信息訪問路徑中的關鍵點,與它相連的鏈路即是信息訪問路徑中的關鍵鏈路。
具有不同信息價值的信息流交匯的信息節點也是訪問路徑中的關鍵點。例如某臺計算機終端可為不同安全等級的用戶提供信息訪問接入點,它成為了不同安全等級的信息流的交匯點。雖然低等級的用戶無法直接看到高等級用戶訪問的信息,但是一旦該計算機控制失當(被安裝了口令監聽程序),那么低等級的用戶也能以隱蔽信道的方式獲得高等級用戶的訪問信息,造成失密事件。同樣,如果內網中某臺計算機偶爾通過調制解調器與外部網絡(如Internet)相連,成為不同信息流(內部保密信息流和外部公開信息流)的交匯點,就有可能造成內部信息外泄,因此它也是信息訪問路徑中的關鍵點。
信息網絡安全控制的重點就是要保護這些關鍵節點和關鍵鏈路,確切地說,是保障這些關鍵點和關鍵鏈路的軟/硬件和數據的機密性、完整性和可用性,常用的安全控制措施包括數字簽名、容錯、安全隔離、安全審計等。如果它們遭受損害,對整個系統的信息價值造成的影響就會更大。
2訪問路徑的綜合脆弱性分析
前面給出的分析方法對信息網絡系統中節點的相對脆弱性進行了評價。下面,可以通過訪問路徑的方式,將整個信息網絡抽象為一個無向圖G,用圖中的節點表示信息節點,用圖中的邊連接具有訪問關系的相鄰節點。其中,每個節點或每條鏈路的綜合脆弱性可采用加權和的方式,對上述分析結果及已經采取的防護措施進行綜合評價而獲得。
鏈路的脆弱性可由以下因素決定:
鏈路的共享特性:共享(vul=1)、專用(vul=0);
鏈路是否可被搭線竊聽:是(vul=1)、否(vul=0);
鏈路的傳輸特性:高速(vul=0)、低速(vul=1);高帶寬(vul=0)、低帶寬(vul=1);
鏈路是否采取加密措施:是(vul=0)、否(vul=1);
鏈路是否采取認證措施:是(vul=0)、否(vul=1);
是否是關鍵鏈路:是(vul=1)、否(vul=0);
鏈路的敏感度;
……
節點的脆弱性可由以下因素決定:
節點是否采取了認證措施:是(vul=0)、否(vul=1);
節點是否采取了訪問控制措施:是(vul=0)、否(vul=1);
節點中存在的漏洞數量和嚴重程度;
是否是關鍵節點:是(vul=1)、否(vul=0);
節點的信息價值防護要求;
節點的受信程度;
……
采用加權和方式計算出的節點或鏈路的取值越大,其綜合脆弱性就越大。最后,可采取最短路徑算法,計算整個信息網絡系統中,存在訪問路徑的所有節點對之間的最短路徑。計算時,設MAXSIZE為無窮大。如果邊的權值為MAXSIZE,則表示與這條邊對應的節點之間不存在直接訪問關系。在計算前,將所有節點與邊的權值取反,這樣的話,越是脆弱性大的節點或邊,其取反后的權值越小,因此通過這些權值計算出的最短路徑就是綜合脆弱性最大的訪問路徑。顯然,任何一個節點面臨的最大威脅來自于與之相連的最短路徑。通過這一算法,可將節點的脆弱性與鏈路的脆弱性綜合起來,得出訪問路徑的脆弱性以及節點在相互關聯、相互影響后產生的依賴脆弱性。改進后的最短路徑算法如下(用C語言描述):
3結束語
運用基于模型的結構脆弱性分析方法對信息網絡的安全脆弱性,尤其是訪問路徑的脆弱性進行分析,能夠為規劃、設計和運行中的信息網絡的安全控制提供有效的分析手段,較為科學地確定關鍵節點和關鍵鏈路,以及網絡中需要保護的重要信息流,從而能針對性地采取防護措施,有效降低網絡的安全風險,發揮安全控制的最大效益。
參考文獻:
[1]金觀濤, 華國凡. 控制論與科學方法論[M]. 北京:新星出版社,2005:7.
[2]盧昱. 網絡控制與控制方式[J]. 裝備指揮技術學院學報, 2003, 14(1):62-65.
[3]盧昱, 王宇. 計算機網絡安全與控制技術[M]. 北京:科學出版社, 2005:42.
[4]邢栩嘉, 林闖, 蔣屹新. 基于網絡的計算機脆弱性評估[J]. 計算機學報, 2004, 27(1):1-11.
[5]林闖, 彭雪海. 可信網絡研究[J]. 計算機學報, 2005, 28(5):751-758.
[6]RONALD W, RITCHEY, PAUL A. Using model checking to analyze network vulnerabilities[C] //Proc of IEEE Computer Society Symposium on Security and Privacy. Oakland:[s.n.], 2000:156-165.
[7]PAUL A, DUMINDA W, SAKET K. Scalable, graph-based network vulnerability analysis[C] //Proc ofthe 9th ACM Conference on Computer and Communications Security. Washington DC:[s.n.], 2002:217-224.
[8]SAMPLE C,POYNTER I. Quantifying vulnerabilities in the networked environment: Methods and Uses[EB/OL]. [2006-12-12]. http://builder.itpapers.com/abstract.aspx?docid=21491.
[9]潘柱廷. 脆弱性安全VS. 結構性安全[EB/OL]. [2006-12-15]. http://xcon.xfocus.net/xcon2006/archieves/Jordan_Pan-Vulnerability_vs_Structure.pdf.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文