OPSEC

Higiene de Metadados: Limpando EXIF, PDF e Office antes de Publicar

Por Equipe Basilisk ·

Como remover metadados que vazam identidade, GPS e autoria de imagens, PDFs e documentos Office antes de publicar online.

Um pesquisador anonimo publicou um PDF de 12 paginas denunciando uma fraude corporativa. Em menos de 48 horas, o nome dele estava no Twitter. Nao foi engenharia social: foi o campo Author do PDF, gerado automaticamente pelo LibreOffice, mais a timestamp de modificacao que batia com o horario comercial dele. Metadados sao o calcanhar de Aquiles de qualquer publicacao sensivel, e a maioria das ferramentas de escritorio embute identificacao por padrao sem aviso. A equipe Basilisk trata sanitizacao de metadados como controle obrigatorio antes de qualquer drop publico, no mesmo nivel que revisar IPs e fingerprints de navegador. Se voce vem da pratica de OPSEC para Pesquisadores de Seguranca: Modelo de Ameaca Pessoal, ja sabe: a parte tecnica e a mais facil.

Comece pelo basico: EXIF em imagens. Um JPEG de celular moderno carrega coordenadas GPS com precisao de 5 metros, modelo do aparelho, numero de serie da lente e ate orientacao do giroscopio no momento do clique. A ferramenta padrao continua sendo o ExifTool de Phil Harvey. Para auditoria, use exiftool -a -G1 -s arquivo.jpg e voce vera categorias EXIF, XMP, IPTC, MakerNotes e ICC_Profile. Para limpeza agressiva, exiftool -all= -overwrite_original *.jpg remove tudo, mas guarde uma copia original fora do diretorio publico. Para PNG, o problema sao chunks tEXt e zTXt deixados pelo Photoshop ou GIMP, frequentemente com nome de usuario e caminho completo do arquivo de origem.

PDF e o caso mais traicoeiro porque carrega metadados em tres camadas: dicionario /Info, stream XMP e propriedades de objetos incrementais quando o arquivo foi editado sem linearizar. exiftool resolve as duas primeiras, mas para o terceiro voce precisa de qpdf --linearize --object-streams=generate saida.pdf entrada.pdf, que reescreve a estrutura inteira e descarta historicos de revisao. Tem ainda o caso dos PDFs gerados por scanners corporativos: muitos embedam o serial number da multifuncional no campo Producer. Se o documento veio impresso e escaneado, considere tambem o ataque de tracking dots amarelo das impressoras laser, documentado pela EFF e fundamental para quem trabalha como em Seguranca Pessoal para Alvos Visiveis: Jornalistas, Ativistas e Executivos.

Documentos Office sao um zoo. DOCX, XLSX e PPTX sao na verdade ZIPs com XML dentro, e o arquivo docProps/core.xml lista autor, ultima modificacao, revisao e empresa. O Word tambem mantem rsid (revision save IDs) que permitem correlacionar fragmentos de texto entre documentos diferentes do mesmo autor, ataque conhecido como rsid fingerprinting. Para limpeza confiavel, use o proprio Word com Inspect Document seguido de Remove All, ou no LibreOffice File > Properties > Reset Properties combinado com Tools > Options > Security > Remove personal information on saving. Para automacao em batch, oxml-document-cleaner em Python ou o mat2 (Metadata Anonymisation Toolkit) cobrem 95% dos casos sem precisar abrir GUI.

mat2 merece destaque proprio porque foi feito por pessoas que pensam em modelo de ameaca real, mantido pela equipe do Tails. mat2 --inplace documento.pdf age em mais de 30 formatos incluindo SVG, MP4, FLAC e EPUB. O modo --check lista o que ainda resta. Combine com torsocks se for fazer upload via Tor, conforme a pratica descrita em Anonimato Real com Tor: O que Funciona e o que e Mito em 2026. Para imagens vindas direto do celular, considere converter para um formato intermediario: passar JPEG por ImageMagick com -strip remove perfis ICC e EXIF, mas ImageMagick tambem reordena bytes de quantizacao de forma identificavel, entao para casos serios prefira jpegtran -copy none que preserva a tabela original.

Existem armadilhas que nenhuma ferramenta automatica pega. Screenshots de monitor com taxa de atualizacao variavel deixam micro-artefatos de codec que identificam o modelo da placa de video. PDFs gerados por LaTeX embutem assinatura do pacote hyperref incluindo data de compilacao em UTC, denunciando fuso horario. Vidoes MP4 carregam atom moov com timestamp do filesystem do criador. Para limpeza completa, o fluxo Basilisk e: gerar conteudo em VM descartavel com fuso UTC, exportar via clipboard ou network share isolada, sanitizar com mat2 na maquina hospedeira, validar com exiftool -a -G1 -s e so entao publicar. Esse mesmo padrao aparece em Compartimentacao Digital: Identidades Separadas sem Vazar Metadados e em Tails, Whonix ou Qubes OS: Qual Escolher para Cada Cenario de OPSEC.

Validacao adversarial fecha o ciclo. Antes de publicar, suba o arquivo final para um servico de inspecao publico como o metadata2go ou rode pdfid.py e pdf-parser.py do Didier Stevens. Compare o output com o que voce espera ver: idealmente nenhum campo de autoria, timestamps zerados ou em 1970-01-01, e nenhum stream embutido alem do necessario. Documente o checklist e versione ele junto com o conteudo. Takeaway pratico: crie um alias no seu shell chamado clean-doc que roda mat2 --inplace seguido de exiftool -a -G1 -s no resultado, e nunca publique nada sem rodar esse alias e ler a saida. Tres segundos de disciplina valem mais que tres anos de processo.

Por fim, lembre que metadados nao sao so um problema de publicacao: emails, anexos compartilhados em Slack e ate uploads para storage S3 publico carregam o mesmo risco. Times maduros tratam sanitizacao como pipeline, nao como passo manual. Integre mat2 em pre-commit hooks de repos que aceitam contribuicoes anonimas e em gateways de upload de plataformas de denuncia. A higiene de metadados nao protege contra um adversario com recursos de estado, mas elimina a classe inteira de erro autoinflingido que costuma derrubar pesquisadores antes mesmo de a investigacao comecar. Aplique uma vez, automatize sempre.

Nenhum comentário ainda

Seja o primeiro a comentar.

Deixe seu comentário

Entre com sua conta Canverly para comentar. Você pode usar a mesma conta em qualquer site da rede.

Entrar com Canverly