精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Move語言安全性分析及合約審計要點之邏輯校驗漏洞

區塊鏈
當下Move仍處于發展階段,Move生態離成熟尚一定距離,開發者較少,開發者經驗欠缺,真正能夠熟練開發Move合約的不多,因此更容易出現業務層面的一些漏洞。這需要Move合約在設計和開發過程中對Move語言特性以及業務都要熟悉,才可能少出現業務漏洞。

1、邏輯校驗漏洞

智能合約開發的業務相關邏輯設計復雜,涉及的經濟學計算和參數較多,不同項目和協議之間可組合性極其豐富,很難預測,非常容易出現安全漏洞。

在Solidity智能合約中,我們總結了4種類型的邏輯校驗漏洞:

(1)未校驗返回值

(2)未校驗相關計算數據公式

(3)未校驗函數參數

(4)未規范使用require校驗

同樣地,我們將從這4個方面分析Move合約中是否存在這些邏輯檢驗漏洞以及其可能性和危害。

1.1 未校驗返回值

不檢查消息調用的返回值,即使被調用的函數返回一個異常值,執行邏輯仍然會繼續進行,只是該函數的調用并沒有實現正確的邏輯,這會導致整個交易得不到正確的結果,甚至會威脅到數字資產的安全性。

比如,Solidity合約中的call函數,functionCallWithValue函數如下:

1668760850_637745120f7094a78ea22.png!small?1668760851680

代碼中調用了call函數,如果call函數執行發生意外,比如轉賬失敗,則返回值success為false。如果沒有驗證該返回值,即使success為false,交易仍然會正常執行。只是交易中的這筆轉賬沒有成功。這里通過require對success進行了驗證,如果是false,交易就會回滾(revert)。

call函數是Solidity動態函數調用的一個關鍵函數,是Solidity語言層面的一個容易因為返回值而產生漏洞的典型代表。除了call函數之外,在業務層面,Solidity合約也經常使用返回值來判斷函數是否執行成功,比如ERC20合約中的函數:

1668760856_6377451882c342833e857.png!small?1668760858784

對于這類函數,在實際應用的時候一般需要對返回值進行校驗,否則會產生漏洞,甚至會威脅到數字資產的安全性。

此外,根據實際的業務邏輯,函數會返回一些業務需要的數據,這些數據也需要根據業務進行驗證,進一步保證函數調用沒有發生意外,包括但不限于返回值的類型、長度、范圍等。比如上面的functionCallWithValue函數中,調動了verifyCallResultFromTarget函數對返回值進行校驗。其不僅對返回值success進行了檢查,還對retrundata的長度進行了校驗和處理。

1668760862_6377451e7a77296f647a5.png!small?1668760863743

在Move合約中,從語言層面來講,由于其靜態調用的特性,不存在類似于Solidity中的call函數需要校驗返回值的情況,即使有需要校驗函數是否執行正確,一般會在spec模塊使用規范語言在Move Prover中進行校驗,校驗失敗則交易會中止。

從業務層面來講,Move合約中的spec模塊同樣可以校驗函數對全局數據的修改。此外,還可以在合約中編寫單元測試函數對函數直接進行單元測試,來保證函數執行的正確性。因此,一般不會將表示函數執行是否成功的布爾變量作為返回值。因此,Move函數的返回值多是實際的業務數據,是否需要校驗,則需要根據實際業務需求來確定,比如需要根據返回值的不同,進入不同的函數邏輯分支,則需要對返回值進行判定和檢驗,比如DEX中的流動性函數:

1668760868_63774524461e95ead750c.png!small?1668760869911

X與Y的排序不同,需要訪問的balance也是不同的,還需要校驗order!=0。

總的來說,Move語言靜態調用特性、spec模塊以及單元測試等極大地提高了函數的安全性,這一點Solidity要好很多。但也不排除函數會因為沒有校驗返回值而產生漏洞的情況。因此,開發人員更需要對業務和實現邏輯熟悉,開發的時候需要謹慎而行。

1.2 未校驗相關計算數據

相關業務在合約實現過程中,考慮到情況不夠全面沒有正確校驗相應的業務經濟學公式和計算數據,導致合約對于特殊的計算數據容錯性差。比如:

(1)XCarnival安全事件

事件發生在2022年6月24日,NFT借貸協議XCarnival遭受到黑客攻擊,損失大約380萬美元。

根本原因是controller合約borrowAllowed函數調用的orderAllowed函數對數據結構order的校驗不完整,僅僅是校驗了訂單存在、地址正確并且沒有被清算,并沒有校驗訂單中的NFT是否被提取,即使訂單中的NFT已經被提取了,order的校驗仍然可以通過。

1668760874_6377452ab0a27d13ff8a8.png!small?1668760876362

(2)Fortress Loans安全事件

事件發生在2022年5月9日,Fortress Loans遭到黑客攻擊,損失了1048.1 ETH以及40萬DAI。

根本原因是submit函數雖然校驗了signer的數量,但卻沒有對signer本身和計算的數據power進行校驗。

1668760880_637745306e9837d052c0f.png!small?1668760881843

這使得攻擊者可以調用submit函數修改狀態變量fcds,最終修改了價格預言機中的價格。

1668760886_637745364dd086d32b1bc.png!small?1668760887012

最終,攻擊者利用該漏洞竊取了1048.1 ETH以及40萬DAI。

類似的安全事件還有不少,它們都是因為在函數內部缺少對經濟模型建立的數據結構或者計算的數據缺少校驗引起的漏洞。這類漏洞是由于項目設計與開發并沒有考慮到全部的情況造成的,其嚴重等級不一,嚴重的甚至會給項目帶來極大的經濟損失,就像上面的安全事件。

在Move合約實現各類項目時,同樣難以保證不會出現這類問題,尤其是新型項目。希望發生在Solidity智能合約中的這些安全事件能夠給Move開發者一些警示,在開發過程中,盡可能地避免安全漏洞。

1.3 未校驗函數參數

函數接收參數時,它不會自動地驗證輸入的數據屬性是否具有安全性和正確性。因此,函數在實現的時候需要根據業務需要對參數進行校驗,若缺少校驗后者校驗不符合業務需求,則會產生漏洞,甚至會威脅到數字資產的安全性。

以Superfluid.Finance安全事件為例。事件發生在2022年2月8日,以太坊上的DeFi協議Superfluid遭遇黑客攻擊,損失超1300萬美元。

根本原因在于,Superfluid合約存在嚴重的邏輯漏洞,callAgreement函數缺少對參數的校驗,使得攻擊者將合約構造的ctx數據替換為自定義ctx數據,這給攻擊者發起攻擊提供了機會。

1668760893_6377453de069fd5846013.png!small?1668760894753

在Move合約開發中更加需要對參數進行校驗。在Move中,函數的參數不僅僅是業務需求的數據,還包括了權限需要的數據,比如signer。Move沒有類似Solidity中的msg.sender這種全局變量,Move中對權限的鑒定是通過參數實現的。比如下面的函數:

1668760899_63774543c460c91999772.png!small?1668760900965

該函數中的account參數是代幣鑄造的發起賬戶,它必須鑄幣的權限,即MintCapStore,類似于Solidity中的msg.sender必須是owner。如果缺失了這部分校驗,該代幣就是任何賬戶都可以鑄造的了。

此外,Move生態中的項目類型跟Solidity生態相同,只是實現的語言不同。因此,Solidity合約中存在的業務邏輯上的漏洞在Move合約中有很大的可能性依然存在。因此,Move開發者在開發項目時要注意這些在Solidity合約中已經出現過的漏洞。

1.4 未規范使用require

Solidity中的require旨在驗證函數的外部輸入,包括調用者輸入的參數、函數的返回值、函數執行前后狀態變化等。如果不能規范使用require,合約可能會產生漏洞,甚至威脅到數字資產的安全性,比如XDXSwap安全事件。

事件發生在2021年7月2日,火幣生態鏈(Heco)上DeFi項目XDXSwap受到閃電貸攻擊,損失約400萬美金。

1668760922_6377455ab31053aabe16e.png!small?1668760923882

根本原因就是閃電貸的功能實現合約,存在借出不還的嚴重漏洞,造成巨額損失,是項目方fork Uniswap合約代碼并修改時引入的嚴重漏洞,即缺少K值校驗的require語句。最根本的原因還是業務的不熟悉,導致實現存在漏洞。

在Move合約中, assert語句和spec模塊完成require類似的功能。同樣,很多Solidity生態的項目,包括DEX、借貸、農場等類型的項目在未來都將出現在Move的生態中。Move與Solidity原理以及機制是不同的,但項目的業務時相同的。鑒于Solidity生態項目踩坑無數,安全事件層出不窮,Move雖然安全性高,但是在實現各類項目時仍然要謹慎小心,盡量避免出現同類型的漏洞,希望同一個坑不要再踩一次了。

2、總結

當下Move仍處于發展階段,Move生態離成熟尚一定距離,開發者較少,開發者經驗欠缺,真正能夠熟練開發Move合約的不多,因此更容易出現業務層面的一些漏洞。這需要Move合約在設計和開發過程中對Move語言特性以及業務都要熟悉,才可能少出現業務漏洞。

另外,Solidity已經實現了大量的業務類型,比如去中心化交易所、去中心化借貸、收益聚合、杠桿借貸、杠桿挖礦、閃電貸、跨鏈交易等。這些典型的業務場景需要在Move生態足逐一實現,而且需要結合Move與Solidity的差異進行重新設計實現方案。在這個過程中,就比較容易出現一下漏洞,就像Solidity早期經歷了很多次攻擊和大量資產的損失才逐步走向成熟。Move雖然是一個安全性較高的語言,但誰也無法保證沒有漏洞,我們希望可以借鑒Solidity的發展過程,讓Move生態的發展少走一些彎路,少一些損失,更快更穩地走向成熟。

責任編輯:武曉燕 來源: FreeBuf.COM
相關推薦

2011-03-25 09:46:16

Informix數據庫安全性安全審計

2009-06-26 13:35:50

安全審計信息安全吉大正元

2012-12-26 10:53:26

2009-11-23 09:07:14

2015-03-31 16:45:22

2018-10-19 11:06:41

2018-10-18 14:07:01

2011-03-23 12:58:57

2011-07-22 13:52:46

2009-08-20 08:43:54

2019-03-17 15:53:53

嵌入式安全安全漏洞黑客

2023-01-28 10:35:40

2015-06-15 10:48:25

2015-11-05 14:40:48

2009-10-15 10:28:42

2022-07-18 11:13:07

容器安全Docker

2010-07-08 15:02:24

2009-11-30 09:41:38

2009-02-12 09:55:28

2022-10-13 06:46:05

Dapr訪問控制策略
點贊
收藏

51CTO技術棧公眾號

亚洲人和日本人hd| 日本不卡1234视频| 国产一区二区女| 97免费中文视频在线观看| 国产高清自拍视频| 久久免费资源| 亚洲第一福利一区| 亚洲一区二区三区乱码| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 国产精品日韩欧美一区| 久久激情视频久久| 国产精品伦子伦| 91麻豆精品一二三区在线| 香蕉成人伊视频在线观看| 日韩电影大全在线观看| а√中文在线资源库| 日韩电影网1区2区| 欧美激情中文字幕乱码免费| 国产无遮挡在线观看| 高清精品视频| 7799精品视频| 亚洲爆乳无码专区| 538在线观看| 中文字幕亚洲一区二区av在线| 激情一区二区三区| 国产片高清在线观看| 三级欧美在线一区| 国内偷自视频区视频综合| 国产传媒视频在线| 国产成人黄色| 日韩av最新在线观看| 日本高清免费观看| 精品久久福利| 欧美在线999| 国产成人久久婷婷精品流白浆| 天堂8中文在线| 成人免费小视频| 人禽交欧美网站免费| 天天操天天操天天操| 国产精品一区二区久久不卡| 国产精品久久久久久一区二区| 久久久久久久久久免费视频| 欧美在线网址| 精品久久国产精品| 91免费在线看片| 欧美三级伦理在线| 亚洲午夜久久久久久久| 国产熟妇搡bbbb搡bbbb| 欧美大胆a级| 亚洲精品720p| 欧美无人区码suv| 日韩大尺度在线观看| 精品99999| 野战少妇38p| japanese色系久久精品| 日韩三级视频在线看| 色婷婷一区二区三区在线观看| 粉嫩91精品久久久久久久99蜜桃 | 东方aⅴ免费观看久久av| 91久久久国产精品| www久久久com| www.欧美色图| 免费久久久一本精品久久区| 日本在线视频1区| 久久久美女毛片| 日韩福利视频| 九色在线播放| 欧美国产成人精品| 麻豆中文字幕在线观看| caopeng在线| 亚洲国产欧美在线| 97成人在线免费视频| 永久免费毛片在线播放| 色欧美88888久久久久久影院| 又色又爽又高潮免费视频国产| 三级成人在线| 88在线观看91蜜桃国自产| 一级黄色大片免费看| 成人性生交大片免费看中文视频| 亚洲国产精品一区二区三区| 粉嫩av蜜桃av蜜臀av| 成人激情诱惑| 久久久精品国产亚洲| 久久精品一级片| 免费欧美在线| 91久久久久久久久| 天天干天天草天天射| 国产日韩欧美一区二区三区综合| 中文字幕欧美日韩一区二区| 欧美videossex另类| 色天使色偷偷av一区二区 | 成人性生交大片免费看中文 | 黄色影院在线播放| 亚洲丝袜美腿综合| 波多野结衣之无限发射| 亚洲www啪成人一区二区| 欧美一区二区三区成人| 久久久久久久久免费看无码| 久久亚洲专区| 4438全国成人免费| 国产区精品在线| 久久综合久久久久88| 日本成人性视频| 午夜欧美激情| 欧美电影免费观看完整版| av电影在线不卡| 欧美精品一线| 国产精品欧美亚洲777777| 国产成人手机在线| 中文字幕视频一区二区三区久| 免费 成 人 黄 色| 日韩成人一区| 亚洲女人天堂成人av在线| 精品人妻伦九区久久aaa片| 欧美中文字幕| 国产精品三区在线| 国产成人无吗| 在线观看一区不卡| 黄色录像a级片| 欧美一区在线看| 国产精品嫩草影院一区二区| 色视频在线观看福利| 亚洲精品中文字幕在线观看| 一区二区三区韩国| 亚洲精品**不卡在线播he| 欧美国产一区二区三区| 国产又粗又猛视频| 久久精品一区蜜桃臀影院| 性一交一乱一伧国产女士spa| 婷婷成人av| 中文字幕少妇一区二区三区| 九九九在线观看| 99久久精品国产毛片| 男人添女荫道口喷水视频| 色综合久久久| 日韩视频免费在线| 中文字幕一区二区在线视频| 久久老女人爱爱| 成人av一级片| 色婷婷久久久| 日韩免费av在线| 欧美18xxxxx| 一本久久综合亚洲鲁鲁五月天| 天堂www中文在线资源| 亚洲视频狠狠| 国产日韩精品推荐| 白浆视频在线观看| 日韩成人在线播放| 久久精品视频1| 2021中文字幕一区亚洲| 色综合av综合无码综合网站| 天堂资源在线亚洲| 国产成人精品久久久| 久久这里精品| 欧美日韩一区 二区 三区 久久精品| 国产成人福利在线| 麻豆中文一区二区| 少妇熟女一区二区| 免费一级欧美在线大片| 久久99国产综合精品女同| 国产极品久久久| 无吗不卡中文字幕| 欧美bbbbb性bbbbb视频| 日本美女一区二区三区视频| 日韩欧美亚洲在线| 欧美一区=区三区| 超碰日本道色综合久久综合| 亚洲AV无码精品国产| 亚洲成人777| 国产精品1000部啪视频| 日韩av在线发布| 在线免费一区| 成人看片黄a免费看视频| 97在线免费观看视频| 国产专区在线播放| 欧美精品乱人伦久久久久久| 麻豆亚洲av熟女国产一区二| 99精品国产一区二区三区不卡| 任你操这里只有精品| 97精品在线| 国内精品久久国产| 黄瓜视频成人app免费| 久久天天躁狠狠躁夜夜av| 黑人精品一区二区| 日本二三区不卡| 91视频免费在线看| 久久综合网色—综合色88| 天天干天天草天天| 亚洲精品黄色| 伊人久久大香线蕉精品| 国产精品18hdxxxⅹ在线| 国产精品∨欧美精品v日韩精品| 国产激情在线视频| 亚洲欧美中文日韩在线| 精品久久久久久亚洲综合网站| 婷婷国产在线综合| 色老板免费视频| 91社区在线播放| 国产在线视频三区| 天堂va蜜桃一区二区三区漫画版| 免费国产成人看片在线| 一区二区小说| av一区和二区| 自拍偷拍亚洲| 国产成人鲁鲁免费视频a| 欧美大胆的人体xxxx| 色婷婷av一区二区三区在线观看 | 中文字幕日韩欧美| 性插视频在线观看| 日韩一区二区精品| 中文字幕视频在线播放| 欧美日韩中文字幕日韩欧美| www.av成人| 国产欧美一区二区三区沐欲| 日本五十肥熟交尾| 国产剧情一区二区| 亚洲一级片网站| 美女诱惑黄网站一区| 国产美女主播在线| 在线成人直播| 91制片厂免费观看| 成人免费av| 欧美性色黄大片人与善| 噜噜噜狠狠夜夜躁精品仙踪林| 成人在线视频福利| 玖玖精品在线| 国产精品美女无圣光视频| 国产日韩电影| 欧美亚洲一区在线| 咪咪网在线视频| 隔壁老王国产在线精品| 羞羞电影在线观看www| 久久精品99久久久香蕉| 午夜免费视频在线国产| 一区二区中文字幕| 91官网在线| 国产亚洲欧美视频| 国产精品一二三区视频| 亚洲欧美一区二区三区久久| 色就是色亚洲色图| 亚洲色图35p| 国产高清在线| 视频一区视频二区国产精品| av在线收看| 日韩网站免费观看高清| 日韩在线观看www| 菠萝蜜影院一区二区免费| 人人干在线视频| 久久久成人精品视频| 91亚洲天堂| 欧美日韩国产第一页| 日韩三级免费| 国自在线精品视频| 26uuu亚洲电影| 国产97色在线|日韩| 秋霞国产精品| 成人久久18免费网站图片| 国产在线一区不卡| 国产精品播放| 天堂99x99es久久精品免费| 美女被啪啪一区二区| 国产一区网站| 国产精品波多野结衣| 欧美三级免费| 国产又黄又大又粗视频| 日韩av一级片| 五月天激情播播| 国产aⅴ综合色| 一区二区三区免费在线观看视频| 国产欧美一区在线| 超碰手机在线观看| 欧美日韩一区二区精品| 波多野结衣黄色网址| 在线成人免费视频| 日韩一级在线播放| 一区二区成人av| 岛国成人毛片| 欧美一区亚洲一区| 在线免费成人| 精品在线视频一区二区三区| jvid福利在线一区二区| 老汉色影院首页| 亚洲免费高清| 色91精品久久久久久久久| 成人精品电影在线观看| 欧洲美一区二区三区亚洲 | 日韩色图在线观看| 在线不卡a资源高清| 色噜噜在线播放| www.久久久久| av日韩电影| 亚洲影院污污.| 红桃视频在线观看一区二区| 免费日韩在线观看| 日本中文在线一区| 国产伦精品一区二区免费| 欧美国产一区二区在线观看 | 在线日韩欧美| 国产一区二区在线观看免费视频| 国产69精品久久777的优势| 日本黄色特级片| 夜夜嗨av一区二区三区中文字幕| 一区二区三区在线观看av| 日韩一级完整毛片| 国产黄色片在线观看| 国语自产精品视频在免费| 国产精品2区| 日韩高清av| 国产日韩欧美一区在线| 久久精品一二三四| 亚洲国产精品av| 欧美 日韩 精品| 欧美v国产在线一区二区三区| av福利在线播放| 欧美在线亚洲一区| 欧美激情极品| 国产a级黄色大片| 韩国av一区二区| 日韩欧美黄色网址| 色综合色综合色综合色综合色综合| 国产黄色片av| 久热精品在线视频| 久久69成人| 色综合久久av| 丝袜亚洲另类丝袜在线| 久久人妻一区二区| 无码av中文一区二区三区桃花岛| 亚洲AV午夜精品| 久久国产天堂福利天堂| 偷拍自拍亚洲| 中文字幕av日韩精品| 老司机一区二区| 殴美一级黄色片| 欧美无人高清视频在线观看| 青青操视频在线| 琪琪亚洲精品午夜在线| 希岛爱理av免费一区二区| 日本中文字幕网址| 91日韩在线专区| 欧美一区二区三区四| 亚洲精品成人久久久| 7777kkk亚洲综合欧美网站| 国产精品成人一区二区三区| 影音国产精品| 亚洲观看黄色网| 欧美视频在线看| 国产三级在线免费观看| 国产精品九九久久久久久久| 日本高清免费电影一区| 91国产精品视频在线观看| 国产精品视频麻豆| 国产精品玖玖玖| 欧美激情在线视频二区| 欧美三级午夜理伦三级在线观看| 亚洲熟妇无码另类久久久| aa级大片欧美| 欧美一区二区三区网站| 在线成人激情黄色| 欧美男男gaygay1069| 看全色黄大色大片| 成人黄色av网站在线| 97久久久久久久| 中文字幕日本精品| 狂野欧美xxxx韩国少妇| www..com日韩| 久久蜜桃一区二区| ,一级淫片a看免费| 欧美国产日韩在线| 国产精品一在线观看| 激情视频免费网站| 亚洲精品菠萝久久久久久久| 天堂中文资源在线观看| 国产成人综合久久| 综合天堂av久久久久久久| 国产精品果冻传媒| 在线观看精品一区| 91在线中文| 日本一区高清不卡| 国产麻豆视频精品| 国产又黄又粗又爽| 波霸ol色综合久久| 亚瑟一区二区三区四区| 最新天堂中文在线| 亚洲超碰精品一区二区| 番号在线播放| 国产精品对白刺激久久久| 久久只有精品| 麻豆亚洲av成人无码久久精品| 亚洲精品一区二区在线| 电影中文字幕一区二区| 久久国产亚洲精品无码| 中日韩免费视频中文字幕| 黄色av免费观看| 国产精品自在线| 亚洲国产影院| 欧美做爰啪啪xxxⅹ性| 亚洲人成在线电影| 日韩欧美高清一区二区三区| 无遮挡又爽又刺激的视频| 一区二区久久久久|