慢雾科技:DeFi协议Akropolis重入攻击简析
11 月 13 日, 据 CoinDesk 消息, Akropolis 协议遭受黑客攻击,损失约 200 万 DAI,慢雾安全团队已于当天第一时间介入分析,并将结论同步给了相关关心方。以下为慢雾安全团队对此事件的简要分析,供大家参考。
背景提要
Akropolis 是运行在 以太坊 上的借贷和存款协议,用户可以使用 Akropolis 进行借贷或在 Akropolis 存款收取借贷利息。
攻击流程简析
1. 攻击者使用自己创建的token 进行 deposit,此时 Akropolis 合约会先记录一次合约中所有代币的总量;
2. Akropolis 合约调用用户自己创建的 token 的 transferFrom 函数的时候,攻击者在 transferFrom 函数中重入 Akropolis 合约的 deposit 函数,并转入 DAI 到 Akropolis 合约中;
3. 此时在重入的交易中,由于 Akropolis 合约会先获取合约中所有代币的总量,这个值和第一次调用 deposit 函数获取的合约代币总量的值一致;
4. Akropolis 合约计算充值前后合约中代币总量的差值,攻击者在充值 DAI 后,会得到一定量的 Delphi token,获得 token 的数量就是充值 DAI 的数量;
5. 铸币完成后,流程回到第一次 deposit 往下继续执行,这时合约会再次获取合约中所有代币的总量,这时由于在重入交易时,攻击者已经转入一定量的 DAI,所以得到的代币总余额就是攻击者在重入交易完成后的代币总余额;
6. 此时合约再次计算差值,由于第一次 deposit 的时候合约中所有代币的总量已经保存,此时计算出来的差值和重入交易中计算的差值一致,Akropolis 合约再次铸币给攻击者。
总结
攻击者使用自己构造的 token ,对 Akropolis 合约的 deposit 函数进行重入,导致 Akropolis 合约使用相同的差值铸币了两次,但是只触发了一次转账,当攻击者提现的时候,就可以提两倍的收益,从而获利。
来源:慢雾科技
==
和11万人同时接收最新行情资讯
搜“鸵鸟区块链”下载
和2万人一起加入鸵鸟社群
添加微信ID:tuoniao02
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류 l 탈중앙화 자율조직 형태로 결성…구성원 모두가 위믹스3.0 운영에 참여 가능l 스마트 컨트랙트 기반 모듈화 ...
[주간톡톡] 양의 탈을 쓴 늑대는 양일까? 늑대일까?
주간톡톡은 한주간의 블록체인 소식을 재구성해 독자들과 재미있게 이야기해보는 코너입니다. 이번주는 페이스북의 스테이블 코인 프로젝트 '디엠(Diem)'에 대해 알아보겠습니다. 그럼 ...
IBM, 블록체인 와인 추적 서비스 '빈어슈어(Assure)' 공개
IBM이 재배지부터 매장까지 와인 공급망을 추적할 수 있는 블록체인 기반 플랫폼을 공개했다.10일(현지시간) 발표에 따르면 IBM은 와인 모니터링 업체 e프로브넌스(eProven...