바이낸스 스마트 체인의 분산형 금융(DeFi) 프로젝트인 Novax는 2024년 8월 14일에 악용을 당했으며, 약 25,000달러의 손실이 발생한 것으로 추정됩니다. 이 사건은 프로토콜의 오라클과 스테이킹 메커니즘의 취약성을 강조하며, DeFi 프로젝트에서 보다 강력한 보안 조치가 필요하다는 점을 강조합니다.
개요
공격자:
Verichains를 읽어주셔서 감사합니다! 무료로 구독하여 새로운 게시물을 받고 제 작업을 지원하세요.
https://bscscan.com/address/0x81ca56b6973ff63e3ff2b3f99cb6a6d211269e79
취약한 계약:
https://bscscan.com/address/0x55c9eebd368873494c7d06a4900e8f5674b11bd2
거래 공격: https://bscscan.com/tx/0xb1ad1188d620746e2e64785307a7aacf2e8dbda4a33061a4f2fbc9721048e012
익스플로잇 분석
공격은 간단했습니다. 공격자는 플래시론 이용해 USDT-BUSD 쌍에서 테더 USDT(USDT) 빌린 뒤, NovaX 토큰을 구매하고, NovaX 잔액의 절반을 지분으로 걸고, 나머지 절반을 매도한 다음 자금을 인출했습니다.
이 계약은 NovaX 토큰의 즉각적인 스테이킹과 인출을 허용하여 가격 조작을 이용했습니다. 우리는 스테이킹과 인출 로직을 조사했습니다.
예치(stake) 로직은 Oracle에서 제공한 가격을 참조하여 지분이 매겨진 NovaX 토큰의 수를 기록합니다.
하지만 오라클은 토큰 쌍의 보유량을 기반으로 가격을 계산하며, 토큰 A의 양을 토큰 B로 나누어 플래시론 로 조작하기 쉽습니다.
마찬가지로, 인출 기능은 Oracle의 실시간 가격을 기반으로 수신할 토큰 수를 계산합니다. 이를 통해 공격자는 출력을 쉽게 제어하고 많은 수의 토큰을 수신할 수 있습니다.
이러한 취약점의 근본 원인은 예치(stake) 기능과 인출 기능 모두 신뢰할 수 없는 Oracle을 기반으로 토큰 금액의 가치를 계산하기 때문입니다.







