the art and science of writing hidden messages Steganography Dr. Frank Li Steganography στεγανός γραφία covered writing the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message Steganography in Ancient Greece -- Tattoo message on head An ancient Greek historian Herodotus reports that messages were tattooed onto the shaved heads of slaves. Once the hair grew back, the slaves were sent to the recipient, with the message hidden “in plain sight”. Steganography in World War I -- Null Cipher The message below was sent by the German embassy in World War I. PRESIDENT'S EMBARGO RULING SHOULD HAVE IMMEDIATE NOTICE. GRAVE SITUATION AFFECTING INTERNATIONAL LAW. STATEMENT FORESHADOWS RUIN OF MANY NEUTRALS. YELLOW JOURNALS UNIFYING NATIONAL EXCITEMENT IMMENSELY. Taking the first letter in each word of message reveals the hidden text: PERSHING SAILS FROM NY JUNE 1. Steganography in Espionage -- Invisible ink Spies use milk, fruit juice or urine as invisible inks, which darken when heated. An FBI agent is shown using ultraviolet light to read secret writing on a paper from a suspected spy case Steganography in Modern Days • Digital media lend themselves to steganography because of the large amount of information in certain file types • Steganography Carrier Files: – – – – – – bmp jpeg gif wav mp3 Amongst others… Steganography Terminology Carrier File Carrier File with Hidden Message Some Steganography Tools • • • • • • • • Steganos S-Tools (GIF, JPEG) StegHide (WAV, BMP) Invisible Secrets (JPEG) JPHide Camouflage Hiderman And many others… (We will try it today …) RGB Color Model in Image Files • red, green, and blue light are added together in various ways to reproduce a broad array of colors. (0, 0, 0) is black (255, 255, 255) is white (255, 0, 0) is red (0, 255, 0) is green (0, 0, 255) is blue (255, 255, 0) is yellow (0, 255, 255) is cyan (255, 0, 255) is magenta A Common Technique of Steganography -- LSB • The simplest and most common type of steganography is LSB (least significant bit). The one’s bit of a byte is used to encode the hidden information. • Suppose we want to encode the letter A (ASCII 65 or binary 01000001) in the following 8 bytes of a carrier file. 01011101 11010000 00011100 10101100 11100111 10000111 01101011 11100011 becomes 01011100 11010001 00011100 10101100 11100110 10000110 01101010 11100011 Left image is original JPEG file Right image is with hidden message Steganography Application -- UV Watermarking Steganography Tools A list of over 100 steganography tools: http://www.jjtc.com/Steganography/toolmatrix.htm Some of them run in Linux platform • JPHS (JPHide JPSeek, JP hide and seek) http://linux01.gwdg.de/~alatham/stego.html • Steghide • Outguess • Blindside • Gifshuffle • GzSteg • Etc. Steganalysis • Steganalysis is the counter-measure against steganography. – Attempts to analyze a data stream to determine whether or not it contains hidden messages. In Conclusion … Steganography is really cool – It’s fun to play with – Easy to implement but fairly effective. – Obviously has a lot of good and bad applications, as with an technology.