張立芳,王 鋼,顏培志,姚 旭,孫 葉
(1.內(nèi)蒙古工業(yè)大學(xué) 信息工程學(xué)院,內(nèi)蒙古 呼和浩特 010051;2.內(nèi)蒙古工業(yè)大學(xué) 信息化建設(shè)與管理中心,內(nèi)蒙古 呼和浩特 010051)
工業(yè)互聯(lián)網(wǎng)時(shí)代下,大數(shù)據(jù)、人工智能的發(fā)展使得越來越多原本處于孤立環(huán)境中的工業(yè)控制設(shè)備暴露于公共互聯(lián)網(wǎng),遭到來自互聯(lián)網(wǎng)的攻擊威脅[1]。工業(yè)控制系統(tǒng)(ICS)的安全問題變得越來越普遍,蜜罐和反蜜罐作為ICS安全的重要組成部分已經(jīng)成為攻防對抗的重點(diǎn),隨著蜜罐技術(shù)的不斷完善發(fā)展,針對蜜罐的識別技術(shù)也在相應(yīng)的提高。工業(yè)控制系統(tǒng)蜜罐技術(shù)[2]作為主動(dòng)誘捕手段之一,能夠有效捕獲針對工業(yè)控制系統(tǒng)發(fā)起的網(wǎng)絡(luò)攻擊,保護(hù)真實(shí)工控資產(chǎn)設(shè)備。安全研究者為了完善蜜罐技術(shù),開始從攻擊者角度出發(fā),研究蜜罐識別技術(shù)[3]。
傳統(tǒng)蜜罐識別都是針對單一特征,Sebek是一種基于內(nèi)核的數(shù)據(jù)捕獲機(jī)制,常用于構(gòu)建高交互蜜罐,因此,識別出Sebek機(jī)制就可以確定目標(biāo)設(shè)備是蜜罐。朱一帥[4]針對Sebek機(jī)制進(jìn)行研究與分析,對于識別蜜罐有重要意義。近幾年,人工智能和機(jī)器學(xué)習(xí)的廣泛應(yīng)用,使得研究人員開始從這個(gè)角度研究蜜罐識別技術(shù),北京郵電大學(xué)的程卓提出基于隨機(jī)森林模型的工業(yè)控制系統(tǒng)蜜罐識別,解決了單一特征識別的局限性問題[5]。從目前的情況看,對工控蜜罐的識別技術(shù)仍相對教少,大部分研究的是對蜜罐的識別,因此該文提出專門針對工控蜜罐的識別方法。
從目前了解的研究情況看,沒有專家將貝葉斯網(wǎng)絡(luò)用于工業(yè)控制蜜罐識別的研究上,針對蜜罐捕獲的攻擊數(shù)據(jù)及數(shù)據(jù)的分析問題,有研究人員采用動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)的方法,分析蜜罐獲取的數(shù)據(jù),根據(jù)貝葉斯的遞推公式對攻擊行為進(jìn)行預(yù)測,并將它應(yīng)用于數(shù)據(jù)的分析[6]。攻擊類型有很多種,在面對未知攻擊時(shí),有學(xué)者提出采用貝葉斯網(wǎng)絡(luò)推理算法分析和判斷蜜罐中的未知攻擊[7]。貝葉斯與蜜罐結(jié)合使用能夠解決一些實(shí)際問題。工控蜜罐識別面臨不確定性,與貝葉斯網(wǎng)絡(luò)應(yīng)用問題相符合。作為不確定性分析的重要工具,用貝葉斯網(wǎng)絡(luò)進(jìn)行蜜罐識別可行,因此將貝葉斯網(wǎng)絡(luò)運(yùn)用于工控蜜罐識別研究上很有意義。
貝葉斯網(wǎng)絡(luò)是一種基于概率的不確定性推理方法,對不確定性問題具有強(qiáng)大的處理能力和自我學(xué)習(xí)更新能力。貝葉斯網(wǎng)絡(luò)是Judea Pearl于1988年提出的一種基于概率推理的圖形化網(wǎng)絡(luò)[8],它將若干具有因果關(guān)系或概率相關(guān)性的事件以網(wǎng)絡(luò)形式表示出來,然后在不同的事件中根據(jù)先驗(yàn)概率進(jìn)行推理計(jì)算,獲得各種事件發(fā)生的概率值。
貝葉斯網(wǎng)絡(luò)是一個(gè)有向無環(huán)圖(DAG),由代表變量節(jié)點(diǎn)及連接這些節(jié)點(diǎn)的有向邊構(gòu)成。節(jié)點(diǎn)代表隨機(jī)變量,節(jié)點(diǎn)間的有向邊代表了節(jié)點(diǎn)間的因果關(guān)系,用條件概率表達(dá)關(guān)系強(qiáng)度[9],條件概率表(conditional probability table,CPT)是反映變量之間關(guān)聯(lián)性的局部概率分布,即概率參數(shù),適用于表達(dá)和分析不確定性和概率性的事件。
(1)
公式(1)就是著名的貝葉斯公式。其中P(A1),P(A2),…,P(An)稱為先驗(yàn)概率。事件B發(fā)生時(shí),由于這個(gè)新情況的出現(xiàn),對于事件A1…An發(fā)生的可能性有了新的認(rèn)識,即在事件B發(fā)生的條件下事件A發(fā)生的情況稱為事件A的后驗(yàn)概率。綜合了先驗(yàn)信息和提供的新信息,形成了關(guān)于Ai發(fā)生概率的新認(rèn)識。這個(gè)由先驗(yàn)信息到后驗(yàn)信息的轉(zhuǎn)化,是貝葉斯統(tǒng)計(jì)的特征。
貝葉斯方法基于概率推理,用來解決不確定性問題,與該文識別蜜罐所面臨的不確定性一致。因此,貝葉斯網(wǎng)絡(luò)用于蜜罐識別具有一系列的優(yōu)勢[10]:①貝葉斯網(wǎng)絡(luò)的評估結(jié)果不僅反映了當(dāng)前的信息,而且綜合了歷史和先驗(yàn)知識,能夠更加準(zhǔn)確地預(yù)測蜜罐;②貝葉斯網(wǎng)絡(luò)能夠處理各種不確定性信息和不完備數(shù)據(jù)集,與完成蜜罐識別所采用數(shù)據(jù)集相符;③貝葉斯網(wǎng)絡(luò)與一般表示方法不同的是對于問題域的建模,當(dāng)條件或行為等發(fā)生變化時(shí),不用對模型進(jìn)行修正;④采用貝葉斯網(wǎng)絡(luò)參數(shù)建模EM算法和貝葉斯聯(lián)結(jié)樹推理算法,提高了蜜罐識別準(zhǔn)確率。
智能的蜜罐識別技術(shù)方法的主要挑戰(zhàn)是數(shù)據(jù),Shodan[11]是著名的網(wǎng)絡(luò)空間搜索引擎,用于搜索網(wǎng)絡(luò)設(shè)備,這個(gè)平臺(tái)已經(jīng)標(biāo)記了許多已知的蜜罐服務(wù)器以及大量的工業(yè)控制系統(tǒng)資產(chǎn)設(shè)備,從平臺(tái)上獲取蜜罐及工控系統(tǒng)數(shù)據(jù)作為數(shù)據(jù)集,用來構(gòu)建BN(貝葉斯網(wǎng)絡(luò))。該數(shù)據(jù)庫包含各種用來判斷蜜罐的特征屬性(port、serial number of module、PLC name、module name),這些數(shù)據(jù)作為實(shí)驗(yàn)研究的數(shù)據(jù)集是可靠的。除了從Shodan下載的數(shù)據(jù)之外,還部署了一些工控蜜罐,利用Nmap掃描工具對部署的蜜罐進(jìn)行腳本掃描,獲取一些OS的指紋數(shù)據(jù)。
從Shodan下載的數(shù)據(jù)為json格式,為方便完成BN建模,一般需要將數(shù)據(jù)格式轉(zhuǎn)換為csv。依據(jù)工控蜜罐特征分析提取相關(guān)特征列,使與貝葉斯網(wǎng)絡(luò)模型節(jié)點(diǎn)相對應(yīng),作為模型訓(xùn)練和測試數(shù)據(jù)集。該文收集了1 053條數(shù)據(jù),蜜罐記錄數(shù)量為307,實(shí)際設(shè)備數(shù)量為746,數(shù)據(jù)集如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集
2.2.1 貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)搭建
基于貝葉斯網(wǎng)絡(luò)進(jìn)行蜜罐識別,需按照一定的方法和原則,構(gòu)建一個(gè)合理的網(wǎng)絡(luò),主要有以下3個(gè)步驟[12]:①確定節(jié)點(diǎn),貝葉斯網(wǎng)絡(luò)由節(jié)點(diǎn)組成,節(jié)點(diǎn)對應(yīng)不同的事件,首先必須確定存在哪些可以識別為蜜罐的特征,即確定出現(xiàn)哪些特征可以判定是蜜罐。②確定節(jié)點(diǎn)關(guān)系即事件之間的因果關(guān)聯(lián),由于選定的節(jié)點(diǎn)均為蜜罐特征,它們的出現(xiàn)將用來判斷是否為蜜罐,因果關(guān)系明確。③概率分配,對于沒有父節(jié)點(diǎn)的事件指定先驗(yàn)概率,即P(Ai);對于有父節(jié)點(diǎn)的事件指定條件概率,即P(Ai|pa(Ai))。
根據(jù)以上3個(gè)步驟,很容易構(gòu)建出貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)模型。
2.2.2 參數(shù)學(xué)習(xí)EM算法
參數(shù)學(xué)習(xí)的定位角色是在已知初始化模型的基礎(chǔ)上,包括初始化的結(jié)構(gòu)和初始化的參數(shù),基于實(shí)時(shí)獲取的新數(shù)據(jù),通過參數(shù)學(xué)習(xí)來優(yōu)化更新模型,解決實(shí)時(shí)性問題。通常貝葉斯網(wǎng)絡(luò)中變量的許多概率分布是未知的,希望從數(shù)據(jù)(即通過實(shí)驗(yàn)、文獻(xiàn)或其他來源獲得的一系列觀察數(shù)據(jù))中了解這些概率(參數(shù))。一種被稱為EM(估計(jì)最大化)算法的算法對這種參數(shù)學(xué)習(xí)特別有用。EM試圖從觀測(但往往是不完整的)中找到網(wǎng)絡(luò)的模型參數(shù)(概率分布)。適用于給定貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu)和樣本數(shù)據(jù),在已知先驗(yàn)的情況下,根據(jù)貝葉斯推理計(jì)算模擬樣本缺失的概率,利用計(jì)算所得的期望補(bǔ)全缺失的數(shù)據(jù)集,重新對當(dāng)前的網(wǎng)絡(luò)參數(shù)進(jìn)行學(xué)習(xí)。一般收集的實(shí)驗(yàn)數(shù)據(jù)存在缺值,EM算法用來解決數(shù)據(jù)不完整的參數(shù)估計(jì)問題,選擇EM算法作為缺值數(shù)據(jù)的BN參數(shù)學(xué)習(xí)算法是合適的。
EM算法由兩個(gè)步驟組成,求期望的E步和求最大似然估計(jì)的M步[13]。E步驟:根據(jù)參數(shù)初始值或上一次迭代的模型參數(shù)計(jì)算隱變量的后驗(yàn)概率即隱變量的期望。
Qi(z(i))=P(z(i)|x(i),θ)
(2)
M步驟:將似然函數(shù)最大化以修正新的參數(shù)值:
(3)
不斷的迭代,就可以得到使似然函數(shù)L(θ)最大化的參數(shù)θ。
2.3.1 推理算法
聯(lián)結(jié)樹算法是Hugin Expert工具默認(rèn)的推理算法,是一種精確的推理算法,目前速度最快。貝葉斯網(wǎng)絡(luò)(BN)是在聯(lián)結(jié)樹的二級結(jié)構(gòu)(SS)中進(jìn)行推理的[14]。
聯(lián)結(jié)樹推理算法的基本思想是,將BN轉(zhuǎn)化為一種SS,再通過對SS推理得到BN推理的精確結(jié)果。二級結(jié)構(gòu)SS=(JT,PP),JT=(C,S)為聯(lián)結(jié)樹,C為BN中的團(tuán)(clique)也是聯(lián)結(jié)樹的節(jié)點(diǎn),聯(lián)結(jié)樹的節(jié)點(diǎn)之間的連接為S,稱為JT的邊,是收集證據(jù)和分配證據(jù)的通信通道。PP為團(tuán)和邊相關(guān)的概率勢(probability potential),從每個(gè)團(tuán)中變量的聯(lián)合概率分布計(jì)算得到。
聯(lián)結(jié)樹推理算法基本步驟為:
①將貝葉斯網(wǎng)絡(luò)轉(zhuǎn)化為聯(lián)結(jié)樹;找出BN中每一個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn),并將它們用無向邊兩兩相連,同時(shí)將所有BN的有向邊改為無向邊,建立BN的Moral圖,在Moral圖中添加一些無向邊,將每一個(gè)等于或大于4的環(huán)的兩個(gè)非相鄰節(jié)點(diǎn)連接起來,完成Moral圖的三角化。對三角化后的Moral圖,找到構(gòu)成聯(lián)結(jié)樹的所有團(tuán)。在找到的團(tuán)中添加一些邊構(gòu)造一棵聯(lián)結(jié)樹,樹中連接任意兩個(gè)團(tuán)的邊的所有團(tuán)節(jié)點(diǎn)必須包含兩個(gè)團(tuán)節(jié)點(diǎn)的交集。
②初始化;為聯(lián)結(jié)樹的所有節(jié)點(diǎn)指定參數(shù)。
③消息傳遞;通過各團(tuán)節(jié)點(diǎn)之間的消息傳遞,使聯(lián)結(jié)樹達(dá)到穩(wěn)態(tài)。向內(nèi)消息傳遞,消息從聯(lián)結(jié)樹的葉子發(fā)送到樹的根部,即收集證據(jù)。向外消息傳遞,其中消息從樹的根部向葉子發(fā)送,即分配證據(jù)。
④概率計(jì)算;找到任意一個(gè)包含變量V的團(tuán)節(jié)點(diǎn)C,通過公式(4)計(jì)算變量V的分布。
(4)
其中,τi代表Ci的分布函數(shù)。
⑤加入證據(jù);在新的證據(jù)加入時(shí),要重新收集證據(jù)和分配證據(jù),直到聯(lián)結(jié)樹達(dá)到穩(wěn)態(tài)。對任意的團(tuán)節(jié)點(diǎn)C有:
τC=P(C,e)
(5)
其中,e表示加入的證據(jù)。計(jì)算變量V的概率分布,首先找到任意一個(gè)包含變量V的團(tuán)節(jié)點(diǎn)C,計(jì)算公式(6),再根據(jù)條件概率公式,計(jì)算變量V的概率分布。
(6)
2.3.2 推理過程
BN結(jié)構(gòu)固定,父節(jié)點(diǎn)是一系列特征,子節(jié)點(diǎn)是蜜罐特征。BN節(jié)點(diǎn)特征和數(shù)據(jù)集的屬性對應(yīng),在對數(shù)據(jù)分析后,通過出現(xiàn)的具體特征狀態(tài)來預(yù)測蜜罐概率。BN模型的目標(biāo)是通過特征來預(yù)測判斷蜜罐的概率大小,作為攻擊方,通過攻擊手段獲取到目標(biāo)設(shè)備的信息,根據(jù)獲取的特征,使用建模完的模型進(jìn)行預(yù)測。當(dāng)BN切換到運(yùn)行模式,激活自帶的推理算法─聯(lián)結(jié)樹算法,通過輸入證據(jù),調(diào)用算法得出預(yù)測概率。
BN的結(jié)果標(biāo)簽honeypot有1和0兩種狀態(tài),在沒有輸入證據(jù)之前,honeypot標(biāo)簽的狀態(tài)概率固定。當(dāng)輸入特征證據(jù),證據(jù)通過消息傳遞,調(diào)用聯(lián)結(jié)樹算法,計(jì)算相應(yīng)honeypot標(biāo)簽狀態(tài)概率。當(dāng)有多個(gè)特征證據(jù)同時(shí)輸入,經(jīng)過聯(lián)結(jié)樹算法的推理,計(jì)算出最終honeypot標(biāo)簽狀態(tài)概率,honeypot為1的狀態(tài)是預(yù)測為蜜罐的概率。
蜜罐基于爬蟲技術(shù),具有良好的欺騙性能,蜜罐識別需要考慮區(qū)別于ICS設(shè)備的多個(gè)特征。該文考慮的主要特征包括:端口號、設(shè)備的串行序列號、系統(tǒng)名、設(shè)備名稱。根據(jù)主要蜜罐特征結(jié)合以上網(wǎng)絡(luò)構(gòu)建的步驟,完成用于蜜罐識別的貝葉斯網(wǎng)絡(luò)模型,如圖1 所示。
圖1 蜜罐識別貝葉斯網(wǎng)絡(luò)模型
其中:port為端口,PLC_name為系統(tǒng)名,s_id為設(shè)備串行序列號,Module_name為設(shè)備名稱,Honeypot為蜜罐。模型中的變量狀態(tài)集合如下:
端口(port):port=102、502、21、47808、1962、20547、2002
系統(tǒng)名(PLC_name):PLC_name=Technodrome、ET 200S station_1、12172306、GDV570、SIMATIC 300(1)、SIMATIC 300、SAAP7-SERVER、BASE DIR R61.2、VENT、CPU 314C、Production Management, H、Central Pump、S7300/ET200M station_2
設(shè)備串行序列號(s_id):s_id=88111222、100194、S C-C2UR28922012、S Q-DNU118252013、S C-BOVM84702011、S C-E4UL21922014、S C-A6TD27832010、S C-W8V004032008、S C- D8U562202013
設(shè)備名稱(Module_name):Module_name=Siemens, SIMATIC, S7-200、CPU 314C-2 DP、CPU 314C-2 PN/DP、CPU 315-2 PN/DP、CPU 315-2 DP、CPU 314、TrilKantel、Energy, Water, Climate C、Pump Control Unit、PLC_1。
蜜罐(Honeypot):Honeypot=1、0
在實(shí)際應(yīng)用中,每個(gè)特征會(huì)有多種取值,該文從簡單的角度出發(fā),只選取了所用數(shù)據(jù)集中的一些狀態(tài)特征。
網(wǎng)絡(luò)構(gòu)造完成,下一個(gè)任務(wù)就是生成條件概率表。這些概率可以通過專家的經(jīng)驗(yàn)獲得,也可以通過計(jì)算機(jī)對原有數(shù)據(jù)進(jìn)行統(tǒng)計(jì)學(xué)習(xí)獲得,或是兩者的有機(jī)結(jié)合。本例中需要指定的先驗(yàn)概率包括P(port)、P(s_id)、P(PLC_name)、P(Module_name),由于沒有專家經(jīng)驗(yàn),設(shè)4類特征的狀態(tài)出現(xiàn)的可能性均等,例如表2中s_id 的先驗(yàn)概率。
表2 s_id特征的先驗(yàn)概率
已知各節(jié)點(diǎn)先驗(yàn)概率和條件概率后,使用搭建好的結(jié)構(gòu)模型采用EM參數(shù)學(xué)習(xí)算法對各節(jié)點(diǎn)的參數(shù)更新,經(jīng)過多次迭代,參數(shù)最終保持不變。參數(shù)建模完成后,4類特征的狀態(tài)參數(shù)改變,對應(yīng)s_id特征狀態(tài)的參數(shù)如表2中后驗(yàn)概率所示。
模型評估是實(shí)驗(yàn)成敗的關(guān)鍵,目的是評估最終模型的準(zhǔn)確程度。文中采用精確率、召回率、F1 score、ROC曲線和AUC值作為評價(jià)指標(biāo),如公式(7)到公式(9)所示。
(7)
(8)
(9)
其中,TP為預(yù)測為蜜罐真實(shí)也為蜜罐的數(shù)量;TN為預(yù)測為非蜜罐真實(shí)也為非蜜罐的數(shù)量;FP為預(yù)測為蜜罐真實(shí)為非蜜罐的數(shù)量;FN為預(yù)測為非蜜罐真實(shí)為蜜罐的數(shù)量。
召回率為正確分類為蜜罐的所有樣本與真實(shí)為蜜罐的所有樣本比例;準(zhǔn)確率為正確分類為蜜罐的所有樣本與預(yù)測為蜜罐的所有樣本比例。ROC由TPR和FPR構(gòu)成,TPR是正確分類為蜜罐的所有樣本與真實(shí)為蜜罐的所有樣本的比例,如公式(10)所示;FPR是錯(cuò)誤預(yù)測為蜜罐的樣本與真實(shí)為非蜜罐所有樣本的比例,如公式(11)所示。ROC曲線中,X軸為FPR,Y軸為TPR。
(10)
(11)
ROC曲線在(0,0)和(1,1)之間的對角線上方,表明模型的性能是可以接受的,為了更直觀評估模型,研究人員通常使用AUC指標(biāo)來衡量模型的整體效率,AUC為ROC曲線下的面積,AUC的值越接近1,模型的效果越好。
研究貝葉斯網(wǎng)絡(luò)EM算法訓(xùn)練模型的模型性能與其他幾種機(jī)器學(xué)習(xí)算法訓(xùn)練模型性能的對比優(yōu)勢,和貝葉斯推理算法對預(yù)測蜜罐結(jié)果的準(zhǔn)確性。在實(shí)驗(yàn)中,使用scikit-learn庫完成機(jī)器學(xué)習(xí)模型的訓(xùn)練,計(jì)算過程在i5-7200 CPU,12 GB內(nèi)存的計(jì)算機(jī)上運(yùn)行。EM算法模型訓(xùn)練借助Hugin貝葉斯工具。
3.4.1 對比實(shí)驗(yàn)
未經(jīng)比較的結(jié)果是不可靠的,文中設(shè)計(jì)了這種比較實(shí)驗(yàn),以突出文中方法的優(yōu)勢。回顧一些機(jī)器學(xué)習(xí)的研究[15],選擇了SVM、KNN、隨機(jī)森林和Native bayes作為貝葉斯參數(shù)學(xué)習(xí)EM算法的比較對象。將對比的所有機(jī)器學(xué)習(xí)算法用在同一數(shù)據(jù)集上分別訓(xùn)練4個(gè)模型,對每個(gè)模型列出它們的精確率、召回率、準(zhǔn)確率和F1score,且在同一坐標(biāo)系中繪制它們各自的ROC曲線,模型的性能一目了然。文中采用的算法也在相同的數(shù)據(jù)集上進(jìn)行訓(xùn)練,列出精確率、召回率、準(zhǔn)確率、F1 score 且單獨(dú)畫出ROC曲線,對比4種機(jī)器學(xué)習(xí)算法。
3.4.2 實(shí)驗(yàn)結(jié)果
表3是4種機(jī)器學(xué)習(xí)算法和EM算法在同一數(shù)據(jù)集下所訓(xùn)練模型的召回率、精確率、準(zhǔn)確率和F1 score。圖2是四種機(jī)器學(xué)習(xí)算法的ROC曲線。圖3是文中采用算法的ROC曲線。圖2虛點(diǎn)線是隨機(jī)森林算法的ROC曲線,AUC值為0.955 6,實(shí)線是SVM算法的ROC曲線,AUC值為0.933 3,點(diǎn)線是KNN算法的ROC曲線,AUC值為0.933 3,虛線是Native bayes算法的ROC曲線,AUC值為0.955 6。圖3是文中算法借助工具完成的ROC曲線圖。通過兩圖對比,對于解決蜜罐識別所用的數(shù)據(jù)集,明顯文中采用的EM算法效果更好,AUC值為0.963 8。表3中,文中所采用算法訓(xùn)練模型的召回率是0.979,準(zhǔn)確率是0.979,精確率是0.97,F(xiàn)1 score是0.979,對比其他算法的模型指標(biāo)性能更好。使用貝葉斯參數(shù)學(xué)習(xí)EM算法所訓(xùn)練模型的ROC曲線和模型評估指標(biāo)證明了最終模型具有較高的檢測率和良好的泛化能力。
圖2 四種機(jī)器學(xué)習(xí)算法的ROC曲線
圖3 貝葉斯網(wǎng)絡(luò)參數(shù)學(xué)習(xí)EM算法ROC曲線
表3 模型的召回率、精確率、F1 score、準(zhǔn)確率
根據(jù)AUC值的判斷標(biāo)準(zhǔn),AUC值越接近1,模型的效果越好。文中采用EM算法 模型的AUC值為0.963 8,高于其他機(jī)器學(xué)習(xí)算法訓(xùn)練的模型,模型性能較好。
完成參數(shù)建模及模型評估后,使用聯(lián)結(jié)樹推理算法完成貝葉斯網(wǎng)絡(luò)的計(jì)算推理。參數(shù)建模后的貝葉斯網(wǎng)絡(luò)模型固定,借助貝葉斯推理算法進(jìn)行蜜罐的識別預(yù)測。假設(shè)輸入證據(jù)s_id狀態(tài)為88111222,經(jīng)過聯(lián)結(jié)樹推理算法的計(jì)算, 此時(shí)honeypot標(biāo)簽狀態(tài)為1的概率由原來的62.7%變?yōu)?7.91%,說明當(dāng)出現(xiàn)此特征狀態(tài)時(shí),預(yù)測為工控蜜罐的概率是67.91%。同時(shí)輸入證據(jù)s_id狀態(tài)為88111222和PLC_name狀態(tài)為Technodrome,此時(shí)honeypot標(biāo)簽狀態(tài)為1的概率由原來的62.7%變?yōu)?9.1%。當(dāng)同時(shí)出現(xiàn)這兩個(gè)狀態(tài)時(shí),預(yù)測為工控蜜罐概率的可能性增加。
根據(jù)獲取到的特征狀態(tài),來預(yù)測工控蜜罐的概率。判斷是否是蜜罐有一個(gè)閾值,在完成參數(shù)建模之后,此時(shí)的honeypot標(biāo)簽狀態(tài)為1的概率是62.7%,以此值作為閾值。當(dāng)輸入證據(jù)后,通過推理算法計(jì)算得出honeypot狀態(tài)為1的輸出概率值大于62.7%,預(yù)測蜜罐的概率為輸出值;當(dāng)輸入證據(jù)后,計(jì)算得出的輸出概率值小于honeypot狀態(tài)為1的閾值時(shí),判斷不是蜜罐。概率值的大小反應(yīng)判定是蜜罐的可能性。表4所示為一些蜜罐的預(yù)測概率結(jié)果。
表4 蜜罐識別的預(yù)測概率
文中提出一種基于貝葉斯網(wǎng)絡(luò)EM算法的工控蜜罐識別方法,該方法首先使用Shodan上收集的數(shù)據(jù),采用EM算法訓(xùn)練穩(wěn)定的模型,然后基于Hugin自帶的推理算法完成預(yù)測識別。貝葉斯網(wǎng)絡(luò)對于不確定性事件的概率推測,與該文對蜜罐識別的不確定性問題相符合,對于處理識別蜜罐的不確定性具有特殊的優(yōu)勢。作為攻擊方對于目標(biāo)系統(tǒng)或設(shè)備是否是蜜罐未知,結(jié)合一些蜜罐特征使用貝葉斯網(wǎng)絡(luò)模型預(yù)測出現(xiàn)某個(gè)特征導(dǎo)致是蜜罐的概率,以便更加精確地識別蜜罐。相對于預(yù)測為蜜罐概率是100%,67.91%更準(zhǔn)確,因?yàn)楸举|(zhì)上并不知道目標(biāo)設(shè)備是否確定為蜜罐。實(shí)驗(yàn)結(jié)果表明,對比其他模型,文中采用的EM算法模型性能更優(yōu)秀。基于貝葉斯網(wǎng)絡(luò)模型結(jié)合貝葉斯推理算法來預(yù)測,提高了蜜罐識別的準(zhǔn)確性。