É possível armazenar dados arbitrários, como documentos ou um programa, na forma de um arquivo de imagem, como uma imagem PNG? Minha preocupação é que alguém possa codificar dados para uso por malware em uma imagem e enviá-los para um site como o Flickr.
25
:-P
Respostas:
Para a maioria dos formatos de arquivo, sim. Por exemplo, os arquivos PNG são compostos por pedaços digitados, portanto, você pode adicionar um pedaço chamado
aAAA
oulOLZ
com dados arbitrários. O JPEG possui segmentos "específicos do aplicativo" ; as tags Exif em JPEG são na verdade uma estrutura TIFF completa dentro dessa tag. Outros formatos, como GIF, não são extensíveis, mas geralmente possuem um campo para comentários em texto; isso já foi abusado .APPn
No entanto, existem maneiras de se proteger contra isso - por exemplo, sites como o Imgur processam automaticamente todos os envios com
pngcrush
ferramentas semelhantes ou que descartam tudo o que não é absolutamente necessário.Mas, no final, a troca de dados não pode ser impedida. Além da esteganografia de imagem acima mencionada, você tem o Twitter e seus clones, dezenas de pastas (nas quais as postagens incompreensíveis são consideradas razoavelmente normais), formas de comentários de postagens antigas do blog (ainda estou tentando lembrar o livro em que isso foi sugerido), ... de maneira mais realista, a maioria dos malwares simplesmente entra em contato com seus "próprios" servidores.
fonte
Não existem dados maliciosos. Os dados não se tornam maliciosos até que sejam executados; nesse ponto, não são mais dados. O problema com esse tipo de coisa não seria a imagem, seria o software (Windows, Photoshop, o que seja) que contém um bug que faz com que os dados sejam executados. Essa é obviamente uma preocupação importante dos principais fornecedores de software, e você pode ter certeza de que eles corrigem esses erros logo após serem descobertos.
Dito isto, como indicado nas outras respostas, é possível adicionar dados que não fazem parte da própria imagem ao arquivo. No entanto, isso geralmente é útil ou mesmo prática padrão. Eu acho muito mais importante ter cuidado com os executáveis do que com as imagens aleatórias que você encontra na internet. O risco aqui não é tão grande.
fonte
Os arquivos de imagem, incluindo PNG, têm um formato específico. A parte do cabeçalho do arquivo descreve a imagem e quaisquer dados a seguir serão interpretados como dados da imagem (com base nos cabeçalhos).
No entanto, você pode anexar dados arbitrários ao final de um PNG, além dos dados da imagem, que poderão ser lidos posteriormente. Isso seria bastante fácil de detectar - não deve haver dados após o final dos dados da imagem.
Como alternativa, você pode codificar dados arbitrários na própria imagem, usando a esteganografia . Isso altera sutilmente a própria imagem de uma maneira que é amplamente indetectável, a menos que você saiba exatamente o que procurar (geralmente é necessário um conhecimento prévio do método de codificação).
fonte