Friday, July 3, 2009

Cosmic ray exploit

A 2003 paper from two Princeton researchers describes a way to hack Java based systems by exploiting the random bit flips caused in the memory by cosmic rays. [Link - PDF]

image

We measured the attack on two commercial Java Virtual Machines: Sun’s and IBM’s. We show that a single-bit error in the Java program’s data space can be exploited to execute arbitrary code with a probability of about 70%, and multiple-bit errors with a lower probability.

and later …

Java can be compiled to efficient machine code, and supports data abstraction well, because it uses link-time type-checking instead of run-time checking. However, this leaves Java vulnerable to a time-of-check-to-time-of- use attack. All the proofs of soundness are premised on the axiom that the computer faithfully executes its specified instruction set. In the presence of hardware faults, this premise is false. If a cosmic ray comes through the memory and flips a bit, then the program will read back a different word than the one it wrote.

No comments:

Post a Comment