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!"

20 of 247 comments (clear)

  1. seriously by randyest · · Score: 1, Interesting

    Funny to see this here -- I (and Sun) know all too well about this phenomenon, but I am bound to relative secrecy by NDA.

    So, I can't share my team's research results that clearly show that this is a bigger problem than most raders probably realize. Nor can I share the steps (advanced ECC, logic-BIST, etc) we're taking to prevent this before it gets well-known enough to be a problem.

    But I can say: this is indeed a scoop, way to go ./!

    --
    everything in moderation
  2. Rather useless because of a few points by bloodbob · · Score: 1, Interesting

    If we have physical access or full system access why not just change the JVM code letting us do whatever we want? and if u just wanna stop it and you have full privildges why not just shut the system down? and if we got physical access why not just pull the power plug? This would be usefull if it didn't need full access or physical access.

  3. Re:This just in! by afidel · · Score: 2, Interesting

    There's nothing stopping you from accessing smartcards if you are determined enough and don't care about the physical state of the chip afterwards, just look at the guy who broke MS's xbox code, one of the steps he used was to etch away the chip covering to get at the actual chip. Now this attack may work better if you are a spy who wants to steal an access card, get the data off and return the card, but for most attacks the brute force method works almost as well.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  4. New nifty trick for a hacker book by bluelan · · Score: 3, Interesting
    You wouldn't necessarily need physical access to the machine itself. It might be possible to perform this exploit by gaining access to a machine's air conditioning unit and disabling it at an inconvenient time. That could raise heat enough to cause RAM performance to degrade and make the success of the exploit more likely.

    If the air conditioner went out at midnight, most system administrators wouldn't know until the morning.

    --

    I used to be a narrator for bad mimes. (wright)

  5. Re:This just in! by anubi · · Score: 4, Interesting
    "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."
    I would imagine that nasty EMI spikes you may couple to the inside of the box, or medical radioactive sources would work too.

    Just a guess, but I have sure had my share of EMI and radiation induced problems.

    --
    "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]

  6. 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.

  7. More elegant way to break a VM by irc.goatse.cx+troll · · Score: 2, Interesting

    Anybody remember the User Mode Linux VM escape exploit?
    Seems more elegant than nuking your machine.
    At DefCon X, Gobbles announced a simmiler vulnerability in vmware, though no exploit or advisory has been released so far. For anyone that assumes they're just fear mongering, They also announced the zero day apache bug there, which I'm sure you all remember.

    --
    Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
  8. Re:This just in! by You're+All+Wrong · · Score: 3, Interesting

    Didn't you notice that the talks/ directory serves a page which is:
    "
    HTML composed using mozilla 0.9.9 on a Redhat Linux 8.0 machine. Best viewed in any browser
    "

    So _obviously_ the guy's interested in making sure that _everyone_ can read his work. It's just a shame that he seemed to forget that when writing up all his work. Duh!

    Anyway, the Powerpoint file viewer that I use under linux is called "strings". Amazingly it sometimes even works!

    YAW.

    --
    Your head of state is a corrupt weasel, I hope you're happy.
  9. 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.

  10. We did this years ago. by Anonymous Coward · · Score: 1, Interesting

    One time on holiday with my cousins, we got the electric gas lighter for the cooker (makes a spark to light the gas, hand held) and brought it to the local arcade.

    By removing the top off it we would zap all the screws on the machines until something happened.

    Battlezone seemed to give us loads of free games :)

  11. Re:This just in! by You're+All+Wrong · · Score: 3, Interesting

    "One commodore 64 demo program (just a few POKE statements)..."

    You're not thinking of the Commodore PET "urban legend" are you?
    C64 != PET. PET != C64. Don't let the big long "Commodore" word confuse you.

    For more info on the blow-up-your-PET story, try:
    http://www.softwolves.pp.se/misc/arkiv/cbm-h ackers /1/1505.html

    YAW.

    --
    Your head of state is a corrupt weasel, I hope you're happy.
  12. Re:This just in! by Com2Kid · · Score: 3, Interesting
    • Get a clue. The whole point of a smart card is to keep the data safe even in the event of physical tampering. For this purpose, the processor of a smart card is enclosed in a black box which will chemically self-destruct if you try to tamper with it. Much research on smart cards goes into ensuring that security can not be broken in spite of physical access.


    Sorry, I am used to seeing regular static memory chips marketed as being "smart cards", I did not realize that there was an actual secure version of the things. Buzzwords got to me. ^_^

    Any encryption can still be broken through though brute force.

    Hmm, from the first site you linked to;

    • Entertainment: Most DSS dishes in the U.S. have smart cards.

    ----http://smartcard.nist.gov/faq.html

    Yah, and we all know how secure those are! Yup, DSS security has never been bypassed once! ;)
  13. In the lab today, in the wild tomorrow... by donert · · Score: 4, Interesting

    This is good stuff. Although the experiment used physical access to stress the memory, the theory could be used as an exploit in real situations in ways that the narrow of mind (like me) cannot conceive.

    Perhaps this is not a method of practical attack on a machine. But it may be just a matter of creative thinking.

    The key take away is to not disallow the possiblity.

    Threats you discard as harmless is a logical place for an attacker to begin. Remeber the Maginot line.

  14. Even submitters don't read the article by dmadole · · Score: 3, Interesting

    I expect posters to not read the article (well, ppt), but even the submitter didn't read it?

    The article does mention x-rays, saying "not enough energy to change a DRAM capacitor." Yet everyone talks about x-rays...

    I found the phrase from the article "screw driver to remove hard drive" amusing when I first read it. Then I realized they meant "screwdriver". I thought initially they were referring to a DOS attack by corrupting the device driver!

  15. Re:This just in! by shepd · · Score: 2, Interesting

    >What you really need for a physically secure device is an IBM 4758 CryptoCard.. of course, for it to be useful, you need it protected against key recovery attacks.

    That card still isn't invulnerable against being picked apart by electron scannining micrographs and other handy (expensive) physical analysis.

    You might consider this impractical, but this is exactly how certain digital TV services in Europe has competed, by hacking each other's cards at any expense.

    The only true way to have a secure system is to make it two way, or use a one time pad. That way they need to break into the uplink facility as well as into a consumer receiver...

    --
    If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
  16. Re:This just in! by br0ck · · Score: 2, Interesting

    If that doesn't work, Adobe has an online converter you can use to view the pdf as html.

  17. NASA has been researching this for a long time by ishmalius · · Score: 2, Interesting
    Aerospace researchers have been investigating the effects of different types of radiation on computers and other electronics for decades. Why would a virtual machine be any different, whether on a PC board, or on a smart card?

    It is often questioned on this site as to why spacecraft do not use the latest/greatest computing equipment available. It is because the flight-capable designs have proven themselves tolerant of harsh environments, including alpha/beta/X radiation. (And other things, like low power consumption, heat generation, etc.)

    It would be nice to know that a smart card with all of my personal information could survive the places my wallet has been. I need quad redundancy and forward error correction in my pocket!

  18. Ahhh, core wars! by Anonymous Coward · · Score: 1, Interesting

    Ahhh, now that brings back memories! Core Wars... a game in which computer programs are purposely designed to destroy one another. Also, unsurprisingly, a lot of the earliest core wars "servers" were just havens for a LOT of the earliest generations of virus writers.

    Too bad the trend started to eventually become "crack a computer somewhere and play Core on it, cause it's easier than setting up and securing your own box every time." Whoever was able to infect the target to the greatest effect (without fatally crashing it) "won".

    There were even a few (usually pretty lame) attempts at playing on internal networks using network oriented exploit and breeder packages. However, two or three of the somewhat nastier (but really obvious and easy to eradicate) unix virii strains came from those sessions, iirc...

  19. Re:This just in! by Chester+K · · Score: 2, Interesting
    Two parties have a secure channel in which to exchange these pads.

    OTP is mathematically 100% secure, but not practically.

    • The whole point of encryption is to make secure an otherwise unsecure channel of communication. If you have a secure channel in the first place (which you need to exchange pads with OTP), then why not just send the data you want to communicate through that channel and do away with encryption altogether?
    • Someone can intercept your pads and you'd never know. OTP is extremely vulnerable to a man-in-the-middle attack.
    • Your pads themselves may be attackable. In the extreme case, a pad comprised entirely of NULs can be XORed against your sourcetext to produce cyphertext, and that's OTP, but that doesn't mean it's secured. Any pad generated in a reproducable manner is susceptable to crypto analysis.
    • Empirical evidence suggests that the end points of a communication are just as vulnerable to compromise as the communication channel. If your message is decrypted and displayed on a non TEMPEST compliant display, then all your security was for naught.


    A couple of these problems are constant no matter what type of cypher you use, but some of them are solved by other forms of encryption; but they fit the opposite criteria: they are not mathmatically 100% secure, but they can be practically secure.
    --

    NO CARRIER
  20. Re:This just in! by rjh · · Score: 2, Interesting

    at least you did not do the Power/ENergy thing this time

    Make one little mistake, they never let you forget it. :)

    Just an interesting question: That number you used to indicate the minimum amount of energy to flip (or reset) a bit. Any references on that?

    Sure. The Boltzmann Constant, 1.38 * 10**-23 joules per Kelvin, is the fundamental relationship between temperature and energy. You can think of it as, "this is a quanta of energy at a given temperature". (It's not, and physics majors the world over are now marching on my house with pitchforks and torches. But I don't have time to explain fully.) So if you're running your computer at 3.2K, the ambient temperature of the universe, you can think of the minimum energy as being 4.4 * 10**-23 J. (I may have listed it earlier as 4.4 * 10**-26 J; if I did, I was misremembering the Boltzmann constant.)

    So your chips require a certain amount of energy to set each bit (really, to erase information in each bit--but that's splitting hairs at this point), and that energy can't be below 4.4 * 10**-23 joules.

    (Yes, you could drop the temperature of the computer to a few nanokelvins, and thus drop the energy required to set the bits... but then you'd have to supply extra energy to run the heat pump, bringing the total cost back up.)

    what is your opinion on the security of AES, in particular of Rijndael in comparison to Blowfish and Serpent?

    First, my cryptanalysis is rusty: I know enough to follow the papers, but I'm absolutely not on the cutting-edge of research. That said, I'm not especially fond of any of the AES candidates, not at this point in time. AES/Rijndael looks good, but it doesn't have much safety margin in it. Already we're seeing cryptanalytic results against it--I'm not going to say attacks, but ... there's some interesting research coming out. Nobody knows if it'll lead to an attack.

    I don't know enough about Serpent to make an informed statement about the cryptanalytic results against it. I stopped following Serpent after Rijndael was selected for AES. I vaguely recall some of the latest AES research also applies to Serpent, but... check that one before you rely on it.

    Re: Blowfish... I'm damn fond of the fish. It's been out for just a little under a decade, with no significant cryptanalytic results to it. With just a few equivocations, I'd actually recommend it above 3DES. 3DES has a much longer history of turning brilliant cryptanalysts into burned-out alcoholic wrecks, but... DES is a very complex algorithm. It's so complex that it's damnably hard to implement DES right. (I know; I've had to code 3DES on multiple occasions. I've put coworkers on notice that I refuse to do it again.) But Blowfish is extremely sexy, so much so that it can be succinctly described in about 50 lines of LISP. So on the grounds that Blowfish has an impressive cryptanalytic record, and is far simpler to implement correctly... I'd actually recommend Blowfish as my favorite cipher today.