郭昊月,沈 勇
(江蘇科技大學(xué)計算機學(xué)院,江蘇鎮(zhèn)江 212100)
在互聯(lián)網(wǎng)時代,網(wǎng)絡(luò)安全問題愈發(fā)受到重視[1]。隨著黑客的攻擊技術(shù)越來越高明,網(wǎng)絡(luò)安全已經(jīng)被上升至國家安全的重要戰(zhàn)略高度。蜜罐技術(shù)是一種網(wǎng)絡(luò)誘騙陷阱,其作用是拖延攻擊者進程并收集其信息。分布式蜜罐則是將眾多蜜罐組合成一個系統(tǒng),從而力求獲取更大收益[2-3]。隨著網(wǎng)絡(luò)安全問題復(fù)雜程度的不斷提高,單一的蜜罐技術(shù)已不足以應(yīng)對[4]。網(wǎng)絡(luò)攻防是一種偏向于不完全多階段演化博弈的過程,因此很多學(xué)者嘗試將蜜罐技術(shù)與不同的博弈論思想相結(jié)合。例如,Kiekintveld 等[5]提出若干種博弈模型用于配置蜜罐;石樂義等[6]基于非合作不完全信息動態(tài)博弈理論推理分析了擬態(tài)式蜜罐誘騙博弈中存在的貝葉斯納什均衡策略;李陽等[7]在演化博弈的基礎(chǔ)上對蜜罐技術(shù)的有效性進行了研究,分析了如何使博弈的收益最大化;趙柳榕等[8]通過比較不同場景下攻防博弈的納什均衡混合策略,得出了蜜罐與入侵檢測系統(tǒng)技術(shù)組合的最優(yōu)配置;李娟利等[9]將蜜罐系統(tǒng)與不完全信息動態(tài)博弈融為一體,進行了模糊矩陣博弈的網(wǎng)絡(luò)安全威脅評估。
盡管分布式蜜罐技術(shù)已被廣泛應(yīng)用,但關(guān)于其部署策略方面的研究仍較少,現(xiàn)有研究多關(guān)注單一蜜罐的大量部署,該情況下蜜罐取得的收益往往不及預(yù)期。為此,本文提出一種基于合作博弈的分布式蜜罐部署策略,創(chuàng)新性地將合作博弈思想與蜜罐技術(shù)相結(jié)合,在分布式蜜罐系統(tǒng)場景下對Shapley 值法進行優(yōu)化,并在此基礎(chǔ)上建立收益分配模型,從而使蜜罐獲得計劃內(nèi)的更大收益,同時在分布式節(jié)點中加入聚類分流技術(shù)以提高多項系統(tǒng)的性能。
根據(jù)部署目的,蜜罐常分為生產(chǎn)和研究兩種類型[10-11]。生產(chǎn)蜜罐通常被放置在生產(chǎn)網(wǎng)絡(luò)中與生產(chǎn)服務(wù)器協(xié)同工作,對整體安全狀態(tài)進行優(yōu)化;研究蜜罐則用于收集在不同環(huán)境下的攻擊方式和攻擊策略等信息。在交互深度方面,蜜罐可以分為低交互和高交互兩種,詳見表1。
相較于單一蜜罐系統(tǒng)來說,分布式蜜罐擴展了蜜罐系統(tǒng)所能收集信息的廣度,不僅保留了單一蜜罐的優(yōu)點,克服了其收集數(shù)據(jù)量少的缺陷,還可以保障系統(tǒng)安全性。分布式蜜罐系統(tǒng)分為總服務(wù)器、節(jié)點服務(wù)器和蜜罐層3 層,見圖1。其中,總服務(wù)器集成了用戶管理、節(jié)點管理等各種功能,負責(zé)整個系統(tǒng)的管理和數(shù)據(jù)分析;各節(jié)點服務(wù)器負責(zé)對網(wǎng)段內(nèi)的蜜罐進行配置和管理;蜜罐層由當(dāng)前節(jié)點指定需求功能的蜜罐組成。
Fig.1 Structure of distributed honeypot system圖1 分布式蜜罐系統(tǒng)結(jié)構(gòu)
合作博弈是指眾多參與者以合作的方式所進行的博弈,其常用于研究收益分配問題。本文探討的一個重要問題即為什么樣的部署策略可以實現(xiàn)各蜜罐的收益最理想化,因此采用合作博弈法討論。
基于合作博弈的Shapley 值法于1953 年提出[12],該法是解決n人合作對策問題的數(shù)學(xué)方法[13],常用于收益分配問題的分析。當(dāng)聯(lián)盟有n個參與者時,該聯(lián)盟中若干參與者的不同組合均可得到一定的收益,且隨著參與者的增加,收益也在增加,因此n人合作時的總體收益即為最大收益[14]。假設(shè)n個蜜罐組成聯(lián)盟M,其成員的集合為N={1,2,3…,n},N的任一子集S 均對應(yīng)一個收益函數(shù)V(S)且滿足[15]:
記(N,V)為n人合作博弈,V為合作博弈的特征函數(shù)。式(1)-(3)表示聯(lián)盟M存在的必要性,即聯(lián)盟收益值必須大于部分收益值之和。當(dāng)n個蜜罐均參與聯(lián)盟時,聯(lián)盟將獲得最大收益,將其記為V(N),表示為:
式(4)、(5)中,Pi表示聯(lián)盟M中蜜罐i從V(N)中應(yīng)得的收益,V(i)表示蜜罐i不加入聯(lián)盟時的收益。
?i(v)表示第i個成員在聯(lián)盟中應(yīng)得的收益,則各聯(lián)盟成員所得利益分配的Shapley值表示為:
式中,|S|為表示聯(lián)盟中蜜罐的個數(shù),V(S)表示子集S的收益,V(S)-V(S-{i})為子集S中除去i后可取得的收益值。
聚類分流是一種數(shù)據(jù)處理技術(shù),是基于聚類算法的拓展[16],其中聚類是將抽象對象的集合分成由相似對象組成的多個類的方法[17];分流是指對聚類后的數(shù)據(jù)進行不同處理,根據(jù)已聚類數(shù)據(jù)的分組判斷其類型,并采取相應(yīng)措施。通過聚類分流技術(shù)可以對未知類型數(shù)據(jù)進行保留分析或等待數(shù)據(jù)后續(xù)收集,將已知類型數(shù)據(jù)從疑似數(shù)據(jù)或近似數(shù)據(jù)中提取出來。在實際應(yīng)用中,聚類和分流兩種技術(shù)的結(jié)合可有效提高數(shù)據(jù)分析的效率和準(zhǔn)確率。
本文提出一種基于合作博弈的分布式蜜罐部署策略,旨在解決現(xiàn)有分布式蜜罐系統(tǒng)收益不合預(yù)期、資源浪費和數(shù)據(jù)處理效率低下的問題。首先對傳統(tǒng)的合作博弈Shapely 值法進行優(yōu)化,使分布式蜜罐在滿足系統(tǒng)需求的情況下取得更大收益;其次將聚類分流技術(shù)與該模型相結(jié)合,對正確數(shù)據(jù)先聚類再處理,將錯誤數(shù)據(jù)拋出或傳入蜜罐進行二次收集。
根據(jù)Shapely 值法的基本原理,聯(lián)盟中的利益分配是基于各參與者對聯(lián)盟整體的邊際收益貢獻所定,影響因素比較單一。分布式蜜罐系統(tǒng)需要考慮系統(tǒng)資源的占用量、蜜罐的功能性、風(fēng)險水平等因素,因此本文將根據(jù)這些因素對Shapely值法進行優(yōu)化。
2.1.1 系統(tǒng)資源占用系數(shù)Ai1
聯(lián)盟中各蜜罐占用的資源比例不同,以Q表示,Qi為蜜罐i占用的資源,n為成員個數(shù),資源占用系數(shù)Ai1表示為:
2.1.2 蜜罐功能性系數(shù)Ai2
蜜罐的功能性系數(shù)也可以看作其有效性,常采用SPN(Secret Private Network)模型進行評估,該模型可使用PIPE模擬實現(xiàn)[18],通常根據(jù)模擬得出的標(biāo)記概率密度函數(shù)、平均標(biāo)記量等指標(biāo)獲取。設(shè)其功能性帶來的收益為G,Gi為蜜罐i帶來的收益,i為成員個數(shù),則蜜罐的功能系數(shù)Ai2表示為:
2.1.3 系統(tǒng)風(fēng)險水平系數(shù)Ai3
由高低交互蜜罐的風(fēng)險大小來看,其與蜜罐功能性系數(shù)成正比,因此可以設(shè)不同功能蜜罐存在1 個影響因子hi,因此風(fēng)險系數(shù)Ai3表示為:
2.1.4 優(yōu)化后的Shapely值法模型
利益分配的修正因素用集合j=1,2,…,m表示,因此第i個蜜罐關(guān)于第j個修正因素的測度值為Aij,其中i=1,2,…,n。表2即為Shapely值法模型的相關(guān)修正因素。
Table 2 Relevant correction factors表2 相關(guān)修正因素
修正矩陣為B,表示為:
通過0-1 標(biāo)準(zhǔn)化方法對數(shù)據(jù)進行歸一化處理,可以得到新矩陣E,表示為:
由于不同因素對收益的影響不同,在層次分析法的基礎(chǔ)上分配其權(quán)重,即ω=[ω1,ω2,ω3]T且ω1+ω2+ω3=1。設(shè)不同因素的影響因數(shù)為Fi,可得到[F1,F(xiàn)2,F(xiàn)3]T=ω*F。
設(shè)蜜罐i的收益分配為?i′(v),其修正的收益為Δ?(i),ΔFi表示蜜罐i 的影響因子,V(N)為聯(lián)盟的最大收益值,則蜜罐i的收益為:
2.2.1 模型框架
本文模型框架如圖2 所示,蜜罐層主機負責(zé)搭載系統(tǒng)所需蜜罐,統(tǒng)一將數(shù)據(jù)上傳至節(jié)點服務(wù)器。節(jié)點服務(wù)器首先將數(shù)據(jù)傳輸至聚類分流器進行歸類處理,隨后將合理數(shù)據(jù)交付給數(shù)據(jù)分析系統(tǒng)進行分析處理。
Fig.2 Model framework圖2 模型框架
2.2.2 聚類分流設(shè)計
聚類分流首先實現(xiàn)初始中心類的劃分和拓展,隨后在其基礎(chǔ)上進行數(shù)據(jù)聚類分流,詳細步驟為:
(1)初始類中心選擇。首先定義CDT=(U,A,V,f)為1 個分類數(shù)據(jù)表,U為對象的非空有限集合,A為屬性的非空子集,V為Va的集合,Va為a的值域,a∈A;f(x,a)∈Va,為x和y關(guān)于A的相異度,當(dāng)f(x,a)=f(y,a)時,Ea(x,y)=0,其他情況下Ea(x,y)=1。則x關(guān)于a在U的密度表示為:
設(shè)Dens(x)為其平均密度,則Dens(x)=|。由此可見,x聚集的數(shù)據(jù)越多,成為類中心的概率越大,初始類應(yīng)選擇密度最大的對象。
(2)數(shù)據(jù)聚類。在初始類確定后,利用k-modes 算法將1 個n=|U|個對象聚集成k類以找到B和C,其中B=[bli],為1 個k×n的矩陣;C=[c1,c2,…,ck],cl為第l 個類中心,目的是使目標(biāo)函數(shù)F(B,C)最小,其中F(B,C)表示為:
聚類步驟為:①設(shè)置變量t,令t=1,計算C(t+1),使得F(B(t),C(t+1))最小,若F(B(t),C(t+1))=F(B(t),C(t)),聚類停止,反之進行下一步;②求解B(t+1),使得F(B(t+1),C(t+1))最小。如果F(B(t+1),C(t+1))=F(B(t),C(t+1)),聚類停止,否則令t=t+1 并回到上一步;③若上述步驟執(zhí)行兩次后仍需令t=t+1 并回到步驟①,即兩次工作均無法滿足F(B(t),C(t+1))=F(B(t),C(t))時,則停止此次聚類,標(biāo)記此數(shù)據(jù)無法聚類并重新送回蜜罐,隨后繼續(xù)對后續(xù)數(shù)據(jù)進行聚類。
(3)數(shù)據(jù)分流。分流是對常見攻擊手段進行分類,有利于從已有數(shù)據(jù)中分析出攻擊者的攻擊手段、方法和目的,對于提高系統(tǒng)收益有重要作用。在本文部署策略中,聚類分流通過在各節(jié)點部署聚類分流器實現(xiàn),可有效提升整個系統(tǒng)的數(shù)據(jù)準(zhǔn)確率和處理速度。蜜罐聚類分流器的工作流程如圖3所示。
Fig.3 Cluster diverter workflow圖3 聚類分流器工作流程
2.2.3 部署策略分析
對當(dāng)前系統(tǒng)的需求確定權(quán)重系數(shù)后即可開始分析,通過系統(tǒng)需求對蜜罐進行收益分配,可以得到基于3 個因素Ai1、Ai2和Ai3的部署策略。各蜜罐的資源占用量分別為a1、a2...an,且(a1+a2+...+an)=A,暫將a1/A、a2/A...an/A設(shè)為t1、t2...tn。參考文獻[18],基于SPN 模型對蜜罐功能性系數(shù)與系統(tǒng)風(fēng)險水平進行評估分析,蜜罐功能性可獲得的收益設(shè)為(G1,G2...G3)T,因此在Ai1主導(dǎo)的情況下,各蜜罐的收益向量為?(v)=(L1,L2,L3...Ln),其中L均可由式(6)求得,即可求出Ai1主導(dǎo)的蜜罐收益值。結(jié)合歸一化處理和不同蜜罐的風(fēng)險水準(zhǔn)與其功能性系數(shù)成正比的事實,暫設(shè)其風(fēng)險權(quán)重為(G1h1,G2h2...Gnhn)T,且G1h1+G2h2+Gnhn=1,可得修正矩陣為:
只需將所需參數(shù)代入即可求解,隨后按照系統(tǒng)需求確定各蜜罐收益。
本文提出的部署策略即在分布式蜜罐系統(tǒng)部署前通過式(18)對不同蜜罐預(yù)期收益進行計算,結(jié)合不同系統(tǒng)的實際需求對收益進行分配,因此可最大程度地滿足實際需求。目前,分布式蜜罐常用于檢測DDOS 攻擊[19],亦有通過端口誘騙結(jié)合重定向技術(shù)實現(xiàn)的分布式蜜罐系統(tǒng)[20],其存在數(shù)據(jù)處理較慢且準(zhǔn)確率不高等問題。因此,本文在分布式節(jié)點處加入聚類分流器,可在保證收益提升的前提下提高數(shù)據(jù)收集準(zhǔn)確率和處理速度。
3.1.1 環(huán)境設(shè)置
實驗測試環(huán)境包括12 臺服務(wù)器,其中9 臺作為蜜罐服務(wù)器,均搭載Ubuntu18.04 系統(tǒng),并配備2GB 內(nèi)存和500G硬盤,安裝實驗所需各類型蜜罐,當(dāng)蜜罐使用時開啟,禁用時殺死進程;其余3 臺作為節(jié)點服務(wù)器部署ELK 分析系統(tǒng)和聚類分流器,收集分析蜜罐獲取的數(shù)據(jù),在系統(tǒng)部署環(huán)境中采用各種攻擊手段等頻率等量級進行攻擊。本次實驗使用honeyd、MySQL-honeypotd 和Cowrie 3 種蜜罐,蜜罐服務(wù)器搭載以上3種蜜罐,組合方式可變。
3.1.2 參數(shù)設(shè)置
結(jié)合系統(tǒng)對不同因素重要性的評判,基于層次分析法確定本實驗中系統(tǒng)資源占用量、蜜罐功能性和風(fēng)險水平的權(quán)重系數(shù)分別為0.6、0.3 和0.1,因此ω=[0.6,0.3,0.1]T。設(shè)定各蜜罐收益比例為4∶3∶4,結(jié)合式(18)和蜜罐性能分析可得各蜜罐分配資源量為45%、35%和20%,系統(tǒng)資源量為分配給蜜罐的內(nèi)存大小,將其作為實驗組參數(shù)。對照組1 部署策略參照文獻[14],為結(jié)合端口重定向的單一蜜罐部署法,該組采用honeyd 蜜罐,設(shè)置對照組1 用于比較不同部署策略下蜜罐的平均收益。對照組2 條件相同但未采用本文部署策略的方式,各蜜罐資源量配額為常規(guī)隨機生成數(shù),并進行5 次實驗對收集到的數(shù)據(jù)取均值,設(shè)置對照組2 用于比較相同條件下本文部署策略的提升程度。具體參數(shù)設(shè)置如表3。
Table 3 Parameter setting表3 參數(shù)設(shè)置
各組實驗差錯率結(jié)果見表4。實驗組差錯率低于兩個對照組,這是由于本文策略通過聚類分流技術(shù)對系統(tǒng)中的不同類型數(shù)據(jù)進行歸類,并將模糊且不合規(guī)數(shù)據(jù)剔除或?qū)Щ孛酃捱M行二次收集,因此可以很大程度地減少分析系統(tǒng)的錯誤信息量,進而降低差錯率。
Table 4 Error rate of experimental results of each group表4 各組實驗差錯率
數(shù)據(jù)平均處理時間t表示為式(19),其中T為檢測總時間,N為信息量,在大批量數(shù)據(jù)處理后獲得單一數(shù)據(jù)平均處理時間,用于檢驗部署策略數(shù)據(jù)處理效率。
各組數(shù)據(jù)平均處理時間見表5。聚類分流技術(shù)采用初始類中心優(yōu)化,并基于不同類型信息延伸出多個中心,從而實現(xiàn)數(shù)據(jù)的快速歸類。對歸類后的信息進行分析,以分組為單位進行數(shù)據(jù)分析效率更高。與不采取聚類分流技術(shù)的兩個對照組直接對大量數(shù)據(jù)進行分析處理的方式相比,實驗組的數(shù)據(jù)平均處理時間最大縮短了59.22%。
Table 5 Average data processing time of each group表5 各組數(shù)據(jù)平均處理時間
系統(tǒng)的資源損耗率可用式(20)表示,結(jié)果如表6 所示。對照組2 資源損耗率遠超對照組1,顯然隨機部署會大大損耗系統(tǒng)資源。雖然系統(tǒng)資源損耗不可避免,但本文部署策略可通過各蜜罐擬定收益推導(dǎo)出合理的蜜罐占用資源量,進而有效減小該損耗。
Table 6 Resource loss rate of each system表6 各系統(tǒng)資源損耗率
通過ELK 系統(tǒng)可得到實驗組各蜜罐最終收益,結(jié)果見表7。3 種蜜罐收益比例近似為4∶3∶4,符合“3.1.2”項下所述的系統(tǒng)需求收益比例,因此本文部署策略實現(xiàn)了收益可控,即可在不同系統(tǒng)需求下對收益進行合理分配。
實驗組與對照組的蜜罐收益曲線如圖4 所示,可以看出對照組1由于蜜罐種類單一,honeyd 收益較高,但與其他組比較,對照組1 總收益仍較低;對照組2 只有Cowrie 的收益比較突出,其余兩個蜜罐收益并沒有實質(zhì)性提高,并沒有在滿足系統(tǒng)需求的前提下將各蜜罐收益最大化;而采用本文部署策略的實驗組基于合作博弈模型將資源分配完備后,在盡可能減小資源浪費的情況下將各蜜罐收益合理化、最大化。
Table 7 Each honeypot benefits表7 各蜜罐收益
Fig.4 Honeypot income curve of each group圖4 各組蜜罐收益曲線
各組蜜罐總平均收益如圖5 所示,均符合蜜罐收益分布,即隨時間變化蜜罐收益曲線會逐步減緩,可以證明為有效測試。由變化曲線可見,實驗組蜜罐平均收益大于兩個對照組,且測試時間充足,證明了合作博弈模型的有效性。綜上所述,本文部署策略可結(jié)合實際需求使分布式蜜罐獲得更大收益。
本文建立了優(yōu)化Shapley 值法的博弈模型,在此基礎(chǔ)上提出一種基于合作博弈的分布式蜜罐部署策略,在分布式節(jié)點加入聚類分流技術(shù),并通過實驗驗證了該策略可有效提升各蜜罐收益,且在數(shù)據(jù)差錯率、系統(tǒng)資源損耗率和數(shù)據(jù)處理時間等方面較常用分布式蜜罐部署策略有顯著提升。該部署策略可能會因蜜罐種類增加、收集多種不同類型數(shù)據(jù)而引起聚類分流效率低下的問題,未來研究方向應(yīng)側(cè)重于考察更多影響系統(tǒng)收益的因素以及對聚類分流技術(shù)進行改進,以提高系統(tǒng)的精確性和運行速度。
Fig.5 Average income curve of honeypot in each group圖5 各組蜜罐平均收益曲線