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

    基于ROP/JOP gadgets性質(zhì)的軟件多樣化評估方法

    2022-02-04 06:13:12遲宇寧郭云飛王亞文扈紅超
    網(wǎng)絡與信息安全學報 2022年6期
    關鍵詞:控制流寄存器指令

    遲宇寧,郭云飛,王亞文,扈紅超

    基于ROP/JOP gadgets性質(zhì)的軟件多樣化評估方法

    遲宇寧,郭云飛,王亞文,扈紅超

    (信息工程大學,河南 鄭州 450001)

    為應對信息化生活中的網(wǎng)絡攻擊及威脅,降低網(wǎng)絡系統(tǒng)中同質(zhì)化攻擊快速蔓延的風險,增強網(wǎng)絡和軟件的安全性,軟件多樣化技術被應用到系統(tǒng)中。軟件多樣化旨在生成功能等價但內(nèi)部發(fā)生變化的程序變體,從而改變單一的運行環(huán)境,緩解同質(zhì)化攻擊?,F(xiàn)有的多樣化技術的評估指標ROP(return-oriented programming)gadgets幸存率難以直接體現(xiàn)安全性影響且評估方法單一,為了更加全面有效地評估軟件多樣化方法的有效性,提出基于ROP/JOP(jump-oriented programming)gadgets性質(zhì)的軟件多樣化評估方法,通過分析常見的代碼重用攻擊,將抽象的量化轉(zhuǎn)為具象的指標,從空間、時間及質(zhì)量3個方面評估多樣化方法的安全增益及效果。該方法根據(jù)gadgets的相似性、損壞度和可用性3個性質(zhì)探討軟件多樣化技術如何影響ROP/JOP攻擊。用指令替換、NOP插入、控制流平坦等9種多樣化方法對GNU coreutils程序集進行多樣化編譯生成多樣化程序集。對多樣化程序集進行基于gadgets性質(zhì)的實驗,根據(jù)實驗結(jié)果評估不同多樣化方法的有效性及對攻擊造成的影響。實驗結(jié)果表明,該方法能夠?qū)浖鄻踊椒ǖ陌踩鲆孢M行準確評估,多樣化技術會導致ROP/JOP攻擊所需的攻擊鏈空間增大,構(gòu)造攻擊鏈的時間變長且攻擊成功率降低。不同的多樣化方法產(chǎn)生的效果高低不一,對后續(xù)研究具有更高安全增益的多樣化技術有指導作用。

    軟件多樣化;ROP/JOP攻擊;gadgets性質(zhì);安全增益評估

    0 引言

    信息技術及互聯(lián)網(wǎng)的飛速發(fā)展,使得大眾生活越來越依賴于網(wǎng)絡。種類繁多、功能各異的應用軟件為人們提供生活便利的同時,也引入了安全風險,威脅人們的隱私和財產(chǎn)安全。究其原因是大多數(shù)的軟件在設計階段采用了相似或相同的架構(gòu)、協(xié)議使得軟件漏洞易被黑客在同質(zhì)化環(huán)境中利用。

    為了抵御此類威脅, 各類安全機構(gòu)研究了多種防御方法,如在內(nèi)存中限制可執(zhí)行頁面來抵抗大多數(shù)代碼注入攻擊[1],控制流完整性檢測檢測程序是否進入非預期的執(zhí)行路徑[2],動態(tài)污點分析追蹤信息流識別破壞內(nèi)存的攻擊[3]。在這些防御方法中, 大多數(shù)只能針對某一種漏洞進行防御,且容易被攻破[4]。

    軟件多樣化技術為防御威脅提供了新的思路,其核心思想是應用軟件多樣化技術動態(tài)地改變攻擊面以提高攻擊成本。軟件多樣性的概念可以追溯到容錯。多樣性將一個給定組件的多個實現(xiàn)方法產(chǎn)生錯誤結(jié)果的可能性降到最低。軟件多樣化著眼于代碼布局隨機化,可以在不同地方用自動化的方式實現(xiàn),如通過編譯器實現(xiàn)軟件多樣化[5]。在加載時對程序進行反匯編,替換loader加載器[6]實現(xiàn)多樣化等?,F(xiàn)代操作系統(tǒng)通過隨機化程序中對象的基址,如堆棧、堆、程序代碼和動態(tài)庫,實現(xiàn)了地址空間布局隨機化(ASLR,address space layout randomization)。

    大量理論和實踐證明了軟件多樣化技術能夠有效提高攻擊成本,增強軟件安全性,但如何對軟件多樣化技術的有效性進行評估是一個難點。劉鎮(zhèn)武等[7]通過軟件復雜程度的靜態(tài)指標來評估軟件多樣化技術。Rossman等[8]結(jié)合香農(nóng)?維納信息熵[9]的角度,通過利用物種多樣性量化公式去分析操作系統(tǒng)的多樣性,也有依靠邏輯認證[10]來證明改變攻擊依賴的程序?qū)傩詣t表明防御成功。

    評估軟件多樣性技術有效性的一種方法是計算幸存的gadgets的數(shù)量占多樣化軟件gadgets集合的比例。Coffman等[11]采用該方法,分別用相同地址的幸存gadgets占比和不考慮地址的幸存gadgets占比作為指標,對幾種多樣化技術進行了安全性評估。但是該方法所提到獲取的gadgets仍足以發(fā)動攻擊,即幸存gadgets數(shù)量的占比不能顯著體現(xiàn)安全性影響,且幸存gadgets占比這個指標只考慮了多樣化技術在空間角度對面向返回的編程(ROP,return-oriented programming)的部分影響。因此,本文提出了一種基于常見代碼重用攻擊(ROP/面向跳轉(zhuǎn)的編程(JOP,jump-oriented programming))的軟件多樣化技術有效性的評估方法,獲取程序中ROP/JOP攻擊采用的攻擊鏈,分別從攻擊鏈的相似性、損壞度和可用性3個方面進行定量分析,來討論軟件多樣化技術在空間角度、質(zhì)量、時間角度對ROP/JOP的影響。

    1 軟件多樣化評估相關研究

    Coppens等[12]使用BinDiff補丁對比算法,利用該算法研究不同補丁之間共同的指令、函數(shù)、代碼等。該方法被用在衡量對抗補丁攻擊[13]的有效性上,將補丁前和補丁后的程序視為具有多樣性的程序。

    Banescu等[14-15]用符號執(zhí)行來評估各種代碼混淆方法的強度。發(fā)現(xiàn)符號執(zhí)行對執(zhí)行了代碼混淆的程序造成覆蓋率減緩,代表對程序進行逆向分析的困難增加。但符號執(zhí)行主要關注對程序逆向的干擾程度,受程序大小的空間限制。

    Pagani等[16]采用模糊哈希研究了二進制文件基于局部敏感哈希(LSH)方法的庫標識、重新編譯和程序相似度。而后Coffman等[17]采用了3種模糊哈希算法,對多樣化的二進制文件的符號表進行相似性分析,并對比了不同模糊哈希算法的優(yōu)劣。

    Homescu等[18]采用相同地址上幸存gadgets占比為指標,利用該指標衡量不同插入方案的NOP(無操作)插入多樣化技術的安全性。Coffman等[11]以采用了Homescu等的幸存gadgets占比為其中一個指標,提出在不考慮地址的情況下,將相同gadgets占比作為指標,對幾種多樣化技術進行有效性評估。

    多樣化技術的多層次性使得在部署之前很難確定它的有效性,因此多樣化的目標——引入異構(gòu)度,干擾同質(zhì)化攻擊,從而使攻擊者的成本增加——變得難以直接測量。以上工作中,Banescu等[14-15]側(cè)重于衡量代碼混淆技術對抗符號執(zhí)行和程序逆向的有效性。Homescu 等[18]和文獻[11]通過ROP gadgets的兩種幸存指標評估多樣化技術的有效性,但僅減少幸存的gadget占比不能增加其對ROP攻擊的安全性,故幸存指標難以真實反映多樣化技術的有效性。通常來說,軟件多樣性對攻擊引入的多樣化越強,攻擊者利用成本越高,則該軟件的安全性也就越高,最理想的狀態(tài)是攻擊者需要在有效攻擊時間內(nèi)構(gòu)建一套全新的可靠的攻擊鏈。因此,為了量化軟件多樣化真正造成的攻擊干擾程度以及安全性,需要對多樣化技術有基于攻擊角度的更全面的評估準則和模型。

    2 相關技術

    2.1 代碼重用攻擊

    攻擊者利用緩沖區(qū)溢出漏洞,在存在漏洞的內(nèi)存地址處重寫緩沖區(qū)外的返回指針,重定向控制流,以執(zhí)行事先注入的代碼。除了緩沖區(qū)溢出外,整數(shù)溢出、格式化字符串等內(nèi)存損壞類的漏洞大多是同一利用方法。為了應對這種利用脆弱內(nèi)存漏洞達到代碼注入的攻擊,在操作系統(tǒng)中引入了可執(zhí)行保護,該方法將內(nèi)存的每個頁,根據(jù)其脆弱性,標記為可寫或可執(zhí)行,兩種狀態(tài)不能同時存在。若試圖在不可執(zhí)行頁上執(zhí)行代碼,大多數(shù)情況下保護機制會直接終止程序的運行。因此,可執(zhí)行空間保護使得攻擊者難以執(zhí)行注入的代碼,為了繞過這種保護方法,引出了一種新的攻擊類型——代碼重用攻擊。

    代碼重用攻擊完全放棄了代碼注入的思想,而是將重點放在重用現(xiàn)有的機器碼上,以達到攻擊效果。其中,常見的代碼重用攻擊為面向返回的編程[19]和面向跳轉(zhuǎn)的編程[20]。ROP和JOP均利用二進制可執(zhí)行文件中已有的代碼片段來進行攻擊。ROP/JOP攻擊的核心組件是“小工具(gadgets)”,即緊接在返回/跳轉(zhuǎn)指令之前發(fā)生的指令序列。ROP/JOP gadgets是一個匯編指令序列,表示返回值的字節(jié)結(jié)束,可以解釋為指令和參數(shù)(如寄存器或即時值)。

    與代碼注入攻擊(攻擊者利用漏洞,如越界寫?注入自己的注入漏洞)不同,ROP/JOP攻擊通過執(zhí)行由程序和庫代碼構(gòu)建的gadgets鏈來危害應用程序。攻擊者利用gadgets鏈重定向到內(nèi)存中的任意字節(jié),如果它們位于可執(zhí)行段,則可直接執(zhí)行。ROP使用ret指令來改變程序的控制流,而 JOP 攻擊利用程序間接跳轉(zhuǎn)和間接調(diào)用指令(call指令和jmp指令)來改變程序的控制流。

    2020年,英特爾表示將在自己的Tiger Lake系列移動CPU上配置CET安全功能,該功能旨在防范控制流劫持類攻擊,因此可以防止ROP/JOP攻擊。但該功能目前只支持Intel Tiger Lake系列,且對Linux系統(tǒng)的適配性還需要進一步整合,即該功能的支持范圍有限,還需要時間擴大對操作系統(tǒng)、硬件及軟件棧的普適性。故ROP/JOP仍將長期成為可用的攻擊方法,因此本文依舊具有較大的研究意義和價值。

    2.2 軟件多樣化方法

    軟件多樣化最初由Cohen等[21]提出,Cohen等指出程序進化是一種防御策略,即程序“進化”成與原始程序不同,但語義上相同的版本,并提出了指令重排序和垃圾代碼插入等程序“進化”方式。常用的軟件多樣化技術由編譯器來實現(xiàn),本文結(jié)合multicompiler[22]和LLVM Obfuscator[23]構(gòu)建了具有多種軟件多樣化功能的編譯器,其具體功能如下。

    1) 控制流平坦:利用分發(fā)器控制[24]基本塊之間的直接跳轉(zhuǎn),破壞基本塊的跳轉(zhuǎn)關系,將整個程序的跳轉(zhuǎn)邏輯變得模糊。分發(fā)器的控制讓基本塊都出現(xiàn)在同一層,隱藏了程序的原始跳轉(zhuǎn)結(jié)構(gòu)。

    2) 偽控制流:通過插入不影響程序功能的無效跳轉(zhuǎn)基本塊[25],構(gòu)造一些必真或必假的條件,打亂程序原來的控制流圖。

    3) NOP插入:NOP是處理器在不修改寄存器文件或內(nèi)存的情況下執(zhí)行的指令,NOP插入是隨機在當前指令之前插入0或1個NOP。在本文實驗中,NOP插入的方式為40%的隨機選擇插入30%的NOP指令。

    4) 指令替換:功能一致的指令有不同的表達方法,如a?5=a+(?5)。該方法在不更改功能的前提下,用一個等價的指令序列替換數(shù)值上的二進制和布爾操作。

    5) 全局變量洗牌:隨機排列全局變量,打亂了編譯器生成的目標代碼中全局變量的順序。

    6) 函數(shù)隨機化:這種方法在整個可執(zhí)行文件中進行全局性的函數(shù)重排列,改變了編譯器生成的目標代碼中函數(shù)的順序。

    7) 棧反轉(zhuǎn):傳統(tǒng)的棧布局為棧底為高地址,棧頂為低地址,棧向低地址生長,棧反轉(zhuǎn)技術將棧的生長方式反轉(zhuǎn)為向高地址生長。

    8) 棧填充:往??臻g里填充無用數(shù)據(jù),使實際執(zhí)行的??臻g增加。本文實驗的填充率為50%,將預留的棧空間填充至利用率達到50%。

    3 評估模型

    3.1 使用的數(shù)據(jù)集

    本文選擇了一個開源大數(shù)據(jù)集進行評估:GNU核心實用程序[17]。表1列出了關于數(shù)據(jù)集的基本統(tǒng)計信息,使用David A. Wheeler的“SLOC Count”(2.26)計算了數(shù)千行代碼的數(shù)量(KLOC)。GNU核心實用程序是一組在類Unix操作系統(tǒng)上可以直接通過命令行使用的常用工具,源代碼是開源的,方便利用多樣化編譯器進行編譯生成變體。GNU核心實用程序包含如ls、base64、rm、kill等大量Unix/Linux系統(tǒng)常用工具,提供了源代碼功能上的多樣性。單個應用程序在實驗中只提供一個數(shù)據(jù)點,并采用整個數(shù)據(jù)集的平均值作為評估指標。

    表1 GNU核心程序集

    3.2 評估方法

    本文構(gòu)建了用于評估多樣化變體對原始程序ROP/JOP攻擊的干擾程度的測量方法。為量化多樣化技術引起的攻擊差異,最直接的方法是分析ROP/JOP 賴以使用的gadgets。同質(zhì)化的可靠ROP/JOP 攻擊,對gadgets集的相似度、攻擊鏈質(zhì)量和可用性有較高的要求,本文從這3個方面進行評估。同質(zhì)環(huán)境下,未進行多樣化的軟件的gadgets應具有較高的相似性甚至完全一致,攻擊鏈質(zhì)量高并且gadgets數(shù)量足夠構(gòu)建可靠的攻擊鏈。多樣化技術如果能夠達到抗攻擊或減緩攻擊效果,則對應的gadgets應當降低相似性,并破壞鏈質(zhì)量。

    3.2.1 Gadgets相似性算法

    已有的軟件多樣性技術評估通過分析不同多樣化技術中幸存的gadgets的數(shù)量或百分比[11]來量化其安全性影響。該方法被認為可靠性較低,且只考慮了多樣化技術的gadgets集變化,未將正常執(zhí)行體和多樣化執(zhí)行體作為一個整體進行比較。

    評估軟件多樣化技術帶來的攻擊差異化程度的另一種方法是研究多樣化技術引起的相似性降低程度。對于ROP/JOP攻擊來說,從空間的角度,直觀的衡量方法是對比正常軟件和多樣化軟件gadgets集合的相似性。多樣化軟件的gadgets集與正常執(zhí)行體的gadgets集相似性越低,說明多樣化方法引入的gadgets變化越大,針對多樣化軟件構(gòu)建的攻擊鏈差異度越大,攻擊者所需的空間成本越高。

    為實現(xiàn)相似性評估,本文提出gadgets相似度計算。本文定義相似度是兩個可執(zhí)行程序不考慮地址的情況下共享的具有相同gadgets鏈的比例。Gadgets集合代表攻擊者能采用的攻擊鏈集合,可用的gadgets鏈可能因為多樣化方法在不同變體中呈現(xiàn)差異。

    本文使用Jaccard相似系數(shù)[17]來計算相似度。Jaccard相似系數(shù)是一種衡量兩個集合的相似度指標,定義為集合與集合交集的大小除以并集的大小,公式為

    在本文實驗中,固定正常執(zhí)行體集合Normal為集合,其余9種多樣化方法生成的變體集合依次為集合,并計算集合A與集合B的Jaccard相似系數(shù)。如圖1所示,正常GNU核心程序集中的ls為gadgetsA集合,控制流平坦程序集(CFF-GNU)的ls為gadgetsB集合,gadgetsA和gadgetsB分別取交集和并集進行計算得到Jaccard相似系數(shù)。

    隨著中國社會經(jīng)濟發(fā)展水平不斷提高,“工業(yè)反哺農(nóng)業(yè),城市支持農(nóng)村”方針提上國家發(fā)展日程,新農(nóng)村建設、美麗鄉(xiāng)村建設、精準扶貧等國家政策在逐步實施,農(nóng)村公共服務需求增加。新的形勢對農(nóng)村公共服務供給提出新的要求。本階段的研究主要有城鄉(xiāng)公共服務的均等化問題、新型城鎮(zhèn)化建設對農(nóng)村公共服務供給的影響、供給側(cè)改革對農(nóng)村公共服務的影響、農(nóng)村公共服務供給新的模式和機制探索[12-14]。

    表2 用于ROP/JOP 攻擊的TC gadgets

    本文編寫腳本自動對比兩個gadgets集合文件,搜索并統(tǒng)計相同的gadgets數(shù)量得到交集,用gadgets總數(shù)減去交集得到并集,最后實現(xiàn)jaccard相似系數(shù)的計算。

    3.2.2 Gadgets鏈質(zhì)量

    一些gadgets具備圖靈完整性的能力,這類gadgets是攻擊時采用的核心攻擊指令,此處定義為圖靈完整gadgets(TC gadgets)[26]。其中,ROP中有加載內(nèi)存LM、存儲內(nèi)存SM、算術操作AM、棧操作SP、加載寄存器LR,移動寄存器MR等為圖靈完備的。JOP額外有跳轉(zhuǎn)操作JMP和函數(shù)調(diào)用CALL為圖靈完備的。具體分類方法如表2所示。

    圖1 控制流平坦和正常編譯的ls程序gadgets交并集

    Figure1 Gadgets intersection and union of control flow flattening and normal compilers ls program

    攻擊者需要使用gadgets改變原有的寄存器相關調(diào)用和存儲值,所以用于生成攻擊鏈的gadgets鏈質(zhì)量至關重要。多樣化技術可能會改變指令對寄存器的調(diào)用和寄存器的存儲值,導致在ROP/JOP的攻擊中,寄存器無法正常發(fā)揮原來的作用。為度量gadgets鏈的整體質(zhì)量,本文參考Ahmed等[26]評估不同粒度ASLR方案采用的JIT-ROP gadgets損壞率指標,并針對JOP擴展了TC gadgets,針對ROP和JOP,對原方法采用的指令進行了修改,對具有圖靈完備性的每一條gadgets鏈進行損壞分析。

    通常,一個gadgets鏈包含一個核心指令。如“mov eax, 0x6083e0; cmove rdi, rax; mov eax, [rdi]; ret;”包含mov eax,[rdi]作為核心指令,以及在核心指令之前/之后的一些附加指令。核心指令是攻擊者必要的指令,附加指令可能會修改核心指令的源寄存器或目標寄存器,如果發(fā)生這種情況,則視該gadgets已損壞。核心指令被修改的情況有以下3種。

    1) 被核心指令前的指令修改:“and [rax], al; mov rbx,[rip+0x205bd7]; pop rbx; ret;”,“pop rbx”為核心指令,rbx被前面的“mov rbx,[rip+0x205bd7]”修改。

    2) 被核心指令后的指令修改:“add [eax], rax; add rax, cl; ret;”,核心指令“add [eax],rax”中rax被后面的“add rax,cl”修改。

    3) 核心指令前/后的指令均可修改:“and eax, ebx ; mov eax, [r9+0x4]; mov [r9+0x4], esi; ret;” ,核心指令“mox eax [r9+0x4]”中eax和esi分別被前后的指令修改。

    本文通過分析附加指令是否修改小工具的核心指令來測量寄存器損壞率。根據(jù)以上3種場景判斷gadgets損壞情況。確定一組可以修改核心指令的源寄存器或目標寄存器的附加指令(mov、lea、add、sub、cmove、pop、inc、dec、xchg、and、or、xor、shl和shr),將這類指令使用的寄存器視為沖突寄存器。

    如果在一組有以上附加指令和表2中核心指令的gadgets鏈中,附加指令修改了核心指令寄存器,則該條gadgets鏈視為被損壞。

    通過以上方法,獲得被損壞的gadgets鏈數(shù)量,用損壞的gadgets鏈數(shù)量除以所有gadgets鏈的數(shù)量來測量寄存器損壞率。

    3.2.3 Gadgets收集效率

    多樣化技術對ROP/JOP的重要影響是改變gadgets的數(shù)量和收斂時間。多樣化技術可能帶來gadgets數(shù)量的減少或增加,并增長或縮短收集完整gadgets集的收斂時間。存在一種情況:盡管多樣化技術使gadgets數(shù)量減少,由于擾亂了各種層次的布局,反而增加了收集gadgets的時間,提高了攻擊者的時間成本。構(gòu)建一個完整可用的攻擊鏈需要有足夠數(shù)量的gadgets,而在真實環(huán)境中每一次攻擊受到有效攻擊時間的約束,減少軟件中可用的gadgets總數(shù),延長收集有效gadgets的時間,增加了構(gòu)建攻擊鏈的難度和成本,因此可以減少其受到有效攻擊的次數(shù)。為了評估以上情況,本文提出gadgets收集效率這一指標。

    為度量gadgets收集效率,本文對所有執(zhí)行體運行gadgets收集函數(shù),記錄收斂到完整gadgets集所需的時間,并計算每秒可收集gadgets個數(shù),得出收集效率,該指標不僅反映多樣化技術對gadgets收集造成的時間成本影響,也反映了數(shù)量的變化。對于攻擊者來說,越低的時間成本內(nèi)收集的gadgets越多,收集效率越高,則gadgets的可用性越高,攻擊的成功率越高。

    4 實驗結(jié)果與分析

    本文實驗在使用Ubuntu 18.04 LTS 64位操作系統(tǒng)的Linux機器上進行,采用內(nèi)生安全軟件開發(fā)環(huán)境(ES2,endogenous security studio)生成執(zhí)行體。ES2是集軟件代碼開發(fā)、異構(gòu)化編譯、多樣化執(zhí)行體生成等功能于一體的軟件開發(fā)環(huán)境,具備業(yè)界領先的進程級細粒度多樣化編譯性能。

    本文采用基于Python的開源gadgets收集工具——ropper,并針對實驗需求對源碼進行改進。改造后的ropper添加了計算收集完整gadgets時間的功能函數(shù),增加了只收集ROP或JOP gadgets的功能。

    本文采用9種多樣化技術(控制流平坦(CFF)、虛假控制流(FCF)、NOP插入(NI)、指令替換(IR)、全局變量洗牌(GVS)、函數(shù)隨機化(FR)、棧反轉(zhuǎn)(RS)、棧填充(FS)和堆棧交換(ESH))以及一種正常編譯方法Normal。對于每種多樣化技術,利用GNU核心程序集,用ES2集中編譯連接。其中,每個核心程序均使用不同的多樣化技術進行編譯,生成900個多樣化變體,加上正常編譯未使用多樣化技術的100個執(zhí)行體,共計1 000個執(zhí)行體,10個不同的GNU核心程序集。

    利用3.2節(jié)所述的各類方法,得到每個GNU核心程序集的每個程序?qū)獢?shù)據(jù),并取該程序集的平均值,作為實驗的最終數(shù)據(jù)。

    4.1 Gadgets相似度的評估

    假設隨著gadgets的共同集減少,攻擊者的成本增加。理想情況下,兩個多樣化的二進制文件應該完全沒有共同的gadgets,攻擊者必須為每個多樣化的二進制文件構(gòu)建一個新的ROP鏈。

    本實驗計算了正常執(zhí)行體和其他所有多樣化變體的gadgets集相似度。對于每一對執(zhí)行體和變體,使用相同gadgets來確定每個可執(zhí)行文件的交集,使用Jaccard算法得到相似度,并取程序集的平均值。

    對于每種多樣性技術,圖2顯示了每個GNU核心程序集中ROP gadgets的平均相似度,即Jaccard相似系數(shù)。在采用的多樣化技術中,發(fā)現(xiàn)NOP插入效率最高,相似度不到5%,說明相同的gadgets的數(shù)量最少,因為額外的NOP使gadgets的數(shù)量變化較大。控制流平坦技術的相似度僅為6.73%。除了NOP插入和控制流平坦外,其他的多樣化技術最終達到高于7%低于8%的相似度。

    圖2 ROP gadgets的相似度

    Figure 2 The similarity of ROP gadgets

    函數(shù)隨機化排序因打亂了函數(shù)的順序,干擾了內(nèi)存中函數(shù)存放的位置,相似度較小。而細粒度指令替換和全局變量洗牌以及虛假控制流較為接近。因為ROP攻擊以ret指令為結(jié)尾,需要多次調(diào)用棧達到實現(xiàn)執(zhí)行gadgets鏈的目的,堆棧交換引入的堆棧布局多樣性優(yōu)于棧反轉(zhuǎn)和棧填充。

    Coffman等[11]采用不考慮地址的幸存gadgets占比這一指標從空間角度上度量多樣化技術。Coffman的實驗結(jié)果中,NOP插入、控制流平坦、指令替換、偽控制流這4種方法的指標依次升高,這與本文的實驗結(jié)果是吻合的,也側(cè)面證明了本文采用指標的可信度。

    圖3是每個GNU核心程序集中JOP gadgets的平均相似度。JOP gadgets的平均相似度整體高于ROP gadgets。與ROP的情況類似,NOP插入依舊是相似度最低的多樣化技術,因其帶來了較多的無用過程。控制流平坦技術相似性僅為6.66%。其他的多樣化技術則維持在8.5%~9%。

    圖3 JOP gadgets的相似度

    Figure 3 The similarity of JOP gadgets

    與ROP gadgets相似度不同的是,全局變量洗牌、函數(shù)隨機化和虛假控制流比指令替換引入了更多的多樣性。因為JOP以跳轉(zhuǎn)為主,函數(shù)和變量的變化對跳轉(zhuǎn)地址的干擾更大。但是JOP攻擊通過修改棧內(nèi)容來修改寄存器值,實現(xiàn)對棧操作,達到跳轉(zhuǎn)的目的,所以棧多樣化技術基本不分上下。

    Gadgets相似度為多樣性技術的有效性提供了一些見解。不同的多樣化對ROP/JOP gadgets產(chǎn)生不同程度的影響,均未使得相似度趨近于0。這一結(jié)果說明即便采用了多樣化技術,執(zhí)行體的gadgets中始終有共同存在的部分。這個部分或許是一些初始指令,或許是完成攻擊的核心指令。并且不同技術對ROP和JOP產(chǎn)生的多樣性效果也不相同,取決了該多樣化技術對ROP和JOP主要利用的地址和內(nèi)存布局有怎樣程度的改變。

    4.2 Gadgets鏈質(zhì)量的評估

    這個實驗的目的是分析gadgets鏈的質(zhì)量和寄存器的可用性。根據(jù)3.2.2節(jié)描述的方法,通過對單個gadget的寄存器損壞分析來衡量gadget的質(zhì)量。本文測量了圖靈完備的gadgets集的寄存器損壞情況,并通過將損壞的小工具的數(shù)量除以所有小工具的數(shù)量來計算gadgets的寄存器損壞率。

    圖4為圖靈完備的ROP gadgets的寄存器損壞率分析結(jié)果。控制流平坦導致?lián)p壞率高達34%,NOP插入也造成了gadgets質(zhì)量的較大損失。細粒度的指令替換和全局變量洗牌整體損壞率略高于粗粒度的函數(shù)隨機化和虛假控制流(約為4%)。這個略高的寄存器損壞率表明,細粒度多樣化技術中gadget鏈的形成和使用比粗粒度多樣化技術略難。因為棧反轉(zhuǎn)只是將棧的生長方向?qū)φ{(diào),ROP對棧頂指針的調(diào)用受方向的干擾較小,故棧反轉(zhuǎn)的效果較差。

    圖4 圖靈完備的ROP gadgets寄存器損壞率

    Figure 4 Register damage rate of TC ROP gadgets

    圖5為圖靈完備的JOP gadgets的寄存器損壞率分析結(jié)果。JOP gadgets的整體寄存器損壞率比ROP gadgets的略低,最高不超過30%。細粒度的指令替換和全局變量洗牌與粗粒度的函數(shù)隨機化和虛假控制流損壞率接近,表明對于JOP攻擊,這兩類技術中gadgets鏈的形成和使用成本接近。JOP攻擊對堆棧的依賴較小,對寄存器的調(diào)用也沒有ROP嚴格,因此無論是堆棧多樣性技術還是其他的多樣性技術,JOP gadgets總體損壞率都略低于ROP gadgets的損壞率。

    圖5 圖靈完備的JOP gadgets寄存器損壞率

    Figure 5 Register damage rate of TC JOP gadgets

    通過衡量gadgets的寄存器損壞率,可以發(fā)現(xiàn)ROP和JOP對寄存器及堆棧的依賴程度不同。但多樣化技術都帶來不同程度的寄存器損壞,使gadgets鏈質(zhì)量下降,可靠性降低。未來的多樣化技術發(fā)展方向,可以考慮以增加gadgets中的寄存器損壞率為研究目標,因為越高的寄存器損壞率讓攻擊變得越不可靠,攻擊能正常使用的寄存器越少。

    4.3 Gadgets可用性的評估

    為了度量gadgets收斂時間和收集效率,本文采用3.2.3節(jié)描述的方法,收集了ROP和JOP各自所有的gadgets,并獲得了收集完整gadgets的收斂時間,再計算得到平均每秒能收集的gadgets個數(shù)。

    圖6中列出了各種生成的GNU程序集的ROP gadgets平均每秒收集的gadgets個數(shù)。從該指標可看出,多樣化技術讓ROP gadgets數(shù)量有減少的趨勢,降低了gadgets的收集效率和可用性。NOP插入帶來的減少程度是倍數(shù)級的。NOP插入讓軟件膨脹,且插入的NOP指令是無效的,很大限度增加了收斂完整gadgets的時間,導致每秒收集數(shù)量急劇降低。而堆棧級和函數(shù)指令級多樣化技術整體表現(xiàn)相似。因為理想情況下,這兩類的多樣化技術不會破壞gadgets,只會將gadgets從一個位置轉(zhuǎn)移到另一個位置。由于程序執(zhí)行流的混亂和寄存器分配的隨機化,控制流平坦這種基本塊級的技術對ROP gadgets的破壞程度較大。

    圖6 平均每秒收集的ROP gadgets數(shù)量

    Figure 6 Average of ROP gadgets collected per second

    JOP 的情況與ROP不太一樣。由圖7可知,除了NOP插入帶來JOP gadgets的減少外,其他多樣化技術均展現(xiàn)出令人意外的收斂情況。包括在其他指標中表現(xiàn)優(yōu)越的控制流平坦技術,其指標與其余多樣化技術接近。這個情況揭示了大多數(shù)多樣化技術在一定限度上增加了JOP gadgets數(shù)量。因為JOP不用ret來連接原始操作和指令,所以需要收集更多可用的以jmp和call結(jié)尾的gadgets來達到攻擊目標。而多樣化技術對ret結(jié)尾的gadgets有削減的作用,因此在JOP攻擊中需要收集更多的jmp和call gadgets來彌補這一缺失。

    圖7 平均每秒收集的JOP gadgets數(shù)量

    Figure 7 Average of JOP gadgets collected per second

    通過分析gadgets的收斂情況可知,對于ROP來說,多樣性越大的技術使得gadgets的收集效率越低,造成的可用性越低,并且增加越多的攻擊時間成本。但是JOP受到相關影響,要完成圖靈完備攻擊則需要收集更多的JOP gadgets??偟膩碚f,多樣化技術讓gadgets的收斂速度和數(shù)量有改變,在實際情況中應該綜合影響兩種攻擊的平衡性去考慮多樣化技術的有效性。

    4.4 評估總結(jié)

    通過對9種多樣化技術和正常編譯產(chǎn)生的GNU核心程序集的ROP/JOP gadgets不同角度的分析發(fā)現(xiàn),多樣化技術均對ROP/JOP攻擊產(chǎn)生了不同程度的干擾,會導致ROP/JOP攻擊所需的攻擊鏈空間增大,構(gòu)造攻擊鏈的時間發(fā)生變化且攻擊成功率降低。綜合而言,NOP插入和控制流平坦都發(fā)揮出色,使3個指標有了較為明顯的變幅,具有更高的安全增益。其他多樣化技術根據(jù)攻擊的需求和多樣化的粒度,對攻擊呈現(xiàn)不同的限制效果。堆棧多樣化技術總體對執(zhí)行體的改變局限于堆棧區(qū)域,帶來的安全增益也較弱。

    表3 多樣化技術評估結(jié)果

    本文的評估方法在ROP/JOP攻擊層面,對多個影響攻擊的gadgets指標進行分析,從同質(zhì)化攻擊的不同角度對各類軟件多樣化技術進行定量比較,給出多樣化效果的安全增益和有效性的綜合評估結(jié)果,并能更加深入地挖掘ROP/JOP gadgets的性質(zhì),日后可根據(jù)這些指標和性質(zhì)研究更加具有安全性的多樣化技術。

    5 結(jié)束語

    現(xiàn)有的ROP gadgets幸存率指標存在難以直接體現(xiàn)多樣化技術的安全性影響且評估方法單一的問題。為了更加全面地從攻擊視角評估多樣化技術的有效性,本文根據(jù)常見的代碼重用攻擊ROP和JOP及其 gadgets的不同性質(zhì)來確定多樣化技術對網(wǎng)絡攻擊產(chǎn)生的影響,建立評估體系。本文利用GNU核心程序數(shù)據(jù)集開展實驗,評估了9種不同的多樣化技術對gadget相似度、鏈質(zhì)量、可用性等方面的影響,從gadgets的空間角度、時間角度和質(zhì)量可靠角度3個方面進行量化和比較,驗證了所提方法在軟件多樣化領域的適用性以及有效性。

    但是本文的評估方法主要評估了Linux下的X86-64架構(gòu)軟件多樣化方法,未來需要進一步對Windows系統(tǒng)和其他架構(gòu)(如ARM的軟件多樣化技術)進行評估驗證。此外,可以創(chuàng)建新的指標,對正常軟件和多樣化軟件的函數(shù)、指令、基本塊等粒度進行差異分析,提出一套不依賴特定攻擊方法的評估體系。

    [1] LITCHFIELD D. Buffer Underruns, DEP, ASLR and improving the exploitation prevention mechanisms (XPMs) on the Windows platform[EB].

    [2] ABADI M, BUDIU M H, ERLINGSSON ú, et al. Control-flow integrity[C]//Proceedings of the 12th ACM conference on Computer and Communications Security CCS '05. 2005: 340-353.

    [3] LIVSHITS V B, LAM M S. Finding security vulnerabilities in Java applications with static analysis[J]. 14th USENIX Security Symposium, 2005: 271-286.

    [4] 姚東, 張錚, 張高斐, 等. 多變體執(zhí)行安全防御技術研究綜述[J]. 信息安全學報, 2020, 5(5): 77-94.

    YAO D, ZHANG Z, ZHANG G F, et al. A survey on multi-variant execution security defense technology[J]. Journal of Cyber Security, 2020, 5(5): 77-94.

    [5] GIUFFRIDA C, KUIJSTEN A, TANENBAUM A S. Enhanced operating system security through efficient and fine-grained address space randomization[C]//Proceedings of the 21st USENIX Conference on Security symposium. 2012: 40.

    [6] HISER J, NGUYEN-TUONG A, CO M, et al. ILR: where'd my gadgets go[C]//Proceedings of 2012 IEEE Symposium on Security and Privacy. Piscataway: IEEE Press, 2012: 571-585.

    [7] 劉鎮(zhèn)武, 隋然, 張錚, 等. 基于信息熵與軟件復雜度的軟件多樣性評估方法[J]. 信息工程大學學報, 2020, 21(2): 207-213.

    LIU Z W, SUI R, ZHANG Z, et al. Software diversity evaluation method based on information entropy and software complexity[J]. Journal of Information Engineering University, 2020, 21(2): 207-213.

    [8] HERNANDEZ-CASTRO J, ROSSMAN J. Measuring software diversity, with applications to security[J]. arXiv: 1310.3307, 2013.

    [9] SHANNON C E. A mathematical theory of communication[J]. Bell System Technical Journal, 1948, 27(3): 379-423.

    [10] COHEN F B. Operating system protection through program evolution[J]. Computers & Security, 1993, 12(6): 565-584.

    [11] COFFMAN J, KELLY D M, WELLONS C C, et al. ROP gadget prevalence and survival under compiler-based binary diversification schemes[C]//Proceedings of the 2016 ACM Workshop on Software Protection. 2016: 15-26.

    [12] COPPENS B, DE SUTTER B, MAEBE J. Feedback-driven binary code diversification[J]. ACM Transactions on Architecture and Code Optimization, 2013, 9(4): 1-26.

    [13] BRUMLEY D, POOSANKAM P, SONG D, et al. Automatic patch-based exploit generation is possible: techniques and implications[C]//Proceedings of 2008 IEEE Symposium on Security and Privacy. 2008: 143-157.

    [14] SEBASTIAN B, CHRISTIAN C, VIJAY G, et al. Code obfuscation against symbolic execution attacks[C]//Proceedings of the 32nd Annual Conference on Computer Security Applications (ACSAC ’16). 2016: 189-200.

    [15] SEBASTIAN B, CHRISTIAN C, AND ALEXANDER P. Predicting the resilience of obfuscated code against symbolic execution attacks via machine learning[C]//Proceedings of the 26th USENIX Security Symposium. 2017: 661-678

    [16] FABIO P, MATTEO D’A, DAVIDE B. Beyond precision and recall: understanding uses (and misuses) of similarity hashes in binary analysis[C]//Proceedings of the Eighth ACM Conference on Data and Application Security and Privacy (CODASPY ’18). 2018: 354-365.

    [17] COFFMAN J, CHAKRAVARTY A, RUSSO J A, et al. Quantifying the effectiveness of software diversity using near-duplicate detection algorithms[C]//Proceedings of the 5th ACM Workshop on Moving Target Defense. 2018: 1-10.

    [18] HOMESCU A, NEISIUS S, LARSEN P, et al. Profile-guided automated software diversity[C]//Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO). Piscataway: IEEE Press, 2013: 1-11.

    [19] ROEMER R, BUCHANAN E, SHACHAM H, et al. Return-oriented programming[J]. ACM Transactions on Information and System Security, 2012, 15(1): 1-34.

    [20] BLETSCH T, JIANG X X, FREEH V, et al. Jump-oriented programming: a new class of code-reuse attack[C]//Proceedings of ASIACCS '11. 2011.

    [20] BLETSCH T, JIANG X X, FREEH V W, et al. Jump-oriented programming: a new class of code-reuse attack[C]//Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security - ASIACCS '11. 2011: 30-40.

    [21] COHEN F B. Operating system protection through program evolution[J]. Computers & Security, 1993, 12(6): 565-584.

    [22] CRANE S, LIEBCHEN C, HOMESCU A, et al. Readactor: practical code randomization resilient to memory disclosure[C]// Proceedings of 2015 IEEE Symposium on Security and Privacy. Piscataway: IEEE Press, 2015: 763-780.

    [23] JUNOD P, RINALDINI J, WEHRLI J, et al. Obfuscator-LLVM: software protection for the masses[C]//Proceedings of 2015 IEEE/ACM 1st International Workshop on Software Protection. 2015: 3-9.

    [24] L′ASZL′O T, KISS ′A. Obfuscating C++ programs via control flow flattening[C]//Processing of Annales Universitatis Scientarum 25 Budapestinensis de Rolando E¨otv¨os Nominatae, Sectio. 2009.

    [25] COLLBERG C, THOMBORSON C, LOW D. Manufacturing cheap, resilient, and stealthy opaque constructs[C]//Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '98.1998: 184-196.

    [26] AHMED S, XIAO Y, SNOW K Z, et al. Methodologies for quantifying (re-) randomization security and timing under JIT-ROP[C]// Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security. 2020: 1803-1820.

    Software diversity evaluation method based on the properties of ROP/JOP gadgets

    CHI Yuning, GUO Yunfei, WANG Yawen, HU Hongchao

    Information Engineering University, Zhengzhou 450001, China

    In order to reduce the risk of rapid spread of homogeneous attacks in network systems, and enhance network and software security, software diversification technologies are applied widely nowadays. Software diversification aims to generate functionally equivalent but internally changed program variants, thereby alter a single operating environment and mitigating homogenization attacks. The existing diversified technical evaluation index ROP gadgets survival rate is difficult to directly reflect the safety impact and the evaluation method is single. In order to evaluate the effectiveness of the diversification method more comprehensively and effectively, a software diversification evaluation method based on the properties of ROP/JOP gadgets is proposed, by analyzing common code reuse attacks, and turns abstract quantification into concrete indicators evaluates the security gain and effect of diversified methods from three aspects of space, time and quality. The method first discusses how diversification techniques affect ROP/JOP attacks according to the three properties of gadgets similarity, damage degree and availability. Nine kinds of diversification methods, such as instruction replacement, NOP insertion, and control flow flattening, are used to diversify the GNU coreutils assembly to generate diversification assembly. Experiments based on the property of gadgets are carried out on the diverse assemblies, and the effectiveness of different diversification methods and the impact on attacks are evaluated according to the experimental results. The experimental results show that this method can accurately evaluate the security gain of software diversification methods, the diversification technology will lead to the increase of the attack chain space required by the ROP/JOP attack, the longer time to construct the attack chain and the lower the attack success rate. The effects of different diversification methods are different, it has a guiding role for the follow-up research on diversified technologies with higher safety gains.

    software diversification, ROP/JOP attack, gadgets properties, safety gain evaluation

    TP393

    A

    10.11959/j.issn.2096?109x.2022086

    2021?09?28;

    2021?12?28

    遲宇寧,cyn_091981@163.com

    國家重點研發(fā)計劃(2021YFB1006200,2021YFB1006201);國家自然科學基金(62072467)

    The National Key R&D Program of China (2021YFB1006200, 2021YFB1006201), The National Natural Science Foundation of China (62072467)

    遲宇寧, 郭云飛, 王亞文, 等. 基于ROP/JOP gadgets性質(zhì)的軟件多樣化評估方法[J]. 網(wǎng)絡與信息安全學報, 2022, 8(6): 135-145.

    CHI Y N, GUO Y F, WANG Y W, et al. Software diversity evaluation method based on the properties of ROP/JOP gadgets[J]. Chinese Journal of Network and Information Security, 2022, 8(6): 135-145.

    遲宇寧(1995?),女,云南楚雄人,信息工程大學碩士生,主要研究方向為網(wǎng)絡主動防御、軟件多樣化。

    郭云飛(1963?),男,河南鄭州人,信息工程大學教授、博士生導師,主要研究方向為網(wǎng)絡空間安全、云安全和電信網(wǎng)安全。

    王亞文(1990?),男,河南鄭州人,信息工程大學助理研究員,主要研究方向為擬態(tài)防御和云計算。

    扈紅超(1982?),男,河南商丘人,信息工程大學教授、博士生導師,主要研究方向為網(wǎng)絡空間安全和主動防御技術。

    猜你喜歡
    控制流寄存器指令
    聽我指令:大催眠術
    抵御控制流分析的Python 程序混淆算法
    工控系統(tǒng)中PLC安全漏洞及控制流完整性研究
    電子科技(2021年2期)2021-01-08 02:25:58
    抵御控制流分析的程序混淆算法
    Lite寄存器模型的設計與實現(xiàn)
    計算機應用(2020年5期)2020-06-07 07:06:44
    ARINC661顯控指令快速驗證方法
    測控技術(2018年5期)2018-12-09 09:04:26
    LED照明產(chǎn)品歐盟ErP指令要求解讀
    電子測試(2018年18期)2018-11-14 02:30:34
    分簇結(jié)構(gòu)向量寄存器分配策略研究*
    基于控制流隱藏的代碼迷惑
    坐標系旋轉(zhuǎn)指令數(shù)控編程應用
    機電信息(2014年27期)2014-02-27 15:53:56
    国产真人三级小视频在线观看| 岛国毛片在线播放| 黄色视频不卡| 亚洲精品国产精品久久久不卡| 国产伦人伦偷精品视频| 国产成人av教育| 国产成人免费观看mmmm| 免费在线观看日本一区| 老司机亚洲免费影院| 少妇 在线观看| 久久精品国产a三级三级三级| 巨乳人妻的诱惑在线观看| 在线观看一区二区三区激情| 中文字幕制服av| www.熟女人妻精品国产| 亚洲少妇的诱惑av| 女人被躁到高潮嗷嗷叫费观| 每晚都被弄得嗷嗷叫到高潮| 天天躁夜夜躁狠狠躁躁| 欧美日韩国产mv在线观看视频| 无限看片的www在线观看| 黑人巨大精品欧美一区二区mp4| 在线观看免费视频日本深夜| 国产成人av激情在线播放| 黄色丝袜av网址大全| 国产区一区二久久| 99国产精品一区二区蜜桃av | 国产99久久九九免费精品| 91老司机精品| 国产精品一区二区免费欧美| 十分钟在线观看高清视频www| 人人妻人人澡人人看| 无人区码免费观看不卡 | 757午夜福利合集在线观看| 色婷婷久久久亚洲欧美| videos熟女内射| 国产欧美日韩精品亚洲av| 欧美精品一区二区大全| 日韩中文字幕视频在线看片| 天天躁日日躁夜夜躁夜夜| 精品国产超薄肉色丝袜足j| 国产真人三级小视频在线观看| 五月开心婷婷网| 1024视频免费在线观看| 熟女少妇亚洲综合色aaa.| 午夜福利视频精品| 亚洲国产成人一精品久久久| 亚洲精品美女久久久久99蜜臀| 午夜福利在线免费观看网站| 色在线成人网| 老司机靠b影院| 建设人人有责人人尽责人人享有的| 国产成人欧美| 亚洲精品在线观看二区| 精品国产亚洲在线| 涩涩av久久男人的天堂| 日韩 欧美 亚洲 中文字幕| www.999成人在线观看| 国产日韩欧美亚洲二区| 日韩 欧美 亚洲 中文字幕| 啦啦啦免费观看视频1| av欧美777| 亚洲精品一二三| 蜜桃在线观看..| 国产欧美日韩一区二区三| 51午夜福利影视在线观看| 免费在线观看黄色视频的| 久久热在线av| 精品国产超薄肉色丝袜足j| 国产精品久久久人人做人人爽| 露出奶头的视频| 欧美成狂野欧美在线观看| 国产亚洲午夜精品一区二区久久| 成年人午夜在线观看视频| 精品亚洲乱码少妇综合久久| 日韩视频一区二区在线观看| 99热网站在线观看| 精品卡一卡二卡四卡免费| 妹子高潮喷水视频| 天堂动漫精品| 亚洲天堂av无毛| 国产高清videossex| 超碰成人久久| 国产淫语在线视频| 人成视频在线观看免费观看| 午夜成年电影在线免费观看| 欧美日韩精品网址| av视频免费观看在线观看| 精品免费久久久久久久清纯 | 18禁裸乳无遮挡动漫免费视频| 一区二区三区国产精品乱码| 乱人伦中国视频| 日韩三级视频一区二区三区| 嫁个100分男人电影在线观看| 免费久久久久久久精品成人欧美视频| 我要看黄色一级片免费的| 国产在线一区二区三区精| 国产欧美日韩精品亚洲av| 欧美亚洲 丝袜 人妻 在线| 别揉我奶头~嗯~啊~动态视频| 久久久久视频综合| 免费在线观看视频国产中文字幕亚洲| 亚洲国产精品一区二区三区在线| 少妇的丰满在线观看| 亚洲中文日韩欧美视频| 99久久人妻综合| 99在线人妻在线中文字幕 | 在线av久久热| 久久精品亚洲熟妇少妇任你| 中文字幕另类日韩欧美亚洲嫩草| 色尼玛亚洲综合影院| 午夜两性在线视频| 国产免费现黄频在线看| 亚洲精品国产一区二区精华液| 国产视频一区二区在线看| 一本一本久久a久久精品综合妖精| 欧美乱妇无乱码| 国精品久久久久久国模美| 国产精品影院久久| 亚洲精品自拍成人| 精品高清国产在线一区| 国产主播在线观看一区二区| 麻豆国产av国片精品| 99国产精品99久久久久| 亚洲精品久久成人aⅴ小说| 纵有疾风起免费观看全集完整版| 多毛熟女@视频| 欧美激情久久久久久爽电影 | 亚洲,欧美精品.| av网站免费在线观看视频| 大片电影免费在线观看免费| 黑人巨大精品欧美一区二区mp4| 国产高清激情床上av| 一夜夜www| 国产97色在线日韩免费| 精品久久久精品久久久| 飞空精品影院首页| 亚洲中文av在线| 黄频高清免费视频| 美女扒开内裤让男人捅视频| 国产精品久久久久久精品电影小说| 国产日韩欧美在线精品| 欧美在线一区亚洲| www.精华液| 久久久久网色| 在线观看免费视频网站a站| 免费女性裸体啪啪无遮挡网站| 麻豆国产av国片精品| 国产在线精品亚洲第一网站| 老熟妇乱子伦视频在线观看| 99re在线观看精品视频| 久久久久久久精品吃奶| av又黄又爽大尺度在线免费看| 男男h啪啪无遮挡| 亚洲国产欧美日韩在线播放| 日韩三级视频一区二区三区| 极品人妻少妇av视频| 啦啦啦在线免费观看视频4| 亚洲精品国产区一区二| 亚洲成人国产一区在线观看| 一区在线观看完整版| 亚洲色图综合在线观看| 99久久人妻综合| 亚洲性夜色夜夜综合| 国产麻豆69| 中文字幕av电影在线播放| 日韩精品免费视频一区二区三区| 一边摸一边抽搐一进一小说 | 国产亚洲午夜精品一区二区久久| 五月天丁香电影| 无遮挡黄片免费观看| 久久中文字幕人妻熟女| 中文字幕色久视频| 成年版毛片免费区| 在线观看免费视频网站a站| 国产精品 国内视频| 多毛熟女@视频| 九色亚洲精品在线播放| av线在线观看网站| 精品国产乱码久久久久久男人| 亚洲精品乱久久久久久| 老司机亚洲免费影院| 日韩制服丝袜自拍偷拍| 中文字幕另类日韩欧美亚洲嫩草| 婷婷丁香在线五月| 美女国产高潮福利片在线看| av欧美777| 欧美在线一区亚洲| 国产精品免费大片| 中文亚洲av片在线观看爽 | 久久久久久免费高清国产稀缺| 亚洲男人天堂网一区| 亚洲天堂av无毛| 窝窝影院91人妻| 午夜精品国产一区二区电影| 免费高清在线观看日韩| e午夜精品久久久久久久| 国产成+人综合+亚洲专区| 十八禁高潮呻吟视频| 欧美日韩亚洲综合一区二区三区_| 一本—道久久a久久精品蜜桃钙片| 欧美日韩国产mv在线观看视频| videos熟女内射| 精品免费久久久久久久清纯 | 亚洲avbb在线观看| 侵犯人妻中文字幕一二三四区| h视频一区二区三区| 男女下面插进去视频免费观看| 欧美中文综合在线视频| 麻豆乱淫一区二区| 99精品欧美一区二区三区四区| tocl精华| 欧美久久黑人一区二区| 久久精品国产a三级三级三级| 最近最新中文字幕大全免费视频| 最近最新中文字幕大全电影3 | 亚洲熟女精品中文字幕| 热re99久久国产66热| videos熟女内射| 纵有疾风起免费观看全集完整版| 啦啦啦中文免费视频观看日本| 久久人人97超碰香蕉20202| 国产精品九九99| 一区二区av电影网| 老司机亚洲免费影院| 久久久精品免费免费高清| 亚洲一区二区三区欧美精品| 亚洲 欧美一区二区三区| 午夜精品国产一区二区电影| 一夜夜www| 黄色丝袜av网址大全| 丝袜在线中文字幕| 满18在线观看网站| 亚洲精品国产色婷婷电影| 亚洲专区国产一区二区| 成年人免费黄色播放视频| 99热国产这里只有精品6| 午夜日韩欧美国产| 精品一品国产午夜福利视频| 免费观看a级毛片全部| 国产成人av激情在线播放| 美女视频免费永久观看网站| 日韩视频一区二区在线观看| 婷婷丁香在线五月| 蜜桃国产av成人99| 久久精品成人免费网站| 天天躁狠狠躁夜夜躁狠狠躁| 久久久久久久国产电影| 999精品在线视频| 免费观看av网站的网址| 99久久99久久久精品蜜桃| 两个人免费观看高清视频| 久久这里只有精品19| 一区二区三区激情视频| 麻豆av在线久日| 午夜91福利影院| 久久av网站| 777米奇影视久久| 纯流量卡能插随身wifi吗| 最近最新免费中文字幕在线| 欧美国产精品va在线观看不卡| 国产在线视频一区二区| 国产在线精品亚洲第一网站| 91麻豆精品激情在线观看国产 | 黄色视频,在线免费观看| 欧美久久黑人一区二区| 日韩精品免费视频一区二区三区| 成年女人毛片免费观看观看9 | 国产xxxxx性猛交| 国产精品美女特级片免费视频播放器 | 国产一区有黄有色的免费视频| 亚洲人成电影免费在线| 亚洲精品国产区一区二| 青草久久国产| 亚洲五月色婷婷综合| 中文字幕另类日韩欧美亚洲嫩草| 国产日韩一区二区三区精品不卡| 精品国产亚洲在线| 国产真人三级小视频在线观看| 欧美日韩亚洲高清精品| 叶爱在线成人免费视频播放| 亚洲欧洲精品一区二区精品久久久| 午夜视频精品福利| 高清黄色对白视频在线免费看| 窝窝影院91人妻| 成年动漫av网址| 久久久久国内视频| 99九九在线精品视频| 国产精品国产av在线观看| 中文字幕人妻熟女乱码| 在线 av 中文字幕| 女性生殖器流出的白浆| 成人影院久久| 日韩成人在线观看一区二区三区| 欧美亚洲 丝袜 人妻 在线| 日韩免费高清中文字幕av| 欧美激情 高清一区二区三区| 两人在一起打扑克的视频| 麻豆成人av在线观看| 国产一区二区三区综合在线观看| 国产成人av教育| 无限看片的www在线观看| 欧美激情极品国产一区二区三区| 亚洲欧美日韩高清在线视频 | 夜夜夜夜夜久久久久| 免费在线观看影片大全网站| 视频在线观看一区二区三区| 又紧又爽又黄一区二区| 亚洲国产欧美一区二区综合| 美女国产高潮福利片在线看| 男女之事视频高清在线观看| 又黄又粗又硬又大视频| 免费女性裸体啪啪无遮挡网站| 大片免费播放器 马上看| 国产在线视频一区二区| 久久青草综合色| a级片在线免费高清观看视频| 熟女少妇亚洲综合色aaa.| 天天躁狠狠躁夜夜躁狠狠躁| 日韩中文字幕视频在线看片| 丁香欧美五月| 99热网站在线观看| 在线观看人妻少妇| e午夜精品久久久久久久| 日韩制服丝袜自拍偷拍| 精品一区二区三区四区五区乱码| 99国产极品粉嫩在线观看| 午夜精品久久久久久毛片777| 国产精品98久久久久久宅男小说| av网站免费在线观看视频| 老司机亚洲免费影院| 欧美日韩亚洲综合一区二区三区_| 国产免费视频播放在线视频| 亚洲熟妇熟女久久| 人人澡人人妻人| 国产一卡二卡三卡精品| 成人影院久久| 午夜福利一区二区在线看| 2018国产大陆天天弄谢| 精品人妻在线不人妻| 欧美成人免费av一区二区三区 | a级片在线免费高清观看视频| 国产精品 欧美亚洲| 国产不卡一卡二| 大码成人一级视频| 国产精品香港三级国产av潘金莲| 亚洲欧洲日产国产| 两个人免费观看高清视频| 美女扒开内裤让男人捅视频| 欧美变态另类bdsm刘玥| 国产亚洲午夜精品一区二区久久| 久久毛片免费看一区二区三区| 久久久国产一区二区| 久久国产精品男人的天堂亚洲| 亚洲精品乱久久久久久| 国产真人三级小视频在线观看| 中文字幕色久视频| 久久狼人影院| 国产精品 欧美亚洲| 两个人免费观看高清视频| 国产亚洲午夜精品一区二区久久| 久久天堂一区二区三区四区| 欧美久久黑人一区二区| 日韩欧美三级三区| 高潮久久久久久久久久久不卡| 高清视频免费观看一区二区| 国精品久久久久久国模美| 亚洲精品粉嫩美女一区| 精品高清国产在线一区| 精品国产一区二区三区久久久樱花| 亚洲国产欧美网| 天天添夜夜摸| 99国产精品一区二区三区| 日本a在线网址| av不卡在线播放| 中文字幕人妻丝袜制服| 国产精品久久久久久精品电影小说| 大型av网站在线播放| 五月天丁香电影| 纵有疾风起免费观看全集完整版| 一级黄色大片毛片| 久久午夜亚洲精品久久| 999久久久国产精品视频| bbb黄色大片| 伊人久久大香线蕉亚洲五| 女警被强在线播放| 午夜免费成人在线视频| 亚洲国产欧美在线一区| 国产av一区二区精品久久| 久久久久精品国产欧美久久久| 一区二区日韩欧美中文字幕| 高清在线国产一区| 中文字幕人妻丝袜一区二区| 精品国内亚洲2022精品成人 | 欧美日韩亚洲高清精品| 国产成人av教育| 乱人伦中国视频| 极品人妻少妇av视频| 亚洲美女黄片视频| 精品午夜福利视频在线观看一区 | 操出白浆在线播放| 日韩制服丝袜自拍偷拍| 国产单亲对白刺激| avwww免费| 午夜成年电影在线免费观看| 国产高清激情床上av| 亚洲成a人片在线一区二区| tube8黄色片| 大码成人一级视频| 久久毛片免费看一区二区三区| 最近最新中文字幕大全电影3 | 久久人妻熟女aⅴ| 久久久久网色| 满18在线观看网站| 国产视频一区二区在线看| 欧美乱妇无乱码| 亚洲国产成人一精品久久久| 日本wwww免费看| 97在线人人人人妻| 亚洲avbb在线观看| 久久av网站| 日日夜夜操网爽| 一个人免费在线观看的高清视频| 欧美性长视频在线观看| 一级,二级,三级黄色视频| 一区二区三区激情视频| 99久久国产精品久久久| 国产一区有黄有色的免费视频| 国产男女内射视频| 精品乱码久久久久久99久播| 在线观看免费高清a一片| 亚洲九九香蕉| 777久久人妻少妇嫩草av网站| a在线观看视频网站| 亚洲精品在线美女| 午夜老司机福利片| 美女午夜性视频免费| 久久久精品94久久精品| 一二三四社区在线视频社区8| 一级毛片精品| 天堂中文最新版在线下载| 老熟妇乱子伦视频在线观看| 欧美成狂野欧美在线观看| 91字幕亚洲| 亚洲成国产人片在线观看| 日韩精品免费视频一区二区三区| 黄片播放在线免费| 国产午夜精品久久久久久| 丰满少妇做爰视频| 国产福利在线免费观看视频| 一二三四在线观看免费中文在| 久久香蕉激情| 女人被躁到高潮嗷嗷叫费观| 一本—道久久a久久精品蜜桃钙片| 国产主播在线观看一区二区| 日本av手机在线免费观看| 亚洲av电影在线进入| av不卡在线播放| 亚洲一区二区三区欧美精品| 日韩免费av在线播放| 成人国产av品久久久| 中文字幕色久视频| 蜜桃在线观看..| 中文字幕av电影在线播放| 日韩欧美免费精品| 久热爱精品视频在线9| 国产欧美日韩一区二区精品| 色在线成人网| 成人影院久久| 午夜福利免费观看在线| 五月天丁香电影| 亚洲五月婷婷丁香| 亚洲精品国产区一区二| 欧美日韩视频精品一区| 黄色 视频免费看| av片东京热男人的天堂| av线在线观看网站| 亚洲人成伊人成综合网2020| 新久久久久国产一级毛片| 国产成人啪精品午夜网站| 亚洲成av片中文字幕在线观看| 9191精品国产免费久久| 日韩人妻精品一区2区三区| 蜜桃国产av成人99| e午夜精品久久久久久久| 久久久精品免费免费高清| 免费在线观看日本一区| 久久人妻熟女aⅴ| 中文亚洲av片在线观看爽 | 亚洲欧美一区二区三区久久| 一级,二级,三级黄色视频| 老熟妇仑乱视频hdxx| 国产成人欧美在线观看 | 中文欧美无线码| 十八禁高潮呻吟视频| 成人18禁在线播放| 欧美日韩中文字幕国产精品一区二区三区 | 亚洲 国产 在线| 精品欧美一区二区三区在线| 国产精品二区激情视频| 又黄又粗又硬又大视频| 在线观看免费日韩欧美大片| videos熟女内射| 国产片内射在线| 国产午夜精品久久久久久| 欧美精品啪啪一区二区三区| 国产精品成人在线| 十八禁高潮呻吟视频| 高清在线国产一区| 国产成人精品在线电影| 亚洲专区国产一区二区| 亚洲国产av新网站| 考比视频在线观看| 丝袜美足系列| 中亚洲国语对白在线视频| 亚洲全国av大片| 欧美日韩亚洲国产一区二区在线观看 | 男女无遮挡免费网站观看| 亚洲欧美日韩高清在线视频 | 777久久人妻少妇嫩草av网站| 香蕉国产在线看| 国产成人系列免费观看| 久久人人爽av亚洲精品天堂| 狠狠婷婷综合久久久久久88av| 又紧又爽又黄一区二区| 99热国产这里只有精品6| 男女无遮挡免费网站观看| 99精品在免费线老司机午夜| 亚洲精品中文字幕一二三四区 | 国产单亲对白刺激| 国产91精品成人一区二区三区 | 麻豆av在线久日| 黑人巨大精品欧美一区二区蜜桃| 高清在线国产一区| 日韩视频一区二区在线观看| 午夜两性在线视频| 在线av久久热| 中文字幕人妻丝袜一区二区| 热99国产精品久久久久久7| 成人黄色视频免费在线看| 丁香欧美五月| 日日夜夜操网爽| 精品福利永久在线观看| 成人国产一区最新在线观看| 黄色丝袜av网址大全| 久久国产精品大桥未久av| 亚洲五月色婷婷综合| 性少妇av在线| 久久av网站| av不卡在线播放| 久久久国产成人免费| 免费少妇av软件| 91老司机精品| 高清黄色对白视频在线免费看| 久久久久久久大尺度免费视频| 老司机福利观看| 亚洲中文av在线| 国产精品免费视频内射| 操美女的视频在线观看| 99精品欧美一区二区三区四区| 亚洲va日本ⅴa欧美va伊人久久| 久9热在线精品视频| 天天影视国产精品| 亚洲精品av麻豆狂野| 久久久久久久久久久久大奶| 久久精品国产a三级三级三级| 制服人妻中文乱码| 久久人妻熟女aⅴ| 每晚都被弄得嗷嗷叫到高潮| 大片电影免费在线观看免费| 久久久国产精品麻豆| 亚洲欧美日韩另类电影网站| 成人国语在线视频| 国产一区二区三区综合在线观看| 老司机在亚洲福利影院| 日本vs欧美在线观看视频| 亚洲av美国av| 超碰成人久久| 操出白浆在线播放| 欧美午夜高清在线| 亚洲自偷自拍图片 自拍| 波多野结衣一区麻豆| 亚洲精品久久成人aⅴ小说| 亚洲av成人一区二区三| 青草久久国产| 成年动漫av网址| 午夜91福利影院| 亚洲色图 男人天堂 中文字幕| avwww免费| 亚洲欧美一区二区三区久久| 久久午夜亚洲精品久久| 在线观看免费视频网站a站| 99九九在线精品视频| 如日韩欧美国产精品一区二区三区| 国产又色又爽无遮挡免费看| 亚洲av片天天在线观看| 国产色视频综合| 久久精品熟女亚洲av麻豆精品| 中文字幕av电影在线播放| 日韩大码丰满熟妇| 免费少妇av软件| 在线观看免费高清a一片| 大香蕉久久成人网| 男女无遮挡免费网站观看| netflix在线观看网站| 后天国语完整版免费观看| 日韩精品免费视频一区二区三区| 亚洲午夜理论影院| 久久精品亚洲av国产电影网| 精品视频人人做人人爽| 色综合婷婷激情| 欧美乱妇无乱码| 久久国产精品男人的天堂亚洲| 色综合婷婷激情| tocl精华|