首页(yè) 自媒体 查看内容
  • 2427
  • 0
  • 分享(xiǎng)到

ICX Token交易控制Bug深度分析

2018-6-20 13:36

来源: tokentalk

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


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


ICX的 Token 合约(yuē)中有一个变(biàn)量tokenTransfer,只有该变(biàn)量为true时,所(suǒ)有解(jiě)锁(suǒ)的账户(hù)才可能执行转账,授权他人转账和烧币的操作(这几个操作的函数均使用了(le)isTokenTransfer修饰器(qì))。其中,unlockaddress数组保存(cún)着所有的(de)解锁(suǒ)账户(hù)的状态,由owner来设置。


欧宝登陆入口-欧宝online(中国)

在(zài)ICX 的 Token 合约中,有两个(gè)函数enableTokenTransfer() 和disableTokenTransfer(),用(yòng)来修改tokenTransfer的值。

欧宝登陆入口-欧宝online(中国)


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


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


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


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

欧宝登陆入口-欧宝online(中国)
版权申明:本内(nèi)容(róng)来自于(yú)互联网,属第三方汇集推荐平台。本文的版权归原作(zuò)者所有,文(wén)章(zhāng)言(yán)论不代表链门(mén)户的观点,链门户不(bú)承担任何法律责任(rèn)。如有侵权请联系QQ:3341927519进行反馈(kuì)。
相关新闻(wén)
发表评论

请先 注册/登录 后参(cān)与评论

    回顶部

    欧宝登陆入口-欧宝online(中国)

    欧宝登陆入口-欧宝online(中国)