
Cobo DeFi 보안 강의 (상): 2022년 DeFi 보안 주요 사건 재조명
저자: 맥스(Max), 코보(Cobo) 보안 책임자
모레다오(Moledao)의 초청을 받아 코보 보안 책임자 맥스가 최근 온라인으로 커뮤니티 구성원들에게 DeFi 보안 강의를 진행했다. 맥스는 지난 1년 이상 동안 Web3 산업에서 발생한 주요 보안 사고들을 되돌아보고, 이러한 사건들이 발생한 원인과 이를 어떻게 예방할 수 있는지를 집중적으로 논의했다. 또한 흔히 발생하는 스마트 계약의 보안 취약점과 예방 조치를 정리하고, 프로젝트팀과 일반 사용자들에게 몇 가지 보안 권고사항을 제시했다. 이 글은 맥스의 발표 내용을 두 편으로 나누어 게재하며, DeFi 애호가들이 참고하고 저장할 수 있도록 한다.
만무(Monkey Forest)의 통계에 따르면, 2022년 한 해 동안 블록체인 보안 사건이 300건 이상 발생했으며, 총 피해 금액은 43억 달러에 달했다.

본문에서는 아래 여덟 가지 사례를 상세히 설명한다. 각 사건의 손실 금액은 대부분 1억 달러 이상이며, Ankr의 경우 관련 금액은 비교적 작지만 전형적인 사례로 꼽을 수 있다.

론인 브릿지(Ronin Bridge)
사건 개요:
-
2022년 3월 23일, NFT 게임 액시 인피니티(Axie Infinity)의 사이드체인 론인 네트워크(Ronin Network)는 Sky Mavis의 론인 검증 노드와 액시 DAO 검증 노드가 해킹당해 두 건의 거래를 통해 17.36만 ETH(현재 가치 약 59억 달러)와 2550만 USD가 유출됐다고 밝혔다.
-
미국 재무부는 북한 해커 그룹 라자루스(Lazarus)가 액시인피니티 론인 네트워크의 6.25억 달러 해킹 사건과 연관돼 있다고 발표했다.
-
언론 보도에 따르면, 해커는 링크드인(LinkedIn)을 통해 액시 인피니티 개발사 Sky Mavis의 직원에게 접근해 면접 과정을 거쳐 고액 연봉으로 채용됐다는 허위 정보를 제공했다. 이후 해당 직원이 PDF 형식의 위조된 입사 제안서를 다운로드하면서 해커 소프트웨어가 론인 시스템에 침투했고, 결국 론인 네트워크의 9개 검증기 중 4개를 장악하게 됐다. 하나 더 장악하면 완전히 제어할 수 있었으나, 추가로 권한이 철회되지 않은 액시 DAO를 통제함으로써 최종적으로 침입을 성공시켰다.
북한 해커 그룹은 오랫동안 존재해 왔으며, Web3 기술이 유행하기 전부터 여러 은행 및 대형 기업이 해킹된 사례가 보도된 바 있다. 이제 점점 더 많은 전통적인 해커 그룹과 국가 차원의 세력들이 데이터나 신용카드 정보를 탈취하던 행위에서 벗어나 블록체인 프로젝트를 공격해 직접적인 경제적 이득을 얻는 방향으로 진화하고 있다.
이번 사건의 공격 방식은 전통적인 보안 분야에서 APT(Advanced Persistent Threat, 고도지속위협)라고 불리는 전형적인 형태다. 해커 조직은 목표를 정하면 사회공학 등을 활용해 우선 조직 내 한 대의 컴퓨터를 장악하고, 이를 교두보로 삼아 점진적으로 침투해 최종적으로 공격 목적을 달성한다.
또한 이번 사건은 액시 인피니티 직원들의 보안 의식 부족과 회사 내부 보안 체계의 문제점을 드러냈다.
웜홀(Wormhole)
사건 개요:
-
웜홀이 발표한 사건 보고서에 따르면, 이번 사건의 원인은 솔라나(Solana) 측 웜홀 핵심 계약의 서명 검증 코드에 오류가 있어 공격자가 '감시자(Guardian)'로부터 온 메시지를 위조해 웜홀에서 발행한 ETH를 무단 발행할 수 있었으며, 이로 인해 약 12만 ETH가 유출됐다.
-
점프 크립토(Jump Crypto)가 12만 ETH를 투입해 웜홀 브릿지의 손실을 보상하며, 웜홀의 지속적인 발전을 지원했다.
웜홀이 겪은 문제는 주로 코드 수준에서 비롯됐는데, 폐기된 함수를 사용했기 때문이다. 예를 들어, 초기 버전의 솔리디티(Solidity)에는 설계가 미흡한 함수들이 있었고, 이후 업데이트되며 점차 폐기되었다. 다른 생태계에서도 마찬가지다. 따라서 개발자들은 최신 버전을 사용해 유사한 문제가 발생하지 않도록 하는 것이 좋다.
노매드 브릿지(Nomad Bridge)
사건 개요:
-
크로스체인 상호 운용성 프로토콜 노매드 브릿지가 해킹당한 이유는, 노매드 브릿지 Replica 계약 초기화 시 신뢰 가능한 루트(trust root)가 0x0으로 설정되었고, 루트 수정 시 이전 루트를 무효화하지 않아 공격자가 임의의 메시지를 조작해 브릿지 자금을 훔칠 수 있었다. 공격자는 이 방법으로 1.9억 달러 이상의 가치를 추출했다.
-
해커는 이 취약점을 이용해 유효한 거래를 찾아 반복적으로 조작된 거래 데이터를 보내 브릿지에 묶여 있던 자금을 인출함으로써, 노매드에 묶인 거의 모든 자금을 훔쳐갔다.
-
파이둔(PeckShield)의 모니터링 결과에 따르면, 노매드 해킹 사건에서 약 41개 주소가 약 1.52억 달러(80%)의 이익을 얻었으며, 여기에는 약 7개의 MEV 로봇(약 710만 달러), 라리 캐피탈(Rari Capital) 해커(약 340만 달러), 6개의 화이트햇 해커(약 820만 달러)가 포함됐다. 또한 ENS 도메인 주소의 약 10%가 610만 달러의 수익을 올렸다.
노매드 브릿지 사건은 매우 전형적이며, 근본적으로 초기 설정에 문제가 있었다. 만약 해커가 과거에 유효했던 거래들을 찾아 다시 방송한다면, 해당 거래의 자금이 다시 실행되어 수익이 해커에게 돌아간다. 이더리움 생태계에는 다양한 참여자가 있는데, 프로젝트팀과 사용자 외에도 많은 MEV 로봇이 존재한다. 이 사례에서 자동화된 로봇이 공격 거래를 발견했고, 누구든 이를 방송하면 수익을 얻을 수 있다는 사실을 깨달았다. 가스비만 감당할 수 있다면 모두가 이를 방송하게 되어, 전체 사건이 일종의 돈 쟁탈전으로 변질됐다. 이 사건에는 수많은 주소가 관여했으며, 사후에 프로젝트팀이 일부 ENS 주소와 화이트햇 해커 주소를 찾아 일부 자금을 회수했지만, 대부분의 자금은 돌려받지 못했다. 해커가 완전히 새로운 기기와 주소를 사용했다면, 데이터 연결성을 통해 누군지 파악하는 것은 거의 불가능하다.
구글, 마이크로소프트, 페이스북, 알리바바, 텐센트 등도 해킹을 당한 적이 있지만, 이들 기업의 프로그램은 대부분 폐쇄형이다. 반면 이더리움 생태계 또는 전체 스마트 계약 생태계에서는 많은 프로그램이 오픈소스이기 때문에 해커 입장에서는 분석이 비교적 쉬운 편이다. 따라서 프로젝트에 취약점이 존재하면, 사실상 그 프로젝트의 실패를 선언하는 것과 같다.
비anstalk
사건 개요:
-
이더리움 기반 알고리즘 스테이블코인 프로젝트 비anstalk 팜스(Beanstalk Farms)는 이번 플래시론 공격에서 약 1.82억 달러의 손실을 입었다. 구체적인 자산은 BEAN3CRV-f 79,238,241개, BEANLUSD-f 1,637,956개, BEAN 36,084,584개, UNI-V2_WETH_BEAN 0.54개였다. 공격자는 약 8000만 달러 이상의 이익을 얻었으며, 여기에는 약 24,830 ETH와 3600만 BEAN이 포함됐다.
-
이번 공격의 주요 원인은 제안의 투표와 실행 단계 사이에 시간 간격이 없어, 공격자가 투표를 마친 후 커뮤니티 검토 없이 바로 악성 제안을 실행할 수 있었기 때문이다.
-
공격 과정:
-
하루 전에 토큰을 구매하고 스테이킹하여 제안 자격을 획득한 후, 악성 제안 계약 생성;
-
플래시론을 통해 대량의 토큰을 확보해 악성 계약에 투표;
-
악성 계약 실행 후 차익 실현.
-
비anstalk 역시 매우 전형적인 사례다. 해커는 특별한 취약점을 이용한 것이 아니라 프로젝트 자체의 메커니즘을 악용했다. 이 프로젝트의 메커니즘은 누구나 토큰을 스테이킹하면 제안을 제출할 수 있고, 제안 자체도 계약 형태라는 것이다. 공격자는 공격 하루 전에 일정량의 토큰을 구매한 후 악성 제안을 제출했고, 24시간 후 투표가 가능해졌다. 투표 후 아무런 대기 시간이나 타임락(time lock) 없이 바로 실행될 수 있었다.
최근 많은 프로젝트들이 커뮤니티 자치와 완전한 탈중앙화를 주장하지만, 이런 방식은 많은 문제를 낳는다. 예를 들어, 각 제안마다 검토 메커니즘은 있는가? 제안이 정상인지 악성인지 판단할 수 있는가? 제안이 통과되면 플래시론으로 즉시 스테이킹해 투표하는 것이 효과적인가? 아니면 스테이킹을 일정 시간 유지하거나 투표용 토큰을 발행하는 등의 메커니즘을 도입해야 하는가? 그리고 제안 통과 후 실행까지 반드시 타임락을 두어야 하는가? 이론적으로는 그래야 한다. 타임락 안에 행동을 보면 모두가 탈출할 기회를 갖게 되고, 그렇지 않으면 악성 작업이 실행된다면 누구도 피할 수 없다.
윈터뮤트(Wintermute)
사건 개요:
-
2022년 9월 21일 아침, 에브게니 가예보이(Evgeny Gaevoy)는 트위터를 통해 해킹 사건의 진전을 공개했다. 그는 윈터뮤트가 실제로 6월에 Profanity와 내부 도구를 사용해 지갑 주소를 생성했다고 밝혔다. 이는 수수료 최적화를 위한 것이었으며 단순히 멋진 번호를 만들기 위한 것이 아니었다. 또한 지난주에 Profanity에 취약점이 있음을 알게 된 후, 윈터뮤트는 오래된 키 사용을 가속화해 폐기했지만, 내부(인적) 실수로 잘못된 함수를 호출해 감염된 주소의 서명 및 실행 작업을 삭제하지 못했다고 설명했다.
인터넷에서 앞에 8개의 0이 붙은 주소를 쉽게 볼 수 있는데, 이더리움 주소에 0이 많을수록 수수료가 낮아지기 때문에 특히 고빈도 거래를 하는 MEV 로봇과 프로젝트팀들이 선호한다.
윈터뮤트는 마켓메이커로서 당시 많은 토큰을 한 계약에 보내고, 멋진 번호 생성 프로그램으로 계약 주소를 생성했다. 이 계약의 소유자(owner)도 멋진 번호였는데, 불운하게도 그 소유자의 개인키가 누군가에 의해 무차별 대입 공격으로 계산돼버렸고, 계약 내 자금이 모두 이체됐다.
인터넷에서 오픈소스 도구를 사용할 때는 부정적인 결과를 감수할 준비를 해야 한다. 외부 프로그램을 사용할 때는 충분한 보안 평가를 반드시 수행하는 것이 강력히 권장된다.
하모니 브릿지(Harmony Bridge)
사건 개요:
-
하모니의 호라이즌(Horizon) 크로스체인 브릿지에서 1억 달러 이상의 손실이 발생했으며, 이는 1.3만 이상의 ETH와 5000 BNB을 포함한다.
-
하모니 창립자는 호라이즌이 공격당한 원인이 개인키 유출 때문이라고 밝혔다.
-
블룸버그 보도에 따르면, 블록체인 리서치 회사 엘립틱(Elliptic)의 최신 분석 결과, 북한 해커 그룹으로 의심되는 라자루스 그룹(Lazarus Group)이 하모니 크로스체인 브릿지 호라이즌에서 1억 달러를 훔친 장본인으로 지목됐다. 엘립틱의 분석은 이번 해킹 사건에서 라자루스 그룹을 가리키는 핵심 요소로, Tornado.Cash에 자동 입금해 론인 브릿지 사건과 유사한 자금 세탁 방식을 사용한 점과 도난 시점 등을 강조했다.
하모니 사건은 구체적인 세부 정보가 공개되지 않았지만, 후속 보도에서는 북한 해커 그룹일 가능성이 높다고 언급했다. 만약 북한 해커 그룹이라면, 론인 브릿지와 공격 수법이 동일하다. 북한 해커 그룹은 최근 몇 년간 매우 활발하며, 특히 암호화폐 커뮤니티를 대상으로 하고 있으며, 최근 많은 기업들이 이들의 피싱 공격을 받았다.
Ankr
사건 개요:
-
Ankr: Deployer update 계약.
-
Ankr: Deployer가 Ankr Exploiter에게 BNB 전송.
-
Ankr Exploiter가 업데이트된 계약의 민팅 기능을 통해 aBNBc를 발행.
-
총 10조 aBNBc가 무작위로 발행됐으며, 해커 A는 PancakeSwap에서 이를 500만 USDC로 교환해 거래 풀을 고갈시키고, aBNBc의 가치를 거의 0으로 만들었다. 이후 해커 A는 자금을 이더리움으로 이체하고 Tornado Cash에 입금했다.
-
해커 A가 민팅한 지 약 30분 후, aBNBc가 폭락하며 차익거래 기회가 발생했다. 트레이더 B는 대출 프로토콜 Helio의 오라클이 6시간 평균 가중치를 설정한 점을 이용해, 시장과 Helio 시스템 내 aBNBc의 가격 차이를 활용해 hBNB로 교환하고, 이를 스테이킹해 스테이블코인 HAY를 얻은 후 BNB와 USDC로 전환함으로써 총 1700만 달러 이상의 스테이블코인과 BNB를 차익 실현했으며, 이로 인해 HAY 거래 풀이 거의 고갈됐다.
-
Ankr은 1500만 달러 규모의 회복 기금에서 자금을 조달해 증발된 HAY를 구매하고 공격 피해자들을 보상할 예정이다.
Ankr의 전체 손실은 크지 않지만 별도로 언급하고자 한다. 현재 많은 DeFi 프로젝트는 레고 블록처럼 A가 B에 의존하고, B가 C에 의존하는 식으로 조합되기 때문에, 체인의 어느 한 부분에 문제가 생기면 상류와 하류 모두 영향을 받을 수 있다.

나중에 Ankr은 사건 원인을 밝히며, 퇴사한 내부 직원의 악의적인 행동 때문이라고 설명했다. 드러난 문제점은 다음과 같다. 첫째, 스테이킹 계약의 소유자(owner)가 다중서명이 아닌 EOA 계정이라는 점인데, 이는 본질적으로 누구나 개인키를 소유하면 스마트 계약을 통제할 수 있으므로 매우 위험하다. 둘째, Deployer의 개인키가所谓 핵심 직원뿐만 아니라 퇴사 후에도 여전히 사용 가능하다는 점이다. 즉, 전체 내부 보안 체계가 거의 무용지물이었다는 것이다.
망고(Mango)
사건 개요:
-
해커는 두 개의 계정으로 시작해 총 1000만 USDT를 자본금으로 사용했다.
-
첫 번째 단계: 해커는 망고 거래소의 A, B 주소 각각에 500만 달러를 입금했다.
-
두 번째 단계: 해커는 A 주소를 통해 망고에서 MNGO 퍼포츠 계약으로 플랫폼 토큰 MNGO를 숏 포지션(공매도)했다. 진입 가격은 0.0382달러이며, 포지션 규모는 4.83억 개였다. 동시에 B 주소로 MNGO를 롱 포지션(매수)했으며, 진입 가격은 0.0382달러, 포지션 규모도 4.83억 개였다. (롱과 숏을 동시에 여는 이유는 망고 플랫폼의 유동성이 낮아 자신이 상대방이 되지 않으면 이렇게 큰 포지션을 열기 어렵기 때문이다.)
-
세 번째 단계: 해커는 FTX, Ascendex 등 여러 거래소에서 MNGO 현물 가격을 급등시켜 5~10배 상승시켰고, 이 가격은 Pyth 오라클을 통해 망고 거래소로 전달돼 가격 상승을 더욱 부채질했으며, 결국 망고 플랫폼의 MNGO 가격은 0.0382달러에서 최고 0.91달러까지 치솟았다.
-
네 번째 단계: 해커의 롱 포지션 수익은 4.83억 × (0.91달러 - 0.0382달러) = 4.2억 달러였다. 해커는 이 계정의 순자산을 담보로 망고에서 대출을 신청했다. 다행히 플랫폼의 유동성이 부족해 최종적으로 약 1.15억 달러만 인출할 수 있었다.
-
공격 후, 해커는 새로운 제안을 발표하며 공식이 국고 자금(7000만 달러)을 활용해 프로토콜의 부실채무를 상환해줄 것을 요구했다. 알려진 바에 따르면, 현재 국고 자금은 약 1.44억 달러로, 이 중 8850만 달러 상당의 MNGO 토큰과 약 6000만 달러의 USDC가 포함된다. 해커는 공식이 위 제안을 수락할 경우 일부 도난 자금을 반환하겠다고 밝히며, 형사 조사나 자금 동결을 원치 않는다고 전했다. "이 제안이 통과되면, 이 계정의 MSOL, SOL, MNGO를 망고 팀이 공개한 주소로 보내겠다. 망고 국고는 프로토콜의 남은 부실채무를 상환하는 데 사용되며, 모든 부실채무 사용자는 완전한 보상을 받게 될 것이다... 위와 같이 토큰이 반환되면, 어떠한 형사 조사나 자금 동결도 이루어지지 않을 것이다."
-
코인데스크(CoinDesk) 보도에 따르면, 이전에 신원을 공개한 망고 공격자 아브라함 아이젠버그(Avraham Eisenberg)가 2022년 12월 26일 푸에르토리코에서 체포됐으며, 상품 사기 및 조작 혐의로 기소됐다. 이 혐의는 벌금 및 징역형을 받을 수 있다.
망고 사건은 보안 사고로 정의할 수도 있고, 차익거래로 볼 수도 있다. 문제는 보안 취약점이 아니라 비즈니스 모델의 결함 때문이기 때문이다. 거래 품목에는 BTC, ETH 등 시가총액이 큰 코인뿐 아니라 MNGO 같은 소형 코인이 포함되는데, 이런 소형 코인은 약세장에서 유동성이 부족하기 때문에 소량의 자금으로도 가격을 크게 끌어올릴 수 있으며, 이는 퍼포츠 계약 플랫폼의 포지션 관리를 극도로 어렵게 만든다.
따라서 프로젝트팀은 다양한 시나리오를 충분히 고려해야 하며, 테스트 시 예상 밖의 모든 시나리오를 테스트 케이스에 포함시켜야 한다.
일반 사용자의 경우, 특정 프로젝트에 참여할 때 수익만을 바라볼 것이 아니라 원금의 안전성도 함께 고려해야 한다. 보안 취약점을 넘어, 사업 모델 자체에 악용될 수 있는 결함이 없는지 신중히 살펴봐야 한다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














