本文摘要:【摘 要】大規(guī)模網(wǎng)絡(luò)攻擊行為往往是非常復(fù)雜的。通常需要多種攻擊方法和多個攻擊實(shí)例共同完成。該文采用攻擊樹模型來模擬攻擊行為.并提出了一個基于攻擊樹模型原理的攻擊規(guī)范語言。使用這種模型,可以使攻擊的過程更加清晰更加有條理,同時也為網(wǎng)絡(luò)攻擊的自
【摘 要】大規(guī)模網(wǎng)絡(luò)攻擊行為往往是非常復(fù)雜的。通常需要多種攻擊方法和多個攻擊實(shí)例共同完成。該文采用攻擊樹模型來模擬攻擊行為.并提出了一個基于攻擊樹模型原理的攻擊規(guī)范語言。使用這種模型,可以使攻擊的過程更加清晰更加有條理,同時也為網(wǎng)絡(luò)攻擊的自動實(shí)現(xiàn)提供一種理論依據(jù)。
【關(guān)鍵詞】攻擊樹 攻擊規(guī)范語言 場景分析
1引言
隨著互聯(lián)網(wǎng)的大規(guī)模普及和應(yīng)用,網(wǎng)絡(luò)安全問題也隨之呈現(xiàn)在我們面前。病毒滲透、系統(tǒng)漏洞和黑客攻擊等威脅層出不窮,已經(jīng)嚴(yán)重地影響到網(wǎng)絡(luò)的正常運(yùn)行。網(wǎng)絡(luò)規(guī)模的日益龐大,給網(wǎng)絡(luò)安全防范人員提出了更加嚴(yán)峻的挑戰(zhàn)。人力、物力和財力的有限性決定了不可能完全地依賴手工方式進(jìn)行安全分析防范所以如何采取更加快捷方便而且行之有效的方法進(jìn)行攻擊分析已經(jīng)成為網(wǎng)絡(luò)安全的重要課題。本文引入攻擊樹模型來模擬網(wǎng)絡(luò)攻擊過程,并給出了一種基于攻擊樹原理的攻擊規(guī)范語言,為計算機(jī)自動攻擊檢測打下理論基礎(chǔ)。
2攻擊樹
攻擊樹是用來表示攻擊過程的.它使用樹的結(jié)構(gòu)來模擬攻擊的方法和攻擊實(shí)例。樹的根結(jié)點(diǎn)表示最終的入侵目標(biāo),各節(jié)點(diǎn)則表示取得上級節(jié)點(diǎn)入侵目標(biāo)的各種攻擊方法.節(jié)點(diǎn)之問的關(guān)系可能是“與”、“或”兩種關(guān)系之一,節(jié)點(diǎn)序號的先后表示攻擊順序.葉結(jié)點(diǎn)則表示在不同環(huán)境中具體攻擊事件的實(shí)例目前攻擊樹以各種形式存在,一般通過檢測企業(yè)網(wǎng)絡(luò)安全信息,將這些信息精煉出來,并使用攻擊樹加以詳細(xì)說明。所使用方法就是將攻擊者能夠引起系統(tǒng)安全問題的方法描述為樹的節(jié)點(diǎn)(其中具體攻擊的實(shí)例是葉節(jié)點(diǎn)),這樣,通過細(xì)致地對整個企業(yè)網(wǎng)絡(luò)安全事件進(jìn)行實(shí)例化,通常會得到一棵確定的攻擊樹或由多棵攻擊樹組成的攻擊森林。而且森林中每棵樹的根節(jié)點(diǎn)描述成能影響網(wǎng)絡(luò)運(yùn)行的一次安全事件,每棵攻擊樹列舉并且詳細(xì)說明能引起安全事件發(fā)生的各類方式方法。每條穿過一棵攻擊樹的路徑代表一次對網(wǎng)絡(luò)系統(tǒng)的具體攻擊過程。
3結(jié)構(gòu)定義和語義說明
任何攻擊樹都是由下列兩者中一個或多個結(jié)構(gòu)組成的:
“與分解”樹:一種攻擊目標(biāo),取得所有攻擊子目標(biāo)的實(shí)現(xiàn)才能導(dǎo)致目標(biāo)的實(shí)現(xiàn)。
“或分解”樹:一種攻擊目標(biāo),所有子目標(biāo)中某一目標(biāo)或多個目標(biāo)的實(shí)現(xiàn)才能導(dǎo)致目標(biāo)的實(shí)現(xiàn)。
攻擊樹可以用圖示法和原文法來描述“與分解”樹圖示表示如圖1和原文表示如圖2所示:
從上面我們可以看出,為了取得攻擊目標(biāo)G。,需要攻擊者取得從G到G的所有目標(biāo)。“或分解”樹圖示表示如圖3和原文表示如圖4所示:
從上面我們可以看出,為了取得攻擊目標(biāo)G。,只要攻擊者取得從G到G的任何一個目標(biāo)或多個目標(biāo)即可。攻擊樹包含任何“與分解”樹和“或分解”樹的組合。通過以一種深度優(yōu)先的方式從葉節(jié)點(diǎn)到達(dá)根結(jié)點(diǎn)的一次“穿透”來表示成功攻擊行為(其中遇到“與”關(guān)系的節(jié)點(diǎn)時需要包含該節(jié)點(diǎn)所有的兒子節(jié)點(diǎn))。例如圖5所示為一個攻擊樹模型:
通常,當(dāng)攻擊實(shí)例產(chǎn)生時.以葉節(jié)點(diǎn)的目標(biāo)的形式加到攻擊行為的攻擊樹末端上。“或分支”表示任一子結(jié)點(diǎn)目標(biāo)的取得都可以導(dǎo)致父結(jié)點(diǎn)目標(biāo)的取得.“與分支”表示所有子結(jié)點(diǎn)目標(biāo)的取得才可以導(dǎo)致父結(jié)點(diǎn)目標(biāo)的取得。攻擊樹的中間節(jié)點(diǎn)不在入侵場景里出現(xiàn).而只是其子節(jié)點(diǎn)的目標(biāo),因?yàn)樗鼈兛偸潜黄渥庸?jié)點(diǎn)加以詳細(xì)說明。
我們對一次某部門web Server的攻擊用攻擊樹來模擬說明,原文表示攻擊樹如圖6所示:
可以看出.取得目標(biāo)成功需要5個分支,而且各個分支又有子分支。攻擊樹將一些抽象的攻擊具體化和實(shí)例化,使一個復(fù)雜的攻擊行為能分解成許多攻擊分支。這樣.除了葉節(jié)點(diǎn)之外的其他節(jié)點(diǎn)可以不用詳細(xì)考慮,而只需要尋找一條可行的從根結(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑就可以了。
與其它攻擊方法相比較.這種方法允許開發(fā)者更多地關(guān)注在關(guān)于深度優(yōu)先方面探索出一條攻擊路徑,在這種目標(biāo)的指導(dǎo)下尋找有用的入侵行為?傊,精煉攻擊樹的分支產(chǎn)生新的分支,使得每一個節(jié)點(diǎn)都能用更加容易的方法來實(shí)現(xiàn)。圖6的攻擊過程用攻擊樹表示如圖7所示。
由上述攻擊樹圖示可以看出,目標(biāo)GO是取得WebSevrer的最高權(quán)限,可以實(shí)現(xiàn)成功的攻擊場景有如下幾種方法:
4基于攻擊樹的攻擊規(guī)范語言
使用攻擊樹可以很好地模擬大規(guī)模的網(wǎng)絡(luò)入侵行為。根據(jù)攻擊樹的原理.定義能夠模擬攻擊樹攻擊過程的攻擊規(guī)范語言,為計算機(jī)自動化攻擊檢測打下基礎(chǔ)。Tidwell[]在此基礎(chǔ)上定義一個攻擊規(guī)范語言范式(Attack Speciifcation LanguageBNF),但是,他所定義的語言規(guī)范過于復(fù)雜,我們定義更加簡潔、清晰、易于表述的語言模型范式如圖8所示,每個模型范式應(yīng)該包含4大部分:
屬性(properties):各個目標(biāo)和子目標(biāo)的屬性。包含description(攻擊描述)、CVElink(CVE相應(yīng)編號)、version(版本號)等描述信息。
前提(preconditions):表示完成該攻擊必須先完成的子目標(biāo).對應(yīng)攻擊樹上它的子結(jié)點(diǎn),子目標(biāo)之間的關(guān)系只有“與”和“或”兩種關(guān)系如果沒有子節(jié)點(diǎn),那么前提就是指攻擊所需的條件(系統(tǒng)漏洞,脆弱性等)和攻擊所需的方法。
子目標(biāo)(subgoa1):攻擊實(shí)例。表示其父節(jié)點(diǎn)的具體攻擊形式.而且同層的子目標(biāo)應(yīng)該是嚴(yán)格的“AND/OR”關(guān)系,節(jié)點(diǎn)的序號表示攻擊的先后順序。后果(postcondition):指示系統(tǒng)和環(huán)境的狀態(tài)改變,也表示攻擊的結(jié)果。
基于這種語言就可以對攻擊場景進(jìn)行描述,如果某攻擊的子目標(biāo)與前提都得到滿足(被實(shí)例化),則判斷該攻擊為“真”,利用這個原理就可以實(shí)現(xiàn)基于攻擊模型庫的入侵檢測,前提之間的關(guān)系也只考慮“與”和“或”兩種關(guān)系。
為了更好地表示網(wǎng)絡(luò)入侵,重點(diǎn)考慮子目標(biāo)對父目標(biāo)的影響.并使得子目標(biāo)之間的關(guān)系只包含“與”、“或”這兩種關(guān)系。在此思路上引入了我們定義的攻擊說明語言。其中OR和AND是攻擊語言保留關(guān)鍵字運(yùn)算符。
OR:子目標(biāo)是“或關(guān)系”
AND:子目標(biāo)是“與關(guān)系”
從上面遞歸描述我們可以看到,攻擊規(guī)范語言主要包括:
字母表(alphabeta~z和A~Z)和數(shù)字表(numeral0~9)組成整個語言的標(biāo)識符:
變量和攻擊函數(shù)(AttackFunction)標(biāo)識符是由字母(alphabet)和數(shù)字(numera1)或者其組合而成;函數(shù)包含屬性、前提和后果3個參數(shù);
目標(biāo)(Goa1)是由子目標(biāo)(SubGoals)函數(shù)的若干“與(OR)和“或(AND)”組成;
若干“與分支(andExpr)”函數(shù)和“或分支(orExpr)”函數(shù)組成整個攻擊過程:
葉節(jié)點(diǎn)分支(grpExpr)是一些具體的攻擊實(shí)例。包括實(shí)例的屬性、前提和攻擊的結(jié)果。
整個程序執(zhí)行的先后順序決定攻擊實(shí)例的執(zhí)行順序。
一個攻擊目標(biāo)的完成依賴于若干個子目標(biāo)的完成.子目標(biāo)之問的關(guān)系可以是“與”、“或”兩種關(guān)系之一。一個攻擊目標(biāo)的標(biāo)識符是一個以字母開頭的字母和數(shù)字的字符串。由攻擊語言定義的攻擊稱為攻擊模式.多個攻擊模式的集合稱為攻擊模式庫。對于關(guān)系是“與”的子目標(biāo),只有其所有函數(shù)返回值為“真才能保證整個目標(biāo)值為“真”,即該子目標(biāo)任務(wù)完成:同理對于“或”關(guān)系的子目標(biāo),只要任何一個子目標(biāo)函數(shù)返回值為“真”即可保證該子目標(biāo)任務(wù)的完成。
當(dāng)前的入侵向協(xié)作式、多層次化、大規(guī);l(fā)展,一次入侵往往并不是一個簡單孤立的動作,通常是由一連串有邏輯關(guān)系的入侵動作構(gòu)成,使用基于攻擊樹的攻擊模型,有利于檢測入侵及預(yù)測下一步可能的入侵活動。
對于上面例子中某部門Web Server的攻擊樹模型,可以看出葉節(jié)點(diǎn)一共有1O個(包括G1).相當(dāng)于具體攻擊實(shí)例也有1O個,在這里用函數(shù)表示.給出的攻擊規(guī)范語言如圖9。從圖9可以看出,每個攻擊函數(shù)都包含屬性.前提和結(jié)果3個參數(shù),屬性表示攻擊的方法和攻擊所利用的參數(shù)(漏洞、脆弱性、攻擊手段等等);前提是攻擊所必須的條件;后果表示攻擊的成功與否,成功則返回值為1。從圖9可以看出,前一次攻擊的返回值作為后一次攻擊的前提,這樣能很好地反映攻擊的有序性。因?yàn)槿绻耙淮喂舨怀晒Γ罄m(xù)過程將無法進(jìn)行,即攻擊不成功。
5結(jié)束語
本文從分解的觀點(diǎn)來詮釋攻擊的方法。攻擊的目的是為了更好地防御.所以。研究的目的是為了當(dāng)出現(xiàn)惡毒和突然的攻擊時,企業(yè)系統(tǒng)的正常運(yùn)行能夠受影響。在現(xiàn)實(shí)的攻擊過程中,往往攻擊的規(guī)模和難度是相當(dāng)大的,個人力量的有限決定需要更加先進(jìn)的攻擊解決方案。攻擊樹模型提供了一種很好的解決方法。每棵攻擊樹列舉并且詳細(xì)說明一種能取得攻擊目的成功的方式。通過將這些簡單而平常的攻擊方法組織起來,構(gòu)造出完整的攻擊樹模型,精練各個關(guān)鍵攻擊節(jié)點(diǎn),并用攻擊規(guī)范語言進(jìn)行描述,利用人丁智能的相關(guān)技術(shù),建立實(shí)用可行的自動系統(tǒng)攻擊機(jī),達(dá)到攻擊自動化和智能化的目的。我們相信,以前大規(guī)模攻擊的歷史教訓(xùn)將為攻擊樹的建立提供大量而且重要的數(shù)據(jù)。
小編推薦優(yōu)秀的電子期刊 電力電子技術(shù) 論文期刊網(wǎng)
《電力電子技術(shù)》是我國唯一的國家級電力電子刊物,也是電力電子學(xué)會的會刊,面向國內(nèi)外公開發(fā)行。它創(chuàng)刊于1967年,經(jīng)過三十年來的風(fēng)風(fēng)雨雨,在社會各界同仁的下,已成長為我國電力電子領(lǐng)域里,集理論與應(yīng)用于一體,具有較高知名度的權(quán)威性刊物,它對我國電力電子技術(shù)發(fā)展起到至關(guān)重要的傳播、引導(dǎo)與推廣作用。被國家定為“中文核心期刊”和“學(xué)位與中文重要期刊”,1997年榮獲全國優(yōu)秀科技期刊獎,1996、1997、1998年獲國家機(jī)械工業(yè)部科技期刊一等獎。
轉(zhuǎn)載請注明來自發(fā)表學(xué)術(shù)論文網(wǎng):http:///dzlw/3223.html