All posts
Ethical Hacking

How Information Gets Hidden: Steganography and Covert Channels Explained

How data is concealed inside ordinary images, files, and network traffic — steganography, covert channels, and the detection techniques defenders use to catch it.

SKSushan Khadka
January 1, 2025 (1y ago)5 min read
How Information Gets Hidden: Steganography and Covert Channels Explained — article by Sushan Khadka (namelessnerd)

Encryption hides what a message says. Steganography hides that a message exists at all. The two are often confused, but they solve opposite halves of the same problem — and understanding the second is how defenders catch data walking out the door disguised as a cat photo.

How Information Gets Hidden: Steganography and Covert Channels Explained - by Sushan Khadka (namelessnerd)

Encryption vs steganography

Picture two ways to protect a note. Encryption puts it in a locked box: anyone can see there is a box, they just can't read what's inside. Steganography slips the note inside the spine of an ordinary book on a shelf of a thousand books: nobody even knows there is a note to look for.

That difference is the whole point. Encrypted traffic is conspicuous — a firewall sees a blob of ciphertext and knows secret data is moving, even if it can't read it. Steganography aims for plausible deniability: the carrier looks completely normal, so no alarm ever fires. Sophisticated actors combine them — encrypt first, then hide the ciphertext — so that even if the hidden channel is discovered, the payload is still unreadable.

LSB: hiding data in the pixels

The textbook technique is least-significant-bit (LSB) encoding in images. Every pixel in a photo is a set of colour values, each a number from 0 to 255. Flip the very last bit of that number and the colour shifts by one shade — a change no human eye can perceive. A red value of 10110010 becomes 10110011; the pixel looks identical.

But that one imperceptible bit per colour channel is a place to store a bit of secret data. A single multi-megapixel photo has millions of pixels, so it can carry a substantial hidden message across all those spare bits, and the image still looks exactly like the original vacation snapshot. Read the last bit of each value in order and you reconstruct the payload.

This is why lossless formats matter to the technique: PNG and BMP preserve every bit, so LSB survives. JPEG's lossy compression rewrites those exact values and destroys naive LSB data — so steganography in JPEGs works differently, hiding data in the frequency-domain coefficients that compression keeps rather than in raw pixels.

Beyond images

Pixels are just the famous example. The same idea — exploit redundancy in a carrier nobody inspects closely — appears everywhere:

Why this matters to defenders

This is not academic. DNS tunnelling and image-based steganography are real exfiltration paths used to sneak stolen data past firewalls and data-loss-prevention tools, precisely because the traffic looks legitimate. A DLP system tuned to spot credit-card numbers in outbound email sees only a normal PNG upload or a burst of DNS lookups. Malware also uses steganography for command-and-control, pulling instructions hidden inside images posted to public sites that no blocklist would ever flag.

Understanding the technique is the entire basis for detecting it. You cannot defend against a channel you don't know exists.

How defenders catch it

Hidden data is not invisible to statistics, even when it's invisible to the eye:

The takeaway

Read more posts