블록체인 보안 회사인 블록섹(BlockSec)은 탈중앙화 금융 프로토콜 두 곳을 공격한 사건에 대한 기술적 분석 보고서를 발표했는데, 이 공격으로 1,700만 달러 이상의 손실이 발생했습니다.
Dex 어그리게이터 인 SwapNet은 이더리움, 아비트럼(Arbitrum), 베이스, 바이낸스 스마트 체인 전반에 걸쳐 1,340만 달러 이상의 손실을 입었고, 집중 유동성 포지션을 관리하는 Aperture Finance는 같은 시기에 발생했지만 관련 없는 사건으로 약 367만 달러의 손실을 입은 것으로 추정됩니다.
BlockSec은 X에 대한 분석 요약에서 "피해자 계약은 불충분한 입력 유효성 검사로 인해 임의 호출 기능을 노출하고 있어 공격자가 기존 토큰 승인을 악용하고 transferFrom을 호출하여 자산을 빼돌릴 수 있습니다."라고 밝혔습니다.
보안 업체는 "이러한 사건들은 특히 외부 검토가 제한적인 폐쇄형 시스템에서 계약 설계의 유연성과 엄격한 호출 제약 조건 사이의 균형을 신중하게 맞춰야 한다는 점을 다시 한번 상기시켜 줍니다." 라고 밝혔습니다 .
SwapNet의 취약점 원인은 무엇이었습니까?
SwapNet 사례에서 취약점은 중요한 입력값에 대한 적절한 유효성 검사가 부족한 함수 0x87395540()에서 발생했습니다.
공격자는 예상되는 라우터 또는 풀 주소를 USDC와 같은 토큰 주소로 대체함으로써 피해자 컨트랙트가 토큰을 유효한 실행 대상으로 인식하도록 속였습니다.
이로 인해 공격자가 제어하는 호출 데이터를 사용하여 하위 수준 호출이 실행되었고, 피해자 계약이 공격자가 승인된 모든 자산을 빼돌릴 수 있도록 하는 호출을 수행할 수 있게 되었습니다.
이 취약점은 DeFi 거래소 메타 애그리게이터인 Matcha Meta 사용자들에게 영향을 미쳤는데, 이들은 플랫폼의 "일회성 승인" 설정을 비활성화하고 SwapNet 계약에 직접 무제한 승인 권한을 부여한 상태였습니다.
가장 큰 손실을 입은 사용자는 한 명으로, 약 1,334만 달러를 잃었습니다 . 총 20명의 사용자가 피해를 입었습니다. 이번 공격은 Base 블록체인의 41289829 블록 에서 시작되었으며, SwapNet은 최초 공격 감지 후 45분 만에 Base 블록체인의 계약을 일시 중단했습니다. 이후 다른 블록체인의 계약도 일시 중단했지만, 그 사이에 세 개의 블록체인에서 추가로 13명의 사용자가 피해를 입었습니다.
애퍼처 파이낸스도 비슷한 어려움을 겪었습니다.
사용자를 대신하여 유니스왑(Uniswap) V3 유동성 포지션을 관리하는 Aperture Finance는 함수 0x67b34120()에서 동일한 유형의 취약점에 노출되었습니다.
이 함수가 호출되면 내부 함수 0x1d33()은 사용자가 제공한 호출 데이터를 사용하여 하위 수준 호출을 실행하며 호출 대상이나 함수 선택기에 엄격한 제약을 적용하지 않습니다.
이를 통해 공격자는 이더리움 요청 사항(ERC)-20 토큰을 빼돌리는 악성 통화 데이터를 구축하고 유니스왑(Uniswap) V3 포지션 NFT를 승인할 수 있었습니다.
"즉시 유동성 관리" 기능에 대한 승인 권한을 가진 사용자들이 이번 공격의 위험에 처했습니다.
이더리움에 대한 대표적인 공격 사례에서 공격자는 단 100 wei의 이더리움(ETH) 만으로 취약한 함수를 호출하는 스마트 계약을 생성했습니다. 네이티브 토큰을 WETH로 래핑한 후, 악의적인 WBTC.transferFrom() 호출을 실행하여 공격자가 자체 스왑 출력 값을 지정함으로써 잔액 검사를 통과하고 승인된 토큰을 빼돌릴 수 있도록 했습니다.
영향을 받는 플랫폼들은 어떤 변화를 겪고 있나요?
이번 사건으로 인해 두 프로토콜 모두 보안 접근 방식을 재평가하게 되었습니다. 우선, 두 프로토콜 모두 사용자에게 Revoke.cash와 같은 도구를 사용하여 승인을 취소하도록 요청했습니다.
Matcha Meta는 사용자가 일회성 승인 기능을 끌 수 있도록 하는 토글 기능을 비활성화했다고 밝혔습니다. 또한, 추후 공지가 있을 때까지 SwapNet을 플랫폼에서 제거했으며, "보안보다 사용자 정의 기능을 우선시하는 것은 앞으로 용납할 수 없는 입장"이라고 덧붙였습니다.
애퍼처 파이낸스는 영향을 받은 모든 웹 애플리케이션 기능을 비활성화했다고 밝혔습니다. 자금 복구 노력과 관련하여 "최고 수준의 포렌식 보안 회사들과 긴밀히 협력하고 있으며, 사법 당국과 협조하여 자금 추적을 진행하고 있다"고 밝히면서, 자금 반환을 위한 협상 채널도 구축하고 있다고 덧붙였습니다.




