배경
5월 22일, 커뮤니티 소식통에 따르면 SUI 생태계의 유동성 공급자인 세터스가 공격을 받은 것으로 의심되며, 유동성 풀의 깊이가 크게 떨어지고 세터스에서 여러 토큰 쌍이 하락하여 약 3억 3천만 달러의 손실이 발생한 것으로 추산됩니다. 세터스는 약 2억 3천만 달러 이상의 손실을 입은 것으로 추정됩니다. 이후 세터스는 공지를 통해 "프로토콜에서 사고를 감지했으며, 보안상의 이유로 스마트 컨트랙트가 일시적으로 중단되었습니다. 현재 팀에서 사건을 조사 중입니다. 조만간 조사에 대한 추가 성명을 발표할 예정입니다."
사고가 발생한 후 Slow Mist 보안팀은 가장 먼저 분석에 착수하여 보안 경보를 발령했습니다. 다음은 공격 기법과 자금 이체 과정에 대한 자세한 분석 내용입니다.
(https://x.com/CetusProtocol/status/1925515662346404024)
관련 정보
공격 거래 중 하나:
https://suiscan.xyz/mainnet/tx/DVMG3B2kocLEnVMDuQzTYRgjwuuFSfciawPvXXheB3x
공격자 주소:
0xe28b50cef1d633ea43d3296a3f6b67ff0312a5f1a99f0af753c85b8b5de8ff06
공격받은 풀의 주소:
0x871d8a227114f375170f149f7e9d45be822dd003eba225e83c05ac80828596bc
관련 토큰:
haSUI / SUI
공격 분석
이 사건의 핵심은 공격자가 오버플로우가 발생하도록 매개변수를 정교하게 구성했지만 탐지를 우회할 수 있고 궁극적으로 아주 적은 양의 토큰으로 엄청난 양의 유동성 자산으로 교환할 수 있다는 것으로, 구체적인 분석 단계는 다음과 같습니다:
(공격 타이밍 다이어그램)
1.공격자는 먼저 라이트닝 대출을 통해 10,024,321.28하스유를 대출하여 풀 가격이 에서 증가하게 됩니다; 18,956,530,795,606,879,104에서 18,425,720,184762886, 즉 99.90%의 가격 하락으로 급락합니다.
2. . 공격자는 유동성 포지션을 열기 위해 매우 좁은 가격 범위를 신중하게 선택했습니다.
틱 하한가: 300,000 (가격: 60,257,519,765,924,248. 467,716,150)
틱 상한가: 300200 (가격: 60,863,087,478,126,617,965,993,239)
틱 상한가: 300200 (가격: 60,863,087,478,478,126,617,965,993,239)
가격 범위 폭: only 1.00496621%
3.공격자가 10,365,647,984를 추가하겠다고 선언하는 것이 이 공격의 핵심입니다. 364,446,732,462,244,378,333,008개의 엄청난 유동성 단위이지만, 허점으로 인해 시스템은 단 하나의 토큰 A만 수집했습니다.
세분화해서 살펴봅시다. 공격자가 어떻게 1토큰을 엄청난 양의 유동성과 교환할 수 있었을까요? 핵심적인 이유는 get_delta_a 함수의 오버플로 감지 우회 취약점인 checked_shlw 에 있습니다. 공격자는 이 취약점을 악용하여 시스템이 실제 필요한 수치를 계산할 때 심각한 편차를 추가하도록 만들었습니다. 오버플로우가 감지되지 않았기 때문에 시스템은 필요한 haSUI의 양을 잘못 판단하여 공격자가 매우 적은 양의 토큰으로 많은 양의 유동 자산을 교환할 수 있게 되어 공격이 가능했습니다.
시스템이 이렇게 엄청난 양의 유동성을 추가하기 위해 필요한 의 양을 계산할 때:

여기서 핵심은 다음과 같습니다. checked_shlw; 함수의 구현에 심각한 결함이 있다는 것입니다. 그러나 이러한 값이 64비트씩 왼쪽으로 이동하면 결과는 표현을 넘어서게 되고, 이 시점에서 더 높은 데이터가 잘려서 얻은 결과가 이론적 값보다 훨씬 작아집니다. 이러한 방식으로 시스템은 후속 계산에 필요한 haSUI의 양을 과소평가합니다.

: 왼쪽;">공격자가 중간 값 유동성 * sqrt_price_diff = 6277101735386680763835789423207666908085499738337898853712:

4. 마지막으로 공격자는 엄청난 토큰 이익을 위해 유동성을 제거합니다:
첫 번째 제거: 10,024,321.28 haSUI 획득
두 번째 제거: 1 1 haSUI 획득
두 번째 제거: 1 haSUI 획득
세 번째 제거: 1 haSUI 획득
세 번째 제거: 얻은 10,024,321.28 haSUI
<섹션><섹션><섹션>

5. 공격자는 플래시 크레딧을 반환하여 약 10,024,321.28 haSUI와 5,765,124.79 SUI를 얻고 공격이 완료됩니다.
프로젝트 측 수정
공격 후 Cetus는 수정 패치를 릴리스했습니다. 구체적인 수정 코드는 다음 링크에서 확인할 수 있습니다: https://github.com/CetusProtocol/integer-mate/pull/7/files#diff- c04eb6ebebbabb80342cd953bc63925e1c1cdc7ae1fb572f4aad240288a69409.
수정된 
수정 참고:
미스트트랙 분석
분석에 따르면, 공격자는; 0xe28b50cef1d633ea43d3296a3f6b67ff0312a5f1a99f0af753c85b8b5de8ff06은 SUI, vSUI, USDC 등 다양한 자산을 포함하여 약 2억 3천만 달러를 획득했습니다.
공격자가 이틀 전에 <가스 요금>을 준비한 후 공격 전에 시도했지만 실패한 것으로 나타났습니다.
< img data-imgfileid="100018600" data-ratio="0.35462962962962963" data-s="300,640" data-src="https://mmbiz.qpic.cn/mmbiz_jpg/ qsQ2ibEw5pLZ8tkWO0J94VVLZ6EEmo6yib3MUJWMsJ037UeVvfFDkEZ1qNT5DaiaKXGu3FPuZo3Hwo7VMibmNEt63w/640?wx_fmt=jpeg&from=appmsg" data- type="jpeg" data-w="1080" type="block" data-original-="" data-index="7" src="https://mmbiz.qpic.cn/mmbiz_jpg/ qsQ2ibEw5pLZ8tkWO0J94VVLZ6EEmo6yib3MUJWMsJ037UeVvfFDkEZ1qNT5DaiaKXGu3FPuZo3Hwo7VMibmNEt63w/640?wx_fmt=jpeg&from=appmsg&tp= webp&wxfrom=5&wx_lazy=1" _="" alt="image" data-report-img-idx="6" data-fail="0">
>
공격자는 수익을 얻은 후 수이 브릿지, 서클, 웜홀, 마야 크로스체인과 같은 크로스체인 브리지를 통해 USDC, SOL, suiETH와 같은 자금의 일부를 EVM 주소 0x89012a55cd6b88e407c9d4ae9b3425f55924919b:
로 전송합니다. style="text-align: left;">
5.2341 WBNB가 BSC 주소 0x89012a55cd6b88e407c9d4ae9b3425f55924919b:
>
다음으로 공격자들은 수일렌드에 천만 달러 상당의 자산을 예치했습니다.
공격자는 또한 현재 보류 중인 새 주소 0xcd8962dad278d8b50fa0f9eb0186bfa4cbdecc6d59377214c88d0286a0ac9562로 24,022,896 SUI를 전송했습니다:
. 왼쪽;">
다행히도 세터스에 따르면, SUI 재단과 다른 생태계 구성원들의 협조로 현재 SUI에서 도난당한 1억 6,200만 달러의 자금을 동결하는 데 성공했다고 합니다.
(https://x.com/CetusProtocol/status/1925567348586815622)
다음. 온체인 자금세탁방지 및 추적 도구인 미스트트랙을 사용하여 크로스체인 펀딩 0x89012a55cd6b88e407c9d4ae9b3425f55924919b를 수신하는 EVM의 주소를 분석합니다.
이 주소는 다음과 같습니다; 아직 전송되지 않은 BSC 5.2319 수신 주소:
>
해당 주소는 이더리움으로 3,000 USDT, 4088만 USDC, 1,771 SOL, 8,130.4 ETH를 받았습니다.
이 중 USDT, USDC, SOL은 coW Swap을 통해 ETH로 전환되었습니다, 파라스왑 등을 통해 이더리움으로 전환되었습니다.
<섹션>

그런 다음 주소는 현재 송금되지 않는 주소 0x0251536bfcf144b88e1afa8fe60184ffdb4caf16으로 20,000 ETH를 전송합니다.
>
이 주소의 현재 이더리움 잔액은 3,244 ETH입니다:
>
미스트트랙은 위의 관련 주소를 악성 주소 데이터베이스에 추가했으며, 지속적으로 주소 잔고를 모니터링할 예정입니다.
요약
이 공격은 수학 오버플로 취약점의 위력을 보여줍니다. 공격자는 정밀한 계산을 통해 특정 매개변수를 선택함으로써 'checked_shlw' 함수의 결함을 악용하여 '1토큰'의 비용으로 수십억 달러 상당의 유동성을 확보할 수 있었습니다. 이는 매우 정교한 수학적 공격이며, 슬로우 포그 보안팀은 개발자가 스마트 콘트랙트 개발 시 모든 수학적 함수의 경계 조건을 엄격하게 검증할 것을 권장합니다.