被朋友Q到近期火热的羊毛事件,截止目前,不仅是黑客获利超20W刀,FTX损失108个ETH,合计有38名同样思路的攻击者部署合约发起攻击。
本文从技术维度出发,深入分析此利用FTX交易所免手续费提币的漏洞,结合智能合约回调发起的攻击方式,并通过样例代码复现实现原理。
由于FTX已经通过人工审计针对攻击者进行惩罚,该漏洞处于风险可控阶段。切勿尝试可能导致封号没收质押物。
1.1XEN是什么?
是近期大火的一个XEN币,到10-15为止已有超过120W笔交易,其实笔者对这类缺乏长期价值对Web3毫无建设性意义的项目一直没什么兴趣,因为他的机制就是只要发起的交易消耗了多少的GAS,就可以铸造出一定数量的XEN币,而众所周知Etherscan有针对gas消耗的排行榜
动态 | “Ripple取消OTC交易模式”疑似为解读错误,官方尚未宣布此消息:金色此前报道,推特账户XRP Research Center今日发推称:“Ripple将不再支持OTC模式的代币买卖,即机构购买者想要购买XRP同样需要在二级市场上购买XRP。经金色查询,目前Ripple官方目前还未发出取消OTC交易模式的公告。Twitter中提到的交易很有可能是在9月25日Bittrex与UPbit的合作关系破裂之后,双方之间进行的正常资金返还。[2019/10/30]
可以看到真正出色的项目往往由于服务用户多交易量大,所以gas消耗高排名靠前,仿佛成了另一种的应用商店热门榜单,而XEN一举通过“冲票“成了冠绝以太坊整个生态的Top1,且等于其他好项目的总和。
分析 | 2100ETH交易手续费事件不宜过分解读:据猎豹区块链安全中心舆情数据监控显示,2100ETH交易手续费事件引起了超过20余家主流媒体关注报道。猎豹区块链安全中心研究员对2月19日以太坊上的交易全面分析后发现,剔除这5笔异常交易后,平均交易手续费(总交易手续费/交易笔数)为0.000906ETH,约为0.13美元,与最近7日的数据相比没有明显异常。[2019/2/20]
可拓展阅读:当我们在看Etherscan的时候,到底在看什么?
钱包单笔转移gas消耗大于5W,且to地址是合约地址的交易。
下图为其中top10的攻击者,其交易数占总攻击数的80%,致使FTX手续费损失86个ETH
今晚8点袁煜明将做客《金色讲堂》 深入解读“什么是区块链思维”:今晚20:00,火币区块链应用研究院院长袁煜明将做客《金色讲堂》深入解读“什么是区块链思维”。袁煜明将从股份制的种种弊端出发对区块链的出现给行业所带来的改变进行一一讲解。同时,袁煜明还会对区块链机制目前所存在的问题进行全方位的解读。详情请关注今晚8:00的《金色讲堂》。[2018/4/10]
笔者通过对其交易的gas消耗总值核算后,得出FTX本次损失总值为:108.19个ETH
合计铸造出XEN约24亿个。按14号日常价格估算的话,则黑客总收益在24W美金以上
详细数据可<十四君>公众号后台输入”FTX与XEN”获得
韩国强监管信号解读:政府尚未形成统一意见:金色财经独家采访了韩国几大主流交易所负责人,他们向金色财经透露本次强监管信号的形成原因。其中提到,由于韩国近期比特币价格高于其他国家交易所,促使更多投机者进入韩国市场搬砖,这加大了外汇场外交易风险,为防止某些换汇公司铤而走险进行违法行为,故发布了此条公告。同时,据韩国相关人士透露,政府不同机构对加密货币的立场不一,法务部对加密货币态度最严格,其他政府部门虽强调了加密货币监管的重要性,但仍对其持开放态度。因此有专家认为,韩国政府部门的意见不统一,不会立即出台强监管政策。[2017/12/28]
2.1核心原理
智能合约的fallback/receive可任意执行逻辑。
任何一个合约都有默认的fallback函数,典型的功能就是让合约可以接收以太币并对其做出反应,这也是代币型合约用来拒绝转账、发出事件或转发以太币的典型模式。后来更多场景是应用在代理升级模式
总之就是,一笔指向合约地址的交易,如果没有匹配到对应执行的函数,就必然会执行fallback函数,而fallback可以将输入参数指向另一个合约地址,从而执行对应的逻辑。
参考:https://blog.soliditylang.org/2020/03/26/fallback-receive-split/
黑客先部署了一个攻击合约0xCba9b1
然后利用FTX的交易免费提币功能
让FTX的热钱包0xc098b2,发起了一笔指向攻击合约的提币
导致交易触发指向XEN合约的Mint函数调用
由于XEN合约可以设置Mint出代币的收益方,从而将代币转入黑客地址
2.3手法还原
其实任意fallback非常好触发,咱们通过现场手搓实现下,当然并不是MintXen,而是临时随意的一个20token来示意。
下文便是最简单的一个ERC20代币了,任何人均可执行mint函数,雷同于XEN了
对于ERC20/721实现原理可拓展阅读:你买的NFT到底是什么?
而攻击合约也很简单,设置写死要调用Mint的XEN合约地址以及黑客收益的地址。
可以看到实验中,对此攻击合约发起的任意一笔交易,即会触发了receive,且myAddr的GLD余额增加1e18个,当然并不能拿着这个代码就去复现黑客的实现了,因为要铸造更多的GEX还得增加工厂合约部署的逻辑,即能提高gas消耗也吻合XEG的mint管理。
3、总结-从攻击事件看“元交易”
其实如果不是黑客本身知道FTX有免费提币优惠,且其提币的交易的gasLimit设置为固定值50W,则很难发起这样的攻击,因为依据以太坊黄皮书,普通转账也仅仅需要2.1W的gas即可。
黑暗森林的web里知其雄守其雌,这样的攻击从历史进程来看,其实更有警示性意义
笔者想谈谈元交易的发展
元交易是来自于ChristianLundkvist教授在2015年的一个设想
如今上手Dapp实在是太麻烦了,以太坊生态若想普及,就应该允许新用户直接使用其功能,而不是先安排几座大山让用户翻山越岭。这意味着需要为新来的用户垫付Gas费用。当前的以太坊协议并没有提供原生方法来实现这一点。然而,得益于公/私密钥对,用户可以通过对元交易进行签名并证明所有权。
相信未来元交易终会成为应用主流,本次的FTX代付gas执行免费提币转账还只是元交易的某种小小实现,但只有安全无感才能迎接全民低成本上链时代的到来,为此安全与风控都需要特别注意,这也是笔者分析安全案件的初衷。
欢迎你从后台提交web3行业问题探讨
点赞关注十四,用技术视角带给你价值
周五(10月14日),SLRVRibbons和SLRVRatio都表明,BTC可能会从最终投降前的19,600美元水平进一步下跌。确定比特币表现的最常用的链上指标之一是其长期持有者的行为.
1900/1/1 0:00:00這是一般性公告,此處提及的產品和服務可能不適用於您所在的地區。親愛的用戶:“幣安賺幣”現已上線CLV、FLUX、WOO、OCEAN、OXT、OM、NULS、ATM活期理財產品,為用戶提供閒置數字.
1900/1/1 0:00:0010月17日消息,据Meta公司内部文件,Meta旗下元宇宙应用HorizonWorlds将无法达到公司内部业绩预期.
1900/1/1 0:00:00一位交易员建议,比特币市场参与者不应因情绪而采取行动,因为长期数据继续符合之前的熊市。比特币数据显示,在“一切照旧”的熊市中显示出教科书式的宏观触底迹象.
1900/1/1 0:00:00在美国发布CPI兑美元后,以太坊飙升。ETH在开始大幅上涨并超过1,300美元之前跌至1,200美元。以太坊削减了所有损失并回升至1,300美元阻力位上方.
1900/1/1 0:00:00?欢迎大家阅读学习,持续更新中,喜欢+关注观看更多内容~虽然大多数加密货币已经抛售,但狗狗币杀手ShibaInu的价格上涨了2%以上.
1900/1/1 0:00:00