의미없는 블로그
토르체인 해킹 이슈 (5/15) 본문
토르체인은 거래소 안거치고 외부 자산끼리 직접 Swap 하기 위해서 생성되었다 (탈중앙화 목적)
토르체인에서 사용하는 코인은 RUNE 이다
ETH → RUNE → BTC 이런식으로 RUNE 을 거쳐서 Swap 된다
- 사용자가 ETH 를 BTC 로 바꾸고 싶으면, 이더리움 메인넷에 존재하는 토르체인 라우터로 ETH 를 송금한다
- 토르체인 라우터에서 이더리움 메인넷에 존재하는 Asgard Vault 주소로 ETH 를 보낸다 (토르체인 라우터는 고정 주소 이고, Asgard Vault 는 보안을 위해 주기적으로 주소 바뀜)
- 블록체인 밖(오프체인)에서 감시 프로그램이 돌면서 블록체인 상태를 모니터링 하다가 Asgard Vault 입금 트랜잭션을 탐지한다
- 토르체인 메인넷으로 입금 트랜잭션을 보낸다
- 토르체인 메인넷에서 노드 2/3 이상이 합의 도장을 찍어주면 블록체인에 기록된다
- 토르체인 메인넷 내부의 유동성 풀 장부(ETH-RUNE)에서 ETH 에 해당하는 RUNE 을 계산한다
- 토르체인 메인넷 내부의 다른 유동성 풀 장부(RUNE-BTC)에서 RUNE 에 해당하는 BTC 를 계산한다
- 노드들이 각자 서버(오프체인)에 보관 중인 키 조각을 활용해서 서명을 하고 그 서명을 합친다 (BTC 주세요 라는 트랜잭션)
- 비트코인 메인넷의 Asgard Vault 문이 열리며 BTC 가 사용자의 지갑 주소로 전송된다
각 메인넷의 Asgard Vault 는 하나의 그룹으로 묶여있고 그 그룹은 Key 가 동일하다
오프체인에서 공동으로 마스터 키를 생성하면 그걸로 비트코인의 Vault, 이더리움의 Vault, BNB 의 Vault 등이 파생되어 각 메인넷에 생성되기 때문에 하나의 키로 여러 메인넷의 Vault 에서 출금을 할 수 있다
토르체인 메인넷의 유동성 풀 장부는 실제 자산이 들어있는게 아니라 기록(데이터)만 존재한다
실제 자산은 Asgard Vault 에 존재함
코딩된 장부만 존재하므로 이런걸 탈중앙화 거래소(DEX) 라고 한다
이런 탈중앙화 금융 인프라를 디파이(DeFi) 라고 한다
이번에 발생한 해킹 이슈는
총 6개의 Asgard Vault 그룹 중, 1개 그룹의 Key 가 노출돼서 BTC, ETH, BNB 등 약 1,000만 달러 어치가 털렸다
- 공격자는 ETH → RUNE 으로 대량 스왑 해가지고 토르체인의 노드가 되는 권한을 얻었다 (RUNE 많이 사면 노드가 될 수 있음) → 공격자의 ETH 는 이더리움 Asgard Vault 에 들어간 상태
- Asgard Vault 에서 서명할 때 사용하는 암호 알고리즘 GG20 에서 서명을 합칠 때 오염된 값을 전송하면 비트 단위의 키 조각이 노출되는 취약점이 있었음 → 노드로 참여한 공격자는 반복적으로 오염된 값을 전송해서 private key 전체를 추출해 냄 → Asgard Vault 에서 자기 지갑으로 입금하는 트랜잭션 만들어서 서명하고 날림 → 자기가 보냈던 ETH 를 포함해서 Asgard Vault 에 저장되어있던 다른 자산들까지 다 탈취함
어떻게 수습했냐
- 일단 네트워크 일시 중지 시켰고 패치 했음
- Asgard Vault 의 돈을 털어가고 토르체인 메인넷 내부의 유동성 풀 장부는 훼손되지 않았기 때문에 장부상으로는 투자자들의 지분이 그대로 기록되어 있었음 → 토르체인 재단이 공격에 사용된 노드의 담보(RUNE)을 빼앗아 장부와 실제 금고의 비율을 다시 맞추는 방식으로 수습함
참고
'# 나 > terms & concepts' 카테고리의 다른 글
| 메타마스크 (0) | 2026.05.07 |
|---|---|
| 스테이킹 개념 (0) | 2026.04.16 |
| 스테이킹 지갑 권한 바꾸기 (0) | 2026.04.14 |
| 검색 스팸 (Search Spam) (0) | 2026.03.24 |
| [블록체인] 이 지갑 주소가 정말 당신의 소유입니까? (0) | 2026.03.23 |
Comments