암호화폐 지갑 제공업체 OneKey의 보고서에 따르면, 널리 사용되는 오픈소스 비트코인 라이브러리의 새로운 취약점으로 인해 12만 개가 넘는 개인 키가 노출되었습니다.
이 결함은 Libbitcoin Explorer(bx) 3.x 시리즈에서 비롯되었는데, 공격자는 안전하지 않은 난수 생성 방법을 통해 생성된 지갑 개인 키를 예측할 수 있었습니다.
OneKey가 금요일 늦게 X에 발표한 인사이트에 따르면 , Libbitcoin Explorer(bx) 3.x는 오랫동안 오프라인에서 비트코인 지갑을 생성하는 데 사용되어 온 명령줄 유틸리티입니다. 이 소프트웨어는 Mersenne Twister-32 의사난수 생성기(PRNG)를 사용하는데, 이는 시스템 시간만을 사용하여 난수를 생성합니다.
시드 공간은 2³²개의 가능한 값으로 제한되어 있어 해커들이 난수와 무차별 대입 공격을 통해 지갑 개인 키를 쉽게 예측할 수 있었습니다. 지갑이 언제 생성되었는지 아는 사람은 누구나 동일한 난수 시퀀스를 재구성하여 주소의 자금에 접근하는 개인 키를 도출할 수 있었습니다.
영향을 받은 지갑의 범위에 대한 OneKey 분석
암호화폐 지갑 서비스 제공업체에 따르면, 이 문제는 Libbitcoin Explorer 또는 종속 구성 요소를 통합한 여러 지갑 구현에 영향을 미치는 것으로 확인되었습니다. 여기에는 패치된 3.1.1 릴리스를 제외한 Trust Wallet Extension 버전 0.0.172~0.0.183 및 Trust Wallet Core 버전 3.1.1 이하가 포함됩니다.
OneKey는 보안 연구원들의 분석을 인용하여 이 보안 결함이 PRNG의 예측 가능한 엔트로피 의존성에서 비롯되었음을 발견했습니다 . 공격자는 특정 타임스탬프에 생성된 지갑에 대해 동일한 개인 키를 복제할 수 있었습니다.
Mersenne Twister-32 알고리즘은 시드 공간이 작고 예측 가능한 특성을 가지고 있어 악의적인 행위자가 프로세스를 자동화하고 여러 지갑을 손상시키는 것이 가능했습니다.
OneKey는 이 결함이 "밀크 새드" 사건과 같은 이전에 발생한 미스터리한 자금 손실 사건에 영향을 미쳤을 수 있다고 설명했습니다. 피해자들은 보안을 위해 에어갭 시스템을 사용했음에도 불구하고 지갑이 비어 있는 것을 목격했다고 보고했습니다.
'Milk Sad' 연결은 OneKey 지갑에 영향을 미치지 않았습니다.
올해 초 시작된 Milk Sad 조사 결과, 피해자들이 Libbitcoin Explorer의 명령어를 사용하여 에어갭 리눅스 노트북에서 지갑을 생성한 것으로 드러났습니다. 두 사례 모두, 사용자들은 bx를 사용하여 24단어로 구성된 BIP39 니모닉 구문을 생성했는데, 이는 해당 도구가 충분한 무작위성을 제공한다고 믿었기 때문입니다.
지갑 생성에 사용된 명령 시퀀스 중 하나는 bx seed -b 256 | bx mnemonic-new였습니다. 이 명령은 256비트의 엔트로피를 생성한 후 24단어 니모닉 구문으로 변환했습니다. 결함이 있는 난수 생성기 때문에 안전하다고 여겨졌던 니모닉이 실제로는 예측 가능했습니다.
Milk Sad 피해자들은 몇 년 간격으로 지갑을 만들었지만, 조사관들은 각자가 자신도 모르게 약한 개인 키를 생성한 Libbitcoin Explorer의 동일한 버전을 사용했다는 사실을 발견했습니다.
OneKey는 보고서에서 Libbitcoin Explorer의 취약점이 자사 지갑의 니모닉 키나 개인 키의 보안을 침해 하지 않는다고 밝혔습니다 . 회사 조사 결과, 자사 기기와 소프트웨어는 국제 보안 표준을 충족하는 암호화된 난수 생성기(RNG)를 사용하는 것으로 확인되었습니다.
"모든 차세대 하드웨어 지갑에는 키 생성을 위한 순수 난수 생성기(TRNG)가 내장된 보안 요소(SE)가 탑재되어 있습니다. 이 구성 요소는 하드웨어 기반이며 전 세계적으로 인정받는 보안 수준인 EAL6+ 인증을 받았습니다."라고 하드웨어 및 콜드 월렛 업체는 밝혔습니다.
소프트웨어 지갑 취약성 평가
OneKey는 또한 자사 소프트웨어 제품에 대한 평가를 실시하여 데스크톱 및 브라우저 확장 버전이 Chromium 기반 WebAssembly(WASM) PRNG 인터페이스를 활용한다는 점을 확인했습니다.
인터페이스 운영 체제는 엔트로피 소스로 암호화된 안전한 의사 난수 생성기(CSPRNG)를 사용하는데, 이는 최신 브라우저와 보안 소프트웨어 시스템에서 사용되는 표준과 동일합니다.
OneKey는 안드로이드 및 iOS 지갑에 시스템 수준의 CSPRNG API가 운영체제 자체에 내장되어 있다고 밝혔습니다. 지갑 서비스 보안팀은 지갑 생성의 무작위성 품질이 기기 및 소프트웨어 환경의 무결성에 직접적으로 좌우된다고 강조했습니다.
"운영 체제, 브라우저 커널 또는 장치 하드웨어가 손상되면 엔트로피 소스가 약해질 수 있습니다."라고 적혀 있었습니다.
해당 회사는 장기간 코인을 보관할 계획이라면 노출 위험을 최소화하기 위해 하드웨어 지갑을 선택하도록 권고했습니다. 또한 소프트웨어 지갑에서 생성된 니모닉 문구를 하드웨어 지갑으로 가져오지 않도록 경고했습니다.