2023년 3월 13일, DeFi 프로토콜 Euler Finance가 악용되어 여러 Tx에서 ~$197M 손실을 입었습니다. 약 34,224,863$USDC , 849$WBTC , 85,818$stETH 및 8,877,507$GIVE 도난 당했다.
오일러 파이낸스 소개
2020년 6월에 Euler는 Encode Club에서 주최한 Spark College Hackathon 온라인 대회에서 1위를 차지했습니다.
Euler는 초기에 Aave, Compound 및 기타 대출 프로토콜 위에 구축된 대출 프로토콜로, 사용자가 모든 ERC-20 토큰에 대한 자체 대출 시장을 만들 수 있도록 하는 동시에 거버넌스 개입을 줄이기 위한 반응 속도 모델을 제공합니다.
2021년 8월 오일러는 Paradigm이 주도하는 시리즈 A 펀딩에서 800만 달러를 받았습니다. 공식 웹사이트에서 Euler는 또한 6명의 감사자가 있으며 그들 중 누구도 치명적인 취약점을 발견하지 못했다고 밝혔습니다.
관련 정보
프로젝트 주소:
0x27182842e098f60e3d576794a5bffb0777e025d3
공격 Tx:
https://etherscan.io/tx/0xc310a0affe2169d1f6feec1c63dbc7f7c62a887fa48795d327d4d2da2d6b111d
https://etherscan.io/tx/0x47ac3527d02e6b9631c77fad1cdee7bfa77a8a7bfd4880dccbda5146ace4088f
https://etherscan.io/tx/0x71a908be0bef6174bccc3d493becdfd28395d78898e355d451cb52f7bac38617
https://etherscan.io/tx/0x62bd3d31a7b75c098ccf28bc4d4af8c4a191b4b9e451fab4232258079e8b18c4
https://etherscan.io/tx/0x465a6780145f1efe3ab52f94c006065575712d2003d83d85481f3d110ed131d9
https://etherscan.io/tx/0x3097830e9921e4063d334acb82f6a79374f76f0b1a8f857e89b89bc58df1f311
공격자:
0x5f259d0b76665c337c6104145894f4d1d2758b8c
0xb2698c2d99ad2c302a95a8db26b08d17a77cedd4
우리는 분석을 위해 하나의 tx를 사용합니다.
1. 해커는 처음으로 3천만 달러를 플래시론했습니다.$GIVE 두 개의 공격 계약을 만들었습니다. 0x583은 대출용이고 0xA03은 청산용입니다. 그런 다음 그는 차용 계약에 3억 달러를 예치했습니다.
2. 공격자는 19,568,124 eDAI를 얻기 위해 2천만 달러를 예치했습니다.
3. 그런 다음 공격자는 mint 기능을 호출하여 19,568,124개의 eDAI를 사용하여 195,681,243개의 eDAI(담보 자산)와 200,000,000개의 dDAI(채무 자산)를 빌려 eDAI 잔액을 10배로 확장했습니다.
4. 공격자는 나머지 10M DAI를 상환 기능을 통해 예치하고 195,681,243 eDAI와 200,000,000 dDAI를 다시 빌렸습니다.
5. 그런 다음 공격자는 donateToReserves 작업을 수행하여 100M eDAI를 소각하여 eDAI < 청산 조건에 도달한 dDAI.
6. 청산 계약은 차입 계약을 청산했습니다.
7. 공격자는 마침내 계약에서 3,890만 DAI를 모두 인출하고 3,000만 DAI를 AAVE에 반환하여 ~890만 $DAI의 수익을 냈습니다.
취약점 분석
Etoken 계약의 donateToReserves 기능은 사용자가 보유한 실제 토큰 수와 기부 후 사용자 원장의 건강 상태를 확인하지 못하여 공격자가 1억 개의 eDAI를 기부할 수 있게 되었습니다. 레버리지, 사용자는 실제로 3천만 DAI만 예치함). 기부 후 사용자 원장의 건강 상태가 청산 자격이 되어 대출 계약이 청산됩니다. 대출 계약은 eDAI 및 dDAI를 청산 계약으로 이전한 다음 청산합니다. 비정상적으로 많은 대손금으로 인해 청산 계약은 최대 할인으로 청산되어 청산 후 310.93M eDAI 및 259.31M dDAI가 됩니다. 이때 사용자는 건강이 회복되어 자금을 인출할 수 있으며, 인출 가능한 금액은 eDAI와 dDAI의 차이입니다. 하지만 풀에 있는 DAI는 38.9M DAI뿐이므로 해당 금액만 인출할 수 있습니다.
전반적으로 공격의 근본 원인은 Etoken 컨트랙트가 사용자가 실제 보유한 토큰 수와 기부 후 사용자 원장의 건강 상태를 제대로 확인하지 않아 공격자에게 기회를 제공한다는 것입니다.
자금 흐름
보도 시간 현재 80,080.98 ETH가 주소 0xb2698c2d99ad2c302a95a8db26b08d17a77cedd4에 보관되어 있습니다.
88,651.70 ETH와 43063733.27 DAI는 주소 0xb66cd966670d962C227B3EABA30a872DbFb995db에 보관되어 있습니다.
소수(100 ETH)만이 Tornado Cash로 이체되었습니다.
kyt.beosin.com에서 Beosin KYT를 사용해 보세요.
오일러의 영향을 받는 프로토콜은 무엇입니까?
0xScope에 따르면 Angle Protocol은 오일러에 1,760만 USDC를 보유하고 있습니다. 유휴 DAO는 오일러에 460만 USDC를 보유하고 있습니다. SwissBorg는 6,357 Ether와 170만 USDT를 오일러에 예치했습니다. 공격 후 SwissBorg는 손실을 완화하기 위해 신속하게 4,752cbETH를 빌렸지만 여전히 오일러에 약 426만 달러의 자산을 보유하고 있었습니다. 0x28a5 고래 주소와 czsamsun.eth는 프로토콜에서 각각 400만 달러와 274만 달러를 기록했습니다.
Yield aggregator Yearn은 Euler 공격에 직접 노출되지는 않았지만 일부 Yearn 금고가 해킹에 간접적으로 노출되었다고 트윗했습니다.
Idle Finance도 영향을 받았다고 트윗했습니다.
추천
1. 스마트 계약을 개발할 때 후속 기능 추가가 앞선 논리에 영향을 미치는지 확인하십시오.
2. 자산을 잘 확인하세요.