Slashdot Mirror


Scientists Extract RSA Key From GnuPG Using Sound of CPU

kthreadd writes "In their research paper titled RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis, Daniel Genkin, Adi Shamir and Eran Tromer et al. present a method for extracting decryption keys from the GnuPG security suite using an interesting side-channel attack. By analysing the acoustic sound made by the CPU they were able to extract a 4096-bit RSA key in about an hour (PDF). A modern mobile phone placed next to the computer is sufficient to carry out the attack, but up to four meters have been successfully tested using specially designed microphones."

26 of 264 comments (clear)

  1. Remember TEMPEST? by Bruce+Perens · · Score: 5, Interesting

    TEMPEST was a details-secret government requirement meant to defeat means of eavesdropping on classified computer data from its electromagnetic emissions. I guess they need to include audio too.

    My impression is that the noise comes from the power supply, not the CPU. I can certainly hear it with some computers, and it is related to work on the video card in my experience. I'm astonished that you can actually pull data from that, and in fact I'd like to see independent confirmation before I believe it.

    1. Re:Remember TEMPEST? by Hatta · · Score: 4, Insightful

      Seems like GPG could defeat this pretty easily by putting in some random HLTs.

      --
      Give me Classic Slashdot or give me death!
    2. Re:Remember TEMPEST? by Gothmolly · · Score: 3, Funny

      Or HCF, if you wanted to be really sure.

      --
      I want to delete my account but Slashdot doesn't allow it.
    3. Re:Remember TEMPEST? by DaveAtWorkAnnoyingly · · Score: 5, Interesting

      I'm not a computer scientist by trade, I'm an engineer (nukes), and this sounds dubious. Perhaps I'm way behind the curve on acoustic engineering, but being able to pull a 4096 bit key from noise that not only is pretty polluted, but also, surely depending on what the PC is doing, could be dependent of lots of other things?

      Also, it's Bruce Perens. Hi!

    4. Re:Remember TEMPEST? by Desler · · Score: 5, Interesting

      Q12: Won't the attack be foiled by loud fan noise, or by multitasking, or by several computers in the same room?

      Usually not. The interesting acoustic signals are mostly above 10KHz, whereas typical computer fan noise and normal room noise are concentrated at lower frequencies and can thus be filtered out. In task-switching systems, different tasks can be distinguished by their different acoustic spectral signatures. Using multiple cores turns out to help the attack (by shifting down the signal frequencies). When several computers are present, they can be told apart by spatial localization, or by their different acoustic signatures (which vary with the hardware, the component temperatures, and other environmental conditions).

    5. Re:Remember TEMPEST? by Opportunist · · Score: 4, Insightful

      Well, think of it like trying to hear an opera singer in between a lot of traffic noise. Even your ear can do that to some degree, but for software it is fairly trivial to separate the song from the other noises, especially if you know what opera is being sung. The singer might not be singing in the key you know or he might have a bit of variety in the way he interprets the song, but you know in general what it should sound like so you know what to look for, and then you work from there.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    6. Re:Remember TEMPEST? by Prune · · Score: 5, Informative

      >The "audio" in question is most likely all below 24 kHz, that being the Nyquist limit for the 48 kHz sampling hardware, unless it happens that some phones can actually sample faster, and have microphones that can respond to higher frequencies. The instruction rate of the CPUs in question is many times that frequency. It doesn't sound likely.

      Your objection was directly addressed in the article:

      "Cryptanalytic side-channel attacks typically require measurements with temporal resolution similar to the time scale of the target operation, but here the target cryptographic computation is many orders of magnitude faster....the key extraction attack relies on crafting chosen ciphertexts that cause numerical cancellations deep inside GnuPG's modular exponentiation algorithm. This causes the special value zero to appear frequently in the innermost loop of the algorithm, where it affects control flow. A single iteration of that loop is much too fast for direct acoustic observation, but the effect is repeated and amplified over many thousands of iterations, resulting in a gross leakage effect that is discernible in the acoustic spectrum over hundreds of milliseconds

      I dare suggest that sometimes even the experts need to RTFA. :)

      --
      "Politicians and diapers must be changed often, and for the same reason."
    7. Re:Remember TEMPEST? by Anonymous Coward · · Score: 5, Insightful

      Using multiple cores turns out to help the attack (by shifting down the signal frequencies).

      Say what? Through what mechanism would multiple cores shift down the frequency? And what about parallel instruction streams contributing to noise?

      It is not the cores specifically but a mathematical property commonly used in radio communication.
      sin(a)*sin(b) = 1/2 * (cos(a-b) - cos(a+b))
      A transistor working in the non-linear section will have an exponential function. This will give a function similar to (a+b)^2 = a^2 + 2ab + b^2 (Not really, but close, the important part is that you get the product of the signals. The rest will be high frequency noise.)

      This means that if you have two frequencies that are cos to each other, like 3000000kHz and and 3000001kHz the interaction between them will create a component at 6000001kHz and one a 1kHz.
      Pretty much all audio equipment you can find will gladly filter out the higher frequencies and let the 1kHz component through.
      The frequency variations in the ~1kHz component will give you information about the runtimes of the instructions.

    8. Re:Remember TEMPEST? by sonamchauhan · · Score: 3, Insightful

      Also, it's Bruce Perens. Hi!

      Also, while we are still in 'appeal to authority' mode, the coauthor of the paper is Adi Shamir, the 'S' in RSA.

    9. Re:Remember TEMPEST? by rioki · · Score: 4, Informative

      Q11: Can you realistically perform the chosen-ciphertext attack on GnuPG?

      To apply the attack to GnuPG, we found a way to cause GnuPG to automatically decrypt ciphertexts chosen by the attacker. The idea is to use encrypted e-mail messages following the OpenPGP and PGP/MIME. For example, Enigmail (a popular plugin to the Thunderbird e-mail client) automatically decrypts incoming e-mail (for notification purposes) using GnuPG. An attacker can e-mail suitably-crafted messages to the victims, wait until they reach the target computer, and observe the acoustic signature of their decryption (as shown above), thereby closing the adaptive attack loop.

  2. NSA wants to access microphone. Allow/disallow? by sideslash · · Score: 4, Insightful

    This makes me re-think the push toward quiet, fanless computers. Now I am thinking that I want a white[/some other color] noise generator to add privacy to my personal computing.

  3. Daisy, Daisy... by jtara · · Score: 4, Interesting

    In High School, we had a program we would run on the IBM 1620 (this was in ancient history...) that would play a song on a transistor radio placed on the console. Somebody figured out what instructions to run to create different frequencies.

    We used to just leave the radio there even when not running that program.

    "That's a loop!"

    "Whoa! A "FORMAT" statement!"

    One can easily see how A leads to B.

    1. Re:Daisy, Daisy... by Spiridios · · Score: 4, Interesting

      In High School, we had a program we would run on the IBM 1620 (this was in ancient history...) that would play a song on a transistor radio placed on the console. Somebody figured out what instructions to run to create different frequencies.

      We used to just leave the radio there even when not running that program.

      "That's a loop!"

      "Whoa! A "FORMAT" statement!"

      One can easily see how A leads to B.

      Back when the 486dx4 was out, I'd tune my FM radio to ~100mHz and listen to the weird whirs and buzzes that occurred during disk access or mouse movement. Many years later, during a security class of all things, when I suggested using this as a method to leak information out of a secure room, the speaker said using radio transmission to leak information was much too sophisticated to be a viable attack for anything but the government and military.

    2. Re:Daisy, Daisy... by Cimexus · · Score: 3, Informative

      You're missing the point. He typed mHz (millihertz) instead of MHz (megahertz).

  4. It's not the fan or mechanical components by LNO · · Score: 5, Interesting

    It's more awesome than that. The white noise generated by the fan doesn't matter at all.

    "The acoustic signal of interest is generated by vibration of electronic components (capacitors and coils) in the voltage regulation circuit, as it struggles to maintain a constant voltage to the CPU despite the large fluctuations in power consumption caused by different patterns of CPU operations. The relevant signal is not caused by mechanical components such as the fan or hard disk, nor by the laptop's internal speaker."

    The attack scenarios are even more fantastical. I have no idea how plausible they are, but wow, regardless:

    "We discuss some prospective attacks in our paper. In a nutshell:
    Install an attack app on your phone. Set up a meeting with your victim, and during the meeting, place your phone on the desk next to the the victim's laptop (see Q2).
    Break into your victim's phone, install your attack app, and wait until the victim inadvertently places his phone next to the target laptop.
    Have a web page use the microphone of the the computer running the browser (using Flash or HTML Media Capture). Use that to steal the user's GnuPG key.
    Put your stash of eavesdropping bugs and laser microphones to a new use.
    Send your server to a colocation facility, with a good microphone inside the box. Then acoustically extract keys from all nearby servers.
    Get near a TEMPEST/1-92 protected machine, such as the one pictured to the right. Put your microphone next to its ventilation holes and extract its supposedly-protected secrets."

    1. Re:It's not the fan or mechanical components by LNO · · Score: 4, Informative

      Even that gets filtered out:

      "Q12: Won't the attack be foiled by loud fan noise, or by multitasking, or by several computers in the same room?

      Usually not. The interesting acoustic signals are mostly above 10KHz, whereas typical computer fan noise and normal room noise are concentrated at lower frequencies and can thus be filtered out. In task-switching systems, different tasks can be distinguished by their different acoustic spectral signatures. Using multiple cores turns out to help the attack (by shifting down the signal frequencies). When several computers are present, they can be told apart by spatial localization, or by their different acoustic signatures (which vary with the hardware, the component temperatures, and other environmental conditions)."

  5. A legit reason to have the radio on all the time! by sandytaru · · Score: 4, Funny

    I'm totally going to use this if I'm ever asked to turn my music down in the office. "But sir, this is increasing my encryption security!"

    Since 90% of the people in my office are not tech people, that just might work.

    --
    Occasionally living proof of the Ballmer peak.
  6. Re:Yeah right? by Desler · · Score: 3, Informative

    You could have spent 5 minutes to skim the page where they address your questions.

  7. New? by Anonymous Coward · · Score: 5, Interesting

    Wait, this is a new paper? Neat, they updated it since 2004. Um, this is a pretty old technique, I've seen it demonstrated, on GnuPG, no less, before. RSA squares and multiply have different loops. This one, I know, GCHQ did first.

    It's one of the reasons we like Ed25519 and the other safecurves - constant time loops, no key-dependent branches, massively reduces side-channel attack potential.

  8. Re:Not a Problem by VortexCortex · · Score: 4, Interesting

    I'll be playing a recording of my system decrypting data with my throw-away RSA key then.

  9. Reminiscent of other attacks by cold+fjord · · Score: 5, Interesting

    There have been other attacks previous discussed here as I recall, such as using power fluctuations or timing attacks, and so on, as cribs to retrieve a key. It appears this sort of attack that exploits the characteristics of the system performing the encryption will continue to be an attack vector of growing importance.

    Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems

    Abstract. By carefully measuring the amount of time required to perform private key operations, attackers may be able to find fixed Diffie-Hellman exponents, factor RSA keys, and break other cryptosystems. Against a vulnerable system, the attack is computationally inexpensive and often requires only known ciphertext. Actual systems are potentially at risk, including cryptographic tokens, network-based cryptosystems, and other applications where attackers can make reasonably accurate timing measurements. Techniques for preventing the attack for RSA and Diffie-Hellman are presented. Some cryptosystems will need to be revised to protect against the attack, and new protocols and algorithms may need to incorporate measures to prevent timing attacks.

    Breaking DES with side-channel attacks

    This lab will demonstrate how power analysis of cryptographic hardware can reveal the key. We will be using basic electronic measurement tools such as oscilloscopes to demonstrate this side-channel attack.

    You will be using a small hardware board (fig. 1) with a generic microprocessor programmed to perform DES encryption and decryption. The scenario is that you are the attacker and want to find out the secret key stored inside the board. There is no way of getting to the key directly, so you will need to perform a side-channel attack by measuring the power consumption of the board while the algorithm is running. The hardware board also allows the user to load a custom key in order to compare the power consumption.

    And to think that there were people poopooing NSA for pulling cables and servers that Snowden had access to. More attack vectors for everybody!

    The technology inside Apple’s $50 Thunderbolt cable

    A source within the telecom industry explained to Ars that active cables are commonly used at data rates above 5Gbps. These cables contain tiny chips at either end that are calibrated to the attenuation and dispersion properties of the wire between them. Compensating for these properties "greatly improves the signal-to-noise ratio" for high-bandwidth data transmission.

    --
    much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
  10. This is probably not a big deal by DrJimbo · · Score: 4, Informative

    What they are exploiting is that in naive implementations of RSA the amount of computer power needed during en/decryption varies with each binary digit in the key. If the digit is zero then no computation is done and if it is one that a tight loop is executed.

    There have been other side channel attacks that exploit this weakness in naive implementations. The obvious fix is to slightly change the algorithm so the same computation is done whether the digit is a zero or a one. This reduces the efficiency by a factor of two but it makes these side channel attacks much more difficult.

    In fact, the authors contacted GPG before publicly releasing this exploit and the fix is in place:

    Q9 How vulnerable is GnuPG now?

    We have disclosed our attack to GnuPG developers under CVE-2013-4576, suggested suitable countermeasures, and worked with the developers to test them. New versions of GnuPG 1.x and of libgcrypt (which underlies GnuPG 2.x), containing these countermeasures and resisting our current key-extraction attack, were released concurrently with the first public posting of these results. Some of the effects we found (including RSA key distinguishability) remain present.

    ...

    Q13: What countermeasures are available?

    One obvious countermeasure is to use sound dampening equipment, [...]

    Alternatively, one can employ algorithmic techniques to reduce the usefulness of the emanations to attacker. These techniques ensure the rough-scale behavior of the algorithm is independent of the inputs it receives; they usually carry some performance penalty, but are often already used to thwart other side-channel attacks. This is what we helped implement in GnuPG (see Q9).

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
  11. Re:Yeah right? by amicusNYCL · · Score: 5, Informative

    What sounds does a cpu make?

    They describe that in the paper's summary.

    Or better yet how does a CPU make sound?

    They describe that in the first line of the paper's summary, and also in question 2 of the Q&A.

    The clock speeds are in the GHZ range so it is so far outside of the sound range of any microphone it just is not funny.

    They address that at the end of the first paragraph of the paper's summary, and also in question 8.

    Throw in that all cpus today have more than one core you will have a more than one code stream executing at one time.

    They address that in question 12.

    Throw in the sound of the fans running to make picking up the sound just seem very unlikely.

    Also in question 12.

    Until it is duplicated I would really doubt it.

    OK, thanks for the valuable feedback.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  12. Layman interpretation (generally) by avoisin · · Score: 5, Informative

    Ok, I'm impressed.

    For those that didn't want to RTFA, this works by letting the target computer spin on a carefully chosen piece of text. That text is chosen such that the CPU will do some predictable math (such as big equations that == 0). Then, those places where the CPU hits 0 can be heard through a sensitive microphone.

    The neat part is that you're not looking for a 4096-bit key. Computers don't actually handle things with that large of a size, they have to break it down into 32-bit/64-bit chunks to be able to do the math. That's the real vulnerability - despite the key length itself being massive, because the number gets broken down into small chunks, you can start to handle it. The paper goes through a very complicated way of sensing each section of a large key, and then piecing it all together. This is not a case of hearing a specific noise, and looking it up in a table. It's not even a case of looking up 32-bit chunks in a table.

    So, it is a real attack, that is mostly dependent on the breakdown of the 4096bit key into bitesize chunks, that go through known math routines. If you can get the target to nicely decrypt several well-crafted messages for you, and you can get a good microphone near their CPU while they do it, and you can let this process go on long enough (so the attack program can listen to the CPU for a while to build up a profile, etc.), it really can work.

    I'll say that it needs kind of an ideal scenario to get all those things lined up, but it's not impossible.

    Preventing it fully is really only possible with two ways. Either switch your CPU to not use those bite-size chunks, and have the decryption take place all in one massive math operation (not realistic), or change the math that occurs on the bite-size chunks to be irregular in terms of any recognizable patterns (very realistic).

  13. Re:Easy fix by lisaparratt · · Score: 4, Funny

    Read Slashdot at -1.

  14. Re:Yeah right? by amicusNYCL · · Score: 3, Informative

    The variable power load would very based on the instructions but we are not really interested in the instructions we are interested in the data. Doing an instruction on any data should cause the same power draw so how do they extract the data?

    There's an 8MB PDF linked from the summary that has your name all over it. Instead of asking questions like that and waiting for the answer and ignoring all of the work that they did in producing the paper, just read the paper and get the answers.

    So it can only work with some keys?

    It is a chosen-ciphertext attack, not a chosen-key attack.

    The summary really does not answer the questions.

    Yeah, no shit. The summary is not supposed to answer all of the question. You know what is supposed to answer the questions? The paper.

    The idea that the sound can extract the data violates the Nyquist–Shannon sampling theorem.

    Don't tell me, tell them. Review their paper, find the flaws in it, and tell them. That's what peer review is about.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black