Computing with Time: Microarchitectural Weird Machines

(cacm.acm.org)

45 points | by rbanffy 5 hours ago ago

5 comments

  • kaladin-jasnah 14 minutes ago

    I read this for some work I did a few months ago. It's a very interesting idea to try to uncover a computer within a computer. It reminds me of the Atari 2600 emulators in Minecraft [1], or things like using bitwise operators to compute and write arbitrary data to memory as is done in the Pegasus/NSO exploit [2]. But I think the literature does not necessarily imply that these "weird machines" are Turing complete or capable of much; they are more general. From my understanding weird machines are some sort of FSM of unintended/weird states in a program with various transitions to go from weird state to weird state. The use is to be able to construct a weird machine with enough states and transitions to get a program to a vulnerable state where it can be exploited. Getting something like this with micro-architectural weird machines, the Pegasus exploit, etc. is of course much harder, and more valuable. It will also be interesting to see if the theory behind weird machines becomes used for automated exploit generation in the future.

    [1] https://www.youtube.com/watch?v=mq7T5_xH24M

    [2] https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-i...

  • ashoeafoot 27 minutes ago

    So if i have a dumb pattermatcher on ram it can prefetch by looking at requested instructions and data?

  • timealyzer an hour ago

    I browsed the article but didn't see any reference to increased power use or efficiency. Would such a proposed scheme only be used for cryptography and the remainder of the program run conventionally?

    • drcwpl an hour ago

      You're right to be curious about the power implications of µWMs! Unfortunately, the article doesn't go into power consumption or efficiency specifically. Probably because the research is still in its early stages, primarily focused on proving the concept and exploring its potential.

      As you suggested, a hybrid approach is the most likely scenario for practical applications of µWMs. This means conventional computing for general tasks, I guess. The majority of a program would likely execute using conventional instructions and pathways, minimizing power overhead.

  • yvdriess 2 hours ago

    In short, timing-attack computed?