本文由“灵踪安全”原创,授权“金色财经”独家发布。
8月19日,BSC上的收益聚合项目PineconeFinance的保险库受到黑客攻击,损失约350万没PCT代币。
截至写稿时为止,项目方已经针对此次攻击中受损的用户发布了补偿计划:项目团队及投资人共持有491万枚代币,将用所有代币补偿用户。
尽管此次攻击受损的金额相对近期动辄千万、上亿美元的金额不算太大,但这起攻击事件还是给我们留下了值得吸取的经验和教训。
这次攻击出现漏洞的地方在于转账过程使用的代币有损耗,而合约对这个损耗没有处理好于是就导致漏洞出现从而被黑客攻击。
在正常状况下,用户之间转账代币的时候,如果代币在转账过程中没有损耗,处理起来是比较简单的。但如果某些代币在转账过程中会出现损耗,则处理这类代币的转账就要非常小心了。
在Pinecone项目中,其代币PCT是作为资金池的质押代币,在其合约设计的代币转账过程中会有手续费的损耗。而项目将这个损耗计入了用户的份额中,于是用户份额和质押的PCT总额就会出现偏差。这个偏差就能被攻击者用来领取多余的奖励。
独家 | 比特币链上活跃度上升,未确认交易数22240笔:金色财经报道,据欧科云链OKLink链上数据显示,BTC链上活跃度上升。截至上午11时,BTC全网难度为16.95T,全网算力为121.30EH/s,较前日下降3.62EH/s,全网算力呈上升趋势。未确认交易数近22240笔。[2020/8/11]
具体而言,本次攻击存在漏洞的合约有:
PineconeFarm合约,其地址为:
0x4099f27fb72788b7bb5cb64e3d2b865eb82d0f8f
farm合约使用的策略合约IPineconeStrategy,其地址为:
0x1e542DB46eb87cc8E5fA8e1856eC53F89dc4bC89
PCT代币合约,其地址为:
0x6019384a802310117a6E889e7021d2d0A144fE50
独家 | 金色财经2月17日矿币数据播报:金色财经报道,据币印矿池数据显示:
主流币挖矿日收益分别为:BTC(¥1.13/T)、ZEC(¥0.49/T)、LTC(¥20.95/G)、BSV(¥1.08/T)、BCH(¥1.16/T)、DASH(¥0.11/G)。
当前热门矿机数据及净收益分别为:神马M20S(BTC,¥46.91)、蚂蚁Z11(ZEC,¥40.94)、芯动A4+(LTC,¥6.15)。[2020/2/17]
漏洞涉及的相关代码片段为:
PineconeToke的_transfer()函数:
在这里,PineconeToken的transferFrom的调用了_transfer()函数,在_transfer()中用户转账会收取手续费,因而实际到账的金额比transferFrom传入的amount值要小。
独家 | 金色财经2月14日挖矿收益数据播报:金色财经报道,据印比特数据显示,按照BTC参考价格71100元、电价0.38元/kWh计算,当前在售主流BTC矿机的市场价格及回本周期为:神马M20S-68T(3月份期货11500元,231天回本)、芯动T3+-57T(全新现货9690元,268天回本)、蚂蚁S17Pro-56T(全新现货12500元,311天回本)、阿瓦隆1066-50T(全新现货6300元,214天回本)。[2020/2/14]
PineconeFarm合约的deposit()函数:
在上述代码中,PineconeFarm将存入的PCT质押到IPineconeStrategy合约中获取收益。通过使用BSC的vm?trace工具,可以发现这个IPineconeStrategy是一个VaultRabbitCake合约。PineconeFarm对用户份额share的计算会用到_wantAmt。而这个_wantAmt和下面的函数片段又有关联。
独家 | 欧科集团捐赠的十万套医用物资?将陆续抵达七家医院:金色财经报道,据欧科集团物资捐赠情况通报,欧科集团捐赠的十万套医用物资已经在运输途中,将陆续抵达武汉、咸宁、黄冈、鄂州、汉中、红安六个县市的七家医院。后续物资仍在采购中。金色财经此前报道,1月27日,欧科集团设立1000万元疫情防治专项基金,联合中华慈善总会共同支援一线防护工作。[2020/1/29]
策略合约的deposit()函数
从上述代码可以看出,在计算sharesAdded时,其分母是wantTotal,而wantTotal依赖balance()。balance是关联的总锁仓PCT余额。由于实际的PCT余额小于deposit传入的金额_wantAmt,这就会造成用户份额在计算时增加了。
独家 | 58同城APP上线虚拟货币“神奇矿”:金色财经报道,58同城APP已正式上线虚拟货币“神奇矿”。据悉,“神奇矿”是一个价值生态体系,是58app内的一种虚拟货币。用户可通过完成矿石任务获取矿石,并可在兑换期进行矿石提现。矿石、奖池、交易记录等一旦创建将是唯一、不可逆、不可修改的。用户的行为信息也将会被加密存储,并被严格的保密。用户获得的矿石及现金与用户58同城账户关联。如切换其他账户访问“神奇矿\"矿石及现金数据不会合并。[2019/11/18]
最后,当攻击者调用withdraw函数时,只要输入比deposit值大的参数就可以赎回超过质押数的PCT代币。
按照这个机制,黑客在攻击时,可以重复重复调用deposit和withdraw功能,从而导致合约质押的PCT损耗不断增加、资金池持有的PCT余额不断变小。然后在计算奖励时,由于使用资金池中的余额作为分母,而分母越小,则可额外领取的奖励就越多。
了解了代码的漏洞及相关机制后,我们再来看黑客诸多攻击中的一次攻击:
这次攻击中,黑客的地址为:0xfc6682db7e9f57882e8b18ebc9adc7a19f770494,其交易流程如下:
可以看出第一笔交易0xe446f质押了8.1万PCT,然后在0x76d33提取奖励时却提取了16万PCT。
我们继续查看withdraw交易的参数,可以看出传入amount值为22603495a2af5d0ccc34,将其转换为10进制数就是16万,远超质押金额8.1万。详细细节如下图所示:
从这次攻击的漏洞原因看,在转账时有损耗的代币在参与收益类项目时,存在较多的问题。因此灵踪安全提醒项目方要充分考虑损耗对收益计算的影响。
对此类问题,灵踪安全一直以来都会在审计时特别和项目方强调。另外我们也再次强调审计在项目中的重要性,希望项目方在项目上线前充分做好审计工作。
关于灵踪安全:
灵踪安全科技有限公司是一家专注区块链生态安全的公司。灵踪安全科技主要通过“代码风险检测+逻辑风险检测“的一体化综合方案服务了诸多新兴知名项目。公司成立于2021年01月,团队由一支拥有丰富智能合约编程经验及网络安全经验的团队创建。
团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569被以太坊团队正式收入。
团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目,并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。
作者:
灵踪安全CEO谭粤飞
美国弗吉尼亚理工大学(VirginiaTech,Blacksburg,VA,USA)工业工程硕士(Master)。曾任美国硅谷半导体公司AIBTInc软件工程师,负责底层控制系统的开发、设备制程的程序实现、算法的设计,并负责与台积电的全面技术对接和交流。自2011至今,从事嵌入式,互联网及区块链技术的研究,深圳大学创业学院《区块链概论》课程教师,中山大学区块链与智能中心客座研究员,广东省金融创新研究会常务理事?。个人拥有4项区块链相关专利、3本出版著作。
2021年夏天,区块链游戏的崛起,P2E模式的成功,让GameFi成为了当下最受关注的一个赛道。今年以来,NFT游戏项目发展迅猛,以AxieInfinity为代表的几款热门游戏交易量在六七月份迎来爆发式增长.
1900/1/1 0:00:00区块链建立起的“信任”及“规则”不仅能够适用于刑事、民事、行政等诉讼案件,也能在涉诉信访领域进行不断的验证。可以说,司法活动的“上线、上云、上链”已经初见端倪.
1900/1/1 0:00:00特别感谢来自投资机构MechanismCapital的DarylLau对本文的帮助。由于智能合约的差异,ArtBlocks和Cryptopunks不包括在本研究中.
1900/1/1 0:00:00DeFi数据 1.DeFi总市值:1236.68亿美元 DeFi总市值数据来源:Coingecko2.过去24小时去中心化交易所的交易量:35.2亿美元 过去24小时去中心化交易所的交易量数据来源:Debank3.
1900/1/1 0:00:00注:原文作者大卫马库斯是Diem协会的董事会成员,也是Diem的联合创始人,此前一直是Facebook金融科技部门的技术领导者。写这篇文章的重点是Novi和Facebook在行业中的潜力.
1900/1/1 0:00:00当卖家想出售供应量固定,且需求高(或不确定,可能高)的物品时,他们经常做出的一个选择是把价格设得比''市场将呈现“的低得多。结果是,该物品很快就卖完了,那些先购买的卖家是幸运的.
1900/1/1 0:00:00