• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    抵御控制流分析的程序混淆算法

    2020-11-17 06:56:00樂德廣龔聲蓉
    計算機工程與設(shè)計 2020年11期
    關(guān)鍵詞:基本塊程序控制控制流

    樂德廣,趙 杰,龔聲蓉

    (1.常熟理工學(xué)院 計算機科學(xué)與工程學(xué)院,江蘇 常熟 215500; 2.蘇州同程網(wǎng)絡(luò)科技股份有限公司,江蘇 蘇州 215123)

    0 引 言

    為提高程序清晰度和執(zhí)行效率,程序員們大量使用如if-then-else、switch-case等分支語句,或while、do -while、for等循環(huán)語句編寫程序[1]。由于這些編程語句具有結(jié)構(gòu)化特點,因此程序的控制流是可歸約的,可以通過控制流分析將程序反編譯成高級語言。近年來,程序控制流分析成為軟件分析的研究熱點,許多學(xué)者提出了基于符號執(zhí)行、程序切片和形式化推理等的程序控制流分析技術(shù)[2],大大提升了程序控制流的完整性和準(zhǔn)確性。利用控制流分析技術(shù)可以有效地分析程序結(jié)構(gòu)和行為,給程序安全帶來巨大的威脅。為保護(hù)程序,許多學(xué)者和研究機構(gòu)對此進(jìn)行了大量研究,提出了控制流完整性防護(hù)[3]、控制流異常檢測[4]和控制流混淆等各種程序安全保護(hù)方法[5]。其中,控制流混淆常用的策略有計算混淆、次序混淆和聚合混淆[6]。例如,在計算混淆中,插入非透明謂詞,增加程序中的條件判斷表達(dá)式,以此來隱藏真實的程序控制流信息[7]。在次序混淆中,通過控制流平展化打破控制流中結(jié)點之間的相關(guān)性,使邏輯上相互依賴的結(jié)點空間上不相鄰,且攻擊者很難恢復(fù)出原始程序結(jié)點的執(zhí)行順序[8]。此外,文獻(xiàn)[9,10]利用機器學(xué)習(xí)中分類器的內(nèi)部規(guī)則難以被提取和理解這一特性,分別將隨機森林和人工神經(jīng)網(wǎng)絡(luò)用于混淆程序的路徑分支,將逆向分析路徑分支信息的難度等價于抽取分類器內(nèi)部規(guī)則的難度。由于控制流混淆相對于其它兩種控制流保護(hù)技術(shù)具有更好的安全性,是當(dāng)下程序混淆領(lǐng)域主要的研究熱點。

    在控制流混淆中,程序的控制流分析復(fù)雜度很大程度上依賴于程序中的分支路徑。因此,對程序控制流混淆的一種有效方法就是增加程序中的分支路徑。本文通過二態(tài)非透明謂詞插入不相關(guān)分支路徑和不相關(guān)結(jié)點,使得原程序控制流的分支路徑和結(jié)點信息被破壞掉,增加程序控制流的復(fù)雜度。此外,為了進(jìn)一步加強程序混淆的強度,利用switch-case平展化二態(tài)非透明謂詞控制流。同時,采用GetSt調(diào)度函數(shù)動態(tài)賦值算法強化平展控制流的分支變量。在此基礎(chǔ)上,提出了一種程序制流混淆算法。與現(xiàn)有控制流平展化混淆存在控制流結(jié)點單一且它們之間的分支路徑順序固定相比,該算法不僅增加控制流分支路徑和結(jié)點類型,使分支路徑復(fù)雜化,而且分支路徑的執(zhí)行順序動態(tài)化,進(jìn)一步隱藏程序的控制流信息。測試結(jié)果說明該算法能大大增加混淆強度,并有效抵御控制流分析。

    1 控制流安全性分析

    程序控制流是其內(nèi)部邏輯關(guān)系的執(zhí)行路徑表示??刂屏鞣治鐾ㄟ^構(gòu)造程序的控制流圖分析程序的執(zhí)行結(jié)點,以及由執(zhí)行結(jié)點所組成的分支路徑,來生成程序的控制流信息。其中,控制流圖中的結(jié)點稱為基本塊,它是程序的一段指令序列且按順序執(zhí)行。每個基本塊只有一個唯一的出口和入口,其中入口是基本塊的第一條指令,可以是程序的第一條指令、無條件跳轉(zhuǎn)的目標(biāo)指令或條件跳轉(zhuǎn)的下一條指令。出口是基本塊的最后一條指令,其一般為程序的結(jié)束指令、跳轉(zhuǎn)指令或跳轉(zhuǎn)目標(biāo)指令的前一條指令。然后,通過路徑可達(dá)性推理得到程序行為同外部執(zhí)行環(huán)境的輸入之間的依賴關(guān)系。這些依賴關(guān)系可被攻擊者用于程序反編譯破解、隱私數(shù)據(jù)竊取和程序算法重構(gòu)等,對程序安全運行和知識產(chǎn)權(quán)的保護(hù)構(gòu)成嚴(yán)重威脅。

    控制流圖是程序編譯器用于尋找編譯優(yōu)化可能以及分析程序安全性相關(guān)技術(shù)的研究基礎(chǔ),因此程序的反編譯可以建立在控制流圖分析的基礎(chǔ)上進(jìn)行。文獻(xiàn)[11]利用函數(shù)定位切分識別函數(shù)塊依賴關(guān)系,從超匯編指令集中產(chǎn)生粗粒度控制流圖,接著結(jié)合中斷標(biāo)記點處理機制實現(xiàn)對代碼執(zhí)行路徑可知,并建立精確的控制流基本塊,最終完成以實際控制流引導(dǎo)的程序反編譯逆向破解。

    由于程序控制流結(jié)點的數(shù)據(jù)流信息會關(guān)聯(lián)用戶隱私數(shù)據(jù),文獻(xiàn)[12]提出一種基于協(xié)同式逆向推理近鄰路徑的控制流分析方法。通過構(gòu)建程序的控制流圖對程序控制流圖的循環(huán)節(jié)點進(jìn)行處理和靜態(tài)單賦值來分析用戶隱私數(shù)據(jù)等敏感數(shù)據(jù)流。從控制流圖的出口節(jié)點開始逐步迭代到起始節(jié)點,結(jié)合后置條件和節(jié)點的執(zhí)行語義計算其最弱前置條件。在最弱前置條件信息的引導(dǎo)下利用后向符號分析生成與目標(biāo)后置條件近鄰的路徑集合。在此基礎(chǔ)上,通過對控制流執(zhí)行路徑的比較識別不可行的近鄰路徑條件,構(gòu)建程序的行為輪廓并進(jìn)一步分析程序的行為特征。

    程序的控制流信息包含著程序指令的執(zhí)行軌跡和程序算法。在程序控制流未被混淆的情況下,程序指令與程序算法的控制流圖相同。對于同樣的輸入,程序算法與指令代碼的執(zhí)行軌跡一致。文獻(xiàn)[13]通過提取和分析二進(jìn)制程序指令的讀取過程,進(jìn)行原始二進(jìn)制程序指令控制流的構(gòu)建。另外,原始程序的二進(jìn)制指令執(zhí)行過程包含著數(shù)據(jù)的處理過程,通過對程序指令執(zhí)行過程中的數(shù)據(jù)流信息進(jìn)行整理分析,能夠得到程序輸入、輸出數(shù)據(jù)之間的運算關(guān)系,最終重構(gòu)出程序算法。文獻(xiàn)[14] 在控制流分析基礎(chǔ)上,對存在敏感調(diào)用的路徑約束求解路徑條件。最終求解出具體程序行為及觸發(fā)條件,識別應(yīng)用程序敏感行為,揭示出程序行為的執(zhí)行全過程。

    因此,通過對控制流分析與利用,引起程序的破解和盜版、隱私數(shù)據(jù)泄露和知識產(chǎn)權(quán)竊取等安全問題。

    2 本文程序混淆算法

    根據(jù)第1節(jié)的控制流安全性分析,針對應(yīng)用程序的保護(hù),最重要的就是如何有效抵御程序控制流結(jié)構(gòu)的惡意分析。為此,本節(jié)在基于控制流混淆技術(shù)的研究基礎(chǔ)上,結(jié)合二態(tài)非透明謂詞插入不相關(guān)控制流及控制流平展化,提出一種新的控制流混淆算法,并針對程序特點通過調(diào)度函數(shù)對該算法做出改進(jìn)。下面以一個函數(shù)為研究對象,圖1左側(cè)的代碼為例來闡述本文算法,其原始的控制流如圖1右側(cè)所示。

    圖1 原始函數(shù)及其控制流

    2.1 二態(tài)非透明謂詞

    二態(tài)非透明謂詞P是程序中的一種布爾表達(dá)式,該表達(dá)式的輸出對混淆者而言,其輸出結(jié)果已知,但是對破解者卻難以獲知。根據(jù)二態(tài)非透明謂詞的輸出結(jié)果不同,可分為3種類型:如果P在程序的輸出永遠(yuǎn)為真(True,T),則記為PT,例如2|(x2+x) 表達(dá)式是一個總是為真的非透明謂詞。如果P的輸出永遠(yuǎn)為假(False,F(xiàn)),則記為PF,例如7*y2-1==x2表達(dá)式是一個總是為假的非透明謂詞。如果P的輸出有時為真有時為假,則記為P?,例如xmod 2=0表達(dá)式是一時真時假的非透明謂詞。在控制流混淆中,基于二態(tài)非透明謂詞插入不相關(guān)分支路徑,如圖2所示。

    圖2 不同類型的非透明謂詞

    圖2中實線表示程序執(zhí)行時,該路徑有時會執(zhí)行的控制路徑。虛線表示程序執(zhí)行時,實際上并不會經(jīng)過的控制路徑,稱為不相關(guān)分支路徑。因此,通過向程序的控制流圖中插入非透明謂詞,并構(gòu)建不相關(guān)的分支路徑,可以提高攻擊者還原控制流結(jié)構(gòu)的難度。使用圖2(a)中的類型來對原始控制流進(jìn)行混淆。首先,在原始的控制流圖中根據(jù)后繼基本塊的唯一性分析非透明謂詞插入的合適位置。然后,根據(jù)隨機插入混淆策略插入非透明謂詞及其不可達(dá)路徑后的不相關(guān)基本塊混淆原始控制流。在圖1示例的基本塊C中添加恒真的非透明謂詞使其變成基本塊C′,其判斷結(jié)果永遠(yuǎn)為真。真的情況的分支路徑后連接其原始的基本塊D,假的情況的不相關(guān)分支路徑后插入一個不相關(guān)基本塊E。最終,形成如 圖3 所示的控制流。

    圖3 非透明謂詞混淆后的控制流

    2.2 控制流平展化

    控制流平展化是通過去除控制流圖中的各種分支結(jié)構(gòu)和嵌套結(jié)構(gòu),使所有的基本塊都處于并列位置,擁有相同的前驅(qū)和后繼來達(dá)到混淆程序控制流邏輯關(guān)系的目的。首先,將程序拆分為多個基本塊,通過基本塊中的轉(zhuǎn)移指令確定基本塊之間的跳轉(zhuǎn)關(guān)系構(gòu)建有向邊,并由基本塊和有向邊組成程序的分支路徑,如圖1所示。然后,將這些原本屬于不同層級的基本塊放到同一層級。接著,將所有基本塊封裝到一個Switch選擇分支中,使得分支路徑的位置是動態(tài)確定的。最后,用一個分支變量St來引導(dǎo)接下來要實際執(zhí)行的分支路徑,進(jìn)行邏輯順序控制。將圖1的控制流圖平展化后如圖4所示。

    圖4 平展化后的控制流

    從圖4可以看出,程序控制流的分支路徑可以通過分支變量St載入地址而不是直接跳轉(zhuǎn)地址,這個分支變量可以稱為調(diào)度變量。這樣在每一個基本塊中通過計算St的值后,才能確定下一次跳轉(zhuǎn)到哪一個分支路徑。使得每一個基本塊沒有分支路徑目標(biāo)地址及執(zhí)行順序。因此,基本塊的放置位置不必遵循執(zhí)行的順序,每一個基本塊都可能是其它基本塊的后繼,從而隱藏了基本塊的分支路徑順序信息。

    2.3 改進(jìn)的控制流混淆算法

    本小節(jié)結(jié)合控制流平展化進(jìn)一步對非透明謂詞插入不相關(guān)控制流進(jìn)行混淆,算法過程如下所示:

    步驟1 非透明謂詞插入不相關(guān)控制流混淆。根據(jù)2.1節(jié),通過二態(tài)非透明謂詞進(jìn)行不相關(guān)基本塊的插入,構(gòu)造分支路徑插入控制流變換,使得原程序的控制流信息被破壞掉。其中,非透明謂詞采用Hui Xu提出的抗符號執(zhí)行的非透明布爾表達(dá)式進(jìn)行構(gòu)造[15]。在混淆時,根據(jù)插入位置的上下文隨機使用PT和PF中的一個。

    步驟2 定義基本塊類型。標(biāo)記不同基本塊(basic block,BB)的類型屬性(type attribute,Attr),包含N和I兩種基本塊。其中,N基本塊為混淆前原程序控制流圖中的基本塊[16],非透明謂詞混淆中插入的不相關(guān)基本塊為I。

    步驟3 定義基本塊三元組。標(biāo)記不同基本塊的三元組路徑信息,其由自身基本塊(block of self,BS)、前驅(qū)基本塊(block of previous,BP)和后繼基本塊(block of next,BN)構(gòu)成[16]。其中,BN的路徑數(shù)量可能0、1或者2。當(dāng)后繼基本塊路徑個數(shù)為2個時,使用一個布爾值分別標(biāo)記兩種不同的分支路徑情況。當(dāng)后繼基本塊路徑個數(shù)為1個時,使用恒為真(T)的布爾值標(biāo)記對應(yīng)的單分支路徑;當(dāng)后繼塊路徑個數(shù)為0個時,則無需用布爾值標(biāo)記分支路徑。當(dāng)沒有前驅(qū)或后繼塊時,則把對應(yīng)的標(biāo)號設(shè)置為空,如圖5所示。

    圖5 基本塊三元組

    步驟4 非透明謂詞插入不相關(guān)控制流平展化。根據(jù)2.2小節(jié),創(chuàng)建一個switch-case的分發(fā)器結(jié)構(gòu)將程序控制流圖進(jìn)行平展化。在平展后的控制流圖中,每個分發(fā)結(jié)點由一個基本塊構(gòu)成,表示一條分支路徑,則設(shè)每個基本塊的分支路徑為St,程序會根據(jù)St的不同初始化參數(shù)值運行不同的初始分支路徑。根據(jù)步驟3定義的三元組,使用基本塊的自身標(biāo)號BS作為分發(fā)結(jié)點的執(zhí)行路徑,后繼塊標(biāo)號BN作為下一個分發(fā)結(jié)點的執(zhí)行路徑,則平展后的控制流如圖6所示。

    圖6 非透明謂詞插入不相關(guān)控制流進(jìn)行平展化

    步驟5 動態(tài)賦值分支變量St。定義一個GetSt(Boo-leanb,Stc)調(diào)度函數(shù),其中b表示當(dāng)前基本塊的BN布爾值,c表示當(dāng)前基本塊的St值,則下一個的St分支路徑值將通過當(dāng)前基本塊的BN布爾值(Boolb)、St值(Stc)和基本塊類型屬性(Attr)動態(tài)生成。其中,當(dāng)基本塊的BN為2時,則把對應(yīng)的布爾值(F,T)傳入b,當(dāng)BN為1時,把布爾值T傳入b,如圖7所示。

    圖7 混淆St分支路徑

    步驟6 GetSt算法。在圖7的St分支路徑混淆中,GetSt算法將通過控制流圖中的基本塊類型屬性和三元組路徑信息實現(xiàn)。GetSt算法規(guī)則描述如下:①下一執(zhí)行基本塊由當(dāng)前執(zhí)行基本塊的路徑位置三元組確定;②下一執(zhí)行基本塊的類型由其Attr確定。③原始基本塊N的執(zhí)行與否與原始邏輯一致。④不相關(guān)基本塊I不被執(zhí)行,則定義隨機被算法返回。根據(jù)以上規(guī)則描述,GetSt調(diào)度函數(shù)動態(tài)賦值算法的偽代碼實現(xiàn)如下。

    St GetSt(Booleanb,Stc) {

    Std;

    intr;

    BB=BN(b,c);

    if (BB->Attr==N){

    d=BB->St;

    }else if (BB->Attr==I){

    r=rand()%2;

    if (r==0){

    d=BB->St;

    }else{

    d=GetSt(BB->St,b);

    }}else{

    raise an exception;}

    returnd;}

    從以上偽代碼可以看出,首先定義St分支變量d用于動態(tài)賦值。然后調(diào)用BN(b,c)函數(shù),該函數(shù)根據(jù)GetSt傳入的BN布爾值和St值得到一個新的基本塊BB。接著,根據(jù)基本塊BB的類型屬性Attr值分析該基本塊執(zhí)行與否,并將BB的St值動態(tài)賦給d。如果基本塊BB的類型屬性Attr為N,即BB->Attr==N,則直接將該基本塊的分支變量值 (BB->St) 賦給d,即d=BB->St;如果基本塊BB的類型屬性Attr為I,即BB->Attr==I,則通過rand()隨機函數(shù)計算生成1或0的隨機數(shù)。當(dāng)隨機數(shù)r等于0時,將基本塊BB的分支變量值 (BB→St) 賦給d,表示將執(zhí)行不相關(guān)基本塊I。當(dāng)隨機數(shù)r等于1時,則繼續(xù)調(diào)用GetSt算法將BB的下一個基本塊分支變量值 (GetSt(BB->St,b)) 賦給d,表示將不執(zhí)行不相關(guān)基本塊I。最后,返回d并執(zhí)行d對應(yīng)的分支路徑。

    3 測試與分析

    本節(jié)根據(jù)Collberg提出的評價指標(biāo)[17]分別對本文算法混淆前后的強度和性能進(jìn)行實驗測試與分析。其中,強度是指混淆后對代碼理解的困難程度。性能是指混淆后由代碼轉(zhuǎn)換所帶來的軟硬件資源額外開銷。

    3.1 強度測試

    首先,對本文算法的混淆強度進(jìn)行測試,構(gòu)造如下函數(shù)作為測試用例。

    int Test(inta,intb,intc) {

    intresult=0;

    intmod=a % 4;

    if (mod==0) {

    result=(a|0xFFEE)*(b-2);

    } else if (mod==1) {

    result=(a|0xEEFF)*(c-2);

    } else {

    result=(c&0xBBAAFFEE)*(a+b);

    }

    result=result+mod;

    returnresult;

    }

    按照第2.1小節(jié)描述的步驟對以上測試用例代碼作混淆。首先,在 “result=(a|0xFFEE)*(b-2);” 之后添加非透明謂詞,使用 “7*y2-1==x2” 作為非透明謂詞表達(dá)式,該表達(dá)式永遠(yuǎn)為假,然后插入 “result+=(a&0xFFEEDDCC);” 作為不相關(guān)塊。接著,在 “result=(c&0xBBAAFFEE)*(a+b);” 之后插入第2處非透明謂詞表達(dá)式,使用 “prime1*((x|any1)2)==prime2*((y|any2)2)” 作為非透明謂詞表達(dá)式,該表達(dá)式永遠(yuǎn)為假。其中,prime1和prime2為任意兩個不相等的質(zhì)數(shù),any1和any2為兩個不相等的隨機正數(shù),x和y可以是程序給的數(shù),基于此構(gòu)造 “(11*((a|5)*(a|5)))==(29*((c|9)*(c|9)))” 表達(dá)式,最后插入 “result+=(a&0xFFEEDDCC);” 作為第2處不相關(guān)塊。經(jīng)過上述混淆之后的代碼如下所示。

    int Test_OpaPred_Obf(inta,intb,intc) {

    intresult=0;

    intmod=a% 4;

    if (mod==0) {

    result=(a|0xFFEE)*(b-2);

    if (7*a*a-1==b*b) {

    result+=(a&0xFFEEDDCC);

    }

    }

    else if (mod==1) {

    result=(a|0xEEFF)*(c-2);

    } else {

    result=(c&0xBBAAFFEE)*(a+b);

    if ((11*((a|5)*(a|5)))==(29*((c|9)*(c|9)))) {

    result+=(a&0xFFEEDDCC);

    }

    }

    result=result+mod;

    returnresult;

    }

    接著,把以上代碼使用2.3小節(jié)描述的算法作控制流平展混淆Test_OpaPred_Flat_Obf,并利用IDA控制流圖生成模塊構(gòu)建控制流圖,對比分析其混淆前后的控制流復(fù)雜度,分別如圖8和圖9所示。

    圖8 測試用例原始控制流

    圖9 測試用例OpaPred_Flat混淆控制流

    從圖8和圖9混淆前后的控制流圖看,控制流被明顯地展平化,達(dá)到了預(yù)期的效果。把測試用例Test()代碼使用Obfuscator-LLVM混淆器使用“-mllvm-fla”選項做控制流平展混淆?;煜蟮目刂屏魅鐖D10所示。

    圖10 測試用例Obfuscator-LLVM混淆控制流

    從圖9和圖10的比較可知,本文控制流平展化方法較之于現(xiàn)有的OLLVM控制流平展化混淆效果有了較大的提高,能夠?qū)狗椿煜夹g(shù)并給程序提供更高的強度保護(hù)。進(jìn)一步使用IDA插件分析圖8~圖10的控制流復(fù)雜度,測試結(jié)果見表1。其中,e表示每個控制流圖中邊的數(shù)量,n表示每個控制流圖中節(jié)點的數(shù)量,V(G)表示每個控制流圖的循環(huán)復(fù)雜度(cyclomatic complexity)[18]。

    表1 程序的控制流復(fù)雜度測試結(jié)果

    從表1可以看到,混淆前Test的控制流循環(huán)復(fù)雜度是4,混淆后Test_OpaPred_Flat_Obf控制流循環(huán)復(fù)雜度大大增加達(dá)到16,相比混淆前其控制流循環(huán)復(fù)雜度增加了4倍。但是,對比Obfuscator-LLVM同樣使用控制流平展算法混淆的結(jié)果,其循環(huán)復(fù)雜度只增加了1倍,達(dá)到優(yōu)于Obfuscator-LLVM復(fù)雜度的效果。因此,通過控制流循環(huán)復(fù)雜度測試說明本文算法可以有效提升程序的混淆復(fù)雜度。

    為了進(jìn)一步測試程序的混淆強度,下面將對混淆前后測試用例的最大嵌套深度、語句數(shù)量和外部調(diào)用3個指標(biāo)進(jìn)行測試和分析[19],其中最大嵌套深度是根據(jù)測試用例中分支嵌套的層數(shù)進(jìn)行計算,語句數(shù)量是指測試用例中語句數(shù)量,外部調(diào)用則根據(jù)測試用例中存在的外部函數(shù)調(diào)用個數(shù)進(jìn)行計算。測試工具采用SourceMonitor,表2顯示了測試結(jié)果。

    表2 程序的強度指標(biāo)測試結(jié)果

    在表2中,混淆前Test的語句數(shù)量是10,而混淆后Test_OpaPred_Flat_Obf的語句數(shù)量增加到47,是混淆前的4.7倍。而混淆前后測試用例的外部調(diào)用數(shù)量分別為0和22,有顯著的增加。此外,最大嵌套深度有從混淆前的2變?yōu)榛煜蟮?,也一定增加。以上SourceMonitor不同測試指標(biāo)的測試結(jié)果說明,攻擊者更難理解本文算法混淆后的程序,其強度比混淆前的程序更為復(fù)雜。

    3.2 性能測試

    本小節(jié)將測試分析程序混淆前后的性能,測試環(huán)境包括:CPU:Inter?CoreTMi5-4590 @ 3.30 GHz;RAM:8 G;SSD:256 G;OS:Windows 7旗艦版。首先,測試混淆前后的程序及內(nèi)存使用大小,結(jié)果見表3。

    表3 混淆前后程序及內(nèi)存使用大小比較

    從表3可以看出,混淆前Test的程序大小為11 k,混淆后Test_OpaPred_Flat_Obf的程序大小為19 k,混淆之后的程序大小相比混淆前增加72.7%,其增加的原因主要是混淆后增加了混淆代碼邏輯和基本塊的關(guān)系表。此外,混淆前后內(nèi)存的使用從2704 k增加到2932 k,只有8.4%的增長率,這部分增量主要來自于混淆后調(diào)度函數(shù)動態(tài)賦值算法中所用到的基本塊的關(guān)系表,平展后的基本塊越多該表就越大,但相比于原程序的整體內(nèi)存消耗,其所占的比例并不大。因此,采用本文方法混淆后的內(nèi)存消耗對程序運行內(nèi)存的性能影響仍然非常小。

    其次,測試程序的運行時間性能,分別以1 000 000、10 000 000和100 000 000次計算混淆前后Test和Test_OpaPred_Flat_Obf的運行時間,并通過多次測試求得其平均單次運行時間,測試數(shù)據(jù)見表4。

    表4 混淆前后程序運行時間比較/μs

    從表4可以看出,程序算法在混淆前的運行時間隨著運算次數(shù)增加而線性增大,同時混淆后的時間增長仍然保持基本成正比的特性,并且兩個測試用例隨測試次數(shù)變化的增長率相近。從平均運行時間來看,其混淆前后的絕對運行時間依舊在很低的水平。

    4 結(jié)束語

    抵御控制流分析的程序保護(hù)已經(jīng)成為了當(dāng)今國內(nèi)外軟件安全研究的熱點,其中如何提升程序的混淆強度也成為安全研究人員的重點研究課題。本文分析了程序所面臨的控制流分析與利用,對程序在解析控制流圖時容易被逆向編譯和算法重構(gòu)等安全問題,提出一種針對控制流圖進(jìn)行非透明謂詞插入和平展化相結(jié)合的抵御控制流分析的程序混淆保護(hù)算法,并通過對混淆前后的測試用例進(jìn)行控制流循環(huán)復(fù)雜度、最大嵌套深度、語句數(shù)量和外部調(diào)用的比較測試和分析。測試結(jié)果表明了本文算法在混淆強度方面的有效性。在性能測試中,當(dāng)運行數(shù)據(jù)達(dá)到一定量時,對混淆程序的大小和運行時間性能會產(chǎn)生一定的影響,如何在提高安全性的同時,降低對大小和時間性能的影響將是在今后工作中進(jìn)一步研究的內(nèi)容,包括優(yōu)化調(diào)度函數(shù)動態(tài)賦值算法的內(nèi)部實現(xiàn),提高其執(zhí)行效率。

    猜你喜歡
    基本塊程序控制控制流
    致病蛋白體內(nèi)降解實現(xiàn)程序控制
    基于級聯(lián)森林的控制流錯誤檢測優(yōu)化算法
    抵御控制流分析的Python 程序混淆算法
    距離與權(quán)重相結(jié)合的導(dǎo)向式灰盒模糊測試方法
    計算機工程(2021年3期)2021-03-18 08:03:34
    工控系統(tǒng)中PLC安全漏洞及控制流完整性研究
    電子科技(2021年2期)2021-01-08 02:25:58
    一種檢測控制流錯誤的多層分段標(biāo)簽方法
    大數(shù)據(jù)偵查的正當(dāng)性研究——以適用原則與程序控制為視角
    法大研究生(2020年2期)2020-01-19 01:42:46
    基于控制流的盒圖動態(tài)建模與測試
    軟件工程(2020年12期)2020-01-07 08:07:43
    鍶原子光鐘鐘躍遷譜線探測中的程序控制
    Word Formation in English for Science and Technology
    亚洲av福利一区| av.在线天堂| 国产精品一区www在线观看| 久久久久人妻精品一区果冻| 一本色道久久久久久精品综合| 我的女老师完整版在线观看| 高清av免费在线| 国产欧美另类精品又又久久亚洲欧美| 哪个播放器可以免费观看大片| 欧美精品一区二区免费开放| 两性夫妻黄色片 | 日韩av不卡免费在线播放| 香蕉丝袜av| 男的添女的下面高潮视频| 最新中文字幕久久久久| 国产黄频视频在线观看| 日本色播在线视频| 久久久久久久久久久久大奶| 亚洲国产精品一区二区三区在线| 性高湖久久久久久久久免费观看| 免费看光身美女| 90打野战视频偷拍视频| 日本免费在线观看一区| 久久人妻熟女aⅴ| 男女下面插进去视频免费观看 | 成人国产av品久久久| 成人无遮挡网站| 国产精品久久久久成人av| 精品卡一卡二卡四卡免费| av电影中文网址| 国产免费一区二区三区四区乱码| 日韩免费高清中文字幕av| 少妇的逼好多水| 女人精品久久久久毛片| 夫妻午夜视频| 色视频在线一区二区三区| 日日爽夜夜爽网站| 亚洲精品av麻豆狂野| 午夜老司机福利剧场| 亚洲人与动物交配视频| 三级国产精品片| 久久精品国产a三级三级三级| 免费少妇av软件| 热99久久久久精品小说推荐| av在线老鸭窝| 丰满饥渴人妻一区二区三| 国产亚洲精品久久久com| 一本大道久久a久久精品| 国产精品一区www在线观看| 在线观看www视频免费| 欧美日韩亚洲高清精品| 婷婷色av中文字幕| 欧美丝袜亚洲另类| 免费黄网站久久成人精品| 一个人免费看片子| 秋霞伦理黄片| 国产成人精品一,二区| 国产精品麻豆人妻色哟哟久久| 青春草国产在线视频| 男男h啪啪无遮挡| 色吧在线观看| av在线观看视频网站免费| 国产高清不卡午夜福利| 80岁老熟妇乱子伦牲交| 一边摸一边做爽爽视频免费| 视频中文字幕在线观看| 精品一区二区三区四区五区乱码 | 丰满少妇做爰视频| 十分钟在线观看高清视频www| 交换朋友夫妻互换小说| kizo精华| 中文字幕免费在线视频6| 欧美人与性动交α欧美软件 | 午夜精品国产一区二区电影| 亚洲av综合色区一区| 久久精品久久久久久久性| 少妇猛男粗大的猛烈进出视频| 黄片播放在线免费| av国产精品久久久久影院| 久久国产亚洲av麻豆专区| 精品少妇内射三级| 老司机影院成人| 另类精品久久| 精品99又大又爽又粗少妇毛片| 国产免费又黄又爽又色| 久热这里只有精品99| 日本黄色日本黄色录像| 大陆偷拍与自拍| 伦理电影大哥的女人| 欧美日本中文国产一区发布| 人人妻人人爽人人添夜夜欢视频| 国产有黄有色有爽视频| 成人亚洲欧美一区二区av| 国产av码专区亚洲av| 国产精品偷伦视频观看了| 中文字幕人妻熟女乱码| 十分钟在线观看高清视频www| 有码 亚洲区| 免费观看性生交大片5| 王馨瑶露胸无遮挡在线观看| 日本爱情动作片www.在线观看| 久久精品久久精品一区二区三区| 少妇猛男粗大的猛烈进出视频| 久久久久国产精品人妻一区二区| 热re99久久精品国产66热6| 涩涩av久久男人的天堂| 国产伦理片在线播放av一区| 天堂中文最新版在线下载| 91国产中文字幕| 啦啦啦在线观看免费高清www| 精品久久国产蜜桃| 欧美性感艳星| 国产成人免费无遮挡视频| 黄片播放在线免费| 欧美性感艳星| 久久综合国产亚洲精品| 五月玫瑰六月丁香| 欧美bdsm另类| 十分钟在线观看高清视频www| 国产一区二区在线观看av| 日本色播在线视频| 日韩伦理黄色片| 亚洲av.av天堂| 亚洲国产欧美在线一区| 中国三级夫妇交换| 爱豆传媒免费全集在线观看| 午夜免费鲁丝| 美女国产高潮福利片在线看| 晚上一个人看的免费电影| 老女人水多毛片| 成人午夜精彩视频在线观看| 久久国产精品男人的天堂亚洲 | 精品人妻偷拍中文字幕| 日韩av不卡免费在线播放| av免费在线看不卡| 久久午夜综合久久蜜桃| 国产1区2区3区精品| 热re99久久国产66热| 9热在线视频观看99| 精品人妻一区二区三区麻豆| 午夜影院在线不卡| 色5月婷婷丁香| 欧美日韩综合久久久久久| 精品国产露脸久久av麻豆| 日韩一本色道免费dvd| 香蕉国产在线看| 制服诱惑二区| 女人精品久久久久毛片| 日韩av不卡免费在线播放| 久久99蜜桃精品久久| 亚洲av国产av综合av卡| 99香蕉大伊视频| 日本wwww免费看| 日本午夜av视频| 18在线观看网站| 国产成人精品无人区| 免费高清在线观看日韩| 亚洲,欧美,日韩| 精品99又大又爽又粗少妇毛片| 免费黄色在线免费观看| 毛片一级片免费看久久久久| 国产精品国产三级国产av玫瑰| 久久久国产精品麻豆| 久久毛片免费看一区二区三区| 十八禁高潮呻吟视频| 免费黄网站久久成人精品| 国产成人欧美| 99热6这里只有精品| 久久久久精品性色| 人妻少妇偷人精品九色| 丰满少妇做爰视频| 午夜福利影视在线免费观看| av不卡在线播放| 2021少妇久久久久久久久久久| 久久 成人 亚洲| 中文字幕av电影在线播放| 午夜免费鲁丝| 欧美性感艳星| 久久午夜综合久久蜜桃| av天堂久久9| 中文字幕最新亚洲高清| av天堂久久9| 看免费av毛片| 久久久久精品性色| 中文字幕精品免费在线观看视频 | 国产69精品久久久久777片| 免费日韩欧美在线观看| 午夜老司机福利剧场| 精品国产国语对白av| 国产成人aa在线观看| 久久久久久人妻| 男女午夜视频在线观看 | av在线观看视频网站免费| 91aial.com中文字幕在线观看| 五月伊人婷婷丁香| 国产一区二区三区av在线| 国产黄频视频在线观看| 日产精品乱码卡一卡2卡三| 汤姆久久久久久久影院中文字幕| 日韩av在线免费看完整版不卡| av.在线天堂| 汤姆久久久久久久影院中文字幕| 日产精品乱码卡一卡2卡三| 一本色道久久久久久精品综合| 国产视频首页在线观看| 99久久精品国产国产毛片| 国产欧美日韩一区二区三区在线| 亚洲图色成人| 日韩视频在线欧美| 欧美激情 高清一区二区三区| 精品人妻熟女毛片av久久网站| 亚洲经典国产精华液单| 高清黄色对白视频在线免费看| 人成视频在线观看免费观看| 汤姆久久久久久久影院中文字幕| 国产一区二区在线观看日韩| 中国三级夫妇交换| 黄色怎么调成土黄色| 一本大道久久a久久精品| 亚洲欧美一区二区三区国产| 亚洲国产成人一精品久久久| 老熟女久久久| 伦精品一区二区三区| 亚洲欧美一区二区三区黑人 | 99视频精品全部免费 在线| 全区人妻精品视频| 母亲3免费完整高清在线观看 | 91成人精品电影| 男人操女人黄网站| 丝袜人妻中文字幕| 日韩中文字幕视频在线看片| 黄色毛片三级朝国网站| 国产成人欧美| 久久av网站| 精品一区二区三区四区五区乱码 | 午夜免费鲁丝| 大片免费播放器 马上看| 99热6这里只有精品| 成人综合一区亚洲| 成人亚洲精品一区在线观看| 国产女主播在线喷水免费视频网站| 亚洲天堂av无毛| 夫妻午夜视频| 久久ye,这里只有精品| 一二三四在线观看免费中文在 | 1024视频免费在线观看| 国产av国产精品国产| 日日啪夜夜爽| 国产免费福利视频在线观看| 丰满乱子伦码专区| 国产一级毛片在线| 一二三四在线观看免费中文在 | 欧美成人午夜免费资源| 亚洲在久久综合| 国产麻豆69| 9热在线视频观看99| 纵有疾风起免费观看全集完整版| 精品一区二区免费观看| 亚洲四区av| 啦啦啦啦在线视频资源| 日韩成人伦理影院| 制服诱惑二区| 男男h啪啪无遮挡| 亚洲丝袜综合中文字幕| 大香蕉久久成人网| 一区二区三区四区激情视频| 亚洲美女搞黄在线观看| 国产熟女欧美一区二区| 欧美精品国产亚洲| 99热全是精品| 国产一区二区三区综合在线观看 | 韩国精品一区二区三区 | 99热6这里只有精品| av.在线天堂| 少妇猛男粗大的猛烈进出视频| 久久亚洲国产成人精品v| 欧美精品国产亚洲| 在线观看一区二区三区激情| 女人精品久久久久毛片| 97在线人人人人妻| 亚洲国产av影院在线观看| 国产无遮挡羞羞视频在线观看| 男的添女的下面高潮视频| 精品久久久精品久久久| 欧美日韩综合久久久久久| av国产精品久久久久影院| 国产不卡av网站在线观看| 国产欧美另类精品又又久久亚洲欧美| 乱码一卡2卡4卡精品| 久久精品久久久久久噜噜老黄| 国产精品国产三级国产专区5o| 永久免费av网站大全| 午夜老司机福利剧场| 国产一区二区激情短视频 | 国产成人欧美| 欧美亚洲 丝袜 人妻 在线| 亚洲国产精品成人久久小说| 亚洲一码二码三码区别大吗| 好男人视频免费观看在线| 亚洲在久久综合| 久久ye,这里只有精品| 久久狼人影院| 国产男女内射视频| 男女无遮挡免费网站观看| 成人国产av品久久久| 欧美人与性动交α欧美软件 | 欧美精品亚洲一区二区| 22中文网久久字幕| 国内精品宾馆在线| 成年美女黄网站色视频大全免费| 婷婷色综合www| 女性生殖器流出的白浆| 美女福利国产在线| 成人亚洲精品一区在线观看| 亚洲高清免费不卡视频| 亚洲精品久久成人aⅴ小说| 亚洲精品视频女| 国产精品久久久久久精品电影小说| 成人免费观看视频高清| 丰满乱子伦码专区| 另类亚洲欧美激情| 久久午夜综合久久蜜桃| 日韩电影二区| 亚洲美女视频黄频| 下体分泌物呈黄色| 亚洲精品成人av观看孕妇| 狠狠精品人妻久久久久久综合| 乱人伦中国视频| 一级,二级,三级黄色视频| av不卡在线播放| 国产黄色视频一区二区在线观看| 精品国产露脸久久av麻豆| 国产片内射在线| 亚洲精品一区蜜桃| 只有这里有精品99| 好男人视频免费观看在线| 成人综合一区亚洲| 日韩不卡一区二区三区视频在线| 热re99久久精品国产66热6| 成人毛片a级毛片在线播放| 一本色道久久久久久精品综合| 韩国高清视频一区二区三区| 国产av码专区亚洲av| av一本久久久久| 欧美成人午夜精品| 精品国产一区二区三区久久久樱花| 一级a做视频免费观看| 亚洲精品456在线播放app| 国产有黄有色有爽视频| av天堂久久9| av黄色大香蕉| 两性夫妻黄色片 | 老熟女久久久| 女人精品久久久久毛片| 少妇精品久久久久久久| 美女国产视频在线观看| 高清在线视频一区二区三区| 最近最新中文字幕免费大全7| 高清在线视频一区二区三区| 爱豆传媒免费全集在线观看| 久久精品熟女亚洲av麻豆精品| 777米奇影视久久| 亚洲第一av免费看| 久久人人爽人人爽人人片va| 80岁老熟妇乱子伦牲交| 国产日韩一区二区三区精品不卡| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 久久人人爽av亚洲精品天堂| 亚洲,欧美,日韩| 又粗又硬又长又爽又黄的视频| 最新中文字幕久久久久| 久久99热6这里只有精品| 蜜臀久久99精品久久宅男| 亚洲欧美日韩另类电影网站| 女人久久www免费人成看片| 国产亚洲午夜精品一区二区久久| 热re99久久精品国产66热6| 性色avwww在线观看| 午夜福利,免费看| 我的女老师完整版在线观看| 丝袜脚勾引网站| 日本黄色日本黄色录像| 免费不卡的大黄色大毛片视频在线观看| 国产黄色视频一区二区在线观看| 成人亚洲精品一区在线观看| 欧美另类一区| 国产69精品久久久久777片| av视频免费观看在线观看| 26uuu在线亚洲综合色| 九色亚洲精品在线播放| 99精国产麻豆久久婷婷| 人人妻人人添人人爽欧美一区卜| 亚洲第一av免费看| 26uuu在线亚洲综合色| 三级国产精品片| 在线观看免费日韩欧美大片| 欧美亚洲日本最大视频资源| 人人妻人人澡人人看| 久久精品国产鲁丝片午夜精品| 菩萨蛮人人尽说江南好唐韦庄| 精品亚洲成a人片在线观看| 午夜91福利影院| 人体艺术视频欧美日本| 热99国产精品久久久久久7| 亚洲精品aⅴ在线观看| 午夜激情av网站| 18在线观看网站| 欧美丝袜亚洲另类| 婷婷色综合大香蕉| av黄色大香蕉| 国产男女内射视频| 色5月婷婷丁香| av国产精品久久久久影院| 成人免费观看视频高清| 国产亚洲精品久久久com| 亚洲人成77777在线视频| 婷婷色综合www| 纵有疾风起免费观看全集完整版| 国产乱来视频区| 哪个播放器可以免费观看大片| 国产欧美日韩一区二区三区在线| 国产成人免费观看mmmm| 精品视频人人做人人爽| 黑人欧美特级aaaaaa片| 少妇高潮的动态图| 春色校园在线视频观看| 美女大奶头黄色视频| 国产精品国产三级国产专区5o| 亚洲色图 男人天堂 中文字幕 | 看免费成人av毛片| 久久精品久久精品一区二区三区| 伦精品一区二区三区| 男女国产视频网站| 巨乳人妻的诱惑在线观看| 亚洲天堂av无毛| 夫妻午夜视频| av在线app专区| 午夜av观看不卡| 香蕉精品网在线| 亚洲色图 男人天堂 中文字幕 | 三级国产精品片| 国产黄频视频在线观看| 国产精品女同一区二区软件| 日韩成人伦理影院| 黄片播放在线免费| 国产精品人妻久久久久久| 一级a做视频免费观看| 久久狼人影院| 九色成人免费人妻av| 伊人久久国产一区二区| 久久久久精品久久久久真实原创| 欧美成人精品欧美一级黄| 蜜臀久久99精品久久宅男| 亚洲国产色片| 边亲边吃奶的免费视频| 国产精品嫩草影院av在线观看| 在线天堂最新版资源| 99久久综合免费| www.av在线官网国产| 久久99热这里只频精品6学生| 国产成人一区二区在线| 国产亚洲欧美精品永久| 九草在线视频观看| 亚洲精品国产色婷婷电影| 精品视频人人做人人爽| 又粗又硬又长又爽又黄的视频| 亚洲欧美色中文字幕在线| 亚洲熟女精品中文字幕| 水蜜桃什么品种好| 中文字幕人妻丝袜制服| 99久久综合免费| 亚洲经典国产精华液单| 日本爱情动作片www.在线观看| 中国美白少妇内射xxxbb| 国国产精品蜜臀av免费| 亚洲国产看品久久| 国产亚洲欧美精品永久| 亚洲欧美色中文字幕在线| 一本—道久久a久久精品蜜桃钙片| 高清在线视频一区二区三区| 国产精品秋霞免费鲁丝片| 婷婷色av中文字幕| 日本-黄色视频高清免费观看| 亚洲人与动物交配视频| 国产欧美日韩综合在线一区二区| 男人添女人高潮全过程视频| xxxhd国产人妻xxx| 亚洲欧美一区二区三区黑人 | 91成人精品电影| 男女高潮啪啪啪动态图| 久久久国产精品麻豆| 亚洲国产精品成人久久小说| 69精品国产乱码久久久| 精品一区二区三卡| 亚洲精品久久午夜乱码| 日本-黄色视频高清免费观看| 少妇熟女欧美另类| 亚洲国产精品专区欧美| 免费看不卡的av| 在线观看免费高清a一片| 亚洲国产精品一区二区三区在线| 亚洲精品中文字幕在线视频| 久久久久视频综合| 人妻一区二区av| 一级毛片我不卡| 亚洲av国产av综合av卡| 久久精品国产鲁丝片午夜精品| 夫妻午夜视频| 国产免费现黄频在线看| 国产成人aa在线观看| 国产欧美日韩综合在线一区二区| 精品一品国产午夜福利视频| 亚洲精品久久午夜乱码| 亚洲国产精品一区二区三区在线| 美女视频免费永久观看网站| 少妇的丰满在线观看| 国产毛片在线视频| 我要看黄色一级片免费的| 亚洲av国产av综合av卡| 精品人妻一区二区三区麻豆| 成人18禁高潮啪啪吃奶动态图| 久久国产精品大桥未久av| 国产精品一区www在线观看| 26uuu在线亚洲综合色| 成年女人在线观看亚洲视频| 亚洲欧美一区二区三区黑人 | 韩国高清视频一区二区三区| 色吧在线观看| 伦精品一区二区三区| 我要看黄色一级片免费的| 国产精品偷伦视频观看了| 免费黄频网站在线观看国产| 国产综合精华液| av.在线天堂| 超碰97精品在线观看| 亚洲精品色激情综合| 伦精品一区二区三区| 2021少妇久久久久久久久久久| 国产一区二区三区av在线| 伊人亚洲综合成人网| 婷婷成人精品国产| 国产一区亚洲一区在线观看| 欧美日本中文国产一区发布| 亚洲欧美中文字幕日韩二区| 国产国语露脸激情在线看| 午夜视频国产福利| 99九九在线精品视频| 18在线观看网站| 久久久国产欧美日韩av| 日本av手机在线免费观看| 国产成人精品无人区| 国产爽快片一区二区三区| 欧美另类一区| 99国产综合亚洲精品| 欧美丝袜亚洲另类| 啦啦啦在线观看免费高清www| 久久久久国产网址| 国产黄色视频一区二区在线观看| 极品人妻少妇av视频| 欧美激情 高清一区二区三区| 又黄又粗又硬又大视频| 亚洲色图 男人天堂 中文字幕 | 精品国产乱码久久久久久小说| 成年女人在线观看亚洲视频| 亚洲成人手机| 亚洲精品,欧美精品| 久久久久久久亚洲中文字幕| 久久97久久精品| 22中文网久久字幕| 久久亚洲国产成人精品v| 夜夜骑夜夜射夜夜干| 免费观看a级毛片全部| 精品视频人人做人人爽| 亚洲高清免费不卡视频| av在线观看视频网站免费| 一级爰片在线观看| 高清不卡的av网站| 久久久久久久久久久久大奶| 日日啪夜夜爽| 日韩成人av中文字幕在线观看| 人成视频在线观看免费观看| 老熟女久久久| 国产综合精华液| 欧美精品一区二区大全| 高清在线视频一区二区三区| 人人妻人人添人人爽欧美一区卜| 成人毛片a级毛片在线播放| 亚洲精品一区蜜桃| 综合色丁香网| 一级片免费观看大全| 久久久久久久国产电影| 精品久久国产蜜桃| 黑丝袜美女国产一区| 久久久久精品性色| 如日韩欧美国产精品一区二区三区| 99热6这里只有精品| 精品视频人人做人人爽| √禁漫天堂资源中文www| 欧美激情 高清一区二区三区| 国产免费视频播放在线视频| 国产男女超爽视频在线观看| 性色avwww在线观看| 亚洲精品aⅴ在线观看| 啦啦啦啦在线视频资源| 久久精品久久久久久噜噜老黄| 午夜福利视频在线观看免费| 精品一区在线观看国产| 久久久久国产网址| 高清欧美精品videossex| 18在线观看网站| 久久精品国产鲁丝片午夜精品| 欧美亚洲 丝袜 人妻 在线| 日韩视频在线欧美| av国产久精品久网站免费入址| 男人操女人黄网站|