Balancer V1 유동성 풀 해킹 사건
Balancer V1 스타일의 유동성 풀이 8월 31일에 약 $234,000를 라운딩 오류 취약점으로 잃었다고 블록체인 보안 회사 Slowmist가 전했습니다. 이는 지난해 11월 Balancer의 V2 풀에서 발생한 $116 million 유출 사건과 유사한 종류의 버그입니다.
취약점의 세부 사항
Balancer는 이전에도 유사한 상황을 겪었지만, 이번에 다시 한번 역사가 반복되었습니다. 몇 시간 전, Slowmist는 Balancer V1 스타일 풀에 대한 새로운 취약점을 강조했으며, 이번에는 비교적 적은 금액인 $234,000이 해킹당했습니다. Balancer의 역사에 비하면 적은 금액이지만, 이 버그 계열은 여전히 심각합니다.
“이번 버그는 프로토콜이 스왑 중 토큰 수량을 계산하는 방식에서 발생하는 라운딩 오류로, 지난해 11월 여러 체인에서 Balancer의 V2 풀에서 공격자가 $116 million을 유출할 수 있게 해준 결함과 같은 범주입니다.”
공격 방식
Slowmist의 기술 분석에 따르면, 공격자는 풀의 joinswapPoolAmountOut 함수를 겨냥했으며, 이 함수는 호출자가 계약이 필요한 입력을 계산하는 동안 받고자 하는 BPT(Balancer Pool Tokens) 수량을 지정할 수 있게 해줍니다. 이 역산정은 18자리 고정 소수점 수학을 사용하여 calcSingleInGivenPoolOut에 의해 처리됩니다.
공격자는 일련의 공개 스왑을 실행하여 풀의 WBTC 보유량을 거의 없애버렸습니다. 보유량이 거의 사라지자, 수학적으로 필요한 입력이 단 1 사토시의 WBTC로 반올림되었고, 이는 센트의 일부에 불과했지만 계약은 여전히 공격자가 요청한 전체 BPT 수량을 발행했습니다.
안전 장치 부족
Slowmist는 이 풀에 최소 유효 입력, 최소 풀 잔액 및 상대 오류 검증과 같은 기본적인 안전 장치가 부족했다고 밝혔습니다. 계약의 MIN_BALANCE 검사는 바인드 및 리바인드 함수에서만 시행되었고, 일반 스왑 중에는 적용되지 않았습니다.
법적 노출과 운영 중단
Slowmist는 공격자의 지갑과 공격 계약 주소를 경고의 일환으로 공개했습니다. 3월에 Balancer Labs는 프로토콜의 뒤에 있는 회사가 법적 노출이 증가하고 있다고 언급하며 기업체로서의 운영을 중단할 것이라고 발표했습니다. 이는 지난해 11월의 공격 이후 프로토콜의 총 잠금 가치가 약 $775 million에서 약 $300 million으로 급락한 지 5개월 만의 일입니다.
결론
공동 창립자 Fernando Martinelli는 당시 DAO가 과거 보안 사건의 책임에서 벗어나기 위해 더 간소화된 형태로 운영을 인수할 것이라고 말했습니다. 그 원래 해킹의 지갑도 여전히 활동 중이며, 5개월 후 Thorchain을 통해 1,100 ETH를 이동시켰습니다. 오늘의 공격은 Balancer의 자체 거버넌스 토큰이 아닌 비트코인의 토큰화된 표현인 WBTC를 겨냥했으며, 비트코인의 가격이 $78,000 근처에서 안정적으로 유지되고 있는 가운데, 탈중앙화 금융(DeFi) 프로토콜 내에서의 래핑 및 토큰화된 버전이 별도의 위험을 지닌다는 점을 상기시킵니다.
메타버스 플랫폼 The Sandbox는 최근 해킹된 브리지가 공격자가 Base와 BNB에서 보증 없는 SAND를 발행할 수 있게 했다고 확인했습니다.