• Nenhum resultado encontrado

Um algoritmo robusto ao aumento de escala em estegoimagens marcadas com a técnica LSB

N/A
N/A
Protected

Academic year: 2021

Share "Um algoritmo robusto ao aumento de escala em estegoimagens marcadas com a técnica LSB"

Copied!
10
0
0

Texto

(1)

Um algoritmo robusto ao aumento de escala em

estego-imagens marcadas com a técnica LSB

Thiago Rocha Silva, Sandra Eliza Fontes de Ávila1 1Departamento de Ciência da Computação

Universidade Federal de Minas Gerais (UFMG) – Belo Horizonte, MG – Brasil

{thiagors,sandra}@dcc.ufmg.br

Abstract. This paper presents a strong algorithm for scale increase in stego-images marked with the LSB technique. The application is divided in three steps: message insertions in cover images, controlled scale increase in stego-images previously marked with the LSB technique and recovery of the message inserted in those images. The results achieved were satisfactory; however, they show this kind of problem is hard complex, once stego-images disseminated in most various communication means are liable for a several kind of transformations. Questions like that are still opened and lack of solutions. Resumo. Este artigo apresenta um algoritmo robusto ao aumento de escala em estego-imagens marcadas com a técnica LSB. A aplicação está dividida em três etapas: inserção de mensagens em imagens de cobertura, aumento controlado de escala em estego-imagens previamente marcadas com a técnica LSB e recuperação da mensagem inserida nestas imagens. Os resultados obtidos foram satisfatórios, no entanto, demonstraram serem estes problemas de complexidade bastante elevada já que estego-imagens disseminadas nos vários meios de comunicação ficam sujeitas a diversos tipos de transformações. Questões como essa ainda encontram-se em aberto e carecem de soluções.

1. Introdução

Mascarar mensagens em objetos é uma técnica que visa, dentre outras coisas, garantir e certificar sua autenticidade.

Essa técnica é conhecida como esteganografia e é definida por Popa [Popa 1998] como um termo derivado do grego, onde estegano = esconder, mascarar e grafia = escrita. Logo, esteganografia é a arte da escrita encoberta ou, de forma mais abrangente, é a arte das comunicações encobertas.

A esteganografia é uma técnica vasta que permite a comunicação oculta “de qualquer natureza”. Particularmente, é de interesse deste trabalho a esteganografia digital. Muitas pesquisas têm sido desenvolvidas nessa área seguindo basicamente duas vertentes: uma delas busca garantir e oferecer maior proteção aos dados escondidos e a outra busca formas de burlar essa segurança e ter acesso a esses dados [Rocha et al. 2004].

Desenvolver algoritmos com o propósito de aumentar a segurança dos objetos em trânsito se tornou uma atividade de extrema importância com o advento de grandes canais de distribuição como a internet. Um algoritmo que insira nesses objetos marcas

(2)

de autenticação imperceptíveis pode ser de grande interesse de pessoas ou instituições que queiram divulgar seus trabalhos e ao mesmo tempo manter um controle de autenticidade sobre eles.

Um dos grandes trunfos desse tipo de técnica é a sua grande dificuldade de percepção. As imagens com informações mascaradas são visualmente idênticas às imagens originais. Portanto, basta imaginar a dificuldade de se desmascarar uma mensagem da qual não se tem sequer certeza de sua existência.

O algoritmo apresentado neste artigo é a evolução de parte do trabalho desenvolvido e apresentado por Rocha [Rocha et al. 2004]. O software Camaleão permite a inserção e recuperação de textos, imagens e arquivos binários em imagens marcadas com a técnica LSB (Least Significant Bits), no entanto, não permite transformações geométricas de qualquer natureza sem que se perca a mensagem escondida. Este é um dos principais problemas ainda não resolvido pela área de esteganografia digital em imagens marcadas com esta técnica e aqui reside o principal desafio do algoritmo proposto.

O objetivo deste trabalho é, portanto, apresentar um algoritmo que apresente robustez ao aumento de escala no tratamento de estego-imagens previamente marcadas com a técnica LSB. O algoritmo desenvolvido será apresentado em três processos distintos: o primeiro mostra a técnica de inserção da informação, o segundo a técnica do aumento da escala, e o terceiro a técnica de recuperação da informação.

Inicialmente foi feita uma pesquisa bibliográfica sobre as técnicas de esteganografia, discutidas principalmente através dos trabalhos de [Neci et al. 1999, Cachin 2005, Anderson e Petitcolas 1998, Fridrich et al. 2001]. Em seguida, foram estudadas as técnicas já desenvolvidas em Rocha [Rocha et al. 2004]. As etapas de implementação, testes e discussão dos resultados finais obtidos estão descritas nas seções seguintes. Este artigo está organizado como segue. Na seção 2 é apresentada a definição de esteganografia e algumas de suas técnicas; na seção 3 é discutida a técnica esteganográfica LSB; nas seções 4, 5 e 6 são apresentados, respectivamente, os processos de mascaramento da informação, aumento de escala e recuperação da informação; na seção 7 são discutidas as dificuldades de implementação inerentes ao problema e são apontadas as questões em aberto e os trabalhos futuros; e por fim, na seção 8 as conclusões são apresentadas.

2. Esteganografia

Uma famosa história que ilustra a técnica de esteganografia é o “Problema dos Prisioneiros", apresentado em Simmons [Simmons 1984]:

Alice e Bob estão na cadeia. Trancados em celas separadas longe uma da outra. Desejam elaborar um plano de fuga. Eles podem se comunicar através de mensagens enviadas por informantes, provando que eles não lidam com planos de fuga. Mas os informantes são agentes do guarda Eve (que fazem o papel de adversário) e irão passar todas as informações para ela. Se Eve detectar algum sinal de conspiração, ela irá impedir o plano de fuga transferindo ambos os prisioneiros para celas de segurança máxima, das quais nunca ninguém escapou. Alice e Bob estão cientes deste fato, por isso antes de serem trancados, eles já compartilharam um código secreto que eles vão utilizar para embutir uma informação escondida dentro de mensagens aparentemente

(3)

inocentes. Alice e Bob terão sucesso se eles puderem trocar informações, permitindo que eles coordenem suas fugas e Eve não suspeite.

De acordo com a terminologia padrão de informação escondida, uma comunicação legítima entre os prisioneiros é chamada de “texto de cobertura" (covertext) e uma mensagem com informação embutida é chamada de “estego-texto" (stegotext). As distribuições do “texto de cobertura" e do “estego-texto" são conhecidas pelo guarda Eve porque ela conhece o que constitui uma comunicação legítima entre os prisioneiros e quais truques eles aplicam para adicionar um significado escondido em mensagens aparentemente inocentes [Cachin 2005].

A esteganografia consiste, neste caso, em uma troca segura de informações entre os participantes. Se forem utilizados sistemas e objetos digitais para mascaramento destas informações, então esse processo passa a ser chamado de esteganografia digital.

Popa [Popa 1998] mostra que os principais algoritmos de esteganografia digital são baseados na substituição de componentes de ruído de um objeto digital por uma mensagem secreta pseudo-randômica. Assim, uma mensagem secreta pode ser embutida em um objeto digital através de diversas técnicas de inserção.

São de interesse deste trabalho as imagens (como objetos digitais) e as mensagens de texto (como texto de cobertura). O resultado da inserção de um texto de cobertura em uma imagem forma uma estego-imagem. Na Figura 1 é ilustrado esse processo de inserção.

Figura 1. Mascaramento de uma mensagem em uma imagem.

As principais técnicas para realizar esse tipo de inserção são: inserção no bit menos significativo; técnicas de filtragem e mascaramento; algoritmos e transformações. Cada uma destas pode ser aplicada às imagens, com graus variados de sucesso. O método de inserção no bit menos significativo é provavelmente uma das melhores técnicas de esteganografia em imagem [Rocha et al. 2004].

3. Inserção no Bit Menos Significativo (LSB)

A técnica LSB - ou inserção no bit menos significativo – pode ser aplicada a cada byte de uma imagem de 32 bits. Estas imagens possuem cada pixel codificado em quatro bytes. Um para o canal alfa (alpha transparency), outro para o canal vermelho (red),

(4)

outro para o canal verde (green) e outro para o canal azul (blue). Seguramente, pode-se selecionar um bit (o menos significativo) em cada byte do pixel para representar o bit a ser escondido sem causar alterações perceptíveis na imagem [Rocha et al. 2004, Wayner 2002, Popa 1998, Petitcolas et al. 1999].

A mensagem é inicialmente codificada em binário através de seu código ASCII e só então é inserida em cada um dos LSBs dos canais ARGB da imagem de cobertura. Essa inserção pode ser realizada seqüencialmente ou através de uma chave de deslocamento. Na Figura 2 são ilustrados três pixels de uma imagem de cobertura. Como exemplo, a letra A pode ser escrita através de seu código binário ASCII como 01000001. É suficiente utilizar apenas os dois primeiros pixels da imagem. O resultado da inserção nos LSBs é apresentado na Figura 3.

(00100111 11101001 11001000 10001100) [A,R,G,B] (10100111 11001000 11101001 11101000) [A,R,G,B] (11001000 00100111 11101001 00100111) [A,R,G,B]

Figura 2. Três pixels da imagem de cobertura.

(00100110 11101001 11001000 10001100) [A,R,G,B] (10100110 11001000 11101000 11101001) [A,R,G,B] (11001000 00100111 11101001 00100111) [A,R,G,B]

Figura 3. Pixels com inserção nos LSBs.

Os bits em negrito representam os LSBs e os bits em vermelho representam as modificações necessárias para esconder a letra A.

Como pode ser facilmente percebido, a quantidade de texto que se pode esconder em uma imagem comum de 640 x 480 pixels, por exemplo, é muito grande. Esse fator torna a técnica LSB bastante poderosa para guardar grandes informações em imagens de pequena resolução.

4. Processo de Mascaramento da Informação

No processo de mascaramento, os bits menos significativos da imagem de cobertura são alterados segundo as configurações dos bits de um segundo arquivo. Este segundo arquivo é a mensagem que se deseja enviar mascarada.

A distância entre dois sucessivos bits escondidos é o número de bits menos significativos entre eles e é controlado por uma chave. Esta chave corresponde a uma chave simétrica em um cripto-sistema simétrico. Sem o conhecimento da sucessão correta de distâncias entre os bits, qualquer agressor terá poucas chances de êxito ao tentar recuperar a mensagem escondida.

Na Figura 4 é descrito o processo de mascaramento. O emissor modifica o stream original usando a chave secreta. Caso não exista uma chave de deslocamento, o mascaramento é efetuado simulando um deslocamento de 1 para todo bit a ser

(5)

mascarado. Para mascarar o primeiro bit o emissor precisa saber quantos bits deve saltar. No primeiro caso, deve-se saltar um bit dado que o deslocamento é zero. Deste modo, basta saltar do LSB atual para o próximo e efetuar o mascaramento. No entanto, caso o deslocamento seja de dois, deve-se contar três LSBs a partir do LSB sendo atualmente utilizado e só então efetuar o mascaramento.

Stream original Stream a ser mascarado Chave Stream mascarado 10001100 0 0 10001100 11001011 1 0 11001010 00100110 1 2 00100111 01101101 0 0 01101101 10101000 0 1 10101000 01001011 - - 01001011 11100110 - - 11100110 01110010 - - 01110010 11100111 - - 11100110 10000001 - - 10000001

Figura 4. Processo de mascaramento da informação segundo uma chave de deslocamento.

Na Figura 5 é apresentado o resultado do processo de mascaramento de uma informação. Neste exemplo, foi utilizada uma imagem de cobertura de dimensão 256 x 256, uma chave de deslocamento com 64 posições (valores entre 0 a 10) e uma mensagem com 18432 bytes.

(a) Imagem de cobertura (b) Estego-imagem

(6)

5. Processo do Aumento da Escala

Para o aumento de escala foi utilizado o algoritmo de interpolação de ordem zero. O algoritmo é baseado numa abordagem de vizinhos mais próximos. Esse método, também denominado replicação de pixels, é ilustrado na Figura 6. O valor do aumento de escala é inserido no último pixel da imagem. Este valor é utilizado no processo de recuperação da informação.

Embora a interpolação de ordem zero apresente a desvantagem de produzir artefatos indesejáveis, tal como distorção de bordas retas em imagens de resolução fina, esse método é simples de ser implementado e tem um baixo custo computacional em relação às demais técnicas de interpolação, tais como a interpolação por convolução cúbica, que fixa uma superfície do tipo (sen x) = x através de um número muito maior de vizinhos, e a interpolação bilinear, que usa os quatro vizinhos mais próximos [Gonzalez e Woods 2002].

1 2 3 4 5 6

(a) Matriz dos pixels de uma imagem. 1 1 2 2 3 3

1 1 2 2 3 3 4 4 5 5 6 6 4 4 5 5 6 2

(b) Matriz dos pixels da imagem após o aumento da escala com fator 2.

Figura 6. Matriz de pixels da imagem antes e depois do processo de aumento da escala.

Na Figura 7 é apresentado o resultado do processo do aumento de escala da estego-imagem. Para este exemplo, o fator utilizado para a realização do aumento da escala tem o valor igual a 2. Sendo assim, a estego-imagem aumentada passa a ter a dimensão 512 x 512.

(7)

(a) Estego-imagem

(b) Imagem após aumento de escala com fator 2.

(8)

6. Processo de Recuperação da Informação

Neste processo, inicialmente é aplicado na imagem, que passou por um processo de aumento de escala, um processo de redução de escala de acordo com o valor do último pixel da matriz da imagem aumentada. Dessa forma, a imagem volta a ter sua escala original.

Em seguida, os bits menos significativos da imagem são todos extraídos e colocados em uma lista. Os bits serão posteriormente selecionados para a formação da mensagem final segundo as configurações da chave de deslocamento que está em posse do receptor da mensagem.

Na Figura 8 é descrito o processo de recuperação. O receptor captura os bits certos a partir dos deslocamentos da chave. Ou seja, para recuperar o primeiro bit, o receptor verifica o deslocamento relativo na chave. Como a primeira entrada da chave é zero, o segundo LSB da tabela contém um bit a ser recuperado. O deslocamento para o terceiro bit a ser recuperado também é zero, logo o segundo LSB também contém um bit válido. No entanto, o terceiro bit a ser recuperado está no sexto LSB dado que o último LSB utilizado foi o terceiro e o deslocamento relativo ao terceiro bit válido é de 2.

Stream recebido Chave Mensagem recuperada 10001100 0 0 11001010 0 1 00100111 2 1 01101101 0 0 10101000 1 0 01001011 - 11100110 - 01110010 - 11100110 - 10000001 -

Figura 8. Processo de recuperação da informação segundo uma chave de deslocamento.

7. Questões em aberto e Trabalhos Futuros

Diversas são as melhorias e complementos que algoritmos como esse podem (e devem) sofrer. Um dos primeiros pontos a ser abordado é a viabilidade do aumento de escala “não controlado”. O algoritmo aqui proposto permite apenas que o aumento de escala seja efetuado pela própria aplicação disponibilizada. Um aumento realizado por programas externos à aplicação seria bastante útil para situações reais de trabalho, no entanto, a ausência de controle sobre qual algoritmo será implementado para realizar este aumento é um entrave de alta complexidade.

(9)

Um segundo ponto a ser considerado é o aumento de escala desproporcional em largura e altura. Um aumento apenas em largura, por exemplo, duplicaria partes da mensagem em uma única direção, proporcionando recuperações inconsistentes se utilizado o algoritmo aqui proposto. Possivelmente um registro tanto do aumento em largura quanto do aumento em altura deveria ser feito.

Uma terceira questão em aberto para o problema aqui descrito é, naturalmente, a implementação de um algoritmo robusto às reduções de escala nas imagens. As reduções são mais complexas que os aumentos, pois os algoritmos com tal propósito eliminam linhas e colunas da matriz de pixels. Um algoritmo robusto a essas reduções possivelmente teria que controlar eliminações em linhas e colunas que contenham trechos da mensagem em seus LSBs.

Outras possíveis questões derivadas deste trabalho envolvem a robustez às mudanças de rotação e demais transformações geométricas. Desafios também existem em transformações de ordem visual e estas possivelmente formam os problemas mais difíceis de resolver, dada a forma como ocorrem.

8. Conclusões

O presente trabalho contribui de forma significativa para as discussões a respeito de algoritmos robustos a transformações geométricas em estego-imagens. Esse é um campo que merece atenções de áreas com segurança da informação e processamento digital de imagens, sendo de interesse dos mais diversos campos que trabalhem com a necessidade de disseminação de objetos autenticados.

Uma outra motivação para se desenvolver algoritmos de esteganografia que utilizem a técnica LSB é que estes são de baixa complexidade computacional e, portanto, podem estar presentes em autenticações que necessitem de baixo poder de processamento como aplicações de tempo real. Os processos de inserção e recuperação da mensagem no algoritmo aqui proposto executam em tempo linear e o processo de aumento de escala em tempo quadrático.

O método aqui apresentado funcionou bem em testes realizados com imagens grandes e pequenas. A recuperação da mensagem foi total e sem perdas. Uma das curiosidades que merece ser registrada é que a recuperação se processou sempre alterando o texto original para caixa-alta, apesar de cada um dos caracteres ser codificado em ASCII. Essa talvez seja uma questão pendente de resolução.

Em resumo, as diversas alterações que podem ocorrer nas estego-imagens, de fato, não são fáceis de controlar. A complexidade de problemas dessa natureza, em geral, é alta e representa desafios constantes. Certamente, ainda é necessário se avançar bastante nos algoritmos que resolvam essas questões.

Referências

Anderson, R. J. e Petitcolas, F. A. P. (1998) “On the limits of steganography”. IEEE Journal of Selected Areas in Communications, 16(4), 474 – 481.

Cachin, C. (2005) “Digital steganography”. Encyclopedia of Cryptography and Security, 129 – 168.

(10)

Fridrich, J.; Goljan, M. e Du, R. (2001) “Reliable detection of LSB steganography in color and grayscale images”. In: MMSec'01: Proceedings of the 2001 Workshop on Multimedia and Security, 27 – 30, New York, NY, USA, ACM Press.

Gonzalez, R. C. e Woods, R. E. (2002) “Digital Image Processing”. Prentice Hall, New Jersey, 2nd. Edition.

Neci, I. J.; M. L. M. e Linnartz, J. M. (1999) “A review of watermarking principles and practices”. Digital Signal Processing in Multimedia Systems, Ed. K. K. Parhi and T. Nishitani, Marcell Dekker Inc., New York, 461 – 485.

Petitcolas, F. A. P.; Anderson, R. J. e Kuhn, M. G. (1999) “Information hiding: a survey”. Proceedings of the IEEE, 87(7):1062 – 1078.

Popa, R. (1998) “An analysis of steganography techniques”. Master's thesis, Department of Computer Science and Software Engineering of the Polytechnic University of Timisoara, Timisoara, Romênia.

Rocha, A.; C. H. A. X. e C. L. M. (2004) “Camaleão: um software para segurança digital utilizando esteganografia”. REIC - Revista Eletrônica de Iniciação Científica, SBC.

Simmons, G. J. (1984) “The prisoners problem and the subliminal channel”. Advances in Cryptology: Proceedings of Crypto, Plenum Press.

Wayner, P. (2002) “Disappearing cryptography”. Morgan Kaufmann Publishers, San Francisco.

Referências

Documentos relacionados

I – formular e zelar pelo cumprimento das normas relativas à utilização humanitária de animais com finalidade de ensino e pesquisa científica;.. II –

Os espectros de absorção obtidos na faixa do UV-Vis estão apresentados abaixo para as amostras sintetizadas com acetato de zinco e NaOH em comparação com a amostra ZnOref. A Figura

Como foi visto, a primeira etapa do processo decisório de consumo é o reconhecimento da necessidade, com isso, observou-se que, nessa primeira etapa, os consumidores buscam no

Os maiores coeficientes da razão área/perímetro são das edificações Kanimbambo (12,75) e Barão do Rio Branco (10,22) ou seja possuem uma maior área por unidade de

Fonte: Store D2.1 Report summarizing the current Status, Role and Costs of Energy Storage Technologies - 2012

Resposta: para traçar os efeitos de curto prazo e longo prazo de uma redução na demanda agregada real por moeda na taxa de câmbio, taxa de juros e nível de preços, é necessário

• A Revolução Industrial corresponde ao processo de industrialização que teve início na segunda metade do.. século XVIII no

1 Instituto de Física, Universidade Federal de Alagoas 57072-900 Maceió-AL, Brazil Caminhadas quânticas (CQs) apresentam-se como uma ferramenta avançada para a construção de