출처=오픈시 홈페이지
출처=오픈시 홈페이지

대체불가능토큰(NFT) 거래소 오픈시(OpenSea)가 최근 오픈시의 프론트엔드 취약점을 이용해 시장가에 현저히 못 미치는 가격으로 NFT를 탈취당한 피해자들에게 보상 조치를 취하겠다고 밝혔다. 

지난 24일(현지시간) 오픈시는 “해당 취약점을 인지하고 있었지만 악의적인 사용자들의 공격을 장려할 것 같아 적극적으로 이 사실을 알리지 않았다”면서 “혼란스러운 사용자화면(UI) 문제로 인해 영향을 받은 NFT 보유자를 찾아 보상조치를 취하고 있다”고 입장을 밝혔다

최근 오픈시에서는 과거에 등록했던 거래 희망가를 취소하지 않고도, ‘이전(Transfer)’ 기능을 활용해 거래가를 새로 등록할 수 있었던 오픈시 기능을 악용한 취약점 공격이 발생했다. 

사용자가 NFT를 보조지갑으로 이전한 후 다시 기본지갑으로 전송할 경우, 사이트에서는 이전 희망가가 보이지 않지만 백엔드 상에서는 여전히 남아있는 점을 악용, 공격자들이 과거 희망가로 거래를 성사해 시세보다 저렴한 값으로 NFT를 탈취한 것이다. 

이때 공격자 중 한명인 'jpegdegenlove'는 최소 19만8000달러(약 2억3710만원)에 판매되던 ‘지루한 원숭이들의 요트 클럽(BAYC)’ NFT #9991를 0.77이더리움(ETH, 약 215만원)에 구입, 이를 84.2ETH(약 2억3471만원)에 판매해 19만4000달러의 차익을 얻은 것으로 나타났다. 

오픈시 취약점 공격으로 NFT를 탈취당한 사용자 중 한명인 TBALER가 트위터에 당혹감을 전했다. 출처=TBALER 트위터 계정
오픈시 취약점 공격으로 NFT를 탈취당한 사용자 중 한명인 TBALER가 트위터에 당혹감을 전했다. 출처=TBALER 트위터 계정

사건이 발생한 후 BAYC NFT #9991를 소유했던 TBALER는 트위터에 우는 이모티콘과 함께 “저 방금 BAYC를 잃었어요. 그리고 지금 울고 있어요…이게 도대체 어떻게 된 일이에요???”라고 당혹감을 표하며 “전 금전적으로 이 손실을 감당할 수 없어요…제발 도와줄 사람 있나요?”라고 트윗하기도 했다. 

블록체인 시스템에서는 소유자만이 주문을 변경할 수 있기 때문에 오픈시가 사용자들의 과거 희망가 주문들을 직접 취소할 수 없다. 해당 공격을 방지하려면 NFT보유자는 가스비를 내고 직접 과거 주문을 취소해야 한다. 

이번 사건으로 오픈시는 과거 희망가 주문을 일괄적으로 보고 관리할 수 있는 도구를 출시했다. 이와 함께 기본 설정 판매기간을 6개월에서 1개월로 줄이고, 판매 설정된 NFT를 외부로 전송할 경우 판매가 설정 취소 여부를 묻는 추가 알림을 제공한다는 방침이다. 

이번 사건을 두고 일부 커뮤니티에서는 이 같은 공격에 대한 책임 소재를 두고 열띤 토론이 벌어지기도 했다.

시스템 취약점을 적극적으로 알리고 문제를 개선하지 않은 오픈시의 책임이라는 의견과, 가스비를 아끼기 위해 혹은 시스템을 숙지하지 못해 공격자들에게 공격의 빌미를 준 사용자의 잘못이라는 의견이 맞붙는 것. 이는 '권한과 책임이 사용자에게 있다'는 탈중앙화 서비스에서 공격이 발생했기 때문에 발생한 측면이 있다.

공격을 적극적으로 분석해 알린 블록체인 보안 기업 엘립틱(Elliptic)의 톰 로빈슨(Tom Robinson) 수석 애널리스트 및 공동창업자는 블룸버그와의 인터뷰에서 “이러한 작동 시스템을 이해하는 책임은 사용자에게 있다고 생각한다”면서도 "여전히 이러한 공격에 대한 책임이 정말 사용자에게 있는지, 아니면 오픈시와 같은 거래소에 사용자를 보호해야 하는 책임이 있어야 하는지에 대해선 논란이 있다"고 전했다

키워드

#NFT #오픈시 #공격
김세진 객원기자. 2018년 말부터 블록체인∙암호화폐 금융(CeFi, DeFi) 시장과 연을 맺고 있습니다. 돈(Money)이 디지털로 변하는 과정을 글로 논합니다. 소량의 비트코인(BTC), 이더리움(ETH) 등을 보유하고 있습니다.
제보, 보도자료는 contact@coindeskkorea.com
저작권자 © 코인데스크코리아 무단전재 및 재배포 금지