Entenda o que é Imagem Forense e sua importância na tecnologia
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:
- 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.
- 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:
- PNG -> 89 50 4E 47 0D 0A 1A 0A
- 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…
About author
Você pode gostar também
Avaliando a Segurança em Ambientes Kubernetes com Kubeaudit
Essa é a segunda parte falando de segurança em ambientes Kubernetes. Caso você ainda não tenha visto a Parte 1, fique a vontade para clicar no link abaixo: No post
Entenda o SAST e como implementar com o Horusec em seu projeto
Saudações pessoal! Nós já falamos por aqui sobre DevSecOps e como implementar em nosso ciclo de desenvolvimento. Neste post iremos entrar em uma das etapas mais importantes deste ciclo de
Como criar uma federação de usuários com Keycloak e LDAP: um tutorial passo a passo
Na primeira parte dessa série de posts, vimos de maneira geral o funcionamento do Keycloak. Nessa segunda parte veremos como criar um user federation para importar usuários da nossa base