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

    SQLMVED:基于多變體執(zhí)行的SQL 注入運(yùn)行時(shí)防御系統(tǒng)

    2021-05-13 10:12:46馬博林張錚劉浩鄔江興
    通信學(xué)報(bào) 2021年4期
    關(guān)鍵詞:變體攻擊者語(yǔ)句

    馬博林,張錚,劉浩,鄔江興

    (1.信息工程大學(xué),河南 鄭州 450001;2.網(wǎng)絡(luò)通信與安全紫金山實(shí)驗(yàn)室,江蘇 南京 211100)

    1 引言

    隨著“互聯(lián)網(wǎng)+”新業(yè)態(tài)的快速發(fā)展,傳統(tǒng)行業(yè)向網(wǎng)絡(luò)服務(wù)發(fā)生轉(zhuǎn)變,海量的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,互聯(lián)網(wǎng)用戶可以通過結(jié)構(gòu)化查詢語(yǔ)句(SQL,structured query language)隨時(shí)隨地訪問網(wǎng)絡(luò)服務(wù)數(shù)據(jù)。數(shù)據(jù)庫(kù)遵循國(guó)際標(biāo)準(zhǔn)化組織(ISO,International Organization for Standardization)、國(guó)際電工委員會(huì)(IEC,International Electrotechnical Commission)等發(fā)布的統(tǒng)一標(biāo)準(zhǔn),雖然提高了網(wǎng)絡(luò)服務(wù)間數(shù)據(jù)格式的一致性,但易被利用的特性也使網(wǎng)絡(luò)服務(wù)數(shù)據(jù)面臨越來越多的安全威脅。

    目前,SQL 注入攻擊(SQLIA,SQL injection attack)是危害網(wǎng)絡(luò)服務(wù)數(shù)據(jù)安全的主要威脅之一,“OWASP TOP 10”項(xiàng)目最近三次發(fā)布的The Ten Most Critical Web Application Security Risks報(bào)告顯示,SQLIA 在所有統(tǒng)計(jì)的安全威脅分類中連續(xù)多年排名首位。

    文獻(xiàn)[1]提出了一種基于指令集隨機(jī)化的SQLIA 防御方法,通過對(duì)SQL 進(jìn)行隨機(jī)化變化,使攻擊者不能預(yù)知應(yīng)用程序的SQL 形式,無法完成SQLIA。該文獻(xiàn)推動(dòng)了SQLIA 防御方法由SQL 運(yùn)行前的檢測(cè)技術(shù)向運(yùn)行時(shí)的主動(dòng)防御技術(shù)轉(zhuǎn)變,其中的隨機(jī)化方法在黑盒環(huán)境下能夠有效抵御SQLIA,但是攻擊者一旦通過社會(huì)工程學(xué)或者在白盒環(huán)境下掌握了隨機(jī)化方法,調(diào)整注入代碼,便能實(shí)現(xiàn)有效的SQLIA。

    為了解決該問題,本文改進(jìn)文獻(xiàn)[1]的技術(shù)思路,提出了一種基于多變體執(zhí)行技術(shù)的SQLIA防御方法。結(jié)合多變體執(zhí)行與隨機(jī)化防御思路,構(gòu)建SQLIA 運(yùn)行時(shí)防御系統(tǒng)架構(gòu),并根據(jù)數(shù)據(jù)的讀、寫操作設(shè)計(jì)針對(duì)性的表決方法,基于Web 服務(wù)實(shí)現(xiàn)了原型系統(tǒng)SQLMVED(SQL multi-variant execution defense)。安全性評(píng)估和實(shí)驗(yàn)測(cè)試表明,該方法無論在攻擊者是否掌握了防御機(jī)制的情況下,均能夠有效抵御SQLIA。

    2 SQL 注入攻擊研究

    2.1 SQL 注入攻擊原理

    SQL 是用于數(shù)據(jù)庫(kù)查詢、更新和管理的高級(jí)非過程化編程語(yǔ)言,最初由IBM 公司研制開發(fā),目前廣泛地應(yīng)用于程序設(shè)計(jì)開發(fā)中。圖1 給出了典型的Web 服務(wù)架構(gòu)[2]??蛻舳送ㄟ^應(yīng)用層協(xié)議向服務(wù)器端發(fā)送請(qǐng)求(步驟1))。服務(wù)器通過CGI/FastCGI格式將請(qǐng)求轉(zhuǎn)發(fā)至CG(Icommon gateway interface)應(yīng)用程序進(jìn)行解析處理(步驟2))。執(zhí)行目標(biāo)程序,目標(biāo)程序若執(zhí)行回調(diào)功能代碼,則重復(fù)步驟3);若執(zhí)行數(shù)據(jù)庫(kù)操作功能代碼,則進(jìn)行步驟4),例如程序調(diào)用PHP-CGI 中的mysqli_query、oci_execute 等函數(shù);若執(zhí)行具有系統(tǒng)命令調(diào)用功能的代碼,則進(jìn)行步驟5)。最終,通過步驟6)和步驟7)將服務(wù)器端的響應(yīng)結(jié)果返回至客戶端。

    圖1 典型的Web 服務(wù)架構(gòu)

    SQLIA 的語(yǔ)句執(zhí)行在步驟4),攻擊者在用戶輸入中構(gòu)造惡意SQL,由CGI 將其與目標(biāo)程序中的SQL 拼接后發(fā)送至數(shù)據(jù)庫(kù)執(zhí)行,從而實(shí)現(xiàn)非法操作。相較于發(fā)生在步驟3)的代碼注入攻擊和發(fā)生在步驟5)的命令注入攻擊,SQLIA 不依賴于操作系統(tǒng)以及應(yīng)用程序運(yùn)行環(huán)境,在漏洞存在的情況下攻擊實(shí)施的門檻較低。

    2.2 SQL 注入攻擊威脅

    SQLIA 是針對(duì)數(shù)據(jù)庫(kù)的攻擊技術(shù),攻擊者利用應(yīng)用程序開發(fā)階段的漏洞或缺乏對(duì)輸入驗(yàn)證,向應(yīng)用程序中注入惡意SQL,從而達(dá)到查詢、更改或刪除數(shù)據(jù)的目的。根據(jù)網(wǎng)絡(luò)空間安全[3]的框架劃分,SQLIA 主要是利用應(yīng)用層的漏洞或后門,破壞數(shù)據(jù)層的安全性,SQLIA 主要將以下網(wǎng)絡(luò)服務(wù)特性或功能作為攻擊目標(biāo)。

    1) 繞過身份驗(yàn)證。網(wǎng)絡(luò)服務(wù)通常設(shè)置身份驗(yàn)證過程,以用戶輸入與數(shù)據(jù)庫(kù)查詢結(jié)果比對(duì)的方式實(shí)現(xiàn),攻擊者通過SQLIA 可繞過比對(duì)過程,使用非法用戶成功繞過身份驗(yàn)證。

    2) 竊取數(shù)據(jù)。網(wǎng)絡(luò)服務(wù)中的大量數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,如身份證號(hào)、手機(jī)號(hào)、銀行卡號(hào)等信息,攻擊者通過SQLIA 獲取敏感信息,是竊取數(shù)據(jù)的主要途徑。

    3) 破壞可用性。攻擊者通過SQLIA 不僅可以竊取數(shù)據(jù),還可以更改或刪除數(shù)據(jù),破壞數(shù)據(jù)完整性,甚至停止數(shù)據(jù)庫(kù)服務(wù),達(dá)到拒絕服務(wù)的目的。

    4) 數(shù)據(jù)庫(kù)指紋識(shí)別。攻擊者通過SQLIA 識(shí)別數(shù)據(jù)庫(kù)類型、版本等信息,為發(fā)起針對(duì)性的0day或APT(advanced persistent threat)攻擊做準(zhǔn)備。

    5) 繞過輸入檢查。網(wǎng)絡(luò)服務(wù)為了抵御SQLIA,選擇性地部署外掛式防御措施,對(duì)用戶輸入檢查是否存在注入語(yǔ)句,攻擊者通過構(gòu)造特殊的SQLIA繞過輸入檢查。

    2.3 SQL 注入攻擊分類

    本節(jié)主要介紹目前已知的SQLIA 類型,由于無法窮舉每種攻擊類型的所有變化形式,表1 以用戶查詢?yōu)閳?chǎng)景,為每種SQLIA 類型提供了代表性的示例語(yǔ)句。真實(shí)的網(wǎng)絡(luò)對(duì)抗中,攻擊者通常組合使用多種SQLIA 類型來完成對(duì)特定目標(biāo)的攻擊。

    1) 重言式。此類攻擊在條件語(yǔ)句中構(gòu)造注入代碼,使SQL 的判定結(jié)果永遠(yuǎn)為真,從而繞過條件語(yǔ)句中的驗(yàn)證過程。

    2) 批量查詢。此類攻擊利用查詢分隔符,注入額外的SQL,使原始語(yǔ)句完成操作后,繼而執(zhí)行注入的批量語(yǔ)句。

    3) 錯(cuò)誤回顯。數(shù)據(jù)庫(kù)錯(cuò)誤消息通常包含有用信息,此類攻擊向服務(wù)端注入語(yǔ)法錯(cuò)誤、類型轉(zhuǎn)換錯(cuò)誤或邏輯錯(cuò)誤的SQL,利用錯(cuò)誤回顯獲得數(shù)據(jù)庫(kù)關(guān)鍵信息。更進(jìn)一步地,攻擊者將錯(cuò)誤語(yǔ)句與查詢語(yǔ)句拼接,利用錯(cuò)誤信息回顯查詢結(jié)果。

    4) 聯(lián)合查詢。此類攻擊注入U(xiǎn)NION 語(yǔ)句,改變返回的數(shù)據(jù)結(jié)果,從而繞過驗(yàn)證過程或獲得敏感數(shù)據(jù)。

    5) 存儲(chǔ)過程。此類攻擊屬于數(shù)據(jù)庫(kù)中設(shè)置的額外抽象層,可以由開發(fā)人員進(jìn)行編程,因此同樣遭受SQLIA 威脅。攻擊者可以注入SHUTDOWN、DROPTABLE 等語(yǔ)句,造成數(shù)據(jù)破壞或拒絕服務(wù)。

    6) 盲注。當(dāng)應(yīng)用程序隱藏了數(shù)據(jù)庫(kù)的不安全錯(cuò)誤消息而不再產(chǎn)生錯(cuò)誤回顯時(shí),攻擊者既可以采用布爾盲注方法,利用應(yīng)用程序的正確或錯(cuò)誤響應(yīng),判斷注入語(yǔ)句的執(zhí)行結(jié)果;也可以采用時(shí)間盲注方法,利用sleep、benchmark 等函數(shù)配合if-then 語(yǔ)句,通過響應(yīng)時(shí)間判斷注入語(yǔ)句的執(zhí)行結(jié)果,從而獲得有效信息。

    7) 交替編碼。攻擊者使用交替編碼(例如十六進(jìn)制、ASCII、Unicode)修改注入查詢語(yǔ)句,從而繞過輸入過濾器的檢測(cè)。

    2.4 SQL 注入攻擊防御方法

    根據(jù)防御發(fā)生的時(shí)機(jī),Shar 等[4]將SQLIA 防御技術(shù)在廣義上分為防御性編碼、運(yùn)行前分析和運(yùn)行時(shí)防御3 類。

    防御性編碼是在開發(fā)階段約束開發(fā)者的代碼編寫習(xí)慣,要求開發(fā)者在實(shí)現(xiàn)過程中更多地采用參數(shù)化查詢或存儲(chǔ)過程轉(zhuǎn)義所有用戶提交的參數(shù)、數(shù)據(jù)類型校驗(yàn)、白名單篩選等防御性編碼方式。Mcclure 等[5]和Cook 等[6]創(chuàng)新地提出了SQL 開發(fā)模式,開發(fā)者通過提供的API,能夠自動(dòng)實(shí)現(xiàn)具有數(shù)據(jù)類型校驗(yàn)、輸入過濾和轉(zhuǎn)義的SQL,消除大量可能導(dǎo)致SQLIA 發(fā)生的編碼問題。此類防御技術(shù)盡管是有效的,但需要開發(fā)者使用新的編程方式,并且不會(huì)對(duì)已存在的應(yīng)用程序提供安全防護(hù),應(yīng)用范圍狹窄。因此,防御性編碼類的SQLIA 防御技術(shù)未受到國(guó)內(nèi)外學(xué)者的持續(xù)關(guān)注,研究成果有限。

    運(yùn)行前分析一般是通過對(duì)應(yīng)用程序進(jìn)行漏洞掃描、自動(dòng)化測(cè)試等來發(fā)現(xiàn)SQLIA 漏洞,從而確保應(yīng)用程序是安全可靠的,或者是在SQL 執(zhí)行之前利用數(shù)據(jù)挖掘、黑白名單等技術(shù)手段對(duì)輸入檢查,來保證用戶輸入不含有SQLIA 代碼。在漏洞測(cè)試方面,Kiezun 等[7]開發(fā)了ARDILLA 工具,能夠根據(jù)應(yīng)用程序自動(dòng)生成SQLIA 語(yǔ)句,從而檢測(cè)應(yīng)用程序是否存在SQLIA 漏洞;孫歆等[8]設(shè)計(jì)了基于缺陷注入的模糊測(cè)試方法,服務(wù)代理獲取用戶請(qǐng)求后轉(zhuǎn)發(fā)至模糊測(cè)試引擎,引擎采用DOM4J 解析XML偽碼配置,生成測(cè)試用例進(jìn)行注入測(cè)試。針對(duì)輸入檢測(cè),防御方法通常設(shè)計(jì)在防火墻層面[9-12]或CGI層面[13-15]。在防火墻層面的相關(guān)研究較豐富,Kar等[9]提出的SQLiGoT 采用令牌圖和支持向量機(jī)能有效地識(shí)別SQLIA 語(yǔ)句;韓宸望等[10]提出了基于SQL 語(yǔ)法樹的過濾方法,在用戶請(qǐng)求進(jìn)入服務(wù)端前對(duì)比輸入語(yǔ)句的SQL 語(yǔ)法樹特征是否與合法特征一致,有效抵御SQLIA;趙宇飛等[11]基于長(zhǎng)度、連接頻率和特征串對(duì)網(wǎng)絡(luò)流量進(jìn)行分析,有效檢測(cè)SQLIA。在CGI 層面,張慧琳等[13]提出利用編碼值判斷SQL 中敏感字符的來源、轉(zhuǎn)義非可信敏感字符,基于 PHP 的 Zend 引擎實(shí)現(xiàn)了原型系統(tǒng)PHPGate,阻止SQLIA 發(fā)生。運(yùn)行前分析類的SQLIA 防御技術(shù),無論是通過生成測(cè)試用例進(jìn)行自動(dòng)化測(cè)試,還是構(gòu)建合法或非法的語(yǔ)句特征進(jìn)行輸入檢測(cè),其核心思想是在掌握惡意輸入規(guī)則、語(yǔ)法漏洞集合或者建立有效白名單的前提下實(shí)施有效防護(hù),當(dāng)新型的攻擊出現(xiàn)時(shí),此類技術(shù)保證的攻守平衡會(huì)被打破,繼而再努力解決新的問題,產(chǎn)生新的研究成果。

    表1 SQLIA 類型及示例

    運(yùn)行時(shí)防御在運(yùn)行前分析的基礎(chǔ)上,一方面在程序運(yùn)行時(shí)進(jìn)行監(jiān)控,確保應(yīng)用程序的行為始終在信任狀態(tài),Halfond 等[16]提出了AMNESIA 工具,該工具運(yùn)行在CGI 層,將靜態(tài)分析和運(yùn)行時(shí)防御相結(jié)合,在靜態(tài)部分創(chuàng)建語(yǔ)句模型,然后在運(yùn)行時(shí)監(jiān)測(cè)這些動(dòng)態(tài)生成的語(yǔ)句,一旦不符合設(shè)置的合法語(yǔ)句模型,該工具將阻止語(yǔ)句發(fā)送至數(shù)據(jù)庫(kù);何成萬等[17]提出了一種基于AOP(aspect-oriented programming)和動(dòng)態(tài)污點(diǎn)分析的檢測(cè)方法,通過污點(diǎn)標(biāo)記方法區(qū)分可信與非可信數(shù)據(jù)源,在JDBC 中解析發(fā)現(xiàn)非可信語(yǔ)法。另一方面改變攻擊者對(duì)目標(biāo)系統(tǒng)的認(rèn)知,使注入代碼失效,Boyd 等[1]基于SQL的隨機(jī)化設(shè)計(jì)了SQLRand 系統(tǒng),對(duì)SQL 關(guān)鍵字進(jìn)行隨機(jī)化處理,例如,原始未隨機(jī)化的SQL 為SELECT account FROM users WHERE login=“AND pass=”,采用key 為“123”隨機(jī)化后的SQL 為SELECT123 account FROM123 users WHERE123 login=“AND123 pass=”,這樣可以使攻擊者不能預(yù)知應(yīng)用程序的SQL 形式,SQLRand 系統(tǒng)架構(gòu)如圖2所示。在CGI 與數(shù)據(jù)庫(kù)之間增加代理,用于解析語(yǔ)句和去隨機(jī)化處理,如果解析語(yǔ)句發(fā)現(xiàn)含有未隨機(jī)化的SQL 關(guān)鍵字,則進(jìn)行異常處理,不予執(zhí)行,從而實(shí)現(xiàn)SQLIA 的有效防御。

    圖2 SQLRand 系統(tǒng)架構(gòu)

    SQLRand 系統(tǒng)在黑盒環(huán)境下能夠有效抵御SQLIA,但是存在被猜解的威脅,目前通過hashcat[18]工具暴力破解,在GPU 破解速度為9×109次/s 的條件下,每秒可以嘗試900 萬種組合,攻擊者在秒級(jí)時(shí)間內(nèi)就可以完成對(duì)4 位標(biāo)簽的猜解。而攻擊者在白盒環(huán)境下能夠準(zhǔn)確掌握SQL 關(guān)鍵字的隨機(jī)化方法,隨即調(diào)整注入代碼,立刻實(shí)現(xiàn)有效的SQLIA。本文提出了一種基于多變體執(zhí)行的SQLIA 運(yùn)行時(shí)防御方法,多變體間采用互不相同的隨機(jī)化方法,即使在攻擊者掌握了隨機(jī)化方法的情況下,非法SQL也最多只能被某一變體解析成功,利用表決機(jī)制對(duì)多變體的響應(yīng)結(jié)果或解析結(jié)果進(jìn)行表決,實(shí)現(xiàn)SQLIA 的有效防御。

    3 基于多變體執(zhí)行的SQLIA 防御方法

    3.1 多變體執(zhí)行技術(shù)研究

    程序冗余執(zhí)行的技術(shù)思路最早應(yīng)用在程序調(diào)試、錯(cuò)誤容忍等保證程序可靠性的領(lǐng)域中,后來研究者在程序冗余執(zhí)行的基礎(chǔ)上,將冗余執(zhí)行的軟件進(jìn)行多樣化設(shè)計(jì),從而解決軟件的安全問題,因此在軟件安全領(lǐng)域?qū)⑷哂鄨?zhí)行的多樣化程序稱為多變體。多變體執(zhí)行最早由Knowlton[19]提出,分別將2 個(gè)功能邏輯等價(jià)程序的實(shí)現(xiàn)代碼分成小片段,然后利用跳轉(zhuǎn)指令,在保證程序語(yǔ)義不變的前提下,對(duì)代碼片段進(jìn)行重組。2 個(gè)程序并行執(zhí)行時(shí),由CPU 檢查程序的執(zhí)行語(yǔ)義是否相等,從而可以預(yù)防控制轉(zhuǎn)換越界、錯(cuò)誤使用野指針等安全問題。

    Cox 等[20]提出了較完整的軟件多變體執(zhí)行架構(gòu)N-Variant,如圖3 所示。該架構(gòu)通過內(nèi)存地址空間隨機(jī)化和指令集隨機(jī)化技術(shù)生成冗余變體,在不關(guān)注攻擊方式的情況下,實(shí)現(xiàn)了對(duì)信息泄露攻擊的有效防御,N-Variant 奠定了多變體執(zhí)行技術(shù)的基礎(chǔ),并總結(jié)出該技術(shù)面臨著變體生成、監(jiān)控方法等關(guān)鍵問題。

    圖3 N-Variant 系統(tǒng)架構(gòu)

    有關(guān)多變體執(zhí)行技術(shù)的眾多研究中,Berger 等[21]提出了DieHard,其架構(gòu)如圖4 所示。該架構(gòu)對(duì)init_heap、malloc、free 函數(shù)進(jìn)行重新設(shè)計(jì),采用新的init_heap 和malloc 函數(shù)結(jié)合,使用隨機(jī)化技術(shù)為多變體生成不同的堆對(duì)象布局。多變體以獨(dú)立的進(jìn)程運(yùn)行,通過管道從主進(jìn)程接收輸入,然后在新的free 函數(shù)中將輸出寫入共享空間的緩沖區(qū)中,調(diào)用表決進(jìn)程對(duì)所有變體的輸出進(jìn)行比較,從而有效抵御內(nèi)存錯(cuò)誤,保證內(nèi)存安全。該團(tuán)隊(duì)又在Diehard的基礎(chǔ)上,擴(kuò)展內(nèi)存分配機(jī)制,設(shè)計(jì)了Dieharder[22]系統(tǒng)架構(gòu),使變體能夠在不連續(xù)的內(nèi)存頁(yè)面上隨機(jī)分配,解決了Diehard 中單個(gè)堆塊溢出后覆蓋其他堆塊空間的問題。

    圖4 DieHard 系統(tǒng)架構(gòu)

    Novark 等[23]在DieHard 的基礎(chǔ)上,擴(kuò)展提出了 Exterminator,如圖 5 所示。該架構(gòu)改善了Diehard 的表決算法,能夠表決發(fā)現(xiàn)內(nèi)存錯(cuò)誤位置,并在運(yùn)行時(shí)生成補(bǔ)丁進(jìn)行適應(yīng)性的修補(bǔ),并且Exterminator 首次為多變體執(zhí)行架構(gòu)增加了動(dòng)態(tài)反饋機(jī)制。

    圖5 Exterminator 系統(tǒng)架構(gòu)

    以N-Variant、Diehard、Dieharder、Exterminator等架構(gòu)為代表進(jìn)行分析,多變體執(zhí)行是在多樣化技術(shù)的基礎(chǔ)上,利用冗余、動(dòng)態(tài)機(jī)制,解決軟硬件同質(zhì)化帶來的安全問題。多變體只要在受保護(hù)的攻擊面中存在更小的重疊范圍,便可以作為變體的“源”來構(gòu)建冗余執(zhí)行架構(gòu)。

    我國(guó)鄔江興院士[24]提出了由構(gòu)造決定安全的擬態(tài)防御理論,研究了冗余、異構(gòu)、動(dòng)態(tài)特性解決內(nèi)生安全問題的有效性,系統(tǒng)地構(gòu)建了動(dòng)態(tài)異構(gòu)冗余架構(gòu),如圖6 所示。該架構(gòu)由輸入代理、異構(gòu)組件池、異構(gòu)執(zhí)行體集、調(diào)度器、表決器組成。動(dòng)態(tài)異構(gòu)冗余架構(gòu)下同時(shí)運(yùn)行多個(gè)功能等價(jià)、結(jié)構(gòu)相異的執(zhí)行體,由于網(wǎng)絡(luò)攻擊對(duì)于目標(biāo)環(huán)境的依賴性,不同執(zhí)行體對(duì)具有攻擊行為的輸入會(huì)產(chǎn)生不一致的輸出,通過表決就能夠發(fā)現(xiàn)執(zhí)行體產(chǎn)生的異常結(jié)果。因此,動(dòng)態(tài)異構(gòu)冗余架構(gòu)能夠在不依賴先驗(yàn)知識(shí)的情況下,有效防御針對(duì)已知或未知漏洞后門發(fā)起的攻擊。

    圖6 擬態(tài)防御動(dòng)態(tài)異構(gòu)冗余架構(gòu)

    擬態(tài)防御相較于多變體技術(shù),具有完備的理論體系,已發(fā)行多版中英文著作[25]。對(duì)比兩者的技術(shù)思路可以發(fā)現(xiàn),多變體技術(shù)屬于擬態(tài)防御作為內(nèi)生安全構(gòu)造技術(shù)解決軟件安全的范疇。

    本文基于多變體執(zhí)行技術(shù),設(shè)計(jì)實(shí)現(xiàn)了SQLIA運(yùn)行時(shí)防御原型系統(tǒng)SQLMVED?;诒竟?jié)的研究?jī)?nèi)容,SQLMVED 的衍生路線如圖7 所示。

    圖7 SQLMVED 的衍生路線

    3.2 SQLMVED 系統(tǒng)設(shè)計(jì)

    大部分多變體執(zhí)行架構(gòu)采用Leader-Follower或者M(jìn)aster-Slave 設(shè)計(jì),針對(duì)不予表決的系統(tǒng)調(diào)用,監(jiān)控器將其分派至Leader/Master 變體執(zhí)行,再將結(jié)果同步至Follower/Slave 變體中,這種方法能夠有效降低假陽(yáng)性,卻增加了安全威脅,Leader/Master變體一旦被控制,多變體執(zhí)行架構(gòu)的防御有效性將大打折扣。本文提出基于多變體執(zhí)行的SQLMVED系統(tǒng),為避免Leader-Follower/Master-Slave 模式的安全威脅,采用同步模式,系統(tǒng)架構(gòu)如圖8 所示,系統(tǒng)由用戶請(qǐng)求代理、負(fù)責(zé)處理請(qǐng)求的多變體、數(shù)據(jù)庫(kù)代理,以及數(shù)據(jù)庫(kù)組成。

    圖8 SQLMVED 系統(tǒng)架構(gòu)

    用戶請(qǐng)求代理是網(wǎng)絡(luò)服務(wù)的出入口[26],當(dāng)接收到用戶發(fā)起的請(qǐng)求時(shí),其將請(qǐng)求復(fù)制3 份再轉(zhuǎn)發(fā)至多變體;當(dāng)接收到多變體的響應(yīng)時(shí),進(jìn)行表決,若存在多數(shù)一致的響應(yīng),則返回至用戶,否則拒絕響應(yīng)。用戶請(qǐng)求代理基于Nginx 實(shí)現(xiàn),利用ngx_http_upstream_module 模塊的負(fù)載功能和本文3.3 節(jié)設(shè)計(jì)的算法1,實(shí)現(xiàn)同一用戶請(qǐng)求向多變體的轉(zhuǎn)發(fā),以及同一用戶響應(yīng)的表決。

    多變體由Web 服務(wù)端、CGI 以及部署的應(yīng)用程序組成,其中應(yīng)用程序采用隨機(jī)化方法對(duì)SQL 進(jìn)行隨機(jī)化變化,且變體之間采用的標(biāo)簽是不同的。

    數(shù)據(jù)庫(kù)代理由獨(dú)立地服務(wù)于各個(gè)變體的SQL語(yǔ)法解析器SQLParse 和負(fù)責(zé)比較其解析結(jié)果的表決器組成。SQL 語(yǔ)法解析器基于sqlparse/ keywords.py 文件,使tokens.Keyword 與隨機(jī)化標(biāo)簽保持一致,完成解析隨機(jī)化SQL 和去隨機(jī)化的過程。由于只改變tokens.Keyword 的表現(xiàn)形式,不改變SQL 解析的正常流程,因此本文提出的SQL 隨機(jī)化方法不會(huì)影響SQL 解析器的正常功能。例如,變體E1采用的標(biāo)簽為“123”,其對(duì)應(yīng)的語(yǔ)法解析器為SQLParse1;變體E2采用的標(biāo)簽為“456”,其對(duì)應(yīng)的語(yǔ)法解析器為SQLParse2。以SQLSELECT a FROM b WHERE c=‘?’;(其中?為占位符)為例,當(dāng)攻擊者掌握了隨機(jī)化標(biāo)簽,調(diào)整輸入為admin’or123 ‘1’=‘1 時(shí),SQLParse1解析的結(jié)果,在未經(jīng)去隨機(jī)化處理時(shí)的結(jié)構(gòu)如圖9 所示。由于攻擊者注入的“or123”符合變體E1的變化方法,因此在變體E1中注入攻擊成功。

    圖9 注入成功時(shí)的SQL 語(yǔ)法樹

    SQLParse2解析的結(jié)果,在未經(jīng)去隨機(jī)化處理時(shí)的結(jié)構(gòu)如圖10 所示。在變體E2中,攻擊者注入的“or123”不符合其變化方法,因此注入攻擊失敗。同理,在變體E3中,注入攻擊也失敗。

    變體E1、E2、E3中的SQL 經(jīng)去隨機(jī)化處理后由數(shù)據(jù)庫(kù)執(zhí)行,變體E2和變體E3的執(zhí)行結(jié)果一致,且不同于注入成功的變體E1的執(zhí)行結(jié)果。

    3.3 SQL 表決方法設(shè)計(jì)

    表決作為多變體執(zhí)行架構(gòu)中的關(guān)鍵技術(shù),決定著多變體系統(tǒng)能否發(fā)現(xiàn)異常。在多變體系統(tǒng)中,表決點(diǎn)要么設(shè)置在變體執(zhí)行前對(duì)輸入進(jìn)行表決,要么設(shè)置在變體執(zhí)行后對(duì)輸出進(jìn)行表決??紤]到數(shù)據(jù)庫(kù)服務(wù)中數(shù)據(jù)讀、寫操作的不同影響,SQLMVED 系統(tǒng)針對(duì)數(shù)據(jù)的讀、寫操作采取的處理方式也不同。

    圖10 注入失敗時(shí)的SQL 語(yǔ)法樹

    讀操作。數(shù)據(jù)的讀操作不會(huì)引起數(shù)據(jù)的變化,讀操作的表決點(diǎn)設(shè)置在用戶請(qǐng)求代理處,用戶請(qǐng)求代理對(duì)變體返回用戶的輸出進(jìn)行表決,充分利用協(xié)議代理功能,保證參與一次表決的變體返回結(jié)果的同源性。

    寫操作。數(shù)據(jù)的寫操作必然使數(shù)據(jù)產(chǎn)生變化,若表決點(diǎn)繼續(xù)設(shè)置在用戶請(qǐng)求代理處,當(dāng)其發(fā)現(xiàn)不一致時(shí)還需要對(duì)數(shù)據(jù)進(jìn)行還原操作,增加了系統(tǒng)的復(fù)雜度。因此,寫操作的表決點(diǎn)設(shè)置在數(shù)據(jù)庫(kù)代理處,表決器對(duì)經(jīng)過隨機(jī)化語(yǔ)法解析器去隨機(jī)化的語(yǔ)句進(jìn)行表決,只有通過表決的寫操作語(yǔ)句才會(huì)由數(shù)據(jù)庫(kù)執(zhí)行。

    結(jié)合3.2 節(jié)的SQLMVED 系統(tǒng)設(shè)計(jì),系統(tǒng)處理用戶請(qǐng)求的流程如圖11 所示。

    1) 用戶請(qǐng)求代理表決算法

    用戶請(qǐng)求代理將請(qǐng)求復(fù)制,轉(zhuǎn)發(fā)至冗余多變體執(zhí)行并獲取響應(yīng)結(jié)果,對(duì)HTTP 響應(yīng)數(shù)據(jù)結(jié)構(gòu)的響應(yīng)體[27]進(jìn)行表決,用戶請(qǐng)求代理表決算法描述如算法1 所示,若存在多數(shù)一致的響應(yīng),則將其中的響應(yīng)結(jié)果返回至用戶;若無法通過表決,則拒絕響應(yīng),返回錯(cuò)誤狀態(tài)碼。

    圖11 SQLMVED 系統(tǒng)流程

    算法1用戶請(qǐng)求代理表決算法

    2) 寫操作表決方法

    數(shù)據(jù)庫(kù)代理負(fù)責(zé)將冗余的寫操作合并成一次請(qǐng)求轉(zhuǎn)發(fā)至數(shù)據(jù)庫(kù)執(zhí)行,因此無法以用戶請(qǐng)求代理的方式處理。為保證參與表決的SQL 是由同一請(qǐng)求復(fù)制分發(fā)而來的,算法1 中的步驟4)~步驟6)采用唯一性標(biāo)識(shí)碼和時(shí)間戳在請(qǐng)求的頭部對(duì)請(qǐng)求進(jìn)行標(biāo)記。在此基礎(chǔ)上,通過修改應(yīng)用程序源代碼,將算法1 中的標(biāo)記信息傳遞至應(yīng)用程序的SQL 中,使數(shù)據(jù)庫(kù)代理通過該標(biāo)識(shí)能夠識(shí)別不同變體的同一用戶請(qǐng)求。如示例程序1 所示,應(yīng)用程序獲取請(qǐng)求頭部中的標(biāo)記信息,之后通過變量將其以注釋的形式拼接至SQL 中。

    示例程序1修改登錄用戶密碼

    數(shù)據(jù)庫(kù)代理的表決器配置高速緩存,變體的SQL臨時(shí)存儲(chǔ)在緩存中,并設(shè)置超時(shí)時(shí)間,當(dāng)未達(dá)到超時(shí)時(shí)間,若緩存中存在一致的3 條語(yǔ)句,則消除緩存記錄,轉(zhuǎn)發(fā)至數(shù)據(jù)庫(kù)執(zhí)行一次;當(dāng)達(dá)到超時(shí)時(shí)間,則直接消除緩存記錄,不予轉(zhuǎn)發(fā)至數(shù)據(jù)庫(kù)執(zhí)行,返回空數(shù)據(jù)至多變體。多變體在得到數(shù)據(jù)庫(kù)代理返回的數(shù)據(jù)后,返回響應(yīng)結(jié)果至用戶請(qǐng)求代理,此時(shí)用戶請(qǐng)求代理表決器再次對(duì)結(jié)果進(jìn)行表決,由于寫操作的請(qǐng)求已經(jīng)在數(shù)據(jù)庫(kù)代理處完成表決,因此多變體的響應(yīng)結(jié)果在用戶請(qǐng)求代理處表決是一致的。

    3.4 安全性評(píng)估

    根據(jù)SQLMVED 系統(tǒng)的設(shè)計(jì)方法,在對(duì)其進(jìn)行安全性評(píng)估時(shí),需要滿足以下幾個(gè)條件。1) 多變體E1、E2、E3同時(shí)處理請(qǐng)求,都具有獨(dú)立執(zhí)行SQL的能力;2) 多變體E1、E2、E3在不遭受SQLIA 時(shí),均能夠正確地處理SQL;3) 多變體E1、E2、E3任意之間不存在協(xié)同或協(xié)作的聯(lián)系,假設(shè)用戶請(qǐng)求代理和數(shù)據(jù)庫(kù)代理的設(shè)計(jì)實(shí)現(xiàn)中沒有漏洞或后門,攻擊者無法以此為跳板協(xié)同多變體;4) 假設(shè)表決算法的設(shè)計(jì)實(shí)現(xiàn)中也不存在漏洞或后門,由此做出以下形式化推論。

    圖12 IEO 模型

    Ei使用的隨機(jī)化方法集合Vi中隨機(jī)化方法個(gè)數(shù)記為card(Vi),,且card(ω)≤card(Vi),τ為集合ω中的元素。假設(shè)對(duì)于任意一個(gè)變體Ei∈E,采用隨機(jī)化方法集合Vi中每個(gè)方法元素的概率是相等的。根據(jù)式(1)可得出,SQLMVED 系統(tǒng)在某種隨機(jī)化設(shè)計(jì)下被注入成功的概率為

    由此可見,SQLMVED 系統(tǒng)的防御能力取決于變體之間隨機(jī)化方法的差異性,由于key1、key2、key3之間互不相同,因此變體之間不存在任何相互一致的隨機(jī)化方法,也就是card(ω)=0,因此攻擊者無法有效實(shí)施SQLIA。

    4 實(shí)驗(yàn)與分析

    為驗(yàn)證本文設(shè)計(jì)的SQLMVED 系統(tǒng)的有效性,本節(jié)主要從防御有效性測(cè)試和性能測(cè)試對(duì)其進(jìn)行實(shí)驗(yàn)與分析。

    4.1 防御有效性測(cè)試

    防御有效性測(cè)試中,采用VMware Workstation虛擬化環(huán)境搭建實(shí)驗(yàn)平臺(tái),普通未防護(hù)的環(huán)境為L(zhǎng)AMP(Linux、Apache、MySQL、PHP)架構(gòu),施加防護(hù)的環(huán)境為本文提出的SQLMVED 架構(gòu),用戶請(qǐng)求代理、變體(E1、E2、E3)、數(shù)據(jù)庫(kù)代理、數(shù)據(jù)庫(kù)均采用虛擬機(jī)(VM,virtual machine)進(jìn)行部署,具體配置如表2 所示。

    表2 防御有效性測(cè)試環(huán)境

    選取bWAPP、DVWA、SQLI-LABS 這3 種靶機(jī)應(yīng)用程序中未實(shí)施安全防護(hù)策略的部分,采用sqlmap 工具與人工構(gòu)造注入結(jié)合的方式分別對(duì)部署在LAMP 和SQLMVED 架構(gòu)環(huán)境中的以上3 種靶機(jī)應(yīng)用程序進(jìn)行測(cè)試,測(cè)試結(jié)果如表3 所示。LAMP 架構(gòu)環(huán)境對(duì)3 種靶機(jī)應(yīng)用程序的全部40 個(gè)注入點(diǎn)沒有任何防御能力,而SQLMVED 架構(gòu)環(huán)境能夠有效防御針對(duì)其中36 個(gè)注入點(diǎn)的攻擊。其中bWAPP 2.2 中SQLite、Stored SQLite、Blind SQLite 注入點(diǎn)無法防御是因?yàn)镾QLMVED 基于MySQL 數(shù)據(jù)庫(kù)設(shè)計(jì),暫且無法應(yīng)用于其他類型數(shù)據(jù)庫(kù);Drupal 屬于應(yīng)用框架,目前SQLMVED 還未適用所有框架,因此無法有效防御此注入點(diǎn)。實(shí)驗(yàn)表明,SQLMVED 架構(gòu)能夠有效防御針對(duì)以上3 種靶機(jī)應(yīng)用程序的大部分SQLIA。

    表3 防御有效性測(cè)試環(huán)境

    4.2 性能測(cè)試

    SQLMVED 架構(gòu)環(huán)境在變體E1、E2、E3中部署具有數(shù)據(jù)讀寫操作的測(cè)試頁(yè)面,讀寫測(cè)試語(yǔ)句如表4 所示,在LAMP 架構(gòu)環(huán)境中也部署同樣的測(cè)試頁(yè)面。

    表4 讀寫測(cè)試語(yǔ)句

    為減小虛擬化的實(shí)驗(yàn)環(huán)境對(duì)測(cè)試結(jié)果的影響,以及主要體現(xiàn)讀寫過程的性能損耗,測(cè)試方法采用在連續(xù)的100 次訪問中分別記錄測(cè)試頁(yè)面的響應(yīng)時(shí)間。

    讀數(shù)據(jù)測(cè)試結(jié)果匯總?cè)鐖D13 和圖14 所示,SQLMVED 的平均響應(yīng)時(shí)間為47.48 ms,LAMP 的平均響應(yīng)時(shí)間為23.88 ms。SQLMVED 架構(gòu)相較于LAMP 架構(gòu),平均響應(yīng)時(shí)間增加約一倍,大部分響應(yīng)時(shí)間控制在60 ms 以內(nèi),性能損耗可以接受。

    圖13 SQLMVED 讀數(shù)據(jù)測(cè)試結(jié)果

    寫數(shù)據(jù)測(cè)試結(jié)果匯總?cè)鐖D15 和圖16 所示,SQLMVED 平均響應(yīng)時(shí)間為4 870.63 ms,LAMP 的平均響應(yīng)時(shí)間為20.6 ms。SQLMVED 的寫操作產(chǎn)生了較嚴(yán)重的性能損耗,這是由于SQLMVED 中寫數(shù)據(jù)的過程比讀數(shù)據(jù)更復(fù)雜。但是,通過防御有效性測(cè)試可以發(fā)現(xiàn),SQLIA 通常發(fā)生在讀數(shù)據(jù)過程中,因此,若為減小性能損耗,即使只將讀數(shù)據(jù)采用多變體執(zhí)行的方法設(shè)計(jì),也能夠防御大部分SQLIA。

    圖14 LAMP 讀數(shù)據(jù)測(cè)試結(jié)果

    圖15 SQLMVED 寫數(shù)據(jù)測(cè)試結(jié)果

    圖16 LAMP 寫數(shù)據(jù)測(cè)試結(jié)果

    此外,SQLMVED 原型系統(tǒng)在設(shè)計(jì)實(shí)現(xiàn)中可能存在缺陷,包括防御有效性測(cè)試中發(fā)現(xiàn)的不足,SQLMVED 的局限性將在第5 節(jié)進(jìn)行分析總結(jié)。

    5 局限性分析

    SQLMVED 原型系統(tǒng)的局限性主要體現(xiàn)在以下2 個(gè)方面。

    1) 首先,SQLMVED 的多變體中需要對(duì)應(yīng)用程序的SQL 進(jìn)行隨機(jī)化變化,而SQL 具有跨代碼段、跨函數(shù)、跨文件等多種拼接方式,如何準(zhǔn)確地識(shí)別應(yīng)用程序中的SQL 并進(jìn)行隨機(jī)化變化,可能需要對(duì)程序分析技術(shù)進(jìn)行深入研究。其次,本文使用的隨機(jī)化方法不支持Hibernate、Mybatis 等開發(fā)框架,因此SQLMVED 的適用范圍局限于使用原生SQL開發(fā)的應(yīng)用程序。

    應(yīng)用程序以網(wǎng)站為例,根據(jù)W3Techs 對(duì)Alexa排名前100 萬網(wǎng)站的類型統(tǒng)計(jì)結(jié)果來看,使用原生SQL 開發(fā)為主的PHP 網(wǎng)站數(shù)量占比達(dá)到了79%,說明SQLMVED 雖然不能適用于所有的應(yīng)用程序,但也具備可觀的應(yīng)用前景。

    2) 本文在數(shù)據(jù)庫(kù)代理處采用高速緩存解決數(shù)據(jù)庫(kù)讀操作的表決問題。但在高并發(fā)數(shù)據(jù)流的背景下,若把所有請(qǐng)求語(yǔ)句都保存在緩存中進(jìn)行表決處理,將會(huì)大大增加表決過程對(duì)存儲(chǔ)空間的消耗,本節(jié)基于Bloom filter[28]提出SQLMVED 的改進(jìn)思路。

    Bloom filter 是一種存儲(chǔ)空間高效的散列結(jié)構(gòu),被廣泛應(yīng)用在P2P 網(wǎng)絡(luò)寫作、網(wǎng)絡(luò)緩存以及網(wǎng)絡(luò)測(cè)量等領(lǐng)域。Bloom filter 可以對(duì)待表決的語(yǔ)句集合采用位串表示,利用數(shù)據(jù)流冗余消除方式對(duì)語(yǔ)句進(jìn)行表決,當(dāng)判定某請(qǐng)求語(yǔ)句是冗余重復(fù)的數(shù)據(jù),就認(rèn)為該語(yǔ)句為3 冗余多變體中的多數(shù)一致語(yǔ)句,由數(shù)據(jù)庫(kù)代理轉(zhuǎn)發(fā)至數(shù)據(jù)庫(kù)執(zhí)行,否則丟棄該語(yǔ)句。數(shù)據(jù)流冗余消除算法設(shè)計(jì)的關(guān)鍵問題是需要實(shí)時(shí)刪除達(dá)到最大計(jì)數(shù)值的過期元素,主要算法可以分為3 類,分別是基準(zhǔn)窗口模式、滑動(dòng)窗口模式、跳躍窗口模式,需要采用何種方式還需要進(jìn)一步研究。

    6 結(jié)束語(yǔ)

    本文在研究了現(xiàn)有多變體執(zhí)行技術(shù)和SQL 注入防御方法的基礎(chǔ)上,結(jié)合兩者的技術(shù)思路,提出了一種基于多變體執(zhí)行的SQL 注入運(yùn)行時(shí)防御方法。首先為應(yīng)用程序在運(yùn)行時(shí)構(gòu)建多變體執(zhí)行架構(gòu);其次通過隨機(jī)化方法對(duì)應(yīng)用程序的SQL 進(jìn)行變化,保證變體間隨機(jī)化方法的異構(gòu)性;最后在用戶請(qǐng)求代理和數(shù)據(jù)庫(kù)代理處通過表決分別發(fā)現(xiàn)異常的數(shù)據(jù)讀操作結(jié)果和數(shù)據(jù)寫請(qǐng)求,使攻擊者即使在掌握了變體隨機(jī)化方法的情況下也無法實(shí)施有效的 SQLIA?;谠摲椒ㄔO(shè)計(jì)實(shí)現(xiàn)了原型系統(tǒng)SQLMVED,并通過形式化推論證明了SQLMVED的防御能力。性能測(cè)試結(jié)果顯示,由于該方法引入了請(qǐng)求的復(fù)制分發(fā)、語(yǔ)句解析、去隨機(jī)化、表決等處理過程,會(huì)降低程序性能,因此如何減小對(duì)性能的影響將是未來工作的重點(diǎn)之一。防御有效性測(cè)試雖然采用靶機(jī)應(yīng)用程序和自動(dòng)化注入工具構(gòu)造的都是已知漏洞攻擊,但是該方法也可以有效防御利用未知漏洞的SQLIA,只要攻擊者構(gòu)造的輸入數(shù)據(jù)中具有SQL 指令,就無法同時(shí)在多變體中正確執(zhí)行,進(jìn)而無法通過表決,防御利用未知漏洞的SQLIA。

    猜你喜歡
    變體攻擊者語(yǔ)句
    基于DDPG算法的變體飛行器自主變形決策
    基于微分博弈的追逃問題最優(yōu)策略設(shè)計(jì)
    重點(diǎn):語(yǔ)句銜接
    正面迎接批判
    愛你(2018年16期)2018-06-21 03:28:44
    精彩語(yǔ)句
    非仿射參數(shù)依賴LPV模型的變體飛行器H∞控制
    耀變體噴流高能電子譜的形成機(jī)制
    有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
    中國(guó)傳統(tǒng)文學(xué)的換形變體——論“詩(shī)化小說”的興起與傳承
    如何搞定語(yǔ)句銜接題
    人人妻人人添人人爽欧美一区卜| 日本 av在线| 精品国产一区二区三区四区第35| 岛国视频午夜一区免费看| 俄罗斯特黄特色一大片| 99在线视频只有这里精品首页| 狂野欧美激情性xxxx| 美女扒开内裤让男人捅视频| 中文欧美无线码| 1024香蕉在线观看| 成年人免费黄色播放视频| 亚洲成av片中文字幕在线观看| 亚洲精品美女久久久久99蜜臀| 视频区欧美日本亚洲| 国产成人精品在线电影| 天天躁夜夜躁狠狠躁躁| 天堂影院成人在线观看| 精品高清国产在线一区| 精品少妇一区二区三区视频日本电影| 亚洲 欧美 日韩 在线 免费| 女人高潮潮喷娇喘18禁视频| 欧美av亚洲av综合av国产av| 久久精品国产亚洲av香蕉五月| avwww免费| 啦啦啦 在线观看视频| 亚洲九九香蕉| 久久精品91蜜桃| 757午夜福利合集在线观看| 欧美最黄视频在线播放免费 | 国产精品 欧美亚洲| 成人18禁高潮啪啪吃奶动态图| 看黄色毛片网站| 亚洲一区二区三区色噜噜 | 久久天躁狠狠躁夜夜2o2o| 日韩精品免费视频一区二区三区| 一本综合久久免费| 91在线观看av| 色婷婷久久久亚洲欧美| 成年版毛片免费区| 亚洲欧美一区二区三区久久| 午夜91福利影院| 一二三四在线观看免费中文在| 丝袜在线中文字幕| 亚洲精品在线美女| 精品国产超薄肉色丝袜足j| 国产三级在线视频| 国产一区二区三区综合在线观看| 1024香蕉在线观看| 精品免费久久久久久久清纯| 99riav亚洲国产免费| 欧美色视频一区免费| 在线观看免费日韩欧美大片| 最近最新免费中文字幕在线| 一区在线观看完整版| x7x7x7水蜜桃| 成人影院久久| 亚洲情色 制服丝袜| 亚洲中文日韩欧美视频| 亚洲自偷自拍图片 自拍| 一级黄色大片毛片| 亚洲熟女毛片儿| 黄色毛片三级朝国网站| 岛国视频午夜一区免费看| 日韩 欧美 亚洲 中文字幕| 久久久水蜜桃国产精品网| 国产有黄有色有爽视频| a在线观看视频网站| 免费不卡黄色视频| 国产精品 欧美亚洲| 精品国产乱子伦一区二区三区| 久久国产亚洲av麻豆专区| 老司机深夜福利视频在线观看| 久久精品91蜜桃| 新久久久久国产一级毛片| avwww免费| 国产一区二区在线av高清观看| 51午夜福利影视在线观看| 久久精品亚洲av国产电影网| 99香蕉大伊视频| 婷婷丁香在线五月| 夜夜躁狠狠躁天天躁| 一本大道久久a久久精品| 国产精品1区2区在线观看.| 国产高清视频在线播放一区| 精品电影一区二区在线| 亚洲 国产 在线| 免费少妇av软件| www.999成人在线观看| 精品国产乱码久久久久久男人| 满18在线观看网站| 在线观看日韩欧美| 国产激情久久老熟女| 丝袜美足系列| 麻豆成人av在线观看| 国产欧美日韩一区二区三区在线| 精品国产一区二区三区四区第35| 成年人免费黄色播放视频| 交换朋友夫妻互换小说| 国产极品粉嫩免费观看在线| 免费久久久久久久精品成人欧美视频| 亚洲欧美一区二区三区久久| av免费在线观看网站| 亚洲精品在线美女| 亚洲国产精品sss在线观看 | 免费女性裸体啪啪无遮挡网站| 男人操女人黄网站| 久久久久久亚洲精品国产蜜桃av| 搡老乐熟女国产| 搡老熟女国产l中国老女人| 夜夜看夜夜爽夜夜摸 | 久久精品国产亚洲av高清一级| 久久九九热精品免费| 69精品国产乱码久久久| 欧美另类亚洲清纯唯美| 国产精品电影一区二区三区| 一二三四在线观看免费中文在| 纯流量卡能插随身wifi吗| 丰满的人妻完整版| 狠狠狠狠99中文字幕| 日本一区二区免费在线视频| 亚洲欧洲精品一区二区精品久久久| 国产亚洲精品一区二区www| 国产成人欧美| 日本 av在线| 亚洲九九香蕉| 99热国产这里只有精品6| 正在播放国产对白刺激| 热99国产精品久久久久久7| 成人av一区二区三区在线看| 久久精品aⅴ一区二区三区四区| 国产精品自产拍在线观看55亚洲| 亚洲五月婷婷丁香| 亚洲国产中文字幕在线视频| 在线国产一区二区在线| 亚洲精品国产区一区二| 国产蜜桃级精品一区二区三区| 欧美激情高清一区二区三区| 69精品国产乱码久久久| 国产高清国产精品国产三级| 搡老熟女国产l中国老女人| 精品一区二区三区视频在线观看免费 | 色婷婷av一区二区三区视频| 精品免费久久久久久久清纯| 一区二区三区精品91| 婷婷丁香在线五月| 99久久99久久久精品蜜桃| 不卡一级毛片| 久久久国产欧美日韩av| 88av欧美| 国产成人影院久久av| 多毛熟女@视频| 亚洲va日本ⅴa欧美va伊人久久| 色哟哟哟哟哟哟| 免费av毛片视频| 午夜亚洲福利在线播放| 精品第一国产精品| 亚洲一区中文字幕在线| 日本免费一区二区三区高清不卡 | 国产亚洲精品第一综合不卡| 女生性感内裤真人,穿戴方法视频| 桃红色精品国产亚洲av| 欧美一级毛片孕妇| 亚洲午夜理论影院| 亚洲成人免费电影在线观看| 天天影视国产精品| 久久久久久大精品| 欧美精品一区二区免费开放| 伦理电影免费视频| 国产精品一区二区精品视频观看| 国产成人系列免费观看| 国产精品av久久久久免费| 欧美日韩福利视频一区二区| 午夜免费鲁丝| 精品国产亚洲在线| 精品国产美女av久久久久小说| 亚洲一码二码三码区别大吗| 亚洲成国产人片在线观看| 在线观看舔阴道视频| 久久欧美精品欧美久久欧美| 免费高清视频大片| 国产精华一区二区三区| 黑人猛操日本美女一级片| 日韩精品中文字幕看吧| 国产又爽黄色视频| 日本a在线网址| 大码成人一级视频| 欧美日韩国产mv在线观看视频| 久久人人97超碰香蕉20202| 中文字幕人妻丝袜一区二区| 国产成人影院久久av| 伦理电影免费视频| 麻豆成人av在线观看| av视频免费观看在线观看| 免费人成视频x8x8入口观看| 成熟少妇高潮喷水视频| 亚洲国产精品合色在线| 成人三级黄色视频| 国产精品av久久久久免费| av片东京热男人的天堂| 日日爽夜夜爽网站| 欧美一区二区精品小视频在线| 亚洲 欧美一区二区三区| 国产精品1区2区在线观看.| 亚洲国产毛片av蜜桃av| 啪啪无遮挡十八禁网站| 婷婷丁香在线五月| 9热在线视频观看99| 国产一区在线观看成人免费| 狠狠狠狠99中文字幕| 免费在线观看亚洲国产| 亚洲av片天天在线观看| 伊人久久大香线蕉亚洲五| 国产黄a三级三级三级人| 99香蕉大伊视频| 亚洲精品av麻豆狂野| 99久久久亚洲精品蜜臀av| 1024香蕉在线观看| 青草久久国产| 亚洲精品国产一区二区精华液| 亚洲午夜精品一区,二区,三区| 国产男靠女视频免费网站| 亚洲性夜色夜夜综合| 美女 人体艺术 gogo| 色播在线永久视频| 在线观看www视频免费| 久久精品亚洲精品国产色婷小说| 婷婷精品国产亚洲av在线| 亚洲狠狠婷婷综合久久图片| 操美女的视频在线观看| 黑人操中国人逼视频| 亚洲成人精品中文字幕电影 | 91av网站免费观看| 亚洲免费av在线视频| 亚洲一区二区三区不卡视频| 亚洲美女黄片视频| 日韩欧美免费精品| 日本撒尿小便嘘嘘汇集6| 多毛熟女@视频| 99久久精品国产亚洲精品| 亚洲午夜理论影院| 男女午夜视频在线观看| 久久中文字幕一级| 欧美色视频一区免费| 满18在线观看网站| 人人妻人人澡人人看| 国产亚洲精品综合一区在线观看 | 巨乳人妻的诱惑在线观看| 国产精品久久久久久人妻精品电影| 欧美另类亚洲清纯唯美| 老熟妇乱子伦视频在线观看| 国产蜜桃级精品一区二区三区| 人成视频在线观看免费观看| 欧美中文综合在线视频| 国产精品免费视频内射| 久久精品国产清高在天天线| 国产精品成人在线| 一级毛片女人18水好多| 成人国产一区最新在线观看| 国产亚洲欧美在线一区二区| 国产av又大| 亚洲色图综合在线观看| 久久欧美精品欧美久久欧美| 嫩草影院精品99| 性欧美人与动物交配| 超碰成人久久| 在线观看一区二区三区| 18禁裸乳无遮挡免费网站照片 | 欧美黑人精品巨大| 高清毛片免费观看视频网站 | 国产野战对白在线观看| 亚洲国产精品一区二区三区在线| www.熟女人妻精品国产| 亚洲欧美精品综合一区二区三区| 宅男免费午夜| 国产精品成人在线| xxxhd国产人妻xxx| www.自偷自拍.com| 国产又色又爽无遮挡免费看| 一个人观看的视频www高清免费观看 | 色综合婷婷激情| 亚洲国产精品999在线| 大型av网站在线播放| 国产片内射在线| 欧美亚洲日本最大视频资源| 久久久国产精品麻豆| www国产在线视频色| 一级a爱视频在线免费观看| 在线免费观看的www视频| 免费在线观看黄色视频的| 美国免费a级毛片| 一区二区日韩欧美中文字幕| 桃红色精品国产亚洲av| 麻豆一二三区av精品| av天堂在线播放| 日韩av在线大香蕉| 久久午夜综合久久蜜桃| 18禁观看日本| 欧美激情高清一区二区三区| 成人18禁在线播放| 999久久久精品免费观看国产| av有码第一页| 国产精品亚洲av一区麻豆| 一边摸一边抽搐一进一出视频| 中文字幕人妻丝袜一区二区| 免费人成视频x8x8入口观看| 99国产综合亚洲精品| 老司机福利观看| 久久国产精品影院| 男女床上黄色一级片免费看| 十八禁人妻一区二区| 国产成人av激情在线播放| 老司机靠b影院| 国产成人精品在线电影| 人人妻人人澡人人看| 搡老熟女国产l中国老女人| 亚洲自拍偷在线| 久久99一区二区三区| 日韩欧美在线二视频| 动漫黄色视频在线观看| 长腿黑丝高跟| 老司机午夜十八禁免费视频| 99久久99久久久精品蜜桃| 亚洲国产看品久久| 超色免费av| 美女福利国产在线| 国产不卡一卡二| 一边摸一边抽搐一进一小说| 一区二区三区国产精品乱码| 国产av在哪里看| 亚洲黑人精品在线| 免费观看精品视频网站| 久久人人精品亚洲av| 日日干狠狠操夜夜爽| 高清在线国产一区| 国产精品国产高清国产av| 美女高潮喷水抽搐中文字幕| 99精品久久久久人妻精品| 亚洲自偷自拍图片 自拍| 99国产极品粉嫩在线观看| 精品久久久久久久毛片微露脸| 国产片内射在线| 三上悠亚av全集在线观看| 久久人妻福利社区极品人妻图片| 人妻久久中文字幕网| 一二三四在线观看免费中文在| 欧美黑人欧美精品刺激| 国产亚洲欧美98| 手机成人av网站| 国产午夜精品久久久久久| 精品久久久久久成人av| 精品一区二区三区视频在线观看免费 | 国产精品乱码一区二三区的特点 | 日韩精品免费视频一区二区三区| 久久精品亚洲av国产电影网| 久9热在线精品视频| 亚洲欧美日韩高清在线视频| 午夜精品国产一区二区电影| 香蕉丝袜av| 91大片在线观看| 亚洲成人精品中文字幕电影 | 婷婷六月久久综合丁香| 久久久国产精品麻豆| 亚洲第一欧美日韩一区二区三区| 黄色成人免费大全| 成人免费观看视频高清| 美女 人体艺术 gogo| 国产精品 国内视频| 国产片内射在线| 婷婷精品国产亚洲av在线| www.www免费av| 欧美潮喷喷水| 一区福利在线观看| 国产人妻一区二区三区在| 国产精品一区二区三区四区免费观看 | 51午夜福利影视在线观看| 欧美高清性xxxxhd video| 成人av一区二区三区在线看| 日本免费a在线| 欧洲精品卡2卡3卡4卡5卡区| ponron亚洲| 天天躁日日操中文字幕| 可以在线观看毛片的网站| 亚洲欧美日韩无卡精品| 午夜福利视频1000在线观看| 窝窝影院91人妻| 午夜福利欧美成人| 少妇人妻精品综合一区二区 | 午夜精品一区二区三区免费看| 人人妻,人人澡人人爽秒播| 久久久久久久精品吃奶| 国产激情偷乱视频一区二区| av欧美777| 国产中年淑女户外野战色| 久久久久久久久久成人| 十八禁网站免费在线| 欧美极品一区二区三区四区| 一区二区三区激情视频| 在线观看免费视频日本深夜| 哪里可以看免费的av片| 美女高潮的动态| 悠悠久久av| 午夜福利在线观看吧| 搡老熟女国产l中国老女人| 日韩 亚洲 欧美在线| 搞女人的毛片| 成年女人永久免费观看视频| av黄色大香蕉| 色在线成人网| 欧美日韩福利视频一区二区| 九九在线视频观看精品| 99国产综合亚洲精品| 又爽又黄a免费视频| 久久国产乱子伦精品免费另类| 久久午夜福利片| 特级一级黄色大片| 变态另类丝袜制服| www.熟女人妻精品国产| 国产三级在线视频| 国产高清有码在线观看视频| 九色国产91popny在线| 美女大奶头视频| 天天躁日日操中文字幕| 99精品在免费线老司机午夜| 91麻豆精品激情在线观看国产| 人妻久久中文字幕网| 免费看a级黄色片| 久久久国产成人免费| 小说图片视频综合网站| 亚洲av第一区精品v没综合| 午夜日韩欧美国产| 十八禁网站免费在线| av黄色大香蕉| 男人舔女人下体高潮全视频| 亚洲成a人片在线一区二区| 我的老师免费观看完整版| 欧美黑人巨大hd| 99国产精品一区二区三区| 久久久久久大精品| 高潮久久久久久久久久久不卡| 久久99热这里只有精品18| 老司机福利观看| 亚洲精品一区av在线观看| 精品熟女少妇八av免费久了| 亚洲国产高清在线一区二区三| 两个人视频免费观看高清| 国产欧美日韩精品一区二区| 在线观看av片永久免费下载| 美女cb高潮喷水在线观看| 激情在线观看视频在线高清| 我要搜黄色片| 国产激情偷乱视频一区二区| 天堂动漫精品| 久久久久精品国产欧美久久久| 亚洲片人在线观看| 中出人妻视频一区二区| 日本与韩国留学比较| 热99re8久久精品国产| 不卡一级毛片| 午夜免费激情av| 在线观看66精品国产| 久久久久久久精品吃奶| 中文资源天堂在线| 丰满乱子伦码专区| 成人一区二区视频在线观看| 黄片小视频在线播放| 色综合欧美亚洲国产小说| 国产真实伦视频高清在线观看 | 一区二区三区免费毛片| 欧美日韩国产亚洲二区| 九九热线精品视视频播放| 午夜精品一区二区三区免费看| 国产私拍福利视频在线观看| 久久精品国产亚洲av天美| 一a级毛片在线观看| 欧美丝袜亚洲另类 | 久久热精品热| 熟女人妻精品中文字幕| 久久精品人妻少妇| 桃红色精品国产亚洲av| 在线观看免费视频日本深夜| 色精品久久人妻99蜜桃| 人妻制服诱惑在线中文字幕| 性色av乱码一区二区三区2| 色综合婷婷激情| 色综合站精品国产| 日日摸夜夜添夜夜添小说| 久久人人爽人人爽人人片va | 精品国产亚洲在线| 俺也久久电影网| 九九在线视频观看精品| 97热精品久久久久久| 免费av不卡在线播放| 岛国在线免费视频观看| 人妻制服诱惑在线中文字幕| а√天堂www在线а√下载| 国产探花极品一区二区| 天美传媒精品一区二区| 欧美乱色亚洲激情| 亚洲av一区综合| 久久久久免费精品人妻一区二区| 亚洲av日韩精品久久久久久密| 成人精品一区二区免费| 九九热线精品视视频播放| 看黄色毛片网站| 丰满乱子伦码专区| 欧美高清成人免费视频www| 国产黄a三级三级三级人| 可以在线观看毛片的网站| 亚洲熟妇熟女久久| 丁香六月欧美| 欧美日韩中文字幕国产精品一区二区三区| 脱女人内裤的视频| 色哟哟·www| 天堂av国产一区二区熟女人妻| 国产一区二区激情短视频| 国产激情偷乱视频一区二区| a级毛片a级免费在线| 亚洲成av人片在线播放无| 欧美性猛交╳xxx乱大交人| 亚洲国产日韩欧美精品在线观看| 成人特级av手机在线观看| 中文字幕高清在线视频| 精品久久久久久久久av| 国产精品人妻久久久久久| 综合色av麻豆| 国产熟女xx| 我要搜黄色片| 一个人看的www免费观看视频| 日本一二三区视频观看| 中文亚洲av片在线观看爽| 亚洲av免费高清在线观看| 亚洲av五月六月丁香网| 老鸭窝网址在线观看| 亚洲人成网站在线播放欧美日韩| 男人的好看免费观看在线视频| 国产精品久久久久久久电影| 国产欧美日韩一区二区精品| 久久热精品热| 蜜桃亚洲精品一区二区三区| eeuss影院久久| 国产成人啪精品午夜网站| 色综合亚洲欧美另类图片| 尤物成人国产欧美一区二区三区| 欧美黄色片欧美黄色片| 怎么达到女性高潮| 少妇的逼好多水| netflix在线观看网站| 欧美性感艳星| 人妻制服诱惑在线中文字幕| 中亚洲国语对白在线视频| 亚洲国产高清在线一区二区三| www.www免费av| 麻豆久久精品国产亚洲av| 狂野欧美白嫩少妇大欣赏| 人人妻人人澡欧美一区二区| 国产精品久久久久久久久免 | 午夜免费激情av| 12—13女人毛片做爰片一| 在线看三级毛片| eeuss影院久久| 国产综合懂色| 色哟哟·www| 欧美+日韩+精品| 亚洲精华国产精华精| 国产一级毛片七仙女欲春2| 一进一出抽搐动态| 深夜a级毛片| 高清在线国产一区| 天堂√8在线中文| 国产熟女xx| 男女视频在线观看网站免费| 亚洲第一区二区三区不卡| 国产成人av教育| 村上凉子中文字幕在线| 亚洲av电影不卡..在线观看| 免费电影在线观看免费观看| 成人欧美大片| 中文资源天堂在线| 欧美性感艳星| 国语自产精品视频在线第100页| 禁无遮挡网站| 91久久精品电影网| 亚洲一区高清亚洲精品| 午夜a级毛片| 国产色婷婷99| 欧美一区二区亚洲| 伦理电影大哥的女人| 亚洲成av人片免费观看| 好男人电影高清在线观看| 国产成人欧美在线观看| 精品一区二区免费观看| 啦啦啦观看免费观看视频高清| 欧美日韩中文字幕国产精品一区二区三区| 搞女人的毛片| 十八禁人妻一区二区| 精品人妻偷拍中文字幕| 男人狂女人下面高潮的视频| 他把我摸到了高潮在线观看| 成人欧美大片| 日日干狠狠操夜夜爽| 亚洲 欧美 日韩 在线 免费| 狂野欧美白嫩少妇大欣赏| 欧美在线黄色| 亚洲av成人精品一区久久| 久久久久久大精品| 国产精品一区二区三区四区免费观看 | 在线观看舔阴道视频| 啪啪无遮挡十八禁网站| 午夜福利在线观看免费完整高清在 | 1024手机看黄色片| 日本五十路高清| 欧美高清性xxxxhd video| 波多野结衣高清作品| 中文资源天堂在线| 精品久久久久久久末码|