최근 매우 안정적인 통화 프로토콜 Curve가 재진입 공격을 받아 심각한 손실을 입었습니다. 다음은 이 공격에 대한 MetaTrust Labs의 보안 분석 및 보안 권장 사항입니다.
이벤트 리뷰
Curve Finance의 공식 Twitter에 따르면 2023년 7월 31일 Vyper 버전 0.2.15를 사용하여 작성된 일부 안정적인 풀(alETH/msETH/pETH)이 재진입 공격을 받았습니다. Curve Finance는 공격이 Vyper 버전 0.2.15의 재진입 잠금 오작동으로 인해 발생했으며 순수한 ETH를 사용하는 풀에만 영향을 미쳤다고 밝혔습니다. 현재 Curve는 피해를 평가하고 있으며 다른 수영장은 안전합니다.
MetaTrust Labs의 분석에 따르면 이 취약점은 주로 Vyper의 버전 0.2.15/0.2.16/0.3.0 컴파일러로 인해 2021년 8월과 10월 사이에 도입되었습니다. 취약점의 원인은 생성된 바이트 코드의 재진입 논리가 컴파일러의 버그로 인해 적용되지 않아야 하기 때문입니다.
체인의 통계에 따르면 Curve Finance 스테이블 코인 풀 해킹 사건으로 인해 Alchemix, JPEG'd, CRV/ETH 풀 등에서 미화 5,200만 달러의 누적 손실이 발생했습니다. Curve Finance의 토큰 CRV도 이날 15% 이상 하락하며 큰 타격을 받았다.
원인 분석
이번에 Curve Finance가 공격을 받은 이유는 Curve가 Vyper 언어를 사용하여 스마트 계약을 작성할 때 Vyper 버전 0.2.15를 사용했는데, 이 버전에는 오작동하는 재진입 잠금(reentrancy lock failure)이라는 취약점이 있습니다. 손실을 유발하는 재진입 공격. 이번 Curve Finance의 취약점은 언어별 취약점입니다.
언어 특정 취약점은 특정 프로그래밍 언어 또는 컴파일러 자체의 결함 또는 비호환성으로 인해 발생하는 취약점을 말합니다. 이러한 취약점은 개발자 과실이나 논리 오류로 인해 발생하는 것이 아니라 기본 기술 플랫폼의 문제로 인해 발생하기 때문에 발견하고 방지하기 어려운 경우가 많습니다. 이러한 유형의 취약점은 모두 동일한 언어 또는 컴파일러를 사용하기 때문에 여러 프로젝트 또는 계약에 영향을 미치는 경향이 있습니다.
Vyper는 더 나은 보안과 가독성을 위해 설계된 Python 기반 스마트 계약 프로그래밍 언어입니다. Vyper는 "안전 우선" 언어라고 주장하며 클래스, 상속, 수정자, 인라인 어셈블리 등과 같이 보안 위험을 유발할 수 있는 일부 기능을 지원하지 않습니다. 그러나 Vyper는 완벽하지 않으며 여전히 계약의 보안에 영향을 미칠 수 있는 일부 버그나 허점이 있습니다. 예를 들어 이번에 Curve Finance에서 발생한 재진입 잠금 실패 외에도 Vyper는 범위를 벗어난 배열, 정수 오버플로 및 스토리지 액세스 오류와 같은 문제를 경험했습니다.
보안 조치
이번 Curve Finance의 재진입 공격에 대해 몇 가지 대응책이 취해지거나 제안되었습니다. 취할 수 있는 몇 가지 보안 조치는 다음과 같습니다.
- 유동성 철회: 영향을 받는 풀의 경우 사용자는 추가 손실을 피하기 위해 유동성을 철회하도록 선택할 수 있습니다. Curve Finance는 공식 웹사이트에 유동성을 인출할 수 있는 버튼을 제공하여 사용자가 조작하기 편리합니다.
- 컴파일러 업그레이드: Vyper 0.2.15/0.2.16/0.3.0 컴파일러를 사용하는 계약의 경우 재진입 잠금 실패 문제를 수정한 최신 Vyper 0.3.1 버전으로 업그레이드하는 것이 좋습니다. 동시에 공식 확인, 코드 감사 등과 같은 계약의 보안을 확인하기 위해 다른 도구나 방법을 사용하는 것이 좋습니다.
- 경계: Vyper 또는 기타 언어로 작성된 계약의 경우 경계하고, 언어 또는 컴파일러 업데이트 및 버그 수정에 주의를 기울이고, 자산을 보호하기 위해 적시에 필요한 조치를 취하는 것이 좋습니다. 동시에 새로운 언어나 새로운 기술을 사용할 때 성숙도와 안정성을 신중하게 평가하고 맹목적으로 신선함이나 효율성을 추구하지 않는 것이 좋습니다.
요약하다
요약하다
Curve Finance 재진입 사건은 안타까운 보안 사건이자 시사하는 바가 많은 교훈이었습니다. 분산 금융(DeFi) 분야에서 보안은 항상 최우선 순위입니다.프로젝트 당사자는 지속적으로 보안 인식과 기능을 개선해야 합니다.모든 세부 사항은 공격자가 악용할 수 있는 돌파구가 될 수 있습니다.
팔로우
트위터: @ MetaTrustLabs
웹사이트: metatrust.io
모든 댓글