Fantom链上复合收益平台GrimFinance遭遇闪电贷攻击,涉及损失资金超3000万美金。慢雾安全团队进行分析了攻击经过如下:
1.攻击者通过闪电贷借出WFTM与BTC代币,并在SpiritSwap中添加流动性获得SPIRIT-LP流动性凭证。
2.随后攻击者通过GrimFinance的GrimBoostVault合约中的depositFor函数进行流动性抵押操作,而depositFor允许用户指定转入的token并通过safeTransferFrom将用户指定的代币转入GrimBoostVault中,depositFor会根据用户转账前后本合约与策略池预期接收代币(预期接收want代币,本次攻击中应为SPIRIT-LP)的差值为用户铸造抵押凭证。
动态 | 慢雾安全团队:未来伴随攻击成本降低,51%攻击将快速增多:慢雾安全团队对ETC 51%攻击分析后称,鉴于近期区块链资金热度下降导致全网挖矿算力下降,可预见未来伴随攻击成本降低,此类攻击将快速增多。特别建议对当前有获利空间的币种增加风控机制,并公布一批恶意钱包地址及恶意关联地址,其中包括:Gate.io 钱包地址:0x0d0707963952f2fba59dd06f2b425ace40b492fe
Gate.io 给出疑似攻击者所拥有和操纵的 ETC 钱包地址:
0xb71d9CD39b68a08660dCd27B3EAE1c13C1267B10
0x3ccc8f7415e09bead930dc2b23617bd39ced2c06
0x090a4a238db45d9348cb89a356ca5aba89c75256
Bitrue 钱包地址:
0x2c9a81a120d11a4c2db041d4ec377a4c6c401e69
涉及矿工或者大户:
http://gastracker.io/addr/0x090a4a238db45d9348cb89a356ca5aba89c75256
http://gastracker.io/addr/0x07ebd5b21636f089311b1ae720e3c7df026dfd72[2019/1/9]
3.但由于depositFor函数并未检查用户指定转入的token的合法性,攻击者在调用depositFor函数时传入了由攻击者恶意创建的代币合约地址。当GrimBoostVault通过safeTransferFrom函数调用恶意合约的transferFrom函数时,恶意合约再次重入调用了depositFor函数。攻击者进行了多次重入并在最后一次转入真正的SPIRIT-LP流动性凭证进行抵押,此操作确保了在重入前后GrimBoostVault预期接收代币的差值存在。随后depositFor函数根据此差值计算并为攻击者铸造对应的抵押凭证。
分析 | 慢雾安全团队提醒|EOS假账号安全风险预警:根据IMEOS报道,EOS 假账号安全风险预警,慢雾安全团队提醒:
如果 EOS 钱包开发者没对节点确认进行严格判断,比如应该至少判断 15 个确认节点才能告诉用户账号创建成功,那么就可能出现假账号攻击。
攻击示意如下:
1. 用户使用某款 EOS 钱包注册账号(比如 aaaabbbbcccc),钱包提示注册成功,但由于判断不严格,这个账号本质是还没注册成功
2. 用户立即拿这个账号去某交易所做提现操作
3. 如果这个过程任意环节作恶,都可能再抢注 aaaabbbbcccc 这个账号,导致用户提现到一个已经不是自己账号的账号里
防御建议:轮询节点,返回不可逆区块信息再提示成功,具体技术过程如下:
1. push_transaction 后会得到 trx_id
2. 请求接口 POST /v1/history/get_transaction
3. 返回参数中 block_num 小于等于 last_irreversible_block 即为不可逆[2018/7/16]
4.由于攻击者对GrimBoostVault合约重入了多次,因此GrimBoostVault合约为攻击者铸造了远多于预期的抵押凭证。攻击者使用此凭证在GrimBoostVault合约中取出了远多于之前抵押的SPIRIT-LP流动性凭证。随后攻击者使用此SPIRIT-LP流动性凭证移除流动性获得WFTM与BTC代币并归还闪电贷完成获利。
金色独家 慢雾安全团队:有至少6种途径导致 EOS 私钥被盗:针对 EOS 私钥被盗事件,金色财经特邀请慢雾安全团队对此事进行解读,慢雾安全团队表示:EOS 投票关键期频发私钥被盗问题,慢雾安全团队综合 Joinsec Red Team 攻防经验及地下黑客威胁情报分析,可能的被盗途径有:
1、使用了不安全的映射工具,映射使用的公私钥是工具开发者(攻击者)控制的,当 EOS 主网上线后,攻击者随即 updateauth 更新公私钥;
2、映射工具在网络传输时没有使用 SSL 加密,攻击者通过中间人的方式替换了映射使用的公私钥;
3、使用了不安全的 EOS 超级节点投票工具,工具开发者(攻击者)窃取了 EOS 私钥;
4、在不安全的 EOS “主网”、钱包上导入了私钥,攻击者窃取了 EOS 私钥;
5、用户存储私钥的媒介不安全,例如邮箱、备忘录等,可能存在弱口令被攻击者登录窃取到私钥;
6、在手机、电脑上复制私钥时,被恶意软件窃取。
同时,慢雾安全团队提醒用户自查资产,可使用公钥(EOS开头的字符串)在 https://eosflare.io/ 查询关联的账号是否无误,余额是否准确。如果发现异常并确认是被盗了,可参考 EOS 佳能社区 Bean 整理的文档进行操作 https://bihu.com/article/654254[2018/6/14]
此次攻击是由于GrimBoostVault合约的depositFor函数未对用户传入的token的合法性进行检查且无防重入锁,导致恶意用户可以传入恶意代币地址对depositFor进行重入获得远多于预期的抵押凭证。
慢雾安全团队建议:对于用户传入的参数应检查其是否符合预期,对于函数中的外部调用应控制好外部调用带来的重入攻击等风险。
参考攻击交易:https://ftmscan.com/tx/0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。