專利名稱:一種基于行為特征自動機模型的軟件漏洞檢測方法
技術領域:
本發(fā)明涉及一種計算機軟件漏洞的檢測方法,尤其是涉及ー種基于行為特征自動機模型的軟件漏洞檢測方法。
背景技術:
軟件漏洞是程序中存在的安全隱患,若被計算機病毒利用,將會對系統(tǒng)造成嚴重危害。雖然已經發(fā)現(xiàn)了諸多漏洞,并且建立了漏洞庫,但是已知漏洞行為描述還不完善。在依據這些描述發(fā)現(xiàn)未知漏洞過程中,還需要輔助大量人工判斷,自動化推理程度低。主要問題(I)漏洞庫中的行為特征描述語義太模糊,無法利用現(xiàn)有的特征描述去判斷軟件中存在未知漏洞。
當前漏洞庫對漏洞行為描述主要是語義層的,Google Chrome任意代碼執(zhí)行漏洞,他們的漏洞語義描述是“Google Chrome 17. O. 963. 46之前版本存在競爭條件錯誤,允許遠程攻擊者通過會觸發(fā)效用進程崩潰的向量來執(zhí)行任意代碼”。這樣的語義描述太不清晰,這種描述只是說明了特定軟件,特定版本號內存在的某種類型漏洞,無法依據這些描述去推理判斷其他類型軟件中是否存在未知漏洞。主要問題⑵漏洞行為特征的分類和量化太簡單,無法用于未知漏洞檢測。在Google Chrome任意代碼執(zhí)行漏洞進行分類的時候,常見漏洞披露列表CVE采用漏洞庫名字+發(fā)現(xiàn)年份+編號的形式,如CVE-2011-3961,這樣的分類信息還不夠。我國國家計算機網絡入侵防范中心對該漏洞采用了自己的編號NIPC-2012-0428,對漏洞類型為競爭性條件錯誤的分類。該分類方法同樣應用在中國國家信息安全漏洞庫漏洞CNNVD-201202-170中。按照漏洞特征屬性方法比時間分類方法已經有了改進?!巴ㄓ寐┒丛u分系統(tǒng)”CVSS V2給出該漏洞的風險等級為9. 3,但是這樣的量化只是說明漏洞具有很高風險等級,量化等級值對于推理判斷并沒有作用。主要問題(3)在漏洞檢測過程中,采用詞法分析無法檢測出行為漏洞,約束分析方法在追蹤行為控制流中會產生大量噪音,無法清晰表達行為語義。在檢測中還需要輔助大量人工判斷,自動化推理程度比較低。綜上所述,在追蹤國內外研究現(xiàn)狀的基礎上,發(fā)現(xiàn)存在的瓶頸問題已知漏洞的行為特征描述太模糊,特征的分類和量化結果太簡單,行為特征表現(xiàn)與漏洞的本質聯(lián)系不明確,因此無法依據這些特征推理檢測未知漏洞。
發(fā)明內容
本發(fā)明的目的就是為了克服上述現(xiàn)有技術存在的缺陷而提供ー種可根據已知行為特征準確判斷是否存在軟件漏洞的基于行為特征自動機模型的軟件漏洞檢測方法。本發(fā)明的目的可以通過以下技術方案來實現(xiàn)一種基于行為特征自動機模型的軟件漏洞檢測方法,該方法包括以下步驟I)將具有數(shù)據約束的自動機模型從漏洞行為特征庫中載入流程,建立具有數(shù)據約束的自動機模型;2)通過自動機模型將漏洞行為特征庫中的行為特征序列轉換成行為特征語言;3)通過自動機模型循環(huán)判斷行為特征是否具有唯一性或度量行為特征個體間的相似性,若行為特征具有唯一性,則執(zhí)行步驟4),若行為特征具有相似性,則執(zhí)行步驟5);4)根據行為特征的語義,自動機模型基于數(shù)理邏輯檢測軟件狀態(tài),并報告軟件漏洞的存在性;
5)根據行為特征的語義,自動機模型基于貝葉斯邏輯檢測軟件狀態(tài),并報告軟件漏洞的存在性。所述的自動機包括有限狀態(tài)自動機和行為特征自動機,所述的有限狀態(tài)自動機判斷行為特征是否具有唯一性,所述的行為特征自動機度量行為特征個體間的相似性。所述的基于數(shù)理邏輯檢測軟件狀態(tài)具體為采用命題邏輯或謂詞邏輯表達行為特征語義,自動機模型根據已知行為特征,判斷是否存在軟件漏洞。所述的基于貝葉斯邏輯檢測軟件狀態(tài)具體為在行為特征語義的基礎上,利用貝葉斯公式,構建概率邏輯,通過自動機模型判斷是否存在軟件漏洞。與現(xiàn)有技術相比,本發(fā)明可準確根據已知行為特征,檢測軟件漏洞的存在性,從而提高計算機軟件的可靠性和安全性。
圖I為本發(fā)明檢測方法的流程示意圖。
具體實施例方式下面結合附圖和具體實施例對本發(fā)明進行詳細說明。實施例如圖I所示,一種基于行為特征自動機模型的軟件漏洞檢測方法,該方法包括以下步驟I)漏洞行為特征庫中已知漏洞行為特征的表示;11)建立具有數(shù)據約束的自動機模型BAR BAR = function (Behavior O,Automaton O,reasoning ())Behavior = B (Judge, In, Out, State, Action)Automaton = (FSM(In, Out, State, f (In), g(s)), BM(Behavior))Re asoning (Logic (FSM (), NoClassicalLogic (BM ()))其中,Behavior表示行為特征表達,Automaton表示自動機,reasoning表示推理;行為特征表達為與約束Judge、輸入In、輸出Out、狀態(tài)State和行為Action相關的函數(shù);自動機包括有限狀態(tài)自動機FSM(In, Out, State, f (In), g(s))與行為特征自動機BM(Behavior),其中表示f (In)輸入函數(shù),g(s)表示狀態(tài)轉換函數(shù);推理方法包括經典邏輯中的推理與非經典邏輯中的近似推理。12)通過自動機模型將漏洞行為特征庫中的行為特征序列轉換成行為特征語言L(BAR),為后續(xù)的語言分類奠定了基礎L(BAR) = {w | w e In, f (S0, w) e S,fj (S0, w) e B}w是把自動機BAR可以接受的行為序列W,這些序列屬于輸入集合In。從初始狀態(tài)S0開始,經過狀態(tài)轉換函數(shù)f (S0, w),結果是狀態(tài)集合S的元素;同樣經過w) e B,結果是行為集合B的元素。狀態(tài)轉換函數(shù)和行為轉換函數(shù)均與初始狀態(tài)Stl和輸入的行為序列w有關。2)通過自動機模型判斷行為特征是否具有唯一性或度量行為特征個體間的相似性;21)被有限狀態(tài)自動機接受的語言L (Wtl)為軟件行為唯一性特征,唯一性的具體判斷如下
假設Ω是行為特征L(W)的集合空間,行為特征需要滿足以下條件
l(wjn£(W/)=0 プ,=L(W1) U L (W2) ...U L(Wn) = Ω那么L(W1) U L(W2)…U L(Wn)是Ω的劃分,研究在Wi上提取行為特征L(Wi)方法,使能滿足任意兩個特征交集為空,使其具備“唯一性”,可以對特征集合進行劃分。22)相似性是指行為與特征的差異。相似性P (Wi I L(Wtl))是判斷行為屬于哪種類型漏洞的關鍵依據,其公式如下
P^Ii(Ws))= I w. c L(w0)|咖來))=|^.しメ‘)當個體的行為特征能被語言識別時候·^相似性定義為し當個體的行為特征不能被語言識別時候%相似性定義為個體特征S(Wi)與類別特征S(W。)的比。3)根據行為特征的語義,自動機模型基于數(shù)理邏輯或貝葉斯邏輯檢測軟件狀態(tài),并報告軟件漏洞的存在性。對于語義明確,即具有唯一性的行為特征,用命題邏輯或謂詞邏輯描述的行為特征,選用經典邏輯,構建自動機檢測判斷。對于語義模糊的,即具有相似性的行為特征,采用貝葉斯邏輯描述行為特征,采用近似推理判斷存在漏洞的可能性。31)基于數(shù)理邏輯的自動機推理檢測有限狀態(tài)自動機解決了軟件漏洞語法的描述,數(shù)理邏輯可以解決語義推理,并把推理方法應用到自動機中,根據已知軟件存在行為特征,推理判斷屬于那種類型漏洞。311)行為特征語義的定義從行為特征的指令層,用命題邏輯或謂詞邏輯表達行為語義。例如命題P :整數(shù)溢出漏洞Q :緩沖區(qū)溢出漏洞R :溢出。整數(shù)溢出漏洞導致溢出,蘊含定義P — R ;(νχΧ (χ)^Λ(^))緩沖區(qū)溢出漏洞導致溢出,蘊含的定義Q — K ;(瑜(ズ)一 ))已知條件發(fā)生了溢出R,不是緩沖區(qū)溢出漏洞Π <3,推斷存在那種類型漏洞?
312)定義蘊含和等價公式蘊含公式定義(II) P Λ Q = > P ; (12) Q,Q — R = > R ; (13) P,P — R = > R 等價式定義(El) PvR . (E2) Q->RO^ QvR; (E3) (P^R)OPai R313)構建推理自動機用推理機描述蘊含公式與等價公式的定義,然后根據已知行為特征,推理判斷存在的未知漏洞。推理自動機定義R= {w, L(w), V, I, E}R是推理自動機,w是軟件行為,,L(w)是行為特征,V是漏洞集合,I是蘊含公式集,E是等價公式集。 32)基于貝葉斯邏輯的近似自動機推理檢測這種已知結果,推理原因的情況,可以利用貝葉斯后驗概率進行推導。321)貝葉斯邏輯設漏洞事件B1, B2, , Bn,及行為特征A滿足B1, B2, , Bn兩兩互不相容,P(Bi)
權利要求
1.一種基于行為特征自動機模型的軟件漏洞檢測方法,其特征在于,該方法包括以下步驟 1)將具有數(shù)據約束的自動機模型從漏洞行為特征庫中載入流程,建立具有數(shù)據約束的自動機模型; 2)通過自動機模型將漏洞行為特征庫中的行為特征序列轉換成行為特征語言; 3)通過自動機模型循環(huán)判斷行為特征是否具有唯一性或度量行為特征個體間的相似性,若行為特征具有唯一性,則執(zhí)行步驟4),若行為特征具有相似性,則執(zhí)行步驟5); 4)根據行為特征的語義,自動機模型基于數(shù)理邏輯檢測軟件狀態(tài),并報告軟件漏洞的存在性; 5)根據行為特征的語義,自動機模型基于貝葉斯邏輯檢測軟件狀態(tài),并報告軟件漏洞的存在性。
2.根據權利要求I所述的ー種基于行為特征自動機模型的軟件漏洞檢測方法,其特征在于,所述的自動機包括有限狀態(tài)自動機和行為特征自動機,所述的有限狀態(tài)自動機判斷行為特征是否具有唯一性,所述的行為特征自動機度量行為特征個體間的相似性。
3.根據權利要求I所述的ー種基于行為特征自動機模型的軟件漏洞檢測方法,其特征在于,所述的基于數(shù)理邏輯檢測軟件狀態(tài)具體為 采用命題邏輯或謂詞邏輯表達行為特征的語義,自動機模型根據已知行為特征,判斷是否存在軟件漏洞。
4.根據權利要求I所述的ー種基于行為特征自動機模型的軟件漏洞檢測方法,其特征在于,所述的基于貝葉斯邏輯檢測軟件狀態(tài)具體為 在行為特征語義的基礎上,利用貝葉斯公式,構建概率邏輯,通過自動機模型判斷是否存在軟件漏洞。
全文摘要
本發(fā)明涉及一種基于行為特征自動機模型的軟件漏洞檢測方法,該方法包括以下步驟1)將具有數(shù)據約束的自動機模型從漏洞行為特征庫中載入流程,建立具有數(shù)據約束的自動機模型;2)通過自動機模型將漏洞行為特征庫中的行為特征序列轉換成行為特征語言;3)通過自動機模型循環(huán)判斷行為特征是否具有唯一性或度量行為特征個體間的相似性,若行為特征具有唯一性,則自動機模型基于數(shù)理邏輯檢測軟件狀態(tài),并報告軟件漏洞的存在性,若行為特征具有相似性,則自動機模型基于貝葉斯邏輯檢測軟件狀態(tài),并報告軟件漏洞的存在性。與現(xiàn)有技術相比,本發(fā)明具有可提高計算機軟件漏洞檢測效率等優(yōu)點。
文檔編號G06F21/22GK102693393SQ20121016289
公開日2012年9月26日 申請日期2012年5月21日 優(yōu)先權日2012年5月21日
發(fā)明者吳亮, 成貴學, 王勇, 王威, 谷大武, 黃亮亮 申請人:上海電力學院