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

    智能合約安全綜述:漏洞分析

    2019-10-11 01:23:441c2
    關(guān)鍵詞:以太調(diào)用攻擊者

    1c2

    (1.華南師范大學(xué) a.計(jì)算機(jī)學(xué)院, b.廣州市云計(jì)算安全與測(cè)評(píng)技術(shù)重點(diǎn)實(shí)驗(yàn)室, c.唯鏈區(qū)塊鏈技術(shù)與應(yīng)用聯(lián)合實(shí)驗(yàn)室, 廣東 廣州 510000;2.唯鏈基金會(huì), 上海 200000; 3.廣州大學(xué) 網(wǎng)絡(luò)空間先進(jìn)技術(shù)研究院, 廣東 廣州 510006)

    新型的去中心化加密貨幣——比特幣[1],自2009年面世至今,在實(shí)踐上的穩(wěn)定性成功地吸引了業(yè)界和學(xué)術(shù)界的廣泛關(guān)注[2].其蘊(yùn)含的去中心化、可追溯性以及不可篡改等特征的底層架區(qū)塊鏈技術(shù),為數(shù)據(jù)存儲(chǔ)與價(jià)值交換提供了一種安全可靠的去中心化模式.基于區(qū)塊鏈技術(shù)構(gòu)造去中心化應(yīng)用的前景被眾多學(xué)術(shù)界和企業(yè)界人士,甚至是政府部門寄予厚望[3-4].近年來(lái),隨著區(qū)塊鏈技術(shù)的發(fā)展,搭載智能合約功能的區(qū)塊鏈技術(shù)是最重要的發(fā)展趨勢(shì)之一,以太坊(Ethereum)則是其中最重要的區(qū)塊鏈平臺(tái)[5].智能合約是一種可編程式交易,可以被互不受信任的節(jié)點(diǎn)通過區(qū)塊鏈共識(shí)機(jī)制(如工作量證明[1]、權(quán)益證明[6])自動(dòng)且正確的執(zhí)行.目前借助智能合約所部署的應(yīng)用已經(jīng)涵蓋了金融衍生品及服務(wù)、實(shí)體資產(chǎn)以及供應(yīng)鏈等.

    由于智能合約應(yīng)用便利,大量高價(jià)值數(shù)字資產(chǎn)利用智能合約進(jìn)行存儲(chǔ)和轉(zhuǎn)移,因此,容易受到攻擊者的密集活動(dòng)影響.而且,因?yàn)閰^(qū)塊鏈上的智能合約具有一經(jīng)部署就不可篡改的特性,如果智能合約中存在了安全性漏洞,則無(wú)法對(duì)已部署到區(qū)塊鏈上的合約代碼進(jìn)行補(bǔ)丁更新.即是說,以太坊智能合約的正確執(zhí)行是其結(jié)果有效性的必要條件,單獨(dú)的正確性不足以證明智能合約的安全性.這使得區(qū)塊鏈智能合約從本質(zhì)上存在天然的機(jī)制漏洞,容易造成經(jīng)濟(jì)損失.目前針對(duì)以太坊智能合約的攻擊已經(jīng)有大量的例子[7-8].例如,在2016年6月,惡意攻擊者通過以太坊Solidity[9]編程語(yǔ)言里遞歸調(diào)用的漏洞對(duì)智能合約DAO進(jìn)行了攻擊[10],盜取了大約6 000萬(wàn)美元,最終導(dǎo)致以太坊的硬分叉(Hard-fork).

    實(shí)際上,在以太坊上開發(fā)和設(shè)計(jì)智能合約很容易引入安全性漏洞,其中很大一部分是由于以太坊虛擬機(jī)(Ethereum Virtual Machine,EVM)所支持的高級(jí)語(yǔ)言,如Solidity(一種與Javascript類似的編程語(yǔ)言),其語(yǔ)法特性與開發(fā)人員的直覺認(rèn)知存在誤差,導(dǎo)致所編寫的智能合約存在一些程序上的漏洞.此外,造成漏洞的原因還有可能是來(lái)源于虛擬機(jī)層面的指令以及區(qū)塊鏈協(xié)議內(nèi)部執(zhí)行的機(jī)制,比如智能合約之間的依賴問題會(huì)與智能合約部署時(shí)間存在關(guān)系.

    在theDAO事件發(fā)生之后,出現(xiàn)了Oyente[11]、ContractFuzzer[12]、Teether[13]、Madmax[14]、Zeus[15]等檢測(cè)智能合約安全性的工具.這些工具通過代碼審計(jì)、測(cè)試、模型檢測(cè)等方法,提供智能合約開發(fā)者在部署前發(fā)現(xiàn)漏洞的機(jī)會(huì),以減少因?yàn)榘踩┒炊鴮?dǎo)致的損失.

    為了系統(tǒng)地總結(jié)并對(duì)智能合約漏洞問題進(jìn)行分類,本文主要從以太坊上的智能合約漏洞類型進(jìn)行闡述和歸納.在第一章里,本文對(duì)以太坊智能合約的程序編程模型進(jìn)行介紹,第二章從Solidity編程語(yǔ)言的層面上對(duì)漏洞類型進(jìn)行整理,第三和第四章則分別從EVM和區(qū)塊鏈層面進(jìn)行總結(jié)和歸納.第五章介紹了DoS類型的特殊漏洞.最后對(duì)智能合約的漏洞問題進(jìn)行總結(jié)以及探討智能合約的未來(lái)發(fā)展.

    1 以太坊智能合約程序編程模型

    以太坊上的智能合約由一個(gè)或多個(gè)合約賬戶所對(duì)應(yīng)的合約代碼以及持有Ether的用戶地址所組成.以太坊上的用戶需要通過發(fā)起交易的方式調(diào)用智能合約,并且執(zhí)行過程和結(jié)果由礦工來(lái)打包寫入到區(qū)塊鏈中.

    1.1 程序結(jié)構(gòu)

    以太坊上的智能合約主要是通過Solidity進(jìn)行編寫,Solidity是一種具有面向?qū)ο笮再|(zhì)的弱類型語(yǔ)言.使用Solidity編寫的智能合約主要包含狀態(tài)變量的聲明、函數(shù)、修飾符和構(gòu)造函數(shù)的定義等部分.在以太坊上部署智能合約時(shí),開發(fā)人員需要先將使用Solidity編寫的智能合約代碼編譯為以太坊虛擬機(jī)可執(zhí)行的二進(jìn)制代碼.而在編譯過程中,智能合約代碼的入口會(huì)插入一小段稱為函數(shù)選擇器(Function Selector)的代碼,用以在調(diào)用函數(shù)時(shí)快速跳轉(zhuǎn)到相應(yīng)函數(shù)并加以執(zhí)行.在編譯完成后,可以通過客戶端發(fā)送合約創(chuàng)建交易(Contract Creation Transaction),或通過其他合約執(zhí)行特殊的EVM指令CREATE來(lái)部署該編譯后的智能合約.

    1.2 調(diào)用方式

    在以太坊成功部署的智能合約,可以通過三種方式調(diào)用合約中的公共函數(shù)(External/Public).第一種方式是通過客戶端發(fā)送消息調(diào)用交易(Message Call Transaction),其中包含了數(shù)據(jù)參數(shù)以及目標(biāo)函數(shù)簽名的哈希值.這種函數(shù)調(diào)用方式必須在交易得到確認(rèn)后才能生效.另外,礦工會(huì)對(duì)該交易收取Gas來(lái)作為執(zhí)行函數(shù)時(shí)所需要的代價(jià),因此,該方式是一種寫操作,即會(huì)對(duì)消息調(diào)用者的賬戶的余額以及合約的狀態(tài)進(jìn)行更改.第二種方式則通過另一個(gè)合約來(lái)間接的調(diào)用,這種方式最終可以被追溯成另一筆消息調(diào)用交易.最后一種方式是通過客戶端調(diào)用 view (或pure) 函數(shù),但這種方式并不會(huì)改變合約的狀態(tài),也不需要耗費(fèi)Gas.

    1.3 存儲(chǔ)結(jié)構(gòu)

    以太坊虛擬機(jī)(Ethereum Virtual Machine,EVM)的存儲(chǔ)方式可以分為四種:棧(Stack)、狀態(tài)存儲(chǔ)(Storage)、虛擬機(jī)內(nèi)存(Memory)和只讀內(nèi)存.EVM是基于棧的虛擬機(jī),棧中的每一個(gè)元素的長(zhǎng)度是256位,基本的算術(shù)運(yùn)算和邏輯運(yùn)算都是使用棧完成.虛擬機(jī)內(nèi)存實(shí)際上是一個(gè)連續(xù)的數(shù)組空間,用于存放如字符串等較復(fù)雜的數(shù)據(jù)類型.狀態(tài)存儲(chǔ)是key-value的存儲(chǔ)結(jié)構(gòu),用于持久化數(shù)據(jù).與棧和虛擬機(jī)內(nèi)存不同,狀態(tài)存儲(chǔ)的值會(huì)被記錄到以太坊的狀態(tài)樹當(dāng)中. 只讀內(nèi)存是EVM最特殊的一種存儲(chǔ)結(jié)構(gòu),主要用于存放參數(shù)和返回值.

    2 代碼層漏洞

    Solidity(類似于JavaScript語(yǔ)法)是圖靈完備的高級(jí)語(yǔ)言,是目前智能合約編寫的主要語(yǔ)言之一,雖然它為開發(fā)者提供便利的編程語(yǔ)言,但是使用不當(dāng)會(huì)使得編寫的智能合約異常脆弱,容易受到攻擊者攻擊,下面介紹及分析存在于代碼層的漏洞,對(duì)這些漏洞進(jìn)行案例還原.

    2.1 可重入漏洞

    可重入漏洞是目前以太坊系統(tǒng)中最著名的漏洞之一,黑客利用該漏洞在2016年成功轉(zhuǎn)移超過360萬(wàn)個(gè)以太幣,盜取了大約6 000萬(wàn)美元.該漏洞主要是因?yàn)橹悄芎霞s調(diào)用一個(gè)未知的合約地址,攻擊者可以精心構(gòu)造一份智能合約,在回調(diào)函數(shù)中加入惡意代碼.當(dāng)智能合約向該惡意合約地址發(fā)送以太幣的時(shí)候,合約上的惡意代碼將會(huì)被觸發(fā),這段惡意代碼通常會(huì)進(jìn)行開發(fā)者意想不到的操作.圖1例子根據(jù)DAO合約進(jìn)行改造而來(lái).

    圖1 可重入漏洞例子
    Fig.1 The example of DAO

    圖1代碼有著存款取款的正常功能,但是存在可以進(jìn)行可重入的漏洞,攻擊者可以利用第8行的代碼精心構(gòu)造如圖2代碼進(jìn)行攻擊.

    圖2 可重入漏洞攻擊
    Fig.2 Dao attack

    當(dāng)攻擊者調(diào)用Attack合約中的AttackMyStore函數(shù)時(shí),將會(huì)運(yùn)行第4行代碼,這時(shí),會(huì)觸發(fā)MyStore合約中的withdrawFunds函數(shù),運(yùn)行到第8行時(shí),將會(huì)自動(dòng)觸發(fā)Attack合約的fallback函數(shù),繼而觸發(fā)MyStore中的withdrawFunds函數(shù),形成一個(gè)不斷循環(huán)可重入的過程,攻擊者將拿到原本存儲(chǔ)在MyStore中的所有以太幣.

    Solidity文檔建議使用“檢查-生效-交互”的模型編寫代碼以避免可重入漏洞.若將圖1中的第9行代碼和第8行代碼進(jìn)行交換,則攻擊者無(wú)法通過可重入的漏洞對(duì)該合約進(jìn)行攻擊.

    2.2 危險(xiǎn)的DELEGATECALL

    智能合約在使用DELEGATECALL時(shí),會(huì)調(diào)用存在于其他智能合約中的代碼,但是會(huì)保持當(dāng)前的上下文關(guān)系,這種特性雖方便了開發(fā)者使用,卻加大了設(shè)計(jì)安全代碼庫(kù)的難度,攻擊者會(huì)利用保持上下文不變的特性修改原有上下文的內(nèi)容從而進(jìn)行攻擊.具體參考圖3.

    圖3 供其他合約使用的庫(kù)代碼
    Fig.3 The code of Libraries

    圖3中的庫(kù)代碼是用來(lái)控制合約的起始時(shí)間和終止時(shí)間,下面構(gòu)造是對(duì)這個(gè)代碼庫(kù)的使用智能合約(圖4).

    圖4 含有DELEGATECALL的合約代碼
    Fig.4 DELEGATECALL in contract

    這個(gè)漏洞和智能合約對(duì)于storage變量的存儲(chǔ)位置有關(guān),可以看到,在智能合約Lib中,第一個(gè)變量start存儲(chǔ)在合約的第一個(gè)位置,即slot[0]中,第二個(gè)變量end存儲(chǔ)在slot[1]中.在合約UseLib中,第一變量lib存儲(chǔ)在slot[0]中,第二個(gè)變量end與第三個(gè)變量start分別存儲(chǔ)在slot[1]與slot[2].當(dāng)運(yùn)行合約UseLib中的第7行代碼的時(shí)候,會(huì)調(diào)用合約Lib中的set_start函數(shù),由于DELEGATECALL中的上下文不變的特性,本來(lái)修改slot[0]中的內(nèi)容并不是開發(fā)者預(yù)想中的變量start,而是變成當(dāng)前上下文中的變量lib,因此,修改lib地址變量后,可為攻擊者提供有效的攻擊途徑.

    2017年,惡意用戶通過此漏洞攻擊Parity錢包,導(dǎo)致價(jià)值將近1.7億美元的ETH被凍結(jié).

    2.3 算術(shù)上溢/下溢

    上溢/下溢在很多程序語(yǔ)言中都存在,在以太坊虛擬機(jī)中,uint類型最大為256位,超過此范圍會(huì)出現(xiàn)上下溢情況.在2018年美鏈中,使用了ERC20[16]中的batchTranfer函數(shù),在這個(gè)函數(shù)的實(shí)現(xiàn)中存在上溢的危險(xiǎn),攻擊者利用這一漏洞,造成了美鏈的巨大的經(jīng)濟(jì)損失.下面看美鏈的案例說明[17](圖5).

    圖5 美鏈接口batchTranfer函數(shù)的具體實(shí)現(xiàn)
    Fig.5 BEC’s code implementation

    該合約雖然利用了庫(kù)代碼SafeMath進(jìn)行安全運(yùn)算,但是由于開發(fā)者的疏忽,仍然給攻擊者造成上溢的機(jī)會(huì).攻擊者調(diào)用batchTransfer函數(shù),_value賦值5789604461865809771178549250434395-392663499233282019728792003956564819968,_receivers的值為攻擊者提供的2個(gè)地址,在第8行代碼中,由于算術(shù)運(yùn)算發(fā)生上溢,從而導(dǎo)致運(yùn)算的結(jié)果為0,第5、6、7行的代碼無(wú)法偵測(cè)異常,最終,攻擊者成功攻擊,轉(zhuǎn)走賬戶中所有的金額.

    2.4 默認(rèn)函數(shù)類型

    目前Solidity語(yǔ)言是以太坊智能合約使用最廣的語(yǔ)言,在Solidity中,默認(rèn)函數(shù)的類型為public,默認(rèn)變量的類型為pirvate.由于開發(fā)者的疏忽,會(huì)使合約產(chǎn)生漏洞,使得攻擊者能對(duì)合約進(jìn)行攻擊.

    圖6的合約是一簡(jiǎn)單的游戲,當(dāng)調(diào)用者的地址的最后八位為0時(shí)即為游戲的勝利者,可以把Game合約中的金額全都拿走,但是由于開發(fā)者的使用不當(dāng),函數(shù)_sendWinnings的類型并沒有顯示提供,導(dǎo)致該函數(shù)的類型為默認(rèn)類型,所有的區(qū)塊鏈用戶都能取走該智能合約中的所有金額.

    圖6 合約函數(shù)類型均為默認(rèn)類型
    Fig.6 Default type

    2.5 外部調(diào)用的返回值

    在智能合約中,一般通過transfer()、send()、call()等函數(shù)進(jìn)行對(duì)其他賬戶的轉(zhuǎn)賬[9],transfer()函數(shù)會(huì)自動(dòng)檢查轉(zhuǎn)賬結(jié)果,當(dāng)轉(zhuǎn)賬失敗的時(shí)候會(huì)自行拋出異常,但是send()與call()函數(shù)失敗時(shí)不會(huì)自行拋出異常,而是繼續(xù)往下執(zhí)行剩余代碼,進(jìn)而攻擊者可以利用此特性,故意轉(zhuǎn)賬失敗來(lái)達(dá)到攻擊目的,見圖7.

    圖7 智能合約缺少外部調(diào)用檢查

    Fig.7 Exterior appropriation check after intelligent contract default

    圖7中,正常的情況下執(zhí)行第7行代碼的時(shí)候,勝利者將會(huì)得到本次游戲的獎(jiǎng)勵(lì),但是,由于某種原因轉(zhuǎn)賬失敗,此時(shí)并沒有檢查winner.send()的返回值,代碼會(huì)繼續(xù)執(zhí)行,在第8行代碼中,將SendOut變量更改為true,從而導(dǎo)致該游戲中的金額永遠(yuǎn)鎖在賬戶中無(wú)法提取.

    3 虛擬機(jī)層

    在以太坊系統(tǒng)中的智能合約必須都要依賴于EVM的執(zhí)行,有時(shí)候由于編譯問題,導(dǎo)致程序的執(zhí)行過程不符合開發(fā)者執(zhí)行的預(yù)期,最終攻擊者可以利用此類漏洞進(jìn)行攻擊.

    3.1 短地址攻擊

    當(dāng)向智能合約發(fā)送交易的時(shí)候,根據(jù)智能合約ABI規(guī)范對(duì)函數(shù)參數(shù)進(jìn)行編碼.在ABI規(guī)范中輸入的地址參數(shù)必須是20字節(jié),當(dāng)輸入的地址少于20個(gè)字節(jié)的時(shí)候,EVM將用0補(bǔ)全以滿足要求.如開發(fā)者沒有嚴(yán)格按照此規(guī)范對(duì)輸入進(jìn)行檢查,將會(huì)使得攻擊者有機(jī)會(huì)對(duì)合約發(fā)起攻擊.ERC20轉(zhuǎn)賬接口的定義如下:

    function transfer(address to, uint tokens) public returns (bool success);

    在正常的轉(zhuǎn)賬例子里,輸入的地址參數(shù)為0xca35b7d915458ef540ade6068dfe2f44e8fa733c,輸入的tokens參數(shù)為100,這時(shí)候EVM會(huì)對(duì)transfer()的函數(shù)調(diào)用進(jìn)行編碼,最終的編碼為a9059cbb000000000000000000000000ca35b7d9154-58ef540ade6068dfe2f44e8fa733c0000000000000000-000000000000000000000000000000056bc75e2d631-00000,其中前4個(gè)字節(jié)(a9059cbb)為transfer()函數(shù),緊接著的32個(gè)字節(jié)為第一個(gè)address參數(shù),最后的32個(gè)字節(jié)為第二個(gè)uint256參數(shù),這時(shí)的56bc75e2d63100000對(duì)應(yīng)著參數(shù)中的100token.

    而在短地址轉(zhuǎn)賬中,不足20字節(jié)的地址參數(shù)會(huì)出現(xiàn)意想不到的效果,當(dāng)輸入的tokens參數(shù)為100,輸入的地址參數(shù)為0xca35b7d915458ef-540ade6068dfe2f44e8fa73時(shí)(注意這里的地址參數(shù)比正常轉(zhuǎn)賬中少了兩位),為了補(bǔ)位,EVM會(huì)在數(shù)據(jù)后面補(bǔ)足0,因此,最終編碼為a9059cbb-000000000000000000000000ca35b7d915458ef540a-de6068dfe2f44e8fa730000000000000000000000000-000000000000000000000056bc75e2d6310000000,其中,由于補(bǔ)全的原因,第二個(gè)參數(shù)這時(shí)會(huì)由原來(lái)的56bc75e2d63100000變成56bc75e2d6310000000,從原來(lái)的100tokens變成25600tokens,進(jìn)而造成攻擊.目前該攻擊在實(shí)際運(yùn)用中還沒發(fā)現(xiàn).

    3.2 Tx.Origin漏洞

    在智能合約中存在一個(gè)全局變量tx.origin,它返回發(fā)起本次交易的調(diào)用者,因此,攻擊者能利用此漏洞創(chuàng)建一個(gè)類似于陷阱的合約,對(duì)調(diào)用該智能合約的用戶造成攻擊.圖8是簡(jiǎn)單的取款操作.

    圖8 含有tx.origin的智能合約
    Fig.8 The contract with tx.origin

    攻擊者可以利用圖8的tx.origin漏洞構(gòu)造一份相應(yīng)的智能合約,見圖9.

    圖9 對(duì)tx.origin漏洞進(jìn)行攻擊
    Fig.9 Use tx.origin to attack

    當(dāng)使用者被騙后,用自己的賬戶向智能合約Attacker發(fā)起轉(zhuǎn)賬的時(shí)候,將會(huì)觸發(fā)fallback函數(shù),該函數(shù)會(huì)調(diào)用合約MyStore中的withdrawAll函數(shù),因?yàn)閠x.origin的緣故,導(dǎo)致無(wú)法檢測(cè)出異常,這時(shí),發(fā)起調(diào)用的賬戶中的金額將會(huì)全部轉(zhuǎn)到attacker的賬戶里.

    4 區(qū)塊鏈層

    目前市面上有多種區(qū)塊鏈系統(tǒng),最知名的是比特幣與以太坊系統(tǒng),不同的系統(tǒng)會(huì)有著不同的特性,而對(duì)于競(jìng)爭(zhēng)記賬權(quán)或者塊產(chǎn)生的規(guī)則大不相同,由于這些細(xì)微的差別,從理論上來(lái)說有機(jī)會(huì)讓攻擊者能利用這些差別進(jìn)行攻擊.

    4.1 打包交易的順序

    由于區(qū)塊鏈通過例如PoW[1]或者PoS[18]等共識(shí)算法競(jìng)爭(zhēng)記賬權(quán)的,交易打包的順序由競(jìng)爭(zhēng)到記賬權(quán)的節(jié)點(diǎn)決定,不同的節(jié)點(diǎn)打包交易的順序不一定相同,因此,交易順序不同往往會(huì)引發(fā)不同的結(jié)果.

    圖10中的合約是簡(jiǎn)單的維護(hù)商品價(jià)格和售賣商品的流程,假設(shè)A用戶頻繁地調(diào)用updatePrice()更改商品價(jià)格,B用戶調(diào)用buy()購(gòu)買商品,當(dāng)這些交易在幾乎相同的時(shí)間進(jìn)行提交,這時(shí)由于交易打包順序由礦工節(jié)點(diǎn)決定,B用戶可能買到商品的價(jià)格由于頻繁的價(jià)格更新而與購(gòu)買時(shí)價(jià)格不符,從而導(dǎo)致B用戶的經(jīng)濟(jì)損失.

    圖10 維護(hù)商品價(jià)格的智能合約
    Fig.10 A contract to update price

    4.2 基于時(shí)間戳的隨機(jī)變量漏洞

    基于時(shí)間戳進(jìn)行隨機(jī)數(shù)選取是大多數(shù)程序中常見的操作,但是由于時(shí)間戳在塊產(chǎn)生的時(shí)候由打包節(jié)點(diǎn)決定,可以在大約900 s時(shí)在誤差范圍內(nèi)調(diào)整時(shí)間戳的值[19],因此,攻擊者可以利用這一特性生成有利于自己的時(shí)間戳進(jìn)行攻擊,見圖11.

    圖11 合約基于時(shí)間戳進(jìn)行隨機(jī)數(shù)選擇
    Fig.11 Use timestamp to generate number

    圖11中的合約就是一個(gè)碰運(yùn)氣的游戲,參與者每次提供10個(gè)以太幣參加,有1/15的可能性獲得該合約賬戶中所有的金額,從上述提到的原理可知,礦工節(jié)點(diǎn)可以控制塊的時(shí)間戳的具體值,礦工可以一直利用時(shí)間戳導(dǎo)致now%15永遠(yuǎn)不為0,當(dāng)累計(jì)到一定程度后再對(duì)賬戶里的金額進(jìn)行提取.

    5 拒絕服務(wù)

    拒絕服務(wù)攻擊是一種針對(duì)以太坊常見的攻擊類型,其目的是使以太坊網(wǎng)絡(luò)資源和系統(tǒng)資源耗盡,從而無(wú)法對(duì)外提供正常的服務(wù).為了保證整個(gè)以太坊網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的一致性,智能合約的運(yùn)行需要利用網(wǎng)絡(luò)同步到以太坊中的各個(gè)節(jié)點(diǎn),因此,在以太坊中部署和執(zhí)行智能合約都需要很大的資源開銷.雖然EVM通過設(shè)置gas機(jī)制(用戶需要為部署和執(zhí)行智能合約而付出代價(jià),而這個(gè)代價(jià)就是以太幣)來(lái)防止某些惡意用戶浪費(fèi)以太坊系統(tǒng)中的系統(tǒng)和網(wǎng)絡(luò)資源,但是,智能合約依然是以太坊面臨DOS攻擊時(shí)較為脆弱的一個(gè)環(huán)節(jié),攻擊者可以在智能合約中插入消耗系統(tǒng)資源高的代碼,使得以太坊系統(tǒng)忙于執(zhí)行這些惡意代碼而無(wú)暇對(duì)外界正常提供服務(wù).除此之外,開發(fā)人員編寫智能合約也會(huì)引入DOS的漏洞,攻擊者通過利用這些漏洞使智能合約陷入拒絕服務(wù)的狀態(tài)當(dāng)中.稱前者為主動(dòng)式DOS,后者為被動(dòng)式DOS.

    5.1 主動(dòng)式DoS

    主動(dòng)式DOS攻擊,主要是指通過部署和執(zhí)行擁有大量消耗系統(tǒng)資源高但所需gas低廉的EVM指令的智能合約,使攻擊者可以在低成本的條件下讓以太坊整個(gè)網(wǎng)絡(luò)陷入拒絕服務(wù)的狀態(tài)[20].2016年,兼有系統(tǒng)消耗高和gas低廉的指令EXCODESIZE和SUICIDE被攻擊者發(fā)現(xiàn),并利用其對(duì)以太坊網(wǎng)絡(luò)進(jìn)行攻擊,導(dǎo)致以太坊網(wǎng)絡(luò)交易速率下降.雖然以太坊通過修改gas機(jī)制阻止這種攻擊的再次出現(xiàn)[21-22],但嚴(yán)重影響了公眾對(duì)以太坊等區(qū)塊鏈系統(tǒng)的信心.

    5.1.1 EXCODESIZE DOS攻擊[23]

    EXCODESIZE是EVM用于查尋某個(gè)合約賬戶代碼規(guī)模的指令[5],會(huì)對(duì)磁盤I/O造成很大的負(fù)擔(dān),普通用戶需要消耗大量資源來(lái)執(zhí)行EXCODESIZE指令.同時(shí)EXCODESIZE擁有很低的調(diào)用成本(在1.3.5的geth之前的版本僅僅需要20 gas).為此,攻擊者可以通過部署和調(diào)用有大量的EXCODESIZE指令的智能合約,造成以太坊節(jié)點(diǎn)頻繁讀寫磁盤,降低以太坊網(wǎng)絡(luò)交易吞吐量.在geth 1.6的版本之后,EXCODESIZE指令被上調(diào)至700 gas的開銷,相比之前20 gas的開銷,增長(zhǎng)了34倍[22].因此,使用大量EXCODESIZE進(jìn)行DOS攻擊的成本上升,此類的攻擊才得到了初步的遏制.

    5.1.2 空賬戶DOS攻擊

    空賬戶是指沒有代碼,沒有以太幣的以太坊賬戶,這些賬戶不存在任何功能但需要存儲(chǔ)在以太坊的狀態(tài)樹中.在2016年10月,攻擊者通過創(chuàng)建大量的空賬戶對(duì)以太坊網(wǎng)絡(luò)進(jìn)行攻擊,導(dǎo)致以太坊浪費(fèi)了大量的存儲(chǔ)資源,增加同步時(shí)間,甚至導(dǎo)致了11月份針對(duì)修復(fù)此類攻擊的“Spurious Dragon”分叉[21].攻擊者通過在母合約中創(chuàng)建子合約,并且循環(huán)調(diào)用子合約的SUICIDE[5],把子合約的以太幣(實(shí)際并無(wú)以太幣)發(fā)送到指定的賬戶.這里攻擊者所指定的賬戶在以太坊中是不存在的,因此,以太坊會(huì)創(chuàng)建賬戶地址并紀(jì)錄在狀態(tài)樹當(dāng)中.通過這種方式創(chuàng)造一個(gè)新賬戶僅需要90 gas,但以太坊實(shí)際的系統(tǒng)開銷是極其巨大的.在2016年10月的DOS攻擊中,攻擊者通過這樣的方式創(chuàng)造了超過1 900萬(wàn)的空賬戶,給以太坊的存儲(chǔ)和網(wǎng)絡(luò)同步造成了很沉重的負(fù)擔(dān).“Spuerious Dragon”分叉后,以太坊通過規(guī)定SUICIDE的gas消耗為5 000,若在執(zhí)行時(shí)創(chuàng)建了新賬戶,其消耗應(yīng)該是25 000 gas,并且節(jié)點(diǎn)可以刪除之前攻擊所產(chǎn)生的僵尸賬戶,以減少空賬戶所帶來(lái)的負(fù)面影響.

    5.2 被動(dòng)式 DOS

    被動(dòng)式DOS主要是指由于智能合約在編寫過程中所引入的漏洞,使得智能合約在部署后陷入無(wú)法對(duì)其他用戶服務(wù)的狀態(tài)[14].被動(dòng)式DOS與其說是一種攻擊,不如說是一種漏洞,因?yàn)殚_發(fā)者在編寫過程中的考慮不周而導(dǎo)致智能合約在部署和運(yùn)行一段時(shí)間后處于拒絕服務(wù)的狀態(tài).

    5.2.1 無(wú)界循環(huán)DOS攻擊

    無(wú)界循環(huán)DOS是指智能合約的循環(huán)體結(jié)束條件處于開發(fā)者不可控制的狀態(tài)當(dāng)中,完全由用戶的輸入所確定.因此,智能合約運(yùn)行的gas開銷也完全被輸入所決定,很多由out-of-gas異常而產(chǎn)生的問題有很大的概率并沒有被開發(fā)人員所考慮到,其中就包括DOS情況的出現(xiàn).一個(gè)很常見的帶有無(wú)界循環(huán)DOS漏洞的代碼如圖12, 當(dāng)用戶數(shù)量達(dá)到一定程度的時(shí)候,執(zhí)行圖11代碼所需要的gas變得極其巨大,超過調(diào)用者所限定的gas-limited甚至是block-limited.這就造成了一種情況,用戶每次調(diào)用這段代碼時(shí)都會(huì)出現(xiàn)out-of-gas的異常并回滾至調(diào)用前的狀態(tài),也就是處于拒絕服務(wù)的狀態(tài).

    圖12 DOS例子1
    Fig.12 Example One of DOS

    5.2.2 Gas-less send DOS攻擊

    為了避免reentrancy漏洞,send()函數(shù)的gas被強(qiáng)制指定為2 300,一旦在轉(zhuǎn)賬過程中執(zhí)行fallback函數(shù)所耗費(fèi)的gas超過2 300就會(huì)觸發(fā)out-of-gas的異常并觸發(fā)以太坊的回滾.考慮圖13代碼, 代碼所實(shí)現(xiàn)的功能較為簡(jiǎn)單:向所有的投資者發(fā)放分紅.但考慮這樣的一種情況,當(dāng)中某些惡意投資者在自己的fallback函數(shù)帶有了gas消耗較大的代碼,而上述代碼的運(yùn)行過程必定會(huì)執(zhí)行這個(gè)fallback函數(shù),造成out-of-gas異常的出現(xiàn).因此,這段代碼就被這個(gè)惡意投資者鎖定,無(wú)法再對(duì)外提供應(yīng)有的服務(wù).

    圖13 DOS例子2
    Fig.13 Example two of DOS

    5.2.3 Overflow DOS

    Solidity提供的數(shù)值類型較多,在使用過程中稍有不慎就會(huì)造成數(shù)值上溢.若在循環(huán)結(jié)構(gòu)中錯(cuò)誤使用Solidity類型,也會(huì)造成DOS情況的出現(xiàn).考慮圖14代碼,在Solidity中uint在執(zhí)行特定類型時(shí),一般是指8位的無(wú)符號(hào)數(shù),其表達(dá)的范圍是0~255.當(dāng)用戶數(shù)量少于256時(shí),該代碼能夠正常對(duì)所有用戶提供服務(wù),但是一旦用戶數(shù)量超過256時(shí),因?yàn)閕在循環(huán)遞增中會(huì)發(fā)生溢出,處于后面的用戶就不會(huì)得到和前面用戶相同的服務(wù).換言之,大于255的編號(hào)的用戶被拒絕訪問.

    圖14 DOS例子3
    Fig.14 Example three of DOS

    6 總結(jié)與展望

    智能合約作為以太坊的執(zhí)行代碼,有著至關(guān)重要的作用,因此,智能合約的安全與漏洞自然而然成為研究的關(guān)注點(diǎn),本文分別從以太坊的代碼層、虛擬機(jī)層、區(qū)塊鏈層分層地介紹和總結(jié)了目前以太坊智能合約所存在的漏洞及其實(shí)例,而由于拒絕服務(wù)在目前的研究中存在有非常多的變種,而且在執(zhí)行此類攻擊時(shí)會(huì)涉及到上面三個(gè)層級(jí),本文把它作為特殊的漏洞類型單獨(dú)進(jìn)行詳述.通過本文對(duì)目前以太坊存在的漏洞的分析,希望能為后續(xù)的研究工作提供一些總結(jié),并幫助智能合約開發(fā)者們盡量避免這些已知的漏洞,從而提高智能合約的編碼的規(guī)范性和有效性.同時(shí),也可以為目前以太坊的開發(fā)者修復(fù)這些與區(qū)塊鏈平臺(tái)相關(guān)的漏洞,促進(jìn)以太坊智能合約的不斷更新和完善.

    猜你喜歡
    以太調(diào)用攻擊者
    以太極為旗,開啟新時(shí)代“黃河大合唱”
    少林與太極(2023年7期)2023-08-25 05:27:52
    基于微分博弈的追逃問題最優(yōu)策略設(shè)計(jì)
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    車易鏈:做汽車業(yè)的“以太坊”
    汽車觀察(2018年9期)2018-10-23 05:46:24
    正面迎接批判
    愛你(2018年16期)2018-06-21 03:28:44
    基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
    有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
    百通推出入門級(jí)快速工業(yè)以太網(wǎng)絡(luò)交換器系列
    以太互聯(lián) 高效便捷 經(jīng)濟(jì)、可靠、易用的小型可編程控制器
    在线天堂中文资源库| 美女高潮到喷水免费观看| 天堂动漫精品| 美女高潮喷水抽搐中文字幕| 老汉色av国产亚洲站长工具| 一夜夜www| 久久久久久久久久久久大奶| av福利片在线| 精品高清国产在线一区| av网站免费在线观看视频| 夜夜夜夜夜久久久久| 国产单亲对白刺激| 又黄又粗又硬又大视频| 免费看a级黄色片| 国产又色又爽无遮挡免费看| 欧美老熟妇乱子伦牲交| 18禁裸乳无遮挡免费网站照片 | 99国产综合亚洲精品| 精品熟女少妇八av免费久了| 麻豆一二三区av精品| 身体一侧抽搐| 国产精品日韩av在线免费观看 | 亚洲色图综合在线观看| 免费在线观看影片大全网站| 视频区欧美日本亚洲| a在线观看视频网站| 一区在线观看完整版| 精品一区二区三区四区五区乱码| 99热国产这里只有精品6| 午夜老司机福利片| www国产在线视频色| 国产人伦9x9x在线观看| 精品高清国产在线一区| 97人妻天天添夜夜摸| 老汉色∧v一级毛片| 亚洲自拍偷在线| 国产精品免费一区二区三区在线| 久久久久久大精品| 亚洲精华国产精华精| 欧美成狂野欧美在线观看| 国产97色在线日韩免费| 久久人妻av系列| 亚洲自偷自拍图片 自拍| 亚洲全国av大片| 成年人免费黄色播放视频| 男人操女人黄网站| 日韩大尺度精品在线看网址 | 亚洲久久久国产精品| 一区二区三区精品91| 欧美大码av| 在线观看免费视频日本深夜| 99在线人妻在线中文字幕| 大香蕉久久成人网| av天堂久久9| 国产视频一区二区在线看| av视频免费观看在线观看| 久久亚洲真实| 9色porny在线观看| 亚洲专区中文字幕在线| 国产免费现黄频在线看| 大码成人一级视频| 黑人巨大精品欧美一区二区mp4| 免费av毛片视频| 99riav亚洲国产免费| 久久国产精品人妻蜜桃| 国产精品综合久久久久久久免费 | 日日干狠狠操夜夜爽| 亚洲欧美精品综合久久99| 亚洲国产精品合色在线| a级片在线免费高清观看视频| 久久久久国内视频| 脱女人内裤的视频| 女人高潮潮喷娇喘18禁视频| 国产成人精品无人区| 校园春色视频在线观看| 夜夜看夜夜爽夜夜摸 | 熟女少妇亚洲综合色aaa.| 欧美日韩瑟瑟在线播放| 黄片小视频在线播放| 久久性视频一级片| 一级毛片高清免费大全| 在线视频色国产色| 欧美成人性av电影在线观看| 国产精品一区二区在线不卡| 999久久久国产精品视频| 亚洲人成77777在线视频| 免费不卡黄色视频| 美女国产高潮福利片在线看| 国产欧美日韩一区二区三| 嫁个100分男人电影在线观看| 久久热在线av| 黄色 视频免费看| 国产黄a三级三级三级人| 美女 人体艺术 gogo| 亚洲欧美精品综合久久99| 午夜激情av网站| 欧美午夜高清在线| 91国产中文字幕| 怎么达到女性高潮| 色在线成人网| 人妻久久中文字幕网| 国产亚洲精品一区二区www| 欧美av亚洲av综合av国产av| 18美女黄网站色大片免费观看| 级片在线观看| 成人国产一区最新在线观看| 高清黄色对白视频在线免费看| 法律面前人人平等表现在哪些方面| 在线观看66精品国产| 久久中文看片网| 久9热在线精品视频| 日日夜夜操网爽| 乱人伦中国视频| 黄频高清免费视频| svipshipincom国产片| 在线观看66精品国产| 国产精品二区激情视频| 亚洲免费av在线视频| 亚洲va日本ⅴa欧美va伊人久久| 国产不卡一卡二| 午夜福利在线观看吧| 精品第一国产精品| 婷婷精品国产亚洲av在线| 国产伦人伦偷精品视频| 91大片在线观看| 久久婷婷成人综合色麻豆| 亚洲av日韩精品久久久久久密| 夜夜夜夜夜久久久久| 亚洲一区中文字幕在线| 成年人免费黄色播放视频| 操美女的视频在线观看| 女性被躁到高潮视频| 另类亚洲欧美激情| 无人区码免费观看不卡| 欧美日韩精品网址| 亚洲av日韩精品久久久久久密| 女人被狂操c到高潮| 老司机在亚洲福利影院| 日韩三级视频一区二区三区| 亚洲第一欧美日韩一区二区三区| 热re99久久精品国产66热6| 欧美日韩中文字幕国产精品一区二区三区 | 午夜福利免费观看在线| 校园春色视频在线观看| 日韩免费av在线播放| 亚洲九九香蕉| 男女高潮啪啪啪动态图| 波多野结衣高清无吗| 亚洲精品中文字幕一二三四区| 高清在线国产一区| 国产高清视频在线播放一区| 亚洲一码二码三码区别大吗| 日日夜夜操网爽| 亚洲成人免费av在线播放| 免费人成视频x8x8入口观看| 亚洲精品av麻豆狂野| 精品久久久久久,| 久久精品91无色码中文字幕| 99久久99久久久精品蜜桃| 村上凉子中文字幕在线| 女生性感内裤真人,穿戴方法视频| 日本免费a在线| 精品熟女少妇八av免费久了| 久久久久精品国产欧美久久久| 男男h啪啪无遮挡| 久久婷婷成人综合色麻豆| 亚洲第一青青草原| 夜夜爽天天搞| www国产在线视频色| 亚洲一区二区三区不卡视频| 嫩草影视91久久| 国产亚洲欧美在线一区二区| 午夜免费激情av| 久久久久精品国产欧美久久久| a级毛片黄视频| 亚洲国产看品久久| cao死你这个sao货| 色综合欧美亚洲国产小说| 亚洲 欧美 日韩 在线 免费| 亚洲国产精品一区二区三区在线| 看片在线看免费视频| 日韩免费av在线播放| 在线免费观看的www视频| 99久久国产精品久久久| 精品国产国语对白av| 男人舔女人的私密视频| 高清毛片免费观看视频网站 | 精品乱码久久久久久99久播| 欧美成人免费av一区二区三区| 久久香蕉精品热| 亚洲av日韩精品久久久久久密| 成熟少妇高潮喷水视频| 欧美+亚洲+日韩+国产| 啪啪无遮挡十八禁网站| 亚洲午夜理论影院| 欧美午夜高清在线| 91麻豆av在线| 神马国产精品三级电影在线观看 | 少妇粗大呻吟视频| 中亚洲国语对白在线视频| 丁香六月欧美| 国产精品免费一区二区三区在线| 成人三级做爰电影| 国产深夜福利视频在线观看| 亚洲五月婷婷丁香| 高清欧美精品videossex| 亚洲成人国产一区在线观看| 亚洲第一欧美日韩一区二区三区| 97碰自拍视频| 男人操女人黄网站| 精品少妇一区二区三区视频日本电影| 叶爱在线成人免费视频播放| 亚洲精品国产色婷婷电影| 波多野结衣高清无吗| 1024视频免费在线观看| 国产成+人综合+亚洲专区| 91麻豆精品激情在线观看国产 | 国产欧美日韩一区二区三| 很黄的视频免费| 国产视频一区二区在线看| 国产精品av久久久久免费| av天堂久久9| 男女午夜视频在线观看| 99热国产这里只有精品6| 一二三四在线观看免费中文在| 色综合站精品国产| 丰满迷人的少妇在线观看| 午夜影院日韩av| 午夜精品在线福利| 老司机亚洲免费影院| 一二三四社区在线视频社区8| 狂野欧美激情性xxxx| 妹子高潮喷水视频| 中国美女看黄片| 9191精品国产免费久久| 国产黄a三级三级三级人| 欧美中文综合在线视频| 亚洲国产精品999在线| 制服诱惑二区| 日韩精品中文字幕看吧| 久久中文字幕人妻熟女| 日日爽夜夜爽网站| 日本精品一区二区三区蜜桃| 在线播放国产精品三级| 亚洲美女黄片视频| 国产极品粉嫩免费观看在线| 黄色成人免费大全| 丝袜美腿诱惑在线| 国产乱人伦免费视频| 国产成人精品在线电影| 亚洲 欧美一区二区三区| 婷婷六月久久综合丁香| 久久草成人影院| 国产欧美日韩一区二区三区在线| 欧美成狂野欧美在线观看| 国产精品国产高清国产av| 久久久国产精品麻豆| 丰满迷人的少妇在线观看| 精品国产一区二区三区四区第35| 国产97色在线日韩免费| 乱人伦中国视频| 午夜精品在线福利| 成人特级黄色片久久久久久久| 亚洲精品中文字幕一二三四区| 国产成人免费无遮挡视频| 国产主播在线观看一区二区| 人妻久久中文字幕网| 波多野结衣高清无吗| 成年人黄色毛片网站| 亚洲国产精品合色在线| 一夜夜www| 中文字幕高清在线视频| 欧美日本中文国产一区发布| 我的亚洲天堂| 久久亚洲精品不卡| 久久久国产一区二区| av天堂在线播放| 99在线视频只有这里精品首页| 国产精品99久久99久久久不卡| 国产精品av久久久久免费| av国产精品久久久久影院| 日韩欧美一区二区三区在线观看| 午夜久久久在线观看| 欧美日本亚洲视频在线播放| 免费在线观看亚洲国产| 亚洲av成人不卡在线观看播放网| 久久久国产成人免费| 久久精品亚洲精品国产色婷小说| 国产免费av片在线观看野外av| 国产av在哪里看| 亚洲中文av在线| 国产亚洲欧美精品永久| 激情在线观看视频在线高清| 在线观看免费视频网站a站| 午夜精品久久久久久毛片777| 欧美人与性动交α欧美软件| 丰满的人妻完整版| 国产成人av教育| 一级黄色大片毛片| 亚洲精品国产精品久久久不卡| 大码成人一级视频| 亚洲精品在线美女| 黑丝袜美女国产一区| 欧美中文综合在线视频| 悠悠久久av| 中文字幕另类日韩欧美亚洲嫩草| svipshipincom国产片| 午夜视频精品福利| 国产一区二区三区在线臀色熟女 | 伊人久久大香线蕉亚洲五| а√天堂www在线а√下载| 91大片在线观看| 人人妻,人人澡人人爽秒播| 精品福利永久在线观看| 久久青草综合色| 亚洲第一av免费看| 欧美精品一区二区免费开放| 国产熟女xx| 一进一出好大好爽视频| 女警被强在线播放| 岛国在线观看网站| 在线免费观看的www视频| 免费在线观看亚洲国产| 久热爱精品视频在线9| 琪琪午夜伦伦电影理论片6080| av中文乱码字幕在线| 韩国av一区二区三区四区| a级片在线免费高清观看视频| 国产成人av教育| 无限看片的www在线观看| 久热这里只有精品99| 国产熟女午夜一区二区三区| 老司机亚洲免费影院| 国产精品久久久人人做人人爽| 一进一出抽搐动态| 激情在线观看视频在线高清| 国产成年人精品一区二区 | 热re99久久精品国产66热6| 国产精品av久久久久免费| 国产精品永久免费网站| 大型黄色视频在线免费观看| 99国产精品一区二区蜜桃av| 国产精品电影一区二区三区| 久久国产精品男人的天堂亚洲| 中国美女看黄片| 看黄色毛片网站| 成人三级黄色视频| 国产黄色免费在线视频| 真人做人爱边吃奶动态| 国产精品香港三级国产av潘金莲| 国产精品成人在线| 国产成人av教育| 日韩一卡2卡3卡4卡2021年| 美女国产高潮福利片在线看| 久久精品影院6| 成人三级做爰电影| 亚洲成人久久性| 高清黄色对白视频在线免费看| 免费观看精品视频网站| 男女下面进入的视频免费午夜 | 满18在线观看网站| 久久久久精品国产欧美久久久| 日韩欧美国产一区二区入口| 最近最新免费中文字幕在线| 国产精品野战在线观看 | 成熟少妇高潮喷水视频| 12—13女人毛片做爰片一| 久久精品国产亚洲av高清一级| 久久久久久久久免费视频了| 国产在线观看jvid| 国产成人一区二区三区免费视频网站| 久久久久亚洲av毛片大全| 精品无人区乱码1区二区| 亚洲精品在线观看二区| 少妇的丰满在线观看| 在线观看一区二区三区激情| 亚洲国产中文字幕在线视频| 国产精品久久久人人做人人爽| www.熟女人妻精品国产| 88av欧美| 免费一级毛片在线播放高清视频 | 制服诱惑二区| 亚洲全国av大片| 三级毛片av免费| 亚洲精品在线观看二区| 亚洲第一欧美日韩一区二区三区| 一区福利在线观看| 国产高清国产精品国产三级| 深夜精品福利| 一区二区三区国产精品乱码| 欧美激情高清一区二区三区| 国产精品国产高清国产av| 母亲3免费完整高清在线观看| 一级a爱视频在线免费观看| 又大又爽又粗| 不卡一级毛片| 人人妻人人澡人人看| 婷婷精品国产亚洲av在线| 久久久久久亚洲精品国产蜜桃av| 亚洲第一av免费看| 国产av一区在线观看免费| 久久精品国产清高在天天线| 看免费av毛片| 久久久精品欧美日韩精品| 午夜福利影视在线免费观看| 国产成人精品无人区| 水蜜桃什么品种好| 两性夫妻黄色片| 999精品在线视频| 国产精品美女特级片免费视频播放器 | 日韩精品青青久久久久久| 午夜老司机福利片| 亚洲第一av免费看| 正在播放国产对白刺激| 成年人免费黄色播放视频| 精品高清国产在线一区| 精品免费久久久久久久清纯| 九色亚洲精品在线播放| 成人手机av| 日本免费一区二区三区高清不卡 | 国产亚洲精品综合一区在线观看 | 丰满饥渴人妻一区二区三| 成人黄色视频免费在线看| 男人舔女人的私密视频| 国产单亲对白刺激| 日韩欧美一区二区三区在线观看| 精品国产乱子伦一区二区三区| 亚洲熟妇熟女久久| 午夜91福利影院| 日日干狠狠操夜夜爽| 黄色成人免费大全| 69精品国产乱码久久久| av天堂在线播放| 老司机午夜福利在线观看视频| avwww免费| 国产日韩一区二区三区精品不卡| 亚洲中文av在线| 午夜福利影视在线免费观看| 中亚洲国语对白在线视频| 精品国产超薄肉色丝袜足j| 69精品国产乱码久久久| 色在线成人网| 国产高清videossex| 老汉色av国产亚洲站长工具| 9191精品国产免费久久| 免费搜索国产男女视频| 丰满饥渴人妻一区二区三| 香蕉国产在线看| 精品电影一区二区在线| 久久精品国产99精品国产亚洲性色 | 老熟妇仑乱视频hdxx| 色婷婷av一区二区三区视频| 一区福利在线观看| 日韩大尺度精品在线看网址 | 亚洲免费av在线视频| 在线观看一区二区三区| 夜夜躁狠狠躁天天躁| 精品久久久久久久毛片微露脸| 老司机亚洲免费影院| 18禁裸乳无遮挡免费网站照片 | 热re99久久国产66热| 男女之事视频高清在线观看| 亚洲欧美激情在线| 国产极品粉嫩免费观看在线| 美女午夜性视频免费| 欧美大码av| 琪琪午夜伦伦电影理论片6080| 欧美人与性动交α欧美软件| 18禁裸乳无遮挡免费网站照片 | 黑人操中国人逼视频| 大型av网站在线播放| 日韩中文字幕欧美一区二区| 很黄的视频免费| avwww免费| 我的亚洲天堂| 极品教师在线免费播放| 91在线观看av| 国产精品九九99| 99国产精品99久久久久| 亚洲熟妇熟女久久| 免费在线观看日本一区| 国产一卡二卡三卡精品| 欧美中文综合在线视频| 国产xxxxx性猛交| 桃色一区二区三区在线观看| 神马国产精品三级电影在线观看 | 99国产精品99久久久久| 19禁男女啪啪无遮挡网站| 一级毛片女人18水好多| 国产精品二区激情视频| 9色porny在线观看| 亚洲,欧美精品.| 欧美久久黑人一区二区| 午夜免费观看网址| 黄色丝袜av网址大全| 1024香蕉在线观看| 国产高清国产精品国产三级| 久久精品国产清高在天天线| 制服人妻中文乱码| 国产欧美日韩一区二区三| 99精品在免费线老司机午夜| 久久99一区二区三区| 亚洲精品在线美女| 亚洲成国产人片在线观看| 欧美老熟妇乱子伦牲交| 搡老熟女国产l中国老女人| 亚洲一区二区三区欧美精品| 久久欧美精品欧美久久欧美| svipshipincom国产片| 欧美激情极品国产一区二区三区| 久久久久国产精品人妻aⅴ院| 两性夫妻黄色片| 久久久国产欧美日韩av| 黑人欧美特级aaaaaa片| 中文字幕人妻丝袜制服| 999久久久精品免费观看国产| 国产97色在线日韩免费| 99热只有精品国产| 国产免费男女视频| 成年人黄色毛片网站| 精品久久久久久,| 黑人欧美特级aaaaaa片| 免费女性裸体啪啪无遮挡网站| 亚洲人成网站在线播放欧美日韩| 搡老乐熟女国产| 国产精品国产av在线观看| 级片在线观看| 欧美黑人欧美精品刺激| 人妻丰满熟妇av一区二区三区| 亚洲久久久国产精品| 免费在线观看日本一区| 国产一区二区激情短视频| 午夜日韩欧美国产| 国内毛片毛片毛片毛片毛片| 在线观看一区二区三区| 亚洲一卡2卡3卡4卡5卡精品中文| 女人被躁到高潮嗷嗷叫费观| 精品欧美一区二区三区在线| 成年人免费黄色播放视频| 日韩精品中文字幕看吧| 免费在线观看黄色视频的| 男女下面进入的视频免费午夜 | 99riav亚洲国产免费| 国产男靠女视频免费网站| 久久影院123| 亚洲狠狠婷婷综合久久图片| 国产亚洲精品久久久久久毛片| 国产麻豆69| 少妇被粗大的猛进出69影院| 欧美日韩国产mv在线观看视频| 亚洲人成电影观看| 村上凉子中文字幕在线| 夜夜躁狠狠躁天天躁| 满18在线观看网站| 大型黄色视频在线免费观看| 亚洲精品国产色婷婷电影| 久久中文字幕人妻熟女| 一区二区三区激情视频| 久久久久久亚洲精品国产蜜桃av| 亚洲久久久国产精品| 欧美激情久久久久久爽电影 | netflix在线观看网站| 高清毛片免费观看视频网站 | 三级毛片av免费| 欧美午夜高清在线| 中文字幕精品免费在线观看视频| 国产欧美日韩一区二区精品| 日韩精品免费视频一区二区三区| 看免费av毛片| 亚洲五月天丁香| 国产男靠女视频免费网站| 亚洲在线自拍视频| 69av精品久久久久久| 老熟妇仑乱视频hdxx| www.熟女人妻精品国产| 久久人妻福利社区极品人妻图片| 国产99白浆流出| 精品日产1卡2卡| 国产免费现黄频在线看| 黄网站色视频无遮挡免费观看| 久久精品国产99精品国产亚洲性色 | 午夜a级毛片| 美女福利国产在线| 这个男人来自地球电影免费观看| 精品久久久久久,| 可以在线观看毛片的网站| 最近最新免费中文字幕在线| 国产成年人精品一区二区 | 母亲3免费完整高清在线观看| 亚洲全国av大片| 久久影院123| 久久精品国产亚洲av高清一级| 日本免费一区二区三区高清不卡 | 久久精品91蜜桃| 精品久久蜜臀av无| 亚洲精品国产精品久久久不卡| 久久国产精品影院| 欧美丝袜亚洲另类 | 一级作爱视频免费观看| 黄色女人牲交| 精品久久久精品久久久| 国产欧美日韩一区二区精品| 久久精品国产亚洲av香蕉五月| av电影中文网址| 欧美成狂野欧美在线观看| 日本 av在线| 亚洲一区二区三区不卡视频| 在线观看日韩欧美| 久久天堂一区二区三区四区| 在线十欧美十亚洲十日本专区| 国产精品秋霞免费鲁丝片| 久久中文看片网| 亚洲av五月六月丁香网| 亚洲免费av在线视频| 欧美激情极品国产一区二区三区|