📚 1. Fundamentos Teóricos
• Criptografia esconde o significado de uma mensagem (embaralha os dados para que apenas quem tem a chave possa entender). Qualquer um sabe que há uma mensagem.
• Esteganografia esconde a própria existência da comunicação (oculta os dados dentro de um objeto hospedeiro inocente, como uma imagem, áudio ou vídeo).
• A melhor prática: Unir as duas! A esteganografia oculta a existência do canal, e a criptografia com senha (ex: AES-256) garante a confidencialidade mesmo se a técnica for descoberta.
Origem Histórica:
A palavra vem do grego steganos (protegido/oculto) e graphein (escrita). Na Antiguidade, mensagens eram tatuadas no couro cabeludo raspado de mensageiros; após o cabelo crescer, o mensageiro viajava insuspeito. Na era digital, os "cabelos" são os bits imperceptíveis dos arquivos multimídia.
🎨 2. Técnica LSB (Least Significant Bit)
Em imagens digitais coloridas de 24 bits, cada pixel é composto por 3 canais de 8 bits: Vermelho (R), Verde (G) e Azul (B). Cada canal varia de 0 a 255.
Considere um canal de cor com valor
204 (em binário: 11001100).O bit mais à direita é o Bit Menos Significativo (LSB), valendo apenas 1.
Se trocarmos esse último bit de 0 para 1, o valor muda para
205 (11001101).A diferença na cor de 204 para 205 é de apenas 0,39% — completamente invisível ao olho humano!
Por que usar formatos sem perdas (Lossless como PNG ou BMP)?
Formatos como PNG e BMP preservam com precisão matemática o valor de cada pixel. Já o formato JPEG utiliza compressão com perdas (Lossy DCT e quantização). Se você salvar em JPEG após alterar os LSBs, o algoritmo do JPEG descartará pequenas variações de alta frequência, destruindo a mensagem oculta!
Métrica de Qualidade: PSNR (Peak Signal-to-Noise Ratio)
O StegoLab calcula o PSNR em decibéis (dB) entre a imagem original e a imagem esteganográfica. Valores acima de 40 dB indicam que a qualidade é praticamente indistinguível do original. No StegoLab, a substituição de 1 bit alcança tipicamente entre 55 dB e 70 dB!
📁 3. Técnica EOF Injection (Anexação / Polyglot)
Softwares visualizadores de imagens (como navegadores, visualizadores do Windows/Linux) leem os bytes de um arquivo a partir do início e param a leitura no momento em que encontram o marcador oficial de término do formato (End-Of-File).
• JPEG: Termina com a sequência hexadecimal
FF D9 (marcador EOI - End of Image).• PNG: Termina com o bloco
IEND seguido pelo seu CRC-32.• GIF: Termina com o byte
3B (ponto e vírgula).• PDF: Termina com o marcador
%%EOF.
Se anexarmos dados extras após esse marcador, o visualizador simplesmente ignora os dados excedentes e renderiza a imagem normalmente! No entanto, o sistema de arquivos do computador e ferramentas forenses sabem que o arquivo tem um tamanho maior.
💻 4. Práticas no Terminal Linux
Você pode testar esses mesmos conceitos utilizando comandos nativos do terminal:
Prática A: Criando um Polyglot JPEG + ZIP com o comando cat
Prática B: Investigando com Hexdump e Strings
Prática C: Utilizando a CLI oficial do StegoLab
🏆 5. Desafios Práticos (Exercícios para a Turma)
Objetivo: Baixe o arquivo paisagem.png da aba 'Amostras'. Use a aba 'Ocultar em Imagem (LSB)' para esconder a frase: "A esteganografia protege a privacidade." sem senha. Em seguida, troque a imagem com um colega de turma e peça para ele extrair a mensagem na aba 'Extrair & Revelar'.
Objetivo: Oculte uma mensagem confidencial usando uma senha forte (ex: Aluno#2026!). Peça para o colega tentar extrair sem senha ou com uma senha incorreta. O que o sistema responde? Por que a combinação de LSB + AES-256 é superior a apenas LSB?
Objetivo: Na aba 'Arquivo dentro de Arquivo', mescle a foto hospedeiro.jpg com o arquivo desafio_secreto.txt protegido por senha. Em seguida, submeta o arquivo na aba 'Análise Forense & Entropia'. Observe o alerta de bytes excedentes após o marcador FF D9!