패리티 멀티시그 지갑 해킹
사건표준Parity multisig wallet hack
다른 이름 Parity multisig wallet hack · Parity multisig hack · Parity wallet hack July 2017 · Parity White Hat Group rescue · 패리티 다중서명 해킹 · 패리티 멀티시그 해킹 2017 · 패리티 지갑 해킹 · 화이트햇 그룹 이더 구조
패리티 멀티시그 지갑 해킹(Parity multisig wallet hack)은 2017년 7월 19일 패리티 테크놀로지스가 배포한 이더리움 다중서명 지갑 계약의 결함을 이용해 공격자가 ICO 프로젝트 세 곳의 지갑에서 이더 153,037개를 빼낸 사건이다. 같은 결함이 있던 다른 지갑의 이더 약 37만 7,000개는 '화이트햇 그룹'을 자처한 개발자들이 같은 방법으로 먼저 옮겨 지켰다. 같은 해 11월의 패리티 지갑 동결 사고에 앞선 패리티 다중서명 코드의 첫 대형 사고다.
1.세 지갑에서 빠져나간 이더#
스마트 컨트랙트 보안 업체 오픈제플린의 분석에 따르면 2017년 7월 19일 12시 19분(UTC)까지 공격자 계정이 과거 토큰 판매 자금을 보관하던 다중서명 계약 세 개에서 이더 153,037개를 빼냈다. 오픈제플린은 이를 이더리움 역사에서 도난 이더 기준 두 번째로 큰 해킹이라고 적었고, 당시 가치로 약 3,000만 달러로 추산했다. 피해 지갑의 주인은 에지리스 카지노(Edgeless Casino), 스웜시티(Swarm City), 에테르니티(Æternity) 세 프로젝트였다. CNBC에 따르면 스웜시티는 이더 44,055개, 에테르니티는 8만 2,000개를 잃었다고 밝혔다. 비트코인 매거진은 블록틱스(Blocktix)도 같은 결함을 노린 두 번째 공격자에게 이더 3,916개를 잃었고, 남은 이더 1만 188개 가운데 6,272개는 화이트햇 대응팀이 지켰다고 전했다. 이 해킹은 같은 주 월요일 이스라엘 스타트업 코인대시(CoinDash)가 토큰 판매 중 이더를 탈취당한 직후에 일어났다.
[1][2][3]2.원인: 다시 호출할 수 있던 초기화 함수#
패리티의 다중서명 지갑은 공통 로직을 라이브러리 계약에 두고, 지갑 계약이 처리하지 못하는 호출을 모두 delegatecall로 라이브러리에 넘기는 구조였다. 오픈제플린은 이 때문에 라이브러리의 공개 함수를 누구나 지갑을 대신해 부를 수 있었고, 그 가운데 소유자 목록을 정하는 초기화 함수 initWallet에 '이미 초기화된 지갑이면 거부한다'는 확인이 없었다고 설명했다. 공격자는 계약마다 거래를 두 번 보냈다. 첫 거래로 initWallet을 불러 소유자를 자기 주소 하나로, 필요한 서명 수를 1개로 바꿨고, 두 번째 거래로 execute 함수를 불러 잔고 전부를 자기 계정으로 보냈다. 오픈제플린은 생성자 로직을 라이브러리로 빼지 않거나 delegatecall을 모든 호출의 통로로 쓰지 않았다면 막을 수 있었다고 평가했다. 더레지스터에 따르면 개발자 아르카디 쿠카르킨은 문제의 코드가 담긴 2,000줄 넘는 변경이 별도 보안 검토 없이 합쳐졌다고 지적했다.
[4][5]3.화이트햇 그룹의 선제 인출#
패리티는 7월 19일 트위터에 보안 경고를 올려 패리티 월렛 1.5 이상으로 만든 다중서명 지갑의 자금을 즉시 옮기라고 알렸다. 비트코인 매거진에 따르면 대상은 2017년 7월 19일 23시 14분 56초(중부유럽 서머타임) 이전에 만든 모든 다중서명 지갑이었고, 게스(Geth)나 마이이더월렛, 패리티의 단일 사용자 계정은 해당하지 않았다. 공격이 알려지자 이더리움 커뮤니티의 개발자들이 '화이트햇 그룹(White Hat Group)'이라는 이름으로 같은 결함을 이용해 아직 털리지 않은 취약 지갑의 이더 약 37만 7,000개를 자신들이 관리하는 계정으로 먼저 옮겼다. 이들은 레딧에 "기존 지갑과 같은 설정에 결함만 없앤 새 다중서명 지갑을 만들어 자금을 돌려주겠다"고 공지했다. 패리티 창업자 개빈 우드는 개발자 채팅방 기터에서 다른 지갑의 자금을 지키는 작업이 진행 중이라고 밝혔고, 패리티는 그날 자정 무렵 결함을 고친 업데이트를 냈다. 이렇게 새로 배포된 지갑 라이브러리에서 넉 달 뒤 다른 결함이 드러나 지갑 동결 사고가 일어났다.
[6][7][8]4.연표3건
- 2017.07사건7월19일 다중서명 지갑 3곳에서 이더 153,037개 탈취
- 2017.07이정표화이트햇 그룹이 취약 지갑의 이더 약 37만 7,000개를 먼저 옮김
- 2017.07출시패리티가 결함을 고친 지갑 코드 배포
각주
- [1]The Parity Wallet Hack Explained — openzeppelin.com · OpenZeppelin
- [2]$32 million worth of digital currency ether stolen by hackers — cnbc.com · CNBC
- [3]White Hats Step In to Save Funds from Vulnerable Ether Wallets — bitcoinmagazine.com · Bitcoin Magazine
- [4]The Parity Wallet Hack Explained — openzeppelin.com · OpenZeppelin
- [5]$30 million below Parity: Ethereum wallet bug fingered in mass heist — theregister.com · The Register
- [6]White Hats Step In to Save Funds from Vulnerable Ether Wallets — bitcoinmagazine.com · Bitcoin Magazine
- [7]$32 million worth of digital currency ether stolen by hackers — cnbc.com · CNBC
- [8]$30 million below Parity: Ethereum wallet bug fingered in mass heist — theregister.com · The Register
이 문서가 도움이 됐나요?
토큰포스트 위키, “패리티 멀티시그 지갑 해킹”, 2026-10-25 수정, https://wiki.tokenpost.kr/w/parity-multisig-hack-july-2017Accept: text/markdown 로 요청해도 같은 결과문단 3개 · 연표 3건 · 각주 8개