Esteganografia e Esteganálise: transmissão e detecção de informações ocultas em imagens digitais

Teoria e implementação da técnica de Esteganografia de imagens baseada nos bits menos significativos (LSB), que visa embutir dados em imagens digitais, e das técnicas de Esteganálise (estrutural, visual e estatística), que consistem na busca de padrões que permitam identificar a existência informações ocultas nas imagens suspeitas.

[ Hits: 75.255 ]

Por: Rafael José de Alencar Almeida em 30/08/2011 | Blog: http://www.rafael-labs.com


Ataque visual



O ataque visual ou aural realiza alterações nos pixels da imagem suspeita, de modo a trazer à tona rastros da informação embutida, tornando-os visíveis a olho nu.

Partindo-se do princípio de que a informação foi embutida nos bits menos significativos das cores dos pixels, a análise visual consiste em deslocá-los para a posição mais significativa da cadeia binária e redefinir os demais bits com um mesmo valor. Assim, os bits que possuíam menor influência passam a ter total destaque na imagem. Consequentemente, os pixels cujos bits foram manipulados apresentam-se destoantes do contexto da imagem.

O código a seguir implementa a forma de ataque visual descrita. O resultado pode ser conferido na Figura 3, que compara, respectivamente, a imagem original, o ataque visual na mesma e o ataque em uma imagem com o texto da Licença GNU embutido - que apresenta alterações visuais inconsistentes, caracterizando sua esteganografia.

# coding: utf-8

import Image

def ataque_visual(imagem, destino):
    # Abre a imagem, obtém seus atributos e carrega os pixels para a memória
    img = Image.open(imagem)
    largura, altura = img.size
    pix = img.load()

    for x in xrange(largura):
        for y in xrange(altura):
            # Desloca os bits menos significativos para a posição mais significativa
            pix[x, y] = tuple(int(bin(cor)[-1] + '1111111', 2) for cor in pix[x, y])
    img.save(destino, 'PNG', quality=100)

Linux: Esteganografia e Esteganálise: transmissão e detecção de informações ocultas em imagens digitais
Figura 3
Página anterior     Próxima página

Páginas do artigo
   1. Introdução, Imagens digitais e os bits menos significativos
   2. Implementação da técnica de Esteganografia LSB
   3. Esteganálise e Ataque estrutural
   4. Ataque visual
   5. Ataque estatístico e Referências
Outros artigos deste autor

Python: automatizando a extração de informações na web com expressões regulares

Automatizando a criação de uma base de conhecimento em Prolog para gerenciar os acessos a um site

Leitura recomendada

Criando um leitor de RSS com Python

Python - Enviando Backup para Servidor Secundário

Programe em Python no jogo Minecraft com seu filho ou sozinho

Scikit Learn: Projetando o futuro de suas APIs e aplicativos usando machine learning

Interagindo com servidores HTTP com Python

  
Comentários
[1] Comentário enviado por wadilson em 30/08/2011 - 23:29h

Rafael, muito bom.

Só não digo que esse post é uma aula por que de fato são várias aulas.

Sensacional. Para ler, guardar e usar.

[2] Comentário enviado por mauricio1241 em 31/08/2011 - 10:12h

Muito bom mesmo =D

[3] Comentário enviado por patricia.malvina em 31/08/2011 - 11:02h

Conhecia o seu projeto mas não com esse detalhamento tão completo. Parabéns, Rafael.

[4] Comentário enviado por rafael.alencar em 31/08/2011 - 13:01h

Pessoal, obrigado pelos comentários!
Patrícia, que bom que você ainda não se cansou de tanto ouvir sobre Esteganografia e Esteganálise :D

[5] Comentário enviado por julio_hoffimann em 31/08/2011 - 20:07h

Parabéns Rafael!

Fazia tempo que não lia um artigo tão interessante no Viva o Linux! Muito bom mesmo! Além de explicar os conceitos de forma clara, você forneceu o código, o que extermina qualquer dúvida. :-)

Abraço!

[6] Comentário enviado por JohnRobson em 01/09/2011 - 19:22h

http://www.larc.usp.br/~pbarreto/Tese.pdf

[7] Comentário enviado por rafael.alencar em 01/09/2011 - 19:46h

Olá John,

Excelente material esta tese de doutorado. É bem legal saber que há acadêmicos brasileiros trabalhando nesta área.
Se eu conseguir destrinchar as notações matemáticas vou implementar os algoritmos descritos na tese.
Obrigado por compartilhar!

[8] Comentário enviado por malfatti-filho em 03/09/2011 - 23:38h

Caramba , coisa de doido

Parabens , Tá tão bem explicado que lendo a gente agrega muita informação

Parabens !

[9] Comentário enviado por rodrigocontrib em 02/04/2013 - 09:26h

Tenho uma Pergunta,
A analise do objeto estegnografado so pode ser executado apartir de um objeto não estegnografado ou as analises de comparação tem uma autosuficiencia em sua analise, não precisando assim de um objeto original ?

Minha pergunta é porque nas redes sociais existe uma gama de metodos de transmissao de informação de arquivos estegnografados ou não.

[10] Comentário enviado por sprayone1 em 18/10/2016 - 21:54h

Que louco! Muito bom artigo, excelente explanação.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts