近日 FAIRWIN 智能合约存在漏洞这一问题引起各方关注,DAO 创始团队 Slock.it 发言人 Griff Green 发布推文提醒用户,去中心化博彩平台 FAIRWIN 智能合约中存在漏洞,很容易被黑帽发现,FAIRWIN 中的资金有风险,提醒用户警惕风险,应马上停止使用该合约。FAIRWIN 是一个去中心化博彩分红项目,其智能合约 Gas 消耗量排名前 5,是导致以太坊近期 Gas 消耗持续处于高度饱和状态的罪魁祸首之一。

FAIRWIN 作为近日以太坊链上交易量最高的资金盘模式应用,在以太坊链上还存在大量类似的克隆盘,如果存在隐藏漏洞会给公链带来较大风向,因此成都链安安全人员对 FAIRWIN 智能合约展开了深度分析,分析结果如下。

作者:成都链安,区块链安全公司

通过对 FAIRWIN 合约代码进行审计,我们发现其合约存在一个 remedy() 接口,如果合约 owner 没有通过 close() 关闭接口时,该接口可以被任意用户调用,并且可以通过这个接口伪造投注数据,实现「无中生有」,在不使用任何资金的情况下伪造了充值记录,之后攻击者便可以享受分红,或者通过 userWithDraw() 将余额全部提出。

通过链上记录,我们发现项目方已于 2019 年 7 月 28 日(合约上线第二天)通过 closeAct ()关闭了该接口。

成都链安:技术分析以太坊网络拥堵罪魁祸首 FAIRWIN 的智能合约

成都链安:技术分析以太坊网络拥堵罪魁祸首 FAIRWIN 的智能合约

通过成都链安 Beosin-AML 系统分析项目方所有的交易记录,我们进一步分析是否已经存在攻击者插入投注数据成功的情况。通过分析发现,该漏洞已被严重滥用。

从十天前到现在为止,陆续有账户尝试调用 remedy() 接口来插入投注数据,不过由于该操作已被关闭,导致插入数据失败,可以看到插入金额都是几万 ETH。

插入失败记录:

成都链安:技术分析以太坊网络拥堵罪魁祸首 FAIRWIN 的智能合约

成都链安:技术分析以太坊网络拥堵罪魁祸首 FAIRWIN 的智能合约

通过完整追溯,我们总共发现 503 条插入成功的交易记录(500 个地址),且插入日期都在项目方关闭接口之前。经统计,这 503 条交易全部由地址 0xcb104fA25a1a46040DBaB9F554FF564CE325668b 发起。

成都链安:技术分析以太坊网络拥堵罪魁祸首 FAIRWIN 的智能合约

成都链安:技术分析以太坊网络拥堵罪魁祸首 FAIRWIN 的智能合约

通过统计得出总共插入了 5093 个 ETH,其中包括 4711 个冻结 ETH,382 个未冻结 ETH。并且攻击者通过插入投注记录设置的 500 多个小号已经进行过提现操作。

成都链安:技术分析以太坊网络拥堵罪魁祸首 FAIRWIN 的智能合约

通过进一步分析其合约部署情况发现,在项目方关闭 actStu 的前一天,也就是 2019 年 7 月 27 日,项目方刚刚部署 FAIRWIN 合约,在短短一天时间不到之内,项目合约之内便无中生有了 5000 多个 ETH。

7 月 29 日,以太坊浏览器显示合约进行了开源。

成都链安:技术分析以太坊网络拥堵罪魁祸首 FAIRWIN 的智能合约