Slashdot Mirror


Hiding Secrets With Steganography On FreeBSD

BSD Forums writes "Bad guys in the movies all keep their wall safes hidden behind paintings. Is there a metaphor in there for your sensitive files? OnLamp's Dru Lavigne explores steganography, or hiding secret messages in images or sounds, with the outguess and steghide utilities on FreeBSD."

46 of 424 comments (clear)

  1. BSD isn't dying... by Anonymous Coward · · Score: 4, Funny

    ...people just think it is because it hides itself very well. ;-)

  2. makes you wonder... by akaina · · Score: 5, Funny

    Makes you wonder what the demon is hiding

    --
    Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose.
    1. Re:makes you wonder... by dipipanone · · Score: 4, Funny

      <Darl McBride>
      I'll tell you what the Demon is hiding -- our intellectual property, fer cryin' out loud.

      Boies? I hope you're getting all this. The damned open source, heathen, communist hippies are deliberately flaunting their ability to conceal the code they've ripped off in an image of some goddamned devil. If that isn't proof enough of a conspiracy to rip us off, I don't know what is!
      </Darl McBride>

  3. Is this limited to FreeBSD only? by Wigfield · · Score: 4, Interesting

    I'd be interested to know if this is just a BSD thing or if I can run these apps on Linux or Windows.

    1. Re:Is this limited to FreeBSD only? by mlk · · Score: 5, Informative
      --
      Wow, I should not post when knackered.
    2. Re:Is this limited to FreeBSD only? by SkyMunky · · Score: 4, Informative

      also check out http://camouflage.unfiction.com

    3. Re:Is this limited to FreeBSD only? by criquet · · Score: 5, Informative

      I just compiled the source on Linux and it appears to work just fine.

    4. Re:Is this limited to FreeBSD only? by TedCheshireAcad · · Score: 4, Interesting

      I'm probably gonna get modded down for this, but:

      Please, please, please, avoid steganography and use standard cryptography if you want to protect data. Steganography's security lies in the idea that if you conceal the method with which data is obscured, you conceal the data. This is a very bad way to assume security. In any data protection scheme, you should always assume your enemy has the algorithm used to obscure the data, but that only you have the secret (key).

      I do realize that steganographic techniques now will encrypt data then insert the encrypted bytes into the image, but if it is so easy to extract the steganographically encoded information, what's the point of encoding it in the first place? Differential steganalysis seems to be an easy enough method of finding steganographically encoded data, so recovering the information encoded into an image or whathaveyou is somewhat of a trivial problem, and if there is a trivial step in your data protection scheme, it should just be removed, because it's pointless.

      Kerkhoff must be rolling in his grave.

    5. Re:Is this limited to FreeBSD only? by Rebar · · Score: 5, Insightful

      One facet of data security is deniability. Which would you rather the Department of Homeland Security find on your hard drive:
      /documents/plan_for_world_domination.pgp
      or
      /wallpaper/cute_puppies.png?

      A securely encrypted message, hidden in a file with ostensibly another purpose, such that there is no way to prove the existence of the hidden message would keep anyone from telling you: "Reveal the secret key to this obviously encrypted file, or face contempt of court and an automatic prison sentence."

  4. Hiding pr0n? by Realistic_Dragon · · Score: 4, Interesting

    I used to use this kind of thing to hide certain, ahem, suspect images on the Acorn machines at school.

    Of course being an adult now it's not as required, but I suppose it might be able to hide offensive pr0n images inside more innocent ones - so that anyone looking finds pretty mild things and stops there, without being able to find things that would get you looked at oddly in church :o)

    --
    Beep beep.
    1. Re:Hiding pr0n? by Ayaress · · Score: 4, Interesting

      An interesting technique for hiding "questionable content" on your computer is to zip it up and rename the file something like syskrnl32.dll or winld64.sys or something important-sounding, then putting it in c:\windows\system. Back in the days of windows 3.11, I could go into DOS and do an attrib +d on it, but they seem to have taken the d attribute out since Windows 95.

  5. Stego is so old news by Anonymous Coward · · Score: 5, Funny

    I've been using it for years, posting messages like "allah is great" on Fark photoshop contests.

    Just raising the background chatter to a dull roar.

  6. Good stuff, but... by VargrX · · Score: 5, Interesting

    my problem wrt steganography is that it 'feels' more like security through obscurity than an actual cryptographic regime (ala gpg encrypted attachments, etc). Other than that, neat stuff.

    --
    Sometimes people just have to learn and adapt to change, it is one of the requirements of being a living thing.
    1. Re:Good stuff, but... by Realistic_Dragon · · Score: 5, Interesting

      You can always encrypt first then hide later.

      Security through obscurity is fine _as an additional layer_ - can't even begin to decrypt something you can't find.

      --
      Beep beep.
    2. Re:Good stuff, but... by ReTay · · Score: 4, Interesting

      Well again this falls on the user.
      When I Steg an image I encrypt the text first then plant it into the picture.
      Even if you figure out that the image has been Stegged you won't know if you get the
      Method I used to put it in because you can't read it. But all the receiver needs to do is use the correct decoding in Steg and then un encrypt the images. You may be able to tell there is something in the picture but reading it is another matter.

    3. Re:Good stuff, but... by Lumpy · · Score: 4, Interesting

      all of this are nothing more than really old hacker tricks and tips.

      The results of my wardialing from payphones or my list of machines/users/passwords was always only on removeable media, encrypted, and then simply hidden in gif files.

      Back then the Feds and the other goons that you heard harassing others or trying to jail them were not savvy/smart enough to dig very deep. Hell we use to openly trade information in Gif files on a national BBS, although we did get sloppy. The more naked the chick in the picture, the better the info was inside it with one exception... targets we were after were in the "ugly" files.

      --
      Do not look at laser with remaining good eye.
    4. Re:Good stuff, but... by Frymaster · · Score: 4, Funny
      it's like the army.

      you put your soldiers in armoured transports... but they still wear camoflauge!

    5. Re:Good stuff, but... by jxs2151 · · Score: 4, Interesting
      Here's the deal with encrypting with PGP (GPG, etc.):

      It leaves a telltale header "-----BEGIN PGP MESSAGE-----"

      This makes it very easy to find encrypted messages as you can apply a simple filter.

      One of the benefits of steganography is that is looks like a JPG file being emailed or a JPG(PNG) sitting there on a website. Without very special software there is no easy way of even knowing that the picture of grandpa on the tractor is anything but a picture of grandpa on the tractor.

      When I was playing with it, I would encrypt the text using PGP then embed it in a image using JSteg. It was fun but not particularly useful since nothing I had to say or email was worth anything to anyone important. Having said that, should (when) the revolution comes it will not be televised, it will be stegged so I'm keeping those skills.

    6. Re:Good stuff, but... by lpp · · Score: 4, Funny

      Except here, we're decorating the armored transport with camoflaged soldiers...or something. ;)

    7. Re:Good stuff, but... by dfay · · Score: 4, Interesting

      Cryptography IS security through obscurity... mathematical obscurity. You either choose a secret (a prime or a password) to encrypt something, or you choose a secret (which picture, which algorithm and settings) to hide something using stego.

      Basically, encryption is hiding a needle in a very large haystack, and stego is hiding a carefully disguised strand of hay in a not-so-big haystack. The end result is that similar attacks are required to break either scheme (theoretically), so from a conceptual point of view neither should be preferred over the other.

    8. Re:Good stuff, but... by jmv · · Score: 4, Insightful

      Not exactly. As someone suggested, it's possible to encrypt first, but the real advantage is that if done properly, nobody can even prove you sent a message. Even if the interceptor knows the steganography method, unless they have the key, they can't prove the last bits of your wav file is a secret message and not just normal noise from your microphone.

    9. Re:Good stuff, but... by Lord_Slepnir · · Score: 5, Funny

      Damn you. I just spend 10 minutes trying to decrypt goatse.cx

    10. Re:Good stuff, but... by Methuseus · · Score: 5, Funny

      Actually, it's more like painting the armored transport to look like an ice cream truck.

      --
      Two things are infinite: the universe and human stupidity, though I'm not yet sure about the universe. - A Einstein
    11. Re:Good stuff, but... by lysander · · Score: 4, Informative

      a) you can always strip these headers.
      b) you don't have to output to ascii armor. (although I'm certain that the resulting files still have a recognizable, openpgp compliant structure.)

      --
      GET YOUR WEAPONS READY! --DR.LIGHT
  7. The great thing about being disorganized... by TWX · · Score: 4, Funny

    ...is that no one else knows where to look to find things that might be sensitive. You can literally hide things in plain sight, but with the amount of crud stacked everywhere physically, and the amount of data strewn about with no apparent labelling (except for the porn of course), no one can actually tell what is important and what isn't.

    Of course, dates don't seem to understand the logic of living in an apartment that already looks like it's been rifled through.

    --
    Do not look into laser with remaining eye.
    1. Re:The great thing about being disorganized... by Lumpy · · Score: 4, Insightful

      you got modeed funny but this is a very useable and strong way of hiding. Not only files but attacks and most anything else.

      If I upload 500 photos a month to the net Each of them contain something in the photo (results of /dev/random in random lengths) and then I fire off one photo in a group of others that has real information, the chances of it being found or even noticed is lower than having a encrypted file cracked.

      I've seen this used many times and is used in nature by birds and fish...

      a school of 500 fish makes it impossible for a predator to single out one specific fish.

      --
      Do not look at laser with remaining good eye.
  8. Steg is fairly useful, but it is crackable by j0keralpha · · Score: 4, Insightful

    I use steg sometimes to pass messages i dont want out in plaintext or overtly encrypted, but it has to be passed in such a way that it isnt apparent that a message is there (i.e. email to brother 'See these pics of grandma!'). It is not a foolproof method, but its very useful when you realize you cant trust the encryption itself to hide the message.

  9. How come ... by DogIsMyCoprocessor · · Score: 4, Interesting

    BSD is mentioned 3 times in the post, while the utilities that actually do the work are only mentioned once? This is like titling a post "Processing Images with Filters on Mac OS X" and only mentioning once that you use Photoshop.

    --

    "And this is my boy, Sherman. Speak, Sherman." "Hello." "Good boy."

  10. No... by SuperBanana · · Score: 4, Interesting
    Bad guys in the movies all keep their wall safes hidden behind paintings

    No, bad guys in movies walk into the Rich Dude's house, immediately realize where the safe is, pull the painting away and get whatever's in the safe. How many times have we said that security through obscurity isn't security, and now we're all clamoring about obscuring data to make it safer.

    Data-wise, it seems like you'd need to be hiding a relatively small amount of data. Otherwise, you're like an elephant trying to blend in at an LA cocktail party.

    1. Re:No... by johndiii · · Score: 5, Insightful

      The analogy isn't security through obscurity, it's finding a better place than behind the painting to hide the safe. Or, perhaps more accurately, securing one's valuables in something that is not recognizable as a safe. If the burglar had to look at a thousand books to determine if even one of them had a secret compartment, it would be a much more effective security measure than a safe behind a painting.

      If you are using stegged files (they do not have to be images) to communicate with others, then you are hiding the channel. This is a potentially very useful mechanism against automated monitoring tools, particularly if the data is first encrypted. Isolated information in high-volume channels can be very hard to detect. Another use would be to help defeat traffic analysis.

      This is not to say that steganography is a magic means of information hiding. But it is one of the useful tools.

      --
      Floating face-down in a river of regret...and thoughts of you...
    2. Re:No... by Ayaress · · Score: 5, Insightful

      Keep in mind that the article said that hiding messages in images is NOT a great way to hide important stuff by itself, but that it could be used as a second layer of security. Lets have four people, shall we? They all run servers, and they all have an important file on there they don't want other people to find. Johnny keeps his file unencrypted and unhidden. Billy keeps his encrypted, but unhidden. Mike hides his in an mp3, but unencrypted. Joe hides his in a jpeg after encrypting it. Johnny's most likely to have his stolen, obviously. But Billy's file is more likely to be found than either Mike or Joe's, even though Mike's has no encryption on the file itself. Even though the person who took Billy's file doesn't have the information in it, finding it it one step closer to stealing it. Now, Mike and Joe are both considerably less likely to have this file found, unless the data theif expects them to hide it in a media file like this. On the off chance that the hacker DOES find the file, though, Mike's is as good as stolen, just like Johnny's. However, Joe is the most secure of the bunch. Not only is his file encrypted, but it's also hidden, meaning it's unlikely that the hacker will even get the encrypted version. They can't crack what they can't find. Even after what Johnny did, he can go furthur. Encrypt his password, hide the text in an image, rename the image to a .dll or .o and hide it in a system directory. Sure, it's not 100% secure, but it's better than leaving even the most secure file laying around.

  11. Really cool demo... by veecee_veecee · · Score: 5, Interesting

    This was my first exposure to a steganopraphy demo....Written by the author of a bunch of books on Computer Networks and Operating Systems... http://www.cs.vu.nl/~ast/books/mos2/zebras.html

  12. Bad Guys? by philovivero · · Score: 5, Interesting

    All the BAD GUYS hide their safes behind pictures? Is the metaphor you're trying to paint that BAD GUYS use steganography? The government propaganda wars are working. Newspeak is ingrained.

    Every citizen of these modern times is a criminal, and because everyone is a criminal, everyone should use steganography. Most criminals are not BAD GUYS, but instead, good loving parents, patriots, and friends to society. It no longer makes sense to equate criminal to BAD.

  13. Not so good.. by tr0llx0r · · Score: 5, Informative
    Stegdetect is an automated tool for detecting steganographic content in images. It is capable of detecting several different steganographic methods to embed hidden information in JPEG images. Currently, the detectable schemes are
    • jsteg,
    • jphide (unix and windows),
    • invisible secrets,
    • outguess 01.3b,
    • F5 (header analysis),
    • appendX and camouflage.
    Stegbreak is used to launch dictionary attacks against JSteg-Shell, JPHide and OutGuess 0.13b.
  14. Are there secrets in the opensource images? by ksheka · · Score: 4, Interesting

    First time I read the headline, I thought it was implying that there are secret messages in the icons/images that are part of the freeBSD installation. Which brings me to wonder: what prevents people from putting messages hidden in the KDE or Gnome icons and such?

    (Maybe a "If you can read this, you're too paranoid" sort of message in the Redhat splash picture?)

    --
    alias uptime="echo '5:33pm up 22342352324 days, 6:28, 2124315623 users, load average: 2432.40, 12312.31, 123123.19'"
  15. I wonder . . . by lavaface · · Score: 5, Interesting

    What happens if you edit the file in a graphic utility? Does it alter the hidden info? Destroy it? Do different actions (hue shift, paining-on-top) affect the outcomes?

    1. Re:I wonder . . . by The+Darkness · · Score: 5, Informative
      What happens if you edit the file in a graphic utility? Does it alter the hidden info? Destroy it? Do different actions (hue shift, paining-on-top) affect the outcomes?

      Of course.

      These utilities usually use bits that will not make a change apparent to a human observing the data with our normal senses (ie. the last bit in each color field) so obviously doing anything to change the bit pattern will destroy the message.

      --
      There are two kinds of people: 1) those that need closure
  16. why the old stuff? by Tom · · Score: 4, Interesting

    Why do we get articles about tools that are what? 3 years old?

    There is enough new and interesting (and better) stuff around. For example, rubberhose would've been much more interesting to read about.

    --
    Assorted stuff I do sometimes: Lemuria.org
  17. Examples of good steno-encryption by MURD3R3R · · Score: 5, Interesting
    The first and probably best steno-encrypted file I ever remember seeing was the first linux no-modchip hack for the XBOX, from http://xbox-linux.sourceforge.net/docs/007analysis .html

    It is a good read.

    Lies, Deceipt, and Trickery

    The rest of the hack does everything it can to hide itself. There are two major components to the disguise: the "fake" hack, and the JPEG image of Tux.

    Firstly the fake hack. The fake hack begins at offset 0xD00 in the game save. If you disassemble the game save, you are likely to notice that some interesting stuff begins there. It appears to be getting it's own address, turning off write protection in memory, patching the kernel, and calling XLaunchNewImage. There is some branching logic which seems to imply that it is patching the kernel in different ways, depending on the value of location 0x8001FFFF in memory. The patches even resemble those that certain modchips perform, some are even at the same offsets. The path to the linux xbe is noticeable as well, at offset 0xFD5.

    Upon initial inspection this code seems very plausible. When you look at it closer, there are a lot of inconsistencies. Firstly, the value being tested at 0x8001FFFF does not match up to any known kernels that I know of anyway. Secondly, a lot of the patches to the kernel are junk code and don't make any sense. Thirdly, there is no call to IoCreateSymbolicLink in order for the call to XLaunchNewImage to work. XLaunchNewImage checks to make sure that the path to the executable resides on the 'D:' drive to prevent applications being launched from the hard drive, and therefore only from the DVDROM drive. Without remapping \Device\Harddisk0\Partition1 to 'D:' using IoCreateSymbolicLink, there is no way for the kernel to find the default.xbe as specified.

    Secondly there is the Tux JPEG. Starting at offset 0x1080 in the game save is a JPEG image. This is obvious from the text JFIF which is present in all JPEG headers. If you extract out this block, you get a nice little picture of Tux. Seems like a harmless little addition by a linux fanatic. It is typical of linuxheads to stick stuff like this everywhere. In reality, the real hack is encrypted and stored in this image. The practice of storing data in images is known as steganography. Perhaps this doesn't count, as it stores the data in the header and not in the actual image data. It's still rather devious. We'll come back to the contents of the hidden data in a moment.

  18. Yeah, steganography by Scholasticus · · Score: 5, Funny

    I've been staring at this pictures of Jenny McCarthy for years now, trying to discover the steganographically hidden messages.

    That's what I told my girlfriend.

  19. Yes, except by Moderation+abuser · · Score: 4, Insightful

    In some countries you can go to prison for using cryptography, in other more enlightened countries you can go to prison for not handing over the keys when asked by the guys in jack boots or for talking about the fact that you've been raided.

    --
    Government of the people, by corporate executives, for corporate profits.
  20. Here's a link to a whole steg. file system: by Courageous · · Score: 4, Informative

    Any discussion of steganography is incomplete without this:

    http://www.mcdonald.org.uk/StegFS/

  21. Hiding messages in Pics of grandma by Hayzeus · · Score: 4, Funny
    I have found that you can increase the efficacy of this technique by changing the email subject to:

    "See these naked pics of grandma!"

  22. How? by ThePyro · · Score: 4, Interesting
    How could that that work reliably? Lets say I take a text message, then encrypt it (as all hidden messages should be). At this point, the encrypted bits of the message should closely resemble random noise - assuming the encryption scheme we used was good enough.

    Now I take the encrypted bits of the message (which already look a lot like random noise) and hide them inside the least significant bits of a bitmap file. Lets assume that I'm using a half-decent steganography tool here, and it distributes the bits of the message throughout the image in a psueudo-random fashion.

    So now we've got a stream of encrypted bits, which more or less resembles a stream of psueodo-random numbers. And we've sprinkled these bits all over the place inside the image, so they don't even appear together or in order.

    How does one go about detecting that there's a message in there, reliably? What distinguishes the [pseudo]randomly-distributed [psuedo]random-bits of the encrypted message from the background noise of the image?

    (I am assuming, of course, that the message we're trying to hide is relatively small - at most, 1 bit per byte in the image is modified. Much more than that is like trying to hide a tractor trailer behind a go-kart)

  23. Better compression = more difficult to hide... by Kjella · · Score: 5, Informative

    ...ironically, the better algorithms we get for compressing stuff, the more difficult it is to hide something. It gets really obvious if you start sending around BMPs or WAVs.

    Steganography detection is doing rather well - it simply realizes when the compression is "wrong", that is, if it would have been compressed better if there wasn't hidden info in the image.

    By the way, for legal purposes it might be just as efficient to use something like Bestcrypt's hidden container - it's a very smart, yet "dumb" form of steganography. You create an encrypted container, which has a key. Then you create a hidden container inside the encrypted container, with a different key. There's no way to detect the presence of a hidden container - it looks like random data in a container full of random data.

    If required by law to provide a key, provide the key to the outer container. When asked about a hidden container, go "What hidden container?" Even if it is very likely that there is one, there's no proof of that. Even the wackiest RIP bill doesn't require you to provide decryption keys to things that doesn't provably exist.

    Kjella

    --
    Live today, because you never know what tomorrow brings
  24. Obvious solution... by Lemmeoutada+Collecti · · Score: 4, Interesting

    Use reversable compression. Encrypt the cleartext, package it in a container (subcontained if desired), stga that into the BMP or WAV, compress using GIF/PNG/FLAC as required. Ship product to receiver, they uncompress (since the compression is lossless, no bits lost there), de-steg, decrypt, decrypt, viola recipe for brownies.

    Also tends to confuse the detectors, as they are not trying all (n) possible ways the file could have been compressed to look for steg data in the raw file, only looking at the compression errors in the current format.

    For every scheme, a crack, for every crack, a new scheme. What fun the merry go round is!

    --

    You can have it fast, accurate, or pretty. Pick any 2.