2024년 12월 23일, MoonHacker 보안 금고에서 심각한 해킹 사고가 발생하여 약 320,000 USDC가 손실되었습니다. 이 블로그에서는 이번 공격의 기술적 세부 사항, 취약한 계약, 공격 방법론 및 교훈을 분석합니다.
주요 정보
총 손실: 320,000 USDC
공격 계약:
취약한 계약: MoonHacker 보안 금고
공격 트랜잭션: 0xd12016b25d7aef681ade3dc3c9d1a1cc12f35b2c99953ff0e0ee23a59454c4fe
공격 개요
이번 공격은 옵티미즘 체인의 Moonwell DeFi 프로토콜과 상호 작용하는 MoonHacker 보안 금고 계약을 대상으로 했습니다. executeOperation 함수의 부적절한 입력 검증으로 인해 공격자가 시스템을 조작하여 무단 인출이 가능했습니다.
취약점 세부 사항
executeOperation 함수의 입력 처리 및 접근 제어 부족이 이번 공격의 근본 원인이었습니다. 이를 통해 공격자는 다음과 같은 행위가 가능했습니다:
악성 계약을
mToken주소로 전달하기.무단 토큰 승인을 얻고 계약 로직을 조작하기.
공격 단계
준비: 공격자는 이번 공격을 위해 두 개의 계약을 배포했습니다.
실행:
executeOperation함수의 검증 부족을 이용하여 토큰 승인 로직을 조작했습니다.자금 탈취: 훼손된 자금은 공격자의 주소로 전송되었습니다.
완화 및 모범 사례
유사한 공격을 방지하기 위해 다음과 같은 조치가 권장됩니다:
입력 검증:
mToken주소를 허용 목록에 대해 검증합니다.접근 제어: 역할 기반 접근 제어(RBAC)를 구현하여 중요 작업을 제한합니다.
함수 수정자: 신뢰할 수 있는 엔티티만 중요 함수와 상호 작용할 수 있도록 특정 수정자 또는 검사를 사용합니다.
교훈
포괄적인 감사: 모든 계약을 엄격히 검토하여 예외 상황을 식별합니다.
검증 검사: 조작을 방지하기 위해 강력한 검증 메커니즘을 구현합니다.
커뮤니티 감시: 투명성을 높이고 커뮤니티 주도의 보안 검토를 장려합니다.
결론
MoonHacker 보안 금고 공격은 스마트 계약 보안 관행의 중요성을 강조합니다. 이러한 사례에서 교훈을 얻어 DeFi 커뮤니티가 더 강력한 시스템을 구축하고 사용자 자금을 보호할 수 있습니다.





