亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于行為特征的BIOS固件Rootkit檢測(cè)方法

文檔序號(hào):6336442閱讀:217來(lái)源:國(guó)知局
專利名稱:基于行為特征的BIOS固件Rootkit檢測(cè)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于程序行為特征的針對(duì)計(jì)算機(jī)BIOS固件Rootkit的檢測(cè)方法, 屬于計(jì)算機(jī)安全技術(shù)領(lǐng)域,適用于對(duì)BIOS固件中植入Rootkit的檢測(cè)。
背景技術(shù)
圍繞著爭(zhēng)奪系統(tǒng)控制權(quán)的較量已經(jīng)透過(guò)應(yīng)用程序和操作系統(tǒng)內(nèi)核的防線,深入到 計(jì)算機(jī)的底層器件,很多底層硬件設(shè)備成為雙方較量的新戰(zhàn)場(chǎng)。BIOS (Basic In and Out System)固件在計(jì)算機(jī)中主要執(zhí)行POST (Power On Self Test),主要負(fù)責(zé)硬件檢測(cè)和初始 化硬件,在自檢和自舉階段對(duì)外設(shè)識(shí)別,將Options ROMs中的代碼拷貝到內(nèi)存中執(zhí)行。BIOS 直接控制硬件的工作,對(duì)各種軟硬件資源的訪問(wèn)基本不受限制。BIOS中的代碼在操作系統(tǒng) 裝載啟動(dòng)之前運(yùn)行,在BIOS中植入的惡意代碼能夠繞過(guò)幾乎所有的基于操作系統(tǒng)實(shí)現(xiàn)的 安全機(jī)制,因此,具有隱蔽性好,查殺難度大,抗清除等特點(diǎn),是實(shí)現(xiàn)“永久控制”思想的一種 有效嘗試。BIOS已經(jīng)成為惡意代碼編制者的新目標(biāo),BIOS Rootkit是這些惡意代碼中危害 程度較大的一種。通常,一種惡意代碼出現(xiàn)以后隨之而來(lái)的是一系列的變種。這些變種與原始版本 的惡意代碼相比,具有功能相似的特點(diǎn),但因其使用了混淆技術(shù),可以有效逃避特征碼匹配 檢測(cè),這給傳統(tǒng)的檢測(cè)方法帶來(lái)挑戰(zhàn)。BIOS Rootkit也不例外。當(dāng)前應(yīng)用的BIOS Rootkit 檢測(cè)方法主要有代碼驗(yàn)證、完整性與特征碼結(jié)合檢測(cè)、動(dòng)態(tài)監(jiān)控等方法。代碼驗(yàn)證是通過(guò)一 個(gè)執(zhí)行模塊在固件代碼執(zhí)行之前對(duì)其進(jìn)行驗(yàn)證,經(jīng)過(guò)驗(yàn)證保證了控制流安全,運(yùn)行空間安 全和堆棧的安全。執(zhí)行驗(yàn)證的模塊對(duì)BIOS固件代碼所使用的編譯器有嚴(yán)格的限制,同時(shí) 要求程序具有良好的控制流結(jié)構(gòu)和規(guī)范,這些嚴(yán)格的要求限制了該方法的適用范圍和檢測(cè) 能力。完整性與特征碼相結(jié)合的方法通過(guò)對(duì)BIOS鏡像文件進(jìn)行校驗(yàn),如果校驗(yàn)和與該種型 號(hào)的BIOS鏡像文件出廠時(shí)的校驗(yàn)和不匹配,則認(rèn)為不安全的。但是校驗(yàn)和的不匹配并不能 確定具體的原因,通過(guò)安全隱患特征庫(kù)進(jìn)行特征比對(duì),如果匹配成功,那么就確定了具體的 安全漏洞。這種方法的局限在于廠商通常會(huì)對(duì)BIOS的一些缺陷和安全漏洞進(jìn)行修補(bǔ),缺陷 特征庫(kù)的構(gòu)建需要追蹤不同的廠商和不同型號(hào)的BIOS鏡像文件,通過(guò)專業(yè)人員的分析構(gòu) 建。動(dòng)態(tài)監(jiān)控的方法可以認(rèn)為是代碼驗(yàn)證方法的一種變形,通過(guò)在BIOS中插入適當(dāng)?shù)哪K 來(lái)監(jiān)控BIOS執(zhí)行過(guò)程中的關(guān)鍵位置,如果關(guān)鍵位置不符合預(yù)設(shè)條件,那么判定該BIOS不安 全。動(dòng)態(tài)監(jiān)控方法的限制在于需要對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)進(jìn)行修改,包括CPU和主板。綜上所述,BIOS Rootkit具有隱蔽性強(qiáng)、檢測(cè)難度大、危害程度高等特點(diǎn)。目前針 對(duì)BIOS Rootkit的檢測(cè)方法存在不足動(dòng)態(tài)的方法需要修改原有的目標(biāo)代碼,對(duì)檢測(cè)能力 的擴(kuò)展性較差;用缺陷特征庫(kù)的方法需要追蹤不同型號(hào)和版本的變化,對(duì)于BIOS固件代碼 分析的更新可能存在沖突,通用性不能滿足需求。中國(guó)發(fā)明專利ZL 200610081081. 8 (授權(quán)公告號(hào)CN100451987C)公開了一種對(duì)計(jì) 算機(jī)BIOS固件進(jìn)行安全風(fēng)險(xiǎn)檢測(cè)的系統(tǒng)和方法,通過(guò)對(duì)BIOS采樣和解析BIOS影像文件; 然后掃描BIOS的各種隱患;度量BIOS代碼的完整性;輸出檢測(cè)結(jié)果,據(jù)此對(duì)BIOS進(jìn)行安
4全修補(bǔ)。能夠有效地減少、降低、消除計(jì)算機(jī)BIOS存在的安全漏洞和安全隱患,防止計(jì)算機(jī) BIOS中代碼被惡意修改,或被植入木馬程序,從硬件層和固件層共同增強(qiáng)計(jì)算機(jī)信息系統(tǒng) 安全,防備針對(duì)計(jì)算機(jī)BIOS而發(fā)生的各種攻擊等安全事故,為高安全計(jì)算環(huán)境和網(wǎng)絡(luò)環(huán)境 的信息安全、信息保密提供可靠的終端安全防范和全面的保護(hù)。其存在的不足是代碼經(jīng)過(guò) 混淆變換很容易將變換前二進(jìn)制級(jí)別的特征抹除,具有通用行為的木馬經(jīng)過(guò)變形后其二進(jìn) 制的特征完全不同,如果要精確的檢測(cè)新的木馬變種就需要根據(jù)變種不斷的在特征庫(kù)中添 加新特征。同時(shí)還需要專業(yè)人員來(lái)追蹤BIOS廠商發(fā)布的漏洞補(bǔ)丁和新增功能模塊,對(duì)特征 庫(kù)進(jìn)行維護(hù),工作量非常大,而且很難跟上惡意代碼的迅速增長(zhǎng)。

發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)不足,提出一種基于行為特征的BIOS固件Rootkit檢測(cè)方 法,該方法基于對(duì)BIOS鏡像文件進(jìn)行逆向分析,采用了語(yǔ)義模板的形式對(duì)可疑行為進(jìn)行定 義,通過(guò)三個(gè)層次篩選的方法定位可疑行為,再利用模式匹配的方法對(duì)行為的可疑度進(jìn)行 確定。本發(fā)明主要用于應(yīng)對(duì)利用BIOS實(shí)現(xiàn)的攻擊和可能出現(xiàn)的BIOS Rootkit0本發(fā)明所采用的技術(shù)方案
一種基于行為特征的BIOS固件Rootkit檢測(cè)方法,包括步驟a,對(duì)待分析的二進(jìn)制 BIOS鏡像文件進(jìn)行解析,通過(guò)識(shí)別解析出的BIOS模塊的特征字,從數(shù)據(jù)庫(kù)中讀取出指導(dǎo)代 碼逆向的信息和該模塊邏輯功能的形式化的描述信息;
步驟b,對(duì)解析出的二進(jìn)制文件,按靜態(tài)控制流的方式對(duì)代碼進(jìn)行逆向,將代碼片段中 的指令語(yǔ)義等價(jià)的映射到中間表示,構(gòu)建程序的控制流圖CFG ;
步驟c,先對(duì)中間表示進(jìn)行簡(jiǎn)化,然后根據(jù)行為特征庫(kù)DB2中存儲(chǔ)的可疑BIOS Rootkit 行為進(jìn)行行為特征提取,根據(jù)行為特征庫(kù)中的行為模板提取候選行為集合,采用逐步篩選 的方法提取行為特征;
步驟d,進(jìn)行惡意行為可疑度判斷,輸出檢測(cè)結(jié)果,根據(jù)BIOS Rootkit模式庫(kù)DB3對(duì)所 提取的可疑BIOS Rootkit行為進(jìn)行組合,不同的組合模式中對(duì)行為的可疑度進(jìn)行加權(quán),按 照匹配程度進(jìn)行Rootkit檢測(cè)結(jié)果的生成。所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,根據(jù)行為特征數(shù)據(jù)庫(kù)DB2中 定義的可疑行為進(jìn)行行為特征提取,行為特征數(shù)據(jù)庫(kù)DB2中的可疑行為采用語(yǔ)義模板的形 式進(jìn)行定義,將相同邏輯功能的行為定義為一個(gè)模板,根據(jù)語(yǔ)句之間的相關(guān)性對(duì)語(yǔ)句之間 賦予不同的關(guān)聯(lián)關(guān)系。所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,語(yǔ)義模板采用類似c語(yǔ)言的 表達(dá)式描述內(nèi)存和寄存器的操作結(jié)果,表達(dá)式中的參數(shù)分別為寄存器、內(nèi)存地址和立即數(shù), 行為的生成范式如下
BH — S (S)
S · S S & S S + S
S —εIα其中BH表示行為,《表示構(gòu)成行為的語(yǔ)句;ε表示空;關(guān)系符號(hào)解釋如下·表示順序 關(guān)系,&表示與關(guān)系,+表示或關(guān)系,()表示優(yōu)先級(jí);以上關(guān)聯(lián)關(guān)系描述行為的語(yǔ)句之間
的控制流相關(guān)性,關(guān)聯(lián)關(guān)系之間滿足一定的優(yōu)先級(jí)關(guān)系,即()>,>&>+。所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,在中間表示上,用抽象語(yǔ)法 樹的形式定義語(yǔ)句,語(yǔ)句的類型分為跳轉(zhuǎn)、調(diào)用、賦值指令三種類型,行為特征提取方法是 以在行為模板與中間表示之間建立綁定關(guān)系再進(jìn)行篩選的方式進(jìn)行提取,提取過(guò)程通過(guò)三 個(gè)篩選步驟來(lái)實(shí)現(xiàn)首先,對(duì)輸入的中間表示序列按照模板中語(yǔ)句類型、語(yǔ)句數(shù)目、語(yǔ)句之 間的聯(lián)系這三個(gè)條件進(jìn)行劃分,建立模板語(yǔ)句與中間表示語(yǔ)句之間的綁定關(guān)系,將不符合 條件的語(yǔ)句排除實(shí)現(xiàn)初步篩選;其次,對(duì)劃分后的每一個(gè)中間表示語(yǔ)句序列集合進(jìn)行變量 引用關(guān)系判斷,將不符合模板中對(duì)應(yīng)語(yǔ)句中變量引用關(guān)系的集合刪除,實(shí)現(xiàn)第二遍篩選;最 后,對(duì)剩余的中間表示集合中的變量的取值范圍與模板中對(duì)應(yīng)變量進(jìn)行匹配,將不滿足關(guān) 系的集合刪除,從而得到所滿足行為模板所定義的行為。所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,根據(jù)BIOS鏡像文件特征字 從數(shù)據(jù)庫(kù)DBl中讀取鏡像文件所屬的BIOS型號(hào)和鏡像文件的版本號(hào),利用數(shù)據(jù)庫(kù)DBl中 對(duì)該版本號(hào)的BIOS鏡像文件結(jié)構(gòu)特征的描述來(lái)指導(dǎo)對(duì)文件格式的解析,針對(duì)其鏡像文件 所使用的壓縮算法和結(jié)構(gòu)特征對(duì)提取出的壓縮模塊進(jìn)行解壓,獲取鏡像文件完整的結(jié)構(gòu)視 圖,實(shí)現(xiàn)初步的代碼和數(shù)據(jù)分離。所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,對(duì)提取出的可疑行為進(jìn)行分 析,BIOS固件具有一定的特殊性,不同的代碼模塊具有不同的邏輯功能,同一種行為在不同 的代碼模塊中具有的可疑程度不同,結(jié)合鏡像文件的結(jié)構(gòu)視圖和Rootkit模式進(jìn)行可疑度 判定,將提取的行為與步驟a中讀取的功能描述信息進(jìn)行比較,如果在某個(gè)模塊中提取的 行為恰好是該模塊正常情況下具有的邏輯功能,那么將該行為的可疑度設(shè)置為一個(gè)較低的 值,否則設(shè)置為一個(gè)較高的值,
所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,在步驟d中,依據(jù)數(shù)據(jù)庫(kù)DB3中存 儲(chǔ)的BIOS Rootkit模式對(duì)可疑行為進(jìn)行匹配,將可疑行為按照Rootkit模式進(jìn)行組合,通 過(guò)對(duì)組合后的Rootkit可疑程度的比較,匹配程度較高的模式作為識(shí)別檢測(cè)到的Rootkit 模式,在不同的模式中行為之間的聯(lián)系不同,因此行為所具有的權(quán)值也不同,DB3中組成該 Rootkit模式的各個(gè)行為權(quán)值進(jìn)行加權(quán),最后按照匹配程度最高的BIOS Rootkit模式作為 檢測(cè)到的BIOS Rootkit輸出,將每個(gè)行為的可疑度與行為的權(quán)值相乘求和作為Rootkit的 可疑程度提交給用戶。本發(fā)明的積極效果
1、本發(fā)明基于行為特征的BIOS固件Rootkit檢測(cè)方法,能夠有效的檢測(cè)出在BIOS中 植入的Rootkit,從固件層面保護(hù)計(jì)算機(jī)系統(tǒng)的安全,防范計(jì)算機(jī)系統(tǒng)安全攻擊事故的發(fā) 生。本發(fā)明針對(duì)BIOS固件中已知和未知的Rootkit進(jìn)行檢測(cè),能夠有效降低基于固件的惡 意代碼檢測(cè)的復(fù)雜性,避開已有檢測(cè)方法的一些固有的缺陷,具有一定的抵抗代碼混淆的 能力,從而提高檢測(cè)的適應(yīng)性和準(zhǔn)確性。
2、本發(fā)明基于行為特征的BIOS固件Rootkit檢測(cè)方法,為分析和檢測(cè)基于固件的 惡意代碼提供新的輔助工具和技術(shù)手段,能幫助計(jì)算機(jī)安全專家提高工作效率,進(jìn)一步提 升計(jì)算機(jī)固件安全防護(hù)類軟件的防護(hù)能力。3、本發(fā)明基于行為特征的BIOS固件Rootkit檢測(cè)方法,基于對(duì)BIOS進(jìn)行逆向反 編譯,通過(guò)語(yǔ)義的方法提取BIOS Rootkit可疑行為,對(duì)可疑行為進(jìn)行綜合裁決,給出被植入 Rootkit的可疑程度,避開了傳統(tǒng)固件安全檢測(cè)方法的弱點(diǎn)和缺陷,具有較好的通用性和可 擴(kuò)展性。


圖1為本發(fā)明基于行為特征的BIOS固件Rootlit檢測(cè)方法系統(tǒng)實(shí)現(xiàn)框架圖; 圖2為中斷向量重定向行為樹結(jié)構(gòu)示例圖。
具體實(shí)施例方式實(shí)施例一參見(jiàn)圖1,本發(fā)明基于行為特征的BIOS固件Rootkit檢測(cè)方法具體實(shí) 施過(guò)程如下
1、文件格式解析
文件格式解析首先從BIOS鏡像文件中提取出所屬的固件型號(hào)以及鏡像文件的版本號(hào) 字段,然后根據(jù)這些信息從數(shù)據(jù)庫(kù)DBl中讀取對(duì)應(yīng)的鏡像文件的結(jié)構(gòu)信息、模塊特征和具 體壓縮算法,根據(jù)這些信息進(jìn)行鏡像文件拆分。對(duì)于壓縮模塊進(jìn)行解壓縮,提取整個(gè)鏡像 文件的結(jié)構(gòu)視圖。對(duì)于關(guān)鍵的模塊,通過(guò)對(duì)BIOS規(guī)范和結(jié)構(gòu)特點(diǎn)分析,事先建立指導(dǎo)逆向 解析的信息和形式化的功能描述信息存儲(chǔ)與DBl中。通過(guò)特征字段識(shí)別出關(guān)鍵模塊,從數(shù) 據(jù)庫(kù)DBl中讀取出指導(dǎo)逆向的信息來(lái)輔助對(duì)二進(jìn)制模塊的逆向,功能描述信息用來(lái)輔助檢 測(cè)。2、二進(jìn)制文件逆向
對(duì)于從鏡像文件中分離出來(lái)的代碼片段,按照靜態(tài)控制流的方式進(jìn)行逆向,將代碼中 的指令映射到中間表示RTL,并提取出代碼片段的控制流圖。通過(guò)識(shí)別模式切換指令和特征 字來(lái)進(jìn)行模式識(shí)別和切換。在BIOS代碼中一些特殊的地址含義,這些特殊的地址通常是一 些BIOS Rootkit經(jīng)常操作的對(duì)象,在逆向過(guò)程中對(duì)指針的引用情況進(jìn)行標(biāo)記,供行為提取 模塊使用。3、行為提取
為了降低行為提取的復(fù)雜度,首先對(duì)中間表示進(jìn)行規(guī)范化處理。對(duì)于代碼片段的中間 表示進(jìn)行表達(dá)式的復(fù)制傳播,通過(guò)傳播表達(dá)式中變量使用的位置都替換成變量被定義時(shí)的 表達(dá)式。經(jīng)過(guò)傳播之后,簡(jiǎn)單操作的信息得到積累,刪除無(wú)用的表達(dá)式后,中間表示的規(guī)模 變小,其蘊(yùn)含的信息變得豐富。根據(jù)行為特征庫(kù)中定義的行為模板,對(duì)中間表示進(jìn)行篩選提 取行為。在行為提取時(shí),首先關(guān)注帶有標(biāo)記的指針引用語(yǔ)句,以加快行為提取速度。4、可疑度判定
在可疑度判定之前,對(duì)行為的可疑度進(jìn)行調(diào)整。以降低誤報(bào)率。用實(shí)際提取出的行為 所能實(shí)現(xiàn)的功能與從數(shù)據(jù)庫(kù)中讀取出來(lái)的對(duì)應(yīng)模塊的功能描述信息進(jìn)行比較,如果行為具 有的功能超過(guò)了數(shù)據(jù)庫(kù)中該模塊定義的功能范圍,那么對(duì)行為的可疑度不變,否則降低其可疑程度。按照Rootkit模式庫(kù)中定義的BIOS Rootkit模式,對(duì)提取的行為進(jìn)行組合。相 同的行為在不同的BIOS Rootkit模式中,完成的功能不同,因此對(duì)行為的可疑度的加權(quán)亦 不同。對(duì)組合的行為進(jìn)行模式匹配,按照匹配程度選擇匹配程度較高的模式作為最終檢測(cè) 到的BIOS Rootkit,將行為可疑度加權(quán)后的總和作為BIOS Rootkit的可疑度以及可能造成 的危害輸出給用戶。實(shí)施例二 參見(jiàn)圖1、圖2。本實(shí)施例基于行為特征的BIOS固件Rootkit檢測(cè)方 法,采用以下步驟對(duì)BIOS鏡像文件進(jìn)行Rootkit進(jìn)行檢測(cè)
a. 對(duì)待分析的BIOS 二進(jìn)制鏡像文件進(jìn)行解析,根據(jù)BIOS鏡像文件特征字 從數(shù)據(jù)庫(kù)DBl中讀取鏡像文件所屬的BIOS型號(hào)和鏡像文件的版本號(hào),針對(duì)其鏡像文件 所使用的壓縮算法和結(jié)構(gòu)特征對(duì)提取出的壓縮模塊進(jìn)行解壓。獲取鏡像文件完整的結(jié)構(gòu)視 圖,實(shí)現(xiàn)初步的代碼和數(shù)據(jù)分離。b.對(duì)提取出來(lái)的二進(jìn)制代碼模塊進(jìn)行逆向,將代碼片段中的指令語(yǔ)義等價(jià) 的映射到中間表示,構(gòu)建出程序的控制流圖CFG,標(biāo)記出指針的引用情況。c. 根據(jù)數(shù)據(jù)庫(kù)DB2中定義的可疑行為,進(jìn)行行為提取。數(shù)據(jù)庫(kù)DB2中的可
疑行為采用語(yǔ)義模板的形式進(jìn)行定義,在提取行為之前需要對(duì)中間表示進(jìn)行規(guī)范化處理。d.對(duì)提取出的可疑行為進(jìn)行分析,將可疑行為按照Rootkit模式進(jìn)行組合,
通過(guò)對(duì)組合后的Rootkit可疑程度的比較,判斷BIOS是否被植入Rootkit工作。BIOS 固件具有一定的特殊性,不同的代碼模塊具有不同的邏輯功能,同一種行為在不同的代碼 模塊中具有的可疑程度不同,結(jié)合鏡像文件的結(jié)構(gòu)視圖和Rootkit模式進(jìn)行可疑度判定, 生成判定結(jié)果。在步驟a中,雖然不同型號(hào)的BIOS固件其鏡像文件結(jié)構(gòu)存在差異,但是都遵循一 定的規(guī)范,具有模塊化結(jié)構(gòu)的特點(diǎn)。綜合不同型號(hào)的BIOS鏡像文件結(jié)構(gòu)特點(diǎn),建立一個(gè)通 用的抽象結(jié)構(gòu)框架。在DBl中存儲(chǔ)各種型號(hào)的BIOS固件的鏡像文件結(jié)構(gòu)特征,代碼入口點(diǎn) 位置、模塊長(zhǎng)度、壓縮算法和特征字段等。首先,進(jìn)行鏡像文件對(duì)應(yīng)BIOS固件型號(hào)和版本號(hào) 的確定,然后根據(jù)對(duì)應(yīng)的文件結(jié)構(gòu)特征進(jìn)行鏡像文件的模塊拆分,最后根據(jù)某些模塊的特 征碼進(jìn)行功能識(shí)別。在步驟b中,按靜態(tài)控制流的方式對(duì)代碼進(jìn)行逆向,采用RTURegister Transfer List)作為指令語(yǔ)義描述語(yǔ)言,將指令映射到中間表示結(jié)構(gòu),并提取出控制流圖CFG。在步驟c中,先對(duì)中間表示進(jìn)行簡(jiǎn)化,然后根據(jù)行為特征庫(kù)DB2中存儲(chǔ)的可疑BIOS Rootkit行為進(jìn)行行為提取??梢葿IOS Rootkit行為被定義為實(shí)現(xiàn)BIOS Rootkit所必須的一些操作。這些操 作具有一定的邏輯功能,用語(yǔ)義模板對(duì)其進(jìn)行描述。語(yǔ)義模板采用類似C語(yǔ)言的表達(dá)式來(lái)表示,表達(dá)式中的參數(shù)分別為寄存器、內(nèi)存 地址和立即數(shù)。行為的生成范式如下
BH — S (S)
S · S S & S其中BH表示行為,OE表示構(gòu)成行為的語(yǔ)句;ε表示空;關(guān)系符號(hào)解釋如下·表示順序 關(guān)系,兩端的子項(xiàng)順序不能互換位置,滿足左結(jié)合規(guī)則;滿足傳遞性質(zhì);&表示與關(guān)系,兩
端的子項(xiàng)可以整體互換位置,滿足左結(jié)合規(guī)則;滿足交換和傳遞性質(zhì);+表示或關(guān)系,兩端
的子項(xiàng)中選取其中一項(xiàng),滿足左結(jié)合規(guī)則;滿足交換和傳遞性質(zhì);()表示優(yōu)先級(jí)。以上關(guān)
聯(lián)關(guān)系描述行為的語(yǔ)句之間的控制流相關(guān)性,關(guān)聯(lián)關(guān)系之間滿足一定的優(yōu)先級(jí)關(guān)系,即()
>->&>+。Ot表示構(gòu)成行為的語(yǔ)句;ε表示空;在中間表示上,用抽象語(yǔ)法樹的形式定義語(yǔ)
句,語(yǔ)句的類型分為跳轉(zhuǎn)、調(diào)用、賦值指令三種類型。跳轉(zhuǎn)類型只有一個(gè)操作數(shù),表示目標(biāo)地 址,用一元表達(dá)式描述;調(diào)用類型將函數(shù)調(diào)用和中斷以及I/O等統(tǒng)一起來(lái),一般的函數(shù)調(diào)用 語(yǔ)句的操作數(shù)是目標(biāo)地址,中斷和I/O用抽象的函數(shù)來(lái)進(jìn)行解析;賦值類型使用二元表達(dá) 式表示,表達(dá)式左部表示目的地址,右部表示源地址。在程序中指令的操作數(shù)不同,其操作 的對(duì)象也不同,對(duì)應(yīng)于行為中的語(yǔ)句對(duì)表達(dá)式中變量的取值范圍加以約束,來(lái)具體刻畫行 為,在同一個(gè)行為中,不同語(yǔ)句中相同的變量滿足相同的約束條件。一個(gè)行為可以用一個(gè)樹結(jié)構(gòu)來(lái)表示,如圖2所示,表示向量號(hào)為(T0X2e之間的中 斷向量重定向行為。行為提取方法是采用在行為模板和中間表示中建立連接的形式進(jìn)行行為特征提 取,按照不同的約束條件進(jìn)行篩選,一個(gè)行為提取的三個(gè)篩選步驟可以用如下的三個(gè)函數(shù)
來(lái)表不。對(duì)于一個(gè)中間表示序列PIRia1, a2, ···, } STypesMatch :BH XPIR — TBL
TBL = {\aiy ..., a」}, {ak, ..., ar}, ..., {ax, ..., ay}} SParaMatch: BH XTBL — TBH TBH = {{ak, ...,ar},...,{ax, ...,ay}} SBoundMatch: BH XTBH — {{ax,…,ay},Φ}
其中,函數(shù)STypesMatch接收一個(gè)行為模板和一段中間表示,按照模板中語(yǔ)句的類型、 語(yǔ)句的數(shù)目以及語(yǔ)句之間的關(guān)系對(duì)中間表示進(jìn)行劃分,在行為的語(yǔ)句和中間表示之間建立 語(yǔ)句綁定。行為的語(yǔ)句之間的關(guān)聯(lián)關(guān)系使得它們之間的順序變得靈活,在一段中間表示上 滿足行為類型的劃分方法有多種,每一種劃分提取出來(lái)的中間表示都有可能是行為模板的 實(shí)例,一起構(gòu)成了候選行為實(shí)例集合TBL。函數(shù)SParaMatch接收行為模板和候選行為實(shí)例集合TBL,建立語(yǔ)句表達(dá)式的變量 之間的綁定關(guān)系,根據(jù)行為模板語(yǔ)句表達(dá)式中變量的引用關(guān)系進(jìn)行進(jìn)一步篩選。將不滿足 模板中語(yǔ)句表達(dá)式的變量引用關(guān)系的行為實(shí)例刪除,得到精簡(jiǎn)的行為候選集合ΤΒΗ。
9
函數(shù)SBoimdMatch接收行為模板和精簡(jiǎn)行為候選集合TBH,對(duì)變量進(jìn)行約束條件 匹配。對(duì)不滿足約束條件的候選行為刪除,如果精簡(jiǎn)行為候選集合為空,那么認(rèn)為沒(méi)有識(shí)別 出行為,如果非空則認(rèn)為識(shí)別出行為模板定義的行為。由于指令直接映射的中間表示結(jié)構(gòu)簡(jiǎn)單,這導(dǎo)致中間表示的規(guī)模較大,不利于行 為提取。在行為提取前期,對(duì)中間表示進(jìn)行規(guī)范化處理,縮減中間表示的規(guī)模。包括表達(dá) 式的復(fù)制傳播,對(duì)一些無(wú)用的表達(dá)式進(jìn)行清除。在步驟d中,依據(jù)數(shù)據(jù)庫(kù)DB3中存儲(chǔ)的BIOS Rootkit模式對(duì)可疑行為進(jìn)行匹配,匹 配程度進(jìn)行可疑性判決。在BIOS中,每一個(gè)模塊都有一定的邏輯功能,當(dāng)某一模塊被植入 Rootkit,那么Rootkit必然會(huì)使用以下兩種方式之一來(lái)實(shí)現(xiàn)惡意功能=Rootkit利用該模 塊中已有的操作來(lái)實(shí)現(xiàn),或者在該模塊中添加額外的功能來(lái)實(shí)現(xiàn)。有一部分Rootkit的行 為的邏輯功能與正常BIOS某些模塊的功能相同,通常完全利用BIOS模塊本身提供的功能, 在模塊中添加其它功能的情況較少。對(duì)所提取的行為所在的模塊進(jìn)行功能比對(duì),如果在某 個(gè)模塊中提取的行為恰好是該模塊正常情況下具有的邏輯功能,那么將該行為的可疑度設(shè) 置為0,否則根據(jù)庫(kù)中定義的值進(jìn)行設(shè)置。最后按照匹配程度最高的BIOS Rootkit模式作 為檢測(cè)到的BIOS Rootkit輸出,將行為的可疑度進(jìn)行加權(quán)求和即為可疑程度顯示給用戶。
10
權(quán)利要求
一種基于行為特征的BIOS固件Rootkit檢測(cè)方法,其特征是包括以下步驟步驟a,對(duì)待分析的二進(jìn)制BIOS鏡像文件進(jìn)行解析,識(shí)別BIOS模塊的特征字,根據(jù)特征字讀取數(shù)據(jù)庫(kù)中存儲(chǔ)的兩類信息,一類是模塊結(jié)構(gòu)信息,用于輔助逆向分析,另一類是對(duì)該模塊的邏輯功能的形式化描述信息,用于輔助檢測(cè);步驟b,對(duì)解析出的二進(jìn)制文件,按靜態(tài)控制流的方式對(duì)代碼進(jìn)行逆向分析,并進(jìn)行代碼間隙掃描,通過(guò)對(duì)代碼片段中的指令進(jìn)行語(yǔ)義等價(jià)的映射方式,將代碼片段映射到中間表示結(jié)構(gòu),構(gòu)建程序的控制流圖CFG;步驟c,先對(duì)中間表示進(jìn)行簡(jiǎn)化,然后根據(jù)行為特征庫(kù)DB2中存儲(chǔ)的可疑BIOS Rootkit行為進(jìn)行行為特征提取,根據(jù)行為特征庫(kù)中的行為模板提取候選行為集合,采用逐步篩選的方法實(shí)現(xiàn)可疑行為定位和行為特征提??;步驟d,進(jìn)行惡意行為可疑度判斷,輸出檢測(cè)結(jié)果,根據(jù)BIOS Rootkit模式庫(kù)DB3對(duì)所提取的可疑BIOS Rootkit行為進(jìn)行行為關(guān)聯(lián)性分析,將提取的行為進(jìn)行組合與模式庫(kù)中的BIOS Rootkit模式進(jìn)行匹配,匹配程度最高的模式作為檢測(cè)出的BIOS Rootkit實(shí)例,并按照各個(gè)行為在該模式中的比重賦予不同的權(quán)值,最后計(jì)算出可疑程度。
2.根據(jù)權(quán)利要求1所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,其特征在于 根據(jù)行為特征數(shù)據(jù)庫(kù)DB2中定義的可疑行為進(jìn)行行為特征提取,行為特征數(shù)據(jù)庫(kù)DB2中的 可疑行為采用語(yǔ)義模板的形式進(jìn)行定義,將相同邏輯功能的行為定義為一個(gè)模板,根據(jù)語(yǔ) 句之間的相關(guān)性對(duì)語(yǔ)句之間賦予不同的關(guān)聯(lián)關(guān)系。
3.根據(jù)權(quán)利要求2所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,其特征在于 語(yǔ)義模板采用表達(dá)式描述內(nèi)存和寄存器的操作結(jié)果,表達(dá)式中的變量分別為寄存器、內(nèi)存 地址和立即數(shù),行為的生成范式如下
4.根據(jù)權(quán)利要求3所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,其特征在于 在中間表示上,語(yǔ)句的類型分為跳轉(zhuǎn)、調(diào)用、賦值指令三種類型,用抽象語(yǔ)法樹的形式定義 語(yǔ)句,按照模板中語(yǔ)句類型、語(yǔ)句數(shù)量、語(yǔ)句之間的關(guān)聯(lián)關(guān)系對(duì)輸入的中間表示序列進(jìn)行劃 分,并建立中間表示語(yǔ)句和模板語(yǔ)句之間的綁定關(guān)系,通過(guò)這種綁定關(guān)系定位所識(shí)別的行 為在代碼中的位置。
5.根據(jù)權(quán)利要求1、2、3或4所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,其 特征在于采用在行為模板和中間表示中建立綁定關(guān)系并多次篩選的形式進(jìn)行行為特征提 取,根據(jù)行為模板的定義在中間表示上提取出語(yǔ)句的數(shù)目、類型匹配的中間表示作為候選行為;對(duì)候選行為進(jìn)行變量引用關(guān)系匹配和變量約束條件匹配,篩選出最終滿足行為模板 的行為。
6.根據(jù)權(quán)利要求5所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,其特征在于 根據(jù)BIOS鏡像文件特征字從數(shù)據(jù)庫(kù)DBl中讀取鏡像文件所屬的BIOS型號(hào)和鏡像文件的版 本號(hào),利用數(shù)據(jù)庫(kù)DBl中對(duì)該版本號(hào)的BIOS鏡像文件結(jié)構(gòu)信息來(lái)指導(dǎo)對(duì)鏡像文件中各個(gè)模 塊的解析和逆向,提取其中的壓縮模塊進(jìn)行解壓,獲取鏡像文件完整的結(jié)構(gòu)視圖,實(shí)現(xiàn)初步 的代碼和數(shù)據(jù)分離。
7.根據(jù)權(quán)利要求6所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,其特征在于 對(duì)提取出的可疑行為進(jìn)行分析,對(duì)所提取的行為與步驟a中提取的功能描述信息進(jìn)行比 對(duì),如果在某個(gè)模塊中提取的行為恰好是該模塊正常情況下具有的邏輯功能,那么將該行 為的可疑度設(shè)置為一個(gè)較低的值,否則設(shè)置一個(gè)較高的值,根據(jù)BIOS固件不同的代碼模塊 具有不同的邏輯功能,同一種行為在不同的代碼模塊中具有的可疑程度不同,對(duì)行為進(jìn)行 關(guān)聯(lián)性分析,結(jié)合鏡像文件的結(jié)構(gòu)視圖對(duì)Rootkit模式進(jìn)行可疑度裁決,以降低誤報(bào)率。
8.根據(jù)權(quán)利要求7所述的基于行為特征的BIOS固件Rootkit檢測(cè)方法,其特征在于 在步驟d中,依據(jù)數(shù)據(jù)庫(kù)DB3中存儲(chǔ)的BIOS Rootkit模式對(duì)可疑行為的組合進(jìn)行匹配,將 可疑行為按照Rootkit模式進(jìn)行組合,通過(guò)對(duì)組合后的Rootkit可疑程度的比較,匹配程度 較高的模式作為識(shí)別檢測(cè)到的Rootkit模式,在不同的模式中行為之間的聯(lián)系不同,行為 所具有的權(quán)值也不同,DB3中組成該Rootkit模式的各個(gè)行為權(quán)值進(jìn)行加權(quán)最后按照匹配 程度較高的BIOS Rootkit模式作為檢測(cè)到的BIOS Rootkit輸出,將行為的可疑度進(jìn)行加 權(quán)求和即為可疑程度顯示給用戶。
全文摘要
本發(fā)明涉及一種基于程序行為特征的針對(duì)計(jì)算機(jī)BIOS固件Rootkit的檢測(cè)方法,屬于計(jì)算機(jī)安全技術(shù)領(lǐng)域,主要用于應(yīng)對(duì)利用BIOS實(shí)現(xiàn)的攻擊和可能出現(xiàn)的BIOSRootkit。所述基于行為特征的BIOSRootkit檢測(cè)方法,包括步驟a,對(duì)待分析的二進(jìn)制BIOS鏡像文件進(jìn)行解析,步驟b,對(duì)解析出的二進(jìn)制文件,按靜態(tài)控制流的方式對(duì)代碼進(jìn)行逆向,將代碼片段中的指令語(yǔ)義等價(jià)的映射到中間表示,構(gòu)建程序的控制流圖CFG;步驟c,先對(duì)中間表示進(jìn)行簡(jiǎn)化,然后根據(jù)行為特征庫(kù)DB2中存儲(chǔ)的可疑BIOSRootkit行為進(jìn)行行為特征提取,根據(jù)行為特征庫(kù)中的行為模板提取候選行為集合,采用逐步篩選的方法提取行為特征;步驟d,進(jìn)行惡意行為可疑度判斷,輸出檢測(cè)結(jié)果。
文檔編號(hào)G06F21/00GK101976319SQ201010553088
公開日2011年2月16日 申請(qǐng)日期2010年11月22日 優(yōu)先權(quán)日2010年11月22日
發(fā)明者張平, 李清寶, 郭致昌 申請(qǐng)人:張平
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1