PDA

View Full Version : [Overseas News :D] Cryptanalysis of the Random Number Generator of the Windows OS


Sisupoika
19-11-2007, 16:14
Considerando quando la generazione di numeri psudo casuali sia cruciale in molti aspetti della sicurezza in un sistema operativo... buona lettura ;)

Tenete d'occhio la fonte, io la leggo spesso poiche' appassionato di crittografia (e sto sviluppando un mio metodo).

In particolare, le parti in grassetto.. :D

Cryptology ePrint Archive: Report 2007/419

Cryptanalysis of the Random Number Generator of the Windows Operating System

Leo Dorrendorf and Zvi Gutterman and Benny Pinkas

Abstract: The pseudo-random number generator (PRNG) used by the Windows operating system is the most commonly used PRNG. The pseudo-randomness of the output of this generator is crucial for the security of almost any application running in Windows. Nevertheless, its exact algorithm was never published.

We examined the binary code of a distribution of Windows 2000, which is still the second most popular operating system after Windows XP. (This investigation was done without any help from Microsoft.) We reconstructed, for the first time, the algorithm used by the pseudo-random number generator (namely, the function CryptGenRandom). We analyzed the security of the algorithm and found a non-trivial attack: given the internal state of the generator, the previous state can be computed in $O(2^{23})$ work (this is an attack on the forward-security of the generator, an $O(1)$ attack on backward security is trivial). The attack on forward-security demonstrates that the design of the generator is flawed, since it is well known how to prevent such attacks.

We also analyzed the way in which the generator is run by the operating system, and found that it amplifies the effect of the attacks: The generator is run in user mode rather than in kernel mode, and therefore it is easy to access its state even without administrator privileges. The initial values of part of the state of the generator are not set explicitly, but rather are defined by whatever values are present on the stack when the generator is called.Furthermore, each process runs a different copy of the generator, and the state of the generator is refreshed with system generated entropy only after generating 128 KBytes of output for the process running it. The result of combining this observation with our attack is that learning a single state may reveal 128 Kbytes of the past and future output of the generator.

The implication of these findings is that a buffer overflow attack or a similar attack can be used to learn a single state of the generator, which can then be used to predict all random values, such as SSL keys, used by a process in all its past and future operation. This attack is more severe and more efficient than known attacks, in which an attacker can only learn SSL keys if it is controlling the attacked machine at the time the keys are used.

Category / Keywords: implementation / pseudo-randomness

Publication Info: An early version of this manuscript was presented at the ACM CCS 2007 conference.

Date: received 4 Nov 2007

Contact author: benny at pinkas net

Available formats: PDF | BibTeX Citation

Version: 20071106:091603

Sisupoika
20-11-2007, 15:26
A nessuno interessa questa "piccola" cosa? :D

Bugs Bunny
20-11-2007, 16:13
ah... stupendo...

non ho mai usato crittografia perchè sul pc non conservo dati importanti

Sisupoika
20-11-2007, 17:30
ah... stupendo...

non ho mai usato crittografia perchè sul pc non conservo dati importanti

ma sicuramente hai visitato siti in HTTPS :D

c.m.g
20-11-2007, 19:59
ma sicuramente hai visitato siti in HTTPS :D

esatto! :D

Bugs Bunny
20-11-2007, 20:07
azz :muro:

sampei.nihira
21-11-2007, 17:34
A nessuno interessa questa "piccola" cosa? :D

Sarebbe un argomento interessante ma ritengo è anche difficile.
Il mio invito è quello di sviscerare,se vuoi l'argomento,usando parole comprensibili a tutti.
Certamente la partecipazione e chissà l'interesse sarebbe maggiore.

In fondo un "forum" dovrebbe fare proprio questo.
La parola forum deriva dal latino "Forum romanum".
Nell'antica Roma il forum costituì il centro commerciale, religioso e politico della città di Roma.
Quindi un luogo di aggregazione e scambio.
Anche questo "luogo virtuale" ha in fondo questo antico significato. ;)

Sisupoika
21-11-2007, 18:07
Babbo, a parte il latino ecc... :asd:
Parliamo di crittografia, quando mai e' stata semplice? :D

sampei.nihira
21-11-2007, 18:47
Babbo, a parte il latino ecc... :asd:
Parliamo di crittografia, quando mai e' stata semplice? :D

Volere è potere.

(A Natale dico al mio collega illustre di portarti la bottiglia della Coca Cola......... ma in testa......)

Anche Giulio Cesare riteneva di aver trovato un sistema crittografico semplicemente perfetto e così i tedeschi durante la II guerra mondiale con la macchina Enigma ma alla prova dei fatti....

Sisupoika
21-11-2007, 21:17
Volere è potere.

(A Natale dico al mio collega illustre di portarti la bottiglia della Coca Cola......... ma in testa......)

Anche Giulio Cesare riteneva di aver trovato un sistema crittografico semplicemente perfetto e così i tedeschi durante la II guerra mondiale con la macchina Enigma ma alla prova dei fatti....

qual era? non mi ricordavo di questa cosa :D

riazzituoi
21-11-2007, 21:24
.

sampei.nihira
21-11-2007, 23:24
http://img36.picoodle.com/img/img36/5/11/21/t_Operam_6247e94.png (http://www.picoodle.com/view.php?img=/5/11/21/f_Operam_6247e94.png&srv=img36)

Visto che proprio non riesco a cavare il ragno dal buco......:D

Vi riporto, per la curiosità degli utenti,i protocolli di sicurezza sia di FF 2.0.0.9 ed Opera 9.24.
I valori che riporto naturalmente sono quelli di default.
I cifrari di Opera,sono minimo a 128 bit,di FF non ne ho idea,naturalmente.
Noterete la possibilità di disattivazione e/o attivazione.
SSL2 è disattivo di default,così presumo in FF.