DeFi 공간은 잠들지 않으며 해커들도 마찬가지입니다. 최근 Linea 블록체인 위에 구축된 대출 프로토콜인 Astera Finance(USDT 같은 스테이블코인에 즉각적인 유동성과 수익을 제공하는 데 주력)는 정교한 익스플로잇의 피해를 입었습니다. USDT가 무려 $154로 책정되었다는 oracle 보고로 시작된 사건은 더 복잡한 문제, 즉 liquidity index 조작으로 드러났습니다. 블록체인 보안 업체 Phalcon이 최근 스레드에서 공유한 인사이트를 바탕으로 단계별로 살펴보겠습니다.
먼저 DeFi에 익숙하지 않은 분들을 위한 간단한 설명입니다. Astera Finance는 본질적으로 Aave의 포크로, 사용자가 자산을 예치해 이자를 벌거나 담보로 대출을 받을 수 있는 인기 있는 대출 플랫폼의 구조를 따릅니다. 이 시스템에서 "AToken"은 예치된 자산을 나타내며 시간이 지남에 따라 liquidity index라는 배수를 통해 이자가 누적됩니다—이는 풀 내 누적된 이자를 반영하는 multiplier입니다.
보안 연구원 Weilin Li는 이를 "교과서적인 oracle 설정 오류(textbook oracle misconfiguration)"라고 지적하면서 논의를 시작했습니다. 참고로 oracle은 스마트컨트랙트에 실세계 가격 데이터를 공급하는 서비스입니다. Li의 설명에 따르면 공격자는 Tornado Cash에서 10 ETH를 인출하고(거래 프라이버시 믹서), 약 일주일 전에 이를 Linea로 브리지한 뒤 6,000 USDT를 예치했는데, 문제 있는 oracle은 이를 약 $900,000로 평가했고 공격자는 그 부풀려진 담보를 바탕으로 약 $573,000를 대출받았습니다. 웃지 못할 점은 공격자의 health factor(대출의 청산 위험을 나타내는 지표)가 약탈 이후에도 1.45로 남아 있었다는 것입니다.
하지만 Phalcon은 바로 해명에 나섰습니다. 이번 사건은 전혀 oracle 문제만은 아니었습니다. oracle에서 제공한 기본 USDT 가격은 약 $1로 안정적이었습니다. 진짜 트릭은 수백 건에 걸친 flashloan 트랜잭션을 통해 liquidity index를 1.001에서 154까지 부풀린 데 있었습니다. Flashloans는 담보 없이 같은 트랜잭션 내에서 상환되어야 하는 대출로, 자신의 자본을 위험에 빠뜨리지 않고도 단기적 조작을 수행하기에 적합합니다.
위 Phalcon의 분석에서 보이듯, 공격자는 반복적인 대출-상환 사이클을 이용해 수수료를 쌓고 인덱스를 왜곡했습니다. Aave 포크에서 비어 있는 풀을 한 번에 공격하는 전형적인 방식과 달리, 이번에는 시장에 기존 유동성이 존재했기 때문에 여러 트랜잭션에 걸친 공략이 필요했습니다.
전개 과정은 다음과 같습니다:
단계 1: 포지션 설정
주요 공격자 주소(0x61EA1C91d7aE9782223384fAFe3ad81fFb8E0b45)는 풀에 자산을 예치해 포지션을 만들었습니다. 관련 트랜잭션은 여기에서 확인할 수 있습니다: Deposit TX.
단계 2: liquidity index 부풀리기
보조 주소(0x9520C9040338bE61005590cC1BD15caa10a6613c)는 약 100건에 이르는 flashloan 작업으로 풀을 연속 공격하며 liquidity index를 서서히 끌어올렸습니다. 최초 인플레이션 트랜잭션: First Inflation TX. 그리고 최종적으로 결정타를 날린 트랜잭션: Final Inflation TX.
단계 3: 풀에서 자금 빼내기
AToken 가격이 인위적으로 부풀려지자(USDT용 AToken 컨트랙트는 여기에서 확인 가능: AToken USDT), 주요 공격자는 자신의 예치를 담보로 대량의 대출을 일으켜 대출 풀에서 자금을 빼냈습니다.
Astera Finance는 침입을 감지하자마자 Core Pool과 Mini Pools를 즉시 일시 중단했습니다. Phalcon은 전체 세부 사항을 확인할 공식 포스트모템을 아직 기다리고 있다고 밝혔지만, 이번 사건은 Aave 포크된 프로토콜들이 비어 있지 않은 시장에서 반복적 조작(iterative manipulations)에 대해 충분한 보호 장치를 갖추지 못했음을 보여줍니다.
블록체인 실무자와 meme token 애호가 모두에게 이번 사고는 DeFi 대출의 위험을 환기시켜 줍니다. meme token은 종종 과대홍보와 커뮤니티에 의해 성장하지만, 대출 풀 같은 기초 인프라는 주요 표적이 될 수 있습니다. 유사한 프로젝트를 구축하거나 투자하고 있다면 flashloans에 대한 속도 제한(rate limits) 도입이나 더 나은 유동성 모니터링과 같은 안전장치를 고려해 이러한 liquidity index 인플레이션을 방지하시기 바랍니다.
항상 경계를 늦추지 마십시오—DeFi는 혁신적이지만 정교한 공격자들의 놀이터이기도 합니다. 블록체인 보안 및 최신 meme token 소식에 대해 더 알고 싶다면 Meme Insider를 계속 팔로우하세요.