Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Encryption Security IT Technology

Hiding Messages In VoIP Packets 83

Orome1 writes "A group of researchers from the Warsaw University of Technology have devised a relatively simple way of hiding information within VoIP packets exchanged during a phone conversation. The called the method TranSteg, and they have proved its effectiveness by creating a proof-of-concept implementation that allowed them to send 2.2MB (in each direction) during a 9-minute call. IP telephony allows users to make phone calls through data networks that use an IP protocol. The actual conversation consists of two audio streams, and the Real-Time Transport Protocol (RTP) is used to transport the voice data required for the communication to succeed. But, RTP can transport different kinds of data, and the TranSteg method takes advantage of this fact."
This discussion has been archived. No new comments can be posted.

Hiding Messages In VoIP Packets

Comments Filter:
  • Deep Tone.

  • A sad necessity (Score:5, Insightful)

    by Hentes ( 2461350 ) on Wednesday November 16, 2011 @08:32PM (#38080818)

    Steganography is tech which while I admire, I hope that I will never need to use. Sadly, the world seems to be going the other way.

    • Re:A sad necessity (Score:4, Insightful)

      by Anonymous Coward on Wednesday November 16, 2011 @09:06PM (#38081140)

      It is indeed headed that way, which is exactly why you won't get to use it. Steganography is an extremely powerful tool which would be a game ender against current and mass interception and surveillance methods. This can't be allowed to happen and you can expect a shift towards centralised control over the communication endpoints, i.e. the computer in your own home and the phone in your hand. Of course any purely technical measure can always be circumvented when one has access to the hardware, which is why you can also expect that installing your own OS, or jail breaking your phone, hell, even loosening a few screws will all be felonies with severe penalties. If you think this is far fetched, remember it has already started to happen with game consoles.

      • Re:A sad necessity (Score:4, Insightful)

        by postbigbang ( 761081 ) on Wednesday November 16, 2011 @09:17PM (#38081232)

        You can hideMayorBloomberg messaisaages in all sorbigjerkts of ways. Shoving encrybecauseheevictedtheOWSpted or unencrypted information is child's play. VoIP is just one more medium.

        The Internet is seven bit; everything is text. We start from there.

      • You make it sound as though this is a bad thing. Any tool I can use to thwart preying eyes, especially the governments, is a good thing.
    • Re:A sad necessity (Score:5, Interesting)

      by betterunixthanunix ( 980855 ) on Wednesday November 16, 2011 @09:20PM (#38081270)
      Steganography is already widely used by the movie industry. Movies sent to movie theaters have robust watermarks hidden in them, which helps the MPAA identify the theaters where unauthorized recordings of movies are being made. Steganography is also used in laser printers, to help the FBI identify the origin of printed documents.

      Like cryptography, steganography is not just limited to keeping your information private or to fighting censorship.
      • Wouldn't some statistical analysis of video records from N theaters (to reduce/weed out the differences), combined with some added random noise (for those more obscure, note CAMing does this) yield a video that has no discernible hidden info?

        • As far as I know, the watermark is placed in different frames for different theaters, which would make averaging attacks difficult. The watermarks are pretty resilient to noise -- they can be detected even when a cheap video camera is pointed at the screen in a movie theater -- and the amount of noise that would have to be added in order to kill the watermark would result in an unacceptable quality even for people who sell illegal DVDs on the streets. This is not your run-of-the-mill "put data in the low
          • Two different theaters with two different sets of watermarks. Run them through a digital comparison and filter away the differences?

            • You're dealing with two different camcorder recordings off a projection screen, and looking for differences at individual frames somewhere in a 90 minute movie. There's a hell of a a lot of difference as a baseline. For DVD screeners, though, that could work.

            • Re: (Score:3, Informative)

              by Anonymous Coward

              Last I heard it was done using slight timeframe modifications, one part of a movie playing slightly faster / slower with a pattern of fluctuations, not noticeable to somebody watching the movie, but measurable in a recording regardless of the quality of that recording.

              Different segments for different theatres, with some overlap, not immediately obvious, and causes havoc if trying to digitally combine the output, especially if you're dealing with non-digital projection in the first place which is going to ad

          • Let me rephrase "statistical analysis". Oh, and I'm now assuming a watermark is an image overlaid on one or more frames (this is what I get from what you wrote). The watermark is of specific shape so as to identify the specific theater that a certain video was given to. Now, consider this: I take videos from 2 theaters, and compare them with one another - say, subtract the values of each pixel in one frame from another; I should get all black frames. Anything other than identical (black frame) is a watermar

            • by Anonymous Coward

              Watermarks are usually frequency encoded rather than magnitude encoded. For example, a DCT or DWT will be used to transform both the host image and watermark into frequency components and then combined together. After using the inverse transform, the watermark data is redundantly smeared all over the frame which protects against most types of "attacks" Attacks being loss of resolution, noise, re-compressing, clipping of frame, marks across the frame, etc. Even with the attacks, up to a certain threshold,

              • But wouldn't a simple comparative analysis between two distinct sources reveal the frames most likely to contain the watermark, which can then be dropped or replaced with a 'morph' between the previous frame and the next frame?

                Of course if the watermark is encoded in every frame, this is not an option...

                • by cffrost ( 885375 )

                  But wouldn't a simple comparative analysis between two distinct sources reveal the frames most likely to contain the watermark, which can then be dropped or replaced with a 'morph' between the previous frame and the next frame?

                  Dropping/morphing could reveal the locations from which watermarked frames were removed/replaced, which could be used to identify source(s) used. To avoid this, you'd need to be able to distinguish which of the two frames is unmarked; likely possible, but nearly guaranteed with three sources.

                  Of course if the watermark is encoded in every frame, this is not an option...

                  If you had two sources that contained full-frame marks on every frame, I think that averaging would produce a cleaned video. However, the presence of a unmarked frame(s) in either source, averaged with another source's

      • Re:A sad necessity (Score:5, Interesting)

        by EdIII ( 1114411 ) on Wednesday November 16, 2011 @10:01PM (#38081592)

        Except this is not steganography. Not exactly. It is a lot more complicated and highly unlikely to work.

        RTP streams can carry multiple data streams. That's how voice and audio can be sent in the same connection. The summary implies that additional RTP streams are added, which is not steganographic at all. The additional streams are easily detected. It is as much steganographic as alternate data streams are in Windows files.

        However, reading the article indicates something completely different from the summary. This method is not taking advantage of alternate/additional RTP streams at all. It is choosing different codecs based on a complex mapping pattern known only to the sender and receiver. The difference must allow the newly compressed, and transcoded, stream to contain extra hidden data without altering the expected size.

        1) Not all VOIP systems use different codecs. It is not really required. My own systems use g729 exclusively from the handsets/deskphones/softphones all the way to termination and origination providers. Without a robust codec library the number of variations here is pretty low. Not to mention both sides would have to support it.
        2) This assumes the RTP traffic is encrypted. Which means you are only using steganography as an additional layer of security.
        3) If the RTP traffic is in plain text.... this makes it that much easier to defeat. If you were expecting a jpeg file, but upon inspection, found a bmp file, would you not suspect something? This method seems to rely on saying you are using one codec but choose another one. That would seem to be trivial to verify as a 3rd party intercepting packets.

        The whole idea is not very workable since the value of codecs is their ability to preserve audio quality, work around iffy connections, and achieve a smaller transmission footprint.

        • by e9th ( 652576 )
          I think you've hit the nail on the head. Any decent large-scale eavesdropping facility like, oh, I don't know, the one the NSA is building in Utah [gcn.com] will be scanning VoIP traffic for audible triggers ("bomb" "whitehouse" "boom") and will certainly notice when the nominal codec doesn't match the payload. Such traffic will certainly be flagged for closer inspection.
      • Suddenly I see a use for all the homemade printers I see on maker blogs like Hackaday...
  • by account_deleted ( 4530225 ) on Wednesday November 16, 2011 @08:40PM (#38080918)
    Comment removed based on user account deletion
  • by BenGL ( 810895 ) on Wednesday November 16, 2011 @08:41PM (#38080924)

    From what I understand, steganography works if an observer (Carl) cannot tell that transmission of covert data is taking place between Alice and Bob. The proposed method results in an RTP bitstream that does not hold the payload advertised in its headers -- the audio is compressed using a more efficient codec than advertised in the packet headers, and the extra space is used to carry the "hidden" payload; Alice and Bob agree beforehand on the audio codec to use.

    Now if Carl wants to eavesdrop on the conversation by hijacking (or owning) an intermediary network node, he would get corrupted audio data when trying to decode the packets with the (fake) advertised codec. Wouldn't this be a strong indication that covert communication is taking place?

    • Now if Carl wants to eavesdrop on the conversation by hijacking (or owning) an intermediary network node, he would get corrupted audio data when trying to decode the packets with the (fake) advertised codec. Wouldn't this be a strong indication that covert communication is taking place?

      It would seem so. I would think that a better way of doing steganography would be to hide data in the audio itself, or in details of the encoding.

      • It would seem so. I would think that a better way of doing steganography would be to hide data in the audio itself, or in details of the encoding.

        Right, which is already known how to do. You'd just need to apply enough forward error correction to survive the codec. Ideally, you'll embed already encrypted and compressed data so it looks like noise.

        Actually, hrm, are there any cryptographically secure FEC methods?

    • by wierd_w ( 1375923 ) on Wednesday November 16, 2011 @11:01PM (#38081948)

      The better approach would be to preprocess the audio signal of the conversation through another device (such as the handset itself) which normalizes the audio in a fashion tailored to the advertised codec. The idea being that the resulting bitsream will obey certain predictable rules. (You need to have very detailed knowledge of the codec used, but that shouldn't be seen as a barrier.) Your steganographic payload makes subtle, but permitted changes to the encoded audio data to disrupt this predictable ruleset. Your message is thus folded into the bitstream using the mathematically freed bandwidth of the "noisy" audio channel. (Once you remove the normal audio signal, the difference bits are the secret message.) To the interceptor, the codec uses the correct bandwidth, uses the correct codec, and is easily played by that codec.

      For a simplified example, say we have gzip'ed pcm audio, in the 44100khz,16bit,stereo flavor. The preprocessor makes all the pcm samples an even multiple of 2. This frees up a portion of the channel for data, by having an understood second codec that encodes say, RLL data into a series of single bit additions to the samples (making them odd values instead of even ones.)

      The pcm decoder will play the steganographed audio file without any noticable signal (single bit manipulations are too small to be detected by human ears). The secret message codec looks at all the samples, records a bit pattern of even or odd, and then decodes the resulting RLL pattern, recovering the message.

      More sophisticated codecs would require more sophisticated preprocessing of the raw audio, but the idea is still potentially employable.

    • by jenic ( 1231704 )
      I've always wondered why Alice and Bob are so secretive.
      • by wierd_w ( 1375923 ) on Thursday November 17, 2011 @01:53AM (#38082696)

        That's easy.

        Alice is secretly a BDS&M dominatrix, into humiliation, flagellation, and golden showers. She also is president of the knitting club, and a well respected member of her local orthodox church.

        Bob is secretly a masochist with a diaper fettish, and gay bestiality, and also the mayor who has openly critised alternative lifestyles to appease the conservative demographic of his constituency.

        Eve is the reporter for the local tabloid, who suspects Alice and Bob of shennanigans, since they seem to spend inordinate amounts of time together, and always seem to be missing or unavailable at the same times. Hopes to gain subversive access to the private correspondences of Alice and Bob as part of her scoop. .........
        That's aways the way I envisioned the "alice, bob, eve" scenario anyway...

    • Any time you see Alice and Bob are trying to communicate, you know they're up to no good. Every text book on security tells you so!
  • Speaking of which... (Score:5, Interesting)

    by ADRA ( 37398 ) on Wednesday November 16, 2011 @08:45PM (#38080962)

    I was thinking that a way of sending hidden messages between two locations (assuming a reasonably reliable network), one could introduce send messages by controlling the rate of the replies in a predictable manner (using ECC and varying transition timings for error rate compensation).

    Another simple one would be with TCP/UDP in forcing out of order packets for positive/negative bit representation and similar correction routines as above.

    Both hidden message systems are slow to send any substantial amount of information, but I can't see a reasonable approach to intercept without a full dump of the entire packets and timestamps which is more laborious than just the session data contents (assuming one is ManInTheMiddle). Further security on the payload as necessary, but the transmission of the message itself is hard detect.

    • Easier way to do encryption:

      dd if=/dev/urandom bs=1k count=700000 | mkisofs -o - | cdrecord -v -pad dev=(your device)

      Make a copy for your friend.

      Send all your stuff encrypted with a one time pad composed of a random length and offset based on numbers on some public site - temperature in Madrid, the # shares sold on the Dow, etc.

      Obligatory xkcd comic applies, of course.

      • by rthille ( 8526 )

        Even better, run the command twice, keeping one CD for you and sending the other to your friend!

    • I was thinking that a way of sending hidden messages between two locations (assuming a reasonably reliable network), one could introduce send messages by controlling the rate of the replies in a predictable manner (using ECC and varying transition timings for error rate compensation).

      This is a well known covert channel that has been covered in many security engineering books. One of the design principles for military computer networks is to keep the bandwidth of such a channel below 1 bit per second, although for very sensitive data it may need to be even lower.

      • This is a well known covert channel that has been covered in many security engineering books. One of the design principles for military computer networks is to keep the bandwidth of such a channel below 1 bit per second, although for very sensitive data it may need to be even lower.

        Of course that type of leakage rate limiting defense can lose its effectiveness when dealing with encrypted data. If the encrypted data is output and can be recorded then all the bad guys need to sneak out is the corresponding k

    • Out of order won't be very reliable, since there's no telling the Internet won't shuffle up your order a bit more.
  • by Anonymous Coward on Wednesday November 16, 2011 @09:07PM (#38081150)

    Most used codecs use some internal ECC, so filling RTP packets with your data will be easily recognized.
    Another approach would be doing FFT on decoded audio. Codecs tend to produce wideband noise with random data and that is very different from usual speech frequency response.
    Much better method would be using LSB bits in codec to transfer message. It would result in slight differences in pitch or other parameters, but it would be almost undetectable.

  • for robbed-bit signalling back.

  • This is only noteworthy or nonobvious if you only have a basic understanding of computers. RTP allowed extension headers, and IPv4 does as well so you could embed extra data for almost any type of traffic on the Internet.

  • VoIP datagrams are intentionally small in the order of 10 - 20 bytes. VoIP uses UDP because it is a fast and efficient protocol. These datagrams are small so that if there is loss, there is minimal interruption of the real-time voice stream. You may hear nothing or a small blip. Adding overhead to the rtp stream by increasing the payload size defeats the quality of the voice transmission. The major concern of VoIP is sound quality, hiding data inside an rtp stream will do the opposite of exactly what the i
  • by formfeed ( 703859 ) on Thursday November 17, 2011 @01:41AM (#38082656)
    Women have been hiding messages in voice streams in like forever.
    • Some problems with that technology: S/N ratio so very low, device become erratic and potentially dangerous a few days a month and then leaks biohazardous fluids, very high maintenance costs, increasingly frequent nag messages displayed to upgrade from trial package to lifetime support contract with total vendor lock-in (Girlfriend 0.5 -> Wife 1.0)

      I'm a victim, save yourself!
    • Well, if you're going to talk like that, then I guess you need to think about what's really important for you.

  • by quetwo ( 1203948 ) on Thursday November 17, 2011 @09:09AM (#38084484) Homepage

    Ummm.... This is what SIP was designed for, right? I mean, not really hiding, but passing messages along with a phone conversation?

    But SIP aside, the other major VoIP protcol, H.323 allows for MISC messages of varing length with the packet as well. Oh, and if you are talking only about only encoding the message within the codec, G.722k allows for 4k per packet to be as "RESERVED, SPECIAL USE", which isn't apart of the voice stream.

    And if they are talking about encoding messages in video, the MPEG standards which I believe are using allow for TEXT data withing the streams (or completely hidden streams all together).

  • Communicating via VoIP?! NO WAI!!

    MacGyver Gets Lazy [xkcd.com]

It is easier to write an incorrect program than understand a correct one.

Working...