
Web3 데스크톱 지갑의 초기 보안 평가
글: CertiK
데스크톱 지갑은 Web3.0 생태계에서 중요한 역할을 수행하며, 탈중앙화 네트워크 내 사용자들의 디지털 자산을 안전하게 관리할 수 있는 신뢰할 수 있는 솔루션을 제공한다. 코인텔레그래프의 보고서[1]에 따르면 비트핀익스(Bitfinex) 거래소 분석가들의 관찰 결과, 2023년 12월 1일 기준 전 세계 디지털 통화 보유자 수는 연초의 4.32억 명에서 5.75억 명으로 크게 증가했다. 이 새로운 시장 확장에서 데스크톱 지갑은 중요한 점유율을 차지하고 있다.
Web3.0 산업의 급속한 발전과 함께, 데스크톱 지갑이 사용자 자산 보호에서 갖는 중요성도 점점 부각되고 있다. 그러나 여러 데스크톱 지갑에 대한 심층적인 기술 분석 결과, CertiK 보안 팀은 일부 잠재적 보안 취약점을 발견하였으며, 이로 인해 사용자가 서비스 이용 중 더 높은 위험에 직면할 수 있음을 확인하였다. 본 보고서는 이러한 기술 분석의 세부 사항과 결론을 제시함으로써, 모든 Web3.0 구성원의 보안 인식을 제고하고자 한다. 우리는 이 보고서를 통해 사용자들이 데스크톱 지갑을 사용할 때 각별한 경각심을 갖고 자신의 디지털 자산을 보호할 것을 권고하고자 한다.
공급망에서 발생하는 보안 위험
데스크톱 지갑은 Web3.0 사용자가 디지털 자산을 관리하고 보호하는 데 중요한 도구이다. 그러나 공급망 공격[2]의 맥락에서 그 보안성은 종종 간과된다. 공급망 공격이란 사이버 범죄자가 목표 조직이 의존하는 제3자 공급업체, 서비스 제공업체 또는 공급망의 특정 단계를 대상으로 하는 공격을 의미한다. 그러한 보안 사건을 방지하기 위해 설치 파일에 대한 해시 값 검증을 권장하며, 공식 웹사이트에서 직접 다운로드하더라도 검증 절차를 생략해서는 안 된다. 오직 해시 검증을 통과한 설치 파일만이 안전한 소프트웨어로 간주될 수 있기 때문이다. 하지만 모든 사용자가 이러한 검증을 수행할 수 있는 능력을 갖추고 있지는 않으며, 특히 일부 데스크톱 지갑을 사용할 경우 사용자의 보안 방어 능력 부족이 공격에 노출될 위험을 증가시킬 수 있다.
특히 일부 데스크톱 지갑은 악성 소프트웨어와 유사한 모듈이나 알고리즘을 무의식적으로 사용하여 백신 소프트웨어의 오진(誤報)을 일으킬 수 있다. 그러나 공식 웹사이트에서는 일반적으로 이러한 오진에 대해 합리적인 설명을 제공하므로, 해시 검증 능력이 부족한 사용자는 백신 경고를 정상적인 현상으로 받아들여 무비판적으로 신뢰하게 된다. 이러한 잘못된 신뢰는 악성 소프트웨어가 합법적인 지갑 설치 파일로 위장할 가능성을 열어두며, 사용자에게 더 큰 위험을 초래한다.
아래 이미지에서 볼 수 있듯이, VirusTotal에서는 65개의 백신 소프트웨어가 일반적인 데스크톱 지갑의 다운로드 파일을 분석했으며, 그 결과 19개 제품이 해당 샘플을 악성 파일로 식별했다.

이 분석 결과는 공급망 공격이 단순한 이론적 위험이 아님을 보여준다. 사용자 입장에서는 소프트웨어의 진위를 검증할 기술적 수단이 부족할 경우, 악성 소프트웨어를 실수로 다운로드하거나 설치할 수 있다. 공식 웹사이트에서 다운로드한 설치 패키지라 하더라도 백신 프로그램의 경고를 유발할 수 있어, 사용자가 그 안전성을 판단하기 어렵게 되며 잠재적인 보안 위협이 내포된다.
로컬 파일 저장의 보안 리스크
심층 조사를 통해 우리는 일부 데스크톱 지갑이 특정 업무 목적을 위해 개인키를 평문 형태로 저장할 수 있도록 허용한다는 사실을 발견했다. 이 방법은 사용자의 디지털 자산 보안 리스크를 크게 증가시키며, 사용자의 컴퓨터가 바이러스나 악성 소프트웨어에 감염될 경우, 평문 상태의 개인키가 공격자에게 직접 노출되어 자산의 안전이 위협받을 수 있다.
암호화되지 않은 로컬 파일:

암호화된 로컬 파일:

사용자가 PIN 코드를 사용해 로컬 파일을 암호화하더라도, 악성 소프트웨어의 위협 아래에서 키의 안전성은 여전히 충분히 보장되지 않는다. 이러한 지갑은 독립형 데스크톱 애플리케이션으로 실행되거나 브라우저 확장 프로그램으로 작동하든 모두 악성 소프트웨어의 표적이 될 수 있다. 그러나 사용자들은 데스크톱 지갑의 편의성과 기능성 때문에 이를 신뢰하고, 잠재적인 보안 취약점을 간과하는 경향이 있다. 모바일 앱이 엄격한 권한 관리 및 데이터 격리를 제공하는 것과 달리, 데스크톱 지갑은 사용자의 개인키 보호 측면에서 상대적으로 취약하다. 따라서 사용자는 데스크톱 지갑을 사용할 때 항상 운영 환경의 보안성을 주의 깊게 살펴야 하며, 부적절한 저장 방식이나 불안전한 설정으로 인한 자산 유출을 피해야 한다.
PIN 코드 암호화 알고리즘의 보안성
또 다른 고위험 요소는 많은 데스크톱 지갑이 취약한 파일 암호화 방식을 사용하고 있다는 점이다. 이로 인해 공격자가 사용자의 암호화된 데이터에 접근하고 이를 해독하기가 용이해진다. 문제의 핵심은 지갑이 파일 암호화를 장치의 하드웨어 정보에 연결하지 않는다는 것이다. 즉, 파일이 암호화되어 있더라도 공격자가 파일을 다른 장치로 옮겨 오프라인 상태에서 해독할 수 있으므로, 장치 자체가 제공하는 보안 보호 조치를 우회할 수 있다.
더욱 깊이 있는 분석 결과, 일부 지갑이 PIN 코드를 사용할 때 적용하는 무차별 대입 공격 방지 알고리즘이 취약하다는 것이 밝혀졌다. 많은 지갑이 사용하는 암호화 알고리즘의 해시 반복 횟수가 업계 표준보다 훨씬 낮다. 예를 들어 OWASP[3]는 비밀번호 보호를 위해 60만 회 이상의 반복을 권장하며, 애플사는 백업 키체인에 대해 1천만 회의 반복을 설정했고, 1Password와 LastPass는 각각 65만 회, 60만 회의 반복을 사용한다. 그러나 일부 데스크톱 지갑은 해시 반복 횟수를 단 5,000회로 설정하여 이러한 업계 보안 기준에 크게 미치지 못한다. 이러한 상황에서 공격자는 무차별 대입 기술을 통해 사용자의 PIN 코드를 쉽게 추출할 수 있으며, 복잡한 비밀번호라도 쉽게 해킹당할 수 있다.
또한, 감사 과정에서 일부 지갑 소프트웨어의 암호 보호 메커니즘이 복잡한 공격에 대응하기에 부족하다는 점도 확인되었다. 악의적인 공격자는 일반적으로 먼저 사용자의 암호화된 데이터를 탈취한 후, 강력한 컴퓨팅 자원을 활용해 오프라인 환경에서 해독을 시도한다. 일부 데스크톱 지갑이 암호화 알고리즘 선택에서 취약점을 드러냄으로써, 그들의 암호화된 데이터는 더 쉽게 해독될 수 있게 된다. 이는 사용자의 디지털 자산뿐 아니라 Web3.0 생태계 전체의 보안에도 새로운 도전을 제기한다.
상대적으로 안전한 데스크톱 지갑 솔루션
데스크톱 지갑을 사용할 때에는 MPC(다자간 계산) 지갑 또는 하드웨어 지갑을 선택하는 것이 권장된다. 데스크톱 시스템(PC 시스템)은 모바일 기기에 비해 고유한 보안 취약점을 가지고 있기 때문이다. 데스크톱 지갑은 조작이 간편하고 접근성이 좋지만, 지속적인 인터넷 연결로 인해 해커 및 악성 소프트웨어의 위협에 더욱 노출되기 쉽다. 따라서 보안성이 더욱 요구되는 사용자라면 다른 유형의 지갑을 선택하는 것이 현명한 결정이다.
MPC 지갑은 디지털 자산의 보안성과 복구 기능 측면에서 뚜렷한 장점을 지닌다. 보안 다자간 계산(Secure Multi-Party Computation) 기술을 활용해 개인키를 여러 조각으로 나누고, 각각을 서로 다른 참여자 혹은 노드에 분산 저장한다. 이 설계는 단일 실패 지점(single point of failure)의 위험을 제거하며, 어떤 개별 실체도 완전한 개인키를 소유하지 못하도록 보장한다. 따라서 사용자의 데스크톱 시스템이 침해되더라도 공격자는 어느 한 조각만으로는 자산을 탈취할 수 없다. 오직 다수의 참여자가 각각의 조각을 결합해야 유효한 트랜잭션 서명을 생성할 수 있기 때문에, 모든 키 조각이 동시에 유출되지 않는 한 사용자의 자산은 안전하다.
또한 MPC 지갑의 분산 키 관리 체계는 더 큰 운영 유연성과 낮은 거래 비용을 제공한다. 익명 서명과 체인 외 책임 추궁 메커니즘을 지원함으로써 개인정보 보호성과 보안성을 더욱 강화한다. 이러한 방식을 통해 MPC 지갑은 부분 시스템이 침해된 경우에도 디지털 자산의 안전성을 유지할 수 있다.
MPC 지갑의 또 다른 장점은 복구 기능이다. 사용자의 장치가 분실되거나 손상된 경우에도, 제3자 서비스를 통해 키를 복구할 수 있다. 이 과정에서는 사용자가 사전에 다양한 위치에 분산 저장한 키 조각들을 활용해 개인키를 재구성한다. 또한 일부 MPC 지갑은 소셜 복구(social recovery) 기능을 제공하여, 극단적인 상황에서 비상 연락인이 사용자가 지갑에 다시 접근할 수 있도록 도울 수 있다.
데스크톱 하드웨어 지갑은 개인키를 하드웨어 장치 내부에 저장함으로써 물리적 격리라는 해결책을 제공한다. 이 설계는 모든 서명 작업이 하드웨어 내에서 오프라인으로 완료되도록 보장하므로, 사용자의 데스크톱 시스템이 침해되더라도 공격자는 저장된 개인키에 접근할 수 없다. 이러한 물리적 격리는 자산의 보안성을 크게 향상시키며, 개인키가 인터넷에 노출되지 않음으로써 해커의 공격과 도난 위험을 줄인다.
현재 대부분의 하드웨어 지갑은 하드웨어 손실 또는 파손으로 인한 자산 손실을 방지하기 위해 복구 기능을 제공한다. 일반적으로 이 복구 과정은 백업용 영문 암기 문구(seed phrase) 또는 개인키 조각을 생성하고, 사용자가 이를 안전한 여러 장소에 저장하도록 한다. 하드웨어 장치가 분실되거나 손상된 경우, 사용자는 이러한 백업 정보를 활용해 지갑에 다시 접근하고 자산을 회수할 수 있다.
또한 일부 하드웨어 지갑은 생체 인식 기술을 통합하여 보안성을 강화한다. 즉, 무단 소지자가 키 조각을 확보하더라도 생체 인식 인증을 통과하지 못하면 지갑에 침입할 수 없다. 생체 인식 기술은 지문, 얼굴 인식, 음성 인식 등을 포함하며, 하드웨어 지갑의 보안을 추가적으로 강화한다.
예를 들어 Zengo의 MPC 시스템은 서로 다른 기기에 저장된 여러 개인키 조각을 사용해 지갑의 보안성을 강화한다. MPC 시스템에서 복구 기능은 장치 분실 또는 손상 시 사용자가 지갑을 되찾을 수 있도록 하는 핵심 요소이다. 자산의 안전을 보장하기 위해 개인키 조각은 계정에 단단히 연결되어 있으며, 개인키 조각과 계정이 동시에 분실될 경우에만 자산이 유실될 위험이 있다.
또한 일부 하드웨어 지갑 제조사(Ledger 등)는 신원 기반의 키 복구 서비스를 제공한다. 예를 들어 Ledger의 'Ledger Recover[4]' 서비스는 지갑 복구 문구를 세 개의 암호화된 조각으로 나누어 세 개의 위탁 관리기관에 배분한다. 사용자가 암기 문구를 분실한 경우, 신원 인증 후 두 개의 조각을 조합하여 잠긴 자금에 다시 접근할 수 있다. 이 서비스는 디지털 자산 키 유실 위험에 대한 추가적인 보안 장치를 제공하지만, 일부 사용자들은 정부 발급 신분증과 연결된 암기 문구를 온라인으로 저장해야 한다는 점에서 우려를 표하기도 한다.
안전한 데스크톱 지갑 솔루션에서의 다자간 계산(MPC)
MPC 지갑과 하드웨어 지갑의 보안성을 비교할 때, 양쪽 모두 미묘한 장단점이 존재한다.
하드웨어 지갑은 CPU 성능 제한, 네트워크 연결 능력 제한, 원시적인 사용자 인터페이스 등의 고유한 제약으로 인해, 상세한 거래 정보를 표시하는 데 어려움이 있다. 이는 사용자가 거래 내용을 면밀히 검증해야 할 때 완전한 확인이 어렵게 만들며, 이러한 상황에서 MPC 지갑이 상대적으로 더 나은 선택이 될 수 있다. MPC 지갑은 민감한 정보를 노출하지 않으면서도 다수의 참여자가 공동으로 거래 데이터를 계산하고 검증할 수 있게 하여, 거래 목적과 무결성 검증에 더 견고한 프레임워크를 제공한다. 하드웨어 지갑과 달리 MPC 기반 솔루션[5]은 모바일 기기 또는 기타 플랫폼의 컴퓨팅 및 네트워크 환경을 활용할 수 있어 백엔드 시스템과 더 밀접하게 연동되며, 거래 검증 관련 리스크를 줄일 수 있다.
요약하자면, 데스크톱 하드웨어 지갑은 물리적 격리와 지갑 복구 기능을 통해 사용자에게 안전하고 신뢰할 수 있는 자산 보호 수단을 제공한다. 생체 인식 기술의 도입은 이러한 보호를 더욱 강화하여, 극단적인 상황에서도 사용자의 자산이 안전하게 보호되도록 한다.
데스크톱 지갑 솔루션 비교
위에서 언급한 리스크와 보안성 분석을 바탕으로, 우리는 여러 데스크톱 지갑에 대해 비교 평가를 수행하였다. 아래 이미지는 각 지갑의 보안 메커니즘과 보안 위험에 대한 방어 조치를 요약한 것이다. (S0는 기본 리스크를 나타내며, 등급이 높을수록 리스크가 복잡하다.)

결론
디지털 자산 관리의 중요한 도구로서 데스크톱 지갑은 여러 보안 도전에 직면해 있다. 백신 소프트웨어의 오진, 샌드박스 보호 부재, 약한 암호화 알고리즘 등의 문제는 사용자 자산이 도난당할 위험을 초래할 수 있다. 기술적 경험 부족한 사용자들에게 이러한 위험은 특히 위험하며, 이들 스스로 리스크를 식별하고 대응하기 어렵다. 따라서 지갑 개발자는 소프트웨어의 보안성을 보장하기 위해 보안 조치를 강화해야 한다.
동시에 사용자들도 리스크 인식을 높이고, 디지털 자산을 저장하고 관리하는 최선의 방법을 실천해야 한다. 데스크톱 지갑에 대한 철저한 감사와 지속적인 개선을 통해 사용자의 디지털 자산 보안을 더욱 효과적으로 보호하고, Web3.0 생태계 전반의 건강한 발전을 촉진할 수 있을 것이다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














