SharkTeam: Sonne 금융 공격 사건 분석

avatar
SharkTeam
11개월 전
이 글은 약 1533자,전문을 읽는 데 약 2분이 걸린다
Sonne Finance 공격에 대한 기술적 해석.

2024년 5월 15일 Sonne Finance가 공격을 받아 프로젝트에서 미화 2천만 달러 이상의 손실을 입었습니다.

SharkTeam: Sonne 금융 공격 사건 분석

SharkTeam은 이 사건에 대해 즉각적으로 기술적 분석을 실시하고 보안 예방 조치를 요약했습니다. 후속 프로젝트가 이로부터 교훈을 얻어 블록체인 업계의 보안 방어선을 공동으로 구축할 수 있기를 바랍니다.

1. 공격 거래 분석

공격자: 0xae4a7cde7c99fb98b0d5fa414aa40f0300531f43

공격 계약: 0x02fa2625825917e9b1f8346a465de1bbc150c5b9

대상 계약: 0xe3b81318b1b6776f0877c3770afddff97b9f5fe5

공격 트랜잭션: 0x9312ae377d7ebdf3c7c3a86f80514878deb5df51aad38b6191d55db53e42b7f0

공격 과정은 다음과 같습니다.

1. 35, 569, 150 VELO를 플래시 대출하고 이 VELO 토큰을 soVELO 계약으로 이전합니다.

SharkTeam: Sonne 금융 공격 사건 분석

직접 이체(기부)이기 때문에 soVELO 토큰은 발행되지 않습니다. 따라서 soVELO 계약에서 totalCash는 35, 569, 150VELO만큼 증가했으며 soVELO의 totalSupply는 변경되지 않았습니다.

2. 공격자는 새 계약 0xa16388a6210545b27f669d5189648c1722300b8b를 생성하고 새 계약에서 대상 계약에 대한 공격을 시작합니다. 공격 프로세스는 다음과 같습니다.

SharkTeam: Sonne 금융 공격 사건 분석

(1) 2 soVELO를 새로운 계약으로 이전

(2) soWETH, soVELO를 담보로 선언

(3) soWETH 265, 842, 857, 910, 985, 546, 929 WETH에서 차입

SharkTeam: Sonne 금융 공격 사건 분석

위의 빌림 함수 실행 프로세스에서 getAccountSnapshot 함수의 반환 값을 기반으로 다음을 발견했습니다.

soWETH 계약의 경우 신규 계약잔액은 0, 대출금액은 0, 환율(exchangeRate)은 208, 504, 036, 856, 714, 856, 032, 085, 073 입니다.

soVELO 계약의 경우 신규 계약 잔액은 2, 즉 soVELO의 2wei가 담보로 잡혀 있고 대출금액은 0이며 환율(exchangeRate)은 17, 735, 851, 964, 756, 377, 265이며, 143, 988, 000, 000, 000, 000, 000, 000

exchangeRate는 다음과 같이 계산됩니다.

SharkTeam: Sonne 금융 공격 사건 분석

soVELO 1wei를 담보로 설정하면 17, 735, 851, 964, 756, 377, 265, 143, 988 VELO까지 빌릴 수 있으며 265, 842, 857, 910, 985, 546, 929 WETH를 빌릴 수 있습니다. 최소 265, 842, 857, 910, 985, 546, 929 soWETH를 모기지해야 합니다.

soWETH의 가격: soWETHPrice = 2, 892, 868, 789, 980, 000, 000, 000,

soVELO 가격: soVELOP가격 = 124, 601, 260, 000, 000, 000

soVELO가 1wei 모기지로 빌릴 수 있는 WETH 금액은 다음과 같습니다.

1 * exchangeRate * soVELOPrice / soWETHPrice = 763, 916, 258, 364, 900, 996, 923

약 763WETH. soVELO 담보 1wei만으로도 이 대출을 지원할 수 있습니다.

265, 842, 857, 910, 985, 546, 929 WETH(약 265 WETH)를 차입하면 담보로 필요한 soVELO의 최소 금액은 다음과 같습니다.

265, 842, 857, 910, 985, 546, 929 * soWETHPrice / soVELOPrice / exchangeRate = 0.348

즉, soVELO 담보 1wei이면 충분합니다.

실제로 soVELO 담보 2wei는 1wei만 차입하는데 사용되었습니다.

(4) 기초 자산 즉 35, 471, 603, 929, 512, 754, 530, 287, 976 VELO를 상환합니다.

SharkTeam: Sonne 금융 공격 사건 분석

exchangeRate = 17, 735, 851, 964, 756, 377, 265, 143, 988, 000, 000, 000, 000, 000, 000

35, 471, 603, 929, 512, 754, 530, 287, 976 VELO를 상환하는 데 필요한 soVELO 담보 금액은 다음과 같습니다.

35, 471, 603, 929, 512, 754, 530, 287, 976 * 1 e 18 / 교환율 = 1.99999436

계산 시 반올림 대신 잘림을 사용하므로 실제 계산된 필수 담보는 1wei의 soVELO입니다.

실제 담보는 soVELO 2 wei이며, 그 중 1 wei는 위의 265 WETH 대출에 사용되고 나머지 1 wei는 35 M VELO 상환에 사용됩니다.

(5) 빌린 265 WETH와 상환된 35 M VELO를 공격 계약으로 이체

3. 3회(총 4회) 반복하여 새로운 계약을 생성하고 공격을 반복합니다.

4. 마지막으로 플래시론을 상환합니다.

SharkTeam: Sonne 금융 공격 사건 분석

2. 취약점 분석

위 공격에서는 두 가지 취약점이 악용되었습니다.

(1) 기부 공격: VELO 토큰을 soVELO 계약으로 직접 전송(기부)하고 exchangeRate를 변경하여 공격자가 1 wei soVELO를 담보로 약 265 WETH를 빌려줄 수 있습니다.

(2) 계산 정확도 문제: 계산 과정 중 정확도 손실과 수정된 exchangeRate를 사용하면 1 wei soVELO 담보로 35M VELO를 상환할 수 있습니다.

3. 안전 제안

이 공격에 대응하여 우리는 개발 과정에서 다음과 같은 예방 조치를 따라야 합니다.

(1) 프로젝트의 설계 및 개발 과정에서 논리의 무결성과 엄격함이 유지되어야 하며, 특히 보증금, 담보, 상태 변수 업데이트 문제, 곱셈과 나눗셈 계산 결과의 트레이드오프 문제가 중요합니다. 계산 과정에서는 가능한 한 많은 상황을 고려하여 논리가 완전하고 허점이 없도록 해야 합니다.

(2) 프로젝트가 온라인으로 진행되기 전에 제3자 전문 감사 회사를 통해 스마트 계약 감사를 수행해야 합니다.

회사 소개

SharkTeam의 비전은 Web3 세계를 보호하는 것입니다. 이 팀은 블록체인 및 스마트 계약의 기본 이론에 능숙한 전 세계의 숙련된 보안 전문가와 수석 연구원으로 구성되어 있습니다. 위험 식별 및 차단, 스마트 계약 감사, KYT/AML, 온체인 분석 등을 포함한 서비스를 제공하며 지능형 지속 위협(Advanced Persistant Threat, Advanced Persistant Threat)에 효과적으로 대처할 수 있는 온체인 지능형 위험 식별 및 차단 플랫폼 ChainAegis를 만들었습니다. 지속적인 위협), APT). Polkadot, Moonbeam, Polygon, Sui, OKX, imToken, Collab.Land, TinTinLand 등 Web3 생태계의 다양한 분야의 주요 플레이어와 장기적인 협력 관계를 구축했습니다.

공식 홈페이지: https://www.sharkteam.org

트위터: https://twitter.com/sharkteamorg

텔레그램: https://t.me/sharkteamorg

디스코드: https://discord.gg/jGH9xXCjDZ

창작 글, 작자:SharkTeam。전재 / 콘텐츠 제휴 / 기사 요청 연락처 report@odaily.email;违규정 전재 법률은 반드시 추궁해야 한다.

ODAILY는 많은 독자들이 정확한 화폐 관념과 투자 이념을 수립하고 블록체인을 이성적으로 바라보며 위험 의식을 확실하게 제고해 달라고 당부했다.발견된 위법 범죄 단서에 대해서는 관련 부서에 적극적으로 고발하여 반영할 수 있다.

추천 독서
편집자의 선택