Este documento discute a esteganografia, que é a arte de ocultar arquivos dentro de outros arquivos. Apresenta exemplos históricos do uso da esteganografia, como mensagens escondidas em tatuagens ou micropontos. Também explica técnicas atuais de esteganografia digital, como esconder dados nos bits menos significativos de arquivos de imagem ou texto para camuflar informações.
Esteganografia: a arte de ocultar arquivos dentro de arquivos - Vanderlei Pollon
1. Esteganografia: a arte de ocultar arquivos dentro de arquivos
Vanderlei Pollon
Email: vanderlei@pollon.org
Website: www.pollon.org
1º Seminário de Software Livre Tchelinux - Edição Pelotas - 24 de março de 2007
2. Principais tópicos desta apresentação
Contexto onde a esteganografia está inserida
Exemplos antigos do uso da esteganografia
Exemplos atuais de uso da esteganografia não digital
Possibilidades futuras para a esteganografia não digital
Esteganografia em meios digitais:
Arquivos texto (.txt)
Arquivos de imagem (jpeg, jpg, bmp, png, gif, ...)
Arquivos de audio (mp3, wav, wma, ...)
Arquivos de vídeo (mpeg, avi, ...)
Pacotes TCP/IP
Arquivos binários e bibliotecas *
Sistemas de arquivos *
Ferramentas para esteganografia
Softwares para detectar esteganografia
Conclusão
➔
*não abordado neste trabalho devido à falta de tempo
Esteganografia: a arte de ocultar arquivos dentro de arquivos
3. Contexto onde a esteganografia está inserida
Criptologia = estudo da escrita escondida
Corrente 1: vê a esteganografia como um ramo da criptografia
Criptologia
Criptografia Criptoanálise
Códigos Cifras Esteganografia
●
Corrente 2: vê a esteganografia como uma ciência paralela à criptografia
Criptologia
Criptografia Criptoanálise Esteganografia Esteganálise
Esteganografia: a arte de ocultar arquivos dentro de arquivos
4. Primeiros registros de uso da criptologia
Criptografia
Século IV a.c. -> O Kama sutra recomenda às mulheres que estudem 64
artes. A arte de número 45 refere-se à escrita secreta baseada na
substituição usando transposição.
J K O M E X B V D R L Z H
F C Y A N I S P U Q T W G
ME ENCONTRE AO MEIO DIA => AN NEKYELQN MY ANXY UXM
Esteganografia
Século V a.c -> Histaiaeus, que era prisioneiro do Rei Davi, enviou,
tatuada em seu escravo, uma mensagem para seu cunhado Aristágoras de
Mileto. A mensagem incitava uma rebelião contra o rei persa.
Esteganografia: a arte de ocultar arquivos dentro de arquivos
5. Criptografia x esteganografia
Criptografia
O objetivo é permitir que apenas o destinatário da mensagem a decifre e
compreenda, portanto, a mensagem original é alterada e visível .
Na vida real: Alice deseja enviar uma mensagem a Bob. Alice e Bob
não confiam no mensageiro e o mensageiro sabe disso.
steganós = oculto, misterioso
Esteganografia
O objetivo é esconder a existência da mensagem. A mensagem original
não é alterada e é camuflada .
Na vida real: Alice deseja enviar uma mensagem a Bob. Alice e Bob não
confiam no mensageiro, mas o mensageiro não sabe disso.
Esteganografia: a arte de ocultar arquivos dentro de arquivos
6. Exemplos antigos de uso da esteganografia
Na china antiga escreviam-se as mensagens sobre seda fina, fazia-se uma
bolinha, envolvia-se a bolinha com cera e o mensageiro engolia a bolinha.
Na Grécia antiga faziam-se minúsculos furos em certas letras de um texto
para marcar o texto secreto.
No século XVI, Giovanni Porta descobriu uma maneira de escrever uma
mensagem em um ovo cozido.
No século XVIII os ingleses utilizaram a técnica de marcar letras (com
furinhos) em um jornal para evitar o pagamento das taxas de cartas.
Durante a Primeira Guerra Mundial os alemães também utilizaram a
técnica de marcar certas letras com um furinho.
Durante a Segunda Guerra Mundial os alemães marcavam as letras com
“tinta invisível”.
Escreve-se a mensagem com tinta “invisível” (urina e limão) que quando
aquecida revela a mensagem.
Durante a Segunda Guerra mensagens eram transmitidas em micropontos.
Esteganografia: a arte de ocultar arquivos dentro de arquivos
7. Resumo esquemático da Esteganografia
Mensagem a ser
camuflada
Portador com o
resultado
(carrier)
Arquivo capa ou
recepiente
Agente (software)
que embute a
mensagem no
recepiente.
Esteganografia: a arte de ocultar arquivos dentro de arquivos
8. Exemplos atuais de uso da esteganografia não digital
Segurança monetária: para garantir a autenticidade das cédulas.
Grandes fabricantes de impressoras: para garantir o não repúdio da
impressão.
Páginas html: a mensagem secreta é incluída apenas no código fonte.
Páginas html: a mensagem secreta é escrita na mesma cor do fundo.
Esteganografia: a arte de ocultar arquivos dentro de arquivos
9. Possibilidades futuras para a esteganografia não digital
Códigos de barras “invisíveis”.
“Assinatura” em moléculas* (visíveis apenas ao microscópio eletrônico).
Todo material genético Pode ser criado um código
é formado por cadeias de que associa uma letra do
quatro nucleotídeos: alfabeto a cada sequência
A=Adenina de três nucleotídeos:
C=Citosina ACG=A
G=Guanina ACT=B
T=Timina CGT=C
* Estudo desenvolvido por três cientistas e publicado na revista Nature em 1999.
Esteganografia: a arte de ocultar arquivos dentro de arquivos
10. Esteganografia em meios digitais – arquivos texto
Técnicas mais utilizadas:
➔
codificação por deslocamento de linhas verticalmente *
➔
codificação por deslocamento de palavras em textos justificados *
➔
adicionar pontuações e preposições *
➔
codificação por deslocamento do caracter de fim de linha
(Codificação Característica)
➔
ferramenta para esteganografia online
➔
sugestão: “invente” a sua Grelha de Cardano
➔
* técnica não abordada neste trabalho devido à falta de tempo
Esteganografia: a arte de ocultar arquivos dentro de arquivos
11. Esteganografia em meios digitais – arquivos texto
Codificação por deslocamento do caracter de fim de linha (#1/2)
A técnica consiste em utilizar o espaço que sobra nas linhas do texto
que não são totalmente utilizadas.
Linhas em branco também podem ser utilizadas.
A mensagem é codificada utilizando-se os caracteres “espaço” e “tab”.
Um “tab” indica o início do texto secreto.
Os bits são gravados de três em três e os conjuntos de três bits são
separados por um “tab” (podem ser utilizados zeros para completar o
último trio).
São utilizados de 0 a 7 espaços para definir o estado (on/off) dos três
bits.
Zero espaços = 000 Um espaço = 001
Dois espaços = 010 Tres espaços =011
Quatro espaços =100 Cinco espaços=101
Seis espaços =110 Sete espaços = 111
Esteganografia: a arte de ocultar arquivos dentro de arquivos
12. Esteganografia em meios digitais – arquivos texto
Codificação por deslocamento do caracter de fim de linha (#2/2)
Exemplo: Como ficaria a inserção dos caracteres abc em um texto?
Tabela ASCII
Caracter Decimal Hexadecimal Binário Comentário
HT 09 09 0000 1001 Tabulação Horizontal
Espaço 32 20 0010 0000 Espaço em branco
LF 10 0A 0000 1010 Próxima linha (no linux)
a 97 61 0110 0001 Letra a
b 98 62 0110 0010 Letra b
c 99 63 0110 0011 Letra c
TBBBTTBBTBBBBBBTBTBTBBBBTBBB
T=tab B=espaço
Zero espaços = 000 Um espaço = 001
Dois espaços = 010 Tres espaços =011
Quatro espaços =100 Cinco espaços=101
Seis espaços =110 Sete espaços = 111
Esteganografia: a arte de ocultar arquivos dentro de arquivos
13. Esteganografia em meios digitais – arquivos texto
Ferramenta para esteganografia online
O Spammimic
Disponível na web em https://www.spammimic.com/
Oculta uma pequena mensagem criptografada em um texto (em inglês)
que parece ser um spam.
O texto é copiado e enviado ao destinatário.
O destinatário copia o texto para https://www.spammimic.com/ e solicita
a decodificação para obter a mensagem secreta.
Esteganografia: a arte de ocultar arquivos dentro de arquivos
14. Esteganografia em meios digitais – arquivos texto
Sugestão: “invente” a sua grelha de Cardano
A M A E D O
I N D I O M A Cardano utilizava um
sistema de grelha
N D O U A S por volta do ano 1300
O P A F R I A
A idéia é utilizar um arquivo de texto razoavelmente grande como
portador e fazer um programa que será utilizado como grelha.
Obs.: transmissor e receptor devem compartilhar o algoritmo da
grelha.
Esteganografia: a arte de ocultar arquivos dentro de arquivos
15. Esteganografia em meios digitais – arquivos de imagem
Técnicas mais utilizadas:
➔
inserção no(s) bit(s) menos significativo(s) (LSB)
➔
máscara e filtragem (mascaramento e filtragem) *
➔
algoritmo e transformações *
➔
espalhamento espectral (spread spectrum) *
➔
* técnica não abordada neste trabalho devido à falta de tempo
Esteganografia: a arte de ocultar arquivos dentro de arquivos
16. Esteganografia em meios digitais – arquivos de imagem
Inserção no bit menos significativo (LSB) (#1/4)
Pixel (Picture Element) – é a menor unidade de uma imagem digital a
qual é possível atribuir-se uma cor.
Quanto mais pixels, maior a resolução que a imagem terá.
Cada pixel é formado por um conjunto de três elementos: verde, vermelho
e azul (red-green-blue) – RGB.
Um pixel pode ser representado por uma quantidade variável de bits,
chamada “profundidade”: 2,4,8,16,24,32,64,...
Profundidade 24 = true color = 24 bits para cada pixel = 3 bytes para
cada pixel.
[ R ] [ G ] [ B ] = PIXEL
[ 0 – 255 ] [ 0 – 255 ] [ 0 – 255 ] = PIXEL
Se a intensidade de cada elemento variar entre 0 e 255 podemos ter
256*256*256=16.777.216 possibilidades de cores para cada pixel.
Exemplos: (red=250, green=165, blue=0) -> laranja
(255,255,0) -> amarelo; (255,255,255)-> branco; (0,0,0)-> preto
Esteganografia: a arte de ocultar arquivos dentro de arquivos
17. Esteganografia em meios digitais – arquivos de imagem
Inserção no bit menos significativo (LSB) (#2/4)
O que é uma imagem digital?
Imagem de
14 x 11 = 154 pixels
●
Uma imagem é composta por vários pixels organizados em linhas e
colunas.
Exemplo: uma imagem 800x600 = 800 colunas x 600 linhas = 800x600
pixels = 480.000 pixels.
Para uma profundidade de 24 bits esta imagem ocuparia um espaço de,
pelo menos, 1.440.000 bytes (480.000x3).
No início de um arquivo de imagem há uma string com caracteres de
controle (número de pixels do arquivo, profundidade,...).
Esteganografia: a arte de ocultar arquivos dentro de arquivos
18. Esteganografia em meios digitais – arquivos de imagem
Inserção no bit menos significativo (LSB) (#3/4)
Uma pequena alteração nos últimos bits de cada byte que definem a
cor dos pixels, implica em alterar um pouco o valor em decimal dos
componentes RGB e "engana" o olho humano.
11110010,10011001,11111110 (242,153,254)
(241,152,255)
11110001,10011000,11111111
Esteganografia: a arte de ocultar arquivos dentro de arquivos
19. Esteganografia em meios digitais – arquivos de imagem
Inserção no bit menos significativo (LSB) (#4/4)
Se utilizarmos apenas o último bit de cada byte de uma imagem de 24
bits com resolução 1024x768, teremos aproximadamente 294.912 bytes
disponívies para esteganografia (1024 x 768 pixels = 786.432 pixels e
786.432 x 3 = 2.359.296 bits; logo 294.912 bytes).
Exemplo: utilizando o último bit de cada byte para camuflar a letra “a”
(01100001 em ASCII)
01100111 Bytes
01100110
3 bytes = 1 pixel 10101001 originais 10101001
11001000 11001001
10100111 10100110
3 bytes = 1 pixel 10101001 10101000
01001011 01001010
01100110 Bytes
01100110
3 bytes = 1 pixel 11101001 alterados 11101001
11101001 11101001
Esteganografia: a arte de ocultar arquivos dentro de arquivos
20. Esteganografia em meios digitais – arquivos de audio
Técnicas mais utilizadas:
➔
codificação/inserção do/no bit menos significativo – LSB coding *
➔
codificação de paridade – Parity coding *
➔
codificação de fase – Phase coding *
➔
espalhamento espectral - Spread spectrum *
➔
ocultação de dados no eco do audio – Echo hiding *
●
Fonte:www.snotmonkey.com/work/school/405/methods.html
➔
* técnica não abordada neste trabalho devido à falta de tempo
Esteganografia: a arte de ocultar arquivos dentro de arquivos
21. Esteganografia em meios digitais – arquivos de vídeo
Técnica mais utilizada:
➔
espalhamento espectral - Spread spectrum *
➔
* técnica não abordada neste trabalho devido à falta de tempo
Esteganografia: a arte de ocultar arquivos dentro de arquivos
22. Esteganografia em meios digitais – pacotes TCP/IP
Técnicas mais utilizadas:
➔
aproveitamento dos campos não utilizados do header do pacote *
➔
alteração do número seqüencial do pacote (ISN)
➔
* técnica não abordada neste trabalho devido à falta de tempo
Esteganografia: a arte de ocultar arquivos dentro de arquivos
23. Esteganografia em meios digitais – pacotes TCP/IP
Alteração do número seqüencial do pacote (ISN) (#1/3)
Os dados são embutidos em campos não utilizados ou opcionais do
header do segmento TCP.
Formato do Segmento TCP
Porta de origem Porta de destino
Número sequencial (ISN)
Número de reconhecimento
desloc reservado Tamanho da janela
Checksum do seg TCP Ponteiro de dados URG
Opções e preenchimento
Dados – Geralmente entre 456 Bytes e
536 Bytes
Esteganografia: a arte de ocultar arquivos dentro de arquivos
24. Esteganografia em meios digitais – pacotes TCP/IP
Alteração do número seqüencial do pacote (ISN) (#2/3)
Exemplo: como enviar, da máquina A para a máquina B, a mensagem
“abc”?
Basta que transmissor e receptor definam o código e o protocolo de
transmissão que será utilizado.
CÓDIGO - pode ser convencionado, por exemplo, que utilizarão o valor
decimal correspondente aos caracteres da tabela ASCII
Então, em decimal, devem
ser transmitidos os
Tabela ASCII números 97, 98 e 99
Caracter Decimal Hexadecimal Binário Comentário
HT 09 09 0000 1001 Tabulação Horizontal
Espaço 32 20 0010 0000 Espaço em branco
LF 10 0A 0000 1010 Próxima linha (no linux)
a 97 61 0110 0001 Letra a
b 98 62 0110 0010 Letra b
c 99 63 0110 0011 Letra c
Esteganografia: a arte de ocultar arquivos dentro de arquivos
25. Esteganografia em meios digitais – pacotes TCP/IP
Alteração do número seqüencial do pacote (ISN) (#3/3)
PROTOCOLO
o receptor disponibiliza uma porta e aguarda conexões.
são válidos apenas os pacotes SYN (de início de conexão).
o transmissor altera o ISN do pacote TCP segundo a fórmula
ISN=(DEC*69241) -> 69241 é um número pré-acertado.
o transmissor envia o pacote TCP com o ISN alterado de acordo com
o caracter a ser transmitido, solictando uma conexão na porta pré-
acertada.
o receptor captura o pacote e obtém o caracter secreto através da
fórmula DEC=(ISN/69241).
o transmissor finaliza a conexão e inicia outra com o ISN alterado.
SYN + ISN alterado
DEC ISN
97 6716377
98
99
6785618
6854859
A ACK
RST
B
Esteganografia: a arte de ocultar arquivos dentro de arquivos
26. Ferramentas para esteganografia em meios digitais
➔
Nome Licença Sist.Oper tipo de esteganografia
URL
➔
Snow GPL L W Deslocamento de caracter de fim de linha
http://www.darkside.com.au/snow/
➔
Spammimic freeware L W Esteganografia de texto online
http://www.spammimic.com
➔
JPHide freeware L W Esteganografia em imagnes - LSB
http://linux01.gwdg.de/~alatham/stego.html
➔
Outguess BSD L Estego em imagens - variação do LSB
http://outguess.org
➔
MP3stego free NC W Esteganografia em arquivos MP3
http://www.petitcolas.net/fabien/steganography/mp3stego/index.html
➔
MSU Stego freeware W Esteganografia em arquivos de vídeo
hhttp://compression.ru/video/stego_video/index_en.html
➔
Steghide GPL L Esteganografia em imagens e audio
http://steghide.sourceforge.net
➔
Convert_tcp GPL L Esteganografia em pacotes TCP/IP
??????
Esteganografia: a arte de ocultar arquivos dentro de arquivos
27. Ferramentas para detectar esteganografia
Nome
➔
Licença Sist.Oper esteganografia que detecta
URL
hexdump
➔
GPL L caracteres de fim de linha (txt)
Encontrado em qualquer distribuição GNU/Linux
Stegdetect
➔
BSD L W esteganografia em imagens
http://www.outguess.org
➔
Stego Suite $2.000,00 W esteganografia em imagens e audio
http://www.wetstonetech.com
Esteganografia: a arte de ocultar arquivos dentro de arquivos
28. Conclusão
Se você está querendo esconder alguma coisa lembre-se que:
a utilização de texto criptografado aumenta as chances de que a
mensagem não seja decodificada por terceiros;
mensagens secretas pequenas (menor que 5% do tamanho do arquivo
portador) não são detectadas pelas ferramentas mais comuns
(Stegdetect);
criar seu próprio método de esteganografia pode dificultar a detecção.
Se você quer evitar que alguém esconda alguma coisa lembre-se que:
se é impossível descobrir a mensagem camuflada, sempre é possível
inutilizá-la.
Esteganografia: a arte de ocultar arquivos dentro de arquivos
29. Perguntas?
Esta apresentação estará disponível em www.pollon.org.
Esta apresentação baseou-se, principalmente, no material encontrado em
www.data-hiding.com.
Obrigado !!!
Esteganografia: a arte de ocultar arquivos dentro de arquivos