CoboLabs是亞太最大的加密貨幣托管平臺,最受機構歡迎的金融資管服務商Cobo的加密貨幣研究實驗室。
我們專注于創新項目,前沿加密數字技術領域,全球市場合規動向,市場基本面及波動因子;旨在幫助市場參與者和加密貨幣愛好者,降低進入市場的認知門檻。
此篇文章由Cobo區塊鏈安全研究團隊供稿,團隊成員來自知名安全實驗室,有多年網絡安全與漏洞挖掘經驗,曾協助谷歌?、微軟處理高危漏洞,并獲得谷歌、微軟等廠商致謝,曾在微軟MSRC最有價值安全研究員Top榜單中取得卓越的成績。團隊目前重點關注智能合約安全、DeFi安全等方面?,研究并分享前沿區塊鏈安全技術。
我們也希望對加密數字貨幣領域有研究精神和科學方法論的終身迭代學習者可以加入我們的行列,向行業輸出思考洞察與研究觀點!
此篇是?Cobo?Labs?的第??4??篇文章。
跨鏈橋Multichain漏洞
1月18日知名跨鏈橋Multichain發現并修復了一個針對WETH,PERI,OMT,WBNB,MATIC,AVAX共6種代幣有重要影響的漏洞。凡對MultichainRouter授權過上述代幣的用戶均受影響,攻擊者可直接利用漏洞轉走用戶授權的代幣。根據19日的官方公告,由于部分用戶未及時取消授權,有約445WETH被攻擊者盜走。
漏洞發生在AnyswapV4Router合約上的anySwapOutUnderlyingWithPermit函數中,由于函數對Token參數的合法性沒有校驗,攻擊者可傳入偽造的Token合約來代替原本官方的AnyswapV1ERC20?Token。另一方面WETH等代幣合約沒有實現permit方法但是實現了fallback函數,因此在后續調用permit時不會發生revert,可以繼續成功執行下去。最終導致攻擊者可以將受害者approve給AnyswapV4Router合約的Token盜走。
CoboComment
對于普通用戶來說,需要特別留意Token無限授權所帶來的風險。授權盡可能保證只授權用到的Token數量,而不要使用默認的無限授權,避免節約了gas卻丟失了本金。對已有的無限授權要及時撤銷,查詢賬戶的授權情況可以使用Etherscan的工具https://etherscan.io/tokenapprovalchecker。
前Cobo運營負責人車向陽加入BiKi并擔任BiKi Ventures合伙人:據官方消息,前Cobo運營負責人車向陽Eminem于今日正式加入BiKi,擔任BiKi Ventures合伙人,主要負責基金投資業務,助力BiKi生態產業鏈建設。
BiKi Ventures是BiKi平臺最新成立的風險投資基金,首期規模500萬美金,將定向投資以太坊和波卡等生態內優質項目,推進Web3.0時代的加速落地,目前已投資多個項目。車向陽Eminem加入BiKi前,曾在360、映客直播等互聯網公司負責產品業務,后在Cobo擔任運營負責人,積累了豐富的互聯網和區塊鏈產品運營經驗。[2020/12/31 16:09:52]
Reference
https://github.com/W2Ning/Anyswap_Vul_Poc
https://theblockbeats.info/news/28774
https://hackernoon.com/erc20-infinite-approval-a-battle-between-convenience-and-security-lk60350r
DEXCrosswise遭攻擊
問題是因MasterChef合約的setTrustedForwarder函數沒有正確進行權限校驗。當攻擊者修改了TrustedForwarder后,可以實現偽造msg.sender的效果,從而直接獲取到MasterChef的owner權限。然后再利用owner權限調用set函數設置?strategy為攻擊者的惡意參數0xccddce9f0e241a5ea0e76465c59e9f0c41727003。修改strategy后通過少量deposit即可withdraw大量的CRSSToken獲利。
官方公告也承認這個漏洞過于明顯,似乎是開發者有意為之,其內部調查后開除了4個開發者。目前已經對鏈上數據進行了快照,后續將進行重新部署。官方git上已經開始進行整體的代碼審計,據稱后續會再聯合Certik進行審計。
動態 | Data Gumbo與Cobbs Allen合作保護區塊鏈智能合約數據安全:據Businesswire消息,美國區塊鏈創業公司Data Gumbo宣布與Cobbs Allen合作。據悉,Cobbs Allen是一家專注于小眾實踐集團風險管理的國家獨立機構。Cobbs Allen將代表Data Gumbo參與保險市場,為基于區塊鏈的智能合約的數據,或操作中出現的錯誤和遺漏提供保護。[2019/12/17]
CoboComment
此次攻擊針對的是MasterChef合約,其實不會直接盜取用戶的LP或者CRSStoken,但幣價大跌還是會讓持有CRSS的用戶造成實際的損失。查看官方doc上無法找到項目審計報告,此漏洞比較明顯,如果經過安全公司審計的話,很大概率可以暴露出來。對于個人投資者來說,未經過審計的項目還需謹慎。
Reference
https://twitter.com/peckshield/status/1483340900398895105
https://crosswise.medium.com/post-exploit-update-2a24c3370466
https://bscscan.com/address/0x70873211cb64c1d4ec027ea63a399a7d07c4085b#code
https://github.com/crosswise-finance/crosswise-code-review-1.1
UniswapV3FLOAT/USDC交易對報價,而在攻擊發生之前幾天,FLOAT/USDC池中流動性下降,低流動性給了攻擊者進行進行預言機操縱攻擊的機會。攻擊者使用47ETH在池中使用USDC兌換FLOAT,導致FLOAT報價升高。之后再使用FLOAT抵押到Rari#90池中借出其他資產實現獲利。攻擊手法與2021年11月發生的Rari#23池VesperLendBeta攻擊一致。
CoboComment
聲音 | 眼鏡蛇Cobra:BTC不需要進行更多的硬分叉:據bitcoinexchangeguide消息,比特幣官方論壇Bitcoin.org持有人眼鏡蛇Cobra在推特上表示,BTC不需要更多的分叉來減少區塊的大小,任何區塊大小的改變都會分裂社區。[2019/2/13]
對于一些無法使用ChainLink預言機報價的小幣種,DeFi合約中通常會使用DEX作報價。目前UniswapV2/V3延時報價雖然可以抵抗閃電貸攻擊,但無法抵抗真實的大資產操縱;而TWAP時間加權機制雖然可以在一定程度上提高操縱難度,但只能緩解不能根除。從開發者角度,可以考慮在合約中添加一定風控類代碼針對惡意報價進行檢查。對普通用戶而言,則要留意相關的流動性池,提防價格操縱風險。
Reference
https://twitter.com/FloatProtocol/status/1482184042850263042
https://medium.com/vesperfinance/on-the-vesper-lend-beta-rari-fuse-pool-23-exploit-9043ccd40ac9
Tornado.Cash轉賬到新地址并部署合約的行為。進一步通過對合約和相關交易的分析來發現潛在的攻擊行為,發現問題時將立刻通知相關項目方進行預防。有人已經在Forta上實現了類似的Agent.
CoboComment
項目方可以考慮類似的方式,通過監測鏈上的新合約和內存池中的交易,對于可疑的合約或交易可以進行靜態分析或模擬執行,檢查是否會對自身項目關聯合約中的資產有不良影響。隨著區塊鏈攻防的升級,可以預見類似的監測告警系統將會越發成熟,當然攻擊者也會挖掘到更多bypass監測的攻擊方式。在傳統安全中攻防持續對抗的局面在區塊鏈安全中也將不斷重現。
Reference
https://twitter.com/AndreCronjeTech/status/1479778350084333574
聲音 | 眼鏡蛇Cobra:圣誕快樂 不要查看價格:比特幣官方論壇Bitcoin.org持有人Cobra剛剛發推表示:圣誕快樂!一定要享受和家人在一起的時光,不要查看價格。記住不要理會你一年前建議購買比特幣的家人,如果他們和你對質,就告訴他們持有,而且告訴他們不會失去他們的錢。[2018/12/25]
https://connect.forta.network/agent/0x2fbec7dcd4eebf34c5b94d899109057eea3642a2400b7143e64873d453b7ba61
Raripool#19攻擊失敗
知名區塊鏈安全白帽@samczsun發布了針對Rari#19的預警推文,但后面攻擊沒有實際發生。
攻擊手法與前面提到的FloatProtocolRari#90預言機攻擊是類似的。攻擊者在UniswapV3將約300個ETH兌換成了BED,實現對幣價的操縱。由于UniswapV2/V3Oracle都是在第二個區塊才會更新幣價,使攻擊者無法在一個交易內完成對幣價的操縱,從而可以對抗閃電貸攻擊。而當使用真實的大資金進行操縱時,攻擊者則需要至少等待到第二個區塊才能看到幣價的反應。由于TWAP的存在,通常攻擊者還需要多等待幾分鐘,以使幣價變得更加明顯。對于此次攻擊來說,攻擊者也確實是這樣做的。然而尷尬的是,在第二個區塊出現了疑似套利機器人的存在,此地址在第二個區塊立刻將將手中的大量BED兌換成了ETH,維持住了原本幣價的穩定。使得攻擊者無法繼續攻擊,并且還要承擔swap的gas、手續費與大單交易滑點的損失。
CoboComment
UniswapV2/V3Oracle雖然可以抗閃電貸攻擊,但是無法直接對抗大資金操縱。因此對于流動性較小的交易對,仍然存在預言機價格被操縱的風險。從攻擊者的角度看,要進行對UniswapV2/V3Oracle操縱攻擊,需要較高的攻擊成本,而且需要保證自己持有市場中大部分所操縱的池子的目標代幣,否則就會出現上面的情況,被其他持有目標代幣的大戶套利,最終偷雞不成蝕把米。
Cobinhood將新增14個加密貨幣:Cobinhood宣布將添加14個新的加密貨幣,分別是REP、BAT、EOS、ETHOS、GTC、GNT、NGC、OMG、QTM、SAN、SPHTX、SNT、PAY、TRX。此前該平臺只提供BTC、ETH及COB的交易。Cobinhood是美國完全零手續費的數字貨幣交易所。[2018/1/20]
Reference
https://twitter.com/samczsun/status/1486243806739587076
OpenSea前端漏洞
賣家發起listing,這時用戶會對報價數據進行簽名,表示同意以設置的價格出售其NFT。
這個簽名數據會保存在OpenSea的鏈下數據庫中,當買家在OpenSea上購買該NFT時,OpenSea會把這個簽名數據上鏈驗證,通過后即可完成NFT?transfer,OpenSea也會收取一部分手續費。
售出前,賣家也可以取消之前的listing,被cancel的listing會在鏈上驗簽時失敗,從而不會被出售。
這里存在的問題是,OpenSea允許在原有listing不取消的情況下,再次發起listing。這時雖然OpenSeaUI上已經看不到賣家舊的報價,但其實舊的listing依然存在并有效。攻擊者可以在https://orders.rarible.com中查詢到舊的listing。由于OpenSea的listing并沒有交易Nonce機制,舊的listing依然是有效的。攻擊者可以通過舊的listing直接購買NFT,并以新的價格售出。由于NFT有劇烈的價格波動,通過這種方式可以實現巨額套利。
https://etherscan.io/token/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d?a=9991#inventory就是一例子:1月24日BAYC的NFT在OpenSea上先以0.77ETH買入,又以84.2ETH賣出。
CoboComment
普通用戶建議登錄https://orders.rarible.com查詢自己是否有舊的listing,并立刻進行取消處理。更穩妥安全的方式是直接將NFT轉移到新地址上。
Reference
https://twitter.com/PeckShieldAlert/status/1485547426467364864
https://twitter.com/yakirrotem/status/1485559864948629512
Metamask泄露個人IP漏洞
@alxlpsc在medium上披露稱Metamask存在嚴重的隱私泄露問題。漏洞主要是利用了MetaMask自動加載NFT圖片URL。基本的攻擊思路:攻擊者在可以將NFT的URI設置成自己可控的服務器網址,并將NFTtransfer給目標賬戶;當用戶登錄Metamask時,Metamask會自動掃描賬戶上所擁有的NFT,并發起指向攻擊者服務器的HTTP請求;攻擊者則可以從訪問日志中得到受害者的IP信息。
CoboComment
區塊鏈的匿名性主要來自鏈上地址與鏈下身份的剝離。如果能夠通過鏈上的地址確認鏈下身份,在區塊鏈場景下確實是比較嚴重的危害。在傳統安全中泄露主機IP通常不被認為是特別嚴重的問題,但在主張匿名性的區塊鏈世界,隱私的重要程度會再上一個臺階。相信類似的,因安全場景不同而導致漏洞級別不同的情況,在區塊鏈這個相對較新的領域還會不斷出現。
Reference
https://medium.com/@alxlpsc/critical-privacy-vulnerability-getting-exposed-by-metamask-693c63c2ce94
wxBTRFLY漏洞披露與修復
@immunefi的白帽黑客發現了wxBTRFLYToken合約中存在嚴重漏洞。合約中的transferFrom函數沒有正確更新recipient的授權,并且會錯誤更新msg.sender的授權。
漏洞本身雖然嚴重但成因并不復雜,比較有意思的是官方的修復方式。由于合約本身不支持升級,因此無法直接更新合約代碼;合約不支持暫停,因此也沒法用快照遷移的方式轉移用戶資產。最終官方的措施是自己發動了攻擊交易,將所有受漏洞影響用戶的資產轉移到了一個多簽錢包中。待后面部署新Token合約后會再行分配。
CoboComment
ERC20Token已經有比較成熟的代碼模板,wxBTRFLY是在重寫transferFrom時出現的問題。這個問題如果有完善的單元測試應該會很容易發現,項目方可能在開發過程中是缺少完善的測試流程。
Reference
https://discord.com/invite/rpkPDR7pVV
https://twitter.com/redactedcartel/status/1482497468713611266?s=20
https://etherscan.io/tx/0xf0e4ccb4f88716fa5182da280abdb9ea10ec1c61cfc5bbe87e10bdde07c229d6
Qubit跨鏈橋被攻擊
1月28日,BSC上的DeFi平臺QubitFinance的跨鏈橋QBridge遭受攻擊,損失約8000萬美金。
跨鏈橋一種常見的實現形式是在源鏈的合約中抵押資產,并emitevent。由監聽節點捕捉event,向目標鏈的跨鏈橋合約發起調用,mint等量的資產。來源鏈上只要有event事件產生,跨鏈橋系統就會認為有跨鏈資產需要轉移。但如果源鏈上跨鏈橋合約代碼存在問題,就可能出現沒有資產抵押進跨鏈橋合約但仍emitevent的情況,產生漏洞,造成目標鏈Token的錯誤增發。
QBridge就存在這樣的問題。QBridge支持抵押ETH和ERC20Token兩類資產。由于以太坊的ETH作為native代幣,與ERC20Token由兩套單獨的代碼處理。在源鏈抵押Token時,會調用deposit方法,在抵押時ETH應該調用depositETH方法。QBridge將零地址作為ETH的標識。但是實現時沒有完善的校驗,導致合約處理ETH時仍使用deposit方法,相當于將ETH當成了合約地址為零地址的Token處理。在轉賬時使用transferFrom則相當于是對零地址進行合約調用。而以太坊底層設計上,對EOA地址發起合約調用會默認成功,不會revert。以上條件結合起來,最終的情況就是雖然攻擊者在源鏈沒有抵押任何資產,但仍可以在目標鏈上mint出大量qXETH,實現獲利。
CoboComment
目前區塊鏈行業中多鏈并存,跨鏈橋已經是重要的基礎設施。跨鏈橋本身由于要進行鏈上鏈下配合,整體復雜度要比普通dapp高上許多,因此更容易出現問題。同時跨鏈橋上通常會抵押大量的資產,如果可以非法轉移那么獲利頗豐。各個跨鏈橋系統似乎成為了攻擊者們最近一兩月中的重點目標。
Reference
https://mp.weixin.qq.com/s/PLbuI9JFxyFRlDlj9rPvmQ
https://mp.weixin.qq.com/s/-kTsAs2WH5_4N4_3-XIxag
CoboLabs希望協助加密世界投資者規避風險、提高收益,為傳統金融機構、風險投資公司、通證基金、個人投資者、交易所、媒體等伙伴提供客觀、有深度的數據分析。
關于亞太最大的加密貨幣托管及資管平臺Cobo:我們向機構提供領先的安全托管與企業資管業務;我們向全球高凈值合格投資人提供加密數字錢包業務和豐富靈活的定期與結構化產品,我們關注金融創新,并于?2020?年第三季度成立了第一家面向全球機構的基金產品「DeFiPro」。
尊敬的用戶:?????????BKEXGlobal即將上線ELEN,詳情如下:上線交易對:ELEN/USDT??幣種類型:BEP20充值功能開放時間:已開放交易功能開放時間:2022年2月23日.
1900/1/1 0:00:00Gate.ioiscurrentlyholdingaQTCONtradingcompetition.Wehaveapoolof3,564,240QTCON($32.
1900/1/1 0:00:00尊敬的WEEX用戶您好! 元宵佳節千金禮 活動四:天天紅包禮 活動方式: 活動期間每天抽出10位有完成合約交易的用戶隨機送8、18、38、68、88USDT,周一至周五不限幣種.
1900/1/1 0:00:00本文來自Decrypt,原文作者:JeffBensonOdaily星球日報譯者|念銀思唐美國前總統候選人、前紐約市長候選人楊安澤正在丹佛巡回演講.
1900/1/1 0:00:00尊敬的AAX用戶: AAX於2022年02月11日17:00-2022年02月18日17:00(東八區時間)舉辦的“Seele-N(SEELE)上線:充值&交易&理財.
1900/1/1 0:00:00尊敬的用戶:Hotcoin將於(GMT8)2022年2月22日18:00開放REEF/USDT交易業務.
1900/1/1 0:00:00