Alphapo/CoinsPaid Hot Wallet Hack

북한이 수행한 것으로 알려진 암호화폐 지불 결제 서비스 Alphapo, Coinspaid 해킹 사건에서 탈취된 자금을 추적해본다.

※ 본 게시글의 암호화폐 주소 추적은 BIG의 암호화폐 추적 솔루션인 "QLUE"를 사용했습니다.

1. 사건 개요

암호화폐 결제 플랫폼인 AlphapoCoinsPaid의 Hot Wallet에서 상당한 액수의 자금이 탈취당했다고 2023년 7월 22일 보안 전문가가 밝혔다.

1-1) 피해 기업 정보

  • Alphapo
    • 세인트 빈센트 그레나딘에 위치한 암호화폐 결제 프로세서 회사
    • 30개 이상의 디지털 자산에 대한 즉각적인 거래와 다양한 법정 화폐 잔액을 제공
    • 10만 명 이상의 사용자 보유
    • HypeDrop, Ignition, Bovada 등 다양한 도박 플랫폼에서 CG(Crypto Gateway)로 활용
  • CoinsPaid
    • 에스토니아에 위치한 암호화폐 결제 프로세서 회사
    • 800개 이상의 판매자 계정 서비스
    • 한 달에 100만 개 이상, 700만 유로 이상에 해당하는 거래를 수행

공격자는 탈취한 자금을 크로스 체인 브릿지(Cross Chain Bridge), 토큰 스왑(Token Swap), 믹싱 서비스(Mixing Service) 등을 이용해 세탁을 진행했다. ZachXBT 닉네임을 사용하는 저명한 온체인 분석가에 의하면 탈취된 자금은 믹싱 서비스인 Sinbad에 입금되었다고 한다. 또한 이전에 분석했던 Lazarus Group의 온체인 패턴과 유사하다고 주장했다.

ℹ️
2023년 11월 29일, OFAC은 믹싱 서비스 Sinbad 가 북한과 밀접한 관계가 있다고 판단해 제재 리스트에 올렸다. 보도자료

1-2) CoinsPaid APT 공격 정보

※ CoinsPaid에서 업로드한 게시글을 참고했습니다.

공격자의 목적

  • 주요 직원을 속여서 CoinsPaid 내부 시스템에 침투하고, 외부에서 접근할 수 있는 원격 제어 소프트웨어 설치

공격 진행 과정

  • 2023년 3월 ~
    • 공격자는 사회공학적 기법 및 D-DoS, BruteForce 등 다양한 유형의 공격을 지속적으로 수행했으나 실패
  • 2023년 3월 27일
    • 우크라이나 암호화폐 스타트업으로 추정되는 회사로부터 기술 인프라에 대한 질문 목록을 요청받음, 개발자 3명이 이를 확인
  • 2023년 4~5월
    • 직원과 고객 계정에 접근하기 위한 목적으로 시스템에 4건의 주요 공격 발생
    • 직원을 대상으로 한 지속적인 스팸 및 피싱 공격
  • 2023년 6~7월
    • 핵심 직원에게 위장 채용과 관련된 메일 전송, 뇌물 수수 등 캠페인 수행
  • 2023년 7월 7일
    • 인프라 및 애플리케이션을 대상으로 계획된 대규모 공격 수행, 150,000개 이상의 IP 주소 확인

성공한 공격 과정

  • LinkedIn 및 메신저를 통해 직원들에게 연락해 고액의 채용 제안, 그중 일부는 한 달 16,000 ~ 24,000 $ 제시
  • 인터뷰 과정에서 공격자는 지원자들을 속이고 JumpCloudAgent나 특수 프로그램을 설치하도록 유도
    • JumpCloud : 기업이 사용자와 장치를 인증, 권한 부여 및 관리할 수 있는 디렉터리 플랫폼
      • 사전에 공격자에 의해 해킹당해 있었던 것으로 드러남
  1. 내부 직원이 Crypto.com으로 위장한 공격자로부터 채용 제안에 응답
  2. 인터뷰 중 테스트 과제로 악성코드가 포함된 애플리케이션 설치를 유도
  3. 테스트 작업 후, 인프라 연결 설정을 위한 프로필과 키가 도난
  4. 공격자는 인프라에 접근한 후 클러스터 취약점을 이용해 백도어 생성
  5. 공격자는 블록체인 상호 작용 인터페이스에 Hot Wallet의 출금 요청을 정상적으로 재현 후 자금을 인출(추후 보안 시스템 동작으로 추가 공격 및 개인 키 획득은 차단)

공격자의 자금 세탁을 막지 못한 이유

  • 많은 회사가 KYC 조치를 채택하고 블록체인 위험 스코어링을 사용하지만, 공격자는 자금 세탁에 여전히 성공
    • CoinsPaid는 피해 식별 이후 표준 절차에 따라, 모든 주요 거래소 및 사이버 보안 회사에 피해 사실을 밝히고 공격자 주소에 대한 정보를 공유함
    • 이어서 공격자 주소와 관련된 자금의 추가 이동 및 세탁 방지를 위한 마크업을 커뮤니티에 공유함
    • 하지만, 공격자가 자금을 지속적으로 다른 주소로 이동하고 있어 후속 주소에 대한 마크업이 반영되기까지 최대 60분이 소요
    • 공격자는 마크업이 공격자의 행동을 따라잡기 전 계속 새로운 주소로 자금을 전송

후속 조치

  • 보안 기업 "Match Systems"에 도난 자금 추적 및 차단 프로세스 협조 요청
    • 공격자의 주소는 모든 주요 블록체인 분석기에서 블랙리스트에 등록
    • 모든 주요 암호화폐 거래소와 AML 담당자에게 긴급 알림이 전송되어 도난당한 자산이 포함된 공격자의 주소를 공유
    • 공격자의 주소를 "Match Systems" 감시 목록에 추가

2. 영향

Alphapo의 클라이언트인 HypeDrop은 암호화폐 거래 처리를 중단한 후, 해킹으로 인해 입출금에 문제가 발생했었지만 사용자의 HypeDrop 자금은 안전하다는 것을 트위터를 통해 밝혔다.

[그림 2] HypeDrop X 게시물

공격 관련 정보 요약

피해 정보는 아래 표와 같다.

Alphapo CoinsPaid
피해 일시 2023년 7월 22일 2023년 7월 22일
피해 금액 6,000 만 $ 이상 약 3,700 만 $
최초 피해 화폐 ETH, ERC-20, TRX, TRC-20 TRX, TRC-20
피해 원인 Hot Wallet의 키가 유출되었을 것으로 추정 LinkedIn을 통해 내부 직원을 가짜 경력직 채용 면접으로
유인 후 전산망에 악성코드 유포

3. 탈취 자금 추적

3-1) Ethereum Chain 자금 추적

[그림 3] ETH, 토큰 탈취 그래프

피해 Alphapo 주소와 공격자의 주소는 다음과 같다.

  • (Alphapo) 0x6dfc34609a05bc22319fa4cce1d1e2929548c0d7
  • (Hacker) 0x040a96659fd7118259ebcd547771f6ecb9580d17
  • (Hacker) 0x6d2e8a20b8afa88d92406d315b67822c01e53c38

피해 암호화폐는 다음과 같다.

  • ETH, ERC-20(USDT, USDC, DAI, TFL, FTN)

Alphapo 피해 주소에서 공격자의 1차 주소로 ETH를 비롯해 다수의 토큰이 전송되었다. 전송된 토큰 중 TFL과 FTN을 제외한 토큰을 Uniswap을 통해 약 3,252.35 ETH로 스왑했다. 스왑하지 않은 토큰은 여전히 공격자의 1차 주소에 남아있는 것으로 확인된다.

약 1,060만 $에 해당하는 ETH가 공격자의 2차 주소로 전송되었으며, Alphapo 피해 주소에서 공격자의 2차 주소로 25.7 ETH가 다이렉트로 전송되기도 했다.

[그림 4] 탈취한 ETH를 WETH로 스왑 후 Avalanche Bridge로 전송

0x6d2e8a20b8afa88d92406d315b67822c01e53c38 주소로 전송된 5,716.8 ETH는 67개 주소에 분산되어 전송된 뒤, 각각 WETH로 스왑되어 Avalanche Bridge 주소로 전송됐다.

💡
Avalanche C-Chain은 EVM 호환을 목적으로 설계된 네트워크이기 때문에 별도의 체인임에도 불구하고, 사용자의 이더리움 주소와 똑같은 주소를 사용할 수 있다. (참고)
[그림 5] Avalanche Bridge 추적

따라서 Avalanche C-Chain Explorer에서 공격자의 이더리움 주소를 검색하면 Bridge에 전송한 자금의 추가 경로를 파악할 수 있다. 위 그림을 보면 48.332 WETH가 Avalanche C-Chain 주소로 WETH.e 토큰으로 변환되어 전송된 것을 알 수 있다. 이어서 WETH.e 토큰은 3.04 BTC.b 토큰으로 스왑된 뒤, Null Address로 전송된 것으로 보아 비트코인으로 변환된 것을 추측할 수 있다.

[그림 6] Avalanche Bridge Dst.Address 식별

Avalanche Bridge 주소는 공개되어 있기 때문에 Bitcoin Chain의 Bridge 주소에서 BTC.b 토큰이 전송된 시간대에 발생한 트랜잭션 중 가치가 비슷한 트랜잭션을 골라내는 방식을 이용해서 위 그림과 같이 Dst.Address를 확인할 수 있다.

[그림 7] 브릿지를 통해 전환된 비트코인 Dst.Address 식별

Avalanche C-Chain Explorer에서 Bridge의 Dst.Address를 식별한 결과는 위 그림과 같다. 공격자의 브릿지를 이용한 암호화폐 전환은 주로 2023-07-22 08:00 ~ 13:00 (UTC) 사이에 진행되었다.

ETH 주소와 매칭되는 BTC 주소

  • 0x8e96356f4c0932703be0bf08c7795b86fa0ed45a
    bc1q7ph9ztdy50k7whp5fdu4ecnq928lezr0yh8jqc
  • 0x8dc4f02e620fb24d07208c09950b9cba343805e8
    bc1q4k8956y9v5m65eypzzal9kv04gymqpx30ukl5e
  • 0xc3ffcc66507b2f07466c4b80d28c97c2693cee08
    bc1q89f4uv3d9j5e8cjxgeykxumehy9n9djkg8g6xc
  • 0x68062c55cf2d5544c7b796deaf441f59636498b9
    bc1qr4c4pr8mlunn0re77ymds40z7xrw2crq44phux
  • 0x375160b7564076adefcbb9a8a11c86bf596c5770
    bc1qxg4pzcaa65tg70502pk38t53l0qu37prhy4lkq
  • 0xc741b71a28b290f059b60623e36b7c6280a2d3e7
    bc1q6d2f6e8wzste63jlu3ay4c9749kzzdhq543gt8
  • 0xc7e2424f466fb7f94bc7613187b9e14a4cd5aab6
    bc1q9v6xmxpgjcyejx54qx8p2z3pf5lawwcgtst5aj
  • 0x5003e1f2d91261f71baf9afcbe331d1a96d97d0e
    bc1q6kq4fzmm0m8wk084x434pekjvns6xtn660w6m6
  • 0x6cb175d003ab1be7df805310c2ee1af03dfee2af
    bc1qmf5mz06c2845yjtyxsdkdalxe7ez8qcaj0209h
  • 0xcbd5a0567965dc24d8a8500ea607921b637893cc
    bc1qrwc8ae3mnghksk90u0te2mc2xtdmump7060asc
  • 0xf8ba2eef5ef5a71395bd0bec3f1d4d7c9b21ca92
    bc1q6kq39wlu4wlpq67dm4t62q7knghu2uy93rxw8k
  • 0xb588de5811e01c6a8c37acc8a9bfba92cfdd5637
    bc1qqhrc30gp6q6jvvjcrms6ra9pdhq98rl3nv257s
  • 0xc3e9ce94f882fbda591470aa10600c2dcb51755d
    bc1qam7tgke6ny4rj3qwt2e05e8xsep0hm9nq0kr86
  • 0x9969f9e3d691dbf477b174466e092a9b4d1951bb
    bc1qa32rtauxw2wwy6nn0rv96p0w5u52qzyrl3xfpc
  • 0x9d6e39108364c226e9d65a46e94b7c7253c18a18
    bc1qkyv8krp3nanl47zg37mqtz72qhntea3mzpw3as
  • 0xde374094c837d192b61972172740bdafc4ee16e0
    bc1q0jt0r4j8qvj0zlmef08e5gj9h0qzc3ranjafrr
  • 0xbb37061a1398e2542c7f6b6b877faa37ea11a850
    bc1q5j4wucjm0vvzdukxmk27yp9aj9mg6d2hm5je6x
  • 0x126e01fa23044153ba05ddb840e11c65a6cf706d
    bc1qj2mmd3fwep28v0306wael47n7dlgn95kqahz3x
  • 0x31174f0c41b04dbd8009c4ea7e2fb604b7b9ecc4
    bc1qamxwda29juan8zz0dfaevt9l5gzqk3ss0vzdp9
  • 0x765a7d3700b226a4629985c9444efa0b64036bd5
    bc1qw4lkta60c3jl95datqu50vqtdq5uupjjhu9c2q
  • 0x40fa2025c1683bf777a9dc7abef0f9d34b208512
    bc1ql6tgfyxk3l5u7254mlkwpnczw44qxc2d5jt6fp
  • 0x22f4a4ba32becb5beeefc682a0d845cb9aea1069
    bc1qquld4l5n2354senwv0yl7lugjwgfxt4wgg3hve
  • 0x7b94906bcad685b2440144795e9fba3c3005ffa1
    bc1q6u2jwukxphvksc9jegfyurj6xn7amg6yw89fww
  • 0x2b15c6cba53bb86779f79b4d7f02db6092102af3
    bc1qfwgjt28s7x7kgthus6pdlyurl30tvce8qvyns3
  • 0xf484b0bd5aa733d472040c5dddf72ebe99218cce
    bc1q3q6p9xcsfg0203mujupplpdfylhklswxpaaacv
  • 0x735502c0bdf73ef266b626a9c88a4d6b19527e26
    bc1q9nqngneg3krjq9cwad3myyct7lt50lw36qkmmx
  • 0x1c150c23e8e2c9f5ee14201070ff1d3ebe050750
    bc1qp3ea8t4ypwscwh9w52y3le34zpr5msffuqz2qj
  • 0xf35e0553bd95b01da74177af47a8fbd7fb15a4e6
    bc1qwwf4wth0l5mddd8drm9xmppytwa8vxmgevy9mr
  • 0xb62c219ba3a96f1e3abe00da88408d9bb10e3690
    bc1qdsz4q297kydq6q6s2dflqqzx8kj5xh89evuxe4
  • 0x67b57941a843af4917f1383c14a84fe15152147f
    bc1qhqr48jnd90ydj8m0e9zv9lhp8h9ctfkhzkjap6
  • 0xf9bb35b4662d516b71508be0daf7cf3d531ae243
    bc1qwzlcm4ex2nvxu66ngxeumg6f5t4q6xhv4nfg4v
  • 0xa32f515915c024db14c994c615fb5699dba91640
    bc1q6k57asmd2yt30m26kd686p03wewvrw5djhrjyz
  • 0xe8c7b93406e389340722813cd8100bfa7a5bc1c0
    bc1q9qdlul082hvhs8pfugks0sw5he2p06xtvqjqsx
  • 0x88366b9d4a2976ee7478d607faf67ee27a85457b
    bc1qd9rh6k976s46zzxlex2d9kw84l2wqz2cyju5q4
  • 0xbcf8afaffddf1fb544199afa2bb7780f9099efab
    bc1qpvsv06aldfwsd65ek0ka08523xpdgj4psclv7t
  • 0x46300f1bf1620f0a2e8e3cc3a5e05cb4e70533f6
    bc1qeed5q7gtn0rkcdr9xct3dgeg99cq3e3umu808p
  • 0xee575089f766a837c47927d7147582f68b270302
    bc1qpk0f050emnhjpwf85teejjxr7tafxsfmuaw7re
  • 0x60983c8809f0d56524fce25f6a28310d3b7232c7
    bc1qarjh2x3xa4ks4d6n225s5a79qj9zzw9ygqa86s
  • 0x7c4f65d730879fb28cfd596d8ba0c16165d97467
    bc1qgampt5vlqqu09844whggfx0r5aw4cetuseewdl
  • 0xef4ee4810f46458b058586a7c475ee4250b393c9
    bc1q4kvnymewqh7q7essqntmx8ukjzytvl5we3mulh
  • 0xe2c955d779a15377d287c802bccee4244d167be0
    bc1qw6m2vs7982pj7z9n9cnfwhpz60p8fd3pkrkll9
  • 0xb725391d81f2c353f2f15cf2f88d77a8cbc51158
    bc1qwlg8vm2jtxrk4udhy9rpqwtlk7r7f6ffalh5lm
  • 0x4abc6e6e58ef467eb847888decdc3a395e93bc40
    bc1qnvr84uyqwthqaec34m2rs0a7xyjy7yy3r4ln53
  • 0x8e187f9e841fcf8da1de86334941e4b5a053d5a9
    bc1q93f23gu550csy0mhqd3t9p7q99awae3cu7tcy9
  • 0x0182c4f6e5e24fd2ec1b30f02caf5ef5bd1300e0
    bc1qz27q25cwjmtrsn3h6hn59xrqjxgmqr67ps9dxh
  • 0x74b4917bbe65b56b1f0cf2ab218214b77944951d
    bc1qg0tnx7vdde93g2jr70qmz3l7ag6qgvrg5a4kjp
  • 0xd96679b1cf4e2eae98838cc7c0026142835ef656
    bc1qke8fxx7yvtlhmyqgw7ypc5ndm0kyssmd73yxtd
  • 0x530aae41166688b542ebca64b6086cba015c0e16
    bc1qljvqqtw567h3m8d9rxjukqaumawx4sk677vl5z
  • 0x9e5906e9daff9ec414bf648dea041925d3e3595e
    bc1qcguz4f97wshtyvj04lg4hwkhyt2wg5k93nc9w0
  • 0x1bf9c36f130a769521bd07e996b3a7a3507bc53a
    bc1qepnvljrcc2q97s7zadfs8l9ztzugpp5w9m8m5m
  • 0x42cab3183754fa743b72a3cff92fe852578ab61c
    bc1q9p8wjn83f4e5x73rajxzs0z7n8gwu05zg6e7k5
  • 0xdf154a533485268e72d04dcda70bf92137e94137
    bc1ql9gw2py9su4j3tw0jklxw3eqr7fus3g6syankp
  • 0x6ec5b4b3cd05d5796c1d9968e8f37de76449ec36
    bc1qg8dezkzv2jj83whpqekqf7uq949rmcafv2wjmd
  • 0x425f58349bb5fcd7e62c1d81998dc110658cb6e5
    bc1qrgav35jc0dlkpwcpgzr6ys2lsf2njx4f6yrhvp
  • 0x7fe1bdd9eed4591ceee7b22292f4fa59815ca050
    bc1qcej33fsxutj5q8jc8cnn336czft9vrap5tzdqq
  • 0x20ccc4ef2469b6fb091e87dd9e760a96d16bcd30
    bc1qumq75gpw30x3zqnv60l968082xktpg8gyd2vc0
  • 0x7a646ec1485d5e139275137d3f28e3e9a399eb2f
    bc1q7huyx60rd77h7mk0eakutl6y45n7vyedks4kfy
  • 0x23d2a32e65002f1bac7373ac3240fb9a18925cba
    bc1qzua5lkm0ehgk9m3ulfe9f3apt0nh8ftlvs7ny6
  • 0x168909d602a832571a32b5a88b20b8d0282631a0
    bc1qn92thhqgpj0n2gadlhtl3xy3akslvn6r65ejf6
  • 0xb1d42425099ac51d5c83feb9f3734098fed7dcd2
    bc1qmt73nq95vqpscnf8gttq936dvv9hax02ed9zty
  • 0x016ae7c37f3fccd7b80c03dd574f1f90a660932a
    bc1qalt9n5pa35jvmwvmlau8j28v2rsa9q60anucfn
  • 0xf90a21bcc227ce52721e4621f04d270632f35b0f
    bc1qr863zlm67a6r9f4ypqgn9f98g3v3c86jrfgchz
  • 0x99aea5deaa16f1b63d9477c04ba6b26cf08e3947
    bc1qqxxalpth3209ftsfhxt3yl2c9a88h2s00qazcw
  • 0x2298e61ab110f8a62968d20b1f732bd55b5da9aa
    bc1q4fs39kp28w847wuf26hm9x8u84pzuqek2v95hp
  • 0x0d64f5a62c57ec335ef3d2f0ace754e864d191e7
    bc1q7xsc0j5m8tsmnr268trxtq9p7j2v47hfuavcw6
  • 0xc59011a08dffd1ad309d887fcb49b269e8d08cad
    bc1qxgyg8yzwx226g9atfnv228n3rwfqlcf5vsw7hx
  • 0x5c41fa44b0577b695a6d49380687d15e10d7822c
    bc1q4dj9p6d9e8edny7d905lkmwzw94hkxvkpuhj57

다음 그림과 같이 전환된 비트코인 중 일부는 거래소로, 일부는 다시 Avalanche Bridge로 전송되는 것을 확인했으며, 그 뒤의 과정은 더 이상 추적을 진행하지 않았다.

[그림 8] 전환된 BTC 추적 결과

[그림 9]는 [그림 8]의 lots of Exchange 영역에서 거래소 소유의 주소를 빨간색 원으로 표시한 그림이다. 거래소에 자금을 전송할 때 여러 차례로 나눠서 보낸 모습을 확인할 수 있다.

[그림 9] 여러 차례에 걸쳐 거래소에 전송된 자금

[그림 9]에서는 다음과 같은 거래소 주소가 식별되었다.

  • MEXC
  • Binance
  • Htx

3-2) Tron Chain 자금 추적

[그림 10] TRX, 토큰 탈취 그래프

피해 Alphapo 주소, 공격자 Tron 주소 및 피해 정보는 다음과 같다.

  • (Alphapo) TGx3Lyc6rR14keStqfAK8u37euNFaq8uZ4
  • (Hacker) TKSitnfTLVMRbJsF1i2UH5hNUeHLDrXDiY

탈취 암호화폐

  • 5,542,290 TRX
  • 11,673,373 USDT(TRC-20)
[그림 11] USDT를 TRX로 스왑하는 모습

이어서 공격자는 탈취한 USDT 토큰을 다음 2개의 스마트 컨트랙트를 이용해 40차례에 걸쳐 TRX로 스왑했다.

  • TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE
  • TFVisXFaijZfeyeSjCEVkHfex7HGdTxzF9
[그림 12] TRX 이동

USDT 토큰을 TRX로 스왑하고, 모든 TRX를 위 그림과 같이 다음 주소에 차례로 전송했다. 전송된 TRX는 118,351,300개 가량으로 전송 당시 10,170,471 $의 가치를 가졌다.

  • TDoNAZHa7WxarUAFbQUhiijTGtd7EpbzRh
  • TJF7mdFxDuHB4tb9hoyR4SCpKxk7gr23ym
[그림 13] 탈취 자금의 전체적인 전송 흐름

Alphapo 해킹 사고에서 탈취된 자금은 일부 주소에서 CoinsPaid 해킹 사고에서 탈취된 자금과 합쳐졌다. 이는 두 해킹 사고의 공격자가 동일한 그룹에 속해있다고 판단할 수 있는 근거로 볼 수 있다.

크로스 체인 브릿지 자금 추적

합쳐진 자금 중 일부는 위 그림에서 표시한 바와 같이 거래소로 전송되었으며, 또 다른 일부는 SWFT Bridge, BitTorrent Bridge, All Bridge 크로스 체인 브릿지 서비스를 통해 다른 암호화폐로 전환된 사실을 확인했다.

# BitTorrent Bridge (Tron → BitTorrent)

[그림 14] TronScan에서 브릿지 이용 트랜잭션을 조회한 모습

BitTorrent Bridge를 이용해 Tron 체인에서 BitTorrent 체인으로 전송된 경우, TronScan에서 트랜잭션을 조회해서 목적지 주소를 획득할 수 있다.

# SWFT Bridge (Tron → Ethereum)

[그림 15] TronScan에서 브릿지 이용 트랜잭션의 이벤트 로그를 조회한 모습
[그림 16] Encoding Converter를 통해 EVM 주소로 변환한 모습

SWFT Bridge를 이용해 Tron 체인에서 Ethereum Chain으로 전송된 경우, TronScan에서 트랜잭션 이벤트 로그를 조회해서 목적지 주소를 획득할 수 있다. 획득한 목적지 주소를 EVM 형식의 주소로 변환해야 정확한 주소를 알 수 있다.

# All Bridge (Tron → Ethereum)

[그림 17] All Bridge Explorer에서 브릿지 이용 트랜잭션 조회한 모습

All Bridge를 이용해 Tron 체인에서 Ethereum Chain으로 전송된 경우는 All Bridge Explorer 사이트에서 트랜잭션을 조회해 목적지 주소를 획득할 수 있다.

[그림 18] All Bridge를 이용한 자금 전송 트랜잭션 모습

위 그림을 보면 주소에서 일부 자금을 All Bridge를 이용해 전환한 뒤, 나머지 자금을 다른 주소로 보내는 형태의 과정을 반복한 것을 알 수 있다.

비트코인 자금 추적

[그림 19] 비트코인 자금 세탁 과정 중 일부

All Bridge를 이용해 이더리움으로 전환된 자금은 Avalanche Bridge를 통해 다시 비트코인으로 전환되었다. 전환된 비트코인 자금을 일부 추적한 결과는 위 그림과 같다.

식별된 거래소

  • OKX
  • Htx
  • Mexc
  • Bitfinex
  • Binance

식별된 믹싱 서비스

💡
2024년 4월 24일 Samourai Whirlpool 서비스의 핵심 인물들이 미 정부기관에 의해 체포되었으며, 서비스가 중단되어 현재는 사용할 수 없다. (참고자료)

4. 결론

  • 최근 발생하고 있는 암호화폐 관련 침해사고는 대부분 북한 소행으로 밝혀지고 있다.
    • 그중에서도 Lazarus Group의 소행으로 지목되고 있다.
  • 북한의 자금 세탁 과정에서 과거에는 믹싱 서비스 이용 비중이 높았으나, 최근에는 크로스 체인 브릿지 서비스를 이용하는 비중이 높아졌다.
    • 특히 예전에는 Ren Bridge를 이용하는 경우가 많았으나, Ren Bridge 서비스가 종료된 뒤로는 Avalanche Bridge를 주로 이용하는 모습이 보인다.
      • 최근 발생한 공격 중 자금 세탁 과정에서 Avalanche Bridge를 이용한 사례로 Atomic Wallet 해킹, Harmony Bridge 해킹이 있다.
    • 크로스 체인 브릿지를 이용해 꼭 Bitcoin Chain으로 자금을 전송하려고 하는 모습이 보이는데, 예전부터 이용했던 비트코인 위주의 자금세탁 프로세스 체계가 잘 잡혀 있어서 그런 것으로 추측되며, 한 편으로는 비트코인이 UTXO 기반이기 때문에 암호화폐 추적이 더욱 힘들기 때문일 것으로 생각된다.
  • 북한은 다양한 방면에서 제재를 받는 국가이기 때문에, 자금 확보를 위해 사이버 공격을 통해 암호화폐 탈취를 목적으로 하는 경우가 많다.
    • 이를 위해 APT 공격에 장기간 노력하는 것을 볼 수 있다.
  • 탈취 자금은 다양한 거래소 주소로 전송되었다. 따라서 북한은 일부 거래소만 이용하는 것이 아니라 필요에 따라 여러 거래소를 이용하고 있는 것으로 볼 수 있다.
  • 결국 가장 큰 위험 포인트는 사람이다.
    • 북한도 뚫으려다 실패했던 시스템이 내부 직원의 실수로 인해 뚫리고 말았다.

부록

[그림 20] CoinsPaid에서 공개한 공격자의 자금 세탁 과정 (출처)
You've successfully subscribed to PLAINBIT
Great! Next, complete checkout to get full access to all premium content.
Error! Could not sign up. invalid link.
Welcome back! You've successfully signed in.
Error! Could not sign in. Please try again.
Success! Your account is fully activated, you now have access to all content.
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.