摘要:提出攻擊描述語言(CNADL)面向攻擊樹建模,采用上下文無關文法設計,描述攻擊企圖、特征和步驟,由解釋器生成相應操作的命令交互執行。基于CNADL在GTNets仿真平臺上開發攻擊演練系統。實驗結果表明,基于CNADL的攻擊演練系統能有效地刻畫攻擊特征,實現了拒絕服務、蠕蟲、口令竊取和IP欺騙四種攻擊仿真。
關鍵詞:計算機網絡攻擊; 演練; 攻擊描述語言; 攻擊樹
中圖分類號:TP393.08文獻標志碼:A
文章編號:1001-3695(2008)03-0906-05
美國國防部指出,信息對抗(information operation)是奪取信息優勢的主要手段,已經成為各國研究網絡安全的熱點[1]。網絡攻防演練是信息對抗的一部分,它通過創建一個訓練環境,開展大規模的攻防演習。研究和設計一套高效的計算機網絡安全一體化防護措施成為當前的迫切需求[2]。對計算機系統操作和網絡攻擊機制的深入理解是設計一體化信息保護措施的基礎。在攻防演練研究過程中,通常采用基于分布式交互仿真與實際網絡互聯的研究思路[3]。
運行實際網絡攻擊的高代價、演習實際攻擊的局限性和一個成功攻擊的高潛在危害性制約著網絡安全防護技術的發展,因此網絡攻擊仿真被廣泛地應用于理解和分析網絡攻擊及防御[4] ,是網絡攻防演練的重要組成部分。目前國內外對怎樣描述網絡攻擊沒有統一的看法,對在仿真中可使用的建模與描述方法也沒有通用可接受的方法[5]。
研究網絡攻擊演練,對網絡攻擊進行抽象描述,通過網絡仿真平臺產生攻擊演練,是建立網絡安全防護措施的重要手段。本文面向攻擊樹建模,提出一種攻擊描述語言,結合GTNets仿真平臺,基于CNADL開發攻擊演練系統,并進行了實驗驗證。
1計算機網絡攻擊演練
1.1相關工作
研究計算機網絡攻擊演練主要包括以下兩個部分:
a)攻擊仿真模型。
網絡攻擊演練通常采用仿真的方法來進行,攻擊仿真模型是攻擊特征在仿真系統中的抽象表示。Cohen提出了一個基于因果關系的攻擊仿真建模模型[4],采用節點和連接表示模型,建立因果—關系的模型。該模型能關聯前面攻擊的后果和后面攻擊前提,能描述不同攻擊之間的關系,但在實際應用中因果—關系模型比較簡單。Chi Sungdo等人提出了一種采用傳統數字建模和仿真概念描述攻擊的仿真方法[6],能夠進行威脅分類、詳細說明攻擊機制、驗證保護機制和評估結果等。I. Kotenko等人在數字攻擊仿真模型中引入了隨機正式語法[7],該模型的攻擊者意圖和攻擊均用嚴格的數學模型表示,并用有限狀態機表示攻擊者和被攻擊者的不同狀態轉換。E. K. Park等人提出了一種有序的基于UML的想定模型和網絡安全仿真器[8],它通過UML用例圖、順序圖和交互圖來表示攻擊實體之間的交互并應用在仿真中。
現有的攻擊仿真模型存在一個普遍的缺點:直接采用仿真建模方法表示攻擊,對攻擊特征沒有統一的描述,無法表示攻擊步驟之間的關系和實體之間交互。攻擊建模是對攻擊特征的統一刻畫,能抽象描述攻擊步驟之間的交互關系。
b)攻擊描述語言。
2000年G. Vigna等人提出將現有的攻擊語言分成六類[9]:事件語言、響應語言、報告語言、關聯語言、開發語言和檢測語言,并在其后兩年中開發了STATL[10]。STATL是一種狀態可擴展/基于轉變的攻擊描述語言,能描述不同域(主機和網絡)和不同操作系統環境的攻擊。其后出現的比較有代表性的是Cuppens等人開發的LAMBDA攻擊描述語言[11]和M.Cedric等人提出的Adele語言[12]。2005年美國伊利諾斯州大學的M. David指出了當前仿真系統在安全評估中應用的缺陷[5]:基于運行時技術對數據的獲取能力較弱,仿真接口和模型缺少公認的統一描述。
綜上所述,目前在網絡攻擊演練的研究中存在以下問題:已有的攻擊仿真模型可擴展性不強,加入新的攻擊仿真需要作較大改動,需要在攻擊仿真中引入攻擊建模方法;仿真接口和模型缺少公認的統一描述,計算機網絡攻擊演練缺乏攻擊描述語言的支持。
1.2計算機網絡攻擊建模
目前的攻擊模型主要有適用于攻擊檢測和安全預警的模型,以及適用于安全知識共享的模型[13]。適用于攻擊檢測和安全預警的模型能提高攻擊檢測和安全預警的效率,它主要采用基于系統狀態集合的建模方法。適用于安全知識共享的模型能為各領域的專家及不同系統提供攻擊模型以便協同合作,實現知識最大程度的共享,它的建模方法主要有攻擊樹建模方法[14]和攻擊網(Petri網)[15]建模方法。
攻擊樹最早由B. Scheier提出,是一種結構化、可復用的將攻擊過程文檔化的方法。攻擊樹建模的優點在于直觀、簡潔、易于理解,有助于以圖形化、數學化方式描述攻擊。攻擊網是在攻擊樹的基礎上發展的,主要是基于Petri網的模型。基于Petri網的建模目前主要應用在實際網絡的IDS檢測上,基于攻擊樹的建模已經開始應用于網絡安全仿真領域。本文采用基于攻擊樹的建模方法。
攻擊樹模型使用樹來表示攻擊行為及步驟之間的相互依賴關系,樹的每個節點代表一個攻擊行為或子目標,根節點表示攻擊的最終目標。子節點表示在實現父節點目標之前需要成功執行的攻擊行為,同一父節點下的子節點具有and或or的關系。And關系表示攻擊者完成了子節點的全部攻擊行為或子目標后才可實現父節點的目標。Or關系表示完成任一個子節點的攻擊行為或子目標就可實現父節點的目標。攻擊樹就是由這些and和or關系組合而成的。可以使用深度優先方式從攻擊樹中推導出實現終極目標的攻擊路徑。
面向攻擊樹建模,筆者用攻擊描述語言對攻擊模型進行描述,并通過攻擊描述語言的編譯器轉換為仿真平臺中的語言最終實現仿真。
1.3攻擊樹模型及其有限自動機表示
依據美國國防部定義[1],計算機網絡攻擊(computer network attack,CNA)是對計算機和計算機網絡中的信息,或計算機和網絡本身進行擾亂、阻止、削弱、毀壞的一系列操作。
由定義可見,CNA的本質是一系列的操作,它的內涵包括disrupt(擾亂)、deny(阻止)、degrade(削弱)、destroy(毀壞)這四種類型的操作,可用形式定義表示如下:
CNA∷={o|disrupt(o)∨deny(o)∨degrade(o)∨destroy(o),
o∈operations}
其中:形式定義中的disrupt()、deny()、degrade()、destroy()分別表示擾亂、阻止、削弱、毀壞操作。本研究將它們之間定義為或關系。
依據計算機網絡攻擊的定義,選取拒絕服務攻擊、蠕蟲攻擊、IP欺騙和口令竊取作為攻擊實例(它們分別屬于阻止攻擊、阻止攻擊、擾亂攻擊和削弱攻擊),實現這四種攻擊。采用攻擊樹建模方法,對具體攻擊對應的基本功能進行進一步抽象,并采用計算模型中的自動機模型描述。
本部分以拒絕服務攻擊為例進行說明。拒絕服務攻擊(denial of service, DoS)是利用計算機系統漏洞或通過消耗資源阻止計算機或計算機網絡提供正常服務的一系列操作。其形式定義為
DoS屬于CNA中的阻止類型攻擊
DoS∷={o|vul_exp(o)∨res_consump(o)→deny(o),o∈operations}
,其攻擊樹模型如圖1所示(圖中的根節點表示目標;子節點表示完成根節點目標之前要完成的攻擊行為或子目標;帶弧線的表示子節點之間是and關系;不帶弧線的表示子節點之間是or關系)。
圖1DoS的攻擊樹模型
自動機描述攻擊發起者的狀態和狀態改變過程,是攻擊模型動態關系的刻畫。對于攻擊節點,發起DoS攻擊者的自動機描述如圖2所示。
其中:狀態集合S={S0,S1, S2, S3,S4,S5,S6,S7,S8 },初始狀態為S0(等待攻擊命令狀態),終結狀態為S8(攻擊完成狀態)。S1~S7為非終結狀態。其中:S1為選定目標IP狀態;S2為獲得中間網段廣播地址狀態;S3為構造ICMP包狀態;S4為選定SYN目標端口狀態;S5為構造SYN報文狀態;S6為選定UDP目標端口狀態;S7為構造UDP報文狀態。
自動機的外部輸入是(targetIP, targetPort)或(targetIP, broadcastIP)或(targetIP);輸出分別是SYN報文、ICMP包和UDP報文。
對照攻擊知識樹及自動機模型可以發現:自動機模型從初始狀態到終止狀態的轉換過程就是攻擊樹的一個遍歷過程;攻擊樹有幾種遍歷方法,對應的自動機就有幾種從初始狀態到終止狀態的轉換方法。
2CNADL的設計與實現
2.1CNADL的設計目標
由研究現狀可以看出,網絡攻擊演練缺乏攻擊描述語言的支持,現有的攻擊描述語言不能符合計算機網絡攻擊演練的需求。具體如表1所示。
針對以上特點,CNADL的設計目標是面向攻擊樹建模,通過對攻擊的目的、方法、步驟及其關系進行刻畫,用統一的形式描述計算機網絡攻擊,使之能較好地支持計算機網絡攻擊演練。
每一種攻擊類型對應著一種參數組合,在詞法分析時只檢查參數類型是否匹配,在語義分析時無須確定參數順序。這樣就不需要把攻擊具體類型〈TYPE〉中表示的值規定為關鍵字,用戶在加入新的攻擊類型時不用改變文法,只需要在語義分析中要查詢的攻擊類型和參數對應的表中加入新類型即可。
攻擊描述語言采用上下文無關文法(CFG)設計,BNF范式如下所示:
〈Attack_prog〉::= NOID〈NO.〉 Time〈Time〉 Attack〈operator〉〈TYPE〉〈attck_paralist〉
〈NO.〉::=〈int_constant〉
〈Time〉::=〈int_constant〉 |〈real_number〉
〈operator〉::=〈char_constant〉
〈TYPE〉::=〈char_constant〉
〈attack_paralist〉::=〈paralist〉|〈paralist〉〈attack_paralist〉
〈attack_paralist〉::=sip〈source_IP〉 |dip〈dest_IP 〉 |rip〈route_IP〉 |sp〈source_port〉 |dp〈dest_port〉 |rp〈route_port〉 |d〈content〉 | icmpcode〈code〉| t 〈Attacktype〉|r〈persec〉 | T〈timelength〉|file〈filename〉 | u〈username〉 | passwd〈password〉
〈source_IP〉::=〈IP_addr〉
〈dest_IP〉::=〈IP_addr〉
〈route_IP〉::=〈IP_addr〉
〈source_port〉::=〈int_constant〉
〈dest_port〉::=〈int_constant〉
〈route_port〉::=〈int_constant〉
〈content〉::=〈char_constant〉
〈code〉::=〈char_constant〉
〈Attacktype〉::=〈char_constant〉
〈persec〉::=〈int_constant〉
〈timelength〉::=〈int_constant〉
〈icmp_type〉::=〈int_constant〉
〈filename〉::=〈char_constant〉
〈username〉::=〈char_constant〉
〈password〉::=〈char_constant〉
〈IP_addr〉::=(([1][0-9]{2}|[0-9][0-9]?|[2][0-4][0-9]|[2][5][0-4])\\.){3}([1][0-9]{2}|[0-9][0-9]?|[2][0-4][0-9]|[2][5][0-4])
〈char_constant〉::=〈letter〉|〈char_constant〉〈letter〉|〈char_constant〉〈digit〉|〈char_constant〉〈symbol〉
〈real_number〉::=〈int_constant〉|〈int_constant〉 .〈dec_fraction〉
〈dec_fraction〉 ::=〈digit〉 |〈digit〉〈dec_fraction〉
〈int_constant〉::=〈digit〉|〈int_constant〉〈digit〉
〈digit〉 ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
〈letter〉::=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z
〈symbol〉 ::=+| | * |/ | = |==| !=|(|)|{ |} |;|.|〈|〉 | ||| ||_|〈|〉|
2.3CNADL的實現
CNADL的解釋器實現主要分為詞法分析器、語法分析器、語義分析器、代碼生成和優化模塊四個部分,最終實現將攻擊描述語言轉換為目標代碼交互GTNets仿真平臺解釋執行。圖3為該語言解釋器的結構設計圖。
其中:詞法分析器、語法分析器借助LEX和YACC工具分別生成詞法分析和語法分析生成器。LEX和YACC程序均由定義段、規則段和用戶例程段三部分組成。每部分用%%(雙百分號)區隔開。YACC程序進行語法分析時調用LEX程序詞法分析的結果,并通過規則和用戶例程調用平臺中的函數。
輸入由CNADL描述的源程序,經過詞法分析、語法分析、語義分析以及代碼生成和優化處理,最后生成目標代碼,交付GTNets仿真平臺解釋執行,實現攻擊仿真。
以拒絕服務攻擊為例,說明攻擊描述語言的實現情況。拒絕服務攻擊的描述語言形式如下:
NOID〈NO.〉Time〈Time〉 Attackoperator〈operator〉DoSt 〈Dostype〉ip〈source_ip〉 ip〈target_ip〉r〈persec〉T〈timelength〉 p〈target_port〉ip 〈smurfip〉
經解釋器解釋以后,調用為C++攻擊類函數接口。該攻擊類的實現是按照攻擊樹建模后自動機表示的流程實現的,攻擊類可調用仿真平臺的底層函數,最終實現攻擊仿真。
攻擊類的接口函數如下所示:
DoS(String Dostype, IPAddr_t source_ip,IPAddr_t target_ip, Count_t persec,Count_t timelength,PortId_ttarget_port,IPAddr_tsmurfip)
Dostype為DoS的類型/String類型,可以為SYNFlood、UDPStorm、或Smurf;如果為default則按默認的處理
source_ip為偽造的源地址IP;如果為0.0.0.0則按默認處理
target_ip為目標IP
persec為攻擊發包速率;如果為-1則按默認處理
timelength為攻擊持續時間;如果為-1則按默認處理
target_port為目標端口,可選;當Dostype為SYNFlood時為必選,其余為-1
Smurfip為Smurf攻擊的中間節點廣播IP,為路由器的接口IP,可選;當Dostype為Smurf時為必選。
3基于CNADL的攻擊演練系統
基于CNADL,本文開發了計算機網絡攻擊演練系統。其系統結構圖如圖4所示。
攻擊部分通過RTI與想定系統和人機交互界面進行交互,接收想定和人機交互的命令執行攻擊。攻擊部分內部的結構主要包括攻擊描述語言解釋器、攻擊知識、攻擊類庫和底層函數庫四個部分。解釋器接收想定和人機交互系統傳送過來的攻擊描述語言,查尋攻擊知識,將攻擊描述語言轉換為攻擊類;攻擊類調用GTNets平臺提供的底層函數實現攻擊。各部分在系統中的位置及其關系如圖4所示。
1)攻擊描述語言解釋器輸入是攻擊想定引擎及人機交互通過RTI傳輸的攻擊描述語言,經過解釋,調用攻擊函數庫中的函數執行攻擊;攻擊描述語言進行解釋時會查詢攻擊知識。
2)攻擊知識存儲著攻擊函數及其參數對應表,包括執行該攻擊所需要的參數、條件,攻擊解釋器解釋攻擊描述語言描述的攻擊名及其參數時,可通過查詢攻擊知識進行匹配,判斷這些參數是否包括執行該攻擊所需要的必要信息、執行該攻擊需要補充哪些信息,進而生成相應的攻擊類。
3)攻擊類庫由具體的攻擊類組成,每個攻擊類繼承自一個attack類,每個類定義了實現該攻擊的具體方法。它是由攻擊命令解釋器生成的,接收攻擊描述語言傳遞過來的參數,并調用GTNets平臺中的底層支撐函數執行。目前實現的攻擊類庫中包含DoS、Worm、IPSpoof、PasswordCrack四個類,分別實現DoS、Worm、IPSpoof和PasswordCrack四類攻擊。
4)底層函數庫該庫是指執行攻擊時所需要的一些底層函數集合,如發送數據包、接收數據包的函數。目前這些函數由GTNets仿真平臺提供,使得CNA系統最終能在仿真平臺中運行,產生攻擊仿真。
4實驗驗證
結合GTNets仿真平臺,筆者分別實現了拒絕服務攻擊、蠕蟲攻擊、口令竊取和IP欺騙幾類攻擊演練,對這幾類攻擊進行定義,建立基于攻擊樹模型并用自動機表示,用攻擊描述語言進行描述,并開發相應的解釋器進行解釋,形成攻擊類庫,結合GTNets仿真平臺最終實現攻擊仿真演練。
下面以拒絕服務攻擊中的Smurf攻擊為例,對實驗數據進行詳細分析。
4.1實驗的拓撲結構
實驗的拓撲結構如圖5所示。
圖4基于CNADL的攻擊演練系統結構圖
圖5Smurf攻擊實驗的拓撲結構
在實驗中Smurf攻擊仿真采用啞鈴型與星型相結合的拓撲結構。各節點的設置如下:
a)路由器。白色,連接啞鈴型拓撲左右側節點,數量不變,為2個。
b)攻擊者。最右下角節點,為攻擊最初發起者,數量不變,只有1個。
c)普通用戶。灰色,右側除攻擊者以外的其他節點,也是潛在的攻擊代理節點,被捕獲后改成紅色,數量可變,為1~99個。
d)受害者。最左下角節點,為攻擊目標,數量不變,只有1個。
e)中間網絡交換機。白色,除受害者外啞鈴拓撲左側所有葉節點,也是星型結構的根節點,用于轉發報文,數量可變,為1~99個。
f)中間網絡主機。黑色,星型拓撲葉節點,數量可變,為1×1~99×100個。
實驗假設如下:未受攻擊時,實驗中的網絡物理鏈路和通信鏈路正常工作;每次攻擊的被捕獲概率為100%,即如果有攻擊到達均能被捕獲到;實驗中無其他干擾流量。
4.2實驗參數設計
實驗時的仿真網絡參數配置如下:
仿真執行時間10s
基本帶寬10 Mbps
攻擊包發送速率 100 pkt/s
ICMP包發送速率10 pkt/s
實驗中變化的值為三個仿真參數:啞鈴型拓撲左側葉節點個數(nl)、右側節點個數(nr),以及星型拓撲葉節點個數(ns)。
4.3實驗的CNADL描述及處理
CNADL描述的Smurf攻擊用統一形式描述如下:
NOID〈NO.〉Time〈Time〉 Attackoperator〈operator〉DoStSmurfip〈source_ip〉 ip〈target_ip〉r〈persec〉T〈timelength〉 p〈target_port〉ip 〈Smurfip〉
用CNADL把Smurf攻擊的形式統一描述后,通過CNADL解釋器,把Smurf攻擊按照攻擊樹建模及其自動機表示的過程進行實現,轉換為相應的Smurf攻擊類。對于參數不同的實驗轉換后的Smurf攻擊類是一樣的,只是傳入接口函數的參數不一致,這樣增加了代碼的可復用性。
具體到每一次攻擊,語言形式如下:
NOID 13Time 20Attackoperator 12DoStSmurfip 211.102.71.52 ip 202.112.131.12r 100T 40p 1023ip 202.112.133.1
該語句表示這是序號為13的一個攻擊,攻擊的發起時間為第20 s。攻擊的發起者ID為12,攻擊者偽造的IP地址為211.102.71.52,向IP為202.112.131.12的受攻擊者發起Smurf攻擊,攻擊端口為1023,攻擊速率為100 pkt/s,持續時間40 s,中間網絡的網段是網關為202.112.133.1的網段。
經過解釋器轉換后,由DoS攻擊事件處理函數進行處理,部分C++程序段如下:
筆者進行了17次Smurf攻擊實驗,每次實驗中攻擊描述語言的形式如上所示。其中攻擊者偽造的IP地址、攻擊持續時間、攻擊的中間網絡地址是可變的。
4.4實驗結果
對這17次實驗,分析Smurf攻擊中參與攻擊節點個數對攻擊效果的影響。實驗中,實驗參數nl、nr、ns是變化的。
在不同參數情況下,根據受攻擊節點無返回的ICMP響應數據包與發送的ICMP請求數據包比率進行統計,得出17次實驗無響應ICMP請求比率與參與攻擊節點個數(nl×nr×ns)的關系圖,如圖6所示。
由圖6 可見,隨著參與攻擊節點數的增加,無響應ICMP請求的比率也逐漸上升,使受攻擊者無法向普通用戶提供正常的服務。
分別抽取測試仿真時間 0~0.495 s,選擇攻擊節點數目為8,廣播中間節點數目為180,每個攻擊節點的發包率分別為100、200、400和500 p/s(分別為圖中系列1、2、3和4)的情況下測試網絡的延時。測試取前25個數據包,它的延時情況如圖7所示。
由圖7可見,不同攻擊速率下前13個數據包攻擊速率在0.03 s,從14個數據包開始延時增加,中間上升的速率隨著攻擊包括率的增加而增大,但最終延時均穩定在0.07 s左右。由此可以看出,在攻擊的初始階段,網絡延時隨著攻擊的進行不斷增大,但當延時增加到一定的程度,網絡負載達到一個最大值,受攻擊主機開始拒絕服務,不接收新的服務,此時網絡延時達到一個相對穩定的狀態。
從以上分析可以看出,無響應ICMP請求的比率隨著網絡節點的增加而增大,網絡延時隨著攻擊速率的增加而增大并趨于一個穩定值,這兩方面影響了網絡通信鏈路,從而使得受攻擊節點的服務無法向使用者提供,實現了拒絕服務攻擊演練。
5結束語
本文深入分析研究了計算機網絡攻擊演練的現狀,基于攻擊描述語言建立計算機網絡攻擊演練系統。本文提出的攻擊描述語言——CNADL面向攻擊樹建模,采用上下文無關文法設計,實現了語言的編譯器。在此基礎上,結合GTNets仿真平臺,設計并實現了計算機網絡攻擊演練系統。實驗數據表明,基于CNADL的計算機網絡攻擊演練系統能有效地刻畫攻擊特征,較好地支持網絡攻擊演練,實現了拒絕服務、蠕蟲、口令竊取和IP欺騙四種攻擊演練。
參考文獻:
[1]The American Joint Chiefs of Staff. DoD dictionary of military and associated terms[R]. Washington DC:Department of Defense,2002.
[2]YE N, HOSMER C, GIORDANO J, et al.Critical information infrastructure protection through process modeling and modelbased information fusion[C]//Proc of Information Survivability Workshop. New York:ACM Press, 2001:7682.
[3]李肖堅.一種計算機網絡自組織的協同對抗模型[J].計算機研究與發展,2005,42:618-628.
[4]COHEN F B. Simulating cyber attacks, defenses, and consequences [EB/OL]. (1999).http://all.net/journal/ntb/simulate/simulate.html.
[5]NICOL D M.Modeling and simulation in security evaluation [J]. Security Privacy Magazine, 2005,3(5):7174.
[6]CHI S D, PARK J S, JUNG K C,et al. Network security modeling and cyber attack simulation methodology[C]//Australasian Confe ̄rence on Information Security and Privacy. Australasian: [s.n.], 2001: 320-333.
[7]KOTENKO I, MAN’KOV E.Experiments with simulation of attacks against computer networks[C]//Proc of MMMACNS 2003. Russia:SpringerVerlag, 2003:183194.
[8]PARK E K, YUN J B, PETER H. Simulating cyberintrusion using ordered UML modelbased scenarios [C]//Proc of AsiaSim. Korea: Jeju Island, 2004:643-651.
[9]VIGNA G, ECKMANN S T, KEMMERER R A. Attack languages [C]//Proc of IEEE Information Survivability Workshop (ISW 2000). Boston, MA:[s.n.],2000:163166.
[10]ECKMANN S, VIGNA G, KEMMERER R. STATL: an attack language for statebased intrusion detection [J]. Journal of Computer Security,2002,10(1):71104.
[11]CUPPENS F, ORTALO R. LAMBDA: a language to model a database for detection of attacks[C]//Proc of the 3rd International Workshop on the Recent Advances in Intrusion Detection. Berlin: Sprin ̄gerVerlag, 2000:197-216.
[12]CEDRIC M, LUDOVIC M. ADeLe:an attack description language for knowledgebased intrusion detection[C]//Proc of the 16th International Conference on Information Security (IFIP/SEC2001). Paris: Kluwer, 2001:353-368.
[13]MOORE A P. ELISON R J, LINGER R C. Attack modeling for information security and survivability, SEI-2001TN-001[R]. Pittsburgh:Software Engineering Institute Technical Report.[S.l.]: Carnegie Mellon University, 2001.
[14]SCHNEIER B. Attack trees[J]. Dr Dobb’s Journal of Software Tools, 1999,12:21-29.
[15]STEFFAN J, SCHUMACHER M. Collaborative attack modeling [C]//Proc of ACM Symposium on Applied Computing. New York: ACM Press, 2002:253-259.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”