麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

安全課堂|Soildity安全之隨機數誤區區塊鏈

曲速未來安全區 2018-08-17 20:55
分享到:
導讀

WF曲速未來表示:Solidity提供的功能和變量可以獲得明顯難以預測的價值,但它們通常要么比看起來更公開,要么受到礦工的影響。由于這些隨機性在一定程度上是可預測的,因此惡意用戶通常可以復制它并依賴于其不可預測性來攻擊該功能。

Soildity作為編寫智能合約的語言,已經被廣泛的應用。但同時,開發者和用戶也得到了慘痛的教訓,智能合約的安全問題層出不窮。因此,我們總結了一些常見的Solidity安全問題。前車之鑒,后車之師,希望后來者能有所警惕。

隨機數誤區

以太坊區塊鏈上的所有交易都是確定性的狀態轉換操作。這意味著每筆交易都會改變以太坊生態系統的全球狀態,并且它以可計算的方式進行,沒有不確定性。WF曲速未來表示:Solidity提供的功能和變量可以獲得明顯難以預測的價值,但它們通常要么比看起來更公開,要么受到礦工的影響。由于這些隨機性在一定程度上是可預測的,因此惡意用戶通常可以復制它并依賴于其不可預測性來攻擊該功能。

代碼案例

在該案例中,私人的種子 與iteration與和keccak256散列函數組合使用以確定呼叫者是否獲勝。即使私人的種子,它必須是通過交易在某個時間點設置,并因此在區塊上可見。

相關事件

PRNG 合約

為了增加熵,一些智能合約使用了被視為私有的種子。一個這樣的案例是Slotthereum彩票。

代碼如下:

變量指針被聲明為私有,這意味著其他合同無法訪問其值。在每次游戲之后,1到9之間的中獎號碼被分配給該變量,然后block.number在檢索阻塞時將其用作當前的偏移量。

雖然私有變量受到保護而不受其他合同的影響,但可以將合同存儲的內容置于鏈外。例如,流行的以太坊客戶端web3具有API方法web3.eth.getStorageAt(),該方法允許檢索指定索引處的存儲條目。

鑒于這一事實,從合同存儲中提取私有變量指針的值并將其作為漏洞的參數提供是微不足道的:

1.彩票使用外部合約oracle來獲取偽隨機數,用于確定每輪投注中的投注者中的獲勝者。

2.這些號碼是未加密的。攻擊者可能會觀察待處理事務池并等待來自oracle的號碼。

3.一旦oracle的交易出現在交易池中,攻擊者就會以更高的Gas價格發出賭注。

4.攻擊者的交易最后一輪進行,但由于Gas價格較高,實際上是在oracle的交易之前執行,使得攻擊者獲勝。

區塊鏈安全公司WF曲速未來 觀點:

在以太坊區塊鏈中實施安全的PRNG仍然是一項挑戰。由于缺乏現成的解決方案,開發人員傾向于使用自己的實現。但是在創建這些實現時,很容易出錯,因為區塊鏈的隨機性源有限。在設計PRNG時,開發人員應確保首先了解各方的激勵,然后才選擇合適的方法。同時,區塊變量不應該被用來提供隨機性,因為它們可以被礦工操縱。

區塊 變量 交易 合約 使用
分享到:

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


專題報道

主站蜘蛛池模板: 激情视频图片小说qvdo | 好吊色青青青国产综合在线观看 | 成人丁香婷婷 | 国产成人精品午夜视频' | 幸福草电视剧演员表介绍 | 欧美性野久久久久久久久 | 超时空要爱国语完整版在线 | 性欧美高清理论片 | 高h全肉动漫在线观看免费 高h辣h双处全是肉军婚 | 美女把腿开让我 | 成人网址大全 | 操美女b| 欧美日韩精品一区二区三区高清视频 | 毛片应用 | 国产精品一在线观看 | 久久黄色精品视频 | 第一次破苞h | 色综合亚洲精品激情狠狠 | 久久久精品国产免费A片胖妇女 | 国产一区二区三区在线看片 | 午夜在线观看免费观看 视频 | 日韩精品一区二区三区老鸭窝 | 白丝尤物的下面被疯狂蹂躏 | 动漫美女人物被黄漫在线看 | tk白嫩玉足脚心vk | 99r在线观看 | 亚洲国产欧美在线人网站 | 探花国产 | 狠狠撸在线播放 | 色综合天天综合网看在线影院 | sao虎在线精品永久在线 | 天堂va在线高清一区 | 日韩一区二区三区四区不卡 | 娇妻与公陈峰姚瑶最新版 | 国产成人无精品久久久久国语 | 欧美日韩亚洲综合久久久 | 国产亚洲女在线线精品 | 国产精品久久久久久久久99热 | 国产在线视频色综合 | 日本老妇人乱视频 | 国产a一级毛片午夜剧院 |