▼ Bear
영향력
80 · 높음
CryptoJS 취약점으로 지갑 시드 예측 가능…569만 달러 피해
BTCETHTRXMATIC
CryptoSlate · 8월 27일 PM 04:48원문보기 ↗
블록체인 보안 업체 Coinspect는 암호화폐 지갑 앱 최소 5종이 CryptoJS 라이브러리의 취약한 난수 생성기를 사용해 복구 구문(시드 구문)을 생성했으며, 이로 인해 공격자가 구문을 역추적하는 방식으로 최소 569만 달러를 탈취했다고 발표했다. 이 수치는 추적된 사례에 국한된 하한값으로, 실제 피해는 더 클 수 있다.
문제의 취약점은 2014년 6월 CryptoJS 라이브러리의 WordArray.random() 함수 개선 시도 과정에서 커밋 ff1f003을 통해 도입됐다. 해당 구현은 이론적으로 2의 128승 또는 256승에 달해야 하는 가능한 복구 구문 탐색 공간을 약 2의 39승~47승 수준으로 대폭 축소시켰다. 이 정도 규모면 공격자가 가능한 구문을 열거하고 블록체인 주소를 도출한 뒤 잔액을 확인하는 것이 현실적으로 가능해진다.
공격은 여러 차례 파도처럼 이뤄졌다. Coinspect에 따르면 5월 27일 약 314만 달러, 5월 30일부터 7월 13일 사이 약 255만 달러, 7월 20~21일에는 중국어 니모닉 서브셋에서 약 4만 달러가 추가로 유출됐다. 분석 대상은 비트코인, 이더리움, 트론, 루트스톡, 폴리곤 등 5개 네트워크에 걸친 2,000개 이상의 시드였다.
영향을 받은 앱은 RRWallet, Bexo Wallet, NanChat, Bitcoin Libre, Milo 다섯 종이며, RRWallet과 Milo는 이미 서비스가 종료됐다. Bexo는 버전 20.1.0에서, NanChat은 버전 1.3.0에서, Bitcoin Libre는 버전 4에서 각각 문제가 된 난수 생성 경로를 수정했다. NanChat은 버전 1.3.0 이전에 지갑을 생성한 사용자에게 해당 지갑을 손상된 것으로 간주하고 새로 생성한 복구 구문으로 이전할 것을 별도 공지했다.
핵심적인 주의사항은 취약한 방식으로 생성된 복구 구문은 앱을 업데이트하거나 다른 소프트웨어·하드웨어 지갑에 동일한 구문을 가져오는 것으로는 해결되지 않는다는 점이다. 취약성은 앱이 아니라 처음 구문이 생성될 당시의 소프트웨어 버전에 의존하기 때문이다. Coinspect는 사용자가 자신의 주소가 알려진 피해 데이터셋에 포함되어 있는지 확인할 수 있는 도구 'Unlukey'를 공개했으며, 피해가 확인된 경우 새 복구 구문을 안전하게 생성하고 자금을 이전하는 것만이 유일한 해결책이라고 강조했다.
AI가 요약한 내용이에요. 전체 기사는 원문에서 확인하세요.