熊英喬,邱 芬
(南昌大學(xué)科學(xué)技術(shù)學(xué)院,江西 南昌 330029)
惡意軟件可以利用多種破壞機制毀壞文件,導(dǎo)致網(wǎng)絡(luò)無法正常運行,對信息安全帶來嚴(yán)重威脅,甚至?xí)捎貌环ㄊ侄胃`取軍事機密,造成國家不可估量的損失。為此,惡意軟件攻擊防護已經(jīng)發(fā)展為備受矚目的網(wǎng)絡(luò)安全話題。隨著攻擊類型的多樣化與復(fù)雜化,入侵檢測技術(shù)得到廣泛應(yīng)用,不但可以檢測出未授權(quán)的目標(biāo),也可以對非法資源占用進行有效檢測。但面對日益復(fù)雜的攻擊方式,傳統(tǒng)的特征匹配檢測方式已經(jīng)無法精準(zhǔn)識別惡意行為,為此相關(guān)學(xué)者紛紛提出一些惡意行為檢測方法。
文獻[1]提出基于云計算的惡意軟件攻擊行為檢測。利用Fourier變換方式獲取數(shù)據(jù)的震蕩衰減規(guī)律,分析此規(guī)律得到網(wǎng)絡(luò)輸出解析模型,獲得高階累積量切片函數(shù);通過高階累積量后置搜索方式對解析模型進行搜索,全方位識別攻擊行為特征;在云計算環(huán)境下對攻擊行為數(shù)據(jù)特征進行表示,實現(xiàn)攻擊行為檢測。文獻[2]提出基于LSTM-CNN的惡意軟件靜態(tài)檢測。利用無代理的方法獲得待測軟件特征,提取調(diào)用序列當(dāng)作行為數(shù)據(jù),通過模型對序列進行向量化表示,提取語義信息特征以此實現(xiàn)惡意行為檢測。
本文通過構(gòu)建惡意軟件攻擊行為的時序邏輯來模型來分析是否會發(fā)生攻擊事件。時序邏輯可表示與推理“時間限定”的相關(guān)命題,通常用在形式驗證。其主要成分為時序語句,包括時間確定與不確定兩種。常用時態(tài)包含未來、過去與進行時態(tài)算子,通過對攻擊行為構(gòu)建時序邏輯,確定形式語義和證明規(guī)則,確保系統(tǒng)在同種邏輯中進行推理,是一種高效推理方法。
1)探測攻擊:對能夠連接成功的開放端口進行掃描,確定主機端口的配置狀況、服務(wù)種類與程序版本號。此外,還能獲取網(wǎng)絡(luò)漏洞等信息,當(dāng)攻擊者找出有安全隱患的端口后即可開展攻擊行為。
2)網(wǎng)絡(luò)監(jiān)聽:對網(wǎng)卡模式進行設(shè)置,使其處于混雜狀態(tài),監(jiān)聽某網(wǎng)段經(jīng)過的全部數(shù)據(jù)包,獲得敏感數(shù)據(jù)。
3)解碼攻擊:利用各種方式得到文件,再通過猜測程序完成用戶賬號與密碼的破解。
4)未授權(quán)訪問:抓住系統(tǒng)管理漏洞,獲得較高的操作權(quán)限,一般使用的手段包括電子郵件、IP攻擊等。
5)偽裝攻擊:利用虛假地址,用偽造身份和其它主機之間進行非法通信,使主機做出錯誤響應(yīng)。
6)協(xié)議漏洞:攻擊者通過協(xié)議自身存在的缺陷進行攻擊,此種攻擊主要包括Web欺騙、淚滴攻擊等。
7)緩沖區(qū)溢出:向系統(tǒng)緩沖區(qū)域發(fā)送大于其容量的內(nèi)容,導(dǎo)致緩沖區(qū)溢出,破壞軟件程序,生成其它指令。如果這些指令存入root權(quán)限中,此時指令得到運行,攻擊者即可獲取系統(tǒng)權(quán)限。此種攻擊的主要目的為使運行程序混亂,有助于攻擊者對權(quán)限的控制。此外,緩沖區(qū)溢出會導(dǎo)致匿名用戶獲取全部控制權(quán),是一種非常嚴(yán)重的軟件攻擊行為。
8)拒絕服務(wù):此種攻擊類型包括兩種,其一為軟件自身弱點造成的,此種攻擊由開發(fā)商修補即可;另一種是通過合理請求占用太多服務(wù)資源,減少空間容量,造成系統(tǒng)無法響應(yīng)。
步驟一:隱匿身份者一般是具有針對性的,例如盜取關(guān)鍵數(shù)據(jù)等。隱匿身份屬于攻擊者的預(yù)設(shè)過程,可通過IP偽造等方法掩蓋攻擊源。攻擊者需獲取海量信息當(dāng)作攻擊起點,此過程難以事先防范。
步驟二:信息采集,網(wǎng)絡(luò)架構(gòu)一般是分層設(shè)計的,攻擊者很難直接進行信息采集。但隨著攻擊方式的多樣化,信息收集變得尤為方便,利用搜索引擎即可查找和網(wǎng)絡(luò)有關(guān)聯(lián)的全部設(shè)備。
步驟三:用戶破譯,只需經(jīng)過底層操作系統(tǒng)的認(rèn)可,就能全面破解用戶的賬號與密碼。如果破解成功,可直接對其它程序進行控制。若底層協(xié)議對其沒有認(rèn)證成功,則可通過暴力枚舉獲得用戶角色。
步驟四:發(fā)送惡意代碼,當(dāng)攻擊者獲得足夠權(quán)限時,便能對目標(biāo)進行惡意攻擊。攻擊者需將惡意代碼傳輸?shù)侥繕?biāo)設(shè)備中,或使軟件執(zhí)行惡意代碼。
步驟五:攻擊操作,這是攻擊者的最終目的,可通過蠕蟲病毒與木馬方式執(zhí)行。無論哪種方式都會給網(wǎng)絡(luò)帶來嚴(yán)重破壞,泄露大量隱私信息。
步驟六:產(chǎn)生效果,主要包括兩種形式:竊取式攻擊與行為攻擊,前者造成的后果是信息泄露,后者則會造成系統(tǒng)崩潰、軟件毀壞等后果。
步驟七:消除痕跡,尋找后門與去除痕跡屬于惡意攻擊的后續(xù)策略,也是長期入侵的必備手段。一些新型攻擊方式很難被入侵檢測系統(tǒng)發(fā)現(xiàn),但在最后開后門過程時會發(fā)現(xiàn)異常,達到及時止損目的。
結(jié)合上述惡意軟件攻擊類型與主要過程,構(gòu)建基于Petri網(wǎng)的行為攻擊模型。Petri網(wǎng)是支持運行的系統(tǒng)模型,主要表示系統(tǒng)狀態(tài)、事件與條件之間的存在的關(guān)系。其中條件能夠?qū)⑹录せ?,此時會造成系統(tǒng)狀態(tài)變化,進而促使其它條件變化。和其它攻擊模型比較,該方法不但能反映靜態(tài)的攻擊過程,還可以準(zhǔn)確模擬執(zhí)行條件與結(jié)果。
本文將Petri網(wǎng)當(dāng)作某三元組PN
=(P
,T
,F
),且P
={p
,p
,…,p
}屬于有限集合,元素p
表示庫所,可以描述網(wǎng)絡(luò)運行狀態(tài);T
={t
,t
,t
}為有限集合,元素t
被定義為變遷,表示系統(tǒng)事件,F
={T
×P
}表述P
和T
之間的關(guān)系結(jié)合,P
和T
符合P
∪T
≠?同時P
∩T
≠?的要求。除上述要求外,Petri
網(wǎng)還有如下特點:在兩庫之間不具備有向弧、兩變遷也不具備向弧。假設(shè)P
={p
,p
,p
,p
,p
}代表庫所集合,T
={t
,t
,t
,t
,t
,t
}屬于變遷集合。p
表示t
的輸入庫所,t
表示p
的輸出變遷,若要從狀態(tài)p
抵達狀態(tài)p
,必然路過t
。P
、T
、F
屬于Petri
網(wǎng)內(nèi)靜態(tài)屬性,能夠表示軟件攻擊模型中目的、狀態(tài)、技術(shù)等靜態(tài)要素。如果將Petri
網(wǎng)當(dāng)作攻擊模型,則需對其中靜態(tài)要素進行詳細(xì)說明。如果P
是攻擊狀態(tài),p
為原始狀態(tài),T
是攻擊技術(shù)集。結(jié)合狀態(tài)、原始狀態(tài)與攻擊技術(shù)之間的關(guān)系可得出:p
可能變?yōu)橄乱粋€攻擊狀態(tài)。經(jīng)過t
可抵達p
,所以t
的子目的表示為經(jīng)過t
促使攻擊狀態(tài)變?yōu)?p>p。在Petri網(wǎng)攻擊模型中,攻擊路徑即為狀態(tài)P和技術(shù)T的交叉序列,其中包括初始狀態(tài)和目的狀態(tài)。每條攻擊路徑對應(yīng)一種攻擊方式,結(jié)合攻擊模型內(nèi)的三種關(guān)系能夠得出:攻擊路徑取決于關(guān)系,關(guān)系會使惡意攻擊過程發(fā)生分叉現(xiàn)象,進而生成多條攻擊路徑。
探明惡意軟件攻擊的類型與攻擊過程后,基于Petri網(wǎng)構(gòu)建了攻擊模型,采用行為時序邏輯分析方法獲取攻擊過程的時序特征,結(jié)合此特征,即可達到惡意軟件攻擊檢測目的。
行為時序邏輯屬于規(guī)約并發(fā)邏輯,其形式語義及規(guī)則可在同種邏輯中完成推理。此種方式實現(xiàn)了時序與行為邏輯的有效整合,是一種高效推理方式。
x
描述狀態(tài)變量,則x
′為下個狀態(tài)值。Δ描述邏輯算子,F
的意義為公式F
始終是正確的。?符號則是一種量詞。狀態(tài)函數(shù)與謂詞的語法一致,均包括變量、運算符號、常量符號。其中狀態(tài)函數(shù)是對狀態(tài)進行賦值的方式,狀態(tài)謂語則是與狀態(tài)相關(guān)的布爾表達式,它的取值只包括true
和false
兩種。在時序邏輯中,狀態(tài)變遷指連接兩種狀態(tài)的行為。語義上表示某行為就是某狀態(tài)對〈s
,t
〉是否成立,及狀態(tài)s
是否成功變遷到狀態(tài)t
。而在語法中,其代表具備變量及變量新狀態(tài)的布爾公式。將符合行為A
的狀態(tài)〈s
,t
〉稱作A
步,且A
在狀態(tài)s
使能。行為時序邏輯的標(biāo)準(zhǔn)公式表示為
?x
=init
∧[N
]∧L
(1)
式中,init
代表原始狀態(tài)的謂詞,[N
]=N
∨(v
′=v
)則為狀態(tài)變遷需要符合的行為條件,其功能允許變量組v
在不同狀態(tài)時取值不變,L
屬于約束條件。n
個從屬變量,但是現(xiàn)階段僅獲取m
(m
<n
)中變化形式。為改善此問題,本文增加了一些假設(shè)。將該思想與時序邏輯相結(jié)合,提出假設(shè)時序邏輯模型。下述是本文引入的基本假設(shè)。1)假設(shè)變量:和一般變量不同,該變量必須通過假設(shè)完成,可利用這些假設(shè)變量值使系統(tǒng)達到理想狀態(tài)。假設(shè)V
為變量集合,V
與V
分別描述柔性與剛性變量集合。2)狀態(tài):假設(shè)的狀態(tài)能夠第缺失的信息添加假設(shè)內(nèi)容,獲取整個網(wǎng)絡(luò)系統(tǒng)狀態(tài)。
3)異常:異常即為正常狀況下理想或不理想的狀態(tài),在改進的時序模型中,異常包括假設(shè)變量、常量等,通過符號⊥描述。其分為兩個狀態(tài)值即true
與false
。4)行為和假設(shè):時序邏輯模型的行為數(shù)據(jù)兩個公式的合取。一個時序行為A
對某狀態(tài)〈s
,t
〉成立,且A
(?∈V
:s
(v
)/v
)=ture
。經(jīng)過上述假設(shè)后,獲得改進的時序模型標(biāo)準(zhǔn)形式
(2)
經(jīng)過上述改進后,時序邏輯保留了公平性,使系統(tǒng)不會出現(xiàn)異常狀態(tài)。利用時序邏輯的標(biāo)準(zhǔn)公式,確定語法形式規(guī)則,構(gòu)建惡意軟件攻擊行為的時序邏輯模型。首先給出如下語法:
約束表達式為
δ
=T
+c
(3)
式中,T
表示約束因數(shù),c
表示約束常數(shù)。區(qū)間表達式
φ
=δ
+p
(4)
式中,p
表示區(qū)間距離值。時間表達式
ψ
=φ
×s
(k
)(5)
式中,s
(k
)表示在狀態(tài)k
下真實值。利用上述語法形式與時序關(guān)系共同構(gòu)建了時序邏輯模型,該模型根據(jù)不同攻擊事件的時序邏輯,可分析出是否有惡意軟件攻擊行為發(fā)生。仿真中使用Pentium42.8GHz,4G內(nèi)存的仿真平臺,操作系統(tǒng)型號是XP SP2,為了對文獻[1]方法、文獻[2]方法與本文方法進行公平的性能比較,使用Workstation5.0虛擬機,并將驅(qū)動系統(tǒng)引入到實際系統(tǒng)內(nèi),安裝惡意軟件攻擊分析系統(tǒng)。當(dāng)全部軟件完成安裝后,對虛擬機拍照,儲存照片,便于系統(tǒng)狀態(tài)回滾。仿真平臺拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 仿真平臺拓?fù)浣Y(jié)構(gòu)圖
本文實驗設(shè)計的惡意軟件攻擊類型與攻擊時間如表1所示。
表1 惡意軟件攻擊表
圖2 文獻[1]方法丟包數(shù)量
圖3 文獻[2]方法丟包數(shù)量
圖4 本文方法丟包數(shù)量
由圖2到圖4可知,本文構(gòu)建的時序邏輯模型可有效分析出惡意軟件攻擊行為發(fā)生的時間,與表1設(shè)計的發(fā)起攻擊時間完全對應(yīng)。當(dāng)120s、135s與150s發(fā)生攻擊事件時,本文方法的接收數(shù)據(jù)表數(shù)量明顯下降,表明該時間段有攻擊行為發(fā)生。
在此次仿真中,仿真總時長為165秒,對網(wǎng)絡(luò)軟件發(fā)起惡意攻擊,利用三種方法進行計算。實驗指標(biāo)包括:D代表在系統(tǒng)并發(fā)壓力下,模型檢測出的惡意攻擊行為占總攻擊行為的數(shù)量;D代表總攻擊行為總數(shù),檢出率P:指模型認(rèn)定的攻擊行為中屬于真實攻擊行為的比重,其表達式為
(6)
三種方法的決策率及檢出率測試結(jié)果分別如圖5和6所示。
圖5 不同方法決策率對比圖
圖6 不同方法檢出率對比圖
由圖5和圖6可知,文獻[1]方法的決策率下降速度較快,這是因為隨著系統(tǒng)并發(fā)輸入數(shù)量的增多,多個活動事件在相同時刻發(fā)生,導(dǎo)致該方法不能進行精準(zhǔn)決策;此外,三種方法的檢出率隨著并發(fā)輸入數(shù)量的增多均呈現(xiàn)先下降后穩(wěn)定的趨勢。利用本文方法構(gòu)建的行為時序邏輯模型進行軟件惡意攻擊檢測時,決策率與檢出率均高于兩種方法。表明本文方法經(jīng)過一段時間檢測后已經(jīng)完全掌握惡意攻擊的行為特征,提高攻擊行為的識別準(zhǔn)確率。
由于數(shù)據(jù)量的飛速增長與攻擊模式的多樣化,必須通過有效方式分析出惡意攻擊行為。本文對惡意軟件攻擊構(gòu)建行為時序邏輯模型分析。利用該模型推理出是否存在惡意軟件攻擊行為,仿真結(jié)果證明,該模型無論對于哪種攻擊方式都有較高的決策率與檢出率,同時建立了防火墻與漏洞掃描技術(shù)。隨著網(wǎng)絡(luò)環(huán)境的變化,必須加強安全防御體系來解決不斷涌現(xiàn)的新型攻擊問題,逐漸完善攻擊模型庫,為惡意攻擊檢測提供較為規(guī)范的平臺。