바이비트 사건 분석!

서틱 리서치 (CertiK Research)
2025.02.25 19:56:16

목차:
1. 사건 개요
2. 공격 거래 기록
3. 주요 주소
4. 공격 프로세스
5. 취약점 분석
6. 경험 및 교훈
사건 개요
2025년 2월 21일 UTC 시간 오후 02:16:11, 바이비트(Bybit)의 이더리움 콜드 월렛(0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4)이 악의적인 계약 업그레이드로 인해 자금이 도난당하는 사건이 발생했습니다. 바이비트 CEO 벤 저우(Ben Zhou)에 따르면, 공격자는 피싱 공격을 통해 콜드 월렛 서명자를 유인하여 악성 거래에 잘못 서명하도록 유도했습니다. 이 거래는 Safe{Wallet} 인터페이스에서 정상 거래처럼 보였지만, 실제로는 Ledger 장치로 전송된 데이터가 악의적으로 수정되었습니다. 공격자는 세 개의 유효한 서명을 확보하여 Safe 멀티시그 월렛의 구현 계약을 악성 계약으로 교체함으로써 자금을 탈취했습니다. 이로 인해 약 14.6억 달러의 손실이 발생하며, Web3 역사상 최대 규모의 보안 사건으로 기록되었습니다.
공격 거래 기록
Safe 지갑을 악의적인 계약으로 업그레이드:
https://etherscan.io/tx/0x46deef0f52e3a983b67abf4714448a41dd7ffd6d32d32da69d62081c68ad7882
바이비트 콜드 월렛에서 자금을 전송한 여러 건의 거래:
주요 주소
공격 프로세스
1. 공격자는 공격 3일 전 (2025년 2월 18일 UTC 기준) , 두 개의 악성 계약을 배포했습니다.
a. 이 계약들은 자금 이동을 위한 백도어 기능을 포함하고 있습니다.
b. 또한, 계약 업그레이드를 위한 저장 슬롯 수정 코드를 포함하고 있습니다.
2. 공격자는 2025년 2월 21일, 세 개의 다중 서명 지갑 소유자(서명자)를 유인하여 악성 거래에 서명하게 했습니다. 이를 통해 Safe의 구현 계약을 이전에 배포된 백도어가 포함된 악성 계약으로 업그레이드했습니다:
https://etherscan.io/tx/0x46deef0f52e3a983b67abf4714448a41dd7ffd6d32d32da69d62081c68ad7882.
3. 공격 거래의 "operation" 필드 값은 "1"로, 이는 GnosisSafe 계약이 "delegatecall"을 실행하도록 지시하며, "0"은 "Call"을 의미합니다.
4. 해당 거래는 공격자가 배포한 다른 계약(0x96221423681a6d52e184d440a8efcebb105c7242)으로 위임 호출을 실행했습니다. 이 계약에는 "transfer()" 함수가 포함되어 있으며, 호출 시 계약의 첫 번째 저장 슬롯인 "uint256 _transfer"를 수정합니다.
Gnosis Safe 계약의 첫 번째 저장 슬롯에는 "masterCopy" 주소가 포함되어 있으며, 이는 Gnosis Safe 계약의 구현 계약 주소를 나타냅니다.
공격자는 Gnosis Safe 계약의 첫 번째 저장 슬롯을 수정하여 구현 계약 주소, 즉 "masterCopy" 주소를 변경할 수 있습니다.
거래 세부정보에서 공격자가 "masterCopy" 주소를 0xbDd077f651EBe7f7b3cE16fe5F2b025BE2969516으로 설정한 것을 확인할 수 있습니다. 이 주소에는 "sweepETH()"와 "sweepERC20()" 함수가 포함되어 있습니다.
5. 공격자가 사용한 계약 업그레이드 방법은 비정상적이며, 공격 의도가 드러나지 않도록 특별히 설계되었습니다. 바이비트 서명자의 입장에서는 서명된 데이터가 의심을 불러일으킬 수 있는 "업그레이드" 함수가 아닌, 단순한 "transfer(address, uint256)" 함수 호출처럼 보입니다.
6. 업그레이드된 악성 계약에는 백도어 함수인 “sweepETH()”와 “sweepERC20()”가 포함되어 있습니다. 공격자는 이 함수를 호출하여 콜드 월렛에 있는 모든 자산을 이전했으며, 그 결과 14억 달러의 ETH가 도난당했습니다.
취약점 분석
이번 취약점의 원인은 성공적인 피싱 공격입니다. 공격자는 월렛 서명자를 유인하여 악의적인 거래 데이터를 서명하게 했고, 이로 인해 계약이 악의적으로 업그레이드되었습니다. 이번 업그레이드로 공격자는 콜드 월렛을 제어하고 모든 자산을 이전할 수 있게 되었습니다. 현재 피싱 공격의 구체적인 계획 및 실행 방식은 아직 명확하지 않습니다.
바이비트 CEO 벤 저우는 사건 발생 두 시간 후 X 플랫폼에서 진행된 라이브 방송에서, 바이비트 팀이 콜드 월렛에서 핫 월렛으로 자산을 전환하는 일반적인 절차를 수행하고 있었으며, 자신이 Safe 멀티시그 거래의 마지막 서명자였다고 설명했습니다. 그는 해당 거래가 교묘하게 위장 처리되었음을 분명히 밝혔습니다. 모든 서명자는 Safe{Wallet} 인터페이스에서 주소와 거래 데이터가 올바르게 표시되었고, URL이 Safe{Wallet} 공식 검증을 통과했다고 언급했습니다. 그러나 거래 데이터가 Ledger 하드웨어 월렛으로 전송될 때 실제 내용은 변조되었습니다. 벤 저우는 Ledger 장치 화면에서 거래 세부 정보를 재확인하지 않았다고 덧붙였습니다.
현재 공격자가 Safe{Wallet} 인터페이스를 어떻게 변조했는지는 아직 밝혀지지 않은 상태입니다. 한편, Arkham의 정보에 따르면 온체인 분석가 @zachxbt는 이번 공격이 LAZARUS 해커 조직에 의해 계획되고 실행되었다는 결정적인 증거를 제시했습니다.
경험 및 교훈
이번 사건은 2024년 10월 16일 발생한 Radiant Capital 취약점 사건을 연상시킵니다(참조 1, 참조 2). 해당 사건에서는 약 5000만 달러가 탈취되었습니다. 당시 공격자는 개발자의 디바이스를 해킹한 후 Safe{Wallet}의 프론트엔드 인터페이스를 변조했습니다. 이로 인해 합법적인 거래 데이터가 표시되었지만, 실제로 하드웨어 지갑으로 전송된 데이터는 악의적인 내용이었습니다. 이러한 변조는 수동 인터페이스 검토 및 Tenderly 시뮬레이션 테스트로는 탐지할 수 없었습니다. 공격자는 먼저 신뢰할 수 있는 외부 계약업체로 위장한 후 Telegram 메시지를 통해 악성 소프트웨어(모든 macOS의 지속적인 백도어를 설치하는) 파일이 포함된 압축 PDF 파일을 목표에게 전송하여 디바이스 접근 권한을 확보했습니다.
바이비트 사건에서 인터페이스 변조의 근본 원인은 아직 확인되지 않았지만, 디바이스 해킹이 중요한 요소일 가능성이 있습니다(이는 Radiant Capital 사건과 유사합니다). 두 사건 모두 공격이 성공하기 위한 두 가지 전제조건을 드러냅니다: 디바이스 해킹과 블라인드 서명(Blind Signing) 행동입니다. 이러한 공격이 점점 더 빈번해짐에 따라, 우리는 두 가지 주요 공격 수단과 이에 대한 완화 전략을 집중적으로 분석할 필요가 있습니다.
1. 디바이스 해킹
사회 공학 기법을 통해 악성 소프트웨어를 퍼뜨려 피해자의 디바이스를 해킹하는 것은 여전히 Web3 분야에서 대규모 공격의 주요 수단입니다. 국가 차원의 해킹 조직(예: LAZARUS GROUP)은 이 방법을 사용하여 초기 방어선을 뚫고, 디바이스 해킹을 통해 보안 통제를 효과적으로 우회할 수 있습니다.
완화 전략 :
-
디바이스 보안 강화: 엄격한 엔드포인트 보안 정책을 수립하고 EDR 솔루션(예: CrowdStrike)을 배포하여 보안을 강화합니다.
-
전용 서명 디바이스 사용: 격리된 환경에서 전용 디바이스를 이용해 거래 서명을 수행함으로써 다목적 디바이스의 노출 위험을 줄입니다.
-
임시 운영 체제 구성: 중요한 작업(예: 다중 서명 거래)을 위해 비영구적인 운영 체제(예: 임시 가상 머신)를 설정하여 깨끗한 작업 환경을 유지합니다.
-
피싱 모의 훈련 실시: 고위험 역할(예: 암호 자산 운영자, 다중 서명자)에 대해 정기적으로 피싱 공격 모의 훈련을 진행하여 보안 인식을 높입니다.
-
레드팀 공격 방어 훈련: 공격자의 전술을 시뮬레이션하여 기존 보안 통제 수단의 유효성을 평가하고, 이를 기반으로 보안을 강화합니다.
2. 블라인드 서명(Blind Signing) 취약점
블라인드 서명은 사용자가 거래 세부 사항을 완전히 검토하지 않고 거래에 서명함으로써 악의적인 거래가 의도치 않게 승인될 수 있는 상황을 말합니다. 이러한 안전하지 않은 행위는 DeFi 사용자들 사이에서 흔히 발생하며, 고액 자산을 관리하는 암호화폐 기관에 특히 위험합니다. 최근 하드웨어 지갑인 Ledger는 이 문제에 대해 심도 있게 논의하였습니다(참고 1, 참고 2). 바이비트 사건에서는 악의적인 인터페이스가 거래의 실제 의도를 숨겨 수정된 데이터가 Ledger 장치로 전송되었고, 서명자는 장치에서 세부 사항을 확인하지 않아 결국 취약점이 발생하게 되었습니다.
완화 전략 :
-
검증되지 않은 Dapp 피하기: 신뢰할 수 있는 플랫폼과만 상호작용하고, 공식 웹사이트를 북마크하여 피싱 링크를 방지합니다.
-
하드웨어 지갑 이중 확인: Ledger와 같은 하드웨어 지갑의 화면에서 거래 세부 사항(수신 주소, 금액, 함수 호출)을 항목별로 확인하여 예상과 일치하는지 검증합니다.
-
거래 시뮬레이션: 서명하기 전에 거래를 시뮬레이션하여 결과를 확인하고 정확성을 검증합니다.
-
비가시화 인터페이스 사용: 명령줄 인터페이스(CLI)를 선택하여 제3자의 그래픽 사용자 인터페이스에 대한 의존도를 줄입니다. CLI는 UI 조작의 위험을 낮추고 더 투명한 거래 데이터를 제공합니다.
-
이상 시 즉시 종료: 거래의 어떤 부분이라도 이상이 있을 경우, 즉시 서명 프로세스를 중단하고 조사를 시작합니다.
-
이중 장치 검증 메커니즘: 서명하기 전에 별도의 장치를 사용하여 거래 데이터를 독립적으로 검증합니다. 이 장치는 읽을 수 있는 서명 인증 코드를 생성해야 하며, 이 코드는 하드웨어 지갑에 표시된 데이터와 일치해야 합니다.
Radiant Capital과 WazirX에서 수천만 달러의 손실에 이어, 바이비트는 Web3 역사상 가장 큰 규모의 해킹 피해를 입었습니다. 이러한 공격의 빈도와 복잡성이 지속적으로 증가하고 있으며, 이는 업계의 운영 및 보안에서 중대한 결함을 드러내고 있습니다. 공격자들은 고가치 목표를 체계적으로 겨냥하고 있으며, 상대방의 능력이 향상됨에 따라 중앙화 거래소(CEX)와 암호화폐 기관은 외부 위협의 진화를 경계하고 보안 방어 수준을 전면적으로 강화해야 할 필요성이 커지고 있습니다.
0
안내사항
- (주)토큰포스트에서 제공하는 리서치에 대한 저작권 및 기타 지적재산권은 (주)토큰포스트 또는 제휴 파트너에게 있으며, 이용자를 위한 정보 제공을 목적으로 합니다.
- 작성된 내용은 작성자 본인의 견해이며, (주)토큰포스트의 공식 입장이나 의견을 대변하지 않습니다.
- (주)토큰포스트는 리서치 및 관련 데이터를 이용한 거래, 투자에서 발생한 어떠한 손실이나 손해에 대해서 보상하지 않습니다.
- 가상자산은 고위험 상품으로써 투자금의 전부 또는 일부 손실을 초래 할 수 있습니다.
마켓 카테고리 리서치
더보기
리서치 삭제
글 삭제 후 복구가 불가능 합니다. 삭제하시겠습니까?