바이비트 해킹 사건 분석: 암호화폐 거래소 보안, 어떻게 강화해야 할까요?

Published on
March 3, 2025
바이비트 해킹! 😱 14억 달러 암호화폐 탈취 사건 발생! 🚨 Safe{Wallet} 취약점 악용, API 키 유출, AWS S3 버킷 침해 가능성... 😨 암호화폐 거래소 보안, 지금 바로 점검하세요!
김동현

Entrepreneurship, Security Engineer, Innovation

TABLE OF CONTENT
Subscribe to our newsletter
Read about our privacy policy.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

지난 2월 21일, 암호화폐 거래소 바이비트에서 발생한 14억 달러 규모의 해킹 사건은 암호화폐 업계 전체에 큰 충격을 안겨주었습니다. 401,347 이더리움을 포함한 막대한 암호화폐 자산이 탈취당한 이번 사건은 높은 보안성을 유지하고 있을 것이라고 예상되는 전세계 10위권의 암호화폐 거래소도 해킹을 피해갈 수 없음을 나타내줍니다.

이번 블로그 포스팅에서는 바이비트 해킹 사건을 상세히 분석하고, 그 원인과 영향, 그리고 보안 강화를 위한 방안을 모색해보고자 합니다.

사건의 개요 및 타임라인

  • 2월 18일: 공격자가 악성 계약을 배포하며 해킹의 서막을 알렸습니다.
  • 2월 21일: 바이비트의 다중 서명 콜드 월렛에서 막대한 양의 이더가 알 수 없는 주소로 전송되는 사건이 발생했습니다. 모든 거래는 블록체인에 기록되었습니다.

기술적 분석: 고도화된 공격 기법

이번 해킹은 Safe{Wallet} 플랫폼과 바이비트 내부 시스템 간의 취약점을 교묘하게 이용한 매우 정교한 공격이었습니다. 공격자는 바이비트 서명자가 거래 관리를 위해 사용하는 app.safe.global 플랫폼에 악성 자바스크립트 코드를 삽입했습니다. 이 악성 코드는 특정 조건이 충족될 때까지 잠복해 있다가, 특정 타이밍에 활성화되어 특정한 타겟을 노리는 방식으로 설계되었습니다.

악성 코드 삽입 및 분석

공격자는 바이비트 서명자가 접근하는 app.safe.global에 악성 자바스크립트 코드를 주입했습니다. 이 코드는 특정 조건에서만 작동하도록 설계되어 일반 사용자에게는 발각되지 않고, 특정 조건을 만족하는 고가치 타겟만을 공격했습니다.

공격에 사용된 주요 자바스크립트 파일은 _app-52c9031bfa03da47.js 와 6514.b556851795a4cbaa.js 두 가지입니다. 이 파일들은 트랜잭션 실행, 서명, 가스 제한 계산과 관련된 중요한 기능들을 교묘하게 변조했습니다.

  • 한 파일은 executeTransaction 및 signTransaction 호출을 수정했습니다.
  • 다른 파일은 useGasLimit 호출을 수정했습니다.
  • 악성 자바스크립트 파일 중 하나의 최종 수정 시간은 2월 19일로 거슬러 올라갑니다.
  • 정상적인 자바스크립트 파일은 2월 19일에 악성 코드로 교체된 것으로 추정됩니다.

코드 분석: 패치 및 악용

악성 코드는 특정 주소와 트랜잭션 유형을 목표로 삼았습니다. 서명자와 Safe의 주소를 확인하고, 미리 설정된 표적 목록에 있는지 확인하는 방식으로 작동했습니다. 서명자의 주소가 표적으로 확인되면 페이지를 다시 로드하여 서명을 방해했습니다.

해킹의 핵심은 Safe 주소에 초점을 맞추고 있었습니다. Safe 주소가 목표이고, 현재 트랜잭션 작업이 기본값(0)으로 설정된 경우 악성 코드가 실행되었습니다.

패치 상세 분석:

  1. executeTransaction 호출 패치:
    • 트랜잭션을 재작성하여 자금을 공격자의 주소로 빼돌렸습니다.
    • Safe 주소가 목표이고 트랜잭션 작업이 0으로 설정되었는지 확인했습니다.
    • 두 조건이 모두 충족되면 트랜잭션 데이터를 수정하여 공격자의 주소로 자금을 이체했습니다.
    • 원래 트랜잭션 데이터는 임시 저장 후 악성 트랜잭션 실행 후 복원되었습니다.
  2. signTransaction 호출 패치:
    • executeTransaction 패치와 유사하게 Safe 주소가 목표이고 트랜잭션 작업이 기본값(0)인 경우 공격을 실행하기 위해 트랜잭션 데이터를 수정했습니다.
    • 서명자 주소가 목표 주소 중 하나인 경우 페이지를 다시 로드하여 정상적인 트랜잭션 승인을 방해했습니다.
    • executeTransaction 패치와 마찬가지로 원래 트랜잭션 데이터를 임시 저장 후 복원했습니다.
  3. useGasLimit 호출 패치:
    • 목표 Safe 주소에 대해 특정 가스 제한 값(218207)을 반환하도록 설계되었습니다.
    • 가스 제한을 조작하여 악성 트랜잭션이 경고 없이 실행되도록 했습니다.

Safe{Wallet} 플랫폼 악용

공격자는 Safe{Wallet} 플랫폼의 취약점을 악용했습니다. 트랜잭션 서명 과정에 악성 코드를 삽입하여 UI에 정상적인 주소를 표시하면서 실제 트랜잭션 내용을 변경했습니다. 이로 인해 서명자는 자신도 모르게 악성 트랜잭션을 승인하게 되었습니다.

공격자는 다중 서명 메커니즘을 우회했습니다. UI를 조작하고 트랜잭션 데이터를 변경하여 서명자를 속이고, 공격자가 지정한 주소로 자금을 이체하도록 승인을 받았습니다. UI에는 정상적인 트랜잭션이 표시되었지만, 실제 데이터는 공격자에게 자금을 이체하도록 변경되었습니다.

API 키 유출 및 S3 버킷 손상 가능성

조사 결과, Safe.Global의 AWS 인프라가 침해되었을 가능성이 제기되었습니다. Safe.Global의 AWS S3 또는 CloudFront 계정/API 키가 유출되었거나 손상되었을 가능성이 높다는 분석입니다. 이를 통해 공격자는 Safe.Global 인프라에 호스팅된 자바스크립트 파일을 수정할 수 있었을 것으로 추정됩니다.

API 키 유출을 뒷받침하는 증거

  1. 자바스크립트 파일 수정: 악성 자바스크립트 파일은 실제 해킹이 발생하기 전인 2월 19일에 수정되었습니다. 이는 Safe.Global 서버에 대한 무단 접근을 의미합니다.
  2. 수정 시간: 악성 자바스크립트 파일의 최종 수정 시간은 공격 타임라인과 일치하며, 악의적인 의도를 가진 조직적인 공격임을 암시합니다.
  3. Wayback Archive 분석: Wayback Archive 분석 결과, 정상적인 자바스크립트 파일이 2월 19일에 악성 코드로 대체된 것으로 나타났습니다.
  4. Chrome 캐시 데이터: Chrome 캐시 파일 분석 결과, 2월 21일 Safe{Wallet}의 AWS S3 버킷에서 제공된 리소스가 2월 19일에 마지막으로 수정된 것으로 확인되었습니다.
  5. 응답 헤더: 수정된 자바스크립트 리소스에 대한 응답 헤더는 악성 트랜잭션 실행 후 약 2분 후인 2월 21일 14:15:13 및 14:15:32 UTC에 AWS S3 버킷에서 리소스가 수정되었음을 보여줍니다.

API 키 유출 시 발생할 수 있는 위험

API 키가 유출되거나 AWS S3 계정이 손상되면 심각한 결과를 초래할 수 있습니다. 공격자는 다음과 같은 행위를 할 수 있습니다.

  • 웹사이트 콘텐츠 수정: Safe{Wallet} 플랫폼에 악성 자바스크립트 또는 기타 코드를 삽입할 수 있습니다.
  • 사용자 트랜잭션 리디렉션: 트랜잭션 정보를 변경하여 자금을 공격자가 제어하는 주소로 보낼 수 있습니다.
  • 민감 데이터 접근: AWS S3 버킷에 저장된 민감한 데이터에 접근할 수 있습니다.

공격의 배후: 북한 라자루스 그룹

FBI는 이번 바이비트 해킹 사건의 배후로 북한 해킹 그룹인 TraderTraitor, 일명 라자루스 그룹을 지목했습니다. 라자루스 그룹은 금전적 이득을 목적으로 암호화폐 거래소와 금융 기관을 대상으로 정교한 사이버 공격을 감행해 온 이력이 있습니다.

  • 북한은 2024년 한 해에만 약 8억 달러 상당의 암호화폐를 탈취했습니다.
  • 북한의 공격 규모는 다른 공격자들에 비해 약 5배 정도 크며, 이는 북한이 대규모 공격에 집중하고 있음을 보여줍니다.
  • 이러한 공격은 국제 제재를 회피하고 북한 정권에 자금을 조달하기 위한 목적으로 분석됩니다.
  • 라자루스 그룹은 과거 소니 픽처스, 방글라데시 중앙은행, WannaCry 랜섬웨어 공격 등에 연루된 것으로 알려져 있습니다.

바이비트의 대응 및 복구 노력

바이비트는 해킹 사건 이후 피해를 최소화하고 신뢰를 회복하기 위해 다양한 노력을 기울이고 있습니다.

  • 신속한 공개 및 투명한 소통: 해킹 사실을 인정하고 사용자들에게 신속하고 투명하게 정보를 공개했습니다.
  • 피해 사용자 보상: 피해를 입은 사용자들에게 완전한 보상을 제공하여 고객 자금 손실을 막았습니다.
  • 바운티 프로그램 운영: 자산 회수에 도움이 되는 정보 제공자에게 상당한 보상금을 지급하는 바운티 프로그램을 운영하고 있습니다.
  • 보안 강화: 향후 유사한 공격을 방지하기 위해 보안 시스템을 강화하고 있습니다.
  • ETH 매입: 손실된 이더를 보충하기 위해 1조원 이상의 ETH를 매입했습니다.
  • 보안 검토: 법률 및 보안 팀에서 사건을 조사하고 있습니다.

Safe{Wallet}의 조치

Safe{Wallet} 또한 이번 공격으로 인해 시스템이 침해되었음을 인지하고 다음과 같은 조치를 취했습니다.

  • 자바스크립트 리소스 수정: 악성 트랜잭션 실행 후 약 2분 후인 2월 21일 AWS S3 버킷에서 자바스크립트 리소스를 수정했습니다.
  • 악성 코드 제거: 현재 Safe{Wallet}의 AWS S3 버킷에서 제공되는 리소스에서는 Chrome 캐시 파일에서 발견된 악성 코드가 제거되었습니다.

암호화폐 업계에 주는 시사점

바이비트 해킹 사건은 암호화폐 업계 전체에 다음과 같은 중요한 메시지를 전달합니다.

  • 강력한 보안 프로토콜 구축: 거래소 및 지갑 제공업체는 더욱 강력한 보안 시스템에 투자해야 합니다.
  • 스마트 컨트랙트 보안 강화: 스마트 컨트랙트에 대한 철저한 감사 및 테스트가 필수적입니다.
  • 공급망 보안 강화: 악성 코드 삽입을 방지하기 위해 공급망 보안에 대한 경계를 강화해야 합니다.
  • 사용자 교육 및 인식 제고: 사용자는 피싱 공격 및 사회 공학적 기법에 대한 교육을 받아야 합니다.
  • 협력 및 정보 공유: 업계 전체의 협력과 정보 공유를 통해 위협을 식별하고 예방해야 합니다.
  • 다단계 인증 도입: 플랫폼 보안을 위해 다단계 인증을 도입해야 합니다.

결론: 안전한 생태계 구축을 향하여

바이비트 해킹 사건은 암호화폐 업계가 직면한 위험을 다시 한번 상기시켜 주는 사건입니다. 이번 사건을 계기로 암호화폐 거래소는 물론, 관련 업계 모두가 보안 강화에 대한 투자와 노력을 아끼지 말아야 합니다. 더욱 안전하고 신뢰할 수 있는 생태계를 구축하기 위해 우리 모두의 지혜와 협력이 필요한 때입니다.

API Key 유출의 위험성

잠정적인 결론이지만, 바이비트 해킹사고의 시작은 SAFE{Wallet}의 S3 또는 Cloudfront에 접근권한이 있는 API Key가 유출되어 시작되었다고 추측하고 있습니다. Cloud 시스템이 많아지고, SaaS 서비스 이용률이 높아지며 API Key와 같은 Non Human Identity 유출로 인한 해킹사고가 많아지는 만큼 중앙에서 API Key의 유출을 모니터링하고 Non Human Identity의 위협을 줄이기 위한 노력을 해야합니다.

Cremit에서는 Non Human Identity 의 내부 유출 모니터링, 오탐없는 API Key 탐지를 제공하고 있습니다. 도움이 필요하시다면 여기서 바로 시작하시거나 문의해주세요!

Latest posts

About Cremit!

Enjoy articles, resources and Non-Human Identity Best Practices
Updates
8 min read

NHI2: Secret 유출 - 위험 제대로 파악하고 안전하게 관리하기

NHI2 Secret 유출: API 키, 자격 증명 노출로인한 위협을 알아보고, 무단 접근, 데이터 유출, 시스템 중단의 리스크를 방어하는 방법을 알아보세요.
Read post
Announcement
8 min read

바이비트 해킹 사건 분석: 암호화폐 거래소 보안, 어떻게 강화해야 할까요?

바이비트 해킹! 😱 14억 달러 암호화폐 탈취 사건 발생! 🚨 Safe{Wallet} 취약점 악용, API 키 유출, AWS S3 버킷 침해 가능성... 😨 암호화폐 거래소 보안, 지금 바로 점검하세요!
Read post
Updates
8 min read

데이터 유출 비용 증가: Secret 탐지가 사이버 보안을 강화하는 방법

데이터 유출로 인한 증가하는 금융적 영향, 비밀 탐지의 핵심 역할, 그리고 민감한 데이터와 비즈니스 운영을 보호하기 위한 사이버 보안 전략을 알아보세요.
Read post