Live data from Hacker News

Exploit Information Leaks in Random Numbers from Python, Ruby and PHP

spideroak.com

1–10 of 40 posts

Re: Exploit Information Leaks in Random Numbers from Python, Ruby and PHP

#3
Funny, that someone did this. I wanted to implement something similar to check that GCHQ weren't lying to me about this: http://blog.jgc.org/2011/12/back-channel-confirms-that-im-ri... Essentially, I thought that it was possible that this block of code was not what they actually used (partially because 0x7f did not appear in the output).

I didn't do it because I had only 326 bytes of random material with 7 bits per byte. Too little to recover the state.

Re: Exploit Information Leaks in Random Numbers from Python, Ruby and PHP

#4
post #3

Funny, that someone did this. I wanted to implement something similar to check that GCHQ weren't lying to me about this: http://blog.jgc.org/2011/12/back-channel-confirms-that-im-ri... Essentially, I thought that it was possible that this block of code was not what they actually used (partially because 0x7f did not appear in the output). I didn't do it because I had only 326 bytes of random material with 7 bits per b…

Depends on how much state they seeded it with. It's pretty common for MT to be seeded with 32 or less bits of entropy.

Re: Exploit Information Leaks in Random Numbers from Python, Ruby and PHP

#5
Interesting read. Realistically, to "know all the cards in online poker games" wouldn't you also have to reverse engineer how they map the random number to a card?

You would get a jack of hearts, not an integer between 1 and 52, right? or does the exploit somehow work for arbitrary patterns as well?

Re: Exploit Information Leaks in Random Numbers from Python, Ruby and PHP

#7
Those interested in this should look at a paper from Vern Paxon and Nicholas Weaver:

http://www.icir.org/vern/papers/witty-imc05.pdf

A summary of it: A worm used a linear congenital generator to generate its randomness. It used this generator to pick which IPs to try to infect, which hard drives to write data to, and what to write. These researchers used a /8, and were able to use that to count, exactly, the bandwith of all infected machines, how many hard drives machines each had, the time they started up, and locate the exact machine which initially spread the worm. It's really quite amazing that you can get all of this from just packet captures, before you think about it.

Re: Exploit Information Leaks in Random Numbers from Python, Ruby and PHP

#8
post #5

Interesting read. Realistically, to "know all the cards in online poker games" wouldn't you also have to reverse engineer how they map the random number to a card? You would get a jack of hearts, not an integer between 1 and 52, right? or does the exploit somehow work for arbitrary patterns as well?

I think the author was alluding to the following: http://www.cigital.com/papers/download/developer_gambling.ph...

Re: Exploit Information Leaks in Random Numbers from Python, Ruby and PHP

#9
post #7

Those interested in this should look at a paper from Vern Paxon and Nicholas Weaver: http://www.icir.org/vern/papers/witty-imc05.pdf A summary of it: A worm used a linear congenital generator to generate its randomness. It used this generator to pick which IPs to try to infect, which hard drives to write data to, and what to write. These researchers used a /8, and were able to use that to count, exactly, the bandwith…

Very interesting, thank you for sharing.
Post reply on HN