Análise forense em imagens

Análise forense em imagens

O que de fato é imagem forense?

Para ser direto, Image Forensics é um ramo específico da análise forense que lida com vários tipos de ataques.

Alguns deles incluem:

  1. A autenticidade de uma imagem
    • Quando falamos de autenticidade, estamos realmente falando se a imagem está bem estruturada ou não. Às vezes, os dados preservados podem ser adulterados. Os analistas forenses são obrigados a recuperar esses dados adulterados ao seu estado original.
  1. Detecção de possíveis falsificações, etc.
    • Detectar falsificações de imagens é realmente uma grande coisa na indústria de tecnologia, porque muitas imagens ou arquivos confidenciais podem ser roubados ou ilegalmente usados ​​para fins criminosos.

Portanto, vamos examinar algumas das definições básicas dos termos técnicos usados ​​neste campo para entender melhor os próximos tópicos.

Assinatura de Arquivo

Uma assinatura de arquivo típica é algo que define a natureza de um arquivo e também nos informa sobre os recursos específicos de um determinado arquivo. Isso também é chamado como o cabeçalho do arquivo ou, às vezes, como a soma de verificação ou checksum.

Então, vamos ver alguns exemplos:

  1. PNG -> 89 50 4E 47 0D 0A 1A 0A
  2. ZIP FILE -> 50 4B 03 04 ou 50 4B 05 06

Os valores ‘hex’ mostrados são também chamados de números mágicos.

Pedaços ou chunks

Pedaços não são nada além de fragmentos de informações que são usados ​​por diferentes formatos multimídia como PNG, MP3, etc. Cada parte tem seu próprio cabeçalho que descreve o tipo e tamanho do pedaço.

Quão importantes são os pedaços?

Então, vamos considerar que você está tentando abrir uma imagem usando um MP3 player. O player vai abrir a imagem? Não ! certo? Isso vai me dar uma mensagem de erro. Cada aplicativo possui um decodificador que verifica o tipo de blocos fornecidos. Quando reconhece que os trechos dados são suportados, ele tenta fornecer a saída desejada. Assim, sempre que se deparar com fragmentos de formato desconhecido, ele aciona uma mensagem de erro informando “Formato de arquivo não suportado”

Soma de verificação

Checksum é um valor integral que representa a soma dos dígitos corretos em um dado. Checksums nos ajudam a verificar a integridade dos dados de um arquivo que é transmitido através da rede digital. Existem muitos algoritmos de soma de verificação. Algoritmos de soma de verificação são empregados em vários conceitos de segurança cibernética, como impressão digital, funções hash criptográficas, etc.

Compressão sem perdas

O próprio nome informa que não haverá perda de informação quando um conjunto de dados for compactado. A técnica de compactação sem perdas é usada para reduzir o tamanho dos dados para armazenamento. Por exemplo, png é uma compactação sem perdas e as vantagens de um formato de arquivo de compactação sem perdas são que não há perda de qualidade toda vez que ele é aberto ou salvo.

Compressão com perdas

A compactação com perdas, envolve a perda de informações do arquivo original quando os dados são compactados. Este processo pode resultar no tamanho menor de um arquivo, mas também remove alguns pixels originais, quadros de vídeo e ondas sonoras para sempre. Por exemplo, o JPEG é uma compactação com perdas e a desvantagem é que cada vez que a imagem é salva, ela perde uma certa quantidade de dados e simultaneamente, degrada a qualidade da imagem.

Metadados de uma imagem

É uma informação de texto que fornece informações sobre os detalhes associados à imagem. Alguns destes detalhes são: Tamanho e resolução, autor da imagem, dados de GPS da imagem, a hora em que a imagem foi tirada, a última modificação, etc.

Agora, vamos ver como é o formato dessas informação em uma imagem PNG :

Portable Network Graphics (PNG)

Um PNG é um formato de arquivo gráfico de uma imagem que suporta a compressão sem perdas .

Número Mágico -> 89 50 4E 47 0D 0A 1A 0A

Então, agora vamos olhar para os pedaços críticos de uma imagem PNG:

Pedaços críticos

IHDR -> Descreve as dimensões da imagem, tipo de cor, profundidade de bits, etc. Deve-se notar que este deve ser o primeiro pedaço (sempre).

PLTE -> Contém a lista de cores.

IDAT -> Contém os dados da imagem.

IEND -> Marca o final da imagem.

Pedaços auxiliares

Os pedaços auxiliares podem ser chamados de blocos opcionais. Estes são os pedaços que são geralmente ignorados pelos decodificadores. Vejamos alguns exemplos:

bKGD -> Dá a cor de fundo padrão.

dSIG -> Este pedaço é usado para armazenar a assinatura digital da imagem.

pHYS -> Mantém o tamanho do pixel e a proporção das dimensões da imagem.

NOTE:  Todos os fragmentos auxiliares começam com uma pequena letra.

Formato executável e vinculável (ELF)

O formato de arquivo ELF é um formato de arquivo padrão para executáveis, códigos de objeto, dumps principais etc. para qualquer sistema baseado em UNIX.

Número Mágico -> 7F 45 4C 46

O cabeçalho do arquivo ELF define se é necessário usar endereços de 32 ou 64 bits. Os arquivos ELF são geralmente analisados ​​usando uma ferramenta chamada readelf .

ZIP

Na verdade se trata de um formato de arquivo com suporte a compressão de dados sem perdas. Este formato de arquivo atinge a compactação de um arquivo usando vários algoritmos de compactação. DEFLATE é o algoritmo de compressão mais utilizado. Os arquivos ZIP têm a extensão de arquivo .zip ou .ZIP.

Número Mágico -> 50 4B 03 04 e 50 4B 05 06 (para arquivos ZIP vazios)

E como sempre, se quiser dar uma olhada na prática de como tudo isso funciona.. segue o link do meu canal, com um vídeo específico desse assunto..

Forte abraço e nos vemos por aqui…

CURSOSCONSULTORIA    CONTATO

 

Anterior 4Linux no AgileTrends 2019.
Próxima 4Linux atualiza seus cursos na área de Big Data!

About author

Joatham Silva
Joatham Silva 8 posts

Joatham Pedro - Analista de Sistemas Federal, Analista de Segurança/Infraestrutura, Consultoria e Treinamento, Mestre em Sistemas em Computação, - C|EH - C|HFI - EMC - LPIC 3 - CLA - EXIN

View all posts by this author →

Você pode gostar também

Segurança

Log de Linux com o SystemD/Journald

E ai, Qual teu papo? O objetivo deste bate papo e abordar sobre um componente do SystemD chamado Journald que atua na coleta e gerenciamento de entradas de registros diários de

DevOps

Analisando a Qualidade do Código com SonarQube

Dentro da ótica do DevOps e de como implementar agilidade com qualidade, temos os testes automatizados como um dos principais pilares para manter a essência do CI (Continuous Integration), porém

Segurança

Conhecendo Técnicas de Pentest através de Desafios

E ai… Qual teu Papo? CTFs são um dos meus hobbies favoritos. Curto muito a sensação de resolver um desafio particularmente difícil e ver todas as peças do quebra-cabeça se