디파이(탈중앙금융) 프로토콜 ‘밸런서’에서 6억원 상당의 자금이 유출된 사실이 6월 29일(한국시간) 밝혀졌다. 올 들어 5번째 디파이 피해 사례다. 지난 4월에는 또 다른 디파이 플랫폼 ‘디포스’에서 약 300억 원 규모의 대량 유출이 일어나기도 했다. 이번 사건은 상대적으로 피해규모는 작지만, 콤파운드 이슈로 디파이 자체가 부각되면서 업계의 주목을 받고 있다.
#밸런서?
최근 디파이 생태계의 트렌드 중 하나는 유동성 공급에 따른 보상이다. 이전부터 디파이 생태계를 유지하기 위해 환금성 보장이 되는 유동성 풀은 많았지만, 이에 대한 보상을 공격적으로 진행하는 프로젝트가 점점 늘어나고 있는 추세다. 특히 최근 COMP를 발행한 컴파운드(Compound)는 이와 관련한 극단적인 정책으로 우려가 나오기도 했다. 밸런서(Balancer) 역시 유동성 풀과 관련한 기능이 많은 디파이 프로토콜이다. 컴파운드의 COMP처럼 거버넌스 토큰인 BAL을 운용 중이기도 하다. 이를테면 다중 자산 풀이나 프라이빗 풀 기능과 같은 서비스를 유동성 제공자에게만 부여하는 방식이다. 6월 들어서는 유동성 채굴(Mining Liquidity)을 도입하면서 가치평가액이 약 6000만 달러에 이르기도 했다. 유동성 채굴은 밸런서 풀 중 어느 한 곳에 유동성을 공급하고 있는 유저들에게 매년 일정량의 보상을 지급하는 시스템을 의미한다. 마치 A거래소에서 매매를 하면 A거래소 코인을 준다는 ‘거래소 채굴’ 개념을 연상케 한다.
#디파이 피해 사례, 일반 사이버 금융 범죄와는 다르다?
디파이에서 일어나는 자금 탈취 공격은 일반 사이버 금융 범죄와는 결이 조금 다르다. 전통 사이버 금융 범죄처럼 바이러스를 이용한 해킹을 한다거나, 지갑 보안 장치가 허술해서 유출이 일어나는 게 아니다. 디파이 생태계 안에 있는 시스템 취약점 자체를 이용해 자금 탈취를 시도한다는 것이 기존 해킹과 다른 지점이다.
예컨대 지난 2월 일어난 bZx 자금 유출 사건에서는 공격자가 플래시 론(Flash Loan)이라는 초단기 대출을 이용해 유니스왑에서 급등한 wBTC(BTC를 이더리움 체인으로 본뜬 것)를 판매하고, 그 이더리움을 다시 빌려 bZx의 마진 거래소 펄크럼(Fulcrum)에 고의적 레버리지를 거는 방식을 반복해 시세차익을 얻어냈다. 이 과정에서 공격자는 바이러스를 심거나, 프라이빗 키를 탈취하거나, 허술한 블록체인 지갑을 사이버 범죄 기법으로 무력화하는 방식을 이용하지 않았다. 주로 디파이 대출 제도의 약점이나 가격 데이터 괴리 등을 이용한 ‘생태계 시스템 취약점’을 노렸다. 하지만, 전통 해킹 방식처럼 코드 취약점을 활용한 공격이 없다고 보기도 어렵다.
#밸런서 프로토콜 공격방식은?
밸런서 프로토콜 공격방식은 지난 4월 디파이 플랫폼 디포스에서 일어난 약 300억 원 규모의 자금 손실과 유사한 지점이 있다. 당시 공격자는 탈중앙 암호화폐 교환 서비스 유니스왑(Uniswap)의 imbtc 유동성 풀 ‘코드 취약점’을 통해 리엔트런시 공격을 가했다. 리엔트런시 공격이란 하나의 거래를 요청한 후 그 거래가 끝나기도 전에 다시 새로운 거래를 시도하는 방법을 의미한다. 공격자가 해당 방법을 성공적으로 진행하면 이중 처리가 가능하게 된다. 이렇게 되면 잔고가 10만원일 때 10만원 인출이 끝나기 전에 다시 10만원 인출을 해도 그 거래가 그냥 통과되는 오류가 발생한다. 그리고 이 패턴을 무한으로 반복하면 피해액수는 그만큼 커지게 된다.
이번 밸런서 사태 역시 공격자가 dydx의 플래쉬 론을 이용해 STA·STATERA 유동성 풀의 코드 취약점을 공격한 사례다. 이 과정에서 STA·STATERA 토큰이 ERC-20 표준 규격을 맞추지 않아 문제가 발생했다. 밸런서 프로토콜의 스마트 콘트랙트는 ERC-20 표준을 기반으로 설계됐기 때문에 다른 규격의 토큰을 풀에 제공하면 문제될 가능성이 있었던 것이다. 여기에 STA 토큰 콘트랙트 자체에 디플레이션(토큰 축소에 의한 토큰 가치 상승)을 위한 소각 기능이 있어 공격자가 이를 활용하는 식으로 취약점을 공략했다. 디파이 생태계 자체의 빈틈과 코드 취약점을 동시에 파고든 셈이다.
#밸런서 “전액 보상하겠다”…피해 사례는 지속
한편 밸런서는 공식 트위터를 통해 해당 공격 피해 자금을 전액 배상하겠다고 밝혔다. 그러나 보상안과는 별개로 디파이 생태계 내의 피해 사례가 늘어나고 있어 이용자들의 우려가 커지고 있는 상황이다. 30일에는 10.8ETH(한화 약 300만원) 상당의 COMP가 밸런서 내 유동성 풀에서 추가 유출됐다는 사실이 알려지기도 했다. 비슷한 사건이 지속적으로 벌어지고 있는 만큼, 디파이 생태계 구성원의 대책이 조속히 마련돼야 할 것으로 보인다.
박상혁 기자 park.sanghyuk@joongang.co.kr
https://joind.io/market/id/2538
※조인디와의 전제 계약을 통해 게재한 기사입니다.