SECBIT實驗室郭宇:以太坊大量合約存在漏洞,可能導致token歸零

郭宇:這位網友總結的非常到位。我非常同意EL的看法。補充一下,我覺得還可以從行業業務這個角度來看:拋開智能合約語言,拋開智能合約安全服務類型,針對不同行業,會有不同的安全服務重點,比如金融行業,和遊戲行業,對於安全服務的側重點都可能不太一樣。區塊鏈安全,智能合約安全,我覺得目前的問題只是很小的一部分。也許3年以後回頭看,區塊鏈安全服務會發生非常大的轉變,是和現在完全不同的內容和模式。

主持人:12.懟友@ EL:最近一篇由ETH研究的Securify,其中提到的安全模式僅針對solidity語言來說的,發的是安全會議的頂級paper——CCS,但是我覺得於solidity本身而言其安全模式不一定全,針對更多種其他的智能合約模式(比如EOS的C++程序)也不一定適用,所以這種安全模式的設計是不是在不同環境下的合約有所區別,分別研究呢?

郭宇:目前一些不同公鏈平臺上,智能合約的語義模型差別還是比較大的。智能合約的安全模式,我認識只是一種近似的安全定義,並且securify的這種全自動的智能合約檢測方式,很難避免誤報與漏報的情況,所以我們也很難說什麼是“完全的”安全模式,也許我們永遠定義不出來。但是securify 只要能將檢測準確率控制在一定的範圍內,會是一個比較強大的工具。

針對不同的智能合約,由於底層字節碼或者源語言的語義的差別,不太可能做出統一的工具,最好的方式還是針對特定合約平臺的檢測工具。不過從另外一方面將,縱然合約平臺存在一定的差異,但是大部分的安全問題仍然具有一定的共性,一些研究結果是可以做移植的。

甚至有一些公鏈採用函數式的合約編程語言,有些安全檢測方式是仍然適用的。這個問題太專業了 我就不展開講了。

主持人:13. 一週前你們在一款類似於Fomo3D的遊戲Last Winner中發現黑客利用遊戲隨機數盜取了1200萬人民幣。這種漏洞是否在所有類Fomo3D遊戲中都會存在?玩家只能永遠主動去當受害者嗎?

郭宇:修復隨機數漏洞就可以了。所有直接拷貝 Fomo3D 源碼的遊戲都存在同樣的漏洞,普通玩家的利益確實會受到較大威脅。對於已經部署的 Fomo3D 模仿遊戲,由於合約代碼無法更改,這些遊戲合約中的漏洞會一直存在並且無法挽救,我們是強烈建議,普通玩家不要投入資金在這類遊戲中。

我先呼籲一下,對於仍在開發階段的遊戲,實際上有多種方案可以解決這些漏洞,我們呼籲遊戲開發方重視這些安全問題,Fomo3D的隨機數產生過程存在比較嚴重的漏洞,現在是有比較簡單的隨機數漏洞修補方案的。我們後續會專門整理討論安全隨機數方案。

主持人:14.

隨機數一直是區塊鏈平臺的短板,以太坊和EOS均未提供隨機數接口,對於以公平為主的遊戲來講,隨機數生成至關重要。但是黑客卻可以生成大量隨機數,在小概率的獲獎環節中獲得巨大優勢。所以,如何破解“隨機數“難題,讓玩家公平參與遊戲?

郭宇:黑客的嗅覺非常靈敏。目前以太坊和EOS平臺在沒有很好解決隱私問題之前,是很難提供密碼學安全的隨機數的,但是如果退一步,給特定業務場景提供一些比較公平的“隨機數”是有不少現有方案的,比如commit-reveal 方式的隨機數方案,randao,oraclize,commit and claim 等。

自由吐槽環節

懟友heige:怎麼看待免費的合約審計 或者 合約審計最後的商業出路在哪裡?

趙坤@SECBIT:有了360免費模式,現在大家都很容易想到做免費模式,但是免費之後怎麼贏利,卻是一個大問題。現在審計業務競爭很激烈,免費不是沒有可能。

懟友heige:目前已有部分團隊對外發布了免費的檢測平臺或者工具。

趙坤@SECBIT:免費的工具目前看有一定的效果,但是不能取代安全審計,很多問題還是需要人工來解決。目前的審計還都是收費的,還是有大量的人工投入在裡面。現在大家的安全意識在不斷提高,不一定每次審計都能發現問題哦。但是這種分化是否能出現,也要走一步看一步

郭宇:審計自動化程度在提高,這是不可避免的趨勢。審計成本下降,審計門檻降低,這個不可逆轉。但是免費是否是一個可以長期持續的商業模式,我還沒有找到答案。我感覺未來可能會出現針對不同類型的客戶提供不同級別的安全服務。

其實智能合約審計只是區塊鏈安全裡面很小的一部分,目前也不是我們的重點。智能合約的安全不一定通過審計來解決,審計是所有方法裡面比較低效的。這是針對erc20 token合約吧?

erc20合約複雜度比較低,這個市場可能已經是紅海了,但是針對複雜合約的審計,目前還是非常值得去探索的,而且這部分需求未來會越來越大。這部分對於安全審計的要求更高, 我認為短期內無法自動化或者免費。

懟友heige:如果這個事情交易所幹了呢?

郭宇:現在交易所就在幹啊。

趙坤@SECBIT:比如我們可以加強智能合約語言和編譯器的安全性,可以在早期避免90%以上的智能合約安全問題。

懟友heige:重點在哪裡 ?

趙坤@SECBIT:重點是全方位的安全,早期方案,以及後期防護都包括。

懟友heige:哪裡都是重點啊 。

趙坤@SECBIT:安全沒短板,都是重點,任何一個方面沒做好,都可能帶來嚴重後果

懟友蔡棟:跟鏈安對比,請問SECBIT有哪些明顯優勢和劣勢?

郭宇:我們和鏈安楊老師團隊都有高校科研背景,都在力圖將形式化驗證理論應用到智能合約安全方面,但是目前我們和楊老師團隊走的路線略有不同,楊老師團隊目前側重點在於合約審計服務VaaS上,而我們目前的側重點在合約底層基礎以及合約形式化證明上。

懟友@小迷妹:有沒有想過藉助區塊鏈實現財務自由?

趙坤@SECBIT:我們是區塊鏈的堅定信仰者,財務會不會自由不知道,技術肯定是自由的

懟友懟友@ping:你覺得目前區塊鏈安全行業處於哪個發展階段?最大的安全隱患是哪些?

郭宇:目前區塊鏈行業還處於早期階段,很多人來把現在的區塊鏈技術比作比92年的互聯網技術,所以區塊鏈安全技術也是出於非常早期的階段。

趙坤@SECBIT:區塊鏈安全還處於非常早期,從非技術因素上來講,最重要的是大家對安全的重視。

懟友:智能合約足夠智能嗎?在AI技術沒有重大突破的情況下,程序員用條件和循環語句寫出來的代碼到底有多智能?或者說智能僅僅指的是是根據預先設定的條件自動執行?

郭宇:智能合約的smart 應該不是人工智能的那個智能,感覺目前智能合約與AI還沒有半毛錢關係,至於未來有沒有關係,還需要大家的努力啊。

主持人:感謝大家近三個小時的陪伴,感謝安比(SECBIT)實驗室的郭宇總、趙坤總。郭博士嚴謹的邏輯和專業能力完美契合,

一個蓬勃發展的市場,安全永不缺位,感謝這些為區塊鏈發展去打造安全環境的技術極客們。


分享到:


相關文章: