Slashdot Mirror


Compressed VoIP Calls Vulnerable To Bugging

holy_calamity writes "Security researchers at Johns Hopkins report that a variable bit-rate compression scheme being rolled out on VoIP systems leaves encrypted calls vulnerable to bugging. Simpler syllables are squeezed into smaller data packets, with more complex ones taking up more space; the researchers built software that uses this to spot phrases of interest in encrypted calls simply by measuring packet size."

44 of 140 comments (clear)

  1. Easy Solution: by dintech · · Score: 4, Insightful

    Easy Solution. Music in the background.

    1. Re:Easy Solution: by Anonymous Coward · · Score: 5, Insightful

      Better solution: Fix the stupid, broken protocol.

      For instance, the concept of RSA blinding had to be invented because people discovered that certain bits of the SSL private key can be determined simply by measuring the time it takes to encode messages. This was due to some implementation details inside SSLeay where it switched from one multiplication algorithm to a different one depending on the size of certain numbers in the algorithm.

      OAEP had to be invented for similar reasons

      "Music in the background" is not a security solution. In fact, that's a freaking joke.

    2. Re:Easy Solution: by Daimanta · · Score: 4, Funny

      ""Music in the background" is not a security solution. In fact, that's a freaking joke."

      Yes, but a joke you can dance on.

      --
      Knowledge is power. Knowledge shared is power lost.
    3. Re:Easy Solution: by martin_henry · · Score: 3, Funny

      Awesome....a VOIP dance party.

      --
      www.purevolume.com/martyd
    4. Re:Easy Solution: by gstoddart · · Score: 2, Funny

      Easy Solution. Music in the background.

      Oh, sure, give the RIAA reason to get involved in encrypted phone calls.

      They'll try to make sure you're not using unlicensed music to mask your conversations. We'll be seeing John Doe subpoenas to get access to what music you were playing. :-P

      I'm only half joking.

      Cheers
      --
      Lost at C:>. Found at C.
    5. Re:Easy Solution: by jonaskoelker · · Score: 2, Informative

      OAEP had to be invented for similar reasons Not true: OAEP fixes problems with the math, which by its declarative nature is timing-independent.

      The problem fixed by OAEP is this: suppose you want to a message from a small set (say, a single bit, or "attack" versus "retreat"); assume for convenience the set of messages is contained in [0, n-1], where n = pq is part of the RSA public key.

      If you just do plain RSA encryption (c = m^e % n), then the eavesdropper can encrypt all the values from the small set in almost no time, and see which of the encryptions match the ciphertext. You Have Been Decrypted. You Have Lost. Have A Nice Day.

      What OAEP does: instead of encrypting just m, you pad m with some zeroes z and some random bits r. You then do the following:

      left = (m and z) xor hash1(r)
      right = hash2(left) xor r
      return encrypt(left and right)
      "and" is the concatenation operator, xor is bitwise; the difference between the hashes is the input/output sizes. Ideally the implement a random oracle.

      This fixes a math problem, not a side-channel attack. How that relates to timing attacks on SSL I can't work out. See also the wikipedia article on OAEP.
  2. Do what my grandparents do by phorm · · Score: 4, Interesting

    Anyone wanting to avoid detection could just follow what my German-speaking grandparents do when they don't want us kids listening into the conversation: randomly switch languages on different topics (though I think that this is sometimes also because some concepts are also easier to portray in a given language).

    Random switches between languages would probably confuse the heck out of filters guessing compressed data. That or you could just learn Russian... I don't think they *have* any simple-syllable words in Russian :-)

    1. Re:Do what my grandparents do by smitty97 · · Score: 5, Funny

      That or you could just learn Russian... I don't think they *have* any simple-syllable words in Russian :-) In Soviet Russia, VoIP bugs you!
      --
      mod me funny
    2. Re:Do what my grandparents do by markana · · Score: 4, Funny

      >That or you could just learn Russian... I don't think they *have* any simple-syllable words in Russian :-)

      Da!

    3. Re:Do what my grandparents do by mlwmohawk · · Score: 3, Funny

      Just speak arabic!! We already know the FBI and CIA don't have enough translators.

    4. Re:Do what my grandparents do by JeffAMcGee · · Score: 3, Insightful

      Going from one language to two would only make the process of breaking the message a bit more complex, and by that I mean precisely one bit more complex, because there would be about twice as many phrases to look for. This is not a solution. The solution is to not use variable bit rate compression if security is important.

      --
      This sig cannot be proven true.
    5. Re:Do what my grandparents do by hummassa · · Score: 3, Funny

      That or you could just learn Russian... Which would give you an advantage, if you ever have to pilot a bleeding-edge mind-controlled Russian jet fighter.

      --
      It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    6. Re:Do what my grandparents do by MindStalker · · Score: 3, Interesting

      Depends upon how you define "translators." One of my best friends just got out of the Army, he is a really good linguist and knows several langauges, but he flunked out of the Arabic program because its not just hard to learn, you have to learn hundreds of dialects even for Iraq. He could understand it well enough but to be able to go out on the street and translate you have to be certain you won't accidentally offend with a mistranslation. Apparently virtual no non native arabic speakers ever make it through this program. Anyways he go reassigned to listen to and interpret radio broadcast and other incoming information. Not officially a translator. The point to this story?? I don't know..

    7. Re:Do what my grandparents do by Samizdata · · Score: 2, Funny

      I worked for a set of commodity trader brothers back in the 80's. One of them, who worked as their corporate attorney, was in a Club Fed for tax issues.

      I saw more than one threat from the Bureau of Prisions warning them to stop using Latvian (their native tongue) during phone calls to the incarcerated.

      --
      It's not the years, honey, it's the mileage. - Colonel Henry Walton Jones, Jr., Ph.D.
    8. Re:Do what my grandparents do by wyohman · · Score: 2, Informative

      Apparently virtual no non native arabic speakers ever make it through this program.

      Not likely spanky. Were this true, the language school at Monterey would have to answer a lot of very tough questions. Like my wise grandfather used to say, "Believe half of what you see and none of what you hear."

      Cheers.

  3. Evasive, ummm, technology by martyb · · Score: 4, Funny

    FTFA

    In tests on example conversations, the software correctly identified phrases with an average accuracy of about 50%. But that jumped to 90% for longer, more complicated words. Wright thinks these phrases may be the most important. "I think the attack is much more of a threat to calls with some sort of professional jargon where you have lots of big words that string together to make long, relatively predictable phrases," he says. "Informal conversational speech would be tougher because it's so much more random."

    So, ummm, what we should do to, umm, well, protect ourselves from, ummm, yaknow, eavesdroppers, heh-heh, is well, make sure there's enough, ummmmmmm, yaknow, like extra noise, like, mixed in, dude.

    1. Re:Evasive, ummm, technology by gstoddart · · Score: 4, Funny

      So, ummm, what we should do to, umm, well, protect ourselves from, ummm, yaknow, eavesdroppers, heh-heh, is well, make sure there's enough, ummmmmmm, yaknow, like extra noise, like, mixed in, dude.

      Oh my god, thats like, totally, like, a great idea, yaknow. I mean, like, they'll never figure out what we're, like, saying, yaknow?

      Oryoucouldspeakreallyfastwithoutpausesbetweenwords. Thatwaythey'llneverknowwhatyousaid =)

      Or. We. Could. All. Speak. Like. Shatner. Random. Long. Pauses. Genius.

      Cheers
      --
      Lost at C:>. Found at C.
    2. Re:Evasive, ummm, technology by Anonymous Coward · · Score: 2, Funny

      Or. We. Could. All. Speak.
      Like. Shatner. Random. Long.
      Pauses. Genius.


      You're missing one syllable in the middle line...


  4. It's easy to encrypt your conversations by muellerr1 · · Score: 2, Interesting

    Just st-st-stuh-stutter when you talk. And use a lot of, uh, you know, um, non-word sounds between, uh, like, your phrases. And don't use any complexificated words without Bushifying them first. Better yet, only speak in Klingon.

    Or maybe you shouldn't say anything on VoIP that you don't want anyone else to hear.

    1. Re:It's easy to encrypt your conversations by Ephemeriis · · Score: 2

      Or maybe you shouldn't say anything on VoIP that you don't want anyone else to hear.


      A couple honest questions...

      1) Why do I see so much about wiretapping/bugging VoIP lately? I guess I've always assumed that VoIP was just as vulnerable to bugging as POTS - maybe even more so. Was I wrong? Was VoIP previously un-buggable and this just recently changed? Or is it just because VoIP is the new, cool thing?

      2) Why would anyone think that compressed VoIP would be any more or less secure than uncompressed? As we can see, there's still patterns to be found. Wouldn't it make more sense to encrypt the data if you were worried about privacy? And since it's IP traffic, shouldn't encrypting it be relatively easy? Wouldn't a decent VPN pretty much take care of it?
      --
      "Work is the curse of the drinking classes." -Oscar Wilde
    2. Re:It's easy to encrypt your conversations by mmkkbb · · Score: 2, Informative

      From the article summary above: "a variable bit-rate compression scheme being rolled out on VoIP systems leaves encrypted calls vulnerable to bugging" and "spot phrases of interest in encrypted calls simply by measuring packet size."

      Emphasis mine.

      --
      -mkb
  5. Re:Randomize the packets slightly by pclminion · · Score: 3, Informative

    Time/space attacks are well known. Somebody who actually, hmm, UNDERSTOOD cryptographic security would never have designed the protocol this way in the first place.

    The people suggesting that we should just inject noise or background patterns are being ridiculous. Why sacrifice communication quality when there are BETTER ways to fix it? DO IT RIGHT.

  6. Re:Here's a thought by pclminion · · Score: 2

    Hahaha! Compressing encrypted data?! My sides are splitting!

    In case you can't figure it out: good encryption makes data look completely random. Do you know of any algorithms which compress PURELY RANDOM data? I sure as hell don't.

  7. Re:Here's a thought by corsec67 · · Score: 4, Insightful

    Except that might not help here.
    The issue is that VOIP is an application that needs low latency. You have to send the data you have within (.1 seconds? something small) a specific amount of time, and can't wait for the buffer to fill before sending it, compressed, encrypted or not. Thus you get packets that are different sizes.

    This isn't sending the whole conversation at once, this is a constant stream of data with specific requirements on latency.

    A solution would be to make each packet the same size by padding it with random data that the other side will discard. But that eliminates some of the benefit of compression.

    Maybe just use a fixed bit rate, as opposed to a VBR encoding?

    --
    If I have nothing to hide, don't search me
  8. Re:Here's a thought by Anonymous Coward · · Score: 3, Insightful

    What idiot modded this up? Encrypted data is (pretty much by definition) uncompressable. Encryption works by hiding information and removing redundancy. Compression works by identifying and removing redundancy. The two concepts simply CANNOT BE APPLIED IN THAT ORDER. Go back to school -- both the OP, and whatever moron was moderating.

    "Just stutter when you talk!" "Just play music in the background!" "Just switch languages in mid-sentence!" God help us. You must be the idiots who designed this protocol in the first place. The problem is that the spacetime information of the conversation was NOT TAKEN INTO ACCOUNT when the protocol was designed. This, in turn, means it was designed by a crew of fools.

    Voice data just CAN'T be securely encrypted. That's because the spacetime information HAS to be there because we inherently interpret voice data according to these characteristics. Either you reveal this information in the stream, or you must increase the latency to the point that communication is impossible. If you want security, don't speak, WRITE, and use a cryptosystem that isn't a piece of shit.

  9. Re:Here's a thought by blueg3 · · Score: 4, Insightful

    There's a reason for that. With a good encryption mechanism, the ciphertext will have maximum entropy (one bit of entropy per bit of ciphertext). Random data also has maximum entropy.

    The point of compression is to take data that's expressed in a way that doesn't maximize entropy and reexpress it in a way that is higher-entropy (more information per bit). As such, maximum-entropy data is, by its nature, incompressible.

  10. Bad science by DrYak · · Score: 3, Insightful

    First, the article mixes things :
    vowels actually are simpler than consonant to compress (because of spectral complexity - consonant use much more different frequencies. They are mostly noises and have a more "random"-like wave form making them harder to compress). They got it completely in reverse.

    Then TFA doens't show a method to magically guess was is being said over a crypted channel only by looking at the bitrates, it only says that it finds some predetermined pattern in a given set of samples to test against. The whole thing would only be able to answer to some very simple questions like "did the words XYZ appear in the conversation ? or did ABC appear in the conversation ?" - with a rather bad success rate if those words are long and complex enough - which hardly makes it enough to obtain personal information or otherwise efficiently spy on someone.

    Then the whole system has a lot of short comings :
    - As said before it assumes that the spy know exactly that some phrase has to be said - if the spy doesn't guess exactly what words he must search for the attack fails (the users may be speaking in a foreign language to begin with).
    - It assumes that the speech-generator-made needle they are looking for in the hay sack will be close to what they are looking for. The users may have an accent and pronounce words differently (cf alumnium vs. aluminium, etc...)
    - And worse of all, it assume that the granularity of the packed will be small enough so that the phonemes will have an influence on the bit rate. Whereas in reality, short packets have a big overhead of bandwidth, longer packets increases the latency. But lots of VoIP users are happy with a 500ms latency because it really diminishes the overhead. At 500ms you can have a couple of words in a single packet. The whole packet will tend to have a corresponding bandwidth close to the average (there will be small difference between phonemes, but these will all be packed into the same packet and will average).
    - It fails to take into account an interleaved video stream. Video conferencing is really popular, and its own bandwith will completely dwarf the bandwidth used by audio. So unless the VoIP uses 2 separate stream (some VoIP systems do), and only encrypt at the stream level, and the transmission is happening over a non crypted channel (no sane person should do that), this method will fail epically.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  11. Re:Here's a thought by rml1997 · · Score: 2, Insightful

    GSM already performs some pretty nifty compression involving regenerating missing packets. By enhancing this, it should be possible to just send the encrypted message text and a voice profile and have the receiving phone talk in your voice. I'll get right on it... Actually, part of the problem with the encryption could be the GSM (or other codec) compression itself. It looks for similar packets and tells the receiver to use a previous packet instead of sending the new one. This would obviously be a much shorter transmission. Complex syllables are more likely to be more different than simpler ones, so that the codec decides to encode and send the new data. Thus another solution would be to improve the codec to recognise and reuse previously sent data better for longer syllables, or maybe to resend old data more often than neccesary and at random. Before doing this, I'd like to see just how much of the data can be deciphered using this technique. I bet its not much.

  12. Re:Here's a thought by oodaloop · · Score: 3, Funny

    Voice data just CAN'T be securely encrypted. Really? I have a Top Secret phone on my desk, and I can assure you it's pretty secure. (And no, it's not a shoe.)
    --
    Tic-Tac-Toe, Global Thermonuclear War, and relationships all have the same winning move.
  13. Re:Here's a thought by wolrahnaes · · Score: 4, Interesting

    Voice data just CAN'T be securely encrypted. That's because the spacetime information HAS to be there because we inherently interpret voice data according to these characteristics. Either you reveal this information in the stream, or you must increase the latency to the point that communication is impossible. If you want security, don't speak, WRITE, and use a cryptosystem that isn't a piece of shit.

    I disagree. The problem pointed at in this article can be easily solved on many SIP endpoints. I spend all day working on VoIP phones from vendors such as Linksys, Polycom, Aastra, Cisco, and if I really have to snom. Most of these have an option where it'll just send blank full bitrate audio rather than the usual "put silence here" instructions on G.711 calls. In fact that is the default behavior on some, since it makes the latency a bit more predictable to have a constant-rate data stream. If you want to use a VBR codec, of course this is a problem, but don't act like it's impossible or even hard to solve. If you are concerned enough to encrypt your conversations, use a CBR codec. 64 kbit/sec is not hard to free up.
    --
    I used to get high on life, but I developed a tolerance. Now I need something stronger.
  14. Re:Here's a thought by pclminion · · Score: 2, Interesting

    I bet you that phone is not packet based, not compressed, and runs over a physically secure line. BIG fucking difference.

  15. Re:Here's a thought by gstoddart · · Score: 2, Funny

    In case you can't figure it out: good encryption makes data look completely random. Do you know of any algorithms which compress PURELY RANDOM data? I sure as hell don't.

    Sure, drop every other byte. It'll be half as big. ;-)

    Cheers
    --
    Lost at C:>. Found at C.
  16. ode-cay by fahrbot-bot · · Score: 3, Funny

    Ust-jay eak-spay in ode-cay.

    --
    It must have been something you assimilated. . . .
  17. Not really... by msauve · · Score: 3, Informative

    First, the paper was testing the Speex codec, and in based in principle on looking at codecs which use variable bit-rate CELP, a compression scheme which is tailored to speech, not music (music sounds terrible through one of these codecs, because their dictionaries are filled with speech sounds). Having music in the background is only likely to confuse the codec, making the speech sound terrible too, possibly to the point of unintelligibility.

    The conclusions do not apply to more standardized codecs like G.711 and G.729a, which use fixed size packets.

    The paper itself can be downloaded from here. Get it quick, before the IEEE figures this out and make the author remove it so they can extort their fee.

    --
    "National Security is the chief cause of national insecurity." - Celine's First Law
  18. Re:Randomize the packets slightly by Creepy+Crawler · · Score: 2, Interesting

    ---The people suggesting that we should just inject noise or background patterns are being ridiculous. Why sacrifice communication quality when there are BETTER ways to fix it? DO IT RIGHT.

    Injecting "noise" makes sense for me. Why so?

    We use a salt for our hashes, dont we? The "noise" would be the same thing. Consider this: during negotiation, we have chaotic noise formulas in which we propagate the variables so that each side knows the noise transform. We then add the noise after digitalization but before encryption. Then the other side knows the inverse formula, decrypts it, and subtracts the noise.

    Given pseudo-random numbers for the chaotic noise formula, it would give different encrypted data for the same exact voice (if we used a mp3 to exactly play something). Effectively, a voice salt.

    --
  19. Protocol isn't broken - it's badly mixed by billstewart · · Score: 4, Insightful
    This isn't a simple case of a broken protocol - it's an effect of mixing different protocols in ways that don't work together.

    Voice codecs are designed to support a given level of audio quality subject to bit rate and computational complexity limitations. Most codecs are fixed-rate, or fixed-rate with silence suppression. Encryption isn't part of their design; it's somebody else's problem, and many VOIP systems aren't encrypted anyway (for instance, connections between an office phone and a PBX usually aren't.) Variable bit rate codecs are sometimes a good choice, depending on the kind of sounds you're trying to compress and the networks you're transmitting them on, and they're at least an alternative to the usual fixed-rate codecs.

    Encryption systems usually aren't designed to deal with real-time message streams or timing attacks. Typically VOIP encryption protocols are designed for constant bit rate codec output, which is what most codecs provide, and the codecs usually package up 10, 20, or 30ms audio samples into a data packet for transmission over IP.

    The problem occurs when you're choosing your codec and encryption separately, and you take a crypto system designed for fixed-rate codecs and use a variable-bit-rate codec instead. It's difficult to keep people from doing that sort of thing, especially if they're using huge-overhead approaches like VOIP inside IPSEC as opposed to VOIP systems with the crypto built in. It's also difficult to prevent people from making bad choices like that when they're using open-source software applications, as opposed to proprietary phones that only have the small set of codecs the manufacturer built in (typically uncompressed G.711, or G.729 or a GSM codec, all of which are fixed-rate except for silence suppression.)

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  20. This is compressed, encrypted VOIP by billstewart · · Score: 2, Informative
    1) You're seeing lots about bugging and wiretapping VOIP because VOIP use is increasing, and because the buggers in government are getting really aggressive about wanting to wiretap people. VOIP is potentially less secure than POTS, because there are more ways to tap the Internet than traditional phones (where you either use alligator clips on the wire or go to the phone company office), and it's also potentially much more secure than POTS, because the end users can do their own encryption without needing the network in between to be secure.


    2)It's not that compressed VOIP would be inherently more or less secure than uncompressed - if you want it secure, you encrypt it. The problem is that if you use a crypto system that works just fine with fixed-rate voice (either uncompressed or with a fixed-rate codec, which most codecs are) and use a variable-bit-rate codec instead, suddenly lots of information leaks out through the timing, because the crypto system wasn't hiding the size or timing of the voice packets. So no, your decent VPN isn't taking care of it, because it wasn't designed to, and using a VPN instead of VOIP-specific encryption makes it easier for you to use whatever codec you like. Also, IPSEC is really inefficient for VOIP, and SSL or SSH are worse, because VOIP gives you a stream of lots of very small packets, and each layer of protocol (RTP, UDP, IP, IPSEC, etc.) adds more overhead - an 8kbps voice codec typically takes 24-28kbps of IP if you don't encrypt it, and maybe double if you do.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
    1. Re:This is compressed, encrypted VOIP by 6Yankee · · Score: 2, Funny

      the buggers in government

      Oooh. Well played, Sir, well played.

  21. Voice codecs are lossy compression by billstewart · · Score: 2, Informative

    Voice codecs are lossy, so they'll happily compress your encryption data to something smaller, treating it as if it were audio samples from a human vocal tract. Unfortunately, you won't get all the bits back when you uncompress it, so decrypting the data isn't going to reconstruct anything resembling the original voice stream :-)

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  22. Why change the packet size? by argent · · Score: 2, Interesting

    Send fixed size packets, splitting longer syllables into more packets and packing multiple short syllables into single packets.

    1. Re:Why change the packet size? by rantingkitten · · Score: 2, Informative

      Then you'd be losing the point of compression, in which case you could bypass the problem entirely since the attack relies on examining the compression. :)

      In fact, you might be making it worse at that point, since now it's not compressed and you're splitting things into more packets than you were before, which could compound any latency-related issues that may be present.

      --
      mirrorshades radio -- darkwave, industrial, futurepop, ebm.
  23. Let's try better than "information theory FTW" by mstahl · · Score: 2, Informative

    The entropy for a perfectly random coin toss will always be one bit. The formula, if I'm remembering right, is -sum(p_i * log(p_i)) where the p's are the probabilities of the various possible outcomes. In the case of a fair coin toss, these are both 0.5 and the outcome is 1, or 1 bit.

    If the stream you're compressing has patterns in it, it is purely by coincidence and overall, the average entropy of any number of these streams will turn out to be 1 if you sample enough of them. Furthermore, if you do have a perfectly random string of bits, zlib, gzip, and all the rest will deliver a bigger file because of the overhead necessary for those file formats.

    Try it on the command line, dd if=/dev/urand of=random_bits bs=1024 count=100 && gzip random_bits. Getting a smaller file out of that is more improbable than being attacked by a shark while being struck by lightning while you're holding a winning lottery ticket.

  24. Much like traffic analysis attacks on SSH by runexe · · Score: 2, Informative

    This is very similar to traffic analysis attacks on SSH (like this one) where packet sizes and inter-arrival times can indicate which keys you are typing.
    Effective, practical counter-measures against good traffic analysis techniques are very difficult - especially if the attacked has enough traffic to work with (i.e. many conversations, many sessions, etc.).

  25. Re:Here's a thought by marcansoft · · Score: 2, Insightful

    Even a one bit change in the input totally changes the output of data after encryption (with secure encryption algorithms anyway). So unless you feed a deterministic voice synthesizer to the VoIP compressor and adjust the timing to exactly match that of the packets, no, you aren't going to get any compressible chunks in the output data after encryption. At all. Besides, if the encryption is any good it'll use a random IV for every packet, because encrypting the same plaintext to the same ciphertext itself carries a whole load of security problems. Your file encryption program sucks.