O que são bytes mágicos?
Bytes mágicos são sequências reconhecíveis de bytes, geralmente próximas ao início de um arquivo, que indicam seu formato subjacente. Eles fornecem evidências mais fortes do que uma extensão controlada pelo usuário ou um tipo MIME declarado.
Como funcionam os bytes mágicos
Bytes mágicos são assinaturas específicas de cada formato, examinadas por ferramentas de identificação de arquivos antes da seleção de um decodificador ou analisador. Uma regra pode testar os primeiros bytes, um deslocamento fixo ou vários campos relacionados, em vez de depender de um único prefixo universal. A detecção é útil nos pontos de upload e ingestão porque nomes e rótulos HTTP são fáceis de falsificar. Ela continua sendo uma etapa preliminar de classificação; a análise estrutural e os controles de segurança devem vir depois.
Informações essenciais
- Nem toda assinatura começa no byte zero. Alguns detectores inspecionam um deslocamento ou combinam vários testes, e famílias de contêineres podem compartilhar um prefixo que identifica apenas o formato externo.
- Documentos baseados em ZIP ilustram o limite de uma assinatura curta: muitos formatos de aplicações não relacionados começam com registros ZIP e exigem a inspeção de nomes internos e metadados.
- Um arquivo poliglota pode atender às expectativas de mais de um analisador. Portanto, a correspondência com uma assinatura não comprova que os dados ao final do arquivo, as dimensões, os deslocamentos ou as cargas úteis compactadas sejam seguros.
Quando os bytes mágicos são importantes
Os componentes que tratam uploads devem inspecionar os bytes mágicos antes de escolher um analisador ou pipeline de transformação. As verificações de assinatura reduzem falsificações simples, mas não comprovam que o arquivo inteiro seja válido ou seguro.