blockchain.info exploit - Errore di numero casuale

0

"The problem that led to the vulnerability was reportedly wallets generated with previously used 'R-values' in formulas that generate random numbers, meaning a hacker could use the public address to calculate its private keys. If R-values are unique, this should be impossible." - CoinDesk.

link riferimento: link

"For those interested. The bug was caused by missing line 29 and not initialising rng_pptr to 0. This commit was force pushed over." - ZooTreeves.

non sarebbe rng_pptr essere un numero casuale se non è stato inizializzato? Perché sarebbe sfruttabile allora?

    
posta Greed 10.12.2014 - 18:56
fonte

1 risposta

1

In molti linguaggi di programmazione, il valore di un valore non inizializzato è non definito ma non casuale . Quando la memoria non inizializzata sarebbe una fonte accettabile di casualità, non avremmo bisogno di generatori di numeri casuali reali, dato che potremmo semplicemente usare la memoria non inizializzata per quello scopo.

Di solito la memoria non inizializzata ottiene il valore che è stato precedentemente scritto in quella posizione di memoria l'ultima volta che è stato assegnato. Mentre è difficile prevedere per il programmatore cosa potrebbe esserci, a seconda di come funziona il programma e di come il compilatore lo ha interpretato, è possibile che una variabile non inizializzata ottenga sempre lo stesso valore ad ogni esecuzione del programma. È anche possibile che il valore dipenda sempre dal valore di alcune variabili apparentemente non correlate. E anche quando nessuno dei due è il caso, alcuni valori sono semplicemente molto più comuni nella memoria di altri.

    
risposta data 10.12.2014 - 20:39
fonte

Leggi altre domande sui tag