国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于函數(shù)注入的沙箱攔截識別方法

2016-10-14 01:32顏學(xué)雄王清賢
電子與信息學(xué)報 2016年7期
關(guān)鍵詞:沙箱自動機(jī)進(jìn)程

趙 旭 顏學(xué)雄 王清賢 魏 強

?

基于函數(shù)注入的沙箱攔截識別方法

趙 旭*顏學(xué)雄 王清賢 魏 強

(解放軍信息工程大學(xué) 鄭州 450002),(數(shù)學(xué)工程與先進(jìn)計算國家重點實驗室 鄭州 450002)

沙箱驗證機(jī)制的測試需要首先識別沙箱攔截,即識別沙箱截獲的系統(tǒng)函數(shù)集。已有的Hook識別方法大多僅關(guān)注鉤子的存在性,識別沙箱攔截的能力不足。該文設(shè)計了一種基于函數(shù)注入的沙箱攔截識別方法,該方法分析系統(tǒng)函數(shù)的指令執(zhí)行記錄(Trace)來識別沙箱截獲的系統(tǒng)函數(shù)。首先,向不可信進(jìn)程注入并執(zhí)行系統(tǒng)函數(shù)來獲取函數(shù)的執(zhí)行記錄;其次,根據(jù)沙箱截獲系統(tǒng)函數(shù)執(zhí)行記錄的特點,設(shè)計了地址空間有限狀態(tài)自動機(jī),并在自動機(jī)內(nèi)分析獲取的執(zhí)行記錄來判別沙箱截獲的系統(tǒng)函數(shù);最后,遍歷測試函數(shù)集來識別目標(biāo)沙箱截獲的系統(tǒng)函數(shù)集。該文設(shè)計實現(xiàn)了原型系統(tǒng)SIAnalyzer,并對Chromium和Adobe Reader進(jìn)行了沙箱攔截識別測試,測試結(jié)果驗證了方法的有效性和實用性。

沙箱攔截;系統(tǒng)函數(shù)集;鉤子;函數(shù)注入;自動機(jī)

1 引言

沙箱是隔離不可信程序(惡意程序或存在漏洞程序)的重要安全機(jī)制,其中,服務(wù)機(jī)制和驗證機(jī)制是沙箱的主要實現(xiàn)機(jī)制[1,2]。沙箱的服務(wù)機(jī)制向不可信程序提供服務(wù)接口來滿足其功能需要,該機(jī)制存在緩沖區(qū)溢出等缺陷會導(dǎo)致沙箱逃逸漏洞的產(chǎn)生,如CVE-2014-0512, CVE-2014-0546, CVE-2015- 2429;沙箱的驗證機(jī)制截獲不可信程序調(diào)用的系統(tǒng)函數(shù)并驗證其行為來保證系統(tǒng)安全,該驗證過程實現(xiàn)復(fù)雜且容易出現(xiàn)邏輯缺陷,也可能導(dǎo)致沙箱逃逸,比如,CVE-2011-1353, CVE-2013-0641, CVE-2013-3186。沙箱安全分析技術(shù)受到產(chǎn)業(yè)界和學(xué)術(shù)界重視,研究者分析了不同沙箱的實現(xiàn)機(jī)制并使用模糊測試技術(shù)[9,10]測試并發(fā)現(xiàn)沙箱的缺陷,比如,文獻(xiàn)[11-14]分別研究了Protect Mode IE, Chrome等沙箱的實現(xiàn)機(jī)制,文獻(xiàn)[15,16]設(shè)計了COMEye等模糊測試工具測試沙箱的缺陷。已有的沙箱測試研究多集中在沙箱的服務(wù)機(jī)制方面,而針對沙箱驗證機(jī)制的測試方法方面的研究不多。

截獲不可信程序調(diào)用的系統(tǒng)函數(shù)是沙箱驗證機(jī)制的首要步驟,因此,沙箱驗證機(jī)制的測試需要首先識別沙箱攔截,即沙箱截獲的系統(tǒng)函數(shù)集。已有的沙箱攔截識別方法分析特定沙箱的實現(xiàn)細(xì)節(jié)來識別沙箱攔截,比如,文獻(xiàn)[17]使用IDA分析并識別了Adobe Reader X的沙箱攔截。但由于不同沙箱截獲的系統(tǒng)函數(shù)不同,并且不同沙箱的沙箱攔截實現(xiàn)技術(shù)也存在差異,因此,已有的沙箱攔截識別方法無法滿足高效、自動的沙箱攔截識別的需求。Hook技術(shù)是沙箱攔截的主要實現(xiàn)技術(shù),已有的Hook識別方法關(guān)注鉤子的植入機(jī)制,缺乏對鉤取的系統(tǒng)函數(shù)的識別,無法滿足系統(tǒng)函數(shù)識別的要求,比如,文獻(xiàn)[18,19]使用程序切片分析等技術(shù)識別Rootkit在系統(tǒng)中植入的鉤子。Hook識別工具只能識別部分類型的鉤子及其截獲的系統(tǒng)函數(shù),無法完全識別沙箱截獲的系統(tǒng)函數(shù)集,比如,文獻(xiàn)[20,21]設(shè)計的工具只能識別系統(tǒng)服務(wù)描述表(SSDT)、輸入/輸出地址表(IAT&IDT)中存在的鉤子,HookShark[22]能夠識別Inline和VTable兩種類型的鉤子,但無法識別Inline類鉤子截獲的系統(tǒng)函數(shù)。

通過對不可信進(jìn)程(不可信程序的運行時進(jìn)程)在沙箱內(nèi)調(diào)用系統(tǒng)函數(shù)的流程的分析研究,本文發(fā)現(xiàn):

(1)雖然沙箱使用不同的Hook技術(shù)截獲不可信進(jìn)程調(diào)用的系統(tǒng)函數(shù),但都會將控制流重定向到沙箱的驗證代碼,而該過程會體現(xiàn)在該進(jìn)程的指令執(zhí)行記錄(Trace)中;

(2)操作系統(tǒng)提供大量的系統(tǒng)函數(shù),如果在沙箱內(nèi)分別運行每個函數(shù)的測試程序來獲取執(zhí)行記錄會耗費大量資源。而在沙箱內(nèi)運行的不可信進(jìn)程中注入并執(zhí)行待識別的系統(tǒng)函數(shù),則可以快速、準(zhǔn)確地生成用于沙箱攔截識別的執(zhí)行記錄。

基于以上觀察,本文設(shè)計了一種基于函數(shù)注入的沙箱攔截識別方法,方法包括兩個子方法:(1)基于函數(shù)注入的執(zhí)行記錄生成方法,該方法選擇不可信進(jìn)程的NOP,HLT等指令填充的內(nèi)存區(qū)域并注入待識別的函數(shù),進(jìn)一步控制不可信進(jìn)程執(zhí)行該函數(shù)來獲取執(zhí)行記錄;(2)基于執(zhí)行記錄的沙箱截獲系統(tǒng)函數(shù)分析方法,首先,方法建立描述指令地址空間轉(zhuǎn)換的有限狀態(tài)自動機(jī)模型,其次,以執(zhí)行記錄的指令作為自動機(jī)輸入,通過自動機(jī)的狀態(tài)和狀態(tài)轉(zhuǎn)換指令的位置來判斷沙箱的系統(tǒng)函數(shù)截獲行為及識別沙箱截獲的系統(tǒng)函數(shù)。

論文的組織結(jié)構(gòu)如下:第2節(jié)介紹基于函數(shù)注入的執(zhí)行記錄生成方法的工作原理;第3節(jié)介紹基于執(zhí)行記錄的沙箱截獲函數(shù)的分析方法;第4節(jié)首先介紹了原型系統(tǒng)—SIAnalyzer的結(jié)構(gòu)及主要實現(xiàn)問題的解決方法,其次,介紹了方法性能的分析方法和實驗結(jié)果;第5節(jié)總結(jié)了本文的主要工作并指出進(jìn)一步研究方向。

2 基于函數(shù)注入的執(zhí)行記錄生成方法

基于函數(shù)注入的執(zhí)行記錄生成方法在不可信進(jìn)程的內(nèi)存中注入測試的系統(tǒng)函數(shù),并控制該進(jìn)程執(zhí)行注入的函數(shù)來生成用于沙箱攔截識別的執(zhí)行記錄(圖1)。為了更好地描述基于函數(shù)注入的執(zhí)行記錄生成方法,下面給出4個定義:

定義1 記地址空間表示不可信進(jìn)程內(nèi)存中來源不同的可執(zhí)行代碼所占用的內(nèi)存區(qū)域。

為了便于沙箱攔截識別,本文將不可信進(jìn)程的內(nèi)存劃分為:不可信進(jìn)程地址空間(PC)、系統(tǒng)地址空間(OS)和沙箱地址空間(SC) 3部分。

定義2 記執(zhí)行記錄表示不可信進(jìn)程在沙箱內(nèi)調(diào)用系統(tǒng)函數(shù)所執(zhí)行的指令。

Windows系統(tǒng)內(nèi),由于NOP, HLT被大量用于填充程序的代碼段來保證指令對齊,因此,為了不破壞不可信程序的功能代碼,本文在Windows系統(tǒng)中選擇NOP, HLT填充的區(qū)域為。

圖1 基于函數(shù)注入的執(zhí)行記錄生成示意圖

基于函數(shù)注入的執(zhí)行記錄生成算法的主要步驟如表1所示,包括函數(shù)注入、函數(shù)執(zhí)行和執(zhí)行記錄獲取3個步驟。在函數(shù)注入步驟中,如果存在長度大于注入函數(shù)所需的內(nèi)存空間的,直接在該注入,否則,算法選擇多個注入。

表1 執(zhí)行記錄(trace)生成算法

本文方法在注入函數(shù)時采用貪婪策略,即在中盡可能多地注入測試函數(shù)的相關(guān)指令,假設(shè)篩選的大小都是19B,那么注入結(jié)果如圖2所示,其中,,和分別注入CreateFileW的5個,2個和1個指令。

圖2 CreateFileW注入示意圖

3 基于執(zhí)行記錄的沙箱截獲函數(shù)分析方法

基于執(zhí)行記錄的沙箱截獲函數(shù)分析方法將地址空間映射為有限狀態(tài)自動機(jī)的不同狀態(tài),并將不同類型的指令作為自動機(jī)輸入,通過在自動機(jī)內(nèi)分析執(zhí)行記錄來識別沙箱截獲的系統(tǒng)函數(shù)。該方法包括:(1)沙箱截獲行為的識別,該識別過程分析系統(tǒng)函數(shù)執(zhí)行記錄的狀態(tài)轉(zhuǎn)換來判斷是否存在截獲系統(tǒng)函數(shù)的行為;(2)沙箱截獲系統(tǒng)函數(shù)的識別,該識別過程根據(jù)實現(xiàn)地址空間狀態(tài)轉(zhuǎn)換指令的語義和位置信息來判定沙箱截獲的系統(tǒng)函數(shù)。

圖3 狀態(tài)轉(zhuǎn)換函數(shù)示意圖

表2 中元素的類型

表2 中元素的類型

指令類型saddrtaddr指令類型saddrtaddr aPCPCfSCOS bPCOSgOSPC cOSOShPCSC dOSSCiSCPC eSCSC

3.1 沙箱截獲行為的識別

識別沙箱截獲的系統(tǒng)函數(shù)需要首先判斷是否存在沙箱截獲行為,因此,本文分析了不可信進(jìn)程調(diào)用系統(tǒng)函數(shù)時,執(zhí)行記錄地址空間自動機(jī)狀態(tài)的轉(zhuǎn)換情況。如圖4所示,其中,圖4(a)表示函數(shù)未被沙箱截獲,執(zhí)行記錄的指令只屬于程序地址空間和系統(tǒng)地址空間;圖4(b)和圖4 (c)表示沙箱在系統(tǒng)地址空間實現(xiàn)系統(tǒng)函數(shù)截獲的自動機(jī)狀態(tài)轉(zhuǎn)換情況;圖4(d)和圖4(e) 表示沙箱在不可信進(jìn)程地址空間實現(xiàn)系統(tǒng)函數(shù)截獲的自動機(jī)狀態(tài)轉(zhuǎn)換情況。

圖4 執(zhí)行記錄地址空間轉(zhuǎn)換示意圖

3.2 沙箱截獲的系統(tǒng)函數(shù)識別

圖5 沙箱截獲函數(shù)識別誤報成因示意圖

沙箱截獲系統(tǒng)函數(shù)的識別包括兩個步驟:(1)識別系統(tǒng)函數(shù)的執(zhí)行記錄中所有調(diào)用指令()和返回指令(),并根據(jù)關(guān)系將其組織成; (2)選擇距離,類指令最近的對應(yīng)的系統(tǒng)函數(shù)為識別的沙箱截獲的系統(tǒng)函數(shù)。本文方法使用式(2)選擇包含,類指令的最小,其中,式(2)的前兩個子式保證包含,類指令,式(2)的第3個子式選擇距離,指令最近的對應(yīng)的系統(tǒng)函數(shù)為沙箱截獲的系統(tǒng)函數(shù)。

4 原型系統(tǒng)和實驗驗證

為了測試方法的有效性和性能,本文在全系統(tǒng)模擬器QEMU[23]上構(gòu)建了原型系統(tǒng)SIAnalyzer。首先,本文選擇開源的Chromium沙箱作為測試對象,驗證SIAnalyzer的沙箱攔截識別能力,即驗證方法的有效性;其次,本文記錄了SIAnalyzer生成執(zhí)行記錄的數(shù)量、時間,并分析了SIAnalyzer的效率;最后,本文選擇Adobe Reader X(10.0.1)來測試SIAnalyzer對閉源沙箱的沙箱攔截識別能力,即驗證本文方法的實用性。

4.1 SIAnalyzer的設(shè)計與實現(xiàn)

SIAnalyzer包括內(nèi)存監(jiān)控器、函數(shù)注入器、執(zhí)行記錄記錄器和攔截分析器4個主要部分(圖6)。內(nèi)存監(jiān)控器監(jiān)控和記錄不可信進(jìn)程的內(nèi)存信息,同時,搜索不可信進(jìn)程的代碼空間并標(biāo)記函數(shù)可注入的內(nèi)存地址;函數(shù)注入器從測試函數(shù)庫中選擇用于測試的系統(tǒng)函數(shù),進(jìn)一步在內(nèi)存監(jiān)控器提供的可注入地址注入測試的系統(tǒng)函數(shù);執(zhí)行記錄記錄器獲取系統(tǒng)函數(shù)的調(diào)用執(zhí)行記錄,將執(zhí)行記錄轉(zhuǎn)換為便于沙箱攔截識別的中間表示并存入執(zhí)行記錄庫;攔截分析器獲取執(zhí)行記錄庫中的執(zhí)行記錄中間表示,并在地址空間的有限狀態(tài)自動機(jī)內(nèi)分析識別沙箱截獲的系統(tǒng)函數(shù)。

圖6 SIAnalyzer結(jié)構(gòu)示意圖

本文在實現(xiàn)SIAnalyzer時,處理了測試系統(tǒng)函數(shù)集構(gòu)造、函數(shù)注入時機(jī)選擇等4個關(guān)鍵問題:

(1)測試系統(tǒng)函數(shù)集的構(gòu)造: 測試系統(tǒng)函數(shù)集由基礎(chǔ)函數(shù)集和增量函數(shù)集兩部分組成,其中,基礎(chǔ)函數(shù)集包括操作系統(tǒng)提供的進(jìn)程、文件、注冊表、網(wǎng)絡(luò)以及安全相關(guān)的系統(tǒng)函數(shù);增量函數(shù)集包括沙箱功能對應(yīng)的系統(tǒng)函數(shù)。

(2)函數(shù)注入時機(jī)選擇: 注入測試系統(tǒng)函數(shù)必須在沙箱攔截部署完成后,才能獲取適用于分析的執(zhí)行記錄,因此,SIAnalyzer需要識別沙箱攔截部署是否完成,而該識別過程需要監(jiān)控沙箱行為,耗費資源巨大并且不同沙箱的攔截部署存在差異,存在大量誤報。本文分析了不可信進(jìn)程的初始化和執(zhí)行步驟,發(fā)現(xiàn)一旦不可信進(jìn)程執(zhí)行,則說明該沙箱已經(jīng)結(jié)束攔截部署,因此,SIAnalyzer從不可信進(jìn)程的角度選擇函數(shù)注入時機(jī),首先,SIAnalyzer標(biāo)記不可信進(jìn)程的入口函數(shù),其次,監(jiān)視該入口函數(shù)的指令是否執(zhí)行,如果該函數(shù)的指令被執(zhí)行,則說明沙箱攔截部署完成,此時,SIAnalyzer控制不可信進(jìn)程并注入測試的系統(tǒng)函數(shù)。

(3)內(nèi)存監(jiān)控:為了能夠準(zhǔn)確標(biāo)記各類內(nèi)存空間和搜索可用于測試函數(shù)注入的內(nèi)存地址,內(nèi)存監(jiān)控器監(jiān)控系統(tǒng)提供的內(nèi)存申請、釋放函數(shù),并通過這些函數(shù)的參數(shù)標(biāo)記各類內(nèi)存空間,比如,memcpy, free, MapViewOfFile和UnmapViewOfFile等函數(shù)。

(4)執(zhí)行記錄轉(zhuǎn)換規(guī)則:為了提高沙箱攔截識別的效率,SIAnalyzer在執(zhí)行記錄獲取的基礎(chǔ)上,將執(zhí)行記錄的指令轉(zhuǎn)換為便于攔截分析的中間表示。指令的中間表示轉(zhuǎn)換規(guī)則將系統(tǒng)指令劃分為轉(zhuǎn)移指令(TI)和非轉(zhuǎn)移指令(NTI)兩類,系統(tǒng)指令的具體轉(zhuǎn)換規(guī)則如表3所示。

表3 指令轉(zhuǎn)換規(guī)則

4.2 實驗驗證

本文將SIAnalyzer部署在3.4 GHz i3處理器和4 GB RAM的Linux機(jī)器上,并選擇32位的Windows XP Sp3系統(tǒng)作為測試系統(tǒng),即在本文的實驗驗證過程中,式(1a)和式(1b)的DJMP.sz, max(Inst.sz) 取值分別為5和14。

4.2.1方法的有效性分析 Chromium沙箱是主流的開源沙箱產(chǎn)品,Chromium沙箱默認(rèn)截獲的系統(tǒng)函數(shù)共20個,主要包括操作文件、命名管道等7類函數(shù)。本文選擇Chromium沙箱作為測試沙箱,同時,選擇HookShark來對比分析本文方法的性能,即沙箱攔截識別能力。

測試的主要步驟如下:(1)修改Chromium的AddRule函數(shù)的參數(shù)來控制沙箱截獲不同的系統(tǒng)函數(shù);(2)使用SIAnalyzer和HookShark分別識別沙箱截獲的系統(tǒng)函數(shù),實驗結(jié)果如表4所示。

表4 SIAnalyzer與HookShark的沙箱攔截識別能力對比

實驗結(jié)果顯示,SIAnalyzer能夠識別Chromium攔截的所有函數(shù),而HookShark無法識別代碼Hook方式截獲的函數(shù)。這是因為Chromium的代碼Hook修改函數(shù)指令來截獲系統(tǒng)函數(shù),HookShark可以識別函數(shù)被修改的指令,但無法判定沙箱截獲的系統(tǒng)函數(shù),而SIAnalyzer以執(zhí)行記錄作為攔截分析的載體,不論沙箱采用何種Hook技術(shù),執(zhí)行的指令都會記錄在執(zhí)行記錄中,因此,SIAnalyzer的攔截識別能力不受沙箱使用的具體Hook技術(shù)影響。

4.2.2方法的效率分析 執(zhí)行記錄是攔截分析的基礎(chǔ),因此,本文方法的效率分析主要關(guān)注生成執(zhí)行記錄的規(guī)模,生成執(zhí)行記錄的時間以及執(zhí)行記錄的利用效率。不失一般性,本文選擇Windows Xp Sp3的兩個核心庫NTDLL和KERNEL32的導(dǎo)出函數(shù)作為測試函數(shù)集,其中,NTDLL和KERNEL32分別導(dǎo)出1317個和955個系統(tǒng)函數(shù)。

方法效率分析的步驟如下:(1)修改Chromium沙箱源碼,在Chromium沙箱內(nèi)分別增加實現(xiàn)測試函數(shù)截獲相關(guān)的dispatcher.cc, interception.cc和policy.cc;(2)在Chromium默認(rèn)攔截的基礎(chǔ)上,使用AddRule函數(shù)增加Chromium沙箱截獲的系統(tǒng)函數(shù),并重新編譯Chromium沙箱源碼;(3)使用SIAnalyzer測試重新編譯的Chromium沙箱,并在Chromium沙箱截獲系統(tǒng)函數(shù)數(shù)量不同的情況下,統(tǒng)計SIAnalyzer生成執(zhí)行記錄的數(shù)量、規(guī)模和時間。

本文方法效率分析的結(jié)果如圖7所示,其中,圖7(a)是執(zhí)行記錄的規(guī)模、時間與測試函數(shù)數(shù)量之間的關(guān)系圖,實驗結(jié)果顯示,方法生成執(zhí)行記錄的規(guī)模和耗費的時間都隨沙箱截獲系統(tǒng)函數(shù)數(shù)量的增加而增加,但由于存在系統(tǒng)函數(shù)間的相互調(diào)用,隨著沙箱截獲函數(shù)的增加,方法能夠從單條執(zhí)行記錄中識別多個不同的被截獲系統(tǒng)函數(shù),因此,隨著沙箱截獲函數(shù)的增加,本文方法生成執(zhí)行記錄的規(guī)模和時間開銷的增長速度變緩。

圖7 SIAnalyzer效率分析圖

進(jìn)一步,本文分析了方法生成執(zhí)行記錄的數(shù)量與沙箱截獲函數(shù)數(shù)量的關(guān)系。本文定義了沙箱攔截的識別率來分析執(zhí)行記錄數(shù)量與沙箱截獲函數(shù)數(shù)量之間的關(guān)系:

其中,F(xiàn)uncNum表示沙箱截獲的系統(tǒng)函數(shù)數(shù)量,TraceNum表示用于識別沙箱截獲函數(shù)的執(zhí)行記錄數(shù)量。

圖7(b)是執(zhí)行記錄數(shù)量,IRatio與函數(shù)數(shù)量之間的關(guān)系圖,分析結(jié)果顯示,執(zhí)行記錄數(shù)量隨著沙箱截獲系統(tǒng)函數(shù)數(shù)量的增加而增加;而IRatio卻是先增長后減小,這是由于在沙箱截獲的系統(tǒng)函數(shù)數(shù)量屬于時,單條執(zhí)行記錄能夠識別的系統(tǒng)函數(shù)數(shù)量隨之增加,即IRatio增長,當(dāng)沙箱截獲的系統(tǒng)函數(shù)數(shù)量屬于時,部分截獲的函數(shù)已被SIAnalyzer在前期實驗中識別,即IRatio下降。

4.2.3Adobe Reader沙箱的攔截分析 本文選擇文獻(xiàn)[17]測試的版本號為10.0.1的Adobe Reader X閉源沙箱來驗證方法的實用性。Adobe Reader X的pdf解析進(jìn)程是該沙箱的不可信進(jìn)程,因此,SIAnalyzer選擇該進(jìn)程注入測試函數(shù)。實驗結(jié)果顯示,SIAnalyzer具有與文獻(xiàn)[17]方法相同的沙箱攔截識別能力,即能夠識別該版本Adobe Reader X沙箱截獲的系統(tǒng)函數(shù),共193個函數(shù),如表5所示;同時,SIAnalyzer自動化程度更高,且不需要研究人員具有沙箱的先驗知識。

表5 SIAnalyzer識別Adobe Reader沙箱攔截統(tǒng)計表

5 結(jié)束語

本文設(shè)計了一種基于函數(shù)注入的沙箱攔截識別方法,該方法首先在不可信進(jìn)程中注入并執(zhí)行系統(tǒng)函數(shù)來獲取用于分析的執(zhí)行記錄,其次,引入地址空間的有限狀態(tài)自動機(jī),通過自動機(jī)的狀態(tài)轉(zhuǎn)換來識別沙箱的截獲行為,并分析狀態(tài)轉(zhuǎn)換指令的信息來識別沙箱攔截的系統(tǒng)函數(shù);再次,設(shè)計實現(xiàn)了原型系統(tǒng)SIAnalyzer;最后,以Chromium沙箱和Adobe Reader X沙箱作為測試沙箱,測試了本文方法的有效性和實用性,同時,分析了本文方法的效率,實驗結(jié)果顯示,與已有的沙箱攔截識別方法相比,本文方法具有相同沙箱攔截識別能力的同時,自動化程度和執(zhí)行效率更高。

在沙箱攔截識別的基礎(chǔ)上,研究沙箱驗證機(jī)制的測試技術(shù)并發(fā)現(xiàn)沙箱驗證機(jī)制存在的缺陷是進(jìn)一步研究的主要方向。

[1] YEE B, SEHR D, DARDYK G,. Native client: A sandbox for portable, untrusted x86 native code[C]. 2009 IEEE Symposium on Security and Privacy, Oakland, USA, 2009: 79-93.

[2] MAASS M, SALES A, CHUNG B,. A systematic analysis of the science of sandboxing[J]., 2016, 2: e43. doi:10.7717/peerj-cs.43.

[3] CVE-2014-0512[OL]. https://web.nvd.nist.gov/view/vuln /detail?vulnId=CVE-2014-0512, 2014.

[4] CVE-2014-0546[OL]. https://web.nvd.nist.gov/view/vuln/ detail?vulnId=CVE-2014-0546, 2014.

[5] CVE-2015-2429[OL]. https://web.nvd.nist.gov/view/vuln/ detail?vulnId=CVE-2015-2429, 2015.

[6] CVE-2011-1353[OL], https://web.nvd.nist.gov/view/vuln/ detail?vulnId=CVE-2011-1353, 2011.

[7] CVE-2013-0641[OL]. https://web.nvd.nist.gov/view/vuln/ detail?vulnId=CVE-2013-0641, 2013.

[8] CVE-2013-3186[OL]. https://web.nvd.nist.gov/view/vuln/ detail?vulnId=CVE-2013-3186, 2013.

[9] 崔寶江, 梁曉兵, 王禹, 等. 基于回溯和引導(dǎo)的關(guān)鍵代碼區(qū)域覆蓋的二進(jìn)制程序測試技術(shù)研究[J].電子與信息學(xué)報, 2012, 34(1): 108-114. doi: 10.3724/SP.J.1146.2011.00532.

CUI B J, LIANG X B, WANG Y,. The study of binary program test techniques based on backtracking and leading for covering key code area[J].&, 2012, 34(1): 108-114. doi: 10.3724/SP.J.1146.2011.00532.

[10] 歐陽永基, 魏強, 王清賢, 等. 基于異常分布導(dǎo)向的智能Fuzzing方法[J].電子與信息學(xué)報, 2015, 37(1): 143-149. doi: 10.11999/JEIT140262.

OUYANG Y J, WEI Q, WANG Q X,. Intelligent fuzzing based on exception distribution steering[J].&, 2015, 37(1): 143-149. doi: 10.11999/JEIT140262.

[11] SABABAL P and MARK V Y. Playing in the reader X sandbox[C]. Black Hat USA 2011, Las Vegas, USA 2011. https://media.blackhat.com/bh-us-11/Sabanal/BH_US_11_SabanalYason_Readerx_WP.pdf.

[12] MARK V Y. Understanding the attack surface and attack resilience of project spartans new edgeHtml rendering engine[C]. Black Hat USA 2015, Las Vegas, USA, 2015. https: //www. blackhat. com/ docs/ us-15/materials/us-15-Yason- Understanding-The-Attack-Surface-And-Attack-Resilience-Of-Project-Spartans-New-EdgeHTML-Rendering-Engine-wp.pdf.

[13] JAMES F. Digging for sandbox escapes-finding sandbox breakouts in Internet explorer[C]. Black Hat USA 2014, Las Vegas, USA, 2014. https://www.blackhat.com/docs/ us-14/ materials/us-14-Forshaw-Digging-For_IE11-Sandbox-Escapes. pdf.

[14] KOH Y C. Understanding the microsoft office 2013 protected-view sandbox[C]. Recon, Montreal, Canada, 2015. http://recon.cx/2015/slides/recon 2015-16-yong-chuan-koh- Understaning-the-Microsoft-Office-Protected-View-Sandbox.pdf.

[15] LI X N and LI H F. Smart COM fuzzing-auditing IE sandbox bypass in COM objects[C]. CanSecWest Vancouver 2015, Vancouver, Canada, 2015. https://cansecwest.com/ slides/ 2015/Smart_COM_Fuzzing_Auditing_IE_Sandbox_Bypass_in_COM_Objects-Xiaoning_li.pdf.

[16] BRIAN G and JASIEL S. Thinking outside the sandbox: Violating trust boundaries in uncommon ways[C]. Black Hat USA 2014, Las Vegas, USA, 2014. https: //www. blackhat. com/docs/us-14/materials/us-14-Gorenc-Thinking-Outside-The-Sandbox-Violating-Trust-Boundaries-In-Uncommon- Ways-WP.pdf.

[17] LIU Z H and GUILAUME L. Breeding Sandworms: How to fuzz your way out of Adobe Reader’s Sandbox[C]. Black Hat EUROPE 2012, Amsterdam, Netherlands, 2012. https:// media.blackhat.com/bh-eu-12/Liu_Lovet/bh-eu-12-Liu_Lovet-Sandworms-Slides.pdf.

[18] Wang Z, JIANG X, CUI W,. Countering persistent kernel rootkits through systematic hook discovery[C]. Recent Advances in Intrusion Detection 2008, Cambridge, England, 2008: 21-38.

[19] YIN H, POOSANKAM P, HANNA S,. HookScout: proactive binary-centric hook detection[C]. 7th Detection of Intrusions and Malware, and Vulnerability Assessment, Bonn, Germany, 2010: 1-20.

[20] BUTLER J and GREG H. VICE–catch the hookers[C]. Black Hat USA 2004, Las Vegas, USA, 2004. http:// 120.52. 72.44/www.blackhat.com/c3pr90ntcsf0/presentations/bh-usa-04/bh-us-04-butler/bh-us-04-butler.pdf.

[21] JOANNA R. System Virginity verifier-defining the roadmap for malware detection on windows system[C]. Hack In The Box 2005, Kuala, 2005. http://www.cs.dartmouth.edu/ ~sergey/cs258/rootkits/hitb05_virginity_verifier.ppt.

[22] HookShark[OL]. http://www.gamedeception.net/threads/ 20596-HookShark-Beta-0-9-highlight=hookshark, 2010.

[23] BELLARD F. QEMU, a fast and portable dynamic translator[C]. Proc. USENIX Annual Technical Conference, Marroitt Anaheim, USA, 2005: 41-46.

Sandbox-interception Recognition Method Based on Function Injection

ZHAO Xu YAN Xuexiong WANG Qingxian WEI Qiang

(,450002,),(,450002,)

Testing sandbox authentication mechanism needs to recognize the sandbox interception first,.. to recognize the intercepted system function sets by the sandbox. Existing Hook recognition methods and tools mainly focus on the existence of the hook, lacking the ability of recognizing sandbox interception. This study proposes a sandbox interception recognition method based on function injection. The method recognizes the sandbox intercepts testing functions by analyzing the trace of system functions. First, the method injects and executes the system functions in untrusted process to record the function trace. Then, according to the features of intercepted system function trace, the paper designs the address space finite state automata and identifies intercepted system functions by analyzing the trace. Next, the function sets are traversed to identify the intercepted system function sets by target sandbox. Finally, a prototype is implemented—SIAnalyzer, and tested with Chromium Sandbox and Adobe Reader Sandbox. Results show the method proposed is effective and practical.

Sandbox interception; System functionset; Hook; Function injection; Automata

TP311.1

A

1009-5896(2016)07-1823-08

10.11999/JEIT151074

2015-09-21;改回日期:2016-03-03;網(wǎng)絡(luò)出版:2016-04-07

趙旭 zhx0117@sina.cn

國家863計劃項目(2012AA012902)

The National 863 Program of China (2012AA012902)

趙 旭: 男,1986年生,博士生,研究方向為二進(jìn)制程序漏洞挖掘、Web安全.

顏學(xué)雄: 男,1975年生,副教授,研究方向為二進(jìn)制程序分析、Web安全.

王清賢: 男,1960年生,教授,研究方向為網(wǎng)絡(luò)空間安全.

魏 強: 男,1979年生,副教授,研究方向為程序分析、漏洞挖掘.

猜你喜歡
沙箱自動機(jī)進(jìn)程
幾類帶空轉(zhuǎn)移的n元偽加權(quán)自動機(jī)的關(guān)系*
{1,3,5}-{1,4,5}問題與鄰居自動機(jī)
債券市場對外開放的進(jìn)程與展望
改革開放進(jìn)程中的國際收支統(tǒng)計
一種基于模糊細(xì)胞自動機(jī)的新型疏散模型
一種基于模糊細(xì)胞自動機(jī)的新型疏散模型
Removing a stone
巧用沙箱檢測文件安全
廣義標(biāo)準(zhǔn)自動機(jī)及其商自動機(jī)
文件檢測方法及沙箱