Live data from Hacker News

Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG

github.com

11–20 of 122 posts

Re: Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG

#11
post #4

Just watched the video on this! It's definitely a cautionary tale of having your random sources interact - applicable to so many important systems. I often find myself sharing the rng in my code for performance reasons, but stories like this definitely make me pause.

I think I never used PRNG in any serious software, but it surprised me as intuitively I would've assumed that using the same RNG in as many places as possible would make it harder to perform such an attack, because it would make it less likely you can observe enough places at which it is updated, but this was a pretty impressive and fun demonstration that this is false.

Pretty much all serious software uses PRNG at some point. Unless you mean you use CSPRNG, which is the easy fix.

Re: Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG

#13
post #4

Just watched the video on this! It's definitely a cautionary tale of having your random sources interact - applicable to so many important systems. I often find myself sharing the rng in my code for performance reasons, but stories like this definitely make me pause.

I think I never used PRNG in any serious software, but it surprised me as intuitively I would've assumed that using the same RNG in as many places as possible would make it harder to perform such an attack, because it would make it less likely you can observe enough places at which it is updated, but this was a pretty impressive and fun demonstration that this is false.

Hi about pulling a sample of good random every N invocations to still allow for fast PRNG but to ideally defeat these schemes. Maybe use the real signals RNL value to seed the PRNG. Just a thought.

Re: Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG

#14

reminds me of phase space plots of weak tcp isn rng https://lcamtuf.coredump.cx/oldtcp/tcpseq.html https://lcamtuf.coredump.cx/newtcp/

I believe that may be the spectral test https://en.wikipedia.org/wiki/Spectral_test which I mentioned in the explanation when showing the lattices visually

Re: Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG

#15
LLL lattice reduction is the same algorithm that can be used for cracking PuTTY keys from biased nonces from the CVE a few days ago. 'tptacek explained a bit about the attack (and links to a cryptopals problem for it, which I can almost pretend to understand if I squint) https://news.ycombinator.com/item?id=40045377

In a similar vein, the SciCraft minecraft server had a creeper farm which used some sort of black magic setup in order to deterministically manipulate an RNG state to trigger a "random" lightning strike at a specific block every frame in order to get better creeper drops. https://youtu.be/TM7SutJyDCk

Re: Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG

#16
post #9

Back in 1999-2000 there was an "International RoShamBo Programming Competition" [1] where computer bots competed in the game of rock-paper-scissors. The baseline bot participant just selected its play randomly, which is a theoretically unbeatable strategy. One joke entry to the competition was carefully designed to beat the random baseline ... by reversing the state of the random number generator and then predicting…

The whole commentary about the "supermodified" class of competition entrants is making my laugh:

> Nostradamus was written by Tim Dierks, a VP of Engineering at Certicom, who has a lot of expertise in cryptography. The program defeats the optimal player by reverse-engineering the internal state of the random() generator, which he states "was both easier and harder than I thought it would be". To be sporting, it then plays optimally against all other opponents.

> Fork Bot was based on an idea that Dan Egnor came up with a few minutes after hearing about the contest. Since "library routines are allowed", his elegant solution was to spawn three processes with fork(), have each one make a different move, and then kill off the two that did not win. This was implemented by Andreas Junghanns in about 10 lines of code. Unfortunately, since all three moves lost to the Psychic Friends Network after the first turn, the program exited and the remainder of that match was declared forfeited.

> The Psychic Friends Network is a truly hilarious piece of obfuscated C, written by Michael Schatz and company at RST Corporation. Among other things, it uses an auxiliary function to find good karma, consults horoscopes, cooks spaghetti and (mystic) pizza to go with various kinds of fruit, #defines democrats as communists, and undefines god. We're still trying to figure out exactly what it is doing with the stack frame, but we do know that it never scores less than +998 in a match, unless it is playing against a meta-meta-cheater.

> The Matrix was written by Darse Billings, who holds the prestigious title of "Student for Life", and recently started the PhD programme at the University of Alberta. The RoShamBo program defeated every opponent with a perfect score, based on the simple principle "There is no spoon".

> Since The Matrix is also the tournament program, it has complete access to all other algorithms, data structures, and output routines, and is therefore unlikely to ever be overtaken. As a result, this category is hereby declared to be solved, and thus retired from future competitions.

Re: Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG

#17

Pretty cool exploit. The idea of a free for all bug abusing server is pretty neat, a whole ‘nother level of the game. I guess this is what “actually fighting” (rather than just using in-game battling mechanics) would look like if the metaverse really happened ever.

the combat in 2b2t does not look like regular minecraft either.

because of a long history of duped high value items, PvP is just simply spamming ender crystals which deals massive damage when broken, and the defense is just how many "totems of undying" you have which absorbs lethal damage.

of course all the hacked clients automate placing ender crystals, reloading totems and identifying weak/strong locations so you're following those guidance to spam damage.

a little before that there were hacked +32,767 damage swords that will insta kill you that was patched out by the server.

Re: Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG

#19

I loved playing on 2b2t, until it got too popular all of the sudden when a YouTuber did a video on it. 2b2t (an anarchy servers in genral) are Minecraft the way it is meant to be played.

I haven't played Minecraft for many years but I'd argue the way it's supposed to be play is an old version from like 10 years ago with a tech modpack like Tekkit. Back then, there were open servers where communities built cities with no grief prevention because people trusted each other.

Re: Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG

#20
post #19

I loved playing on 2b2t, until it got too popular all of the sudden when a YouTuber did a video on it. 2b2t (an anarchy servers in genral) are Minecraft the way it is meant to be played.

I haven't played Minecraft for many years but I'd argue the way it's supposed to be play is an old version from like 10 years ago with a tech modpack like Tekkit. Back then, there were open servers where communities built cities with no grief prevention because people trusted each other.

To be fair, there are still servers like that. Last week I was on the largest ReIndev mod server, beautiful architecture for as long as you walked, none protected by any means
Post reply on HN