首页 自媒体 查(chá)看内容
  • 2426
  • 0
  • 分享(xiǎng)到

ICX Token交易控制(zhì)Bug深度分析

2018-6-20 13:36

来源: tokentalk

安比(SECBIT)实验室根据ICX项目官方github仓库中报告的一个智(zhì)能合约代码的漏洞(dòng),深入分析后(hòu)确认该漏洞产生的原(yuán)因是任(rèn)何人都能(néng)随(suí)意开启(qǐ)和关停合约的主要功能(包括转(zhuǎn)账,授权(quán)和烧币(bì))。


github地址(zhǐ):https://github.com/icon-foundation/ico/issues/3 (汇报(bào)人id:VexyCats)


ICX的(de) Token 合约中有一个变量tokenTransfer,只有(yǒu)该变量为true时,所有解锁的(de)账户才可(kě)能执行转账,授权(quán)他人转账和烧(shāo)币的操作(这几个操作的函数均使用了(le)isTokenTransfer修饰器)。其中(zhōng),unlockaddress数组(zǔ)保存着(zhe)所(suǒ)有(yǒu)的解锁账户(hù)的状态,由owner来设置(zhì)。


乐鱼官方端网站登录入口-乐鱼leyu(中国)

在ICX 的 Token 合约(yuē)中,有两(liǎng)个函(hán)数enableTokenTransfer() 和disableTokenTransfer(),用来修(xiū)改tokenTransfer的值。

乐鱼官方端网站登录入口-乐鱼leyu(中国)


这两个(gè)函(hán)数均使用了(le)一个修(xiū)饰器,名称(chēng)为onlyFromWallet。从字面意思理解(jiě)来(lái)看,这(zhè)个修饰器的(de)作用(yòng)是仅有walletAddress 账户才(cái)可以(yǐ)调(diào)用这两个函数。然(rán)后不幸的(de)是,在onlyFromWallet的具体实现中,将判断条件写反了!!!也就是(shì)说,除了walletAddress以(yǐ)外,所有(yǒu)账户都可以通(tōng)过(guò)修(xiū)改tokenTransfer,来控制合约功能的开(kāi)启和关停。


目前,ICX项(xiàng)目的Token已经在币安、OKex、火币等著名交易所上线交易。但(dàn)安比实验室提醒大(dà)家无需恐慌(huāng),该Bug只会导致这部分功能暂(zàn)时无(wú)法正常使用,并不会对账户(hù)本身的安全造成实(shí)质(zhì)性的影响。同时,经(jīng)过与项目方(fāng)接触,对(duì)方(fāng)回复已经采取措施,保护交易(yì)不受影(yǐng)响,同时也在(zài)积(jī)极修复此Bug。


从此Bug也可以看出,ICX项目的智能合约(yuē)在部署前缺少测(cè)试(shì)和安全审计,安比(bǐ)实验室再次提醒各项目方(fāng),一(yī)定(dìng)要(yào)加强智能合约的测试和(hé)安全审(shěn)计(jì)工作。


以(yǐ)上观点由安比(SECBIT)实验室提供。

乐鱼官方端网站登录入口-乐鱼leyu(中国)
版权申(shēn)明:本(běn)内容来(lái)自(zì)于互联网(wǎng),属第三方汇集推荐平台。本文的版权(quán)归原作者所有,文章言论不代表链门户(hù)的观点,链门户(hù)不承担任何法律责任。如有侵权(quán)请联(lián)系QQ:3341927519进行反(fǎn)馈。
相关新闻
发表评论

请(qǐng)先(xiān) 注(zhù)册/登录 后(hòu)参与(yǔ)评(píng)论

    回顶部

    乐鱼官方端网站登录入口-乐鱼leyu(中国)

    乐鱼官方端网站登录入口-乐鱼leyu(中国)