菠菜類DAPP已成黑客提款機?元兇竟然是它!區(qū)塊鏈

                  火星財經 2018-11-12 09:42
                  分享到:
                  導讀

                  天下無不bug的程序,開源讓項目更透明,也給了技術高超的黑客以可乘之機。

                  區(qū)塊鏈,一直以透明、開源而聞名,也因此成為近兩年最受人關注的技術。有數據顯示,從2009年比特幣的源代碼公開后,平均每年有8600多個區(qū)塊鏈項目加入GitHub,開發(fā)者們的DAPP代碼開始大批量涌入。

                  被譽為明星項目的EOS,自從主網上線以來,就一直致力于DAPP生態(tài)建設,雖然在DappRadar上,EOS的DAPP數量遠不如以太坊的鏈上DAPP數量,但它的高擴展性被開發(fā)者們所認可,DAPP的數量和日活也在逐漸增加。

                  但天下無不bug的程序,開源讓項目更透明,也給了技術高超的黑客以可乘之機。

                  就在昨天,知名DAPP EOSDice被黑,造成了4633個EOS的損失。而僅在6天前,EOSDice就已經被黑掉過2545個EOS。

                  這已經是EOS DAPP本月第三次遭到黑客攻擊了。這一次的攻擊者是之前攻擊FFGame DAPP的黑客,攻擊手法也是由于使用了可控的隨機數種子。

                  上一次EOS合約競猜類游戲FFGame被攻擊之后,慢霧安全團隊經過技術復盤推測了整個攻擊過程:

                  攻擊者是通過部署攻擊智能合約,并且在合約中使用與FFGame相同算法計算隨機數,產生隨機數后立即在inline_action中使用隨機數攻擊合約,導致中獎結果被“預測”到,從而達到超高中獎率。

                  根據攻擊復盤,慢霧預警了該攻擊手法,并告誡開發(fā)者:不要引入可控或可預測隨機數種子,任何僥幸都不應該存在。

                  果不其然,這一次黑客使用了相同的攻擊手法,再次嘗到了甜頭,也給了開發(fā)者們警醒的一擊。

                  那么,這個“可控的隨機數種子”究竟是個啥?

                  我們都知道,隨機數是區(qū)塊鏈上運行智能合約的一個關鍵數值。用程序員的思維來看,只要你告訴我初始狀態(tài),我可以根據你每次給的輸入,預測出它的輸出。

                  這里我們不用了解太多技術層,我們只需要知道,假如想讓隨機數是不可預測的,那就必須保證隨機種子是不可預測的。

                  那么這個隨機數種子就需要從外界輸入。簡單打個比方,它可以是某個商品的銷量,也可以是計算機的系統(tǒng)時間。

                  但這些數據太過于簡單,非常容易被黑客預測到并加以使用,從而大幅提升自己在菠菜游戲里的中獎率,拿走獎金池里的獎金。

                  因此找到一個優(yōu)良的、不易被控制的隨機數種子,是現在所有菠菜類DAPP面臨的難題。

                  據DappRadar數據顯示,EOS上有118個DAPP,其中菠菜游戲類有60多個,幾乎占比了一半!一位資深DAPP開發(fā)者表示:“目前來看,區(qū)塊鏈第一應用就是賭博,其他應用,暫時還火不起來。”

                  因此對于菠菜游戲來說,智能合約是命脈,是靈魂,任何漏洞都有可能讓資金池中的資金被席卷一空。

                  目前菠菜類游戲的智能合約所參考的隨機數比較局限,可作為隨機種子使用的公開數據仍然比較少,且大部分都有可能被猜出來,因此暫時無法實現真正的隨機。

                  曾經有人提出用“EOS RAM的交易數據”或者“某活躍DAPP的公開數據”作為隨機數,但是被社區(qū)中的開發(fā)者給否定掉了。原因是這些變化無窮的公開數據依然存在著很大問題,并不能直接被使用——

                  1、過于依賴其他方數據,必須保證智能合約跟著別人的數據格式同步更新;

                  2、變化頻次時高時低,無法保證不間斷的不可預測性。

                  從近半年的新聞中可以得知,EOS DAPP的安全事件頻發(fā)。目前被報道的已經有FFGame、DEOSBET、EOS Happy Slot、FairDice、EOSDice,以及損失最為慘重的EOSBet。

                  我們會發(fā)現,EOS DAPP遭受攻擊的概率比以太坊DAPP高得多。這不外乎是以太坊DAPP開發(fā)模式已經趨向于成熟,內部安全性較為完整,復雜邏輯較少,因此漏洞范圍更低。

                  還有一個原因是,目前EOS的開發(fā)人員并不多,成熟的開發(fā)者就更少了。很多情況下,一個DAPP可能背后只有1-2個程序員,甚至連完整的測試人員都不存在。在這種情況下,漏洞出現的可能性就非常大,也更可能被攻擊。

                  多次的黑客攻擊和大額損失都證明了,EOS DAPP現在還是個寶寶,不足以說是一個具有完善保護機制的成熟應用鏈。

                  當然,這也是EOS DAPP發(fā)展壯大必須經歷的過程。提升其內部安全性,任重而道遠。

                  DAPP EOS 隨機數 數據 攻擊
                  分享到:

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