Hacking the universe for fun and profit



All timestamps are based on your local time of:

Posted by: stak
Posted on: 2008-12-28 17:04:01

This blog entry inspired by Stevey's latest post.

So... assume the universe is an embedded system (seems pretty likely, all things considered). What I want to know is: how can we (theoretically) break out of the system?

One of the comments on Stevey's post mentions the buffer overflow exploit as a way of breaking out of a system. However, buffer overflows (at least the traditional cracker-induced ones) are performed by entities outside the system rather than entities inside the system. A traditional buffer overflow results from the cracker feeding in more input to the system than it can handle, and then exploiting the mayhem that results for fun and profit. As humans inside the universe, this avenue isn't really available to us.

How about non-traditional buffer overflow exploits? Are there variations on the theme that might be available to us? Can we push around stuff within the universe in ways that it wasn't designed to handle? Possibly, but in order to do so we need a better idea of how the universe works under the covers.

Another approach, which I think is more promising, is to try to find design and/or implementation flaws in the universe and exploit those. The first comment on the post has a link to this page which describes one example of this. The system had a design flaw that wound up being inadvertently exploited by code inside the system to break out of it. There might be similar implementation flaws that result in exploitable behavior (i.e. what happens if we manage to cool a lump of matter to absolute zero?).

So the next question is: how do we find such flaws? Again, we need to have a better idea of how the universe works in order to locate potential flaws. I'm sure we'll stumble across them anyhow in due time but I don't think I'll still be around when that happens (heck, maybe the universe won't even be around then).

Ok, so let's postulate about the implementation of the universe. If you had to implement a universe, how would you design it?

Personally I would probably use VHDL or a similar language. That allows you define a bunch of rules which get executed in parallel every time increment. The input is the state of all the variables in the system, and the output is the new state of the all the variables. In the universe, I would represent each basic particle's basic properties (mass, n-dimensional position/velocity, etc.) as the variables, and the laws of physics as the rules.

So how to exploit VHDL code? Hmm.. I don't remember nearly enough of ECE 427 to answer that. Need to think about this more...

Posted by Fai at 2008-12-28 17:12:52
If I remember correctly, most bugs in ece427 result from the clock cycles not falling where you expected them to. Is there any way to add more stuff to get done within a clock cycle to force some stuff to move to the next clock cycle?
though I don't know if we would survive physics breaking down.
[ Reply to this ]

[ Add a new comment ]

 
 
(c) Kartikaya Gupta, 2004-2024. User comments owned by their respective posters. All rights reserved.
You are accessing this website via IPv4. Consider upgrading to IPv6!