BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Ethereum 개인 키는 충분히 무작위적이지 않습니다. 해커가 개인 키를 해독하여 코인을 훔칩니다.

秦晓峰
Odaily资深作者
@QinXiaofeng888
이 기사는 약 1800자로, 전체를 읽는 데 약 3분이 소요됩니다
개인 키는 더 이상 안전하지 않습니다.
AI 요약
개인 키는 더 이상 안전하지 않습니다.

오데일리 제작

저자 | 친샤오펑

에디터 | 루샤오밍

(사진 출처cryptonomist)

~에 따르면security evaluators오데일리 제작

에디터 | 루샤오밍

이미지 설명

(사진 출처

~에 따르면

뉴스, 독립 보안 ​​평가 기관 (ISE)은 최근 Ethereum 지갑의 개인 키 보안에 중점을 둔 Ethercombing이라는 새로운 연구를 발표했습니다.

ISE는 현재 이더리움 블록체인에 낮은 무작위성으로 인해 도난당할 위험에 처한 개인 키가 732개 있다는 사실을 발견했습니다. 또한 지난해부터 'Blockchainbandit'이라는 해커 집단이 보안 수준이 낮은 개인키를 통해 탈취 활동을 펼치며 37,926 ETH(당시 가치 5,400만 달러)에 달했다. 오늘날까지 조직은 멈추지 않았습니다.

보조 제목

  • 0x47579DA2BEA463533DBFAD6FCF8E90876C2FE9760DC1162ACC4059EE37BDDB5C

개인 키 임의성이 높지 않음

  • 0x0000000000000000000000000000000000000000000000000000000037BDDB5C

이더리움 공개키와 주소의 생성은 개인키에 따라 달라지며 개인키로 공개키와 주소를 생성하고 해당 주소의 이더리움(ETH)을 사용할 수 있다.

개인 키는 본질적으로 임의의 숫자이며 32바이트의 배열이며 1바이트는 8비트 이진수와 동일하며 이진수에는 0 또는 1의 두 값만 있습니다. 따라서 개인 키의 총 수는 거의 2^(8*32)=2^256이고 개인 키를 크래킹할 확률은 1/2^256입니다.

ISE 연구원 아드리안 베드나렉(Adrian Bednarek)은 이론적으로는 여전히 가능성이 있지만 개인 키를 강제로 해독하는 것은 실제로 불가능하다고 말했습니다. 초당 100조 개의 키를 생성할 수 있는 컴퓨팅 리소스를 사용하더라도 몇 년 정도 걸리며 실제로 그러한 컴퓨팅 리소스가 전혀 없습니다.

그러나 ISE는 실험에서 개인 키를 생성하는 일부 지갑 소프트웨어 코드의 오류로 인해 생성된 개인 키가 매우 무작위적이지 않고 컴퓨터 폭력에 의해 쉽게 크래킹된다는 사실을 발견했습니다(모든 가능성 열거).

코드의 문제로 인해 개인 키의 무결성이 출력 시 32비트로 잘려서 다음과 같은 결과가 나타납니다.

컴퓨터의 경우 256비트 개인 키보다 32비트 개인 키를 해독하는 것이 훨씬 쉽습니다.

지갑 인코딩 오류, 메모리 참조 문제, 메모리 손상, 임의 장치 오류, 임의 시드 재사용, 개체 난독화, 스택 손상, 입력 난독화, 엔트로피 오류, 힙 손상 또는 확인되지 않은 미리 컴파일된 인코딩 오류 외에도 모두 개인 키가 충분히 무작위로 보안이 감소합니다.

ISE 연구원들은 실험을 통해 현재 이더리움 블록체인에 임의성이 강하지 않고 유출 위험이 있는 732개의 개인 키가 있음을 발견했습니다.

발견된 보안 수준이 낮은 개인 키를 테스트하기 위해 ISE 연구원은 1달러 상당의 ETH를 주소 중 하나로 전송했고 토큰은 몇 초 후에 전송되었습니다.

ISE 추적 결과 Token은 결국 "Blockchainbandit"라는 해커 조직 지갑으로 흘러들어간 것으로 나타났습니다. 이 조직은 2018년 1월부터 보안이 취약한 개인 키를 훔치고 있습니다. 절정기에 주소의 잔액은 당시 5,400만 달러에 달하는 37,926 ETH에 달했습니다. 오늘날까지 조직은 멈추지 않았습니다.

  • 보조 제목

  • Ethereum 자체에는 문제가 없습니다.

  • 프라이빗 키에 문제가 있다면 이더리움 블록체인 자체의 기술에 허점이 있다는 뜻일까요? 이더리움 연구원 Hu Jingyu는 오데일리에 현재 나타나는 보안 수준이 낮은 개인 키는 주로 지갑 문제이며 이더리움 자체와는 아무 관련이 없다고 말했습니다. Ethereum의 핵심 개발자인 Chen Changwu도 Ethereum 자체의 알고리즘에는 문제가 없다고 생각합니다.

  • Chen Changwu는 난수 외에도 서명 프로세스에 사용되는 K 값도 개인 키의 보안에 영향을 미칠 것이라고 덧붙였습니다. "서명을 생성하는 과정에서 비밀 K 값이 사용됩니다. 현재 BTC와 ETH 모두 RFC6979를 사용하여 이 값을 생성합니다. 이 K 값은 임의적이고 고유해야 합니다. 그러나 암호 알고리즘 프로그래밍에 익숙하지 않은 일부 프로그래머는 무시할 가능성이 높으며 이러한 세부 사항은 개인 키 유출로 이어집니다.”

  • 보고서 끝 부분에서 ISE는 개발자와 사용자에게 다음과 같은 제안도 했습니다.

  • 개발자:

  • 잘 알려진 라이브러리 또는 플랫폼별 모듈을 사용하여 난수를 생성합니다.

암호학적으로 안전한 의사 난수 생성기를 사용하십시오.

  • 임의로 생성된 키가 잘리지 않았는지 확인하기 위해 소스 코드 및 생성된 컴파일된 코드를 감사합니다.

  • 여러 엔트로피 소스를 사용합니다.

  • AMD/Intel*에서 제공하는 NIST 호환 하드웨어 난수 생성 지침(RDRAND/RDSEED) 활용

암호화 난수 생성에 대한 NIST/FIPS 지침을 확인하십시오.

NIST Statistical Test Suite(NIST SP 800-22) 검토 및 사용Arvind Krishna 지갑을 사용하는 사용자의 경우:

开发者
ETH
Odaily 공식 커뮤니티에 가입하세요