宇宙链 宇宙链
Ctrl+D收藏宇宙链

项目方遇见「打桩机」?被攻击约40次损失170万美元

作者:

时间:1900/1/1 0:00:00

2022年3月13日,成都链安链必应-区块链安全态势感知平台舆情监测显示,Paraluni合约遭受攻击,损失约170万美元,成都链安技术团队对此事件进行了相关分析。

#1总述

我们以第一笔攻击交易0xd0b4a1d4964cec578516bd3a2fcb6d46cadefe1fea5a2f18eec4c0a496e696f9为例:

地址列表

攻击地址:

0x94bC1d555E63eEA23fE7FDbf937ef3f9aC5fcF8F

Bittrex Global CFO/COO Stephen:在加密货币世界,代币持有人可以和项目方进行更多互动:10月27日至28日,火币“无限未来——2020年区块链大航海时代”行业峰会暨火币集团七周年线上峰会正式举行。

在峰会“如何判定项目价值,市场价值和应对市场风险”圆桌讨论中,Bittrex Global CFO/COO Stephen Stonberg分享观点:加密货币领域有一个独特的创新之处,就是项目的用户通常是代币的持有人,代币持有人可以和项目方进行很多互动。但是,对比传统互联网,像Facebook、Twitter、Google等这些通过股市风投和大股东等传统渠道获得融资的尔科技巨头,这类传统大互联网企业经常被曝出监控和盗取用户数据的丑闻,作为普通用户的我们是无法约束这些大公司的行为的,因为他们对企业没有实际控制权,也就无需对这些普通用户负责。但是在去中心化领域,上述问题就会少得多。[2020/10/28]

攻击合约:

KuCoin公布异常转账处理进展:已与多家交易所和项目方取得联系:库币KuCoin交易所发布关于异常转账的处理进展:1.Tether冻结2000万从KuCoin提取的以太坊链上USDT,以及Omni上的100万USDT和Tron上的100万USDT;2.交易所Bibo和Bitrue将帮助KuCoin追踪相关资金,另外,目前,KuCoin已与币安、火币、OKEx、Bybit、Upbit、Bibox、Gate、MXC、BitMax等22家交易所取得联系;3.当前的可疑地址有8个,分别为ETH地址0xeb31973e0febf3e3d7058234a5ebbae1ab4b8c23、BTC地址1NRsEQRg5EjmJHbPUX7YADVPcPzCQBkyU7、LTC地址LQtFoidy5TmLrPP77MZzgMRffqPsmRfMXE以及XRP、BCHSV、XLM、USDT和TRX等地址;4.KuCoin将持续与相关项目合作伙伴保持联系。VeloLabs将会重新部署并替换受到影响的VELO代币。VIDTDatalink将冻结已转移到可疑地址的VIDT代币。SilentNotary宣布将重新发行新的SNTR,并更换所有受影响的代币;5.KuCoin目前已暂停ALEPH/USDT、TRAC/ETH、TRAC/BTC、BEPRO/USDT、BEPRO/BTC、PLT/ETH、PLT/USDT等多个交易服务。[2020/9/27]

0x4770b5cb9d51EcB7AD5B14f0d4F2cEe8e5563645

开发者:目前发现在UNISWAP非项目方用户创建了rSOV假币对:soviet.finance开发者Comrade Ivan发推称,目前发现在UNISWAP非项目方用户创建了rSOV假币对,且已经有受害者进行交易。他提醒广大用户rSOV不会有交易对,仅作为项目治理代币SOVIET流动性挖矿开启后的一号池质押挖矿用途。

另外,该地址中还有大量的Moonswap、CRUST、TON、高尔夫、阻尼、SYFI等假币。Comrade Ivan已知会相关项目方。请大家使用UNISWAP时,一定要反复核对智能合约地址,谨防上当受。[2020/9/21]

ParaProxy:

库币CEO Johnny:交易所上币不应将用户和项目方置于风险之中:库币CEO Johnny Lyu在推特上表示:“交易所上币应该力争实现双赢,不应将用户和项目方置于风险之中,这是交易所的底线。库币与波卡合作密切,将按照与波卡团队约定的时间推进DOT的上币事宜”。此前,波卡创始人Gavin Wood曾在推特发文指责部分“不道德的交易所”提前上线新DOT代币,将项目方置于风险之中。据库币交易所公告,库币将在8月22日Polkadot (DOT) 面额拆分完成后上线DOT,并支持DOT/USDT、DOT/BTC交易服务,面额拆分后的新DOT面额将会比旧DOT小100倍。[2020/8/20]

0x633Fa755a83B015cCcDc451F82C57EA0Bd32b4B4

ParaImpl:

0xA386F30853A7EB7E6A25eC8389337a5C6973421D(MasterChef)

UGT:

0xbc5db89CE5AB8035A71c6Cd1cd0F0721aD28B508

UBT

0xcA2ca459Ec6E4F58AD88AEb7285D2e41747b9134

1.向CakeSwap(0x7EFaEf62)中通过闪电贷借贷224BSC-USD,224BUSD

2.把第1步借到的代币向Para-LP(0x3fD4FbD7)中添加流动性,并将获得的222枚流动性代币的接收地址指定为UBT(0xcA2ca459)地址,这一步是为了后续的重入做准备。

图2重入攻击

4.此处原本正常的逻辑为:添加流动性,并将流动性代币存入pid为18的流动性抵押池,但是本函数在代码中并未检查添加的流动性token0、token1得到的流动性代币是否与pid对应的流动性代币地址一致,导致了攻击的发生。注意,并不是所有的流动性池抵押都有该风险,由于第2524行代码,pool的ticket需要为零地址才能够通过该检查。

但是攻击者通过控制执行逻辑,实际执行的逻辑为:第2505,2506行将攻击者指定的1枚UGT、1枚UBT代币转入ParaProxy合约。然后在第2535行代码用于添加流动性,并在第2537行检查添加的流动性代币数量。

此时,vars.oldBalance为初始流动性代币数量。攻击者为了通过第2537行的检查,在添加流动性的过程中,进行了重入攻击。由于在添加流动性时调用了攻击者构造的恶意代币的transferFrom函数,攻击者在transferFrom函数中才将流动性通过deposit函数存入ParaProxy合约。这也是第2步时攻击合约将流动性代币接收地址指定为UBT合约的原因所在。

在重入过程中,UBT合约存入了真正的LP代币222枚,并计入ParaProxy的账本中。在重入完成后,ParaProxy合约地址新增了222枚LP代币,ParaProxy合约将其视为攻击合约添加的LP,并计入账本中。至此,UBT合约和攻击合约都新增了222枚LP的存取记录。

#2总结建议

攻击者一共执行了约40次攻击,共获利约170万美元。截止发稿时,攻击者通过跨链协议将其转到以太坊网络中,并将其中的660枚ETH转入Tornado.Cash,另外5枚ETH转入了0xDd52CE617cAF1b7C8cEaCC111DE2f1c54E20C1b0地址。

本次攻击主要由合约代码中存在逻辑缺陷以及存在资金操作的关键函数未进行防重入导致。建议合约开发者在开发过程中进行完整的测试以及第三方审计,并养成使用Openzeppelin库的ReentrancyGuard合约来进行重入攻击的防范。

标签:USDPARPARAARAusdt币交易违法吗STARPARKPaparazziSHIBARAMEN币

抹茶交易所热门资讯
How to NFT 2:创建和交易NFT

在我们深入研究购买或创建NFT之前,我们首先需要回答一个问题:我们如何选择购买哪种NFT?购买NFT有很多主观原因,如美学、情感共鸣和社会价值。与所有有价值的物品一样,稀缺性也起着重要作用.

1900/1/1 0:00:00
HashKey Capital:全方位剖析NFT市场概况与应用场景

NFT是一个新兴的小众加密领域,2020年起愈发引人注目,越来越多的名人、高净值收藏家入场参与投资NFT产品,知名机构参与NFT项目的部署,NFT快速发展得益于DeFi的火爆,并成为了继DeFi之后链圈寄予厚望的未来方向之一.

1900/1/1 0:00:00
XT.COM關於支持PARA合約更換的公告

尊敬的XT.COM用戶:應PARA項目方要求,PARA將更換新的合約地址。新合約地址:https://etherscan.io/token/0xFb13dFC9f8f3EeDdD7C9b581D0D7Cf367513FF7CNexo对.

1900/1/1 0:00:00
庆祝推特100K 粉丝,限时迎新享1,000,000美元

尊敬的用户: 为庆祝BKEX官方推特粉丝数量突破100K,平台举行“庆祝推特100K粉,限时迎新享1,000,000美元”活动.

1900/1/1 0:00:00
STEPN(GMT)投入完成並開放交易

親愛的用戶:根據幣安Launchpad投入模式,幣安已完成STEPN代幣分配的計算,GMT代幣分配結果請至網頁申購頁面或APP客戶端查看.

1900/1/1 0:00:00
南非FSCA官员:发布针对加密交易所的警告是为了敦促其进行注册

3月8日消息,南非金融监管机构FSCA执法部门负责人BrandonTopham表示,该组织一直关注于该国运营的全球加密货币交易所,因为它们“提供以加密货币为基础或参考资产的衍生产品”.

1900/1/1 0:00:00