亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向二進制代碼的軟錯誤故障注入器設計與實現(xiàn)

        2021-10-15 12:48:28羅予東董守玲
        計算機應用與軟件 2021年10期
        關鍵詞:故障注入存儲器寄存器

        羅予東 董守玲 陸 璐

        1(嘉應學院計算機學院 廣東 梅州 514015) 2(華南理工大學計算機科學與工程學院 廣東 廣州 510641)

        0 引 言

        隨著計算機硬件設備集成度的日益提高,現(xiàn)代系統(tǒng)中的硬件故障率也與日俱增。隨著芯片小型化和精密化的不斷發(fā)展,硬件設備更容易受到外部環(huán)境的影響。在使用過程中,主要的故障問題是軟錯誤:一些隨機位在存儲器和寄存器中翻轉(zhuǎn),導致軟件在計算時產(chǎn)生不可預知的錯誤。導致硬件設備電壓變化、存儲器位翻轉(zhuǎn)等軟錯誤的原因很多,對于高可靠性要求的軟件應用,更加重視軟錯誤的影響。目前,硬件和系統(tǒng)級檢測與校正機制幾乎不能監(jiān)視某些軟錯誤。因此,研究軟錯誤對程序計算、程序控制的系統(tǒng)來說具有重要意義。

        為了評估軟錯誤對系統(tǒng)的影響,通常的解決方案是手動生成故障并研究程序在故障下的行為及動作。通常的方法是采用軟件方式注入故障,除此以外還可以模擬外部環(huán)境(如輻射等)產(chǎn)生故障。由于在實際應用中很少發(fā)生軟錯誤,因此需要提高軟錯誤的發(fā)生概率。實際上,模擬外部環(huán)境和直接修改硬件設備狀態(tài),代價是昂貴且不切實際的。研究表明在機器代碼級通過軟件故障注入技術更容易模擬硬件故障,并且具有較高的精度[1]。

        在硬件模擬方法中,通過硬件模擬設備實現(xiàn)位翻轉(zhuǎn)。該方法可以提供機器代碼級的硬件故障注入,通過檢測和校正機制可以覆蓋整個注入過程。為了實現(xiàn)匯編代碼的故障注入結(jié)果與源代碼的映射,研究并設計了一種軟件故障注入方法,可以針對源代碼進行故障注入。目前,該技術面臨的主要挑戰(zhàn)是如何保證硬件錯誤能夠精確注入。原因是硬件錯誤可以分布在程序的任何地方和任何部分,而程序的某些組件無法提供源代碼。二進制故障注入技術可以有效解決上述兩個問題,能夠提供可操縱的、準確以及實用的故障注入方法,該方法通過直接修改二進制代碼來模擬硬件故障。常用的動態(tài)二進制故障檢測和注入工具包括PIN[2]和Valgrind[3],基于上述工具進行故障模擬的方法已被證明是準確和有效的。該故障注入技術主要是處理機器代碼級的硬件指令,對于源代碼級的故障注入更是準確和有效的。

        為了研究軟錯誤對程序計算的實際影響,本文設計并開發(fā)了一種基于PIN的故障注入器。其主要特點是可以在特定位置檢測和修改應用程序,包括各種寄存器和存儲器單元。實驗證明,該方法針對ECC保護存儲器和邏輯單元可以有效地模擬位翻轉(zhuǎn)。本文的主要貢獻是:

        1) 本文設計的故障注入器基于PIN工具。介紹了故障注入器的設計和實現(xiàn),它能夠注入軟錯誤并分析運行結(jié)果,同時提供了一種將故障注入任何特定存儲器和寄存器的方法。

        2) 研究并分析了基于PIN的故障注入器的準確性,評估了軟錯誤對應用程序的影響。

        1 國內(nèi)外主要研究工作

        截至目前,軟錯誤對應用性能和系統(tǒng)可靠性的影響越來越受到關注,故障注入技術作為研究軟錯誤對系統(tǒng)影響的一種常用方法,現(xiàn)已被廣泛采用。在故障注入技術領域,已經(jīng)提出了許多種方法,主要包括以下內(nèi)容。

        1.1 軟錯誤分析的故障注入

        硬件模擬方法通過在機器代碼級別使用硬件模擬器產(chǎn)生單粒子翻轉(zhuǎn),可以在系統(tǒng)架構(gòu)級別輕松注入故障,例如內(nèi)存和寄存器。研究人員采用了照射硬件的方法使存儲器單元在運行過程中引發(fā)位翻轉(zhuǎn)。Karlsson等[4]提出了一種通過使用來自acallfbtnhun-252源的重離子輻射將瞬態(tài)故障注入到集成芯片電路的方法。該方法模擬軟錯誤的基本原理實現(xiàn)了硬件單粒子翻轉(zhuǎn)。這種方法的缺點顯而易見,它們通常是無法控制且高成本的。另外,該方法可能會破壞目標系統(tǒng)。

        基于軟件的故障注入技術是修改目標系統(tǒng)運行的硬件狀態(tài),分析在硬件故障發(fā)生時系統(tǒng)的運行情況。Guan等[5]設計并實現(xiàn)了軟錯誤故障注入框架SEFI,這是一種分析軟件對軟錯誤敏感性的工具。在不改變其他程序或共享VM的操作系統(tǒng)的情況下,可以通過使用開源虛擬機和處理器仿真器(QEMU)成功地實現(xiàn)在目標程序的邏輯操作中注入軟錯誤。但是該方法不支持對特定的寄存器和存儲器進行故障注入。

        1.2 基于動態(tài)二進制插裝的故障注入

        目前,比較流行的故障注入技術是動態(tài)地模擬應用程序二進制文件中的軟錯誤。王承松[6]提出了一個名為BIFIT的故障注入工具,它基于二進制檢測來模擬位翻轉(zhuǎn)。BIFIT能夠在任何指定的位置注入錯誤,如應用程序的全局或堆棧數(shù)據(jù)對象等。但是不支持對寄存器的注入操作,需要進一步的改進。Li等[7]開發(fā)了一種新的故障注入工具FIT-grind,它使用了Valgrind提供的動態(tài)二進制插裝。該工具從底層硬件架構(gòu)進行抽象,并將故障注入到Valgrind提供的人工架構(gòu)中。但是其不支持軟件在動態(tài)運行過程中的注入操作,所以需要增強故障注入的靈活性。

        2 故障模型和動態(tài)二進制檢測框架

        2.1 故障模型

        本文主要考慮針對處理器和存儲器單元發(fā)生的單粒子翻轉(zhuǎn)錯誤。該錯誤一般是由外部環(huán)境輻射引起的。通常每個應用程序運行過程中僅產(chǎn)生一個bit位的翻轉(zhuǎn)錯誤,根據(jù)研究表明,在短時間內(nèi)產(chǎn)生多位翻轉(zhuǎn)的概率非常低。在選擇注入故障的指令時,采用隨機均勻分布。例如,如果應用程序選擇與插裝條件匹配的N條指令,則指令注入故障的概率為1/N。由于寄存器值和存儲器單元內(nèi)容具有多個位,因此采用隨機均勻分布的方法選擇翻轉(zhuǎn)故障的位[8]。

        依據(jù)軟錯誤模擬的相關研究,將實驗結(jié)果分為以下幾類,具體定義內(nèi)容如下。

        定義1良性故障——故障注入的程序輸出與原始執(zhí)行結(jié)果相同。其主要原因是可以通過后續(xù)的程序計算來覆蓋故障數(shù)據(jù)。因此,故障不會擴散到應用程序中,也不會影響其運行結(jié)果。

        定義2硬件異?!捎诠收献⑷胍鸬挠布葳寤虍惓?,軟錯誤可能會導致應用程序崩潰。

        定義3內(nèi)存捕獲——注入的錯誤被內(nèi)置檢測機制捕獲。

        定義4靜默數(shù)據(jù)損壞(SDC)——故障注入程序的輸出與原始程序成功執(zhí)行后的結(jié)果不一致,通常被認為是危險故障,因為它們在程序執(zhí)行期間無法被檢測到,但確實會影響其結(jié)果。

        定義5應用程序掛起(“超時”)——如果應用程序沒有在規(guī)定的時間內(nèi)終止,則定義為超時。通常在不執(zhí)行故障注入的情況下運行程序以獲得基準時間[9]。

        2.2 PIN

        PIN是由英特爾設計的程序分析框架,它在執(zhí)行Linux應用程序過程中進行二進制插裝,具有可移植性、透明性、高效率和健壯性,采用C/C++編程實現(xiàn),提供了一個支持多種體系結(jié)構(gòu)的插裝平臺,實現(xiàn)了一種程序分析器和故障注入器[10]。PIN配備了豐富的API,抽象出架構(gòu)的具體細節(jié),可以編寫便攜式插裝工具。PIN采用即時(JIT)編譯的方法插入和優(yōu)化代碼,提供了一種高效的檢測機制,該檢測機制可以在程序運行過程中探測代碼,從而使得PIN比靜態(tài)檢測或代碼修補的系統(tǒng)工具更強大。

        3 軟錯誤故障注入器

        軟錯誤故障注入器是一種基于二進制檢測的故障注入工具,可在機器代碼級注入硬件故障。該注入器使用PIN(動態(tài)二進制插裝和分析工具)模擬存儲器和各種寄存器中的單粒子翻轉(zhuǎn)。故障注入的目標是可執(zhí)行的二進制程序,可以在沒有源代碼的情況下模擬軟錯誤,其故障注入方法不受編程語言的影響[11]。

        3.1 軟錯誤故障注入器概述

        圖1給出了故障注入器的架構(gòu)設計,主要由三個模塊組成:控制器、監(jiān)視器和故障注入模塊。使用動態(tài)檢測工具可以在應用程序執(zhí)行期間將故障注入到存儲器和寄存器的隨機位置。為了提高插裝性能,設計并開發(fā)了一個收集指令信息的監(jiān)視器。為了協(xié)調(diào)預處理和插裝功能,采用了基于Python腳本的控制器??刂破鞑粌H僅是提供給用戶直接使用的組件,而且還是整個故障注入過程的控制器。在控制器的協(xié)同下,注入器使用預處理的指令信息執(zhí)行故障注入操作;故障注入模塊負責軟錯誤的模擬與實現(xiàn)。圖2為故障注入過程,其整個過程如下:

        1) 用戶控制器,該控制器通過界面的方式提供給用戶,配置實驗的相關參數(shù)信息。

        2) 控制器激活目標系統(tǒng)和監(jiān)視器并執(zhí)行。監(jiān)視器獲取有關故障注入點的相關數(shù)據(jù)。故障注入點為程序監(jiān)視模式下的具體實例,故障信息被傳遞到故障注入器中,注入器激活故障并注入到與控制器相連的進程中。

        3) 故障注入器啟動后,將故障注入到二進制程序中。故障注入產(chǎn)生的數(shù)據(jù)傳遞給控制器,然后存儲在文件中以供離線分析。在注入操作完成并且從目標系統(tǒng)收集了所有數(shù)據(jù)之后,控制器退出實驗并關閉監(jiān)視器。

        圖1 故障注入器架構(gòu)設計

        圖2 故障注入過程

        3.2 監(jiān)視器

        監(jiān)視器是故障注入器的一個模塊,用于判斷在測試過程中注入軟件故障的位置。該模塊能夠收集所有可能的故障信息以及相關的故障模式,并為故障注入器提供該信息。在注入操作之前監(jiān)視器獲取了指令的詳細信息進而加速故障注入過程。應用程序的分析過程不會影響程序?qū)收献⑷氲捻憫?。事實上,監(jiān)視器為所有可能的故障位置提供了特定插裝操作的相關故障模式。控制器啟動可執(zhí)行程序和監(jiān)視器。后者識別某些指令模式并將分析信息存儲到文件中作為故障注入點。當應用程序到達指定的執(zhí)行點并匹配輸入的分析信息時,故障注入模塊立即注入故障以模擬bit位翻轉(zhuǎn)。故障注入操作將使不相關的代碼快速運行。通過在指定的故障注入執(zhí)行點之前注入故障和插裝,可以精確地提高插裝性能。

        3.3 控制器

        控制器為用戶與故障注入器之間的接口,通過用戶配置實現(xiàn)故障注入操作。采用Python腳本的方式實現(xiàn)控制器信息配置,故障支持多次注入,用戶可以靈活地設計各種故障實例集。控制器將用戶設置的參數(shù)傳遞給監(jiān)視器,并協(xié)調(diào)監(jiān)視器和故障注入模塊之間的工作。

        控制器負責收集故障注入操作產(chǎn)生的相關數(shù)據(jù),包括應用狀態(tài)、執(zhí)行輸出和故障注入信息。此外,如果應用程序運行很長時間,控制腳本將中止應用程序執(zhí)行。如果執(zhí)行時間超過設定值,故障注入器將可執(zhí)行程序狀態(tài)定義為超時。根據(jù)之前的故障注入研究成果,超時時間系數(shù)設置為10,表示故障注入下目標應用程序的執(zhí)行時間比無錯誤執(zhí)行時間延長了10倍。

        3.4 故障注入模塊

        故障注入模塊是整個系統(tǒng)的關鍵模塊。通過監(jiān)視器和控制器的協(xié)調(diào),故障注入器可以在任何執(zhí)行位置產(chǎn)生位翻轉(zhuǎn)錯誤。故障注入模塊應能夠識別故障注入點,通過PIN的API識別與用戶配置匹配的特定故障模式。PIN提供了一種通過允許分析例程覆蓋應用程序寄存器和應用程序內(nèi)存來修改程序行為的方法,這種機制可以模擬寄存器和存儲器的位翻轉(zhuǎn)。對于寄存器,可以通過確定操作數(shù)是否帶PIN助手的寄存器來選擇限定指令,同時,可以指定寄存器的類型,包括數(shù)據(jù)寄存器、標志寄存器等。對于存儲器借助PIN的功能接口判斷是否進行加載或存儲操作[12]。

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

        4.1 典型應用程序的選取

        實驗所選應用程序代表了典型的應用程序。本文中使用的目標應用程序主要包括:

        1) 多線程程序應用。多線程協(xié)同工作,共享存儲資源,線程之間通過鎖控制不同順序的執(zhí)行過程。要求訪問全局存儲線程安全的工具或手段能夠與其他線程協(xié)調(diào)。

        2) 預測算法?;诰€性關系數(shù)據(jù)的算法,通過讀寫存儲器完成數(shù)據(jù)的訪問,通過寄存器保存中間過程,完成復雜的預測式計算。

        3) 浮點計算。通過浮點寄存器傳遞參數(shù),完成浮點計算,輸出計算結(jié)果到其他應用。

        4.2 實驗方法

        本節(jié)主要介紹了故障注入實驗的結(jié)果。實驗環(huán)境的操作系統(tǒng)是Linux(x64),在該環(huán)境中下載PIN 3.7并進行二次開發(fā)以實現(xiàn)功能擴展。在選擇注入故障的模式時,采用隨機均勻分布的方法。

        通過實驗評估軟錯誤對應用程序執(zhí)行時間和應用程序輸出結(jié)果的影響。為了評估故障注入對執(zhí)行時間的影響,定義了三個執(zhí)行時間。T0為最初的程序執(zhí)行時間,作為基準時間;T1為故障注入后的執(zhí)行時間;T2為在沒有故障注入但是使用插裝的情況下的執(zhí)行時間。將故障注入的性能影響定義為P。其計算公式如下:

        P=(T1-T2)/T0

        對于故障注入操作,根據(jù)監(jiān)視器的指令信息隨機選擇800條指令,選擇一個隨機均勻分布的指令來隨機翻轉(zhuǎn)。對于每個應用程序,模擬寄存器和存儲器的單粒子翻轉(zhuǎn),分別執(zhí)行三次故障注入,觀察整個故障注入期間應用程序的執(zhí)行時間,并評估軟錯誤對其性能的影響。

        4.3 實驗結(jié)果

        在同一應用程序的不同位置注入故障會對執(zhí)行時間產(chǎn)生不同的影響。圖3顯示了軟錯誤對多線程應用程序執(zhí)行時間的影響,同時可以看到寄存器故障注入下的執(zhí)行時間明顯長于內(nèi)存故障注入時的執(zhí)行時間,這說明應用程序的寄存器單元對軟錯誤故障特別敏感。

        圖3 多線程應用程序的擴展執(zhí)行時間

        圖4說明了在預測算法應用程序中,寄存器故障的執(zhí)行時間明顯比存儲器的執(zhí)行時間延長,這表明應用程序的寄存器故障對軟錯誤故障響應明顯。而在寄存器故障方面性能損耗較小。圖5說明了內(nèi)存故障的浮點計算應用程序的執(zhí)行時間比寄存器故障的應用程序執(zhí)行時間更為敏感。

        圖4 預測算法應用程序的擴展執(zhí)行時間

        圖5 浮點計算應用程序的擴展執(zhí)行時間

        實驗結(jié)果表明,應用程序執(zhí)行時間對軟錯誤非常敏感。此外,還可以得出結(jié)論,寄存器中的軟錯誤對性能的影響更大,因為寄存器錯誤注入會顯著延長執(zhí)行時間。在預測算法應用程序中,可以看到執(zhí)行時間增加了幾倍,這表明寄存器中的數(shù)據(jù)一旦被破壞,就會導致算法收斂達到預期精度的時間延長。同時在某些情況下,可以觀察到執(zhí)行時間的增加取決于某些特殊的故障注入點。

        圖6和圖7分別比較了三個目標應用程序之間的故障注入結(jié)果對性能的影響,通過結(jié)果可以看出預測算法應用程序最容易受到軟錯誤對程序性能的影響。這主要可能是預測算法需要通過計算收斂到預期的精度,從而導致預測的時間增加。

        圖6 寄存器故障注入執(zhí)行時間

        圖7 存儲器故障注入執(zhí)行時間

        圖8和圖9分別給出了目標應用程序的寄存器和存儲器的故障注入結(jié)果,錯誤行為也因不同的應用程序而不同。從圖9中可以看到寄存器故障的浮點計算應用成功率高于其他應用,統(tǒng)計上證明了該應用對寄存器故障不敏感。內(nèi)存捕獲僅在多線程應用程序上發(fā)生,因為它在此應用程序上有自己的檢測機制。無論是在寄存器還是在內(nèi)存中,類型SDC錯誤在預測算法應用程序中比在其他應用程序中更為常見,這表明此類故障對應用程序的輸出具有更大影響。良性故障的成功率在浮點計算中比在其他應用程序中更為常見;硬件異常在多線程應用中比在其他應用程序中更為常見;超時在預測算法中比在其他應用程序中更為常見。通過評估軟錯誤對應用程序的影響,本文發(fā)現(xiàn)如果應用程序?qū)M件敏感,應用程序執(zhí)行時間和應用程序輸出幾乎會同時受到影響。

        圖8 存儲器故障注入結(jié)果統(tǒng)計

        圖9 寄存器故障注入結(jié)果統(tǒng)計

        4.4 軟錯誤結(jié)果分析

        根據(jù)4.3節(jié)中的實驗結(jié)果,分析故障注入器的實驗結(jié)果。如圖3所示,可以看出寄存器故障注入下的應用程序其執(zhí)行時間明顯長于內(nèi)存故障浮點計算應用程序。為了探究軟錯誤對各種寄存器的影響,將故障分別注入通用寄存器,臨時寄存器和標志寄存器,以分析故障注入對特定寄存器的影響。

        每個故障注入都針對以下三種寄存器之一:

        1) 1x86-64 ISA中的16個64位通用寄存器(RAX,RBX,RCX,RDX,RDI,RSI,RSP,RBP,R8,R9,R10,R11,R12,R13,R14,R15)。

        2) 一個64位標志寄存器。

        3) 32個64位臨時寄存器,代表寄存器的高位或低位。

        圖10顯示了多線程應用中的故障注入崩潰率。臨時寄存器只延長執(zhí)行時間,不會產(chǎn)生崩潰。R8寄存器和R15寄存器的影響很小,因為它們很少使用。由此可以得出結(jié)論,在堆棧指針寄存器中注入的故障大大增加了該實驗中程序的崩潰率。

        圖10 多線程應用程序寄存器故障崩潰率

        根據(jù)4.3節(jié)中的結(jié)果,進一步研究注入故障后的程序產(chǎn)生不同行為的原因。注入的故障通常從硬件傳播到軟件級別,然后破壞各種程序狀態(tài)和行為。

        故障注入類型分為三種:

        1) 控制方式注入:如果將故障注入用于條件分支的寄存器,則定義為控制故障。在這種情況下,故障注入器將故障直接注入到條件分支中的條件標志。

        2) 地址方式注入:如果故障被注入到影響加載或存儲操作中的存儲器地址的寄存器中,則將其作為地址故障。

        3) 數(shù)據(jù)方式注入:這種類型的故障通常涉及整數(shù)算術指令、浮點計算、寄存器之間的數(shù)據(jù)移動、邏輯指令等。從后續(xù)程序的運行結(jié)果分析,在軟錯誤傳播之后,數(shù)據(jù)故障將轉(zhuǎn)變?yōu)榈刂饭收匣蚩刂乒收稀?/p>

        從圖11中可以看出,在多線程應用中,地址方式注入的故障率高于其他類型,這說明在內(nèi)存操作階段注入故障時可能會導致程序中止。此外,可以得出結(jié)論,當在預測算法的數(shù)值計算階段中注入故障時,可能會導致應用程序的執(zhí)行時間增加。由于算法結(jié)構(gòu)和數(shù)據(jù)規(guī)模的原因,故障注入下不同程序的執(zhí)行時間和輸出變化很大。

        圖11 不同故障類型注入結(jié)果

        5 結(jié) 語

        本文設計一種軟錯誤的故障注入器,用于模擬機器級代碼的軟錯誤,主要基于英特爾的動態(tài)插裝和分析框架PIN。該注入器能夠模擬寄存器和存儲器中的單bit錯誤。為了提高插裝性能,設計并實現(xiàn)了監(jiān)視和控制腳本。此外,將該注入器應用于典型的應用程序,并運行數(shù)百次故障注入實驗以評估其對程序執(zhí)行時間和程序輸出的影響。

        實驗結(jié)果表明,典型應用程序的軟錯誤對性能和精度敏感。故障注入的位置不同,會對應用程序產(chǎn)生不同的影響,基于應用程序固有的算法特性和計算規(guī)模的不同,其對軟錯誤響應也不同。

        下一步的工作是開發(fā)一個完全集成的故障注入環(huán)境,該環(huán)境可以在各種操作系統(tǒng)下使用。此外,還要進一步改進支持的故障類型,以便將來在實際系統(tǒng)上進行應用。

        猜你喜歡
        故障注入存儲器寄存器
        模擬訓練裝備故障注入系統(tǒng)研究
        靜態(tài)隨機存儲器在軌自檢算法
        Lite寄存器模型的設計與實現(xiàn)
        計算機應用(2020年5期)2020-06-07 07:06:44
        SM4算法前四輪約減輪故障注入分析
        采用修改-回放原理的1553B故障注入方法
        測控技術(2018年7期)2018-12-09 08:58:10
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        列車MVB總線故障注入研究
        存儲器——安格爾(墨西哥)▲
        基于Nand Flash的高速存儲器結(jié)構(gòu)設計
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應用
        九九99无码精品视频在线观看| 欧美大肥婆大肥bbbbb| 不卡视频在线观看网站| av少妇偷窃癖在线观看| 97人妻碰碰视频免费上线| 亚洲精品视频在线一区二区| 亚洲一区二区三区在线| 91精品福利观看| 欧美一性一乱一交一视频| 最新中文字幕亚洲一区| 久久午夜伦鲁鲁片免费| 久久久精品3d动漫一区二区三区 | 亚洲成熟中老妇女视频| 国内精品国产三级国产av另类| 在线观看午夜亚洲一区| 婷婷色香五月综合缴缴情| 视频一区视频二区自拍偷拍| 中文字幕午夜AV福利片| 男女扒开双腿猛进入免费看污| 国产成人精品久久综合| 一区二区三区中文字幕p站| 国产亚洲精品视频网站| 麻豆国产AV网站| 最新国产乱视频伦在线| 国产乱人视频在线播放| 国产精品理论片在线观看| 国产一区二区三区的区| 极品少妇在线观看视频| 产国语一级特黄aa大片| 无码毛片aaa在线| 亚洲日韩国产一区二区三区在线| 免费日本一区二区三区视频 | 欧美一区二区三区视频在线观看| 国产毛片黄片一区二区三区| 91快射视频在线观看| 亚洲一区二区国产精品视频| 精品久久综合一区二区| 久久精品国产夜色| 久久亚洲私人国产精品| 亚洲av综合永久无码精品天堂| 肉色丝袜足j视频国产|