작성자: Doris@SlowMist 보안팀
배경
2024년 6월 10일 SlowMist MistEye 보안 모니터링 시스템의 모니터링에 따르면 EVM 체인에서 디지털 자산 대출 서비스를 제공하는 플랫폼인 UwU Lend가 공격을 받아 약 1,930만 달러의 손실을 입었습니다. SlowMist 보안팀은 해당 사건을 분석하고 그 결과를 다음과 같이 공유했습니다.
https://x.com/SlowMist_Team/status/1800181916857155761
관련 정보
공격자 주소:
0x841ddf093f5188989fa1524e7b893de64b421f47
취약한 계약 주소:
0x9bc6333081266e55d88942e277fc809b485698b9 공격 트랜잭션: 0xca1bbf3b320662c89232006f1ec6624b56242850f07e0f1dadbe4f69ba0d6ac3
0xb3f067618ce54bc26a960b660cfc28f9ea0315e2e9a1a855ede1508eb4017376
0x242a0fb4fde9de0dc2fd42e8db743cbc197ffa2bf6a036ba0bba303df296408b
코어를 공격하라
이 공격의 핵심은 공격자가 CurveFinance 풀에서 대규모 교환을 수행하여 sUSDE 토큰의 가격에 영향을 미치고, 조작된 가격을 사용하여 풀에 있는 다른 자산을 철수시키는 방식으로 가격 오라클을 직접 조작할 수 있다는 것입니다.
공격 과정
1. 플래시론은 자산을 빌려 USDE 가격을 하락시킵니다. 공격자는 먼저 플래시론을 통해 대량의 자산을 빌린 후 빌린 USDE 토큰 중 일부를 sUSDE 가격에 영향을 줄 수 있는 Curve 풀의 다른 토큰으로 교환합니다.
2. 대량의 대출 포지션 생성: 현재 sUSDE 가격이 급락하는 상황에서 다른 기본 토큰을 예치하여 대량의 sUSDE 토큰을 대출해 보세요.
3. 오라클을 다시 조작하여 sUSDE 가격 인상: 이전 Curve 풀에서 역교환 작업을 수행함으로써 sUSDE 가격이 빠르게 상승했습니다.
4. 부채 포지션의 대규모 청산: sUSDE의 가격이 급격하게 상승함에 따라 공격자는 uWETH를 얻기 위해 이전에 빌린 포지션을 대량으로 청산할 수 있었습니다.
5. 남은 sUSDE를 예치하고 계약 내 다른 기본 토큰을 대출합니다. 공격자는 수익을 위해 더 많은 기초 자산 토큰을 대출하기 위해 현재 고가의 sUSDE를 다시 예치합니다.
공격자는 주로 sUSDE의 가격을 반복적으로 조작하여, 가격이 낮을 때 많은 금액을 빌리고, 가격이 높을 때 수익을 내기 위해 청산 및 재담보대출을 하는 것을 어렵지 않게 볼 수 있습니다. 우리는 sUSDE의 가격을 계산하는 오라클 계약 sUSDePriceProviderBUniCatch에 대한 후속 조치를 취했습니다.
공격자는 주로 sUSDE의 가격을 반복적으로 조작하여, 가격이 낮을 때 많은 금액을 빌리고, 가격이 높을 때 수익을 내기 위해 청산 및 재담보대출을 하는 것을 어렵지 않게 볼 수 있습니다. 우리는 sUSDE의 가격을 계산하는 오라클 계약 sUSDePriceProviderBUniCatch에 대한 후속 조치를 취했습니다.
sUSDE의 가격은 먼저 CurveFinance의 USDE 풀과 UNI V3 풀에서 USDE 토큰 11개의 서로 다른 가격을 얻은 다음 이러한 가격을 기준으로 중앙값을 정렬하고 계산하여 결정된다는 것을 알 수 있습니다.
여기 계산 로직에서는 곡선 풀의 실시간 현물 가격을 얻기 위해 get_p 함수를 사용하여 5 USDE의 가격을 직접 얻습니다. 이를 통해 공격자는 한 번의 거래 내에서 많은 금액을 교환하여 중간 가격에 직접적인 영향을 미칠 수 있습니다. 숫자 계산 결과.
미스트트랙 분석
온체인 추적 도구인 MistTrack의 분석에 따르면, 공격자 0x841ddf093f5188989fa1524e7b893de64b421f47은 이 공격으로 ETH, crvUSD, bLUSD 및 USDC 통화를 포함해 약 1,930만 달러의 수익을 올렸습니다. 이후 ERC-20 토큰은 ETH로 교환되었습니다.
공격자 주소의 처리 수수료를 추적한 결과 해당 주소의 초기 자금은 Tornado Cash에서 이체된 0.98 ETH에서 나온 것으로 나타났습니다. 이후 해당 주소도 Tornado Cash로부터 5개의 자금을 받은 것으로 나타났습니다.
트랜잭션 맵을 확장해 보면 공격자는 1,292.98 ETH를 주소 0x48d7c1dd4214b41eda3301bca434348f8d1c5eb6으로 전송한 것으로 나타났습니다. 공격자는 나머지 4,000 ETH를 주소 0x050c7e9c62bf991로 전송했습니다. 841827f377 45ddadb563feb70, 이 주소의 현재 잔액은 4,010입니다 ETH.
MistTrack은 해당 주소를 차단했으며 도난당한 자금의 이체를 계속 모니터링할 것입니다.
요약하다
이 공격의 핵심은 공격자가 가격 오라클의 호환성 결함을 이용하여 현물 즉시 가격과 중간 계산 가격을 직접 획득하여 sUSDE 가격을 조작함으로써 심각한 가격 차이의 영향으로 대출 및 청산을 수행하여 획득한다는 것입니다. 예상치 못한 이익. SlowMist 보안팀은 유사한 사고가 다시 발생하지 않도록 프로젝트 팀이 가격 오라클의 조작 방지 기능을 강화하고 보다 안전한 오라클 가격 공급 메커니즘을 설계할 것을 권장합니다.
모든 댓글