본문 바로가기
디파이(DeFi) & 암호화폐 금융(CeFi)

bZx 공격사태 정리 (bZx Attack Case Study)

by Seth JEONG 2020. 9. 16.

 

bZx 1차공격 (Fulcrum)

 

일시 : 2월 14일

피해규모 : 1,271 ETH

과정 :

 

  1. 플래시론에서 10000 ETH 대출 (dYdX)
  1. 5500 ETH 컴파운드 담보 → 112wBTC
  1. 1300 ETH Fulcrum으로 이동. ETHBTC 5x 레버리지
  1. 5637 ETH를 51wBTC로 교환 (카이버네트워크) → 유니스왑 wBTC가격 3배 펌핑
  1. 컴파운드 112wBTC를 유니스왑에서 6871 ETH로 교환
  1. 남은것 - 3200 ETH(안쓴것-추정), 6871 ETH, 51wBTC (약 1200ETH)
  1. 10000 ETH 상환(플래시론)
  1. 1271 ETH 차액

 

해커는 71 ETH 아비트리지 수익 + 51wBTC 펌핑 차익까지 챙김

 

원인 (취약점)

1. 오라클

2. bZx 오류

 

 

bZx 2차 공격

 

일시 : 2월 18일

피해규모 : 2,379 ETH

 

과정 :

 

  1. 플래시론에서 7,500 ETH 대출 (bZx)
  1. 3,517 ETH 민트 → $940,000 sUSD (신테틱스)
  1. 900 ETH 카이버, 유니스왑에서 sUSD $2.30까지 펌핑
  1. $940,000 sUSD 사용해서 6,796 ETH 대출
  1. 잔고 - 3,087 ETH(미사용-추정) + 6,796 ETH = 9,883 ETH
  1. 플래시론 상환
  1. 2,379 ETH 차액

 

 

bZx 대응

 

1.두번의 공격 모두, 공격이 시행되고 Fulcrum의 가동을 멈추고 스마트 컨트랙트를 고침

2.보험 펀드가 있어 일반 유저 피해금액은 없음. 하지만 이후 예치 금액이 확 빠졌지만, 이자율이 상승하면서 다시 회복.

3.화요일, 3단계 오라클 시스템을 발표 = 체인링크 + 밴드 프로토콜 + 유니스왑https://kr.coinness.com/news/584838

 

 

플래시 론(Flash Loan)

 

해킹에 사용된 시스템. 오직 스마트컨트랙트로만 존재할 수 있는 대출(Loan)이다. 원하는 만큼 암호화폐를(무제한!) 빌려준다. 이더리움 트랜잭션이 컨펌되기 전까지 대출금이 돌아오지 않으면, 스마트컨트랙트상 모든 트랜잭션이 취소 되거 "없던 대출"이 된다. (특이하게 빌려주는 사람 입장에서 Zero-Risk Loan)

 

우리가 생각하는 대출의 개념이 아니라, 스마트 컨트랙트 상으로만 존재하는 Loan의 형태. 따라서 중앙화 플랫폼에선 사용이 불가능하고, 컨트랙트 상에서 자산을 주고받을 수 있는 디파이에서 활용이 가능합니다. 블록이 생성되기 전 빌린 암호화폐 만큼 갚지 못하면, 플래시 론 자체가 취소된다. 따라서 천문학적인 금액을 빌리는 것도 가능하다.

 

dYdX와 Aave가 플래시론을 지원한다. (해킹당시) dYdX는 fee가 없고, Aave는 0.09%.

 

신테틱스

https://www.decenter.kr/NewsView/1VS5BZS9TU

Aave

https://defiprime.com/aave

 

+현재 플래시론은 차익거래/해킹 공격 외에도 Black Swan으로 인해 발생한 가격 급변 사태를 방어하는데도 활용된다.

 

 

참고 자료

 

https://www.youtube.com/watch?v=B0HBp4-ulck

https://www.meter.io/bzx-attacks/

https://medium.com/dragonfly-research/flash-loans-why-flash-attacks-will-be-the-new-normal-5144e23ac75a

https://dstreet.io/news/view-detail?id=N20200304180313039835

https://news.joins.com/article/23712277