蘇 延 平
(閩南理工學院, 福建 泉州 362000)
在開放的網(wǎng)絡環(huán)境下,本地服務器遭受互聯(lián)網(wǎng)攻擊的風險顯著增加[1]。盡管防火墻系統(tǒng)[2]和IDS系統(tǒng)(入侵檢測系統(tǒng))[3]能夠在一定程度上抵御蠕蟲[4]、網(wǎng)絡病毒[5]及其他惡意代碼的攻擊[6],但隨著入侵數(shù)據(jù)規(guī)模的不斷擴大和病毒種類的不斷變異與增多,本地系統(tǒng)安全防御依然會面臨嚴峻的挑戰(zhàn)。由于傳統(tǒng)防火墻防御技術和IDS入侵數(shù)據(jù)檢測技術,依賴于與病毒特征庫中的已有特征碼的一一比對[7],這種以后驗檢測為基礎的檢測和特征提取方法耗時長、效率低、準確率低,無法做到實時在線監(jiān)控和防御,惡意網(wǎng)絡攻擊的風險因素依然存在。針對網(wǎng)絡病毒和惡意攻擊數(shù)據(jù)更新迭代快的事實,提出了一種基于優(yōu)化虛擬蜜罐技術的網(wǎng)絡攻擊特征提取方法,該方法能夠主動捕獲進入局域網(wǎng)服務器系統(tǒng)的病毒惡意數(shù)據(jù)特征碼,并提升網(wǎng)絡安全防御的整體性能。
虛擬蜜罐被布置于本地網(wǎng)絡系統(tǒng)中,任何針對蜜罐系統(tǒng)的訪問都可以被懷疑為攻擊,蜜罐防御的價值在于引誘病毒和惡意數(shù)據(jù)進入系統(tǒng)[8],使系統(tǒng)被病毒和惡意數(shù)據(jù)攻擊,在被攻擊的過程中監(jiān)視、檢測并提取攻擊者的數(shù)據(jù)特征碼。蜜罐首先可以識別出進入本地服務器網(wǎng)絡的攻擊對象,獲取有價值的信息[9-10],并通過系統(tǒng)防火墻和IDS系統(tǒng)的互動和信息傳遞,清除惡意數(shù)據(jù)和網(wǎng)絡病毒,保護本地網(wǎng)絡和服務器的安全。虛擬蜜罐也是一種虛擬化的技術,蜜罐被布置于網(wǎng)絡虛擬機上,主要用于迷惑網(wǎng)絡攻擊者入侵本地網(wǎng)絡,伺機掌握攻擊者的特征。虛擬蜜罐通常被布置于防火墻之前,采集與入侵者相關的特征信息,為防火墻和IDS系統(tǒng)捕獲病毒和惡意數(shù)據(jù)提供足夠的證據(jù),虛擬蜜罐在網(wǎng)絡中的布置見圖1。
圖1 虛擬蜜罐在網(wǎng)絡中的布置圖
為了進一步提升防御系統(tǒng)的性能,并有效應對網(wǎng)絡攻擊病毒的變異,在傳統(tǒng)蜜罐防御的基礎上,加大了虛擬蜜罐在本地網(wǎng)絡中的密度,形成一種防御性更強的密網(wǎng)結構,以提升各虛擬蜜罐之間的信息交互性能。在密網(wǎng)連接模式下,利用VMware軟件模擬虛擬網(wǎng)絡交換機,再通過主機模擬的方式將所有訪問者的IP模擬成公網(wǎng)IP,實現(xiàn)與互聯(lián)網(wǎng)數(shù)據(jù)的交互。多臺蜜罐主機共同構成密網(wǎng),密網(wǎng)在對病毒和惡意數(shù)據(jù)的防御性能上,顯著優(yōu)于傳統(tǒng)單一的虛擬蜜罐,密網(wǎng)的網(wǎng)關接口與外網(wǎng)和日志服務器連接,在數(shù)據(jù)特征共享、傳遞及同步性能上更強,也具有強大的主動防御性能?;诙鄠€虛擬蜜罐經(jīng)過優(yōu)化組合后所形成的密網(wǎng)結構見圖2(本文設計系統(tǒng)以3個虛擬蜜罐和2個內(nèi)部服務器構成的密網(wǎng)系統(tǒng)為例)。
圖2 密網(wǎng)防御體系結構優(yōu)化
密網(wǎng)結構相比于單獨虛擬蜜罐更加復雜和高效,能夠改善和提升虛擬蜜罐在數(shù)據(jù)捕獲、特征提取及數(shù)據(jù)分析的能力,尤其在應對不斷變種的蠕蟲、病毒或惡意代碼時具有更高的識別效率和檢測效率。
互聯(lián)網(wǎng)攻擊發(fā)生時,密網(wǎng)系統(tǒng)會對攻擊者的特征進行內(nèi)容匹配,由于病毒、蠕蟲或惡意代碼等攻擊者特征都采用二進制序列構成方式,一旦特征匹配成功,該入侵文件即被確定為網(wǎng)絡攻擊者。攻擊特征提取過程分為2個步驟:第1步由密網(wǎng)捕獲可疑數(shù)據(jù),并提取監(jiān)測對象的樣本;第2步選擇合適的特征提取算法實時提取特征,特征提取算法的選擇至關重要,會對最終的數(shù)據(jù)分析和入侵檢測結果構成重要影響。密網(wǎng)防御系統(tǒng)的價值在于可以捕獲進入本地系統(tǒng)內(nèi)的全部入侵者,在入侵數(shù)據(jù)的采集方面借助SEBEK工具,監(jiān)視進入密網(wǎng)的全部數(shù)據(jù),SEBEK工具的一個重要優(yōu)點是具有良好的隱匿性。服務器端通過內(nèi)部網(wǎng)絡與虛擬蜜罐、防火墻和IDS系統(tǒng)連接,及時清除已被確定的惡意代碼或病毒入侵數(shù)據(jù)。
密網(wǎng)系統(tǒng)在獲取攻擊數(shù)據(jù)樣本后,需比對和計算出攻擊數(shù)據(jù)序列的特征碼,樣本特征碼作為識別入侵數(shù)據(jù)的唯一依據(jù),是一組虛擬的二進制序列。假設密網(wǎng)系統(tǒng)捕獲了一組數(shù)據(jù)序列S1、S2、…、Sm:
S1={s11,s12,…,s1n}
S2={s21,s22,…,s2n}
…
Sm={sm1,sm2,…,smn}
(1)
如果在上述數(shù)據(jù)流中,每個單一的數(shù)據(jù)序列都包括連續(xù)的子序列H={h1,h2,…,hk},則可以定義H是這組包含攻擊的數(shù)據(jù)流的一個特征片段。數(shù)據(jù)序列的特征片段僅僅是特征碼的一個組成部分,無法利用單一的一個特征片段識別入侵數(shù)據(jù)的特征碼,因此特征識別的過程是要提取出包含在改組數(shù)據(jù)流中的全部特征片段。為保證序列特征碼匹配的過程更加完整,采用了一種數(shù)據(jù)全局聯(lián)配的算法,提取入侵數(shù)據(jù)的全部特征片段。全局聯(lián)配算法模擬了生物信息學中堿基排列規(guī)則,從動態(tài)視角分析網(wǎng)絡攻擊者的特征。對于子序列中的任意兩個字符x和y,存在一個對應的函數(shù)g(x,y)能夠表示字符x和y匹配程度的得分,且g(x,y)滿足如下條件:
(2)
(3)
在任意選取2組序列的匹配過程中,還有可能會出現(xiàn)這2組序列長度不等的情況,此時需要借助相似度矩陣R完成不等長序列的匹配,如果序列Si和Sj的長度分別為p和q,則相似度矩陣的大小設定為(p+1)×(q+1)。對相似度矩陣R進行初始化處理,初始化的過程描述如下:
R(0,0)=0
R(i,0)=R(i-1,0)+g(Si,0)
R(0,j)=R(0,j-1)+g(0,Sj)
(4)
對相似度矩陣進行填充,以滿足不等長序列的全匹配:
(5)
表1 部分字符串聯(lián)配結果顯示
字符串全局聯(lián)配方法是基于一種動態(tài)化的數(shù)據(jù)分配理念,通過一組數(shù)據(jù)流中全部字符序列的兩兩比對,得到最優(yōu)的全局聯(lián)配效果,即基于相似度矩陣計算出最高的匹配度得分。由于進入蜜罐系統(tǒng)的一組數(shù)據(jù)流中序列長度隨機,長度可能相等也可能不等,為了便于比對和實現(xiàn)全局范圍內(nèi)的序列匹配,通常以插入空格的方式使序列對齊,每當插入一個空位時,應扣除全局聯(lián)配的對應分值,以保證相似度匹配的準確性。
由于較短的數(shù)據(jù)序列的報文在全局比對中并不具有唯一性,當被檢測出的攻擊特征與子序列一致時蜜罐系統(tǒng)會出現(xiàn)誤報,影響到最終的攻擊數(shù)據(jù)診斷。如果在全局比對時序列包含較多的短序列,應采用空位補缺的方式將對比序列的長度調(diào)整到一致再進行比對,以降低系統(tǒng)干擾數(shù)據(jù)和無效數(shù)據(jù)的產(chǎn)生。此外,數(shù)據(jù)流中的有效數(shù)據(jù)序列包含有較多的語義片段,這些零散的片段信息也可表征出入侵數(shù)據(jù)的部分特征,蜜罐系統(tǒng)能夠根據(jù)提取到的字節(jié)和片段特征對入侵數(shù)據(jù)的類別作出判斷??紤]到當入侵數(shù)據(jù)集規(guī)模較大時,需要降低算法的復雜度以保證特征碼提取的效率,此次研究提出在字符串全局聯(lián)配方法的基礎上引入分層比對的方法,提升特征提取的效率。當序列集合被初始化之后,根據(jù)既定的序列匹配規(guī)則對序列作分類處理,以序列的相似度值來構造一種具有層級性的序列關系,并令經(jīng)過層層對比后序列相似度集合為U,首次迭代設定n=1,基于層級之間關聯(lián)性確定比對關系的算法如下:
while |U|>0 do
else
再根據(jù)序列之間的相似度值生成最終的比對結果,當?shù)螖?shù)滿足條件n+1>1時,則:
n=n+1;
else
層級式序列比對的優(yōu)勢在于避免了傳統(tǒng)字符串全局聯(lián)配方法下,多次反復比對導致檢測效率過低的問題,保留了特征碼提取的準確性;此外,層級式比對的迭代過程簡單,每一層迭代中產(chǎn)生的冗余數(shù)據(jù)不會被傳遞到下一層,解決了入侵數(shù)據(jù)及規(guī)模較大時系統(tǒng)運算時間過長和生成序列碼效率過低的問題。由多個蜜罐組成的密網(wǎng)系統(tǒng),可以采用節(jié)點并行計算的方式同時處理進入系統(tǒng)的原始數(shù)據(jù),在考慮到確保全部特征碼具有唯一性的同時,設置更合理的過濾條件和比對條件,按照重新組合序列匹配程度得分,識別新序列的特征碼是否為惡意數(shù)據(jù)。針對網(wǎng)絡攻擊者的類別不同,提取樣本的間隔、序列長度等各不相同,如面對網(wǎng)絡蠕蟲使用更簡單的空指令,或多態(tài)技術即可以準確地提取出攻擊者的序列特征碼,而針對其他的病毒類別計算方法就相對復雜。在基于多蜜罐的密網(wǎng)防御模式下,利用全局聯(lián)配和層級序列比對的方法,重新組合并提取數(shù)據(jù)流中的特征碼,進而判斷出網(wǎng)絡攻擊者的特征,保護本地服務器的安全。
在實驗室環(huán)境下,以圖2的密網(wǎng)拓撲結構為基礎搭建實驗環(huán)境,硬件及配置如下:
攻擊端主機配置:Intel Core i 9,主頻3.6 GHz,1 TB固態(tài)硬盤,16 G內(nèi)存。
密網(wǎng)主機配置:Intel Core i 9,主頻3.6 GHz,1 TB固態(tài)硬盤,16 G內(nèi)存。
蜜罐客戶機配置:Intel Core i 5,主頻3.0 GHz,500 GB固態(tài)硬盤,8 G內(nèi)存。
實驗軟件環(huán)境設置見表2。
表2 實驗軟件環(huán)境
在設定好的密網(wǎng)拓撲結構下模擬互聯(lián)網(wǎng)攻擊行為,向地址為192.168.54.0的主機網(wǎng)址發(fā)送大量的攻擊包,密網(wǎng)系統(tǒng)捕獲到的網(wǎng)絡攻擊包括3種:DoS攻擊,樣本數(shù)量為3 215條;Script攻擊,樣本數(shù)量為1 524條;Backdoor攻擊,樣本數(shù)量為985條。正常樣本normal的數(shù)量為24 276條。
設計的基于多個虛擬蜜罐的密網(wǎng)結構,在應對大規(guī)模入侵數(shù)據(jù)時,具有更強的數(shù)據(jù)處理性能。從捕獲到的樣本集合中,隨機選擇70組數(shù)據(jù)序列,觀測和對比本文設計的密網(wǎng)技術與傳統(tǒng)單一蜜罐技術,在3種互聯(lián)網(wǎng)攻擊下入侵數(shù)據(jù)序列特征的匹配度得分情況見圖3 — 圖5。
圖3 DoS攻擊下入侵數(shù)據(jù)序列特征匹配得分
圖4 Script攻擊下入侵數(shù)據(jù)序列特征匹配得分
圖5 Backdoor攻擊下入侵數(shù)據(jù)序列特征匹配得分
對3種互聯(lián)網(wǎng)攻擊病毒數(shù)據(jù)序列的匹配情況分析可知,密網(wǎng)的序列匹配分值可以保證在90分以上,且未出現(xiàn)較為劇烈的波動;而傳統(tǒng)單一蜜罐技術的匹配得分在75分左右,在處理DoS攻擊時隨著樣本總量的增加,匹配分值出現(xiàn)了下降的趨勢,而在處理Script攻擊和Backdoor攻擊時,匹配分值都出現(xiàn)了不同程度的波動。3種互聯(lián)網(wǎng)攻擊特征提取算法耗時情況見表3。
表3 提取互聯(lián)網(wǎng)攻擊特征的耗時
最后,驗證文中提出的基于多個虛擬蜜罐構建的密網(wǎng)的安全防御性能,評價指標選擇recall(召回率)、precision(準確率)和FAR(誤報率)這3個指標,指標的定義如下:
recall=TP/P×100%
(6)
precision=TP/(TP+FP)×100%
(7)
FAR=FP/T×100%
(8)
式中:T為待檢測數(shù)據(jù)中全部為真實數(shù)據(jù)的數(shù)量;P為待檢測數(shù)據(jù)中全部為攻擊數(shù)據(jù)的數(shù)量;TP為檢測出為正確數(shù)據(jù)的數(shù)量;FP為被系統(tǒng)錯誤判定為攻擊數(shù)據(jù)的數(shù)量。
將包括正常數(shù)據(jù)在內(nèi)的全部捕獲到的30 000個數(shù)據(jù)樣本隨機分成10個組,檢驗基于密網(wǎng)技術的網(wǎng)絡防御性能,統(tǒng)計分析結果見表4 — 表6(為使指標統(tǒng)計結果更為直觀和客觀,引入了同等條件下,傳統(tǒng)防火墻和IDS模式下的3種指標數(shù)據(jù)值)。
表4 recall指標統(tǒng)計結果
表5 FAR指標統(tǒng)計結果
表6 precision指標統(tǒng)計結果
實驗統(tǒng)計數(shù)據(jù)的結果顯示,無論是傳統(tǒng)的防火墻防御還是IDS防御,recall和precision都偏低,均值未超過0.9,相反,F(xiàn)AR過高表明傳統(tǒng)算法在應對大規(guī)模入侵數(shù)據(jù)時的防御能力偏弱。而密網(wǎng)防御系統(tǒng)在應對網(wǎng)絡攻擊時,3種指標數(shù)據(jù)明顯增加,證明基于虛擬蜜罐技術的網(wǎng)絡安全防御系統(tǒng)具有更高的安全性。
隨著互聯(lián)網(wǎng)開放程度的不斷提高,各種網(wǎng)絡攻擊方式也在變異和更新迭代,給傳統(tǒng)基于被動防御方式的網(wǎng)絡安全防御系統(tǒng)帶來新的挑戰(zhàn)。探討了在現(xiàn)有虛擬蜜罐技術的基礎上,在本地服務器網(wǎng)絡中引入多個蜜罐,實施同步防御策略,形成較為完善的防御網(wǎng)絡?;趦?yōu)化的全局聯(lián)配的算法提取入侵數(shù)據(jù)流中的特征碼進行比對,以便準確地識別出攻擊者的特征。實驗分析結果證明,虛擬密網(wǎng)技術具有更高的特征提取效率和防御性能。