TOK:智能合约后门揭秘:盗币的不只是黑客,“一键发币”平台暗藏后门

相信各位朋友对代币领域的“增发”这个概念已经不会陌生,比如泰达近期便在以太坊上频繁增发ERC20标准的USDT,由于这是一种增加代币流通量的行为,所以一直充满争议。当然,通常情况下,代币的增发行为是公开的,有据可查,所以我们还可以及时反应,甚至与相关项目方干涉沟通,但是如果这种“增发”是毫无记录的,甚至连项目方都不知道的呢?你可能会感到奇怪,竟然会有这样的咄咄怪事?是的,近期北京链安就发现了在合约中设置后门,暗地增发Token并窃取的恶劣行为。

近日,北京链安接到部分项目方反映,他们发布ERC20代币后,还没进一步向其它地址分发,就发现一些来源不明的代币在链上转账,即这些代币原始来源并非其合约创建时分配给官方地址的Token。同时,项目方也发现这些Token并非同名创建的其它合约产生的同名币或“假币”,更像是一种并非由其发起的“增发”。

例如,一项目方便反映,他们观察到以太坊链上其代币HJL交易出现异常增发的情况,一些Token似乎在以太坊网络上凭空产生,没有生成记录,说好的区块链“不可篡改可追溯”呢?

智能合约基础设施公司Neutro完成1000万美元融资:6月21日消息,Cosmos 生态智能合约基础设施公司 Neutro 宣布完成 1000 万美元融资,Binance Labs 和 CoinFund 领投,Neutron 是一个利用 Cosmos 生态系统链间安全的跨链智能合约平台,允许智能合约开发人员利用基础架构和安全性在 Cosmos 生态系统中轻松构建可扩展的 DApp。[2023/6/22 21:53:03]

该项目地址如下:https://cn.etherscan.com/token/0xf6CBA5729E9137149A278db075b53f429aa31C54

这是增发造成的吗?从真正意义上的增发来说,我们认为应该是相关项目发起方或授权方主动发起了一种增加Token供应量的行为,正常情况下,代币的增发有以下几个条件:

智能合约支持增发代币。

增发代币的权限通常由智能合约owner账户持有。

这种情况下,我们应该在链上看到增发的记录,比如ERC20USDT的增发就会有类似这样的记录:

义乌发布数字人民币试点10举措:加大智能合约应用探索力度:金色财经报道,义乌市数字人民币试点工作领导小组联合办公室发布《深入推进义乌小商品市场数字人民币试点工作方案》,《方案》提出全面提升市场数字人民币受理环境、推广数字人民币硬件钱包、加大智能合约应用探索力度、探索开展数字人民币跨境支付应用等10条具体措施。[2023/3/25 13:26:15]

但是,据举报问题的项目方反映,它们并未向0xfa6dd2b9976d67852cc4b3180f1ef8692c4ad87c转账,这个地址似乎有Token“从天而降”。

可以看到,上图记录中,合约创建后产生了4300万枚HJL,转账到0xfee0c开头地址,接着该地址转入0x2ebecf开头地址,接着我们看到了0xfa6dd2开头地址的转账,显然这个地址此前并未获得官方创建的相关Token。

于是,我们进一步查看了该Token的合约:https://cn.etherscan.com/address/0xf6CBA5729E9137149A278db075b53f429aa31C54#contracts

Curve智能合约中锁定总价值超过3亿美元:7月23日发文称,DeFi锁定的总价值仍在上升。自上周五以来,DeFi稳定币交易平台Curve在其智能合约的锁定总价值中增加了2.26亿美元,现已超过3亿美元。按照锁定总价值计算,Curve已成为第五大最受欢迎的DeFi协议。(Decrypt)[2020/7/23]

终于,我们发现了玄机所在,智能合约在部署到链上时,在正常发布参数_totalSupply设置供应量的Token的同时,还向地址0xfA6DD2B9976d67852Cc4b3180f1Ef8692c4aD87c的账户上充值了总供应量1%的代币,并且这1%的代币并未计入总供应量中,就HJL而言,相当于实际发行了43000000+43000000*1%=43000000+430000=43430000HJL,而多出来的这些HJL似乎被这个地址给“偷”走了。

声音 | 彭枫:智能合约交易可以减少人工干预:金色财经现场报道,在今日举办的金融界2018夏季达沃斯之夜+区块链思享会上,中国人民银行数字货币研究所规划部负责人彭枫提出了自己的创新思路,认为区块链可以做到数据上链登记,包括三流信息同步,多方信息一致,全新数据存储结构,算法保障安全可信,对等协作新模式;全方位数据验证,包括开放账本体系,内部共识验证,外部交叉验证,共享验证存证,探索跨链交互;信息穿透,包括底层资产信息披露,信息安全可信,动态数据更新,信息全局一致,满足多方需求;智能合约交易,包括减少人工干预,简化流程执行,公开透明交易,自动强制执行,创新业务探索等。[2018/9/17]

从地址0xfa6dd2b9976d67852cc4b3180f1ef8692c4ad87c关于HJL的转账来看,它确实给人一种凭空获得HJL的感觉,并转出了330000HJL。

该地址内还剩下10万枚HJL,和转出的HJL加起来总额为43万HJL,符合合约中的操作。

动态 | 360Vulcan 团队:EOS 智能合约底层 asset 类存在严重缺陷:据360Vulcan 团队情报称,EOS 智能合约底层 asset 类存在严重缺陷,在数值计算时存在溢出风险,目前 360Vulcan 团队已反馈给 EOS 官方漏洞平台。这与慢雾安全团队7 月 25 日预警的 EOS 狼人游戏出现溢出攻击的根源有一定关系,狼人团队与我们取得联系后,与 360Vulcan 团队都通过对合约源码进行审计发现,asset 计算存在该溢出问题。[2018/8/3]

我们进一步参看了该地址的转账记录,发现有不止一个此类“天降横财”式Token,都是未见转入和合约调用,该地址直接向外转出这些Token

这些项目的合约是不是也遇到类似问题呢?我们查询了PhantomMatter(PHTM2)的合约:https://cn.etherscan.com/address/0xbcc4bcc7577e4042d45ae189ba6c0b264d7bab34#code

不出意外的,我们看到了同样的代码,同样的地址,同样的百分之一增发式“偷取”策略,由此可见这实际上是相关合约留有后门,但是项目方表示并不知情,那么他们又是如何中招的呢。

与项目方的沟通进一步了解到,其发币合约并非自己开发,而是在一个名为“易代币”的发币平台完成,接下来的问题就是在使用这个平台的过程中:

平台的模板是否带有这样的代码。

如果带有这样的代码,是否这本是其功能设置的一部分,或者是客户支付费用的既定方式。

如果有这样的功能和设置,是否明示给客户。

于是,我们在测试网上进行了测试,在网站上,用户首先选择发币类型。

接着输入名称、符号、供应量等信息。

最后是支付相应的创建交易费用,然后确认就可以了,全程没有任何地方提及会有最终合约代码中产生的多发1%代币并转到其指定地址的行为,显然这并不是一个其既有的面向客户的功能或者设置。

北京链安已经在测试网络使用了该代币生成网站并部署合约,从合约代码来看,也看到了同样的多发Token并窃取的行为,接收地址也是0xfa6dd2b9976d67852cc4b3180f1ef8692c4ad87c。由此可见,该网站以代币发布平台为名,在为客户提供代币发布服务的同时,在客户不知情的情况下获得代币,一旦相关代币可以交易流通,他们将可以将其卖出获益。

就0xfa6dd2b9976d67852cc4b3180f1ef8692c4ad87c地址关联的项目而言,主要有:

HJL(HJL)

Moneyhome(MH)

PhantomMatter(PHTM2)

CRS(CRS)

LibraPi(LP)

SMART(SMART)

UCC(UC)

其中部分Token已经在交易所交易,我们也看到了涉事地址向相关交易所转账的记录,可见其模式便是暗中多发1%的Token,待其中有币上所便跟进卖出获利。

整个过程,我们发现项目方处于一种极不安全的“裸奔”状态,在使用所谓的发币平台的时候,整个过程对它们是黑盒的,它们看到的只是些设置选项,根本不知道中间的猫腻。与此同时,尽管代码部署并开验证后会开源,但是使用这样的平台的项目方通常技术能力有限,不会去检查其中的缺陷,而目前很多中小交易所上币的时候也不会对项目方做代码审计要求,这就造成这一代码里如此“张扬”的后门通过层层关卡而未被及时堵截。

在这里,北京链安提醒业内各方,对于涉及智能合约的开发请遵循相应的安全原则,如涉及外包开发请在对其能力评估的同时注意道德风险的评估。最后,智能合约的安全审计环节必不可少,请及时联系专业的安全机构进行相应的安全检测。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:15ms0-0:885ms