精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产成人在线综合| 亚洲aⅴ天堂av在线电影软件| 久久久精品国产sm调教| 黑色丝袜福利片av久久| 色老汉av一区二区三区| 中文字幕免费在线不卡| 色婷婷激情五月| 奇米一区二区三区av| 欧美风情在线观看| 91久久免费视频| 日本一区影院| 欧洲精品在线观看| 欧美亚洲黄色片| www 日韩| 99久久伊人精品| 国产精品亚洲自拍| 成年免费在线观看| 午夜精品一区二区三区国产| 亚洲欧美一区二区精品久久久| 日韩va在线观看| 色豆豆成人网| 午夜精品一区二区三区电影天堂| 亚洲一区精品视频| 天堂a中文在线| 国产激情一区二区三区桃花岛亚洲| 国产91热爆ts人妖在线| 久久综合成人网| 天天揉久久久久亚洲精品| 亚洲男人av在线| 日本女人性视频| 欧美伊人亚洲伊人色综合动图| 亚洲一级二级三级| 99热都是精品| 97超碰人人在线| 国产午夜精品一区二区| 久久精品五月婷婷| 日韩在线观看视频一区| 国产丶欧美丶日本不卡视频| 91精品在线观看视频| 中国一区二区视频| 久久久人人人| 日韩女优在线播放| 探花视频在线观看| 国产亚洲精品v| 国产69精品久久久久9| 毛片a片免费观看| 午夜日韩在线| 欧美高清性猛交| a级片在线观看免费| 中文视频一区| 欧美成人精品影院| 全网免费在线播放视频入口| 亚洲一区二区三区| 免费91在线视频| 久久久久亚洲av无码专区体验| 亚洲精品成人| 美女精品视频一区| 1024手机在线视频| 黄色欧美日韩| 91精品国产九九九久久久亚洲| 国产精品不卡av| 99精品视频免费观看| 4388成人网| 亚洲另类欧美日韩| 日韩成人免费电影| 国产乱人伦真实精品视频| 一区二区视频免费| 久久99精品久久久久久| 91精品国产综合久久男男| 国产一区二区网站| 国产91精品在线观看| 国产精品白丝jk白祙| 色噜噜一区二区三区| 99精品1区2区| 日韩在线电影一区| 婷婷激情在线| 亚洲第一在线综合网站| 91av资源网| 精品视频在线一区二区在线| 欧美日韩一区二区三区四区五区| 国产女同无遮挡互慰高潮91| 91成人午夜| 国产丝袜一区二区三区免费视频| 欧美多人猛交狂配| 性欧美69xoxoxoxo| 高清视频欧美一级| 中文在线字幕av| 国产精品99精品久久免费| 精品麻豆av| jizz在线观看中文| 一区二区三区视频在线看| 日韩欧美一区二| 国产经典一区| 日韩欧美国产成人一区二区| 波多野结衣av在线免费观看| 久久精品国产99久久| 久久久久中文字幕2018| 成人一二三四区| 国产成人av电影在线观看| 久久久久久久久久久久久9999| 天堂中文8资源在线8| 亚洲综合色成人| 毛葺葺老太做受视频| 精品一区二区三区在线观看视频| 日韩精品视频在线免费观看 | 丁香婷婷综合网| 欧美一区二区三区四区夜夜大片 | 色一情一乱一区二区三区| 国产三级一区二区| 中国丰满熟妇xxxx性| 欧美激情福利| 亚洲老头老太hd| 欧美极品aaaaabbbbb| 免费av成人在线| 国产精品伊人日日| 黄色网址视频在线观看| 色综合久久综合中文综合网| 天堂va欧美va亚洲va老司机| 波多野结衣在线观看一区二区三区 | 一本色道久久综合亚洲精品不| 国产中文欧美精品| 欧美在线一卡| 午夜伊人狠狠久久| 亚洲熟女乱综合一区二区| 日韩在线看片| 国产精品扒开腿做爽爽爽视频| 六月丁香综合网| 亚洲色图都市小说| wwwwwxxxx日本| 九九亚洲视频| 欧美亚洲在线视频| 天堂在线视频免费观看| 亚洲伊人伊色伊影伊综合网| 免费网站在线观看黄| 欧美一二区在线观看| 热草久综合在线| 五月婷婷伊人网| 亚洲成人www| 国产精品99久久久精品无码| 亚洲色图欧美| 亚洲bt欧美bt日本bt| 色多多视频在线观看| 欧美这里有精品| 免费网站在线高清观看| 久久久久国产精品午夜一区| 欧美成人一区二区在线| 亚洲三级欧美| 亚洲欧美国产日韩天堂区| 日韩美一区二区| www激情久久| 虎白女粉嫩尤物福利视频| 亚洲人亚洲人色久| 庆余年2免费日韩剧观看大牛| 午夜小视频免费| 一本久道久久综合中文字幕 | 精品国产黄色片| 亚洲男人的天堂网| 欧美一级大片免费看| 午夜久久福利| 国产专区一区二区| 中文字幕乱码在线播放| 亚洲天天在线日亚洲洲精| www.久久视频| 自拍偷拍欧美激情| 日本xxxx免费| 国产农村妇女毛片精品久久莱园子| 久久久精品动漫| 最新日韩一区| 久久中国妇女中文字幕| 国精产品一品二品国精品69xx | 天堂av一区二区三区在线播放 | 91嫩草国产线观看亚洲一区二区 | 国产激情视频一区二区三区欧美| 欧美一区二区激情| 伊人久久综合影院| 国产男人精品视频| 婷婷丁香在线| 亚洲精品电影在线| 在线观看免费黄色小视频| 亚洲精品日韩一| 欲求不满的岳中文字幕| 日韩avvvv在线播放| 经典三级在线视频| 美国成人xxx| 国产精品丝袜久久久久久不卡| 国精产品一区| 精品视频在线播放色网色视频| 日韩xxx视频| 亚洲国产精品嫩草影院| 色欲狠狠躁天天躁无码中文字幕 | 九九热免费在线| 国产精品18久久久久久久久| 播放灌醉水嫩大学生国内精品| 爽成人777777婷婷| 国产日本一区二区三区| 中文.日本.精品| 久久久久久国产精品久久| 国产视频网址在线| 精品粉嫩超白一线天av| 这里只有精品999| 亚洲成a人在线观看| 国产黄色片在线| 91日韩精品一区| 91人妻一区二区三区| 丝袜美腿高跟呻吟高潮一区| 青青草视频在线视频| 久久美女精品| 欧美日韩国产精品一区二区| 欧洲精品99毛片免费高清观看| 日本精品久久久| 成人性生交大片免费看网站| 日韩亚洲综合在线| 青青草免费观看免费视频在线| 日韩欧美电影一区| 一级aaaa毛片| 欧美丝袜一区二区| 国产亚洲小视频| 日韩一区欧美小说| 三年中国中文观看免费播放| 92国产精品观看| 911亚洲精选| 国产成人综合亚洲91猫咪| 性生活免费在线观看| 老妇喷水一区二区三区| 99热久久这里只有精品| 在线精品视频在线观看高清| 亚洲欧洲日韩精品| 精品香蕉视频| 日本精品一区二区三区高清 久久| 国产精品黄网站| yy111111少妇影院日韩夜片| 国产剧情一区二区在线观看| 国产一区二区香蕉| 国产精品.xx视频.xxtv| 国产精品久久久久久久美男| 日韩三区在线| 国产精品99导航| 先锋欧美三级| 国产精品久久久久久久久久新婚| 日韩精品三区| 国产国语videosex另类| 国产精品av一区二区三区| 欧美在线视频网站| 三上悠亚激情av一区二区三区 | 爆乳熟妇一区二区三区霸乳| 久久福利影视| 欧美精品第三页| 日日摸夜夜添夜夜添亚洲女人| 99色精品视频| 日韩精品成人一区二区在线| 无码内射中文字幕岛国片| 久久午夜av| 美女一区二区三区视频| 日韩和欧美一区二区| 九九热在线免费| 毛片av一区二区| 日本人69视频| 国产91高潮流白浆在线麻豆 | 久久综合久久色| 日本视频在线一区| 制服丝袜中文字幕第一页| 国内不卡的二区三区中文字幕 | 亚洲视频国产| 国产伦精品一区二区三区照片 | 精品国产一区二区三区久久久狼| 黄视频网站在线| 久久久久国产视频| 成人免费看视频网站| 国产精品久久久久久久7电影| 91九色成人| 国产一区二区三区高清视频| 日韩中文av| 亚洲一区二区三区精品视频| 欧美日本二区| 亚洲精品乱码久久久久久自慰| 蜜臀99久久精品久久久久久软件| 色噜噜狠狠一区二区三区狼国成人| 国产成a人亚洲| 久久久久亚洲av无码专区桃色| 欧美国产亚洲另类动漫| 久草视频中文在线| 日本高清无吗v一区| 国产又黄又粗又猛又爽| 亚洲精品久久久久中文字幕二区| 国产高清视频免费最新在线| 久久国产精品影视| 欧美aa在线观看| 91青草视频久久| 日韩欧美天堂| 裸体大乳女做爰69| 亚洲一区二区三区免费在线观看| 色婷婷.com| 99视频一区二区| 中文字幕乱码av| 精品久久久久久久久中文字幕| 中文字幕欧美人妻精品| 亚洲成人网在线观看| 999国产在线视频| 97av在线视频免费播放| 欧美a在线观看| 欧美一进一出视频| 国产精品magnet| 美女在线视频一区二区| 99精品久久99久久久久| 久久久精品视频免费观看| 欧美日韩一区成人| 欧美少妇另类| 隔壁老王国产在线精品| 久久国际精品| 日本视频一区二区在线观看| 在线播放不卡| 在线一区二区不卡| 久久精品网站免费观看| 日韩乱码一区二区| 91精品国产综合久久香蕉的特点| wwwww在线观看免费视频| 91福利视频网| 国产成人精品亚洲线观看| 中文字幕综合在线观看| 日韩精品五月天| 人妻体内射精一区二区| 亚洲成人午夜电影| 国产成人精品亚洲精品色欲| 日韩视频中文字幕| 先锋欧美三级| 欧美一区二区在线视频观看| 一区二区毛片| 亚洲国产精品无码久久久久高潮| 一区二区三区在线影院| 国产美女永久免费| 日韩在线免费视频| 日韩国产91| 一级做a爰片久久| 美女视频黄 久久| jizz18女人高潮| 在线观看av不卡| 理论在线观看| 国产精品69av| 国产日韩欧美一区二区三区| 欧美污视频网站| 久久综合久久99| 黄色污污网站在线观看| 亚洲欧洲偷拍精品| 中文在线最新版地址| 免费国产在线精品一区二区三区| 99精品视频免费观看视频| 真人bbbbbbbbb毛片| 色偷偷88欧美精品久久久| 九色视频在线观看免费播放| 日韩av电影中文字幕| 国产剧情在线观看一区| 少妇黄色一级片| 亚洲欧洲成人自拍| 国产激情视频在线播放| 欧美激情精品久久久久久久变态| 最新国产精品精品视频| 国产素人在线观看| 久久综合五月天婷婷伊人| 黄色网址中文字幕| 色系列之999| 亚洲乱码一区| 亚洲 欧美 日韩 国产综合 在线| 久久久久久一级片| 曰批又黄又爽免费视频| 不卡av日日日| 精品亚洲自拍| 色一情一乱一伦一区二区三区日本| 中文字幕欧美国产| 精品人妻少妇嫩草av无码专区| 久久人人97超碰精品888| 欧美女王vk| 在线播放免费视频| 亚洲一区二区在线播放相泽| 日韩精品福利| 91沈先生作品| 亚洲精品社区| 国产一区二区三区四区在线| 欧美一区二区三区精品| 韩日毛片在线观看| 亚洲在线不卡| 波波电影院一区二区三区| 免费视频网站在线观看入口| 久久中文字幕国产| 亚洲自拍电影| 又黄又爽又色的视频| 一本色道a无线码一区v| 性xxxxfjsxxxxx欧美| 欧美系列一区| 国产精品99久久久久久似苏梦涵| 国产尤物在线视频| 久久影院模特热| 亚洲婷婷丁香| 亚洲精品一二三四| 一本大道久久精品懂色aⅴ| 最新国产在线拍揄自揄视频| 麻豆精品蜜桃一区二区三区| 国产成人在线观看免费网站| 久久久999久久久| 久久男人的天堂| 欧美黄色大片在线观看|