呂獻勇 牛辰庚 何 旭
(中國石油大學(xué)(華東)計算機與通信工程學(xué)院 青島 266580)
隨著互聯(lián)網(wǎng)應(yīng)用在人們的學(xué)習(xí)、生活和工作中的日漸普及,計算機網(wǎng)絡(luò)的安全問題也逐漸受到用戶和專家的高度關(guān)注。諸如防火墻、訪問控制、入侵檢測等被動的防御手段,已經(jīng)很難避免伴隨網(wǎng)絡(luò)規(guī)模擴大以及黑客技術(shù)提升所發(fā)展而來的艱巨挑戰(zhàn)。
在這種形勢下,一種新的防御手段——蜜罐技術(shù)被研究學(xué)者提出來[1~2],既主動設(shè)置陷阱來誘惑攻擊者進行攻擊和掃描,從而獲取攻擊者的行為數(shù)據(jù)實現(xiàn)對攻擊者的追蹤和分析[3]。然而,蜜罐本身也存在易被識破、配置和維護困難等問題[4~5]。所以,動態(tài)蜜罐的思想也就隨之而生[6],只要將一個蜜罐程序部署到所需網(wǎng)絡(luò)中去,它會自動地檢測周圍的網(wǎng)絡(luò)環(huán)境,收集數(shù)據(jù),配置適當(dāng)數(shù)量的蜜罐,并且還能夠隨著網(wǎng)絡(luò)環(huán)境的改變自動做出相應(yīng)的調(diào)整。
因此,構(gòu)建動態(tài)蜜罐系統(tǒng)模型,并對系統(tǒng)模型的性能和安全性進行評估就變得十分重要。本文提出了基于隨機Petri網(wǎng)的動態(tài)蜜罐系統(tǒng)模型,對動態(tài)蜜罐系統(tǒng)進行了深入研究,對系統(tǒng)模型進行性能分析,并利用PIPE驗證了動態(tài)蜜罐系統(tǒng)的安全性和有效性。
自1962年P(guān)etri網(wǎng)由Carl Adam Petri在其博士論文中提出[7],已經(jīng)被研究學(xué)者廣泛應(yīng)用于計算機科學(xué)領(lǐng)域的各種系統(tǒng)建模和性能分析。Petri網(wǎng)是一種常用的數(shù)學(xué)建模工具[8],由位置(place)、變遷(transition)、弧(arc)和標(biāo)記(token)四大元素組成[9],能夠描述異步并發(fā)的計算機系統(tǒng)模型,且具有形象直觀的圖形顯示的能力?;綪etri網(wǎng)在描述大規(guī)模系統(tǒng)時分析難度會非常高,所以高級Petri網(wǎng)應(yīng)運而生,成熟的高級Petri網(wǎng)主要包括謂詞變遷系統(tǒng)(Pr/T_系統(tǒng))[10]、有色Petri網(wǎng)系統(tǒng)[11]和隨機Petri網(wǎng)[12]系統(tǒng)等。這些年來,Petri網(wǎng)在網(wǎng)絡(luò)安全領(lǐng)域的應(yīng)用越來越廣泛,國內(nèi)外的安全專家都在這方面做了大量的研究工作。
為了系統(tǒng)地描述和分析網(wǎng)絡(luò)安全,Liu[13]等對網(wǎng)絡(luò)安全態(tài)勢各因素間的相互關(guān)系進行了研究,提出了網(wǎng)絡(luò)安全態(tài)勢的系統(tǒng)結(jié)構(gòu),并采用有色Petri網(wǎng)對攻擊事件觸發(fā)系統(tǒng)狀態(tài)轉(zhuǎn)換的整個過程進行了圖形化描述。Hicham[14]等則提出一種用于檢測網(wǎng)絡(luò)安全沖突的基于數(shù)據(jù)流屬性的設(shè)備配置模型,并采用有色Petri網(wǎng)對其進行了直觀性地描述與說明。
Liu[15]提出了一個改進的時間約束RBAC模型,并基于時間有色Petri網(wǎng)對該時間約束RBAC模型進行了形式化驗證。Yang J[16]采用廣義隨機Pe?tri網(wǎng)創(chuàng)建了混合式入侵檢測系統(tǒng)的性能評估模型,對系統(tǒng)的整個流程進行了形式化描述和性能評價。
Shi[17]等利用Petri網(wǎng)給出了服務(wù)跳變系統(tǒng)SPN的系統(tǒng)模型,并從理論上論證了服務(wù)跳變系統(tǒng)的有效性和安全性。Teo L[18]等提出了一個將蜜罐和其他預(yù)防檢測機制協(xié)同起來保護本地網(wǎng)絡(luò)的安全框架——Japonica,并使用有色Petri網(wǎng)描述框架的的威脅評估機制和響應(yīng)機制。Wu[19]等利用廣義隨機Petri網(wǎng)構(gòu)建擬態(tài)DNS模型,并通過實驗表明在不同的干擾環(huán)境下采用合適的構(gòu)造策略能夠提升擬態(tài)域名系統(tǒng)的穩(wěn)態(tài)可用性和感知安全性。
為了更好地對動態(tài)蜜罐系統(tǒng)進行分析,在本節(jié)我們將分別構(gòu)建基于SPN普通蜜罐和動態(tài)蜜罐系統(tǒng)模型。
普通蜜罐的SPN模型包含了狀態(tài)(庫所)集合P={Pnormal,Pinteract,Pbypass,POOC,Pprocess,Plserver,Padmin},以及實現(xiàn)系統(tǒng)狀態(tài)變化的變遷集合T={Tattack,Tsend,Tcheck,Tlog?analyzing,Twarn,Tupdat}e。兩個集合各個元素所表示的含義如表1和表2所示。
然后我們根據(jù)Petri網(wǎng)模型建立規(guī)則建立了基于SPN的蜜罐的性能分析模型如圖1,對蜜罐的運行流程進行圖形化描述。
表1 普通蜜罐的狀態(tài)集及其意義
表2 普通蜜罐的變遷集及其意義
圖1 普通蜜罐SPN模型
圖1描述了普通蜜罐系統(tǒng)的隨機Petri網(wǎng)模型,蜜罐采用預(yù)先設(shè)置好的欺騙技術(shù),處于誘騙狀態(tài)Pnormal。當(dāng)有外部攻擊者探測或者攻擊蜜罐時,觸發(fā)攻擊事件Tattack,蜜罐開始與外部攻擊者進行交互Pinteract。此時,攻擊者對蜜罐系統(tǒng)產(chǎn)生疑惑,觸發(fā)事件Tcheck。當(dāng)攻擊者識破蜜罐系統(tǒng)時,會越過蜜罐系統(tǒng)Tbypass奪取系統(tǒng)控制權(quán),并對真實系統(tǒng)發(fā)動攻擊POOC。系統(tǒng)將按照預(yù)先設(shè)置向管理員發(fā)出警告信息Twarn,進行人工修復(fù)Tupdata。當(dāng)系統(tǒng)沒有被識破,所產(chǎn)生數(shù)據(jù)為真實攻擊數(shù)據(jù),數(shù)據(jù)記錄在日志服務(wù)器Plserver中,按照配置數(shù)據(jù)庫中的配置規(guī)則日志文件的分析Tloganalyzing,并對數(shù)據(jù)進行處理Pprocess。最后蜜罐向管理員發(fā)出警告信息Twarn,將分析記錄發(fā)給管理員Padmin,管理員根據(jù)分析結(jié)果對蜜罐的配置進行手動調(diào)整Tupdata,蜜罐恢復(fù)到最初的誘騙狀態(tài)Pnormal。
動態(tài)蜜罐系統(tǒng)的狀態(tài)集P和變遷集T,如表3和表4所示。同時根據(jù)Petri網(wǎng)建模規(guī)則建立動態(tài)蜜罐系統(tǒng)的SPN模型,如圖3所示。
表4 動態(tài)蜜罐變遷集及其意義
由圖2可知,首先對于外部網(wǎng)絡(luò)Pinternet,利用Nmap等工具進行探測,觸發(fā)事件TNmap,獲取到周圍的網(wǎng)絡(luò)環(huán)境中的操作系統(tǒng)類型或者提供的服務(wù)Pintdata,并將網(wǎng)絡(luò)數(shù)據(jù)保存在動態(tài)蜜罐數(shù)據(jù)庫。當(dāng)有攻擊者探測或者攻擊動態(tài)蜜罐Pdevice時,觸發(fā)攻擊事件Tattack。攻擊者對動態(tài)蜜罐系統(tǒng)產(chǎn)生懷疑Tcheck,當(dāng)攻擊者識破蜜罐系統(tǒng)時,會越過蜜罐系統(tǒng)Tbypass,奪取真實系統(tǒng)控制權(quán)并對真實系統(tǒng)發(fā)起攻擊POOC,系統(tǒng)將按照預(yù)先設(shè)置向動態(tài)蜜罐服務(wù)器發(fā)送警告信息Tsend。當(dāng)系統(tǒng)沒有被識破,所產(chǎn)生數(shù)據(jù)為真實攻擊數(shù)據(jù),數(shù)據(jù)記錄在日志服務(wù)器Plserver中,按照配置數(shù)據(jù)庫中的配置規(guī)則日志文件的分析Tloganalyzing,并對數(shù)據(jù)進行處理Pprocess。最后蜜罐向動態(tài)蜜罐服務(wù)器PDHDB發(fā)送處理結(jié)果Tsend,系統(tǒng)根據(jù)動態(tài)蜜罐數(shù)據(jù)庫中的網(wǎng)絡(luò)數(shù)據(jù)和警告信息,發(fā)出命令給蜜罐來自動部署虛擬系統(tǒng),即觸發(fā)事件Tconfiguring。
圖2 動態(tài)蜜罐SPN模型
在本章節(jié)中,我們使用Petri網(wǎng)性能分析軟件PIPE[20]對兩個蜜罐的SPN模型進行模擬實現(xiàn),并對之進行性能和安全性分析。
首席按對模擬實現(xiàn)的兩個蜜罐的SPN模型進行可用性分析,其分析結(jié)果均如表5中所示。
表5 SPN模型可用性分析
由分析結(jié)果可看出,這兩個SPN模型均是有界且安全的,并且都不存在死鎖現(xiàn)象。即本文所提出的兩個SPN模型都是有效且可用的。
使用PIPE模擬實現(xiàn)普通蜜罐的SPN模型,實驗生成了該模型的可達標(biāo)識集如圖3。
圖3 普通蜜罐SPN模型的可達集
隨機Petri網(wǎng)同構(gòu)于一個連續(xù)時間馬爾可夫鏈(MC),所以實驗生成的與普通蜜罐SPN模型同構(gòu)的MC,如圖4所示。
圖4 普通蜜罐SPN模型的馬爾可夫鏈
取該SPN模型的變遷平均實施速率集合λ={λa,λch,λl,λc,λw,λu}={4,2,2,1,2,1}最后將馬爾可夫鏈中的變遷Ti替換成相對應(yīng)的變遷平均實施概率λi。結(jié)合圖4中所示SPN模型的馬爾可夫鏈,并根據(jù)轉(zhuǎn)移矩陣Q=[qi,j],1≤i,j≤n,的定義,我們可以求其轉(zhuǎn)移矩陣為
設(shè)圖中MC的穩(wěn)定狀態(tài)概率為一個行向量P={p0,p1,p2,p3,p4,p5,p6,},可求得方程組:
根據(jù)所得方程組可解得每個狀態(tài)的穩(wěn)定概率,即
在求得各個狀態(tài)的穩(wěn)定概率的基礎(chǔ)上,我們根據(jù)Petri網(wǎng)的性能指標(biāo)公式對蜜罐SPN模型的各個基礎(chǔ)性能指標(biāo)進行分析。
1)標(biāo)記概率密度函數(shù),在穩(wěn)定狀態(tài)下每個位置中所包含的標(biāo)記數(shù)量的概率,即p[M(P)=i]=p(M)j。
表6 標(biāo)記概率密度
2)每個庫所的平均標(biāo)記量,在穩(wěn)定狀態(tài)下位置在任一可達標(biāo)記中平均所包含的標(biāo)記數(shù),即μˉi=p[M(P)=i]。
表7 平均標(biāo)記量
3)變遷的標(biāo)記流速,即單位時間內(nèi)流入T的后置位置的平均標(biāo)記數(shù)為
對上述所求得的基礎(chǔ)性能指標(biāo)進行分析,可以得出普通蜜罐的SPN模型進一步的性能指標(biāo)。
(1)系統(tǒng)淪陷概率
即蜜罐系統(tǒng)被攻擊者識破,攻擊者進而奪取系統(tǒng)控制權(quán)的概率為
(2)系統(tǒng)成功獲取數(shù)據(jù)的概率
即蜜罐系統(tǒng)未被識破、控制,成功獲取到攻擊者攻擊數(shù)據(jù)的概率為
(3)蜜罐更新時延
在蜜罐系統(tǒng)在將攻擊數(shù)據(jù)分析和處理結(jié)果發(fā)送給管理員,管理員對蜜罐進行重新配置的子系統(tǒng)中,其庫所集合所包含的平均標(biāo)記數(shù)為因此,根據(jù)Little規(guī)則和平衡原理[20],該過程所用的平均時延TU為
使用PIPE模擬生成動態(tài)蜜罐的SPN模型,可得該模型的可達標(biāo)識集如圖5,馬爾可夫鏈如圖6。
圖5 動態(tài)蜜罐SPN模型可達標(biāo)識集
圖6 動態(tài)蜜罐SPN模型馬爾可夫鏈
取動態(tài)蜜罐SPN模型的變遷平均實施速率集合為λ={λn,λs,λr,λa,λch,λl,λc,λsa,λco}={2,1,2,4,2,2,1,3,2},并將馬爾可夫鏈中的變遷Ti替換成相對應(yīng)的變遷平均實施概率λi。最后結(jié)合圖6中所示SPN模型的馬爾可夫鏈,并根據(jù)轉(zhuǎn)移矩陣Q=[qi,j],1≤i,j≤n,的定義,我們可以求其轉(zhuǎn)移矩陣為
設(shè)圖中馬爾可夫鏈的穩(wěn)定狀態(tài)概率為一個行向量P={p0,p1,p2,p3,p4,p5,p6,p7},求得方程組:
根據(jù)方程組可解得穩(wěn)定概率為
在求得各個狀態(tài)的穩(wěn)定概率的基礎(chǔ)上,然后對蜜罐SPN模型的各個基礎(chǔ)性能指標(biāo)進行分析。
1)標(biāo)記密度函數(shù)。
表8 標(biāo)記概率密度
2)每個庫所的平均標(biāo)記量。
表9 平均標(biāo)記量
對上述所求得的基礎(chǔ)性能指標(biāo)進行分析,可以得出以下結(jié)論。
(1)系統(tǒng)淪陷概率
即蜜罐系統(tǒng)被攻擊者識破,攻擊者進而奪取系統(tǒng)控制權(quán)的概率為
(2)系統(tǒng)成功獲取數(shù)據(jù)的概率
即蜜罐系統(tǒng)未被識破、控制,成功獲取到攻擊者攻擊數(shù)據(jù)的概率為
(3)蜜罐配置時延
在Nmap將收集到網(wǎng)絡(luò)數(shù)據(jù)存儲在動態(tài)蜜罐數(shù)據(jù)庫的子系統(tǒng)中,該過程消耗時延為在系統(tǒng)將警告信息和數(shù)據(jù)分析處理結(jié)果發(fā)送給動態(tài)蜜罐系統(tǒng)的子 系 統(tǒng) 中 ,其 時 延 為因此該子系統(tǒng)的平均時延為:
在前面,我們利用Petri網(wǎng)性能分析工具PIPE[16]對不同蜜罐的SPN模型進行了模擬實現(xiàn),并通過實驗總結(jié)出了一些基本性能指標(biāo)數(shù)據(jù),并求出了一些更深入的性能指標(biāo)數(shù)據(jù),接下來我們在本小節(jié)中對兩者性能進行對比分析。
通過前面的實驗分析,我們可以統(tǒng)計出不同蜜罐系統(tǒng)的淪陷概率、系統(tǒng)成功獲取數(shù)據(jù)概率等概率統(tǒng)計結(jié)果(表10),以及不同蜜罐更新配置的延時圖8。
表10 概率統(tǒng)計結(jié)果
圖7 概率分布圖
從圖7的對比分析結(jié)果,我們可以得出以下結(jié)論:與普通蜜罐相比,本文所提出的動態(tài)蜜罐系統(tǒng)的被識破淪陷概率降低,抵御攻擊能力加強,安全水平較高,從而系統(tǒng)獲取攻擊者攻擊數(shù)據(jù)的可能性也得以提高。
表11 時延統(tǒng)計結(jié)果
圖8 更新時延對比圖
從圖8的對比分析結(jié)果,我們可以看出,由于動態(tài)蜜罐實現(xiàn)了自動配置,去除了人為干預(yù),所以與普通蜜罐相比其蜜罐更新消耗的時間較少,從而驗證了本文的理論分析。
本文對動態(tài)蜜罐系統(tǒng)進行了深入分析,運用隨機Petri網(wǎng)理論,根據(jù)SPN系統(tǒng)建模規(guī)則提取系統(tǒng)狀態(tài)集、事件集以及二者間的聯(lián)系,構(gòu)造基于SPN的普通蜜罐和動態(tài)蜜罐系統(tǒng)模型,對不同蜜罐系統(tǒng)的性能進行了理論分析,得到了系統(tǒng)淪陷概率、系統(tǒng)成功獲取數(shù)據(jù)概率以及蜜罐更新時延等性能指標(biāo)。利用PIPE工具對模型進行模擬實現(xiàn),分析了模型的可用性和有效性,并通過實驗驗證了本文理論推理的正確性。