Hacker News new | ask | show | jobs
by qsort 1871 days ago
Yes, that's the joke.
3 comments

No it isn't. The paper forces the universal turing machine to execute a different machine than the one on the input tape by providing crafted input to the intended simulated machine. It isn't a joke paper.

U is fed machine T and input I. By only changing I you can force U to execute a different machine X.

Sure, but you achieve that by specifying I in a way you aren't really supposed to. You are effectively invoking undefined behavior.

The implications of this are well understood. You'd have similar vulnerabilities if you ran raw machine code on, say, an x86 processor. Enforcing checks and sanitization in such a way that the 'exploit' can't happen is the exact kind of job you'd have to do in order to write an operating system.

I get that the CVE is a joke, but are you saying the paper is as well?
It’s not a joke, people saying otherwise did not understand the paper. The significance is debatable, it’s mostly a kind of collective facepalm for theoretical computer scientists.

The CVE is a joke in the sense that you don’t really need a CVE for a universal Turing machine, as they are quite literally only academic.

i dont know if he says exactly that by i do say exactly that

paper is essentially saying that by using simplest machine possible

we prove it does not provide layers of security abstractions which were invented and deployed in last 40+ years to computers

so thats like getting CVE for turning off ASLR, AppARMOR SElinux etc in linux kernel.

As far as I can tell, yes, it is.

Showing a universal Turing machine is a proof of the fact that when you write stuff like the smn theorem or anything that uses universal functions you aren't writing nonsense.

There is no "contract" between the universal machine and the hypothetical user. One could certainly ensure that, say, the input TM is properly formatted, or that "the runtime" will only use a certain set of cells, and so on. The difficulties and problems one would find in trying to do so are the same one would face when writing an operating system and a compiler.

Wait until they try unicode, then the joke will be on them.
I cannot fathom how complicated arbitrary code execution could get with multi byte characters that could use shift registers, null bytes and byte order marks with determinism in a NOP slide on a heap spray.

Filtering only printable user input helps but even bit map images can expose a heap to a sensitive registers that will execute some target specific generated shell code.

https://en.m.wikipedia.org/wiki/NOP_slide.

https://en.m.wikipedia.org/wiki/Heap_spraying