Menu
Qui Quae Quod

Fechar Responsabilidade Social Corporativa

Fechar ARTIGOS DE OPINIÃO

Fechar Justiça Restaurativa

Fechar Multiculturalismo

Fechar Dossier Europa

Fechar ARTIGOS DE FUNDO

Fechar ARTIGOS DE FUNDO II

Fechar ARTIGOS DE FUNDO III

Fechar TENDÊNCIAS 21

Fechar CIBERDIREITOS

Fechar No gesto da procura

Fechar Os erros do ditado

Fechar Para ler e deitar fora

Fechar O canto dos prosadores

Fechar UTILITÁRIOS

Fechar Apresentações

Fechar Barra JURIS

Fechar CANCIONEIRO de Castelões

Fechar Coisas e loisas da língua portuguesa

Fechar DIVULGAÇÃO DE LIVROS

Fechar Delitos Informáticos

Fechar Encontros

Fechar JURISPRUDÊNCIA

Fechar Livros Maravilhosos

Fechar MANUAL DE REQUERIMENTOS

Fechar NeoFronteras

Fechar Nova Lei das Rendas

Fechar O canto dos poetas

Fechar Vinho do Porto

Fechar Workshops

Relax
Pesquisar



Visitas

   visitantes

   visitantes online

PREFERÊNCIAS

Voltar a ligar
---

Nome

Password


SOS Virus

Computador lento?
Suspeita de vírus?
Fora com eles!
AdwCleaner

tira teimas!
--Windows--

Já deu uma vista de olhos pelas gordas de hoje?


Desde 2004
news_artigo.gifARTIGOS DE FUNDO - Extracção de metadados em imagens fotográficas para análise forense

A análise forense de imagens fotográficas é uma disciplina que se costuma empregar frequentemente em processos judiciais.

Em determinadas situações criminais uma máquina fotográfica e as fotografias podem ser evidências que incriminem ou ilibem um acusado da prática de um delito e, por isso, é importante analisar as imagens existente para se poder obter delas evidências suficientes que sustentem uma acusação ou uma defesa perante o juiz.

A informação básica da imagem costuma ser a data da captura da imagem, o fabricante da máquina e o modelo utilizado. Esta informação pode obter-se a partir das propriedades de uma imagem.

Qualquer sistema operativo o permite (no Windows, por exemplo, com um clique no botão direito --> Propriedades sobre uma imagem).

Vamos ver dois processos automatizáveis para não ter de extrair os dados imagem a imagem e que, além disso, permitem extrair muita mais informação.

Também veremos que existem muitos mais dados disponíveis numa fotografia que o que se imagina, podendo resolver o grau de culpabilidade de um acusado.

Às vezes, a data, o fabricante e o modelo não bastam e talvez seja necessário deduzir, por exemplo, se duas imagens foram tiradas com a mesma máquina ou não. Uma análise de metadatos pode proporcionar-nos esta informação.

Para extrair metadatos de fotografias existem numerosos métodos. Uns são mais simples de interpretar e outros produzem resultados mais complexos. Veremos um par de exemplos práticos.

Para isso utilizaremos uma imagem disponível para todos, por exemplo, esta imagem de Flickr que pode ser descarregada aqui.

Extração básica de metadatos mediante hachoir-metadata

Para instalar hachoir-metadata temos diversas opções, segundo o sistema que estejamos a empregar. Eu utilizo FreeBSD, e portanto, para instalar a partir de ports basta executar esta linha de comandos:

cd /usr/ports/sysutils/hachoir-metadata/ && make install clean

Executamos hachoir sobre a nossa imagem

nas# hachoir-metadata 95283121_f300f7d188_o.jpg

Obtendo-se os seguintes resultados:

Metadata:
- Image width: 800
- Image height: 533
- Image orientation: Horizontal (normal)
- Bits/pixel: 24
- Pixel format: YCbCr
- Compression rate: 21.4x
- Creation date: 2006-01-06 05:33:47
- Camera focal: 5.6
- Camera exposure: 1/125
- Camera model: Canon EOS 20D
- Camera manufacturer: Canon
- Compression: JPEG (Baseline)
- Comment: JPEG quality: 80%
- Format version: JFIF 1.01
- MIME type: image/jpeg
- Endian: Big endian

Como vemos, nada fora do normal. É a informação que qualquer gestor de janelas é capaz de obter de uma imagem com o botão direito do rato sobre Propriedades. Vamos a complicar um pouco mais as coisas.

Exif, Segmentos JPEG e extracção mediante Perl

Este método requer que instalemos o módulo Image::MetaData::JPEG. A extracção iremos realizá-la com um simples script:



Este script imprime no ecrã a totalidade daquilo a que chamamos segmentos JPEG. O resultado é longo e está aqui disponível para consulta.

Não vamos aqui falar agora sobre os segmentos e o que cada um representa, mas para que se faça uma ideia, quase todas as máquinas digitais empregam Exif (Exchangeable image file format) no momento de guardar imagens.

Exif foi criado por JEIDA (Japan Electronic Industry Development Association) numa tentativa de normalizar a utilização de rótulos na troca de ficheiros de imagens. Com o passar dos anos transformou-se praticamente num standard de facto.

Esta especificação é algo complexa e aborrecida pelo que não vamos entrar em pormenores sobre ela. Basta apenas saber que Exif permite utilizar rótulos (marcadores) para armazenar dados críticos de uma imagem e que, graças à especificação Exif, uma imagem digital comprimida pode representar-se sempre de acordo com uma estrutura de segmentos parecida a esta:



Estes segmentos básicos contêm a informação mínima presente num arquivo comprimido de imagem JPEG e é frequente chamá-los marcadores.

Assim, o segmento 0xd8 SOI define o início da imagem (SOI, Start of Image) e, como se pode comprovar, é o primeiro no dump de segmentos que extraímos. Pela mesma lógica, deve existir um segmento que indique o final da imagem que estará no final. Esse segmento é 0xd9 EOI (EOI, End of Image)

No nosso exemplo, podemos comprovar que depois da definição de início (SOI) aparece imediatamente o segmento de aplicação APP1 (0xe1). Dentro de APP1 encontramos sub-segmentos relacionados com informação técnica da imagem que possibilita ao fabricante introduzir os seus próprios marcadores.

Assim, APP1 --> IFD0 contém dados básicos para identificar a imagem, como fabricante, modelo ou data do momento em que a fotografia foi tirada:

********** APP1 --> IFD0 ********** ( 9 records)
[ Make]<0x010f> = [ ASCII] "Canon".
[ Model]<0x0110> = [ ASCII] "Canon EOS 20D".
[ Orientation]<0x0112> = [ SHORT] 1
[ XResolution]<0x011a> = [ RATIONAL] 72/1
[ YResolution]<0x011b> = [ RATIONAL] 72/1
[ ResolutionUnit]<0x0128> = [ SHORT] 2
[ DateTime]<0x0132> = [ ASCII] "2006:01:06 05:33:47".
[ YCbCrPositioning]<0x0213> = [ SHORT] 2
[ SubIFD]< ......> = [REFERENCE] --> 0x822bda4

Outros sub-segmentos APP derivados do anterior são APP1 --> IFD0 --> SubIFD, APP1 --> IFD0 --> SubIFD --> MakerNoteData_Canon e APP1 --> IFD0 --> SubIFD --> MakerNoteData_Canon --> special.

Cada um deles contém informação diversa mas que permite identificar, sem margem para dúvidas, uma imagem tirada num dado por um modelo máquina determinado.

Logo depois do marcador de aplicação, e seguindo o esquema Exif, deveria aparecer o marcador DQT (Define Quantization Table), que define a tábua de "quantização". No nosso exemplo aparece como 0xdb DQT. Assim sucessivamente. O resto dos marcadores que surgem na nossa imagem são DHT (Define Huffman Table), que aparece como 0xc4 DHT e SOS (Start of Scan), que aparece como 0xda SOS.

Outros marcadores fazem referência a pontos específicos de Exif, como por exemplo, a interoperabilidade. No nosso exemplo, recorreríamos ao marcador APP1 --> IFD0 --> SubIFD --> Interop, de onde obtemos a informação:

InteroperabilityIndex <0x0001> = [ ASCII] "R98".
InteroperabilityVersion <0x0002> = [ UNDEF] '0100'

Este índice de interoperabilidade costuma estar em "R98" (no nosso exemplo), indicando que a fotografia está de acordo com a especificação R98 das recomendações de interoperabilidade Exif.

Outras vezes, estará em "THM", o que indica que o arquivo está conforme as regras DCF para "miniaturas" de pré-visualização.

Resumindo

Como pode ver-se, a imagem responde a um standard e esse standard permite conhecer informação relevante de todas as condições nas quais se tirou uma dada fotografia.

A análise desta informação pode ser determinante no momento de obter evidências digitais na prática de um delito, não só pela quantidade de informação de que dispomos como pela facilidade em processar automaticamente grandes quantidades de fotografias em pouco tempo.

Imaginemos (e perdoem a crueldade do exemplo) que um sujeito A é detido numa investigação de pedofilia.

Este sujeito está em 10 fotografias da vítima B, susceptíveis de constituir um delito. O sujeito A também tem uma máquina digital com a qual tirou fotos à vítima. Ao mesmo tempo, é detido o sujeito C que intervêm noutras 10 fotografias de outra vítima, a quem chamaremos D.

Se mediante uma análise forense das imagens, e em virtude dos metadatos unívocos, determinamos que as fotografias da vítima B foram tiradas com a mesma máquina que as fotografias da vítima D, poderíamos relacionar os sujeitos A e C na prática do delito, já que pareceria lógico suspeitar que o sujeito A tirou as fotos das vítimas B e D e o sujeito C obteve de algum modo as imagens do sujeito A.

Este tipo de relações são as que sustentam as investigações criminais e permitem colocar atrás das grades quem cometeu delitos.

O exemplo exposto é apenas ilustrativo das muitas possibilidades das que felizmente as Forças de Segurança dispõem para lutar não só contra a pedofilia, mas contra muitos outros delitos nos quais intervenha um elemento digital, neste caso, uma máquina fotográfica digital.

Como pode imaginar-se, noutras ocasiões são utilizados DVDs, memórias USB, CDs ou discos.

Cada um oferece um tipo de informação e a missão principal do investigador forense é extrair a informação adequada e pertinente para poder posteriormente relacionar indivíduos com actividades delituosas.

Uma tarefa algo dura e complicada, mas reconfortante.

Sergio Hernando


Criado em: 23/01/2008 • 14:14
Actualizado em: 23/01/2008 • 14:14
Categoria : ARTIGOS DE FUNDO


Imprimir Imprimir

Comentários

Ainda ninguém comentou.
Seja o primeiro!


  Quem não tem imaginação não tem asas   Mohammed Ali
^ Topo ^