COMMENTS (0)
댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.
2026년 4월, Drift Protocol에서 12분 만에 2.85억 달러가 사라졌다. 가짜 토큰과 만료 없는 위임장을 결합한 북한 Lazarus의 수법.
댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.
2026년 4월 1일 오후 12시, Solana 블록체인 위에서 운영되는 탈중앙화 거래소 Drift Protocol의 금고가 열렸다. 31건의 출금이 12분 만에 실행됐다. 금고 잔고는 3억 900만 달러에서 2,400만 달러로 추락했다. 만우절이었지만, 농담이 아니었다.
공격자는 코드를 해킹하지 않았다. 4개 보안 감사 기관이 검증한 프로그램에는 결함이 없었다. 대신 공격자는 사람을 속이고, 존재하지 않는 자산을 만들고, 블록체인의 편의 기능을 무기로 바꿨다.
2026년 3월 11일, 누군가 익명 송금 서비스 Tornado Cash에서 10 ETH(약 800만 원)를 인출했다. 이 자금은 다음 날 새벽에 움직이기 시작했다. 평양 시간으로 오전 9시였다.
30분 뒤, 공격자는 CarbonVote Token(CVT)이라는 토큰을 만들었다. 실체가 없는 가짜 자산이었다. 7.5억 개를 발행하고 80% 이상을 자신이 보유했다.
다음 단계는 이 가짜 자산에 가격을 붙이는 것이었다. 공격자는 거래소에 약 500달러의 유동성을 넣은 뒤, 자신이 통제하는 여러 계좌 사이에서 거래를 반복했다. 자기 자신에게 사고파는 가짜 거래다. 2~3주에 걸쳐 CVT의 시세는 1달러 근처에서 안정적으로 기록됐다.
실제 가치는 500달러. 하지만 Drift의 가격 감정 시스템이 읽는 가격은 "개당 1달러, 총 7.5억 달러." 위조 감정서가 완성된 셈이다.
블록체인 거래는 보통 60~90초 안에 만료된다. 하지만 Solana에는 Durable Nonce라는 기능이 있다. 하드웨어 보안 장치에서 오프라인으로 서명할 때 쓰라고 만든 기능이다.
이 기능을 쓰면 서명된 거래가 영원히 유효하다. 일종의 만료 없는 위임장이다.
3월 23일, 공격자는 이 위임장 4건을 준비했다. 그중 2건은 Drift 운영진의 서명이 필요했다.
Drift의 금고는 5명의 운영위원 중 2명만 서명하면 열리는 구조였다. 공격자는 운영위원들에게 접근해 "일상적인 시스템 점검"으로 보이는 서명을 요청했다. 운영위원들은 승인했다.
하지만 실제 서명 내용은 점검이 아니었다. 금고의 관리자 권한을 공격자에게 넘기는 명령이 숨어 있었다. 운영위원들은 자신이 무엇에 서명했는지 몰랐다.
이 위임장은 만료되지 않는다. 공격자는 "장전된 총"을 9일간 보관했다.
Drift 팀은 3월 27일 운영위원 구성을 교체했다. 보안 강화를 위한 정기 절차였다. 치명적인 실수가 하나 있었다. 타임락을 0초로 설정한 것이다.
타임락은 "승인 후 실행까지 강제 대기 시간"이다. 보통 24~72시간을 둔다. 이 기간 동안 의심스러운 거래를 탐지하고 취소할 수 있다.
타임락이 0이면, 승인 즉시 실행된다. 누군가 이상을 발견할 시간이 없다.
공격자는 즉시 적응했다. 새 운영위원 구성에 맞춰 추가 위임장을 확보했다. 3월 30일까지 새 체제에서도 5명 중 2명의 서명을 손에 넣었다.
1단계, 권한 장악. 9일간 보관한 위임장 2건을 제출했다. Drift 금고의 전체 관리자 권한이 공격자에게 넘어갔다.
2단계, 위조 감정서 등록. 관리자 권한으로 가짜 자산 CVT를 금고의 정식 담보물로 등록했다. 가격 감정 시스템은 공격자가 직접 설정한 것이었다. 출금 한도도 500조 달러로 올려 사실상 제한을 없앴다.
3단계, 금고 비우기. 가치 없는 CVT 7.85억 개를 담보로 맡기고, 금고에 있는 진짜 자산을 빼냈다.
| 자산 | 탈취 규모 |
|---|---|
| JLP 토큰(유동성 풀 지분) | ~1.55억 달러 |
| USDC(스테이블코인) | ~5,160만 달러 |
| 비트코인(cbBTC/wBTC) | ~1,130만 달러 |
| 솔라나(Wrapped SOL) | ~1,045만 달러 |
| 기타 11개 자산 | ~700만 달러+ |
위조 감정서를 들고 은행에서 대출을 받은 뒤 사라진 것과 같다. 12분 만에 2억 8,500만 달러가 빠져나갔다.
탈취 직후 자금 세탁이 시작됐다. 공격자는 탈취한 자산을 모두 USDC(달러 연동 스테이블코인)로 바꾼 뒤, Solana에서 Ethereum 네트워크로 이동시켰다. 이 이동에는 USDC 발행사 Circle이 운영하는 공식 브릿지가 사용됐다.
6시간 동안 100건 이상의 송금으로 2억 3,000만 달러 이상이 네트워크를 건넜다. Ethereum에서 다시 ETH로 전환돼 4개 지갑에 약 13만 ETH가 쌓였다.
블록체인 수사관 ZachXBT는 Circle을 공개적으로 비판했다.
Circle was asleep while many millions of USDC were swapped via CCTP from Solana to Ethereum for hours from the 9-figure Drift hack during US hours.
Circle은 도난 자금을 동결할 기술적 권한이 있다. 실제로 며칠 전 다른 사건에서 16개 지갑을 동결한 바 있다. 하지만 이번에는 6시간 동안 아무 조치도 취하지 않았다. Circle은 "법원 명령 없이는 동결할 수 없다"고 해명했다.
보안 분석 기업 TRM Labs와 Elliptic은 이 공격을 북한에 귀속시켰다.
| 증거 | 내용 |
|---|---|
| 작업 시간대 | 토큰 배포 시각이 평양 표준시 오전 9시와 일치 |
| 초기 자금 | Tornado Cash 경유는 북한의 표준 작전 패턴 |
| 세탁 속도 | 2025년 Bybit 해킹(15억 달러)보다 빠른 속도 |
| 공격 수법 | Bybit, Ronin과 동일한 운영진 표적 소셜 엔지니어링 |
북한은 2025년 한 해에만 20.2억 달러의 암호화폐를 탈취했다. 전 세계 암호화폐 도난의 약 60%다. Lazarus Group의 누적 탈취액은 65억 달러를 넘긴다.
| 사건 | 연도 | 피해 규모 |
|---|---|---|
| Ronin Bridge | 2022 | 6.25억 달러 |
| Wormhole | 2022 | 3.26억 달러 |
| Bybit | 2025 | 15억 달러 |
| Drift Protocol | 2026 | 2.85억 달러 |
Drift는 2026년 들어 18번째 북한 연계 암호화폐 공격으로 기록됐다.
Drift는 Trail of Bits(2022), Neodyme(2024), Zellic, CertiK 등 4개 기관의 보안 감사를 통과했다. 모든 감사는 프로그램 코드에 집중했다. 운영 절차, 권한 관리 구조, 가격 감정 시스템의 검증 로직은 감사 범위 밖이었다.
공격자가 악용한 것은 코드가 아니라 운영이었다. 5명 중 2명만 서명하면 열리는 금고, 0초 타임락, 누구나 만들 수 있는 가격 감정 시스템, 만료 없는 위임장. 네 가지가 결합되어 2억 8,500만 달러가 12분 만에 사라졌다.
"2명이면 충분하다"는 위험한 가정이다. Drift는 5명 중 2명의 승인으로 모든 관리자 작업이 가능했다. 공격자 입장에서는 2명만 속이면 된다. 기업의 관리자 권한도 마찬가지다. 다중 인증의 임계값이 낮으면 소셜 엔지니어링에 취약해진다.
"대기 시간 0"은 방어 시간 0이다. Drift의 타임락 0초 설정은 "변경 즉시 적용"을 의미했다. 기업 환경에서 관리자 권한 변경, 방화벽 규칙 수정, 보안 정책 변경에 강제 대기 시간이 없다면 같은 위험에 노출된다.
코드 감사는 운영 보안을 보장하지 않는다. 4개 기관이 코드를 검증했지만, 공격자는 코드를 건드리지 않았다. 침투 테스트와 코드 리뷰만으로는 소셜 엔지니어링, 권한 관리 취약점, 운영 절차의 허점을 발견할 수 없다.
4월 3일, Drift 팀은 도난 자금이 보관된 4개 지갑에 메시지를 보냈다.
We are ready to speak.
북한 해커가 대화에 응할 가능성은 희박하다. Lazarus Group은 역사상 단 한 번도 탈취한 자금을 반환한 적이 없다.