GMX 보안 사고 취약성 분석 및 도난 자금 추적

이 기사는 기계로 번역되었습니다
원문 표시

GMX(Good Morning)가 공격을 받았으며, 공격자는 프로젝트 계약의 재진입 취약점을 통해 공격을 실행하여 약 4,200만 달러의 이익을 얻었습니다. Beosin 보안팀은 이번 공격 사건에 대한 취약점 분석 및 자금 추적을 수행하고 결과를 다음과 같이 공유했습니다:

상세 공격 단계

공격자는 먼저 OrderBook 계약의 executeDecreaseOrder 함수 내 보증금 반환 메커니즘을 이용하여, Timelock 계약의 레버리지 스위치를 우회하는 재진입 공격을 시작했습니다:

그런 다음, 공격은 플래시 론을 통해 USDC를 차입하여 GLP를 민트하고, USDC를 보증금으로 비트코인(BTC)의 숏 포지션을 증가시켜 GLPmanager 계약의 운영자산(AUM) 값을 인위적으로 높였으며, 이 값은 GLP 가격 계산에 영향을 미칩니다.

마지막으로, 공격자는 비정상적인 가격으로 GLP를 상환하여 이익을 얻고 다른 토큰으로 교환했습니다.

취약점 분석

위의 공격 프로세스를 통해 이 사건의 취약점 악용 이유는 다음 두 가지입니다:

- 재진입 보호 부족으로 상환 과정에서 내부 상태를 변경할 수 있었습니다.

- 상환 로직이 복잡하고 충분한 보안 검증이 부족했습니다.

GMX는 여러 차례 보안 감사를 거쳤지만, 이 재진입 취약점은 여전히 간과되었습니다. 상환 로직에 대해 더 엄격한 검사를 수행하고 가능한 재진입 취약점을 고려했다면 이러한 보안 사고를 방지할 수 있었을 것입니다.

도난 자금 추적

Beosin Trace의 도난 자금 추적 결과: 공격자 주소 0x7d3bd50336f64b7a473c51f54e7f0bd6771cc355는 약 4,200만 달러의 이익을 얻었으며, 이후 DeFi 프로토콜은 스테이블코인과 알트코인을 이더리움(ETH)과 USDC로 교환하여 여러 크로스체인 프로토콜을 통해 도난 자산을 이더리움 네트워크로 이전했습니다. 현재 도난 자산 중 약 3,200만 달러 상당의 이더리움(ETH)은 다음 4개의 이더리움 네트워크 주소에 보관되어 있습니다:

- 0xe9ad5a0f2697a3cf75ffa7328bda93dbaef7f7e7

- 0x69c965e164fa60e37a851aa5cd82b13ae39c1d95

- 0xa33fcbe3b84fb8393690d1e994b6a6adc256d8a3

- 0x639cd2fc24ec06be64aaf94eb89392bea98a6605

약 1,000만 달러의 자산은 아비트럼(Arbitrum) 네트워크의 주소 0xdf3340a436c27655ba62f8281565c9925c3a5221에 보관되어 있습니다. Beosin Trace는 해커 관련 주소를 블랙리스트에 추가했으며 향후 지속적으로 추적할 예정입니다.

Beosin Trace 분석에 따르면, 모든 도난 자금은 여전히 공격자의 여러 주소에 보관되어 있습니다.

요약

이번 공격의 핵심은 GMX 계약에 재진입 취약점이 존재하여 공격자가 가상으로 증가된 운영자산(AUM) 값을 통해 대량의 자산을 상환하고 이익을 얻을 수 있었다는 점입니다. GMX와 같은 복잡한 DeFi 프로토콜은 다각도, 다층적인 보안 감사를 통해 계약 코드를 철저히 테스트하고 검토해야 합니다. 이전에 Beosin 보안팀은 서프 프로토콜, 싱크스왑, 레버파이(LeverFi), 올토 파이낸스 등 여러 DeFi 프로토콜의 보안 감사를 완료했으며, 계약 로직의 결함과 간과될 수 있는 극단적인 상황을 발견하는 데 중점을 두어 DeFi 프로토콜의 전방위적 검사를 보장하고 있습니다.

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트