
무슨 일이 있었나요?
세계 최대 암호화폐 거래소 바이낸스에서 약 63억 달러(원화로 대략 8~9조 원) 규모의 자산이 탈취됐어요. 그런데 실제 실행 단계만 놓고 보면 공격이 불과 20분 만에 끝났다는 분석이 나왔어요. 2025년 초 바이빗(Bybit)이 약 15억 달러를 털렸을 때 '암호화폐 역사상 최대 해킹'이라는 말이 나왔는데, 이번엔 그 네 배가 넘는 규모예요.
공격자가 정확히 어떤 경로로 들어왔는지, 피해 복구는 어떻게 되는지 같은 세부 내용은 원문 기사와 바이낸스 공식 발표를 함께 확인하세요. 이 글에서는 '20분'이라는 숫자가 개발자에게 무슨 의미인지, 비슷한 대형 해킹들은 어떤 구조로 일어났는지를 중심으로 풀어볼게요.
'20분'이 무서운 이유
은행 해킹이라면 돈이 빠져나가도 송금 취소, 계좌 동결, 국가 간 공조 같은 브레이크가 여러 겹 있어요. 그런데 블록체인은 한 번 확정된 거래를 되돌릴 방법이 없어요. 누구의 허락도 필요 없다는 게 블록체인의 장점인데, 해킹 상황에선 그게 그대로 약점이 되는 거죠.
그래서 대형 해킹은 보통 세 단계로 진행돼요. 첫 번째는 사전 잠입이에요. 몇 주, 길게는 몇 달 동안 직원 PC나 내부 시스템, 서드파티 서비스를 조용히 장악해요. 두 번째는 순간 실행이에요. 키나 서명 권한을 손에 넣는 순간, 미리 준비한 자동화 스크립트로 지갑을 한꺼번에 비워요. 세 번째는 즉시 세탁이에요. 탈취한 토큰을 탈중앙 거래소(DEX)에서 다른 코인으로 바꾸고, 크로스체인 브리지(서로 다른 블록체인 사이로 자산을 옮겨 주는 서비스)를 타고 여러 체인으로 흩어 버려요.
즉 '20분'은 준비 기간이 아니라 방아쇠를 당긴 뒤 걸린 시간이에요. 사람이 이상 징후를 알아채고 긴급 회의를 잡을 즈음엔 자금이 이미 수많은 주소로 쪼개져 있는 거죠. 이 숫자가 주는 교훈은 탐지와 차단까지 자동화돼 있지 않으면 실행 단계에서 막기는 사실상 불가능하다는 거예요.
과거 대형 해킹들은 어땠나
비교를 위해 잘 알려진 두 사건을 볼게요.
바이빗(2025년 2월, 약 15억 달러) 사건은 FBI가 북한 해킹 조직의 소행으로 지목했어요. 바이빗은 멀티시그(여러 명이 함께 서명해야 송금되는 지갑) 서비스인 Safe를 쓰고 있었어요. 공격자는 Safe 개발자의 PC를 거쳐 웹 화면 코드를 바꿔치기했고요. 서명자들 눈에는 평범한 이체로 보였지만, 실제로 서명한 건 지갑 통제권을 공격자에게 넘기는 트랜잭션이었어요. 화면에 보이는 것과 실제로 서명하는 것이 달랐던 거예요.
로닌 브리지(2022년, 약 6억 2500만 달러) 사건은 게임 엑시 인피니티의 브리지에서 일어났어요. 검증자 키 9개 중 5개만 있으면 출금을 승인할 수 있는 구조였어요. 공격자는 가짜 채용 제안으로 엔지니어가 악성 파일을 열게 만들어서 키를 확보했어요. 더 충격적인 건 운영사가 해킹 사실을 며칠이 지나서야 알아챘다는 점이에요.
공통점이 보이시나요? 스마트 컨트랙트 코드의 버그보다 사람, 키 관리, 서명 화면, 서드파티 의존성 같은 '코드 바깥' 영역이 뚫린 경우가 많아요.
개발자가 가져갈 교훈
거래소를 만드는 개발자가 아니어도 참고할 점이 많아요.
- 서명 내용을 독립적으로 검증하기: 화면이 조작되면 승인 버튼을 누르는 사람은 속을 수밖에 없어요. 하드웨어 지갑 화면이나 별도 시스템에서 트랜잭션 원본을 디코딩해 대조하는 절차가 필요해요.
- 프론트엔드와 CDN도 공급망이에요: 서비스가 불러오는 JS 파일 하나만 바뀌어도 전체가 무너질 수 있어요. SRI(Subresource Integrity) 같은 기본 방어부터 챙기세요. 스크립트 파일의 해시값을 미리 지정해 두고, 파일이 바뀌면 실행을 막는 기능이에요.
- 출금 한도와 타임락: 일정 금액 이상은 정해진 시간이 지나야 실행되게 걸어 두세요. 몇 분 만에 전부 털리는 상황에서 대응할 시간을 벌 수 있어요.
- 사회공학 경계: 가짜 채용 제안이나 가짜 코딩 과제 파일은 개발자를 노리는 단골 수법이에요.
한국 개발자에게 주는 시사점
한국도 이 문제에서 자유롭지 않아요. 2019년 업비트에서 이더리움 약 34만 개(당시 약 580억 원어치)가 빠져나간 사건이 있었고, 경찰은 긴 수사 끝에 북한 해킹 조직의 소행으로 결론 내렸어요. 국내 거래소나 핀테크, 게임사 블록체인 조직에서 일한다면 키 관리 체계와 출금 승인 프로세스를 다시 점검해 볼 때예요.
블록체인과 상관없는 서비스라도 질문은 같아요. '권한 하나가 털리면 몇 분 만에 끝나는 구조'가 우리 시스템에도 있지 않은가? 클라우드 루트 계정, 배포 파이프라인의 시크릿, 결제 API 키가 대표적인 후보예요.
마무리
한 줄 정리: 대형 해킹의 실행은 몇 분이면 끝나요. 그래서 방어의 승부는 그 전에, 키와 권한과 승인 절차를 설계할 때 이미 갈려요.
여러분 팀에는 '이 키 하나 털리면 끝'인 단일 장애점이 있나요? 있다면 어떻게 대비하고 계신지 공유해 주세요.
🔗 출처: Hacker News