Steganography tools
A steganography software tool allows a user to embed hidden data inside a carrier file, such as an image or video, and later extract that data.
It is not necessary to conceal the message in the original file at all. Thus, it is not necessary to modify the original file and thus, it is difficult to detect anything. If a given section is subjected to successive bitwise manipulation to generate the cyphertext, then there is no evidence in the original file to show that it is being used to encrypt a file.
Architecture
Carrier
The carrier is the signal, stream, or data file into which the hidden data is hidden by making subtle modifications. Examples include audio files, image files, documents, and executable files. In practice, the carrier should look and work the same as the original unmodified carrier, and should appear benign to anyone inspecting it.Certain properties can raise suspicion that a file is carrying hidden data:
- If the hidden data is large relative to the carrier content, as in an empty document that is a megabyte in size.
- The use of obsolete formats or poorly-supported extensions which break commonly used tools.
There is a weaker requirement that the embedded message not change the carrier's statistics such that the presence of a message is detectable. For instance, if the least-significant-bits of the red camera-pixel channel of an image has a Gaussian distribution given a constant colored field, simple image steganography which produces a random distribution of these bits could allow discrimination of stego images from unchanged ones.
The sheer volume of modern and inane high-bandwidth media provides ample opportunity for covert communication.
Chain
Hidden data may be split among a set of files, producing a carrier chain, which has the property that all the carriers must be available, unmodified, and processed in the correct order in order to retrieve the hidden data. This additional security feature usually is achieved by:- using a different initialization vector for each carrier and storing it inside processed carriers -> CryptedIVn = Crypt
- using a different cryptography algorithm for each carrier and choosing it with a chain-order-dependent equiprobabilistic algorithm
Robustness and cryptography
Steganography tools aim to ensure robustness against modern forensic methods, such as statistical steganalysis. Such robustness may be achieved by a balanced mix of:- a stream-based cryptography process;
- a data whitening process;
- an encoding process.
Strong steganography software relies on a multi-layered architecture with a deep, documented obfuscation process.
Carrier engine
The carrier engine is the core of any steganography tool. Different file formats are modified in different ways, in order to covertly insert hidden data inside them. Processing algorithms include:- Injection
- Generation
- Ancillary data and metadata substitution
- LSB or adaptive substitution
- Frequency space manipulation
Tools comparison
Program | Image files | Audio files | Video files | Document files | Other support | Notes |
Anubis | BMP, JPEG | ? | ? | ? | Data being appended to the end of file | Open Source |
BMPSecrets | BMP, JPEG, TIFF, GIF | - | - | - | - | - |
DarkCryptTC | BMP, JPEG, TIFF, PNG, PSD, TGA, MNG | WAV | - | TXT, HTML, XML, ODT | EXE, DLL, NTFS streams | RSD mode, AES encryption supported |
DeepSound | BMP | Audio CD, APE tag, FLAC, MP3, WAV, WMA | - | - | - | AES 256-bit encryption |
ImageSpyer G2 | BMP, TIFF | - | - | - | - | RSD algorithm implemented, plugin for Total Commander |
MP3Stego | - | MP3 | - | - | - | Open source |
Mr. Crypto | BMP, PNG, TIFF | - | - | - | - | Freemium; interface on English, Russian and Ukrainian; AES and TripleDES encryption. Using Least Significant Bit for data hiding. |
OpenPuff | BMP, JPEG, PNG, TGA | MP3, WAV | 3GP, MP4, MPEG-1, MPEG-2, VOB, SWF, FLV | - | Open source, 256-bit multi-encryption, Carrier chains, Multi-layered obfuscation | |
OpenStego | BMP, PNG | - | - | - | - | Open source |
OutGuess | JPEG, PNM | - | - | - | - | Free Software |
Outguess-rebirth | JPEG, PNM | - | - | - | - | Portable freeware Windows |
PHP-Class StreamSteganography | PNG | - | - | - | - | - |
QuickStego / QuickCrypto | BMP, JPEG, GIF | - | - | - | - | Windows XP, Vista, 7 |
Red JPEG | JPEG | - | - | - | - | XT for Total Commander, LZMA compression, PRNG-based masking and distribution |
S-Tools | BMP, GIF | WAV | - | - | Unused floppy disk space | - |
Steg | BMP, PNG, JPEG, GIF | - | - | - | - | Symmetric and asymmetric key cryptography, runs on Win/Linux/Mac |
StegaMail | BMP, PNG | - | - | - | - | 56bit encryption, zLib compression |
Steganographic Laboratory | BMP, PNG, JPEG, TIFF | - | - | - | - | Open source |
Steganography Studio | BMP, PNG, GIF | - | - | - | - | Different hiding methods, Open source |
BMP, PNG, JPEG, GIF | - | - | - | - | Free online tool using AES CBC 256 bit encryption with PBKDF2 key derivation | |
SteganPEG | JPEG | - | - | - | - | Windows XP, Vista, 7 |
StegFS | - | - | - | - | Steganographic file system for Linux | - |
Steghide | JPEG, BMP | WAV, AU | - | - | - | Open source |
Stegonaut | - | MP3 | - | - | - | Open source, AES 256-bit encryption |
StegoShare | BMP, JPEG, PNG, GIF, TIFF | - | - | - | - | Open source |