Slashdot Mirror


Using Memory Errors to Attack a Virtual Machine

gillus writes "A very cool scientific paper from Appel and Govindavajhala that explains how virtual machines like java or .Net can be exploited. How? Quite simple, bomb your DRAM chip with X-rays... or more simply with 50-watt spotlight, as the authors demonstrate. Definitively worth a read!"

12 of 247 comments (clear)

  1. Re:This just in! by smallpaul · · Score: 5, Informative

    Reports are sketchy at present, but we're being led to believe that it's easy to compromise a machine to which you have physical access!

    Bet you didn't even read the abstract. Here's the relevant bit:

    Our attack is particularly relevant against smart cards or tamper-resistant computers, where the user has physical access (to the outside of the computer) and can use various means to induce faults; we have successfully used heat.

  2. the implications!! by kaworu-sama · · Score: 5, Funny

    Now when I benchmark my computer using the punch-the-monkey java applet using a 50 watt spotlight, I'll have to be more careful!

  3. A quick workaround... by AnriL · · Score: 5, Funny

    Just overclock your tamper-resistant machine to the bleeding edge of running at maximum MHz you can get. Tweak the speed to the point that the body heat emitted by regular users will not overheat the CPU, but anyone approaching the machine with a 50 Watt bulb would fry the machine before gaining access to data.

    However, now you get a denial of service attack, but hey, it's better than information disclosure or arbitrary code execution. :-)

  4. End of Slashdot by MegaFur · · Score: 5, Funny

    Oh great, it must be the Apocolypse or something. They actually posted a *link* to a *PowerPoint* document in a Slashdot article! Worse yet, no one seems concerned.

    --
    Furry cows moo and decompress.
    1. Re:End of Slashdot by error0x100 · · Score: 5, Funny

      They actually posted a *link* to a *PowerPoint* document in a Slashdot article! Worse yet, no one seems concerned.

      Noone reads the articles, so they probably didn't even notice. OK, *I* didn't notice.

  5. In other news. by MisterFancypants · · Score: 5, Funny

    It turns out that if you have physical access to a system, you can perform a pretty effective denial of service attack using a rather devious little bit of technology called a 'baseball bat'.

  6. best line from the article by zatz · · Score: 5, Funny

    Fortunately for the attacker, few users are surprised these days when applications use hundreds of megabytes to accomplish trivial tasks.

    --

    Java: the COBOL of the new millenium.
  7. Re:This just in! by lord+sibn · · Score: 5, Interesting

    Page 7, Paragraph 3:

    "To attack machines without physical access, the attacker can rely on natural memory errors."

    This paper showed some means an attacker could physically cause a memory error, but it never said that such intervention was required to stage the attack. My guess is that this would be most useful with those "low load" ram chips that ran on slashdot a while back.

  8. New Computer Cases by ExEleven · · Score: 5, Funny

    "New LEAD cases from lian li to protect your system from intuders" Just another thing to worry about when it comes to security.

  9. Alex descends into hell for a bottle of milk by m00nun1t · · Score: 5, Funny

    How many websites would have an article that begins:
    "A very cool scientific paper..."

    Oh dear, we really are geeks, aren't we.

  10. Re:This attack doesn't look very effective by czarneki · · Score: 5, Interesting

    Um... no. The paper states that if a single-bit error can be induced, then the probability that this single-bit error will then allow the exploiting program to execute arbirary code (as opposed to causing the OS or the VM to crash, etc) is 70%.

    So, keep in mind that there are two components to this exploit: 1) writing a program that takes advantage of single-bit errors to execute arbitrary code, and 2) wait for cosmic rays or direct some radiation yourself at the hardware to induce soft errors. The effectiveness depends largely on how quickly/reliably you can induce such errors w/out crashing the machine in the process.

    Maybe the techniques for programming the exploit program described here are well known to more experienced programmers, but I found the article extremely interesting and enlightening. I've been taught for years about the superiority of Java's type system as a security measure, and I know that a lot of theoretical work and proofs have been done to show that Java's type system is secure, but this exploit manages to get around the type safety with such a simple trick that I'm kicking myself for not having seen it myself. It's almost elegant, the way they get it done.

  11. Re:This just in! by omnirealm · · Score: 5, Insightful

    Any encryption can still be broken through though brute force.

    This is simply not true. One-time pads are 100% unbreakable, and they will always be unbreakable (at least mathematically speaking), no matter how sophisticated technology gets in the future. For those who are unfamiliar with the concept, a one-time pad is a cryptographically random string of 1's and 0's, which is at least of the same length of the message itself. Two parties have a secure channel in which to exchange these pads; for example, if Alice and Bob wish to use one-time pads, Alice can generate a list of 10,000 cryptographically random strings, put them in a suitcase that is handcuffed to her wrist, and deliver them to Bob in person. Bob and Alice then have a set of one-time pads that they can use for all future communication. Each time they encrypt a message with one of the pads, they discard the pad and never use it again. Because the pad is at least the length of any messages they might pass back and forth, there is no way to analyze the encrypted message for patterns. It is mathematically impossible. You could easily come up strings of 1's and 0's that would ``decrypt'' the message into anything, be it passages from the Bible, or Ogg Vorbis encoded music. You would have no idea which set of 1's and 0's produced the actual original message. This is truly unbreakable encryption on a mathematical level.

    Most companies claiming that their encryption is ``unbreakable'' are using one-time pads; the problem is reduced to finding a secure channel of communications in which to transmit those pads. This is usually not a feasible assumption, which is why we all prefer using, for example, Diffie-Hellman key exchange, which depends on the difficulty of math involving discrete logarithms. The encryption we now use is breakable, but it is hard enough to break that it is generally considered secure.

    --
    An unjust law is no law at all. - St. Augustine