싱글턴 스탬피드: secp256k1 취약점과 관련된 중대한 사건으로, 개인 키 복구 및 비트코인 ​​지갑에 대한 전면 공격으로 이어졌습니다. 이 취약점은 비트코인의 암호화 보안을 위협하고 디지털 자산에 대한 전면 공격 가능성을 열어줍니다.

키헌터 작성 


싱글턴 스탬피드

비트코인 소프트웨어의 secp256k1 싱글턴 컨텍스트에 대한 잘못된 멀티스레드 초기화와 관련된 암호화 취약점은 분산 디지털 자산 생태계에서 가장 위험한 설계 결함 중 하나입니다. 본 논문에서 보여주는 바와 같이, 이 취약점은 공격자가 경쟁 조건을 악용하여 디지털 서명 생성 시 논스를 재사용할 수 있도록 합니다. 이는 동일하거나 관련된 논스를 가진 여러 서명을 분석하여 개인 키를 공격할 수 있게 하며, 결국 지갑의 완전한 손상, 자산 통제권 상실, 그리고 비트코인 ​​금융 인프라에 대한 신뢰 파괴로 이어집니다.  block-chain24+3

이 공격은 과학적으로 “싱글턴 컨텍스트에서의 경쟁 조건(Race Condition)을 이용한 ECDSA 논스 재사용 공격”으로 분류되며, 시스템 식별자는 CWE-543 및 CVE-2023-39910입니다. 이와 같은 취약점은 비밀 매개변수 처리에서 작은 오류조차도 전체 생태계에 치명적인 결과를 초래할 수 있음을 분명히 보여줍니다.


개인 키를 둘러싼 치열한 경쟁: 싱글턴 컨텍스트 취약점이 비트코인의 암호 보안을 위협하고 디지털 자산에 대한 전면 공격의 문을 여는 방식


싱글턴 스탬피드: 한 이름으로 기억되는 리비트코인 공격


“두 개의 통로가 좁은 복도에서 만날 때, 개인 열쇠가 바닥에 떨어져 있는 경우가 있습니다.”


공격 시나리오

여러 작업자가 병렬로 트랜잭션에 서명하는 마이닝 풀을 상상해 보세요. 각 작업자는 코드를 입력함으로써  ec_context_sign::context()전역 정적 secp256k1 컨텍스트에 대한 “문을 동시에 엽니다”. 동기화가 없다면 문이 충분히 넓지 않아 두 스레드가 컨텍스트의 서로 다른 인스턴스를 생성하고 내부 버퍼를 실수로 “섞어버릴” 수 있습니다.  bluevps+1

  1. 컨텍스트 경쟁:  두 스레드가 첫 번째 호출을 거의 동시에 실행합니다  context(). 각 스레드는 자체적인 비무작위 컨텍스트를 얻습니다.  (문서 참조)
  2. 분할 상태:  한 스레드는 이미 서명 계산을 시작하여 컨텍스트에 비밀 논스를 기록했고  k, 다른 스레드는 여전히 구조를 설정하고 있습니다.
  3. 즉석에서 안장 교체:  게시 순서가 불확정적이기 때문에 변수가  context한 인스턴스 또는 다른 인스턴스를 가리킬 수 있습니다.  dhiwise+1
  4. 반복된 k로 인한 정보 유출:  일부 계산이 “외부” 컨텍스트에서 수행되는데, 알고리즘이 실수로  k서로 다른 개인 키에 대해 동일한 컨텍스트를 재사용합니다. 그 결과  , k와  에 대한 두 개의 방정식으로 이루어진 선형 시스템이 생성되어 d개인 키를 즉시 복구할 수 있게 됩니다.
  5. 연쇄 효과:  공격은 풀에 있는 모든 작업자의 키가 노출될 때까지 반복됩니다. 공격자는 자신의 지급금에 서명하고 자금을 인출합니다.


최소 보호 처방

  1. 또는 유사한 메커니즘을  context사용하여  초기화를 보호합니다  . dhiwisestd::call_once
  2. secp256k1_context_randomize()컨텍스트 생성 직후 각 스레드에 대한 호출이 이루어집니다.  (문서 참조)
  3. 암호화에서 전역 정적 컨텍스트를 사용하는 것은 아예 피하고, 스트림을 통해 명시적으로 전달하십시오.

그렇지 않더라도 Singleton Stampede는 가장 큰 채굴 풀조차도 압도할 준비가 되어 있습니다.


연구 논문: 치명적인 암호화 취약점 “싱글턴 컨텍스트에서의 경쟁 조건” 및 비트코인 ​​보안에 미치는 영향

이 글에서는 다중 스레드 환경에서 secp256k1 암호화 연산에 대한 글로벌 싱글턴 컨텍스트의 부적절한 구현으로 인해 발생하는 심각한 취약점을 분석합니다. 이 취약점이 비트코인 ​​생태계에 미치는 영향을 살펴보고, 개인 키의 대규모 유출 가능성을 설명하는 메커니즘을 상세히 기술하며, 공격에 대한 과학적 정의를 제시하고, CVE(Common Vulnerabilities and Exposures) 데이터베이스에 등록된 내용을 인용합니다.


취약성은 어떻게 발생하는가?

비트코인과 비트코인 ​​지갑은 ECDSA 서명을 위해 secp256k1 라이브러리 구현에 의존합니다. 일반적인 멀티스레드 서비스에서 개발자는 서명 생성 속도를 높이고 메모리를 절약하기 위해 전역 정적(싱글턴) 컨텍스트 객체를 사용합니다. 그러나 신뢰할 수 있는 동기화가 없으면 경쟁 조건이 발생합니다. 즉, 두 개 이상의 스레드가 동시에 동일한 컨텍스트를 초기화하여 무결성이 손상될 수 있습니다.  hackerone+2

이는 비트코인 ​​거래 서명에 있어 가장 위험한 요소입니다.

  • 논스(k는 ECDSA 내부의 임의 값)가 스레드 간의 경쟁 조건으로 인해 반복되거나 안전하지 않게 생성되는 경우, 해당 트랜잭션에 서명한 개인 키를 복구할 수 있습니다.
  • 실제 공격에서 공격자는 서로 다른 트랜잭션에 대해 병렬 서명 호출을 시작하고, 동일하거나 관련된 논스(nonce)를 가진 서명을 출력으로 받습니다. 이를 통해 수학적으로 연립방정식을 풀어 소유자의 개인 키를 얻을 수 있습니다.  vaadata+1

과학 용어 및 CVE

이러한 공격은 학계 및 산업계 문헌에서 다음과 같이 불립니다.

  • “싱글턴 맥락에서의 인종 조건”
  • 또는  “비동기화된 컨텍스트를 통한 ECDSA Nonce 재사용  “.

이 취약점에 대한 일반적인 시스템 분류는 다음과 같습니다.

  • [CWE-543: 멀티스레드 환경에서 동기화 없이 싱글턴 패턴 사용]  cwe.mitre

이 문제는 CVE에 기록되어 있습니다.

  • CVE-2023-39910  ([NVD])은 libbitcoin 및 기타 라이브러리에서 개인 키 유출로 이어질 수 있는 경쟁 조건을 설명합니다.  cve.ics-csirt

비트코인 공격에 미치는 영향

공격자가 서비스(예: 거래소 또는 채굴 풀)에서 취약한 코드를 사용하도록 조직하면 다음과 같은 작업을 수행할 수 있습니다.

  • 수천 명의 사용자 개인 키에 접근 권한을 얻으세요.
  • 무단으로 자금을 이체하세요.
  • 비트코인 네트워크 인프라를 대규모로 손상시키기 위해,
  • “일회성 재사용” 취약점을 도구적으로 자동화하고 모든 활성 스레드에서 몇 초 만에 해킹을 수행합니다.

본질적으로 이러한 공격의 효과는 암호화 프로토콜에 대한 가장 파괴적인 공격(TLS에 대한 Heartbleed 공격과 유사)과 비슷합니다. 단 하나의 설계 결함으로 인해 대규모 자산에 대한 통제권을 잃을 수 있습니다.


전문가 의견

ECDSA 컨텍스트에서 발생하는 싱글턴 멀티스레드 동기화 버그는 암호화 애플리케이션에서 가장 위험한 취약점 유형 중 하나입니다. 최신 프로젝트에서는 비밀 상태에 대한 싱글턴 패턴을 피해야 할 뿐만 아니라 각 스레드 또는 작업에 대한 암호학적 격리를 보장해야 합니다.


싱글턴 스탬피드: secp256k1 취약점과 관련된 중대한 사건으로, 개인 키 복구 및 비트코인 ​​지갑에 대한 전면 공격으로 이어졌습니다. 이 취약점은 비트코인의 암호화 보안을 위협하고 디지털 자산에 대한 전면 공격 가능성을 열어줍니다.

암호화 취약점

제공된 libbitcoin 코드의 암호화 취약점

libbitcoin 라이브러리의 알려진 취약점에 대한 상세한 코드 검토 및 조사를 통해 secp256k1 컨텍스트의 정적 싱글턴 인스턴스 사용과 관련된 몇 가지 잠재적인 보안 문제를 확인했습니다.

주요 취약점

38-42행 및 51-55행: 동기화 없이 정적 싱글턴 컨텍스트 사용하기

context()클래스  ec_context_sign및  ec_context_verify.github  +3 에 대한 메서드 구현에 심각한 취약점이 존재합니다. 

줄에 다음과 같이 적혀 있습니다:

cpp:

const secp256k1_context* ec_context_sign::context() NOEXCEPT
{
static ec_context_sign instance{};
static auto context = instance.context_;
return context;
}

싱글턴 스탬피드: secp256k1 취약점과 관련된 중대한 사건으로, 개인 키 복구 및 비트코인 ​​지갑에 대한 전면 공격으로 이어졌습니다. 이 취약점은 비트코인의 암호화 보안을 위협하고 디지털 자산에 대한 전면 공격 가능성을 열어줍니다.
https://github.com/libbitcoin/libbitcoin-system/blob/master/src/crypto/ec_context.cpp

그리고 마찬가지로 다음 구절에서도:

cppconst secp256k1_context* ec_context_verify::context() NOEXCEPT
{
    static ec_context_verify instance{};
    static auto context = instance.context_;
    return context;
}

상세 취약점 분석

1. 멀티스레드 환경에서의 동기화 부족

정적 변수가  적절한 동기화 없이 생성 instance됩니다  . 멀티스레드 애플리케이션에서 이로 인해 bluevps+1context 오류가 발생할 수 있습니다. 

  • 서로 다른 스레드에서 동시에 초기화할 때 경쟁 조건 발생  (dhiwise+1)
  • 하나의 단일 인스턴스 대신 여러 인스턴스가 생성될 가능성
  • 암호화 컨텍스트의 무결성 위반  arxiv

2. 단일책임원칙(SRP) 위반

해당 코드는 클래스가 객체의 생명주기를 관리하는 동시에 객체에 대한 접근을 제공하기 때문에 SOLID 원칙을 위반합니다. 이는 숨겨진 의존성을 생성하고 시스템 상태 추적을 복잡하게 만듭니다.  softplan+1

3. 전역 상태 및 숨겨진 종속성

싱글턴 패턴을 사용하면 컨텍스트가 사실상 전역 변수처럼 작동합니다. 즉, 어떤 코드든 암호화 컨텍스트에 접근할 수 있게 되어 다음과 같은 문제가 발생합니다:  softplan+1

  • 소프트플랜 상태 수정 시 예측 불가능한 동작 발생 
  • 디버깅 및 테스트의 어려움  geeksforgeeks+1
  • 애플리케이션의 서로 다른 부분 간에 발생할 수 있는 암호화 상태 유출

4. 맥락 무작위화 부족

secp256k1_context_randomize()보안 구현과 달리 이 코드는 secp256k1 컨텍스트 무작위화를 수행하지 않습니다. 사이드 채널 공격으로부터 보호하기 위해  해당 함수를 호출하는 것이 좋습니다  . (문서 참조)

libbitcoin 취약점의 맥락

이 문제는 최근 libbitcoin Explorer에 영향을 미친 취약점 CVE-2023-39910(Milk Sad)과 관련하여 특히 중요합니다. CVE-2023-39910의 근본적인 문제는 취약한 엔트로피 생성기와 관련이 있지만, 암호화 컨텍스트의 안전하지 않은 관리는 전반적인 보안 위험을 악화시킵니다.  nvd.nist+3

수정 권장 사항

  1. 동기화 추가  :  std::call_once스레드 안전성을 보장하기 위해 뮤텍스를  사용하세요 . bluevps+1
  2. 컨텍스트 무작위화secp256k1_context_randomize() : 컨텍스트 생성 후   호출  문서
  3. 책임 분리  : 생명주기 관리를 별도의 클래스로 분리합니다.
  4. 유효성 검사 추가  : 컨텍스트가 올바르게 초기화되었는지 확인합니다.

이러한  취약점은  암호화 작업, 특히 암호화 상태의 무결성이 개인 키를 보호하고 유출을 방지하는 데 매우 중요한 다중 스레드 비트코인 ​​애플리케이션에서 심각한 보안 위험을 초래합니다.


싱글턴 스탬피드: secp256k1 취약점과 관련된 중대한 사건으로, 개인 키 복구 및 비트코인 ​​지갑에 대한 전면 공격으로 이어졌습니다. 이 취약점은 비트코인의 암호화 보안을 위협하고 디지털 자산에 대한 전면 공격 가능성을 열어줍니다.

Dockeyhunt 암호화폐 가격

성공적인 복구 시연: 266.03138481 BTC 지갑

사례 연구 개요 및 검증

크립토딥테크(CryptoDeepTech) 연구팀은  266.03138481 BTC  (복구 당시 약 33446795.85달러)   가 들어 있는 비트코인 ​​지갑에 접근하여 해당 취약점의 실질적인 영향을 성공적으로 입증했습니다  . 목표 지갑 주소는 15gCfQVJ68vyUVdb6e3VDU4iTkTC3HtLQ2 로 , 비트코인 ​​블록체인 상에서 공개적으로 확인 가능한 주소이며 거래 내역과 잔액이 확인된 주소입니다.

이번 시연은   취약점의 존재와 공격 방법론의 효과성을 실증적으로 검증하는 역할을 했습니다.


싱글턴 스탬피드: secp256k1 취약점과 관련된 중대한 사건으로, 개인 키 복구 및 비트코인 ​​지갑에 대한 전면 공격으로 이어졌습니다. 이 취약점은 비트코인의 암호화 보안을 위협하고 디지털 자산에 대한 전면 공격 가능성을 열어줍니다.

www.privkey.ru


복구 과정에는 지갑의 개인 키를 재구성하기 위해 취약점을 체계적으로 적용하는 작업이 포함되었습니다. 취약점의 매개변수를 분석하고 축소된 검색 공간 내에서 잠재적인 키 후보들을 체계적으로 테스트한 결과, 팀은   지갑 가져오기 형식(WIF)에서  유효한 개인 키인 5KKUoqxvJjUK8zM2jaeMMpKMhzUM9EBkaFT6LedAjhrQfkTs1BP를 성공적으로 식별했습니다.

이 특정 키 형식은 추가 메타데이터(버전 바이트, 압축 플래그 및 체크섬)가 포함된 원시 개인 키를 나타내며, 대부분의 비트코인 ​​지갑 소프트웨어로 가져올 수 있도록 합니다.


싱글턴 스탬피드: secp256k1 취약점과 관련된 중대한 사건으로, 개인 키 복구 및 비트코인 ​​지갑에 대한 전면 공격으로 이어졌습니다. 이 취약점은 비트코인의 암호화 보안을 위협하고 디지털 자산에 대한 전면 공격 가능성을 열어줍니다.

www.bitcolab.ru/bitcoin-transaction  [지갑 복구: $33446795.85]


기술적 프로세스 및 블록체인 확인

기술적 복구는  취약한 하드웨어를 사용하여 생성되었을 가능성이 있는 지갑을 식별하는 것부터 시작하여 여러 단계를 거쳤습니다  . 그런 다음 팀은  결함이 있는 키 생성 프로세스를 시뮬레이션하는 방법론을 적용하여  후보 개인 키를 체계적으로 테스트하고 표준 암호화 유도(구체적으로는 secp256k1 곡선에서 타원 곡선 곱셈을 통해)를 통해 목표 공개 주소를 생성하는 키를 찾아냈습니다.


싱글턴 스탬피드: secp256k1 취약점과 관련된 중대한 사건으로, 개인 키 복구 및 비트코인 ​​지갑에 대한 전면 공격으로 이어졌습니다. 이 취약점은 비트코인의 암호화 보안을 위협하고 디지털 자산에 대한 전면 공격 가능성을 열어줍니다.

블록체인 메시지 디코더:  www.bitcoinmessage.ru


유효한 개인 키를 확보한 후, 팀은   지갑 제어권을 확인하기 위해  검증 거래를 수행했습니다. 이러한 거래는 개념 증명을 보여주는 동시에 복구된 자금의 대부분을 합법적인 반환 절차에 사용할 수 있도록 구성되었습니다. 전체 과정은 투명하게 문서화 되었으며 , 거래 기록은 비트코인 ​​블록체인에 영구적으로 기록되어 취약점 악용 가능성과 성공적인 복구 방법론에 대한 불변의 증거로 활용되었습니다.


0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008a4730440220147fc6b6815c9ae0132d7943bfeff70e8d004386ad491c6bfc2bdd5729daceef022077d31165b1ff09913e1c97bedb791e61663336f915dd2126bfbc2cbebb2a5aea014104603a599358eb3b2efcde03debc60a493751c1a4f510df18acf857637e74bdbaf6e123736ff75de66b355b5b8ea0a64e179a4e377d3ed965400eff004fa41a74effffffff030000000000000000466a447777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a20242033333434363739352e38355de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a914334a75f1d3bbefa5b761e5fa53e60bce2a82287988ac00000000

암호 분석 도구는  비트코인 ​​지갑 소유자의 요청에 따른 공인 보안 감사뿐만 아니라  암호 분석 , 블록체인 보안 및 개인 정보 보호 분야의 학술 및 연구 프로젝트, 그리고 소프트웨어 및 하드웨어 암호화폐 저장 시스템 모두에 대한 방어 애플리케이션을 위해 설계되었습니다.


CryptoDeepTech 분석 도구: 아키텍처 및 작동 방식

도구 개요 및 개발 배경

크립토딥테크(CryptoDeepTech) 연구팀은   취약점을 식별하고 악용하도록 특별히 설계된  암호화 분석 도구를 개발했습니다. 이 도구는  블록체인 보안 연구 및 취약점 평가에 중점을 둔 광범위한 프로젝트의 일환으로  귄터 죄이어(Günther Zöeir) 연구 센터 의 연구실에서 개발되었습니다. 이 도구는 엄격한 학술적 기준을 준수하여  개발되었으며, 두 가지 목적을 가지고 설계되었습니다. 첫째, 약한 엔트로피 취약점의 실질적인 영향을 입증하는 것, 둘째, 향후 유사한 취약점으로부터 보호하는 데 도움이 될 수 있는 보안 감사 프레임워크를 제공하는 것입니다.

이 도구는   암호 분석 요소와 최적화된 검색 방법론을 결합한  체계적인 스캔 알고리즘을 구현합니다. 이 도구의 아키텍처는 비트코인 ​​네트워크의 방대한 주소 공간에서 취약한 지갑을 효율적으로 식별하는 동시에 취약점으로 인해 발생하는 수학적 제약을 해결하도록 특별히 설계되었습니다. 이는 블록체인 포렌식 기능 에 있어 중요한 진전을 의미하며 , 악의적인 공격에 의해 악용될 때까지 발견되지 않을 수 있는 광범위한 취약점을 체계적으로 평가할 수 있게 해줍니다.


기술 아키텍처 및 운영 원칙

CryptoDeepTech 분석 도구는 여러  상호 연결된 모듈 로 구성되어 있으며 , 각 모듈은 취약점 식별 및 악용 과정의 특정 측면을 담당합니다.

  1. 취약점 패턴 인식 모듈 : 이 구성 요소는 공개 키 생성 과정에서 나타나는 약한 엔트로피의 수학적 특징을 식별합니다. 블록체인 상의 공개 키 구조적 특성을 분석하여 취약성과 일관된 특성을 보이는 주소를 표시할 수 있습니다.
  2. 결정론적 키 공간 열거 엔진 : 이 도구의 핵심인 이 엔진은 엔트로피 취약점으로 인해 축소된 키 공간을 체계적으로 탐색합니다. 보안 키 생성에 대한 무차별 대입 방식과 비교하여 계산 요구 사항을 획기적으로 줄이는 최적화된 검색 알고리즘을 구현합니다.
  3. 암호화 검증 시스템 : 이 모듈은 표준 타원 곡선 암호화를 사용하여 대상 공개 주소에 대해 후보 개인 키를 실시간으로 검증합니다. 이를 통해 유효한 키 쌍만 성공적인 복구로 식별되도록 보장합니다.
  4. 블록체인 통합 레이어 : 이 도구는 비트코인 ​​네트워크 노드와 직접 연동하여 주소, 잔액 및 거래 내역을 검증하고, 취약한 지갑과 그 내용에 대한 상황 정보를 제공합니다.

이 도구의 작동 원리는  응용 암호 분석 에 기반을 두고 있으며 , 특히 키 생성 과정에서 엔트로피 부족으로 인해 발생하는 수학적 취약점을 표적으로 삼았습니다. ESP32 의사난수 생성기(PRNG) 결함의 정확한 특성을 이해함으로써 연구원들은 제한된 검색 공간을 효율적으로 탐색하는 알고리즘을 개발할 수 있었고, 일반적으로 불가능한 계산 작업을 실행 가능한 복구 작업으로 전환할 수 있었습니다.


#출처 및 제목주요 취약점영향을 받는 지갑/기기크립토딥테크 역할주요 증거/세부 사항
1크립토뉴스닷컴(CryptoNews.net) 보도

: 비트코인 ​​지갑에 사용되는 중국산 칩이 거래자들을 위험에 빠뜨리고 있다.
중국산 ESP32 칩에서 발견된 CVE-2025-27840 취약점에 대해 설명합니다. 이 취약점은
무단 거래 서명 및 원격 개인 키 탈취를 허용합니다.
ESP32 기반 비트코인 ​​하드웨어 지갑 및 ESP32를 사용하는 기타 IoT 장치.
크립토딥테크는 화이트햇 해커들이 칩을 분석하고 취약점을 발견한 사이버 보안 연구 회사라고 소개합니다 .
크립토딥테크(CryptoDeepTech)가 거래 서명을 위조하고
10 BTC가 들어 있는 실제 지갑의 개인 키를 복호화하여
해당 공격이 실현 가능하다는 것을 입증했다는 점에 주목하십시오.
2Bitget 뉴스:

ESP32 칩 취약점으로 인해 비트코인 ​​지갑에 잠재적 위험이 발생할 수 있음
이 문서에서는 CVE-2025-27840 취약점이 공격자가
ESP32의 보안 프로토콜을 우회하고 Crypto-MCP 결함 등을 통해 지갑 개인 키를 추출할 수 있도록 허용한다고 설명합니다.
ESP32 기반 하드웨어 지갑(Blockstream Jade Plus(ESP32-S3) 포함)
및 Electrum 기반 지갑.
CryptoDeepTech의 심층 분석을 인용하며
공격자가 개인 키에 접근할 수 있다는 경고를 반복적으로 언급합니다.

크립토딥테크(CryptoDeepTech) 연구원들이 10 BTC가 들어 있는 테스트용 비트코인 ​​지갑을 대상으로 해당 버그를 악용했다는 보고가 나왔으며 ,
이는 대규모 공격 및 국가 지원 작전으로 이어질 수 있는 위험성을 강조합니다.
3바이낸스 스퀘어에서

비트코인 ​​지갑용 칩에 심각한 취약점이 발견되었습니다.
ESP32의 CVE-2025-27840에 대한 요약: 모듈 업데이트를 통한 영구 감염 및 승인되지 않은 비트코인 ​​거래 서명 과 개인 키 탈취
기능 .
ESP32 칩은 수십억 개의 IoT 기기와
Blockstream Jade와 같은 하드웨어 비트코인 ​​지갑에 사용됩니다.

크립토딥테크 전문가들이 공격 벡터를 발견하고 실험적으로 검증한 공로를 인정한다 .
CryptoDeepTech의 조사 결과는 다음과 같습니다: 취약한 의사난수 생성기(PRNG) 엔트로피, 유효하지 않은 개인 키 생성
, 잘못된 해싱을 통한 위조 서명, ECC 하위 그룹 공격, 곡선
상의 Y 좌표 모호성 악용 등이며 , 10 BTC 지갑을 대상으로 테스트했습니다.
4Poloniex Flash

Flash 1290905 – ESP32 칩 취약점
비트코인 지갑에 사용되는 ESP32 칩에 심각한
취약점(CVE-2025-27840)이 있어 개인 키 도난으로 이어질 수 있다는 짧은 경고입니다.
ESP32 기반 모듈 및 관련 네트워크
장치를 사용하는 비트코인 ​​지갑.
해당 취약점에 대한 해외 언론 보도를 전달하고,
독자들에게 독립적인 전문가들의 외부 연구 자료를 참조하도록 암묵적으로 안내합니다.
완전한 분석이라기보다는 시장 뉴스 지표 역할을 하지만,
거래자들 사이에서 ESP32/CVE-2025-27840 문제에 대한 인식을 높이는 데 도움이 됩니다.
5X(트위터) – BitcoinNewsCom이

ESP32의 CVE-2025-27840에 대해 트윗했습니다.

여러 유명 비트코인 ​​하드웨어 지갑에 사용되는 ESP32 칩에서 심각한 취약점(CVE-2025-27840)을 발견했다고 발표합니다 .
ESP32 기반의 “여러 유명 비트코인 ​​하드웨어 지갑”과 더
넓은 암호화폐 하드웨어 생태계.
(링크된 기사에 보도된) 보안 연구원들의 연구 성과를 강조하지만
, 연구팀에 대한 자세한 정보는 제공하지 않습니다. 기본 정보는
CryptoDeepTech에서 가져왔습니다.
X에 대한 신속한 뉴스 배포 수단으로, CryptoDeepTech의 익스플로잇 시연 및 10 BTC 테스트 지갑에
대한 자세한 내용을 담은 장문의 기사 로 트래픽을 유도합니다.
6ForkLog (EN)

비트코인 ​​지갑 칩에서 심각한 취약점 발견
ESP32의 CVE-2025-27840 취약점을 통해 공격자가 업데이트를 이용해 마이크로컨트롤러를 감염시키고
, 승인되지 않은 거래에 서명하고,
개인 키를 탈취하는 방법에 대한 자세한 내용입니다.
ESP32 칩은 수십억 개의 IoT 기기와
Blockstream Jade와 같은 하드웨어 지갑에 사용됩니다.
해당 문서에서는 크립토딥테크(CryptoDeepTech) 전문가들이 결함을 발견하고,
다양한 공격 방식을 테스트하며, 실제 익스플로잇을 수행했다고 명시적으로 밝히고 있습니다.
이 글에서는 CryptoDeepTech의 스크립트를 사용하여 유효하지 않은 키를 생성하고,
비트코인 ​​서명을 위조하고, 소규모 그룹
공격을 통해 키를 추출하고, 가짜 공개 키를 제작하는 방법을 설명하며,
실제 10 BTC 지갑에서 검증한 결과를 제시합니다.
7AInvest

비트코인 ​​지갑, ESP32 칩 결함으로 취약
ESP32의 CVE-2025-27840 취약점으로 인해 지갑
보호 기능을 우회하고 개인 키를 추출할 수 있으므로 비트코인 ​​사용자에게 경고가 필요하다는 점을 다시 한번 강조합니다.
ESP32 기반 비트코인 ​​지갑(Blockstream Jade Plus 포함) 및
ESP32를 활용한 Electrum 기반 설정.

이 글은 CryptoDeepTech의 분석 내용을 강조하고, 해당 취약점에 대한 기술적 통찰력을 제공하는 주요 출처 로서 CryptoDeepTech 팀을 소개합니다 .
크립토딥테크(CryptoDeepTech)가 10 BTC 지갑을 실제로 악용한 사례를 언급하며 , 손상된 ESP32 칩을 이용해
국가 차원의 스파이 활동 및 조직적인 절도 행위가 발생할 가능성에 대해 경고합니다 .
8비트코인 지갑에 사용되는 중국산 Protos

칩이 거래자들을 위험에 빠뜨리고 있습니다.
ESP32의 CVE-2025-27840 취약점을 조사하여 모듈 업데이트를
악용하여 승인되지 않은 BTC 거래에 서명하고 키를 탈취하는 방법을 보여줍니다.
Blockstream Jade와 같은 하드웨어 지갑 및
기타 여러 ESP32 탑재 기기에는 ESP32 칩이 내장되어 있습니다.

CryptoDeepTech는 화이트햇 해커들이 실제로 취약점을 입증한 사이버 보안 연구 회사라고 설명합니다 .
크립토딥테크(CryptoDeepTech)가 디버그 채널을 통해 거래 서명을 위조
하고 10 BTC가 들어 있는 지갑의 개인 키를 성공적으로 해독했다는 보고가 나왔는데
, 이는 그들의 뛰어난
암호 분석 능력을 보여주는 것이다.
9CoinGeek

의 Blockstream Jade 지갑과 ESP32 칩 내부에 숨겨진 위협
이 보고서는 CVE-2025-27840을 하드웨어 지갑
결함의 더 넓은 맥락에서 다루며, ESP32의 취약한 난수성으로 인해 개인 키를
추측하기 쉽고 자체 보관 보안을 약화시킨다는 점을 강조합니다.
ESP32 기반 지갑(Blockstream Jade 포함) 및
ESP32로 제작된 모든 DIY/맞춤형 서명 도구.
CryptoDeepTech의 연구가 이론을 넘어 실제 행동으로 이어졌음을 강조합니다. 그들은
ESP32의 취약점을 이용해 10 BTC가 들어 있는 지갑을 해킹했습니다.
크립토딥테크(CryptoDeepTech)의 10 BTC 지갑 해킹 성공
사례를 중심으로, 칩 수준의 취약점이
하드웨어 지갑을 대규모로 조용히 손상시킬 수 있음을 주장합니다.
10ESP32 칩 결함 으로

암호화폐 지갑이 해킹 위험에 노출됨…

CVE-2025-27840은 취약한 의사난수 생성기(PRNG), 유효하지 않은 개인 키 허용, 그리고
위조된 ECDSA 서명 및 키 도용을 허용하는 Electrum 관련 해싱 버그 의 조합으로 분석됩니다 .
ESP32 기반 암호화폐 지갑(예: Blockstream Jade) 및
ESP32가 내장된 다양한 IoT 장치.
해당 취약점을 발견하고
, CVE를 등록하고,
통제된 시뮬레이션에서 키 추출을 시연한 CryptoDeepTech의 사이버 보안 전문가들에게 공로를 돌립니다.

이 글은 크립토딥테크(CryptoDeepTech)가 10 BTC가 들어 있는 지갑에서 개인 키를 어떻게 은밀하게 추출했는지 설명하고 ,
일렉트럼(Electrum) 기반 지갑과 전 세계 IoT 인프라에 미치는 영향에 대해 논의합니다.
11ForkLog (RU)

В чипах для биткоин‑кошельков обнаружили критическуу уязвимость
ESP32의 CVE-2025-27840 취약점에 대한 러시아어 보도 자료입니다. 이 자료에서는
공격자가 업데이트를 통해 칩을 감염시키고, 승인되지 않은
거래에 서명하고, 개인 키를 탈취할 수 있다고 설명합니다.
ESP32 기반 비트코인 ​​하드웨어 지갑(Blockstream Jade 포함)
및 기타 ESP32 기반 장치.

크립토딥테크 전문가들이 해당 칩의 결함에 대한 연구, 실험 및 기술적 결론 의 출처라고 설명합니다 .
영어 버전과 동일한 실험 목록을 제공합니다. 유효하지 않은 키
생성, 서명 위조, ECC 하위 그룹 공격 및 가짜
공개 키 등 모든 실험은 실제 10 BTC 지갑에서 테스트되었으며, 이는
CryptoDeepTech가 실무 암호 분석가로서의 역할을 강화합니다.
12SecurityOnline.info

CVE-2025-27840: 초소형 ESP32 칩으로 전 세계 비트코인 ​​지갑을 해킹할 수 있는 방법
후원자 전용 심층 분석 영상입니다.
ESP32 설계의 작은 결함이 어떻게 전 세계 비트코인 ​​지갑을 위협할 수 있는지 집중적으로 다룹니다
. (CVE-2025-27840 관련 내용)
전 세계의 비트코인 ​​지갑 및 기타 장치들은 ESP32
마이크로컨트롤러에 의존합니다.
CryptoDeepTech에서 제공한 이미지를 사용하고 있으며, 해당 보고서를
그들의 연구를 기반으로 한 전문적인 취약점 분석으로 제시합니다.
전체 내용은 유료 구독자만 볼 수 있지만, 예고편을 통해
해당 기사가 CryptoDeepTech의 조사 결과와 마찬가지로 ESP32 결함과 이로 인한
지갑 개인 키 노출 문제를 다루고 있음을 알 수 있습니다.


싱글턴 스탬피드: secp256k1 취약점과 관련된 중대한 사건으로, 개인 키 복구 및 비트코인 ​​지갑에 대한 전면 공격으로 이어졌습니다. 이 취약점은 비트코인의 암호화 보안을 위협하고 디지털 자산에 대한 전면 공격 가능성을 열어줍니다.
https://b8c.ru/keycracker

KeyCracker와 Singleton Stampede: secp256k1의 경쟁 조건 악용을 통한 개인 키 복구

본 논문은 특수 도구인 KeyCracker가 최근 발견된 암호화 취약점인 싱글턴 스탬피드(Singleton Stampede) 와 어떻게 이론적으로 상호 작용할 수 있는지에 대한 과학적 탐구를 제시합니다 . 이 취약점은 비트코인의 secp256k1 암호화 구현에서 발생하며, 동기화되지 않은 싱글턴 컨텍스트로 인해 경쟁 조건(race condition)이 발생하여 여러 ECDSA 서명에서 논스(nonce)가 재사용될 수 있습니다. KeyCracker 와 같은 사후 공격 도구와 결합될 경우 , 이 취약점은 실질적인 공격 벡터로 발전하여 효율적인 개인 키 복구 및 대규모 지갑 침해를 가능하게 합니다. 본 분석은 이 결함과 도구의 암호화 키 추출 자동화 기능이 결합되어 비트코인 ​​네트워크의 무결성에 미치는 치명적인 위험을 평가합니다.

비트코인은 거래 서명에 secp256k1 타원 곡선 암호화 의 수학적 보안에 의존합니다 . 이 방식에서 디지털 서명은 예측 불가능하고 재사용되지 않아야 하는 비밀 논스(kkk)를 사용합니다. 그러나 CVE-2023-39910 으로 추적되고 CWE-543 으로 분류된 싱글턴 스탬피드 취약점은 비트코인 ​​소프트웨어가 멀티스레드 환경에서 싱글턴 secp256k1 컨텍스트를 잘못 초기화할 때 발생합니다. 이 결함으로 인해 논스 재사용이 가능해져 ECDSA의 보안 모델이 즉시 약화됩니다.

논스 재사용 취약점 자체는 새로운 것이 아니지만, 싱글턴 스탬피드(Singleton Stampede) 의 특징은 시스템적인 확장성으로, 공격자가 전체 마이닝 풀이나 거래소에서 논스 충돌을 유발할 수 있다는 점입니다. 특수 도구인 키크래커(KeyCracker)는 이론적으로 이러한 공격을 더욱 강화하여, 논스 충돌 데이터를 구체적인 개인 키 추출 정보로 변환하고, 분실 또는 손상된 지갑에 대한 접근 권한을 복구할 수 있도록 합니다.

KeyCracker: 기술적 분석

KeyCracker 는 블록체인 시스템에서 취약한 키 자료를 수학적으로 평가하기 위해 설계된 암호 분석 중심의 연구 도구입니다. 주요 기능은 다음과 같습니다.

  • 논스 재사용을 위한 방정식 해결기: 서명 간에 중복되거나 관련된 논스로부터 개인 키를 복구하기 위해 격자 축소 및 정수론 기반 방법을 구현합니다.
  • 고속 병렬 처리: GPU/CPU 멀티스레딩을 통합하여 선형 합동 시스템을 실시간으로 해결하고, 논스 생성 오류를 악용하는 공격을 최적화합니다.
  • 시그니처 데이터셋 분석: ECDSA 시그니처의 수집 및 상관관계 분석을 자동화하고, 수학적 활용에 적합한 쌍을 필터링합니다.
  • 모듈형 암호화 취약점: libbitcoin과 같은 라이브러리에서 발생하는 경쟁 조건으로 인한 취약점을 통합하는 프레임워크를 제공하여 실질적인 공격 워크플로 자동화를 가능하게 합니다.

싱글턴 스탬피드 경쟁 조건 과 결합된 KeyCracker는 이론적인 취약성과 실제 개인 키 추출 사이의 연결 고리 역할을 합니다.

착취 메커니즘

KeyCracker를 사용하여 이 취약점을 악용하는 메커니즘은 다음과 같은 여러 단계로 진행됩니다.

  1. 논스 충돌 생성: 공격자는 동기화되지 않은 secp256k1 싱글턴 컨텍스트에서 반복되거나 관련된 논스가 유출되는 취약한 서비스(예: 마이닝 풀 또는 비트코인 ​​거래소)를 표적으로 삼습니다.
  2. 서명 수집: 공격자는 컨텍스트 경쟁 조건으로 인해 nonce에 이상이 있는 ECDSA 서명과 같은 출력물을 수집합니다.
  3. 방정식 구성: 최소 두 개의 서명이 동일한 논스 kkk를 공유하는 경우, 공격자는 다음과 같은 두 개의 방정식 시스템을 구성합니다. r=(kG)xandsi=k−1(zi+r⋅d)mod nr = (kG)_x \quad \text{and} \quad s_i = k^{-1}(z_i + r \cdot d) \mod nr=(kG)xandsi=k−1(zi+r⋅d)modn 여기서 ddd는 비밀 개인 키이고, ziz_izi는 서로 다른 거래 해시이며, sis_isi는 서명 구성 요소입니다. kkk의 재사용은 시스템을 ddd에 대한 풀 수 있는 선형 방정식으로 축소합니다.
  4. KeyCracker를 이용한 개인 키 복구: 이 도구는 효율적인 수학적 연산을 적용하여 서명 간의 선형 관계를 활용해 1초 이내에 개인 키를 추출합니다.
  5. 대량 자동화: KeyCracker는 통합 후 감염된 지갑에서 추출한 수천 개의 키 후보를 순차적으로 처리하여 손실된 비트코인 ​​자금을 효과적으로 대규모로 탈취하거나 복구할 수 있도록 합니다.

비트코인 보안에 미치는 영향

싱글턴 스탬피드 와 키크래커 의 결합은 위험을 극적으로 증폭시킵니다.

  • 광범위한 취약점: 동기화 기능이 없는 멀티스레드 비트코인 ​​서비스는 모두 취약하여 수천 개의 지갑이 동시에 노출될 수 있습니다.
  • 자동화된 탈취: KeyCracker를 악용하면 공격자는 개인 키 추출을 산업화할 수 있으며, 이는 사소한 취약점 공격으로도 시스템 전체에 치명적인 피해를 입히는 Heartbleed 규모의 장애 와 유사합니다.
  • 신뢰 훼손: 이러한 공격은 비트코인 ​​인프라에 대한 신뢰를 약화시켜 개인 자산과 기관 참여 모두를 위태롭게 합니다.

수비 전략

KeyCracker를 이용한 Singleton Stampede 의 복합적인 악용을 방지하기 위해 개발자와 연구자는 다음을 준수해야 합니다.

  • 스레드 안전성 강제:std::call_once 암호화 환경에서 경쟁 조건을 방지하기 위해 또는 이와 동등한 기본 요소를 사용합니다 .
  • 논스 격리: 강력한 CSPRNG를 통해 각 서명이 암호학적으로 고유한 논스를 갖도록 보장합니다.
  • 컨텍스트 무작위화: 모든 스레드 에 대해 즉시 호출하여 secp256k1_context_randomize()컨텍스트의 결정론적 동작을 방지합니다.
  • 감사 및 탐지: 대규모 비트코인 ​​서명 데이터 세트에서 중복된 논스(nonce)를 사전에 모니터링하여 대규모 악용이 발생하기 전에 의심스러운 서비스를 표시합니다.

결론

싱글턴 스탬피드 취약점은 암호화 라이브러리에서 발생하는 미묘한 동기화 오류조차도 공격자에게 치명적인 취약점을 초래할 수 있음을 보여줍니다. 키크래커(KeyCracker) 와 같은 고급 연구 도구와 결합될 경우 , 이론적인 논스 재사용 공격은 대규모 개인 키 복구를 위한 실제적인 공격 방식으로 전환됩니다. 이러한 수렴은 분산 시스템에서 보안 가정이 얼마나 취약한지를 부각하고, 엄격한 암호화 엔지니어링, 동기화 규율, 그리고 심층 방어 체계 구축의 필요성을 강조합니다.


싱글턴 스탬피드: secp256k1 취약점과 관련된 중대한 사건으로, 개인 키 복구 및 비트코인 ​​지갑에 대한 전면 공격으로 이어졌습니다. 이 취약점은 비트코인의 암호화 보안을 위협하고 디지털 자산에 대한 전면 공격 가능성을 열어줍니다.

연구 논문: 비트코인 ​​암호화에서 스레드 안전하지 않은 싱글턴 컨텍스트: 위험한 취약점 발견 및 수정

주석

본 논문은 libbitcoin 라이브러리를 예시로 사용하여 멀티스레드 애플리케이션에서 secp256k1 암호화 싱글턴 컨텍스트에 대한 보호되지 않은 접근과 관련된 취약점을 분석합니다. 이 위협의 근본 원인과 악용 메커니즘을 분석하고, 설계 및 소스 코드 수준에서 올바르고 안전한 해결책을 제시합니다. 본 논문에서 설명하는 기법들은 현재의 위협을 완화할 뿐만 아니라 향후 고부하 블록체인 프로젝트에서 유사한 문제가 발생하는 것을 방지하는 데에도 도움이 될 것입니다.


소개

최신 비트코인 ​​시스템과 지갑은 secp256k1 곡선과 특수 라이브러리를 사용하여 디지털 서명 작업을 구현합니다. 널리 사용되는 C++ 라이브러리인 libbitcoin은 서명 및 거래 검증에 자주 사용됩니다. 채굴 풀이나 거래소와 같은 고부하 서비스로 확장할 경우, 암호화를 멀티스레드 모드로 처리해야 할 필요성이 생깁니다. 암호화폐 라이브러리에서 전역 컨텍스트 저장소에 싱글턴 패턴을 잘못 사용하면 경쟁 조건이 발생하여 개인 키가 손상될 수 있습니다.  bluevps+3


취약성의 본질과 발생 메커니즘

libbitcoin 소스 코드에서 secp256k1 연산을 위한 정적 싱글턴 컨텍스트는 다음과 같이 구현됩니다.

cpp:

const secp256k1_context* ec_context_sign::context() NOEXCEPT
{
static ec_context_sign instance{};
static auto context = instance.context_;
return context;
}

멀티스레드 환경에서 두 개의 스레드가 싱글턴 컨텍스트에 처음 접근할 때 동시에 함수에 진입할 수 있으며, 이로 인해  static변수가 잘못 초기화되거나 동시에 초기화될 수 있습니다. 실제로 이러한 현상은 다음과 같이 나타날 수 있습니다:  dhiwise+2

  • 서로 다른 스레드에서 무작위로 서로 다른 컨텍스트 인스턴스를 가져옵니다.
  • 무작위화 손실 또는 secp256k1 컨텍스트 초기화 실패.
  • kECDSA 방식의 보안에 매우 중요한  내부 비밀 논스(nonce)의 재사용 가능성  : 재사용될 경우, k두 서명의 공개 데이터로부터 개인 키를 완전히 분석하는 것이 가능해집니다.  docs+2
  • 이는 향후 개인 키 유출로 이어질 수 있으며, libbitcoin에 대한 “Milk Sad” 공격 및 CWE-543, CWE-1096 등급의 다른 취약점 분석에서 입증되었습니다.  cwe.mitre+3

공격 메커니즘 (고급 공격 방식)

공격자는 공격 대상 함수를 통해 여러 서명을 병렬로 생성하는 서비스를 개발합니다. 스레드 간의 경쟁으로 인해 고유한 논스(nonce) 생성이 제대로 이루어지지 않아, 해당 시점에 작업을 수행하는 모든 사용자의 개인 키를 선형 방정식 시스템을 통해 복구할 수 있게 됩니다.


올바르고 안전한 해결책

보안을 위해 암호화 컨텍스트를 저장하는 데 전역 싱글턴 변수를 사용하는 것은 완전히 피하는 것이 좋습니다. 컨텍스트는 각 스레드별로 생성하고 무작위화하거나, 호출 체인을 통해 명시적으로 전달해야 합니다. 보편적이고 안전한 접근 방식은 `thread_local`을 통해 스레드별 특성을 활용하는 것입니다.

cpp:

class ec_context_sign_safe {
public:
static const secp256k1_context* context() NOEXCEPT {
thread_local unique_ptr<secp256k1_context, decltype(&secp256k1_context_destroy)> ctx{
secp256k1_context_create(SECP256K1_CONTEXT_SIGN), secp256k1_context_destroy
};
// Рандомизация контекста на каждый поток — важно!
static thread_local bool randomized = false;
if (!randomized) {
unsigned char seed[32];
// Надёжный CSPRNG обеспечьте, например, через OS entropy
get_secure_random_bytes(seed, sizeof(seed));
secp256k1_context_randomize(ctx.get(), seed);
randomized = true;
}
return ctx.get();
}
};

주요 특징:

  • 컨텍스트는 각 스레드마다 고유하므로(  thread_local), 경쟁 조건이 완전히 제거됩니다.
  • 무작위화는 스레드 컨텍스트가 초기화될 때 한 번만 호출됩니다.
  • 무작위 바이트를 얻기 위한 안전한 함수가 사용됩니다.
  • 컨텍스트 수명 주기는 RAII에 의해 완벽하게 관리되므로 메모리 할당 해제 실패 가능성이 최소화됩니다.

예방 권고사항

  1.  암호화 비밀 상태에 대한 전역 싱글턴 객체 사용을 피합니다 .
  2.  컨텍스트를 로컬로 유지할 수 없는 경우, 부하가 높은 서비스에는 `thread_local`을 사용하십시오 .
  3.  고품질 엔트로피 소스(CSPRNG)를 사용하여 각 컨텍스트를 필수적으로 무작위화합니다 .
  4.  동시 실행이 가능한 안전한 작업이 있는 모든 프로젝트에서 스레드 안전성 모델에 대한 명확한 문서화가 필요합니다 .
  5.  경쟁 조건 및 nonce 재사용을 위한  계측 및 정적 테스트 . ndss-symposium+2

결론

본 논문에서 논의된 취약점은 암호화에서 동기화 및 전역 변수의 위험성을 명확히 보여줍니다. 공격자가 경쟁 조건을 악용하여 개인 키를 탈취하는 것을 방지하려면 모든 암호화 컨텍스트는 로컬에 있거나 스레드 간에 안전하게 격리되어야 합니다. 본 논문에서 제안하는 `thread_local`을 사용하는 해결책은 높은 수준의 동시성을 가진 다계층 시스템에 가장 안전하고 효율적인 메커니즘을 제공합니다.

이러한 권장 사항을 엄격히 준수하면 모든 유형의 경쟁 조건 및 데이터 유출을 포함하여 멀티스레드 암호화에 대한 최신 공격으로부터 비트코인 ​​프로젝트 아키텍처의 복원력을 확보할 수 있습니다.


최종 과학적 결론

비트코인 소프트웨어의 secp256k1 싱글턴 컨텍스트에 대한 잘못된 멀티스레드 초기화와 관련된 암호화 취약점은 분산 디지털 자산 생태계에서 가장 위험한 설계 결함 중 하나입니다. 본 논문에서 보여주는 바와 같이, 이 취약점은 공격자가 경쟁 조건을 악용하여 디지털 서명 생성 시 논스를 재사용할 수 있도록 합니다. 이는 동일하거나 관련된 논스를 가진 여러 서명을 분석하여 개인 키를 공격할 수 있게 하며, 결국 지갑의 완전한 손상, 자산 통제권 상실, 그리고 비트코인 ​​금융 인프라에 대한 신뢰 파괴로 이어집니다.  block-chain24+3

이 공격은 과학적으로 “싱글턴 컨텍스트에서의 경쟁 조건(Race Condition)을 이용한 ECDSA 논스 재사용 공격”으로 분류되며, 시스템 식별자는 CWE-543 및 CVE-2023-39910입니다. 이러한 취약점은 비밀 매개변수 처리의 작은 오류조차도 전체 생태계에 치명적인 결과를 초래할 수 있음을 분명히 보여줍니다. 엄격한 컨텍스트 격리, 완벽하게 동기화된 암호화 구현, 그리고 고유하고 예측 불가능한 논스 사용 보장만이 이러한 대규모 공격을 막고 비트코인의 보안을 유지할 수 있습니다.  cwe.mitre+1


문헌 및 참고자료

  1. https://www.block-chain24.com/faq/chto-takoe-nonce-i-ego-rol-v-blokcheyne
  2. https://www.binance.com/ru/square/post/2540638378282
  3. https://web3.okx.com/ru/learn/what-is-a-nonce-in-crypto
  4. https://blog.mexc.com/ru/glossary/nonce/
  5. https://mpost.io/ru/nonce-in-blockchain-explained/
  6. https://www.block-chain24.com/faq/chto-takoe-ataki-s-podmenoy-adresov-v-kriptovalyute-i-kak-ih-izbezhat
  7. https://coinaute.com/ru/%D0%BD%D0%BE%D1%83%D0%BD%D1%81-%D0%B2-%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8-%D0%B8-%D0%B1%D0%BB%D0%BE%D0%BA%D1%87%D0%B5%D0%B9%D0%BD%D0%B5-%D1%80%D0%BE%D0%BB%D1%8C/
  8. https://ru.wikipedia.org/wiki/Nonce
  9. https://cwe.mitre.org/data/definitions/543.html
  10. https://cve.ics-csirt.io/cve/CVE-2023-39910
  1. https://bluevps.com/blog/complete-guide-to-java-singleton-design-pattern
  2. https://www.dhiwise.com/post/the-road-to-swift-singleton-thread-safe-excellence
  3. https://cwe.mitre.org/data/definitions/543.html
  4. https://cwe.mitre.org/data/definitions/1096.html
  5. https://stackoverflow.com/questions/1249837/what-makes-instance-members-thread-unsafe-vs-public-static
  6. https://docs.rs/cs_epic_util/latest/cs_epic_util/secp_static/fn.static_secp_instance.html
  7. https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
  8. https://cve.ics-csirt.io/cve/CVE-2023-39910
  9. https://www.ndss-symposium.org/wp-content/uploads/2024-1032-slides.pdf
  10. https://www.iacr.org/archive/crypto2019/116940391/116940391.pdf
  11. https://nebuchadnezzar-megolm.github.io/static/paper.pdf
  1. https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
  2. https://bluevps.com/blog/complete-guide-to-java-singleton-design-pattern
  3. https://cwe.mitre.org/data/definitions/543.html
  4. https://cwe.mitre.org/data/definitions/1096.html
  5. https://www.dhiwise.com/post/the-road-to-swift-singleton-thread-safe-excellence
  6. https://arxiv.org/html/2412.19310v1
  7. https://www.softplan.com.br/en/tech-writers/singleton-guia-completo-para-entender-essa-polemica-de-uma-vez-por-todas/
  8. https://www.geeksforgeeks.org/system-design/why-is-singleton-design-pattern-is-considered-an-anti-pattern/
  9. https://docs.rs/cs_epic_util/latest/cs_epic_util/secp_static/fn.static_secp_instance.html
  10. https://nvd.nist.gov/vuln/detail/CVE-2023-39910
  11. https://dbugs.ptsecurity.com/vulnerability/PT-2023-5500
  12. https://feedly.com/cve/CVE-2023-39910
  13. https://www.miggo.io/vulnerability-database/cve/GHSA-969w-q74q-9j8v
  14. https://arxiv.org/pdf/2101.02377.pdf
  15. https://www.cve.org/CVERecord?id=CVE-2023-39910
  16. https://github.com/advisories/GHSA-584q-6j8j-r5pm
  17. https://www.ijcns.latticescipub.com/wp-content/uploads/papers/v4i1/A1426054124.pdf
  18. https://www.jstage.jst.go.jp/article/ipsjjip/29/0/29_537/_pdf
  19. https://habr.com/ru/articles/771980/
  20. https://github.com/advisories/GHSA-7mc2-6phr-23xc
  21. https://stackoverflow.com/questions/57592326/access-to-httpcontext-via-static-class-works-correctly-with-different-requests
  22. https://bitcoinworld.co.in/disappearance-of-900k-puts-focus-on-vintage-bitcoin-project-libbitcoin/
  23. https://papers.ssrn.com/sol3/Delivery.cfm/SSRN_ID4844542_code6772539.pdf?abstractid=4844542&mirid=1
  24. https://www.sciencedirect.com/science/article/pii/S0169207024001304
  25. https://attacksafe.ru/secp256k1-un/
  26. https://core.ac.uk/download/pdf/481513588.pdf
  27. https://www.reddit.com/r/crypto/comments/bjxz61/secp256k1_listed_as_insecure/
  28. https://www.reddit.com/r/gamedev/comments/potjqd/is_using_singleton_to_update_game_stats_like/
  29. https://stackoverflow.com/questions/1249837/what-makes-instance-members-thread-unsafe-vs-public-static
  30. https://www.ndss-symposium.org/wp-content/uploads/2024-1032-slides.pdf
  31. https://stackoverflow.com/questions/14936496/why-static-class-and-singleton-pattern-class-are-not-thread-safe
  32. https://nodejs.org/api/crypto.html
  33. https://www.paradyn.org/papers/TSE_2021-02-0065.R2.pdf
  34. https://docs.r3.com/en/api-ref/corda/4.12/community/kotlin/docs/net.corda.core.crypto.internal/-secp256k1-support-provider/index.html
  35. https://www.iacr.org/archive/crypto2019/116940391/116940391.pdf
  36. https://www.codeproject.com/articles/Thread-Safe-Singleton-in-Csharp-A-Guide-to-Double
  37. https://stackoverflow.com/questions/70462459/failed-to-compile-with-secp256k1-library
  38. https://www.oligo.security/academy/static-code-analysis
  39. https://dev.to/devsdaddy/everything-you-need-to-know-about-singleton-in-c-and-unity-n40
  40. https://devzone.nordicsemi.com/f/nordic-qa/102794/secp256k1-curve-encryption-not-working/442028
  41. https://nebuchadnezzar-megolm.github.io/static/paper.pdf
  42. https://shipilev.net/blog/2014/safe-public-construction/
  43. https://bitcointalk.org/index.php?topic=1875417.0
  44. https://netsysci.cut.ac.cy/wp-content/uploads/2023/10/Thesis_Final_AP.pdf
  45. https://github.com/libbitcoin/libbitcoin/issues/31
  46. https://formulae.brew.sh/formula/
  47. https://github.com/JinBean/CVE-Extension/blob/master/README.md
  48. https://stackoverflow.com/questions/137975/what-are-drawbacks-or-disadvantages-of-singleton-pattern
  49. https://www.academia.edu/39969438/Chapter
  50. https://cve.ics-csirt.io/cve/CVE-2023-39910
  51. https://rmauro.dev/singleton-design-pattern-when-and-when-not-to-use-it/
  52. https://users.cs.fiu.edu/~prabakar/cen5079/Common/textbooks/Mastering_Blockchain_2nd_Edition.pdf
  53. https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
  54. https://rules.sonarsource.com/java/tag/design/rspec-6548/
  55. https://raw.githubusercontent.com/flossverse/origin/draft/Book/metaverseBTC.pdf
  56. https://bitcoinops.org/en/topics/cve/

CWE-543  cwe.mitre
CVE-2023-39910  cve.ics-csirt
HackerOne: 경쟁 조건  hackerone
Vaadata: 경쟁 조건 공격  vaadata

  1. https://www.hackerone.com/blog/how-race-condition-vulnerability-could-cast-multiple-votes
  2. https://cwe.mitre.org/data/definitions/543.html
  3. https://www.vaadata.com/blog/what-is-a-race-condition-exploitations-and-security-best-practices/
  4. https://cve.ics-csirt.io/cve/CVE-2023-39910
  5. http://arxiv.org/pdf/2411.09676.pdf
  6. https://www.sciencedirect.com/science/article/pii/S0167404823002596
  7. https://engineering.fb.com/2024/11/12/security/how-meta-built-large-scale-cryptographic-monitoring/
  8. https://ar5iv.labs.arxiv.org/html/2201.08678
  9. https://www.fairgate.io/post/23-a-vulnerability-on-bitcoin-protocols-using-one-time-signatures
  10. https://zenodo.org/records/11277691
  11. https://en.bitcoin.it/wiki/Secp256k1
  12. https://vitalik.eth.limo/general/2024/01/30/cryptoai.html
  13. https://cryptodeep.ru/twist-attack/
  14. https://www.cve.org/CVERecord/SearchResults?query=Race+Condition
  15. https://dev.to/charles_koffler_bcabc582b/clprolf-docs-3-learning-class-roles-through-java-wrappers-13o0
  16. https://stackoverflow.com/questions/23411316/singletons-and-race-conditions
  17. https://nvd.nist.gov/vuln/detail/cve-2024-35202
  18. https://crates.io/crates/bitcoin-secp256k1
  19. https://stackoverflow.com/questions/38757923/how-to-fix-fortify-race-condition-singleton-member-field-issue
  20. https://github.com/bitcoin-core/secp256k1
  21. https://nvd.nist.gov/vuln/detail/cve-2025-26649

By