WF曲速未來:智能合約攻擊分析之龐氏代幣合約漏洞區塊鏈

                  區塊鏈安全檔案 2018-09-04 20:29
                  分享到:
                  導讀

                  WF曲速未來表示:以太坊智能合約中混雜進了不少龐氏騙局合約,他們向投資者承諾,如果你向某合約投資一筆以太坊,它就會以一個高回報率回贈你更多的以太幣,然而高回報只能從后續的投資者那里源源不斷地吸取資金以反饋給前面的投資者。

                  以太坊智能合約中混雜進了不少龐氏騙局合約,他們向投資者承諾,如果你向某合約投資一筆以太坊,它就會以一個高回報率回贈你更多的以太幣,然而高回報只能從后續的投資者那里源源不斷地吸取資金以反饋給前面的投資者。

                  WF曲速未來表示:根據區塊鏈大數據評級機構RatingToken最新數據顯示,2018年7月20日全球共新增9552個合約地址,其中317個為代幣型智能合約,另外值得關注的是同一個賬戶創建了7900個完全相同的智能合約,共消耗Gas費22 ETH,疑似代投機構批量創建。

                  ETH是一個典型的龐氏代幣合約。該合約可以看成虛擬幣交易所,但只有ETH和ETHX (ERC20 token)交易對,每次交易,都有5%的token分配給整個平臺的已有的token持有者,因此token持有者在持幣期間,將會直接賺取新購買者和舊拋售者的手續費。從ETHX合約代碼可以看出,該合約對transferFrom函數進行了擴展,transferFrom函數首先進行allowance限額判定,然后調用了自定義的transferTokens函數來完成轉賬。

                  在transferTokens函數中,當to賬戶地址不等于合約地址,由于事先對from賬戶額度進行了安全檢查,因此后面對from賬戶的balance運算不會產生溢出。

                  當to賬戶地址等于合約地址時,則調用sell函數,sell函數中由于代碼編寫失誤,錯誤的將from寫成msg.sender,對msg.sender的額度進行了減法操作,而在減法操作前沒有進行安全檢查,因此存在溢出漏洞。

                  為了完成對這個溢出漏洞的攻擊,攻擊者需要2個賬戶A、B,其中A賬戶代幣余額不為0,B賬戶代幣為0。

                  1)A賬戶調用approve給B授權一部分轉賬額度,假設授權額度為1;

                  2)B賬戶調用transferFrom,從A賬戶轉1單位代幣到智能合約;transferFrom調用sell函數時觸發整數溢出,即0-1=2^255。B賬戶在余額為0的情況下獲得了最大額度的token。

                  在ETHX合約攻擊鏈中,攻擊者使用了兩個賬戶地址,分別為:

                  0x423b1404f51a2cdae57e597181da0a4ca4492f30

                  0x17a6e289e16b788505903cc7cf966f5e33dd1b94

                  首先,0x17a6e289e16b788505903cc7cf966f5e33dd1b94調用approve給0x423b1404f51a2cdae57e597181da0a4ca4492f30授權轉賬額度,參數value=1。

                  然后,0x423b1404f51a2cdae57e597181da0a4ca4492f30調用transferFrom方法,從賬戶0x17a6e289e16b788505903cc7cf966f5e33dd1b94向ETHX合約地址0x1c98eea5fe5e15d77feeabc0dfcfad32314fd481 轉移1個Token。

                  調用前,balance(0x423b1404f51a2cdae57e597181da0a4ca4492f30)=0。調用后,溢出后balance(0x423b1404f51a2cdae57e597181da0a4ca4492f30)=2^255。

                  監控平臺顯示已經被攻擊的同類代幣合約如下表:

                  總結:

                  但其實究其根本,之所以如此多的智能合約出現同類漏洞,其背后是混亂的數字代幣發行現狀。區塊鏈安全公司WF曲速未來還要提醒的是,在數字貨幣的世界里,各種漏洞都潛伏其中,投資者需要做好漏洞隨時暴露的心理準備,同時,平臺自身的資質,也是投資者需要仔細考慮的重要因素。

                  合約 賬戶 投資者 調用 地址
                  分享到:

                  1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
                  2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
                  3.作者投稿可能會經TMT觀察網編輯修改或補充。