배경
5월 22일, 커뮤니티 정보에 따르면 수이(SUI) 생태계의 유동성 제공자 세투스(Cetus)가 의심스러운 공격을 받아 유동성 풀 깊이가 크게 감소했으며, 세투스의 여러 토큰 거래 쌍에서 하락이 발생했고, 예상 손실 금액은 2.3억 달러를 초과했습니다. 이후 세투스는 공지를 발표하며 "우리 프로토콜에서 한 사건을 감지했으며, 안전을 위해 스마트 계약을 일시적으로 중단했습니다. 현재 팀에서 해당 사건을 조사하고 있으며, 곧 추가 조사 발표를 할 예정입니다."라고 밝혔습니다.
사건 발생 후, 슬로우 미스트 보안 팀이 즉시 분석에 착수하고 보안 경고를 발표했습니다. 다음은 공격 방법 및 자금 이동 상황에 대한 상세 분석입니다.
5. 공격자는 플래시 론(Flash loan)을 반환하고, 순이익은 약 10,024,321.28개의 haSUI와 5,765,124.79개의 SUI로, 공격이 완료되었습니다.
프로젝트 측 복구 상황
공격 발생 후, Cetus는 복구 업데이트를 출시했습니다. 구체적인 복구 코드는 다음을 참조할 수 있습니다: https://github.com/CetusProtocol/integer-mate/pull/7/files#diff-c04eb6ebebbabb80342cd953bc63925e1c1cdc7ae1fb572f4aad240288a69409。
복구 후의 checked_shlw 함수는 다음과 같습니다:

복구 설명:
잘못된 마스크 0xffffffffffffffff << 192를 올바른 임계값 1 << 192로 수정하고, 판단 조건을 n > mask에서 n >= mask로 수정했습니다.
64비트 왼쪽 시프트 시 발생할 수 있는 오버플로우를 올바르게 감지하고 오버플로우 플래그를 반환하도록 보장합니다.
MistTrack 분석
분석에 따르면, 공격자 0xe28b50cef1d633ea43d3296a3f6b67ff0312a5f1a99f0af753c85b8b5de8ff06은 약 2.3억 달러의 이익을 얻었으며, 여기에는 SUI, vSUI, USDC 등 다양한 자산이 포함됩니다.

공격자는 2일 전에 이미 가스 수수료를 준비했으며, 공격 전에 한 번 시도했지만 실패했습니다:

이익을 얻은 후, 공격자는 USDC, 솔라나(SOL), suiETH와 같은 일부 자금을 Sui Bridge, 서클(Circle), Wormhole, Mayan과 같은 크로스체인 브릿지를 통해 이더리움 가상 머신(EVM) 주소 0x89012a55cd6b88e407c9d4ae9b3425f55924919b로 크로스체인 했습니다:

그중 5.2341 WBNB를 BSC 주소 0x89012a55cd6b88e407c9d4ae9b3425f55924919b로 크로스체인 했습니다:

그런 다음 공격자는 1,000만 달러 상당의 자산을 Suilend에 예치했습니다:

공격자는 또한 24,022,896 SUI를 새 주소 0xcd8962dad278d8b50fa0f9eb0186bfa4cbdecc6d59377214c88d0286a0ac9562로 이전했으며, 현재 아직 인출하지 않았습니다:

다행히도 Cetus에 따르면, SUI 재단 및 기타 생태계 구성원들의 협력을 통해 현재 SUI에서 1.62억 달러의 도난 자금을 동결했습니다.

(https://x.com/CetusProtocol/status/1925567348586815622)
다음으로, 온체인 자금세탁 방지 및 추적 도구 MistTrack을 사용하여 이더리움 가상 머신(EVM)에서 크로스체인 자금을 받은 주소 0x89012a55cd6b88e407c9d4ae9b3425f55924919b를 분석했습니다.
해당 주소는 BSC에서 5.2319 BNB를 받았으며, 아직 인출하지 않았습니다:

해당 주소는 이더리움(Ethereum)에서 3,000개의 테더 USDT(USDT), 4,088만개의 USDC, 1,771개의 솔라나(SOL), 8,130.4개의 이더리움(ETH)을 받았습니다.
그중 테더 USDT(USDT), USDC, 솔라나(SOL)는 coW Swap, ParaSwap 등을 통해 이더리움(ETH)으로 교환되었습니다:


그런 다음 해당 주소는 20,000 이더리움(ETH)을 주소 0x0251536bfcf144b88e1afa8fe60184ffdb4caf16으로 이전했으며, 아직 인출하지 않았습니다:

현재 해당 주소의 이더리움(Ethereum) 잔액은 3,244 이더리움(ETH)입니다:

MistTrack은 위의 관련 주소를 악성 주소 데이터베이스에 추가했으며, 동시에 주소 잔액에 대해 지속적으로 모니터링할 예정입니다.
요약
이번 공격은 수학적 오버플로우 취약점의 위력을 보여주었습니다. 공격자는 정확한 계산을 통해 특정 인수를 선택하고, checked_shlw 함수의 결함을 이용해 1개의 토큰 비용으로 수십억 가치의 유동성을 얻었습니다. 이는 매우 정교한 수학적 공격으로, 슬로우 미스트(SlowMist) 보안 팀은 개발자들에게 스마트 컨트랙트 개발 시 모든 수학 함수의 경계 조건을 엄격히 검증할 것을 권고합니다.






