비트코인(BTC)과 관련된 C++ 개발 라이브러리에서 치명적인 보안 취약점이 발견되어, 전 세계적으로 12만 개 이상의 외부 지갑이 해킹에 노출된 것으로 나타났다. 이번 취약점은 지갑의 보안에 있어 핵심적인 역할을 하는 무작위 숫자 생성(Random Number Generation, RNG) 방식의 허점을 악용하여, 공격자가 개인 키를 손쉽게 찾아낼 수 있도록 만든다.

이번 사안의 핵심은 Libbitcoin Explorer(bx) 3.x 버전에서 구현된 '메르센 트위스터-32' 난수 알고리즘에 있으며, 이 알고리즘이 매우 제한된 시드 값(2³² 개)만을 활용한다는 점이다. 시스템 시간이 시드로만 사용되면서 무작위성이 급격히 떨어지고, 결국 해커는 가능한 모든 시드 값을 짧은 시간 내에 계산할 수 있는 구조가 되어버렸다. 보안 연구팀에 따르면, 고성능 PC를 이용하면 수일 내에 모든 조합을 시험하여 일치하는 지갑을 찾을 수 있을 정도로 취약성이 심각한 상황이다.

이러한 취약점은 2023년 11월에 이미 알려진 'Milk Sad' 사건을 통해 처음 제기되었으나, 여전히 많은 지갑 사용자들이 위험에 처해 있다. 특히 2017년부터 2023년 사이 bx 3.x 또는 이를 기반으로 한 트러스트 월렛에서 지갑을 생성한 사용자들이 주요 타깃이 될 가능성이 높다.

실제로 Libbitcoin을 기반으로 생성된 지갑은 충분한 안전성을 갖추지 못해 비트코인(BTC) 자산이 상대적으로 쉽게 탈취될 수 있는 상황에 놓여 있다. 유명 하드웨어 월렛 서비스 'OneKey'는 트위터를 통해 “우리의 하드웨어 및 소프트웨어 지갑은 해당 라이브러리 기반이 아니므로 위험에 포함되지 않는다”고 밝혀 사용자들의 불안을 해소하려고 했다.

전문가들은 이와 같은 보안 위협에 대해 세 가지 대응 방안을 제시하고 있다. 첫째, 구형 소프트웨어나 취약한 라이브러리로 생성된 비트코인(BTC) 지갑은 즉시 CSPRNG(암호학적 보안 무작위 생성기) 기반의 지갑으로 자산을 이전할 것을 권고하고 있다. 둘째, BIP39 표준에 부합하는 새로운 시드 구문을 생성함으로써 보안을 강화할 것을 강조하고 있다. 마지막으로, 취약성이 의심되는 모든 페이퍼 월렛과 하드웨어 월렛의 보안 상태를 점검하고 최신 버전으로 업데이트할 것을 조언하고 있다.

이번 사건은 블록체인의 기반인 '지갑 생성의 무결성'이 작은 코드 실수로 인해 어떻게 무너지게 되는지를 여실히 보여주는 사례로 남을 것이다. 이 기회를 통해 사용자와 지갑 서비스 개발자 모두가 보안 모델과 무작위성 강화를 위한 노력을 더욱 기울여야 한다는 경고의 메시지가 울려 퍼지고 있다.