Pour gérer vos consentements :
Categories: Sécurité

Les PDF signés sont-ils vraiment sécurisés ?

Un PDF signé est-il réellement protégé contre toute modification indésirable ? Des chercheurs de l’université de la Ruhr répondent par la négative.

Leur rapport à ce sujet présente plusieurs attaques destinées à créer des documents « à deux visages ». D’un côté, le contenu « légitime » auquel s’attendent les parties signataires. De l’autre, du contenu qui n’apparaît qu’après signature.

La spécification PDF définit trois éléments principaux :

  • Le corps du document
    Les objets y sont stockés, chacun identifié par un nombre. L’objet principal (racine) est nommé « catalogue ». Lié à tous les autres objets, il définit la structure du PDF.
  • La table des références croisées (Xref)
    Elle contient des références aux objets (premier octet, longueur, statut…).
  • Le trailer
    Il regroupe des informations telles que le premier objet à lire et l’identifiant du catalogue.

La modification d’éléments au sein de cette structure se fait avec la fonction dite de « sauvegarde incrémentale » (IS). Chaque IS ajoute ses objets dans un nouveau corps (placé immédiatement après le dernier trailer), puis ajoute une table Xref et un trailer.

Dissimuler…

Les signatures – avec identification ou certificat numérique – s’ajoutent aussi sous forme d’objets. Traditionnellement, elles commencent au premier octet et terminent au dernier. De manière générale, elles changent lorsqu’un PDF subit une modification. Mais ce n’est pas toujours le cas, expliquent les chercheurs : une multitude d’actions sont considérées comme sans danger par les principales visionneuses.

Le premier type d’attaque qu’ils présentent consiste à cacher le contenu indésirable derrière un autre contenu (overlay) avant la signature. Et à le faire apparaître ensuite aux yeux des victimes.

Deux déclinaisons de cette attaque figurent dans le rapport :

  • Créer un objet de type « Page » qui reprend tous les objets du PDF signé… sauf l’overlay
  • Pour contourner les visionneuses qui ne considèrent pas ce type de changement comme sans danger, on peut mettre à jour la table Xref en associant à l’overlay l’attribut « free ». Et, si cela ne suffit pas, agir au niveau de l’IS. Ce en utilisant le même identifiant d’objet, mais en définissant un autre type d’objet. Par exemple, passer de « image » à « XML/Metadata » (l’ajout de métadonnées à un PDF ne déclenche pas d’alerte). Puis ajouter, dans la table Xref, un pointeur vers cet objet en conservant l’identifiant de l’overlay. Ce dernier n’apparaît pas à l’ouverture du fichier, les métadonnées ne pouvant être affichées.

… ou remplacer

Autre type d’attaques : celles qui permettent de remplacer du contenu au vol.

  • De type overlay
    Elle exploite une propriété des champs de texte dans les formulaires dynamiques. Ces champs peuvent afficher deux valeurs : la « vraie » et un overlay qui disparaît dès qu’on sélectionne le champ.
    La « vraie » valeur est stockée dans un objet /V. Le contenu de l’overlay, dans un objet /BBox. Il est comparable aux indices qu’on peut insérer dans des formulaires HTML pour aider les utilisateurs à les remplir. Sauf que dans les PDF, il n’existe aucune différence visuelle avec les « vraies » valeurs.
    Pour les attaquants, il suffit, avant signature, de renseigner les « vraies » valeurs et les overlays. Puis, une fois le document signé, de modifier les /BBox. La signature des /V reste ainsi valide et c’est elle que les visionneuses affichent, les valeurs /BBox ne correspondant pas à celles signées.
  • De type overwrite
    Il s’agit là d’associer une police de caractères spécifique à un contenu, puis, une fois le document signé, de remplacer cette police par une autre.

Plus puissante encore, l’attaque qui combine les aspects « cacher » et « remplacer ». Fondées sur la création de PDF liés de manière dissimulée à d’autres documents, elles mettent à profit les tables de références croisées. Objectif : faire pointer le catalogue du document légitime vers les ressources malveillantes une fois le PDF signé.

Le tableau ci-dessous résume la situation des visionneuses PDF avant éventuelle applications de correctifs.

Photo d’illustration © Pei Ling Hoo – Fotolia

Recent Posts

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

12 heures ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

14 heures ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

16 heures ago

Accord Microsoft-CISPE : comment Google a tenté la dissuasion

Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…

16 heures ago

Vers des mises à jour cumulatives intermédiaires pour Windows

Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…

17 heures ago

RH, finances, stratégie… Les complexités de la Dinum

De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…

2 jours ago