컨텐츠 바로가기

04.16 (화)

10분만에 381억 피해...디파이 위협하는 플래시론 공격은 무엇?

댓글 첫 댓글을 작성해보세요
주소복사가 완료되었습니다
매일경제

<이미지를 클릭하시면 크게 보실 수 있습니다>


이자농사 디파이(분산화 금융, DeFi) 서비스로 유명한 하베스트 파이낸스가 해커로부터 플래시론을 악용한 공격을 받아 총 3380만 달러(한화 약 381억 950만원)에 상당하는 피해를 입었다고 27일 밝혔다. 하베스트 파이낸스에 암호화폐를 스테이킹한 사용자는 예치금의 약 15%의 손실을 겪은 것으로 추정된다.

*이자 농사 : (디파이 서비스에서) 사용자가 토큰을 특정한 유동성 풀에 예치하고 플랫폼 토큰으로 보상받는 행위. 토큰 등 유동성을 제공하면 수익을 얻는다는 의미로 ‘유동성 채굴’이라고도 표현한다. 스시스왑 등 디파이 프로젝트 여럿에선 수백, 수천 퍼센트의 연간 이자율을 제시해 화제가 되기도 했다.

*플래시론 : (디파이 응용기술) 블록체인에서 생성중인 블록에 하나의 트랜잭션이 들어와 최종 승인되기 전까지의 몇분 내외의 짧은 시간 동안 사용자에게 암호화폐를 대출해주고 상환하는 기술. 한 개의 트랜잭션 수준에서 대출과 상환이 모두 이뤄진다. 아베(AAVE) 프로젝트가 최초로 개발했고 현재 디파이 플랫폼 여럿에서 플래시론 기능을 기본적으로 제공하고 있다.


플래시론 공격자, 10분동안 하베스트 공격해 381억원 갈취했다

일반적으로 사용자가 디파이 서비스에서 암호화폐를 빌리기 위해선 자신의 자산을 담보 용도로 서비스에 예치해 승인을 먼저 받아야한다. 반면 플래시론을 사용하면 어떤 사용자든 담보 없이도 큰 금액을 짧은 시간 동안 대출할 수 있다. 만약 플래시론으로 대출한 금액이 트랜잭션 한 개 안에서 바로 상환되지 않으면 대출 자체는 실패한 행위로 기록된다. 자금 이동도 없었던 일이 된다.

하베스트 파이낸스를 공격한 해커는 유니스왑에서 플래시론으로 스테이블 코인인 테더(USDT)를 5000만달러(한화 약563억 4000만원)어치 빌렸고 유에스디코인(USDC)도 1830만달러(약 206억 3000만원)어치 빌려 해커의 컨트랙트에 예치했다. 이후 공격자는 또 다른 탈중앙화 거래소인 커브에서 유에스디 코인을 테더로 대량 교환해 테더 코인의 가격을 상승시켰다.

공격자의 공격은 하베스트의 테더와 유에스디코인의 유동성 풀을 타겟으로 이뤄졌다. 공격자는 하베스트 볼트(금고)에 테더를 6060만 달러(한화 약676억 2000만원) 분량만큼 예치했다. 이후 공격자는 커브에서 테더를 유에스디코인과 대량 교환하면서 테더 가격을 고의로 하락시켰다. 그결과 공격자는 하베스트 볼트에서 테더를 비율적으로 더 많이 출금할 수 있게 됐다. 테더를 예치할 때에 비해 출금할 때 가격이 많이 떨어졌기에 테더 지분을 역으로 더 많이 가져갈 수 있기 때문이다.

공격자는 6160만 달러(한화 약 694억 4000만원)에 상당하는 테더를 출금했고 공격 한 번에 100만 달러(한화 11억 2600만원)의 차익을 얻었다. 해커는 이같은 공격을 수차례 반복했다. 해커는 4분간 17차례 하베스트의 테더 볼트를 공격했고 3분간 13차례 유에스디코인 볼트를 공격해 총 3380만 달러(한화 약 381억원)에 상당하는 차익을 얻었고 해당 금액을 비트코인으로 바꿔 출금했다.

하베스트는 자사 블로그 글을 통해 “수천명의 사용자가 하베스트에서 예치금에서 피해를 입었다. 하베스트는 엔지니어링적인 실수가 있었다”고 인정했다. 또 “지금까지 하베스트에 하나의 트랜잭션으로 예치와 출금을 모두 진행할 수 있었지만 앞으로는 사용자의 예치와 출금을 두개의 트랜잭션으로 처리해 플래시론을 토대로한 공격을 구조적으로 막을 것”이라고 밝혔다.

하베스트는 이밖에도 “체인링크 등 오라클을 사용해 하베스트 내부의 토큰 가격과 외부에서 거래되는 가격을 비교, 모니터링해 플래시론 공격을 예방할 것”이라고 말했다. 공격자는 248만 달러(한화 약 28억원)치 암호화폐를 하베스트에 현재 반환한 상태다. 이는 공격으로 발생한 차익의 약 7%에 해당하는 금액으로 하베스트는 피해자를 돕는데 이를 사용할 계획이다. 또 하베스트는 신규 입금을 막고 플래시론 공격자를 잡기 위해 현상금을 내걸고 있는 상태다.

플래시론 공격 왜 발생했나? ‘슬리피지 문제’ 때문

하베스트 파이낸스와 같은 탈중앙화 거래소(DEX)는 자체적으로 감당할 수 있는 유동성을 벗어나면 슬리피지가 급격하게 발생한다. 슬리피지란 사용자가 매도할 때 유동성이 부족한 이유로 시장 가격보다 다소 낮은 금액으로 팔리거나 매수할 때 예상보다 높은 금액대로 구매가 체결되는 문제를 말한다. 만약 DEX에 특정한 토큰의 수요와 유동성이 부족한 경우 슬리피지 효과로 토큰을 헐값에 판매하게 되는 경우도 존재한다. 하베스트의 경우 공격자가 테더마켓에 슬리피지를 발생시켜 테더 가격을 더욱 하락시킬 수 있었다는 분석이 나온다.

김준수 스테이크피쉬 운영관리자는 “유동성 풀이 풍부한 경우엔 플래시론을 통한 공격이 발생하기는 쉽지 않다. 하지만 공격자가 마음만 먹으면 큰 금액을 얼마든지 플래시론으로 빌릴 수 있는 만큼 유동성을 높게 유지한다고 해결될 문제는 아니다”고 지적했다. 그는 “하베스트가 디파이 사용자의 이윤에만 집중하다 보니 안전성 점검과 같은 부분에서 부주의가 발생한 것이 주된 원인”이라며 “디파이 플랫폼이 자체적으로 플래시론 공격을 방지할 방법을 강구해야 한다”고 덧붙였다. 디파이 프로젝트가 유동성을 단순히 많이 확보한다 하더라도 큰 금액의 플래시론으로 발생하는 슬리피지를 막기는 어렵기에 여러 해결책이 필요하다는 설명이다.

플래시론, 긍정적 사용처를 발굴할지 더 지켜봐야

반면 플래시론이 공격에만 사용되는 건 아니다. 플래시론은 차익 거래, 레버리지 거래, 마진 거래 등에서 사용되는 경우가 많다. 실제로 암호화폐 대출의 강제 청산을 막는데도 효과적으로 사용된다. 일반적으로 예치한 담보 가치가 급락하는 경우 서비스 측에서 예치된 담보를 팔아버리는 강제 청산이 이뤄진다. 예를 들어 사용자가 이더리움(ETH)을 담보로 예치하고 100다이(DAI)를 대출했을 때 이더리움 시세가 반으로 급락하면 서비스는 100다이를 회수하기 위해 사용자가 예치한 담보를 모두 매각한다. 여기엔 패널티 비용도 추가된다. 때문에 사용자가 청산을 당하면 피해를 입기 쉽다. 반면 담보가치가 급락하더라도 플래시론 형태로 다이를 빌려서 갚고 이더리움 담보물의 일부를 팔아 청산을 피하도록 돕는 ‘디파이 세이버’ 같은 솔루션도 현재 사용되고 있다.

김준수 운영관리자는 “현재는 공격적으로 사용된 예시들이 많아 플래시론에 대한 인식이 좋지 않다. 전통 금융 시장에선 무담보로 상한선 없는 대출을 할 수 없는데 디파이 시장에선 이같은 기술을 누구나 사용해 차익 거래 등 다양한 사용처를 발굴할 것”이라고 내다봤다. 실제로 메이커다오 프로젝트에서도 ‘무한 금액' 플래시론을 내부에 도입하기 위한 제안이 커뮤니티에 제시된 바 있다.

한편 하베스트의 플랫폼 토큰으로 사용되는 하베스트파이낸스코인(FARM)은 27일 오후 1시 코인마켓캡 기준으로 공격이 발생한 26일보다 51% 하락한 114달러(한화 약 12만 8000원)에 거래되고 있다.

[강민승 D.STREET(디스트리트) 기자]

[ⓒ 매일경제 & mk.co.kr, 무단전재 및 재배포 금지]
기사가 속한 카테고리는 언론사가 분류합니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.