O que oculta PDF



Os arquivos PDF têm muita informação. A maioria é usada para a mesma visualização do documento em plataformas diferentes. Mas há também muitos metadados: a data e hora da criação e edição, qual aplicativo foi usado, o tópico do documento, título, autor e muito mais. Este é um conjunto padrão de metadados e existem maneiras de inserir metadados personalizados em um PDF: comentários ocultos no meio do arquivo. Neste artigo, apresentaremos algumas formas de metadados e mostraremos onde procurá-los.

Metadados de informações


A partir do PDF 1.0, há um conjunto padronizado de valores que podem ser adicionados ao documento. Os gerenciadores de arquivos usam esses valores para melhorar as pesquisas de documentos. Eles incluem:

  • O autor
  • Data de criação
  • Criador
  • Produtor

No PDF 1.1, esse conjunto foi expandido para incluir dados adicionais que ajudam a encontrar documentos:

  • Título
  • Theme
  • Palavras-chave
  • Data de edição (ModDate)

A rigor, essas informações não são realmente ocultas, pois muitos aplicativos permitem que você as visualize. Mas isso não é mostrado ao público em geral. De qualquer forma, se você estiver preocupado com a segurança, deve confiar nessas informações com cuidado, pois elas poderão ser editadas posteriormente. Como os metadados podem ser atualizados separadamente do conteúdo exibido, isso significa que o gerenciador de arquivos e os metadados mostrarão as alterações e o conteúdo não poderá ser alterado.



Metadados adicionais


O padrão PDF agora suporta ainda mais metadados. Em vez de um pequeno conjunto de valores padrão, você pode armazenar um fluxo inteiro de informações no formato XMP . Como resultado, qualquer tipo de dados pode ser incorporado lá. Novamente, eles não são exibidos, mas podem ser analisados ​​pelo gerenciador de arquivos.

O fluxo XMP pode ser codificado, portanto nem sempre é lido pelas pessoas, mas muitos aplicativos podem ler e editar essas informações. Aqui está um exemplo de como o XMP se parece em um formato legível por humanos:

<xmp:CreateDate>1851-08-18</xmp:CreateDate> <xmp:CreatorTool>Ink and Paper</xmp:CreatorTool> <dc:creator> <rdf:Seq> <rdf:li>Nick Winder</rdf:li> </rdf:Seq> </dc:creator> <dc:title> <rdf:Alt> <rdf:li xml:lang="x-default">My Amazing PDF</rdf:li> </rdf:Alt> </dc:title> 

É fácil entender que essas informações são inestimáveis ​​ao tentar determinar o histórico de um documento ou ao incorporar outras informações. O PSPDFKit para iOS e Android suporta a leitura e edição de metadados.

Metadados do objeto


Os fluxos de metadados não se limitam a documentos; metadados também podem ser atribuídos a qualquer objeto em um documento. Por exemplo, um fluxo com uma imagem incorporada. Para complicar, os metadados auxiliares também podem ser armazenados no próprio fluxo. Se formos ainda mais longe, podemos incorporar PDF nos metadados do fluxo de imagens , obtendo assim uma recursão infinita! Portanto, na próxima vez em que você verificar os metadados em busca de informações, lembre-se de que talvez você precise passar por vários níveis para encontrar as informações que está procurando.

Salvar / atualizar adicional


O padrão PDF possui um conceito de salvamento adicional que muitos aplicativos, incluindo PSPDFKit, implementam para acelerar o salvamento. Em suma, esse método adiciona informações adicionais ao final do documento, e os objetos antigos que não são mais referenciados permanecerão lá. Isso é ótimo quando você altera os elementos do documento rapidamente e não deseja esperar por um longo processo de salvamento ou, por exemplo, pela função de salvamento automático, onde o processo é executado no encadeamento em segundo plano, e queremos usar um mínimo de recursos.

Como você pode entender, isso abre uma caixa inteira de Pandora: o histórico do documento mostra informações confidenciais ou erradas que foram excluídas dos olhos, mas permaneceram no documento. Nessas situações, é recomendável salvar o documento completamente. Isso resultará na remoção de objetos antigos ou até na "suavização", para que os formulários não possam ser editados no futuro.

Comentários em PDF


Muitas linguagens de programação fornecem comentários para que o compilador ou intérprete ignore a sequência, a mesma opção está no PDF. O símbolo% é usado no formato de maneiras diferentes, mas uma delas é uma indicação de um comentário no código. Portanto, se o usuário abrir o documento em um editor de texto, ele poderá ver algumas mensagens secretas inseridas pelo seu processador de PDF. Os renderizadores de PDF ignoram essas linhas de comentários, para que o arquivo pareça correto e não mostre nenhum comentário após a renderização.

Um grande dicionário!


A última coisa a notar é que o formato PDF é realmente um grande dicionário! Tecnicamente, qualquer pessoa pode incorporar um documento e alterar alguma coisa. Nem toda mudança é tão fácil quanto editar uma única linha, mas isso pode ser feito. Por esse motivo, lembre-se sempre de quais informações podem estar ocultas no PDF. Além disso, se você processar informações confidenciais, definitivamente deverá usar assinaturas digitais para garantir que o documento não tenha sido alterado por alguém que não seja seu autor e que seja o autor que você espera e não outra pessoa.

Conclusão


Este artigo lista algumas maneiras pelas quais os metadados podem inserir um documento sem o seu conhecimento. Existem outros fatores a serem considerados, como o suporte a JavaScript para PDF . Com JavaScript, as opções geralmente são infinitas. Objetos ocultos também podem ser armazenados em documentos, que geralmente são analisados, mas não exibidos. Essa é uma boa maneira de injetar algum tipo de informação no analisador. O PDF é um padrão muito extenso; portanto, você sempre deve saber que tipo de software de leitor de PDF você usa e confiar nele.

Source: https://habr.com/ru/post/pt429138/


All Articles