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

(2)
經過上述改進后,時序邏輯保留了公平性,使系統不會出現異常狀態。利用時序邏輯的標準公式,確定語法形式規則,構建惡意軟件攻擊行為的時序邏輯模型。首先給出如下語法:
約束表達式為
δ
=T
+c
(3)
式中,T
表示約束因數,c
表示約束常數。區間表達式
φ
=δ
+p
(4)
式中,p
表示區間距離值。時間表達式
ψ
=φ
×s
(k
)(5)
式中,s
(k
)表示在狀態k
下真實值。利用上述語法形式與時序關系共同構建了時序邏輯模型,該模型根據不同攻擊事件的時序邏輯,可分析出是否有惡意軟件攻擊行為發生。仿真中使用Pentium42.8GHz,4G內存的仿真平臺,操作系統型號是XP SP2,為了對文獻[1]方法、文獻[2]方法與本文方法進行公平的性能比較,使用Workstation5.0虛擬機,并將驅動系統引入到實際系統內,安裝惡意軟件攻擊分析系統。當全部軟件完成安裝后,對虛擬機拍照,儲存照片,便于系統狀態回滾。仿真平臺拓撲結構如圖1所示。

圖1 仿真平臺拓撲結構圖
本文實驗設計的惡意軟件攻擊類型與攻擊時間如表1所示。

表1 惡意軟件攻擊表

圖2 文獻[1]方法丟包數量

圖3 文獻[2]方法丟包數量

圖4 本文方法丟包數量
由圖2到圖4可知,本文構建的時序邏輯模型可有效分析出惡意軟件攻擊行為發生的時間,與表1設計的發起攻擊時間完全對應。當120s、135s與150s發生攻擊事件時,本文方法的接收數據表數量明顯下降,表明該時間段有攻擊行為發生。
在此次仿真中,仿真總時長為165秒,對網絡軟件發起惡意攻擊,利用三種方法進行計算。實驗指標包括:D代表在系統并發壓力下,模型檢測出的惡意攻擊行為占總攻擊行為的數量;D代表總攻擊行為總數,檢出率P:指模型認定的攻擊行為中屬于真實攻擊行為的比重,其表達式為

(6)
三種方法的決策率及檢出率測試結果分別如圖5和6所示。

圖5 不同方法決策率對比圖

圖6 不同方法檢出率對比圖
由圖5和圖6可知,文獻[1]方法的決策率下降速度較快,這是因為隨著系統并發輸入數量的增多,多個活動事件在相同時刻發生,導致該方法不能進行精準決策;此外,三種方法的檢出率隨著并發輸入數量的增多均呈現先下降后穩定的趨勢。利用本文方法構建的行為時序邏輯模型進行軟件惡意攻擊檢測時,決策率與檢出率均高于兩種方法。表明本文方法經過一段時間檢測后已經完全掌握惡意攻擊的行為特征,提高攻擊行為的識別準確率。
由于數據量的飛速增長與攻擊模式的多樣化,必須通過有效方式分析出惡意攻擊行為。本文對惡意軟件攻擊構建行為時序邏輯模型分析。利用該模型推理出是否存在惡意軟件攻擊行為,仿真結果證明,該模型無論對于哪種攻擊方式都有較高的決策率與檢出率,同時建立了防火墻與漏洞掃描技術。隨著網絡環境的變化,必須加強安全防御體系來解決不斷涌現的新型攻擊問題,逐漸完善攻擊模型庫,為惡意攻擊檢測提供較為規范的平臺。