摘要:針對攻擊行為預警的發(fā)展要求,特別是對未知攻擊行為的預警,提出了基于狀態(tài)的預警模型。模型根據(jù)攻擊工具的分類詳細定義了狀態(tài)項,并以網(wǎng)絡熵為基礎,建立了狀態(tài)、系統(tǒng)狀態(tài)和系統(tǒng)狀態(tài)集以及狀態(tài)之間的轉移關系。應用該模型,實現(xiàn)了存在攻擊情形下的預警:狀態(tài)項預警、系統(tǒng)狀態(tài)預警、網(wǎng)絡系統(tǒng)預警和受損度預警。
關鍵詞:狀態(tài)項;狀態(tài);網(wǎng)絡熵;系統(tǒng)狀態(tài);網(wǎng)絡系統(tǒng);受損度
0引言
目前對網(wǎng)絡攻擊行為的描述有多種模型和分析方法,主要包括:攻擊樹和攻擊圖、特權圖、模型檢測、基于狀態(tài)的隨機模型。攻擊樹和攻擊圖是目前最常用的描述攻擊的方法。攻擊樹(圖)模型重點描述了可導致系統(tǒng)安全故障的事件的集合,可以模擬一個系統(tǒng)可能受到的攻擊。特權圖更側重于描述利用脆弱性的攻擊過程,因此更宜用于網(wǎng)絡系統(tǒng)脆弱性分析。模型檢測常被用來分析安全協(xié)議和安全缺陷。不同于攻擊圖和特權圖,基于狀態(tài)的攻擊模型可以對網(wǎng)絡系統(tǒng)進行更小細節(jié)上的描述,確定系統(tǒng)在受到攻擊威脅情況下的各種狀態(tài)分布和狀態(tài)之間的轉移關系。應用基于狀態(tài)的攻擊模型,可以從攻擊對網(wǎng)絡系統(tǒng)造成的影響角度建立攻擊模型,從而既忽略一些未知的行為細節(jié)又不影響安全性評價指標的計算。而且,可以從攻擊影響的角度描述和認識未知的攻擊。實際上,未知的攻擊已經(jīng)成為當前網(wǎng)絡安全面臨的最大威脅。
目前在網(wǎng)絡預警研究方面,對未知攻擊的預警還比較薄弱;風險等級主要依賴經(jīng)驗劃分;還沒有將風險等級與網(wǎng)絡的受損情況和可工作性能結合起來。為解決這些問題,我們提出一種新的基于狀態(tài)的預警模型,通過建立存在攻擊情形下系統(tǒng)的運行狀態(tài)集及其之間的轉移關系,進行網(wǎng)絡系統(tǒng)的安全性能分析和安全預警。由于攻擊工具的性能與被攻擊網(wǎng)絡的狀態(tài)存在緊密聯(lián)系,將攻擊工具按攻擊性能和特點分類,然后根據(jù)分類對狀態(tài)進行詳細定義。本文采用網(wǎng)絡熵作為安全性能評估基礎,對風險等級的劃分進行了定量計算,風險等級隨狀態(tài)改變而實時對應變化。我們認為僅提供受攻擊網(wǎng)絡的風險等級不足以確切地描述網(wǎng)絡的風險狀況,需要進一步對達到某個風險等級的具有相同狀態(tài)集的網(wǎng)絡系統(tǒng)進行受損度分析。
1狀態(tài)描述
1.1攻擊工具分類
攻擊工具分為七類:搜索類、破解類、控制類、傳染類、拒絕服務與網(wǎng)絡監(jiān)聽類、安全“后門”與堆棧溢出類、毀滅性類。 傳染類主要包括病毒和蠕蟲;控制類主要指特洛伊木馬;搜索類包含如掃描器和嗅探器等信息搜索工具;破解類主要指用于密碼破解的工具;拒絕服務與網(wǎng)絡監(jiān)聽類主要包含拒絕服務攻擊類工具和網(wǎng)絡監(jiān)聽與信息截獲工具;安全“后門”與堆棧溢出類主要包含給計算機安裝后門和使堆棧溢出的攻擊工具;毀滅性類主要指對計算機軟件和硬件造成毀滅性打擊的攻擊工具,如Email炸彈,ICQ炸彈等。
1.2狀態(tài)定義
狀態(tài)定義為主機所具有的文件、用戶,密碼、進程、服務、輸入,輸出、網(wǎng)絡連接、軟硬件環(huán)境、流量和時間延時等特性的總和。狀態(tài)由若干“項”構成,每一個項稱為“狀態(tài)項”或“狀態(tài)特征”。根據(jù)定義,可以得到一個9元組的狀態(tài)T=
用表格和文字表示則如圖1所示:
下面,分別闡述狀態(tài)的9個參量:
文件參量F文件分為文檔文件、系統(tǒng)文件和執(zhí)行文件。文檔文件是信自獲取類攻擊方法的主要目標;系統(tǒng)文件是系統(tǒng)控制類攻擊方法的主要目標;執(zhí)行文件多用于木馬程序的上傳,屬于系統(tǒng)破壞的層次。對文件的改變包括查看、下載、上傳、刪除、修改等。以符號△表示狀態(tài)的改變,則△F=<△文檔文件,△系統(tǒng)文件,△執(zhí)行文件>。
用戶/密碼參量U用戶名,密碼分為本地USER、遠程USER、本地ROOT和遠程ROOT。每一個用戶名/密碼包含用戶名、密碼、權限、隸屬關系、有效時間5個屬性,參量u的改變是這5項屬性變化的總和。
進程參量P 進程分為系統(tǒng)進程和一般進程兩類,△P=<△系統(tǒng)進程,△一般進程>。進程和執(zhí)行程序密切相關,信息獲取類攻擊的主要目的是查看進程狀態(tài),而系統(tǒng)破壞類攻擊則可能增加或者終止進程。
服務參童S服務參量與進程參量相似,不同之處在于服務破壞方面增加了拒絕服務攻擊。服務主要利用系統(tǒng)進程,考慮到拒絕服務攻擊特殊性,服務和進程應該分別考慮。
輸入/輸出參量I系統(tǒng)的輸入輸出一般包括鍵盤、屏幕和鼠標??梢杂萌齻€BOOL變量,分別表示能否進行鍵盤記錄、屏幕控制和鼠標控制。
網(wǎng)絡連接參量N網(wǎng)絡連接參量包含了當前TCP/IP連接的數(shù)量和它們的生存狀態(tài)(ESTABLISHED、LISTENING等)。
軟硬件環(huán)境參量H該參量包含軟件和硬件,相應地AH=<△軟件,△硬件>。參量H的改變包括軟硬件信息的獲得、軟件的安裝/卸載、硬件的破壞等。
網(wǎng)絡流量參量L網(wǎng)絡流量異常通常會向周圍傳播,或者產(chǎn)生其他異常。因此流量異常是網(wǎng)絡報警中的重要因素,△L=攻擊后流量一攻擊前流量。
網(wǎng)絡延時參量D使目標網(wǎng)絡所傳送的各個報文或分組產(chǎn)生最大的延時,是對信息網(wǎng)絡攻擊的直接戰(zhàn)術目的之一。延時主要分為全網(wǎng)傳送總延時和重要節(jié)點傳信延時。
(1)全網(wǎng)傳迭延時
設全網(wǎng)傳送總延時為Td,則其計算公式為:式中j為全網(wǎng)的N個節(jié)點中第j個節(jié)點;Tjk為第j個節(jié)點到第k個相鄰節(jié)點的傳送延時,M(M是j的函數(shù))為與j節(jié)點相鄰的節(jié)點的總數(shù)。
(2)重要節(jié)點傳信延時
重要節(jié)點傳信延時對網(wǎng)絡性能的降低要高于普通節(jié)點。設其為Thd,計算公式為式中j=1,……,N1為重要節(jié)點序號。
1.3狀態(tài)項變化描述
為了定量體現(xiàn)攻擊前后狀態(tài)項的變化,提出“網(wǎng)絡熵”來對網(wǎng)絡的安全性能進行描述。網(wǎng)絡熵值越小(但不能為負數(shù)),表明攻擊者對該網(wǎng)絡系統(tǒng)的了解越少,網(wǎng)絡系統(tǒng)的穩(wěn)定性越好。對于狀態(tài)的某一項指標來說,其熵值可以定義為:V;為此狀態(tài)項指標的歸一化的性能參數(shù)。因此,可采用“熵差”對攻擊效果進行描述。式中,V1為網(wǎng)絡系統(tǒng)原來的歸一化性能參數(shù)(可以取為傳輸速率,進程系數(shù)等),V2為網(wǎng)絡受攻擊后的歸一化性能參數(shù)。
設測得網(wǎng)絡受攻擊前的數(shù)據(jù)流量為V1,受攻擊后的數(shù)據(jù)流量為V。把它們進行歸一化,得歸一化的數(shù)據(jù)流量分別為:V1/vg,V2/vg,其中Vg為網(wǎng)絡的峰值數(shù)據(jù)流量,可以保證0≤v2≤V1
顯然,若V2=V1,則△H=O,表明攻擊未取得任何效果;V2下降得越厲害,表明攻擊的效果越明顯,AH也越大。可見△H確實可以作為攻擊效果的一種描述。
2系統(tǒng)狀態(tài)預警
為了便于預警研究,現(xiàn)只考慮同安全相關的因素,將系統(tǒng)狀態(tài)定義為系統(tǒng)狀態(tài)涉及的主機集合、狀態(tài)和風險等級的三元組:
HS=
系統(tǒng)狀態(tài)的風險等級定義。設H為狀態(tài)所涉及主機;T是主機的狀態(tài)項集合。T集合一共包含n個狀態(tài)項,每個狀態(tài)項又包含m個影響元素。A是第i種狀態(tài)項Ti在該系統(tǒng)中所占權重p;的集合(1≤i≤n),p;用百分比表示,且有β1+β2+…+βn=1;B是狀態(tài)項T;的第j個元素所占權重aij的集合(1≤j≤m),aij用百分比表示,且有ail+ai21+…+aim=l;Bi,aij可由用戶來控制。定義函數(shù)由上式可以得出:T中每個狀態(tài)項Ti的風險等級為當計算機系統(tǒng)受到一次攻擊時,通過系統(tǒng)狀態(tài)的定義,可以將狀態(tài)轉移轉化為系統(tǒng)狀態(tài)的轉移;用攻擊方法描述一次系統(tǒng)狀態(tài)的變遷映射為:f:HS1——HS2,圖形表示為。
3網(wǎng)絡系統(tǒng)預警
3.1網(wǎng)絡系統(tǒng)描述
網(wǎng)絡內部各計算機和網(wǎng)絡設備之間存在緊密聯(lián)系,因此,黑客對某種服務或某些主機實施一次有效攻擊后,會對整個網(wǎng)絡的安全狀態(tài)造成影響。為了提供更加準確的安全預警,在得到系統(tǒng)狀態(tài)集風險等級情況下,應進一步考慮網(wǎng)絡在該攻擊下的受損度。為此,我們將網(wǎng)絡系統(tǒng)抽象為系統(tǒng)狀態(tài)集合和網(wǎng)絡系統(tǒng)危險等級和服務受損度的三元組:
NS=其中,s為系統(tǒng)狀態(tài)的集合,Risk為網(wǎng)絡系統(tǒng)的風險等級,SURV網(wǎng)絡系統(tǒng)服務受損度。下面主要來計算這三個參數(shù)。
3.2系統(tǒng)狀態(tài)集的轉移
攻擊行為能否有效實施取決于以下兩方面的因素:一是系統(tǒng)的靜態(tài)配置。因為攻擊行為是對系統(tǒng)漏洞或者弱點的利用,所以攻擊行為一般只會對特定產(chǎn)品的特定版本起作用。二是系統(tǒng)當前所處的狀態(tài),如果系統(tǒng)所處狀態(tài)不滿足攻擊行為的要求,攻擊行為也不可能發(fā)生。將攻擊行為定義如下:
Attack=
oS>
這里PRE是攻擊行為的前提條件,是三元組PRE=
3.3網(wǎng)絡系統(tǒng)風險等級
網(wǎng)絡系統(tǒng)風險等級的定義為:式中,wi為第i個主機在網(wǎng)絡系統(tǒng)中的權重,HSi.Risk是第i個主機當前的風險等級。
3.4受損度分析
網(wǎng)絡系統(tǒng)的生存性用于衡量系統(tǒng)承受攻擊的能力,即在遭受攻擊后網(wǎng)絡系統(tǒng)到達另一個狀態(tài)時,還能夠提供服務(或功能)的能力。生存性主要牽涉到兩方面內容,攻擊對網(wǎng)絡的損壞程度和網(wǎng)絡自身的修復程度。本文主要關注攻擊對網(wǎng)絡系統(tǒng)的影響,即受損度。因為網(wǎng)絡系統(tǒng)可能提供多種服務,受損度分析也要針對不同的服務考慮。網(wǎng)絡系統(tǒng)的受損度定義為:式中,a(s,k)表示網(wǎng)絡系統(tǒng)中服務k在新網(wǎng)絡狀態(tài)s下的受損程度,w(k)是該服務重要程度的權值。a(s,k)可以通過給定的s和k來計算。這里設服務(或功能)集合為{K},集合{K}中的元素k要視具體網(wǎng)絡系統(tǒng)而定。
下面來計算a(s,k),即在特定的系統(tǒng)狀態(tài)集s下,服務k的損壞程度。根據(jù)系統(tǒng)受傷害的程度來排序,即從系統(tǒng)正常(s=1)到無功能(s=S)排序。定義每種攻擊事件對系統(tǒng)狀態(tài)影響的矩陣Es。其中Ps(i,j)指當攻擊事件發(fā)生時,系統(tǒng)由i狀態(tài)轉移到j狀態(tài)的概率;顯然,當攻擊事件發(fā)生時,系統(tǒng)不可能轉移到更好一點的狀態(tài),所以Es是一個上三角矩陣;我們使用一種模型來生成Ps(i,j),認為Ps(i,j)與系統(tǒng)當前的狀態(tài)i、當前的防御策略l以及攻擊事件的嚴重性程度m有關。定義Ps(i,j)的計算公式為:
這里有兩種情況:j=i和j>i
(1)當j=i,有該式表示在給定防御機制l下,系統(tǒng)保持正常狀態(tài)下的概率,即反映了系統(tǒng)的抵抗力。
(2)當j>i,有該式表示在給定防御機制l下,系統(tǒng)變換到已泄密狀態(tài)(包含無功能狀態(tài))的概率,即攻擊的危害性。
上面兩式中:COST(c1)為防御機制l的費用。其中,
在以上公式(1)中,參數(shù)m。和x。用來指定在防御機制l的費用為COST(C)情況下,轉換概率之間的關系;而參數(shù)和x3用來指定轉換概率大小的合理性。其中,決定轉換概率P(i,j11)隨費用變化的程度,的值越高,系統(tǒng)保持正常狀態(tài)的機會越高,因此,可生存性就會越高。x。決定轉換概率P(i,j11)◇i)隨費用變化的程度。
通過計算Es,我們可以得出d(s,k)。接下來我們討論SURV(s)的幾種可能情況。所有的服務(或功能)都被破壞的情況時網(wǎng)絡系統(tǒng)的受損度為:
如果將系統(tǒng)的服務/功能集合{K}分為{K0,K1,K2l,K0表示相對“不重要”的服務,K1表示使用頻率較高但不是重要的服務,K2表示重要的服務,則有:或這里。
這樣就計算出了在風險等級為NS.Risk的情況下的SURV(NS.S)。
4預警系統(tǒng)設計
以基于狀態(tài)的預警模型為基礎,開發(fā)出面向狀態(tài)的預警系統(tǒng)框架主要結構如圖2所示。
預警系統(tǒng)包含以下模塊:狀態(tài)項變化計算模塊,用來計算狀態(tài)項的改變,計算狀態(tài)項的風險等級,輸出狀態(tài)項風險等級;狀態(tài)轉移模塊用來計算狀態(tài)的轉移;系統(tǒng)狀態(tài)轉移及系統(tǒng)狀態(tài)計算模塊,該模塊有兩個功能,一是要在新狀態(tài)到來時,計算出新的系統(tǒng)狀態(tài),二是根據(jù)新的系統(tǒng)狀態(tài),計算出系統(tǒng)狀態(tài)風險等級;網(wǎng)絡系統(tǒng)轉移及網(wǎng)絡系統(tǒng)計算模塊功能為在得到新的網(wǎng)絡系統(tǒng)情況下,計算出網(wǎng)絡系統(tǒng)的風險等級;網(wǎng)絡系統(tǒng)受損度計算模塊主要任務是生成影響矩陣的數(shù)據(jù)項,計算矩陣和根據(jù)具體情況輸出受損度。
該預警系統(tǒng)與目前其它預警系統(tǒng)相比,主要有以下優(yōu)勢:
(1)能夠對未知攻擊預警;
(2)以網(wǎng)絡熵為基礎,提供了精確風險等級;
(3)能夠給出參數(shù)級的狀態(tài)項預警;
(4)將網(wǎng)絡風險等級與網(wǎng)絡受損度對應起來,使網(wǎng)絡預警更加準確。
5結束語
本文提出一種基于狀態(tài)的預警模型,模型從忽略一些未知的行為細節(jié)計算和攻擊影響的角度描述了攻擊行為,建立了存在攻擊情形下的,系統(tǒng)狀態(tài)和系統(tǒng)狀態(tài)集以及它們之間的轉移關系;并從四個方面進行預警:參數(shù)級的狀態(tài)項風險等級預警Ti.Risk;系統(tǒng)狀態(tài)風險預警HS.Risk;網(wǎng)絡系統(tǒng)風險等級預警NS.Risk;狀態(tài)集為NS.S、風險等級為NS.Risk情況下網(wǎng)絡的服務受損度SURV(NS.s)預警。最后以基于狀態(tài)的預警模型為基礎,開發(fā)出面向狀態(tài)的預警系統(tǒng)。
(注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。)