Exploração Tecnológica para Esteganografia em
Vídeos Digitais
14 de novembro de 2005
Diego Fiori de Carvalho
Monografia final do projeto de graduação.
Instituto de Ciências Matemáticas e de Computação - ICMC
Universidade de São Paulo - USP
Orientador: Prof. Dr. Rudinei Goularte
São Carlos, Estado de São Paulo, Brasil
1
2
Dedicatória
Dedico este trabalho à Natália Faveri (meu grande amor), Marco Antonio (pai),
Rita de Cássia (mãe), Danilo Fiori (irmão), vó Wilmera, vô Darcy, tia Vera Regina,
tio Cláudio Sérgio (in memorian),vó Egma e vô Fiori.
3
Agradecimentos
Gostaria de agradecr ao apoio teórico, prático de meu orientador, professor Rudinei
Goularte e aos meus amigos que me ajudaram em vários aspectosneste trabalho:
Danilo Nogueira da Costa, José Antonio Camacho Guerreiro e principalmente a
Renan Prates Lopes de Campos pelo auxílio e paciência nas diversas crises que tive
com osmencodersecodecsutilizados neste projeto.
4
Resumo
A crescente preocupação com privacidade dos dados trafegados pela Internet tem levado à pes-
quisas que visam manter o sigilo dos mesmos. Para este fim, tradicionalmente, tem-se utilizado
técnicas de criptografia. Outra técnica que vem crescendo atualmente é a esteganografia, usual-
mente aplicada a imagens. A implementação de esteganografiaem vídeos digitais, tema deste
trabalho, possibilita o ocultamento de uma quantidade maior de informações enquanto mantém
o sigilo dos mesmos. A técnica apresentada abre possibilidades para novos modos de acesso a
conteúdo, como, por exemplo, autenticação de usuários sobre material multimídia.
CONTENTS 5
Contents
1 Introdução 10
1.1 Contextualização, Motivação e Domínio de Aplicação . . .. . . . . . . . . . 10
1.2 Objetivos do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11
1.3 Organização da Monografia . . . . . . . . . . . . . . . . . . . . . . . . . .. 11
2 Revisão Bibliográfica 12
2.1 Síntese das Técnicas Envolvidas . . . . . . . . . . . . . . . . . . . .. . . . . 12
2.1.1 Esteganografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.2 AVI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.3 JPEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.4 Inserção de conteúdo no LSB . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Trabalhos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 20
2.2.1 Camaleão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.2 Esteganálise - Detecção de Esteganografia . . . . . . . . . .. . . . . . 20
2.3 Análise Crítica (pontos positivos e negativos) . . . . . . .. . . . . . . . . . . 21
3 Estado atual do trabalho 22
3.1 Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Descrição das Atividades Realizadas . . . . . . . . . . . . . . . .. . . . . . 22
3.2.1 Inserção de material oculto nas imagens . . . . . . . . . . . .. . . . . 22
3.2.2 Criação do Stegovídeo . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.3 Recuperação do texto esteganografado no vídeo . . . . . .. . . . . . . 25
3.3 Conhecimentos Adquiridos . . . . . . . . . . . . . . . . . . . . . . . . .. . . 26
3.3.1 Multimídia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.2 Segurança e Confidencialidade Digital . . . . . . . . . . . . .. . . . . 28
3.3.3 Shell Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4 Dificuldades e Limitações . . . . . . . . . . . . . . . . . . . . . . . . . .. . 30
3.5 Resultados Obtidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31
CONTENTS 6
4 Conclusões e Trabalhos Futuros 32
5 Anexo 33
5.1 Anexo 1 - Carta de Bin Laden esteganografada na figura 1. . .. . . . . . . . . 33
5.2 Anexo 2 : Script Stegovideo . . . . . . . . . . . . . . . . . . . . . . . . .. . 34
References 36
6 Glossário 38
LIST OF FIGURES 7
List of Figures
1 Figura contendo mensagem Esteganografada. . . . . . . . . . . . .. . . . . . 13
2 Esteganografia em impressão alaserde uma impressora da marca XEROX. . . 14
3 Processo de compressão JPEG. . . . . . . . . . . . . . . . . . . . . . . . . .. 16
4 Gráfico das frequências de uma imagem em JPEG ethresholddas freqüências
mais altas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5 Imagem original a esquerda e imagem esteganografada a direita com JPEG-
JSTEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 Inserção de texto oculto em imagem. . . . . . . . . . . . . . . . . . . . .. . . 24
7 Recuperação do texto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
8 Processo de inserção de conteúdo oculto no vídeo. . . . . . . . .. . . . . . . . 27
9 Diagrama de Casos de Uso do projeto. . . . . . . . . . . . . . . . . . . . .. . 28
LIST OF TABLES 8
List of Tables
1 Tabela com a dimensão de entrada para textos no algoritmo JPEG-JSTEG. . . . 23
LIST OF ALGORITHMS 9
List of Algorithms
1 Algoritmo StegoVideo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
2 Script StegoVideo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1 INTRODUÇÃO 10
1 Introdução
A introdução desta monografia está disposta em Contextualização, Motivação e Domínio da
Aplicação, apresentados na seção 1.1. Na seção 1.2, são explanados os objetivos do trabalho e
finalmente na seção 1.3, a organização desta monografia.
1.1 Contextualização, Motivação e Domínio de Aplicação
A popularização da Internet é uma realidade no Brasil, pois segundo o Ibope, o país contava
com 7,68 milhões usuários da rede em 2002. Hoje, o país se aproxima dos 30 milhões de
indivíduos com acesso direto à rede [Ter05].
Com o aumento do número de pessoas conectadas a rede, houve uma crescente demanda por
serviçoson line, tais como comércio eletrônico. Desse modo, a necessidade de sigilo entre as
informações trocadas entre as empresas e os usuários aumentou. Infelizmente, houve também
o crescimento do número de fraudes [Reu05] e ataqueshackersàs organizações.
Além disso, projetos como Echelon [She05], desenvolvido pelos EUA, Inglaterra, Canadá e
Austrália, tem como objetivo principal o monitoramento de todo o conteúdo eletrônico em
tráfego na rede, tendo como finalidade a filtragem de mensagens suspeitas de possíveis terror-
istas. Esses projetos utilizam tecnologia de ponta para filtragem das informações trocadas por
e-mail, conteúdo de ftp e http.
Portanto, além dos problemas de cunho ilegal como ataqueshackers, projetos como Echelon
[She05] e Carnivore [Sul01] que visam o controle de privacidade sobre o conteúdo em tráfego
na Internet, tiveram legitimidade ampliada após a assinatura do atual presidente dos EUA, em
outubro de 2001, do Ato anti-terrorismo denominado PATRIOT[Tra01], devido aos atentados
de 11 de setembro. Esse Ato permite a total quebra de privacidade digital sem necessidade de
um mandato judicial dentro e fora dos EUA.
Paralelamente a esses fatos, o comércio eletrônico teve suaexpansão potencializada pela pro-
liferação de dispositivos móveis (celulares,pdase palmtops), houve também um aumento na
distribuição de material multimídia de caráter sigiloso pela rede. Estes fatos remetem a neces-
sidade de criação de mecanismos que introduzam o devido sigilo e controle de acesso a estas
informações. É importante levantar os principais aspectosenvolvidos na distribuição segura
de qualquer tipo de material, principalmente multimídia, para garantir a segurança digital e
preparar o mercado para o crescimento da área nos próximos anos [CBM03].
Para tal nível de segurança é necessário criar mecanismos que implementem métodos que adi-
cionem níveis deAutenticidadee Integridadeno material multimídia. A autenticidade disponi-
biliza a resposta correta para identificação de usuários do sistema, ou seja, a origem ou o des-
tino são corretamente identificados. Já a integridade consiste em proteger a modificação sem
1 INTRODUÇÃO 11
a permissão explícita do proprietário da informação. A modificação inclui ações como escrita,
alterações de conteúdo, alteração destatus, remoção, criação e o atraso de informação transmi-
tidas.
O ramo da ciência da computação voltado para o estudo de mecanismos de proteção digital
é denominado segurança digital, a qual faz uso de algoritmosde criptografia e esteganografia
eficientes. A criptografia visa a proteção dos dados por meio da codificação ou cifragem das
informações, tornando-as incompreensíveis [Sin01]. Já a esteganografia digital, procura ocultar
informações em vários tipos de mídia, sejam elas contínuas ou discretas, tais como: texto,
imagens, sons e vídeos [Sin01].
A literatura reporta trabalhos que abordam a utilização de esteganografia em imagens, como
por exemplo, o projeto Camaleão [RA04] e JPEG-JSTEG [CLCC00] . Contudo a generaliza-
ção dessas técnicas, para uso em vídeos digitais, não tem sido explorada. O benefício dessa
generalização relaciona-se com o aumento da quantidade de informação que potencialmente se
pode ocultar. Assim o presente trabalho objetiva a exploração de técnicas que viabilizem a im-
plementação de um mecanismo de esteganografia em vídeos digitais, aumentando a quantidade
de informação inserida e, desse modo, provendo privacidadedurante a transmissão de dados.
1.2 Objetivos do Trabalho
O principal objetivo deste projeto é realizar um estudo exploratório sobre técnicas que permitam
desenvolver um mecanismo de esteganografia em vídeos digitais, tal estudo deverá trazer à tona
os passos necessários para ocultar informações em vídeos digitais e também identificará os
possíveis problemas durante o processo esteganográfico.
A maior motivação deste projeto é iniciar a criação de uma metodologia para esteganografia
em vídeos digitais. Apesar deste projeto ter seu foco no ocultamento de informações textuais,
prevê-se, no futuro, a possibilidade de promover o ocultamento de informação criptografada,
contemplando aplicações que necessitem de alto grau de sigilo ou mesmo de autenticação.
Ou seja, este projeto contemplará o usuário que apenas deseja esconder informação sigilosa no
interior de um vídeo, contudo, prevê-se a possibilidade de também contemplar o usuário que
deseja criar uma chave e intercalá-la entre as imagens do vídeo para autenticação digital do
conteúdo.
1.3 Organização da Monografia
Esta monografia, de projeto de graduação, apresenta na seção2 a revisão bibliográfica do pro-
jeto. Na seção 3 é explanado sobre o estado atual do trabalho,Logo após, na seção 4, é apre-
sentada algumas conlusões e sugestões para trabalhos futuros. Na seção 5, estão presentes os
2 REVISÃO BIBLIOGRÁFICA 12
anexos.
2 Revisão Bibliográfica
2.1 Síntese das Técnicas Envolvidas
Para melhor entendimento do trabalho são descritas nesta seção as tecnologias utilizadas no
processo proposto para esteganografia em vídeos digitais. Na seção 2.1.1 são descritas as car-
acterísiticas e definição de esteganografia. Na seção 2.1.2,são descritas algumas especificações
dos formatos de vídeo AVI. O algoritmo de compressão JPEG é apresentado na seção 2.1.3 e o
processo de inserção de conteúdo no LSB (Bit menos significativo, acrônimo deLeast Signifi-
cant Bit)e o algoritmo de esteganografia JPEG-JSTEG são ilustrados naseção 2.1.4.
2.1.1 Esteganografia
A esteganografia é uma arte antiga utilizada para embutir informações secretas em mensagens
aparentemente sem importância, de forma a previnir sua detecção por terceiros. Na Grécia
antiga, um dos meios de comunicação era a utilização de textos escritos em tábuas de madeira
revestidas de cera. Demeratus, um grego, necessitava avisar a cidade-estado de Esparta sobre
as intenções de uma intervenção hostil de Xerxes, então ele removeu toda a cera do pedaço de
tábua e escreveu a mensagem na madeira no estado natural, depois revestiu a mensagem com
cera novamente, para poder trafegar com o texto esteganografado sem ser capturado. Desse
modo, o objeto contendo a mensagem foi repassado para os militares gregos, que por sua vez
retiraram a cera sobre o pedaço de madeira, podendo ler o conteúdo [D01]. A partir desse
princípio, resgatado do passado, são pesquisadas maneirasde introdução dessa abordagem no
meio digital, resultando em diversas técnicas utilizadas para este feito.
A diferença principal entre criptografia e esteganografia, éo fato da primeira existir a presença
de uma mensagem na forma codificada, enquanto que na esteganografia essa informação não é
visível. Uma mensagem criptografada permite ser detectadae até mesmo modificada caso seja
interceptada. Com apenas a utilização da criptografia, a informação cifrada pode ser ilegível,
mas este fato remete a existência de um segredo naquela cifra.
A esteganografia foi um método muito utilizado nas Guerras mundiais, mais particularmente
na comunicação, espiões alemães colocavam pequenos pontosde tinta invisível sobre letras de
revistas e jornais de grande circulação [Pet99]. As folhas de revistas pontuadas, quando aque-
cidas, revelavam a seqüência das letras [RA04]. Já na Segunda Grande Guerra, outro método
que começou a ser utilizado em esteganografia foram os micropontos, devido ao aumento da
qualidade das câmeras, lentes e filmes. Por meio desse métodouma mensagem secreta poderia
2 REVISÃO BIBLIOGRÁFICA 13
ser fotografada e reduzida ao tamanho de um ponto ( . ) , e podendo este ser um ponto final de
sentença ou o ponto de uma letra( i ) de uma outra mensagem qualquer [Jas03].
Atualmente, a esteganografia foi utilizada pelos terroristas do grupoAl Kaedapara transmissão
de mensagens pela Internet [dSP01], segundo o jornal Estadode São Paulo, a comunicação
terrorista é realizada com o auxílio de esteganografia. Segundo a CIA, Khaled Al-Fawaz, aliado
de Bin Laden, e acusado de comando dos ataques às embaixadas norte-americanas no Quênia
e Tanzânia, em 1998, é doutor em Engenharia Elétrica e Computação e tem a atribuição das
investidas de Bin Laden na Internet, onde, por meio da esteganografia, estaria transmitindo
recados a seus comparsas. Por meio da esteganografia é possível, ocultar textos em arquivos,
segundo o jornalUS Today, as mensagens secretas de Bin Laden estariam espalhadas porsites
hackers, de conteúdo adulto e de esportes, ocultas em imagens de formato Bitmap e GIF.
Na figura 1, podemos visualizar uma imagem esteganografada ou stegoimagem [SNfn05]uti-
lizada pelos terroristas daAl Kaedapara inserção de carta de Bin Laden direcionada aos jovens
muçulmanos chamando-os para aJihad(Guerra Santa). O conteúdo traduzido da carta pode ser
observado na íntegra no Anexo 1 desta monografia.
Figure 1: Figura contendo mensagem Esteganografada.
Outra aplicação pouco divulgada de esteganografia relaciona-se com a inserção de material
oculto em impressões de impressoras alaser [Fou05]. Para melhor exemplificar o processo, é
fato que a cada impressão realizada existe um código oculto em micropontos que identificam
diversas informações sobre a impressora utilizada na impressão.
A série de DocuColor, da empresa Xerox, imprime uma grade retangular de 15 pontos por 8
pontos amarelos minúsculos em toda página colorida. A mesmagrade é impressa repetidas
vezes sobre a página inteira, mas as repetições da grade são deslocadas levemente de uma grade
para outra de modo que todas elas estejam completamente separadas e paralelas às bordas da
página. Estes pontos codificam até 14bytesda informação seguidos. Tipicamente, aproxi-
madamente quatro destesbyteseram não utilizados (dependendo do modelo da impressora),
resultando em 10bytesde dados úteis para esteganografia.
Na figura 2, podemos verificar a utilização de algumas fontes de luzes azuis que catalisam a
2 REVISÃO BIBLIOGRÁFICA 14
reação para visualização das informações.
Figure 2: Esteganografia em impressão alaserde uma impressora da marca XEROX.
Diversas variáveis podem ser obtidas nessa abordagem, paraelucidar melhor, neste exemplo da
XEROX, podemos verificar a data e hora de impressão do documento além do número de série
da máquina nos 10bytespossíveis para inserção de conteúdo.
Se a informação estiver apenas oculta e não criptografada, oprocesso para identificá-la, deve
determinar uma busca em todos os arquivos suspeitos de conter a informação oculta, resultando
em um processo sem garantia da obtenção de sucesso em caso de arquivos muito extensos,
como vídeos digitais. Na abordagem de esteganografia em vídeos digitais as informações são
distribuídas nos diversos quadros do vídeo, criando uma grande complexidade na busca destas
informações por usuários ou aplicações que não conhecem o processo de esteganografia criado.
2.1.2 AVI
Video for Windows(VFW) é a extensão oficial de vídeo movente para Windows. É um pacote
de softwareque consiste dedriverscom algoritmos instaláveis e um conjunto de ferramentas
para captura e reprodução de áudio e vídeo.
O VFW tem seu próprio formato de arquivo especial, chamadoaudio-video interleaved (AVI),
que suporta áudio, vídeo, ou ambos juntos. O termointerleaveddo acrônimo AVI, deriva da
capacidade de resolução do problema deseekentre os canais de áudio e vídeo. Apesar da
execução de áudio e vídeo simultâneos, a partir de dois arquivos separados ser perfeitamente
possível, temos que considerar o tempo deseekmuito longo das unidades de armazenamento
para transmissão de dados contínuos via rede, podendo gerara sensação de descontinuidade do
áudio na sincronização com o vídeo. Para resolução deste problema o AVI utiliza a abordagem
2 REVISÃO BIBLIOGRÁFICA 15
interleaved, ou seja, intercalamento do áudio e do vídeo em um único arquivo, dividindo este
arquivo em blocos seqüênciais, com cada bloco contendo áudio e vídeo, correspondendo ao
tempo de duração do bloco durante sua execução [RG98].
Usualmente os blocos correspondem a um únicoframede vídeo, sendo que cada bloco mantém
um framede vídeo com uma quantidade de áudio associada [Lut95].
Arquivos RIFF (resource Interchange File Format)proveem um método geral para armazena-
mento e intercâmbio de dados multimídia. Aplicações podem acessar arquivos RIFF usando
serviços de E/S bufferizados. Arquivos RIFF utilizam um código de quatro caracteres para
identificar elementos de um arquivo. Os arquivos RIDD consistem em uma série de elementos
organizados hierarquicamente, ouchunks. Um chumké uma unidade lógica de dados, tal como
um frameAVI ou uma seqüência de áudio. Os dois tipos dechunksbásicos são RIFF e LIST
[Sim96].
Em implementações recentes, arquivos AVI são armazenados como um arquivo RIFF. Funções
e macros AVI têm sido providas especialmente para o processamento de E/S de arquivos AVI.
Isto elimina a necessidade de usar funções de E/S multimídiade baixo nível [Sim96].
O formato de arquivo AVI permite a compressão de vídeo com a utilização de diversos algo-
ritmos incluindo: Todos osFrames(Sem compressão), Intel Real Time Video, Indeo, Cinepak,
Motion JPEG, Editable MPEG, VDOWave, ClearVideo / RealVideo, QPEG, MPEG-4, XviD,
DivX, entre outros.
Neste projeto o formato de vídeo concebido na saída do processo de esteganografia refere-
se ao formato RIFF - AVI, por se tratar de uma abordagem que permite a não compactação
dos dados dosframesdo vídeo, não interfirindo nos valores ocultados via esteganografia com o
algoritmo JPEG-JSTEG. Mais especificamente, utiliza-se o formato AVI para apenas encapsular
os quadros esteganografados do vídeo de entrada em um vídeo de saída conjuntamente com as
imagens não manipuladas em etapas anteriores.
2.1.3 JPEG
JPEG é um padrão internacional, proposto pelo comitê ISOJoint Photographers Expert Group.
Sua compressão é uma das mais utilizadas atualmente em imagens, inclusive em dispositivos
de captura de imagens, tais como câmeras digitais.
O JPEG foi desenvolvido para comprimir imagens naturais do mundo real, tanto coloridas como
em tons de cinza (grayscale). Contudo não é adequada para imagens simples como faixas,
cartões ou desenho com linhas.
A técnica de compressão de imagem adotada pelo JPEG possui perda, ou seja, a imagem após
a compressão não é exatamente a mesma que a original. Isto ocorre porque JPEG foi projetado
para explorar limitações conhecidas a respeito do olho humano, principalmente o fato de que
2 REVISÃO BIBLIOGRÁFICA 16
pequenas mudanças de cores são menos perceptíveis que pequenas mudanças de brilho. Assim,
JPEG pretende comprimir imagens que serão vistas pelo ser humano. Se a intenção é analisar as
imagens por computador, os pequenos erros introduzidos pela técnica podem ser um problema,
mesmo que eles sejam invisíveis para os olhos [Ste98].
É comum a existência de um certo receio pelo fato da compressão ser feita com perda, ou
seja, do tipolossy,porém é importante ressaltar que quando a digitalização de uma imagem é
feita para representar cenas do mundo real, nenhum formato de imagem digital pode reter toda a
informação que incide no olho humano. Em comparação com cenas do mundo real, JPEG perde
bem menos informações que os outros formatos de imagens. A real desvantagem de imagens
comprimidas com perdas é que se a imagem for descomprimida e comprimida repetidas vezes,
ocorrerá uma perda de qualidade a cada vez, havendo uma soma das perdas de qualidade da
imagem.
O processo de codificação que ocorre sobre uma imagem para compactação segundo o padrão
JPEG pode ser descrito em quatro etapas: pré-processamento, aplicação de DCT (Transformada
discreta dos cossenos), quantização e codificação por entropia.
Figure 3: Processo de compressão JPEG.
O processo de compactação JPEG é composto das seguintes fases:
• A imagem é dividida em blocos de 8x8pixelspara preparação para cálculos com trans-
formadas matemáticas.
• Gera-se os coeficientes de freqüência após a aplicação de DCT.
• Os coeficientes gerados pela DCT na matriz de quantização sãomensurados e alguns
coeficientes até eliminados . É o processo de quantização queirá definir o grau de com-
pactação da imagem. Na etapa de Quantização os coeficientes DCT são obtidos. Esta
quantização é feita por meio de uma matriz (tabela) com 64 entradas (advinda dos blo-
cos de 8x8), onde cada uma destas entradas configura o fator dequantização para aquele
determinado coeficiente. Isto significa que cada um dos 64 coeficientes podem ser ajus-
tados individualmente, dependendo da sua importância paraa imagem. Cada entrada na
matriz de quantização é um valor inteiro de 8bits. Quanto maior os valores da matriz
mais distorção é introduzida a imagem e quanto menor os valores da matriz, maior é a
qualidade da imagem compactada (o valor 1 significa qualidade máxima). O processo
2 REVISÃO BIBLIOGRÁFICA 17
feito pelo quantizador é o de dividir os valores dos coeficientes resultantes da DCT pelo
correspondente fator de quantização presentes na matriz dequantização e arredondar o
resultado para o inteiro mais próximo. Desta forma, configurando-se valores maiores
para as freqüências mais altas, faz-se com que elas se tornemzero, ou seja, as freqüên-
cias altas são desprezíveis. Vale ressaltar que essas perdas são proporcionais ao fator de
compressão desejado alterado pelo usuário determinando o nível dethreshold(corte) no
gráfico da DCT. No gráfico da figura 4, podemos observar o processo de compressão, na
figuraa, verificamos o gráfico obtido em nível de freqüência, após o cálculo da matri z de
quantização e na figurab, observamos othresholdaplicado nas freqüências mais altas.
Figure 4: Gráfico das frequências de uma imagem em JPEG ethresholddas freqüências maisaltas.
• Na última etapa ocorre a codificação por entropia, os coeficientes DC quantizados das
unidades de dados são tratados de forma diferente dos coeficientes AC. Os coeficientes
DC determinam a cor básica da unidade de dado e geralmente há uma variação muito pe-
quena de cor entre unidades de dados adjacentes. Assim os coeficientes DC são codifica-
dos como a diferença entre o coeficiente atual e o anterior. Somente o primeiro coeficiente
DC é integralmente codificado. Os coeficientes AC são processados em zig-zag, de forma
que as freqüências mais baixas (que possuem valores maiores) são codificadas primeiro
que as freqüências mais altas (valores mais baixos). Esta forma de processamento gera
valores muito similares em seqüência, o que possibilita umacodificação muito eficiente.
A codificação deRun-Lengthé aplicada aos valores zero dos coeficientes AC quantiza-
dos. Em seguida, os valores não nulos dos coeficientes AC, bemcomo os coeficientes
DC, são transformados em uma representação espectral para comprimir os dados ainda
mais. Finalmente a codificação deHuffmané aplicada e tem-se o arquivo JPEG pronto.
Esta transformada é capaz de agruparbits em relação a uma árvore de decisão criada a
partir da quantização.
Para exemplificar a codificaçãoRun-Length, utilizaremos o exemplo da seqüência de 8bits:
00011111, que pode ser representada para compactação dos dados com apenas 4bits 3051, o
2 REVISÃO BIBLIOGRÁFICA 18
número três representa o número de vezes em seqüência que o valor zero apareceu e o número
cinco representa o número de vezes que o algarismo 1 apareceupós o número zero. Desse modo
é organizado e comprimido os valores da matriz depixelsRGB do algoritmo JPEG.
A codificação deHuffmangera uma árvore de decisão. Basicamente, para estruturaçãoda árvore
segue-se algumas premissas básicas.
1. Caracteres diferentes não têm que ser codificados com um número fixo de bits.
2. Os caracteres que ocorrem mais freqüentemente podem ser codificados com um número
menor de bits, enquanto que caracteres que não ocorrem com freqüência são codificados
com mais bits.
Esta codificação estatística depende da freqüência de ocorrência de caracteres ou das seqüências
debytes. Dados os caracteres que devem ser codificados e as suas respectivas probabilidades
de ocorrência, o algoritmo do código deHuffmandetermina o código ótimo (que usa o menor
número debits) para armazenar estes caracteres.
2.1.4 Inserção de conteúdo no LSB
Esse processo de inserção em LSB,bit menos significativo em imagens, explora as caracterísit-
icas do métodoLossyde compressão dos dados presente no padrão de imagens JPEG.
Supondo a utilização de uma imagem a 24bits (profundidade de 3bytes) e resolução de
1024x768pixels. A dimensão desta imagem é de 1024x768x24 uniformemente para 8 (bytes 1
= bits 8) resultando em 2,359,296 bytes, na prática, perto de2 Mbytes. As variações da cor são
derivadas da variação dos valores supostos para cadapixelde vermelho, verde, azul, lembrando
que o preliminar de cores para cadapixel representado no exemplo está com 3bytes. O olho
humano não tem alcance para as variações ínfimas dospixelsmenos significativos [Cap97]. O
JPEG-JSTEG é um método de ocultamento de mensagens, que explora a inserção de conteúdo
no LSB (Least Significant Bit).
Para exemplificar, se os trêsbytesde umpixelqualquer forem:
10101101 11010000 00011101
Nós podemos inserir umxyzbinário da palavra da seguinte maneira:
1010110x 1101000y 0001110z
O pixel representado acima terá uma pequena variação na componentede cor R (vermelho),
G (verde) e B (azul), sendo indistinguíveis para a visão humana, uma vez que o valor repre-
sentado é uma mesclagem das três componentes de cor, ocasionando em uma representação
2 REVISÃO BIBLIOGRÁFICA 19
de uma região que equivale a menos de 0,001% da imagem total. Se a mensagem ocultada
estiver inserida compartilhadamente empixelsdispersados por toda a imagem, a degradação
visual obtida será insignificante para a percepção da variação de tonalidades de cor pela visão
humana. Além disso, consideremos que este processo é realizado após a etapa de quantização
do algoritmo de compressão JPEG, o que resulta na inserção deconteúdo a ser preservado na
imagem uma vez que estamos alterando resultado da compressão.
Figure 5: Imagem original a esquerda e imagem esteganografada a direita com JPEG-JSTEG
Percebe-se na imagem da direita da figura 5, que não são refletidos visualmente as alterações
sofridas na matriz da imagem após o processo de inserção de conteúdo adicional, ou seja, o
sistema visual humano não tem a capacidade de percepção na alteração de valores de tonali-
dades bem próximos nospixels,fato que aumenta o sigilo dos dados e comprova a eficácia da
esteganografia. Segundo Wayner [P02], os humanos conseguemcapturar mudanças em uma
imagem quando essas ocorrem em um fator acima de 3%, fator bemsuperior comparado com
as modificações de no máximo 1% geradas no algoritmo JPEG-JSTEG.
Outros métodos podem ser implementados sem resultar em perda da informação. Por muito
tempo acreditou-se que era impossível a inserção de informação em imagens comprimidas, mas
o algoritmo JPEG-JSTEG e suas variações, são resultados de inúmeras pesquisas em méto-
dos de compressão no nível de freqüência baseados na FFT (Fast Fourier Transform) e DCT
(Discrete Cossine Transform) adicionando novas possibilidades de aplicações na área de confi-
dencialidade digital.
Vale lembrar, que esse algoritmo, recebe como entrada imagens de formato GIF, TGA e BMP,
gerando como saída uma imagem no formato JPEG, contudo problemas foram encontrados na
inclusão de dados em formatos de entrada do tipoBitmap [Cap97].
Em muitos casos, este método pode servir para aplicação de autenticidade digital, mais partic-
ularmente na garantia de direitos autorais sobre imagens emcaso de controvérsias.
2 REVISÃO BIBLIOGRÁFICA 20
Outra aplicação, relaciona-se com o aumento do sigilo na comunicação esteganografada em
duas vias, ou seja, um usuário insere conteúdo de interesse em imagem e a repassa para outro
usuário que sabe recuperar as informações esteganografadas da imagem, para posterior leitura.
2.2 Trabalhos relacionados
2.2.1 Camaleão
Camaleão é umsoftwarepara esteganografia em imagens estáticas, desenvolvido porAnderson
Rocha [RA04] da Universidade Estadual de Campinas (Unicamp).
Tal software,livre, foi desenvolvido na linguagem de programação orientada a objetos JAVA e
possui características interessantes como a inserção de material oculto de diversos formatos em
imagens, como por exemplo, arquivos textos, imagens e executáveis. O camaleão, implementa
a inserção de esteganografia em imagens por meio do LSB (Bit menos significativo).
2.2.2 Esteganálise - Detecção de Esteganografia
Esteganálise é o nome dado ao processo de pesquisa para obtenção de mensagens secretas em
conteúdo esteganografado. Mais especificamente, consistena pesquisa de conteúdo oculto em
material esteganografado de duas formas:
• Identificar a presença de mensagens escondidas.
• Recuperação dos dados.
Segundo Wayner [P02], a identificação da existência de uma mensagem oculta é suficiente para
um agressor. As mensagens, são muitas vezes, frágeis e um agressor pode destruir a mensagem
sem ter ao menos obtido seu significado.
Existem diversos métodos de esteganálise mas em geral são utilizados métodos específicos que
atacam determinados algoritmos. Um típico exemplo de aplicação que utiliza dessa abordagem
é osoftwarelivre de detecção de esteganografia denominado OutGuess.
O OutGuess (universal steganography) é umsoftwaredesenvolvido por Niels Provos para de-
tecção de conteúdo esteganografado em imagens. Ele obtém informações através da análise
de LSB da imagem encontrando padrões de esteganografia já descritos em seu algoritmo, tais
como: JPEG-JSTEG, JP Hide&Seek e F5.
2 REVISÃO BIBLIOGRÁFICA 21
2.3 Análise Crítica (pontos positivos e negativos)
As abordagens anteriores possuem como principal ponto positivo uma menor complexidade
no processo de ocultamento de informação e, como principal ponto negativo, a limitação da
quantidade de informação que se pode ocultar.
Uma vantagem da abordagem proposta neste projeto é, exatamente, a possibilidade de se ocultar
quantidades maiores de informações em vídeo do que imagens,pois um vídeo é uma coleção
de imagens.
Em uma imagem, sabe-se que a informação oculta está nosbits menos significativos. Em
um vídeo, primeiro, é necessário identificar qual/quais imagem/imagens contém informações
ocultas para posterior análise de seu conteúdo.
Outra vantagem relaciona-se com a dificuldade computacional de varredura do vídeo em busca
de informação oculta, aumentando o grau de sigilo. Uma vez que a busca por conteúdo oculto
em uma imagem, a qual sabe-se que seu valor está inserido nobit menos significativo (LSB) é
aproximadamente 4% a probabilidade de encontrar o conteúdooculto. [Ter00].
Quando trabalhamos com vídeos, aumentamos nosso espectro de busca para a ordem do número
de frames(quadros) do vídeo, portanto quanto maior for o número de quadros, maior será a
complexidade da busca pela informação ocultada. Se por exemplo tivermos um vídeo com 120
quadros, correspondendo a 4 segundos de duração, teremos uma probabilidade de encontrar a
informação oculta, caso saibamos o algoritmo de esteganografia utilizado, de:
1.76884 · 10−168
Este valor, extremamente baixo de probabilidade, está aplicado a um vídeo de ínfima duração
comparada aos vídeos convencionais e filmes que estamos habituados a assistir no nosso cotid-
iano(author?) [Pet99].
Esta abordagem de esteganografia em vídeos digitais permitea entrada de material multimídia
no formato MJPEG, AVI, MPEG, MOV, contudo, uma limitação da metodologia consiste na
fixação de apenas um formato de saída, neste caso o formatoMotionJPEG.
Como desvantagem, a técnica proposta introduz mais complexidade no processo de ocultamento
de informação, uma vez que, na compressão de vídeo utiliza-se redução da redundância tempo-
ral inter-quadros, ou seja, algoritmos como MPEG utilizam diversos quadros não completos no
interior de seu conteúdo dificultando a obtenção correta dosquadros do vídeo no processo de
obtenção das figuras.
3 ESTADO ATUAL DO TRABALHO 22
3 Estado atual do trabalho
Para entendimento do estado atual do trabalho são descritasnesta seção as atividades e pesquisas
realizadas. Na seção 3.1 é apresentada uma síntese do projeto. Na seção 3.2, são descritas as
atividades realizadas. Os conhecimentos adquiridos são explicados na seção 3.3. As dificul-
dades e limitações do projeto são apresentadas na seção 3.4.E finalmente, na seção 3.5, são
explanados os resultados obtidos.
3.1 Projeto
Este projeto tem o intuito de pesquisar técnicas e métodos deesteganografia, que usualmente
são aplicados a imagens, que possam ser aplicados no desenvolvimento de um mecanismo de
ocultamento de informações em vídeos digitais, possibilitando a inserção de quantidade maior
de informações.
A técnica apresentada abre possibilidades para novos modosde acesso a conteúdo, como, por
exemplo, autenticação de usuários sobre material multimídia e confidencialidade na comuni-
cação digital.
3.2 Descrição das Atividades Realizadas
Basicamente o foco principal do projeto relaciona-se com a pesquisa e viabiliazação de um
método de esteganografia em vídeos.
O método proposto pode ser dividido em quatro etapas fundamentais:
1. Fragmentar o vídeo em uma seqüência de imagens.
2. Inserção de texto nas imagens.
3. Criação de Stegovídeo, por meio da agregação das diversasimagens.
4. Decodificação do Stegovídeo para recuperação do texto oculto nas imagens.
As etapas 1 e 2, serão descritas na sub-seção 3.2.1. A etapa decriação de vídeos esteganografa-
dos será descrita na sub-seção 3.2.2 e para finalizar na seção3.2.3 será descrita a etapa de
recuperação do material ocultado no vídeo.
3.2.1 Inserção de material oculto nas imagens
A abordagem utilizada para inserção de material oculto nas imagens foi apoiada no algoritmo
JPEG-JSTEG, o qual faz uso da inserção de conteúdo no LSB de imagens no formato JPEG.
3 ESTADO ATUAL DO TRABALHO 23
Para iniciar a etapa de inserção de texto oculto em imagens necessitamos manipulá-las de modo
que estejam pré-processadas corretamente, ou seja, que foram obtidas integralmente do vídeo,
para isso foram utilizadas as imagens em formato BMP (Windows Bitmap) devido ao fato desse
formato de imagem manter de maneira íntegra a matriz depixelsem RGB da imagem, servindo
de perfeita entrada para a inserção de texto com o algoritmo JPEG-JSTEG. O algoritmo JPEG-
JSTEG beneficia-se da redução de redundância temporal do algoritmo de compressão JPEG
para inserir material adicional de maneira oculta em uma imagem.
Foram realizados alguns testes com o objetivo de dscobrir aspotencialidades da técnica escol-
hida. Nesses testes, foi utilizada uma imagem de dimensões 300 x 350pixelscom tamanho de
arquivo de 89.540Kbytes.Com essa imagem foi esteganografado um arquivo texto no formato
txt de tamanho 2.656Kbytes, baseado na inserção nosbits menos significativos da imagem
(LSB).
Na tabela abaixo, pode-se verificar as tentativas de inserção de textos na imagem de tamanho
89.540Kbytes, percebe-se que valores inferiores a 2.656Kbytesforam inseridas com sucesso
para obtenção de uma imagem em formato JPEG com tamanho de 22.306Kbytes, utilizando o
algoritmo JPEG-JSTEG.
Tamanho do Arquivo Status7.071 kbytes de texto - Não esteganografou...6.722 kbytes de texto - Não esteganografou...6.449 kbytes de texto - Não esteganografou...5.835 kbytes de texto - Não esteganografou...4.957 kbytes de texto - Não esteganografou...4.174 kbytes de texto - Não esteganografou...3.223 kbytes de texto - Não esteganografou...2.764 kbytes de texto - Não esteganografou...2.682 kbytes de texto - Não esteganografou...
2.669 kbytes de texto - - Não esteganografou...2.656 kbytes de texto OK2.604 kbytes de texto OK
2.548 kbytes de texto OK
Table 1: Tabela com a dimensão de entrada para textos no algoritmo JPEG-JSTEG.
Analisando as informações contidas na tabela, podemos perceber que apenas 2,966% do tamanho
da imagem pode conter informação oculta sobre osbits menos significativos. Entretanto este
valor pode ser substancialmente aumentado se optarmos pelaesteganografia, utilizando LSB,
em diversas imagens, como no caso de vídeos, uma vez que ”trechos” do texto final ordem ser
separados e ocultados em diversos quadros do vídeo.
O processo de esteganografia em imagens é representado na figura 6. Primeiramente, obtêm-
3 ESTADO ATUAL DO TRABALHO 24
se as imagens separadas com seus respectivos trechos de texto, cada trecho de texto é es-
teganografado com sua respectiva imagem. Esse processo é realizado com base na tabela 1.
Figure 6: Inserção de texto oculto em imagem.
Este processo de inserção de conteúdo adicional à imagem serve de base para criação doSte-
goVídeona próxima etapa do processo de ’esteganogravação’.
Nesta etapa é definida as posições das imagens no vídeo a ser gerado. O processo de determi-
nação dos quadros correspondentes no vídeo é de fundamentalimportância para o sucesso do
processo, pois garante a correta obtenção do conteúdo oculto no processo de desesteganografia.
Na figura 6, é possível observar todos os formatos de imagens,textos e vídeos presentes no
processo de esteganografia criado.
Para obtenção dos quadros do vídeo fez-se uso de aplicativosde descompactação de vídeo, tais
como dumpmpeg,usando a biblioteca SDL e SMPEG e o Mplayer para gerar uma série de
imagens BMP como saída.
Para quebrar o vídeo em uma série de imagens, utilizou-se o Mplayer [Biu05], devido a esse
softwareaceitar diversos formatos de vídeo como entrada (MPEG, AVI,MOV, MJPEG). Op-
cionalmente, para entrada de vídeos MPEG pode-se utilizar osoftware dumpmpeg [Lan02].
As imagens recuperadas do vídeo original são obtidas em formato BMP, devido ao fato de esse
formato mantém a integridade da matriz depixelsRGB, servindo de base para as transformações
3 ESTADO ATUAL DO TRABALHO 25
futuras que necessitarão sofrer alterações bruscas em suasmatrizes.
Logo após, as imagens escolhidas para receberem a esteganografia são convertidas em formato
GIF, pois este foi o padrão de imagens que obteve melhor desempenho como entrada para o al-
goritmo de esteganografia JPEG-JSTEG. Mas antes da aplicação do algoritmo de ocultamento
dos dados, faz-se necessário a divisão do texto, em formato TXT, nos diversos quadros escol-
hidos. Este processo de divisão do conteúdo a ser ocultado é realizado com base na tabela 1 da
seção 3.2.1 para uma imagem de mesma dimensão e tamanho de arquivo.
A partir das imagens escolhidas e da divisão do texto a ser escondido, obtêm-se as duas entradas
necessárias para aplicação da esteganografia com o algoritmo JPEG-JSTEG.
Em seguida, todos os quadros do vídeo que não sofreram a esteganografia são convertidos para
o formato JPEG, servindo de pré-processamento para a integração com os demais quadros de
mesmo formato.
3.2.2 Criação do Stegovídeo
Com a seqüência de quadros definida no mesmo formato - JPEG - basta encapsular a mesma
em um formato de arquivo de vídeo, gerando o chamdo Stegovídeo. O formato escolhido foi o
AVI. Para criação do Stegovídeo, foram testados diversossoftwares, entre eles podemos citar:
Mplayer [Biu05], MJPEG2YUV e Mencoder [Biu05].
O vídeo encapsulado dessa forma constitui um vídeo no formato Motion JPEG. Com utiliza-
ção doMencoder (Mplayer), como descreve a figura??. Possuindo como característica a não
utilização de compressão inter-quadros. Em outras palavras, o vídeo em formato AVI gerado
contém uma série de imagens comprimidas no formato JPEG, sendo que estas imagens não
possuem dependências temporais entre elas.
3.2.3 Recuperação do texto esteganografado no vídeo
Para recuperar o conteúdo de texto esteganografado utiliza-se a fragmentação do vídeo em
frames(quadros), para tal tarefa é utilizada a biblioteca SMPEG, com odumpmpegou o Mplayer.
Para efeitos de fragmentação, se o vídeo tem 30 segundos de duração e está a uma taxa de 30
fps (framespor segundo) obteremos, após este processo, 900 imagens. Percebe-se que o valor
de imagens geradas é elevado, dificultando a procura aleatória por conteúdo oculto por uma
pessoa não autorizada e até mesmo por algum algoritmo de força bruta1. Este fato agrava-se,
no momento em que trabalhamos com vídeos de duração maior, como em vídeos reais, os quais
chegam facilmente na ordem de milhares de quadros, dificultando exponencialmente a tarefa de
busca por imagens esteganografadas.
1Algoritmo que tenta exaustivamente, por meio de teste de todas as tentativas possíveis, o encontro da solução.
3 ESTADO ATUAL DO TRABALHO 26
Com a obtenção de todas as imagens do vídeo, podemos identificar pelo índice, determinado
pela aplicação de esteganografia, asStegoImagense aplicar a esteganografia reversa (deses-
teganografia) com o algoritmo JPEG-JSTEG.
Na figura 7 podemos visualizar as etapas para a obtenção do texto esteganografado a partir do
StegoVídeo o qual contém as StegoImagens em quadros determinados pela a aplicação.
Figure 7: Recuperação do texto.
A partir da obtenção dos diversos trechos do texto, concatena-se esses pedaços, em caso de es-
teganografia em mais de um quadro, para obtenção do texto completo, inicialmente esteganografado.
3.3 Conhecimentos Adquiridos
Nesta seção serão descritas os conhecimentos técnicos adquiridos no decorrer do desenvolvi-
mento do projeto de graduação.
Primeiramente, foram definidos os métodos de esteganografiapara as imagens JPEG e escolha
de um mecanismo de desempacotamento e empacotamento das imagens em um vídeo MPEG,
MOV, AVI, MJPEG e empacotamento AVI eMotion JPEG(MJPEG).
Utiliza-se o empacotamento de vídeo esteganografado em AVIe Motion JPEGpor tratar-se de
um formato que mantém a informação dos quadros integralmente, devido ao fato de escolha
da opção de não compressão, prevista no formato, mantendo desse modo a qualidade total do
vídeo.
O próximo passo consiste na elaboração do processo de ocultamento e recuperação do conteúdo
escondido nos quadros do vídeo. Para exemplificar, na figura 8, pode-se verificar o processo
genérico de esteganografia em um vídeo digital.
3 ESTADO ATUAL DO TRABALHO 27
Figure 8: Processo de inserção de conteúdo oculto no vídeo.
Ao final do projeto, pretende-se disponibilizar o aplicativo gerado na Internet, criando um pro-
jeto desoftwarelivre, para auxiliar a sociedade e garantir a continuidade do mesmo. Além
disso, osoftwarecriado poderá ser utilizado como ferramenta de apoio para ensino de segu-
rança digital com o uso de esteganografia, em cursos de graduação.
Sobre a visão teórica do projeto, foram estudadas diversas técnicas e aplicações relacionadas
ao escopo de multimídia e confidencialidade/segurança digital. Na seção 3.3.1 será descritas
as atividades realizadas na área de Multimídia, enquanto que na seção 1 serão apresentadas as
atividades sobre o ponto de vista de segurança e confidencialidade digital.
3.3.1 Multimídia
Basicamente foram analisadas em Multimídia, algoritmos decompressão de imagens como o
JPEG, para análise da possibilidade de inserção de código adicional ao conteúdo da imagem.
Também foram analisadas diversas técnicas de compressão emvídeos para inserção das imagens
no vídeo de maneira a camuflar o conteúdo de maneira mais concreta com o maior número de
bytesde um texto no tipo ASCII (American Standard Code for Information Interchange).
Inicialmente, foram pesquisadas os algoritmos capacitados e utilizados para esteganografar con-
teúdo em imagens, resultando dessa busca os algoritmos JPEG-JSTEG e osoftwaredo projeto
Camaleão [RA04], o qual utiliza uma cifragem de blocos antesde inserir conteúdo em vários
formatos de imagens.
No início do planejamento do projeto foi esboçado o diagramade casos de uso objetivando criar
uma visão holística do processo de esteganografia do projeto. A figura 9, ilustra oUse Case
inicial do projeto.
3 ESTADO ATUAL DO TRABALHO 28
Figure 9: Diagrama de Casos de Uso do projeto.
Tipicamente, encontrou-se a divisão coerente para um projeto de esteganografia qualquer, ilus-
trando o processo de concepção do material esteganografadoe recuperação da informação ocul-
tada em duas vias bem definidas e não relacionadas, ou seja, a primeira via responsável pelo
ocultamento dos dados e a segunda via responsável pela obtenção dos dados anteriormente
manipulados e camuflados.
Após a concepção do projeto, foram pesquisadas as especificações dos formatos de imagens
e vídeos a serem utilizados nos processos de esteganografia eesteganografia reversa (deses-
teganografia).
Com o desenvolvimento do projeto percebeu-se a possibilidade de manipulação de vídeos em
formatos mais utilizados habitualmente como o MPEG, AVI, MJPEG, MOV este fato só foi
possível com o desenvolvimento de um protótipo funcional para o projeto, melhor detalhado na
seção 3.3.3, utilizando diversas ferramentas apresentadas na seção 3.2. Contudo como formato
de saída fixou-se oMotion JPEG,como melhor descrito na seção 3.2.
3.3.2 Segurança e Confidencialidade Digital
Em relação a Segurança e confidencialidade do projeto, forampesquisadas, inicialmente con-
ceitos e base histórica de Segurança Digital, mais especificamente aspectos envolvidos na Crip-
tografia de dados e Esteganografia.
Foram analisados os aspectos de pesquisa na área de esteganografia, mais particularmente as
técnicas desenvolvidas que são consideradas estados da arte, como inserção nobit menos sig-
nificativo (LSB).
3 ESTADO ATUAL DO TRABALHO 29
3.3.3 Shell Script
Para criação doScriptStegovídeo deste projeto foi utilizado a linguagem Shell para seu desen-
volvimento, facilitando a criação de um protótipo funcional para interação com a esteganografia
de vídeos.
Bourne Again Shell é um trocadilho em homenagem ao criador doShelloriginal, Steve Bourne,
conhecido também como bash. A principal utilidade de uma linguagem shell é possibilitar a
utilização do sistema operacional, pois é aShellque lê e interpreta os seus comandos [Pit03].
Podemos customizar nossas tarefas e criar aplicativos inteiros com a utilização de bash, pois é
de fácil desenvolvimento e possibilita a utilização de diversos comandos da plataforma UNIX,
tal comoecho, cat, ls, chmod.
A primeira linha do script deve indicar qual será o interpretador utilizado para executar os co-
mandos. Para tal tarefa, deve-se utilizar a representação "#!" para indicar qual a linguagem
utilizada, no caso da linguagemShellutiliza-se /bin/sh, para interpretador da linguagem Perl,
utiliza-se /usr/perl, dentre outros. Bash também possui estruturas de programação para condi-
cionais (if e cases) e repetições (while e for).
StegoVideo foi o nome dado ao algoritmo de ‘esteganografia’ e‘desteganografia’ desenvolvido
para este projeto. Basicamente, para a criação do StegoVideo, foram necessários a utilização
das diversas ferramentas de interação com imagens e vídeos descritas na seção 2 e 2.1.
Ele permite como entrada, para criação do vídeo esteganografado, vídeos no formato AVI
(2.1.2) e MPEG, e como saída é obtido um vídeo MJPEG (Motion JPEG).
3 ESTADO ATUAL DO TRABALHO 30
Listagem 1Algoritmo StegoVideo.Inicio
Caso seja solicitada a opção -stego façaFragmentar vídeo em Jpeg’s;Se opcao = -frame então
Transformar quadro escolhido em BMP;Aplicar JPEG-JSTEG com texto;
SenãoTransformar primeiro quadro em BMP;Aplicar JPEG-JSTEG com texto;
FimseCriação de vídeo esteganografado AVI com Mencoder;Apagar imagens e arquivos temporários;
Caso seja inserida a opção -destego façaFragmentar vídeo em JPEG’sSe opcao = -frame então
Aplicar JPEG-JSTEG inverso no quadro determinado;Senão
Aplicar JPEG-JSTEG inverso no primeiro quadro;FimSeApagar arquivos temporários;
Fim
Para ilustrar melhor o funcionamento do algoritmo StegoVideo, na seção 5.1, apresenta-se a sua
implementação completa.
3.4 Dificuldades e Limitações
A maior limitação do projeto de esteganografia relaciona-secom a correta manipulação das
mídias envolvidas, ou seja, para inserção de material adicional em imagens e vídeos faz-se
necessário o conhecimento dos mecanismos de obtenção e possível compressão presentes.
Foram encontradas dificuldades na inserção de textos com o algoritmo JPEG-JSTEG quando
trabalhado com imagens no formato BMP e JPEG, devido a presença de RLE nosBitmaps
das imagens BMP, e na compressão do algoritmo JPEG. Mais detalhadamente percebeu-se que
para obtenção de sucesso na execução do algoritmo JPEG-JSTEG, deve-se inserir imagens com
o mínimo de compressão possível, pois o algoritmo gera perfeitamente imagens em formato
JPEG a partir de outros padrões de imagens, como por exemplo opadrão GIF e TGA, mas tem
limitações na geração a partir de imagens JPEG.
Embora as técnicas baseadas em LSB consigam enganar o sistema visual humano, elas podem
ser corrompidas com a utilização de compressão do tipolossy, ou seja, com perda de infor-
mações das imagens. Os algoritmos do tipolossyselecionam os macro bloco mais importantes,
após a etapa de obtenção dos coeficientes DC e AC, não levando em consideração osbitsmenos
3 ESTADO ATUAL DO TRABALHO 31
significativos, os quais são perdidos no processo dethresholddo algoritmo de compressão.
Assim sendo, diversas dificuldades foram encontradas para garantia da permanência da infor-
mação, após a etapa de codificação do vídeo, uma vez que tentou-se inicialmente trabalhar com
algoritmos de compressão de vídeo MPEG não obtendo resultados satisfatórios, pois o conteúdo
esteganografado era modificado pelo processo de compressãointer-quadros. Este fato deve-se
a capacidade de redução dosframesdo vídeo que o algoritmo MPEG implementa, por meio
de análise comparativa entre os quadros anteriores e posteriores para remoção deframesmuito
parecidos ou macro blocos deframesparecidos.
Outro problema relacionado, também com a compressão de vídeo, relaciona-se com os diver-
sos aplicativos utilizados para o encapsulamento do vídeo,pois diversas implementações são
realizadas para a compressão dos dados de um mesmo padrão, o que dificulta a manipulação e
codificação de vídeos, uma vez que geram-se vídeos de tamanhodiferente a partir das mesmas
imagens. Este fato foi comprovado, na manipulação de diversos aplicativos que implementam a
compressãoMJPEG, tais como, Mplayer, MJPEG2YUV, Mencoder, gerando vídeos com níveis
de compressão diferentes, mesmo quando passados como parâmetro a taxa de compressão. A
etapa de codificação das imagens esteganografadas (StegoImagens)em vídeo não foi finalizada
totalmente no projeto, devido a problemas com o encapsulamento do vídeo.
Outras dificuldades, relacionadas aos padrões, foram encontradas no processo de desesteganografia
pois é necessário a correta marcação dosframesdo vídeo para obtenção do material ocultado,
muitas vezes foram obtidas porções de quadros em valor inferior ou superior ao anteriormente
obtido, antes da etapa de esteganografia.
3.5 Resultados Obtidos
Basicamente, como resultados concretos obtidos, realizou-se a esteganografia digital em vídeos,
mostrando-se como uma alternativa para inserção de confidencialidade, metodologia esta de
extrema importância para a área de autoria multimídia, uma vez que o conteúdo ocultado pode
ser utilizado como garantia de autenticidade da criação do material pelo autor, criando um
mecanismo de ¨marca registrada¨ sobre o conteúdo multimídia para posterior análise e validação
do conteúdo pertencente a sua empresa ou pessoa física combatendo fraudes e cópias indevidas.
Além disso, o estudo da capacidade de inserção de dados em imagens e vídeos podem ser
consideradas como resultado deste projeto.
Foi indentificado a necessidade de criação de um formato próprio de codecspara encapsula-
mento do vídeo (StegoVideo), uma vez que os codificadores existentes geram compressão na
saída do vídeo, modificando o conteúdo das imagens esteganografadas do vídeo.
Foi submetido oposter,entitulado ¨Esteganografia Digital: Uma abordagem em vídeos¨, ao con-
gresso WEBMedia 2005, com autoria de Diego Fiori de Carvalho(aluno do presente projeto) e
4 CONCLUSÕES E TRABALHOS FUTUROS 32
Rudinei Goularte (orientador do presente projeto).
Outro resultado satisfatório, foi a conhecimento adquirido em Segurança Digital, passado para
o grupo de pesquisa do laboratório Intermidia, do ICMC - USP,São Carlos.
Desse modo, os resultados elucidados nesta monografia, bem como a metodologia desenvolvida
contribuiram em direção a criação de uma abordagem diferenciada na interação com o conteúdo
oculto em vídeos digitais.
4 Conclusões e Trabalhos Futuros
Para o presente momento conclui-se que a esteganografia digital pode ser aplicada em vídeos,
porém deve-se saber que a compressão, dos diversos formatosde vídeo, afetam o conteúdo
ocultado, via LSB, de maneira significativa, fato este comprovado neste trabalho.
A criação de um protótipo funcional de esteganografia digital, denominadoStegovídeo(Script
detalhado melhor nos anexos), foi de grande importância para a comprovação da metodologia
desenvolvida neste trabalho. Percebe-se que a inserção de material oculto, em vídeos digitais,
proveu um mecanismo com alto grau de integridade dos dados, uma vez que foi comprovado
a dificuldade computacional do encontro de informação esteganografada, além da dificuldade
relacionada à alteração deste conteúdo por terceiros. A autenticação, do material multimídia,
pode ser perfeitamente realizada com a inserção de um ou maiscódigos no decorrer dosframes
do vídeo concebido após o processo de esteganogravação.
Como trabalhos futuros, sugere-se a criação do codificador próprio de vídeo de esteganografa-
dos. Também como trabalhos futuros, objetivando o maior sigilo e segurança das informações
esteganografadas, pode-se criar mecanismos de criptografia no texto esteganografado, determi-
nando uma cifra para ser ocultada nos quadros do vídeo. O presente trabalho não implementa
essa técnica mas sugere para outros trabalhos essa abordagem.
Vários tipos de técnicas de criptografia podem ser utilizadas em conjunto com a esteganografia,
aumentando o sigilo, autenticidade e integridade das informações. A criptografia é um ramo da
matemática aplicada que pretende abordar a segurança na cifragem de mensagens sendo essas
de qualquer tipo. Uma vez definido o processo de esteganografia em vídeos, podemos perfeita-
mente inserir o conteúdo em forma de cifra criptografada, uma vez que os textos inseridos, nos
quadros dos vídeo, nada mais são quebits de informações. Pode-se gerar diversas formas de
criptografia, aliada a esteganografia, como garantia de sigilo, pode-se inserir chaves simétricas
à quadros do vídeo, para garantia de autenticidade, é factível de implementação a criação de um
mecanismo de assinatura digital ou troca de chaves assimétricas, com auxílio de um algoritmo
do tipo RSA.
Uma limitação da metodologia, relaciona-se com o não tratamento do canal de áudio do vídeo
5 ANEXO 33
final. Uma abordagem a ser tratada como trabalho futuro relaciona-se com a inserção de es-
teganografia também no canal de áudio do vídeo, aumentando desse modo, a eficácia do ocul-
tamento das informações, podendo estas também estarem criptografadas.
5 Anexo
5.1 Anexo 1 - Carta de Bin Laden esteganografada na figura 1.
‘‘ Tenho também importante mensagem para nossos jovens, nesse período difícil que atraves-
samos. Vocês devem levantar bem alto a bandeira da Jihad contra os sionistas. Vocês são os
legítimos sucessores de nossos valentes ancestrais.
A propósito de nossos jovens, é bom saber que eles acreditam no paraíso após a morte. Eles
sabem que tomar parte na luta contra os infiéis não abreviará seus dias. E que estar ausente dela
não tornará seus dias mais longos. Nossos jovens sabem muitobem o significado dos versos:
Se a morte é certa, então é uma vergonha morrer covardemente.Quem não morrer pela espada,
morrerá por outra razão.
Nossos jovens crêem no que diz Alá: ..o melhor mártir é o que não foge da batalha, enquanto
não for morto. Não tenham medo de morrer: seus privilégios estão garantidos. Ao primeiro
jorro de seu sangue, lhes será mostrado seu lugar no paraíso evocês serão agraciados com as
jóias da Fé, serão protegidos do teste no túmulo, serão consagrados com a coroa da dignidade...
Nossos jovens sabem que seu destino não é outro, senão matar os infiéis. Eles não querem
explicação de secretários de Defesa, como William Perry. Nosso jovens responderão às ameaças
dos americanos, cantando: Não há nada que nos explicar, há somente que cortar as gargantas
dos infiéis. Nosso jovens, chamados de covardes por vocês, americanos, estão competindo entre
eles para matar vocês.
Nossas mulheres também estão conscientes da importância daJihad. Elas nos dizem: Preparem-
se como guerreiros a questão em pauta é maior do que as palavras. Não deixem que a matilha
de infiéis devorem as asas da nossa liberdade. Onde estão as armas dos homens para defender
as mulheres? A morte é melhor do que uma vida de humilhações!
Vamos, portanto, à guerra, meus irmãos. Sob as bênçãos de Alá.”
Osamah bin Muhammad bin Laden, quinta-feira, 9/4/1417 A.H (calendário muçulmano, baseado
nos ciclos lunares e que tem como ponto de partida a fundação da primeira cidade-estado
muçulmana, em 622 ) - 23/8/1996 AD.
Em Hindukush Mountains, Khurasan, Afghanistan.
5 ANEXO 34
5.2 Anexo 2 : Script Stegovideo
Listagem 2Script StegoVideo#!/bin/shcase "$1" in ’-stego’
# fragmentar o vídeo avi(entrada número 1) em frames jpegmplayer -vo jpeg $2if [ "$3" == "-frame" ]; then# Exibe a opcao selecionada
echo -e ’\e[33;5m MODO FRAME ATIVADO \e[m’# transformar a imagem destino jpeg em gif escolhendo o frame pelo usuário.
convert $4 stegotest.gif# Steganografia do conteudo de $4 para imagem jpeg
cjpeg -steg $5 stegotest.gif > $5.jpgelse# Exibe a opcao selecionada
echo -e ’\e[33;5m MODO FRAME DESATIVADO \e[m’# transformar a imagem destino jpeg em gif para transforamac ao
convert 00000001.jpg stegotest.gif# Steganografia do conteudo de $3 para imagem jpeg
cjpeg -steg $3 stegotest.gif > 00000001.jpgfi# criacao do vídeo steganografado em formato avi.mencoder -ni "mf:// * .jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts# exibir vídeo.xv * .jpg -wait 0.001# apagar imagem temporária criada para transformaçaorm -rf stegotest.gif#apagar todas as imagens temporáriasrm -rf * .jpg;;
’-destego’)# fragmentar o vídeo avi(entrada número 1) em frames jpegmplayer -vo jpeg $2# Exibe a opcao selecionadaecho -e ’\e[33;5m DESESTEGANOGRAFIA ATIVADO \e[m’if [ "$3" == "-frame" ]; then# desesteganografar imagem resultando em arquivo texto
djpeg -steg msgsaida $4 > stegosaida.jpgelse# desesteganografar imagem resultando em arquivo texto
djpeg -steg msgsaida 00000001.jpg > stegosaida.jpg# Exibir conteúdo desteganografado
less msgsaidafi# para apagar imagens temporariasrm -rf * .jpg;;
echo;;
* )echo "stegovideo [-opcao] [nome do video avi] [-frame] [fra me] mensagemesac
5 ANEXO 35
REFERENCES 36
References
[Biu05] Diego Biurrun. Mplayer documentation, Visitado emstembro de 2005.
[Cap97] Fabio Capozzi. lla scoperta della steganografia: dal greco "scrittura nascosta", 1997.
[CBM03] Wilson V. Ruggiero Cintia Borges Margi, Grassa Bressan. Um mecanismo para
distribuição segura de vídeo mpeg, visitado em setembro de 2005 2003. POLI-USP,
LARC.
[CLCC00] Chen T. C. L. Chang C. A steganographic method basedupon jpeg and quantization
table modification, 2000. An International Journal - Information Science.
[D01] Artz D. Digital steganography: hiding data within data. IEEE Internet Computing,
2001.
[dSP01] Estado de S. Paulo. As epístolas de bin laden, visitado em setembro de 2005 2001.
[Fou05] EFF Electronic Frontier Foundation. Defending freedom in digital world, visitado
em outubro de 2005 2005.
[Jas03] Fábio Luís Jascone. Protótipo de software para ocultar texto criptografado em im-
agens digitais.Trabalho de conclusão de curso - Universidade Regional de Blume-
nau, 2003.
[Lan02] Sam Lantinga. Simple direct layer, 2002.
[Lut95] A. C. Luther.Using Digital Video. AP Professional, 1995.
[P02] Wayner P.Disappearing cryptography. Morgan Kauffman Publishers, 2002.
[Pet99] Anderson R. J. Kuhn M. G. Petitcolas, F. A. Information hiding - a survey.Pro-
ceedings IEEE, Special Issue on Protection on multimedia content, 1999.
[Pit03] Roberto Freires Batista PiterPunk. Apostila de shell script para iniciantes.
www.piterpunk.info02.com.br, 2003.
[RA04] Costa H. Chaves L. Rocha A., Goldenstein S. Segurançae privacidade na internet
por esteganografia em imagens.Webmedia, 2004.
[Reu05] Reuters. Registro de fraudes online cresce 1.300 porcento no brasil, visitado em
agosto 2005. Vírus e Cia.
[RG98] Edson dos Santos Moreira Rudinei Goularte. Produçãode vídeo digital - teoria e
prática, fevereiro 1998. Notas didáticas, ICMC - USP.
REFERENCES 37
[She05] Bob Sherman. Project echelon intercepting global communications, visitado em
julho de 2005 2005.
[Sim96] Richard J. Simon.Windows 95 Multimedia e ODBC API Bible. Waite Gruop Press,
1996.
[Sin01] Simon Singh.O Livro dos Códigos. Editora Record, 2001.
[SNfn05] Stuff that matters. SlashDot New for nerds. Study finds low use of steganography
on internet, visitado em outubro de 2005.
[Ste98] Ralf Steinmetz. Compressão jpeg, 1998.
[Sul01] Bob Sullivan. Fbi software cracks encryption wall,visitado em julho de 2005 2001.
[Ter00] Routo Terada.Segurança de dados - Criptografia em redes de computador. Editora
Edgard Blücher LTDA, 2000.
[Ter05] Redação Terra. Anos 90: o desenvolvimento da internet no Brasi. Tecnologia,
Internet 10 anos, 2005.
[Tra01] Jeff Trandahl. Usa patriot act h. r. 3162, visitado em maio de 2005 2001.
6 GLOSSÁRIO 38
6 Glossário
ASCII - American Standard Code for Information Interchange, é um conjunto de códigos para
representação de números, letras, pontuação e outros caracteres.
AVI - Extensão oficial de vídeo movente para Microsoft Windows suportando áudio e vídeo.
BIT - Menor porção de representação de um dado, recebe valor igual a 0 ou 1.
Bitmap - Mapa de bits de uma imagem.
Byte - 1 Byte representa 8 Bits.
Chumk - Unidade lógica de dados.
Coeficientes DC e AC- Coeficientes gerados após o processo de quantização do algoritmo de
compressão de imagens JPEG.
Dat Fitas - Dispositivo de armazenamento de dados, utilizado em geralem Backups.
DCT - Transformação co-se discreta, é um método de codificação utilizado em técnicas de
compressão de imagens.
E/S - Refere-se a dispositivos de entrada e saída.
FFT - Transformação rápida de Fourier, método de codificação utilizado em técnicas de com-
pressão de imagens, além de outras aplicações em processamento de imagens e telecomuni-
cações.
Frames- Refere-se a cada quadro de um vídeo.
Fps - Frames per Second (quadros por segundo), taxa de transmissão e/ou exibição do vídeo.
Gif - Formato de imagem que utiliza paleta de cores.
Grayscale- Tons de cinza ou escalas de cinza em uma imagem preto e branco.
Hash Functions - Função matemática de “embaralhamento” da informação codificada, uti-
lizado em criptografia de uma única via e assinaturas digitais.
Huffman - Codificação que agrupa os dados em relação ã uma árvore de decisão.
JPEG - Padrão de compressão de imagens.
KBytes - 1 kilo byte representa 1024 bytes.
KBPS - Kilobytes por segundo, valor da taxa de transmissão de uma rede.
LSB - Bit menos significativo em imagens quantizadas,
Lossy- Técnica de compressão que produz perdas, utilizada em compressão de imagens.
Message Digest- Algoritmo de espalhamento do tipo Hash, desenvolvido pelaempresa NSA
6 GLOSSÁRIO 39
Security, contendo diversas versões.
MD5 - Versão 5 do algoritmo Message Digest, gera chaves de 128 bits como saída da função
de espalhamento.
Mjpeg - Motion jpeg, padrão de vídeo movente, criado a partir de umasérie de imagens jpeg’s.
MPEG - Padrão ISO para compressão de áudio e vídeo com alta qualidade.
On Line - Serviço que obtém retorno de resposta em tempo real.
PDA, Palmtop - Dispostivos computacionais móveis.
Pixel - Menor porção de uma imagem.
RGB - Padrão de representação de cores a partir das cores R (vermelho), G (verde), B (azul).
Riff - Método geral para armzenamento e intercâmbio de dados multimídia.
Run Length - Codificação que agrupa valores iguais simplificando sua representação.
SHA - Algoritmo de criptografia utilizado para assinatura digital.
Stegoimagens- Imagens que passaram por um processo de esteganografia.
StegoVídeo- Vídeo que passaram por um processo de esteganografia.
Stream - Refere-se a um fluxo de dados.
TGA - Targa Image File, formato de imagem que utiliza bitmaps.
Threshold - Nível para ceifar as freqüências mais altas após aplicaçãode transformadas matemáti-
cas do tipo DCT e FFT.
Use Case- Refere-se ao diagrama de caso de uso do modelo UML.
YCrCb - Representação de cores muito utilizada para compressão devídeos como MPEG.
Utiliza uma matriz de Luminância (Y) e duas de crominância (Cr e Cb).
YUV - Em televisão colorida refere-se a um sistema de 3 sinais: sinal de luminância Y e dois
sinais de crominância U e V. Sistema utilizado pelo padrão PAL.