左手倒右手,黑客利用漏洞盜竊3100萬美元加密貨幣,方式簡單粗暴
虛擬貨幣具有去中心化的特點,理論上不存在被盜的可能,但無數(shù)事實告訴我們,只要有交易,黑客有無數(shù)種方式盜竊虛擬貨幣,并不一定要破解加密貨幣。
就在近日,區(qū)塊鏈初創(chuàng)公司MonoX Finance表示,一名黑客通過用于起草“智能合約”的軟件漏洞,竊取了3100萬美元。
該公司使用一種被稱為MonoX的去中心化金融協(xié)議,交易雙方通過名為“Mono”代幣進行交易,大體過程為:
- 檢查兌換參數(shù)是否正常
- 計算應輸入輸出代幣的數(shù)量以及代幣兌換后的價格
- 執(zhí)行兌換操作,并將新的代幣寫入賬本
在不同代幣兌換時,上述過程能正常運行,但在同種代幣兌換時,則出現(xiàn)了兩個問題,在執(zhí)行第二個步驟時,沒有考慮兌換過程中,交易池代幣儲量的變更。最后一步?jīng)]有考慮同種代幣進行兌換時,兌出代幣的價格更新操作會覆蓋兌入代幣的更新操作。
這就導致黑客可以利用這一漏洞,大幅提升Mono代幣的價格。攻擊者不斷用Mono代幣,兌換Mono代幣,通過反復兌換,不斷拉升代幣價格,最后再用Mono代幣兌換其他虛擬貨幣。
經(jīng)過55次操作,Mono代幣被拉升到一個可怕的價格,致使MonoX Finance損失高達3100萬美元。
有人可能會覺得,這黑客的技術(shù)得多牛,才能發(fā)現(xiàn)協(xié)議漏洞,盜取公司巨額的財產(chǎn)。實際上這個漏洞相當?shù)图?,講一個例子你就明白了。
張三和李四兩人都是賣雞蛋的,現(xiàn)在一斤雞蛋才5塊錢,他們倆都覺得價格太低,于是商量著怎么抬高雞蛋價格。
因為這片區(qū)只有兩人買雞蛋,張三想了一個絕妙的方法。首先,李四以每斤7塊錢的價格,從張三手中買走一斤雞蛋,張三再從李四手中以9塊錢一斤的價格買走一斤雞蛋,如此反復,雞蛋價格被炒到100塊錢一斤。
這個例子在現(xiàn)實中根本無法成立,因為他們倆在那邊倒來倒去,雞蛋的價值還是5塊錢,太貴根本沒人買,或者人們就會尋求其他替代品,比如吃鴨蛋。到頭來,張三的雞蛋還是只能以5元一斤的價格往外賣。
問題是計算機程序不是人,它只會執(zhí)行人類為它事先設(shè)定好的操作。按照設(shè)定,李四以每斤7塊錢的價格向張三買雞蛋后,計算機程序認為張三的雞蛋都值7塊錢,而且不會買一斤少一斤,原來多少還是多少。
100塊錢一斤的雞蛋,不會有人買,但計算機程序會照單全收,就產(chǎn)生了這么一出鬧劇。
用Mono代幣買Mono代幣本來應該被禁止。假如有一家公司對外宣布,本年公司流水高達3萬億美元,結(jié)果一調(diào)查發(fā)現(xiàn),這家公司根本就是空殼公司,之所以有這么高的流水,是通過拿1萬美元去買1萬美元,反復操作來的。
在會計行業(yè),像這種操作不具有商業(yè)實質(zhì),是不能確認收入的。但MonoX協(xié)議卻允許這種操作……
更讓人無語的是,MonoX在今年已經(jīng)接受了三項安全審計,均沒有發(fā)現(xiàn)這一低級漏洞。
MonoX并不是唯一的受害者,十月份,黑客利用Indexed Finance公司其重新平衡指數(shù)池方式進行攻擊,損失約1600萬美元。區(qū)塊鏈分析公司Elliptic所謂的DeFi協(xié)議已經(jīng)損失120億美元。
因為底層技術(shù)不成熟,使黑客能夠輕易竊取用戶資金,而流動性池使犯罪分子能夠清洗勒索軟件和詐騙等犯罪所得。
不僅如此,消耗大量電力資源進行“挖礦”活動本質(zhì)上沒有產(chǎn)生任何價值,“炒幣”更是一種風險極高的活動。
在今年9月份,人民銀行等10部門發(fā)布了《關(guān)于進一步防范和處置虛擬貨幣交易風險炒作風險的通知》,通知稱,近期,虛擬貨幣交易炒作活動抬頭,擾亂經(jīng)濟金融秩序,滋生賭博、非法集資、詐騙、傳銷、洗錢等違法犯罪活動,嚴重危害人民群眾財產(chǎn)安全。
通知明確,虛擬貨幣兌換、作為中央對手方買賣虛擬貨幣等虛擬貨幣相關(guān)業(yè)務全部屬于非法金融活動,一律嚴格禁止,堅決依法取締。