Des universitaires allemands ont mis au point une nouvelle attaque qui permet d’extraire et de voler des données à partir de fichiers PDF cryptés, parfois sans interaction de l’utilisateur. Baptisée PDFex, la nouvelle attaque se décline en deux variantes et a été testée avec succès sur 27 visualiseurs PDF de bureau et Web, y compris des logiciels populaires comme Adobe Acrobat, Foxit Reader, Evince, Nitro, et les visualiseurs PDF intégrés de Chrome et Firefox.
L’attaque ne vise pas le chiffrement appliqué à un document PDF par un logiciel externe, mais les schémas de chiffrement pris en charge par la norme Portable Document Format (PDF), elle-même. La norme PDF prend en charge le chiffrement natif pour que les applications PDF puissent chiffrer les fichiers qui peuvent être ouverts par n’importe quelle autre application, et empêcher l’utilisateur d’accéder à un logiciel PDF spécifique en raison de l’utilisation de schémas de chiffrement douteux.
Cependant, une équipe de six universitaires de l’Université de la Ruhr de Bochum et de l’Université de Münster en Allemagne, a découvert des problèmes avec le support de cryptage du standard PDF. “Nos attaques permettent de récupérer l’intégralité du texte en clair des documents cryptés en utilisant des canaux d’exfiltration basés sur des propriétés PDF conformes aux normes”, explique l’équipe de recherche.
La première variante de PDFex
Les chercheurs affirment que les documents PDF cryptés sont vulnérables à deux types d’attaques. Les deux variantes n’ont pas de noms spéciaux, mais sont connues par la méthode qu’elles utilisent pour effectuer l’attaque et exfiltrer les données. La première, appelée “exfiltration directe”, tire parti du fait que les applications PDF ne cryptent pas l’intégralité d’un fichier PDF, laissant certaines parties non cryptées. L’équipe de recherche indique qu’un attaquant peut falsifier ces champs non cryptés et créer un fichier PDF piégé qui, une fois décrypté et ouvert, tentera de renvoyer le contenu du fichier à un attaquant.
Cela peut se faire de trois façons :
En modifiant les données en clair d’un fichier PDF pour ajouter un formulaire PDF qui soumet automatiquement le contenu du PDF au serveur de l’attaquant lorsque la victime décrypte et ouvre un PDF crypté ;
En modifiant les données en clair d’un fichier PDF pour ajouter un lien qui se déclenche automatiquement lorsque la victime décrypte et ouvre un PDF crypté ;
En modifiant les données en clair d’un fichier PDF pour ajouter un code JavaScript qui s’exécute automatiquement lorsque la victime décrypte et ouvre un PDF crypté.
Parmi les trois attaques PDFex par “exfiltration directe”, la première est la plus facile à réaliser et la plus efficace, car elle ne nécessite aucune interaction de l’utilisateur. La seconde nécessite l’ouverture d’un navigateur externe, une action qu’un utilisateur pourrait empêcher. La troisième est la méthode la moins fiable, principalement parce que de nombreuses applications PDF limitent la prise en charge de JavaScript en raison d’autres risques de sécurité avec des fichiers PDF exécuter du code JS en arrière-plan.
La deuxième variante de PDFex
La deuxième variante de l’attaque PDFex ne s’attaque pas aux éléments non cryptés d’un fichier PDF, mais uniquement à ceux qui sont cryptés. Pour ce faire, il utilise des gadgets de la CBC. Il s’agit d’éléments de code qui vont à l’encontre du contenu crypté et modifient les données en clair à leur source. “Les gadgets de CBC indiquent que le texte chiffré est modifié pour s’exfiltrer lui-même après décryptage”, a déclaré Sebastian Schinzel, un des chercheurs à l’origine de l’exhumation de PDFex, sur Twitter.
Tout comme pour la première méthode utilisée, il existe trois petites variations d’une attaque de gadget PDFex CBC. Les deux premières sont identiques à la première attaque. Un attaquant peut utiliser un gadget de CBC pour modifier le contenu crypté de sorte qu’il crée des fichiers PDF piégés qui soumettent leur propre contenu à des serveurs distants via des formulaires PDF ou des URL.
La troisième attaque de gadget de CBC repose sur la modification d’un flux d’objets PDF légitimes (données compressées) d’une manière malveillante, de sorte que le fichier PDF soumet son contenu à un serveur distant après avoir été décrypté et ouvert dans une application PDF vulnérable de visualisation.
Des résultats alarmants
“Notre évaluation montre que parmi les 27 visionneuses de PDF les plus utilisées, toutes sont vulnérables à au moins une de ces attaques”, a déclaré l’équipe de recherche. “Ces résultats alarmants soulèvent naturellement la question des causes profondes des attaques pratiques de décryptage par exfiltration. Nous en avons identifié deux”, ont déclaré des chercheurs. “Tout d’abord, de nombreux formats de données ne permettent de crypter qu’une partie du contenu (XML, S/MIME, PDF, etc.). Cette flexibilité de cryptage est difficile à gérer et permet à un attaquant d’inclure son propre contenu, ce qui peut conduire à des canaux d’exfiltration.
“Deuxièmement, lorsqu’il s’agit de chiffrement, AES-CBC – ou le chiffrement sans protection de l’intégrité en général – est encore largement pris en charge. Même la dernière spécification PDF 2.0 publiée en 2017 s’y fie toujours”, a ajouté l’équipe de recherche. “Cela doit être corrigé dans les futures spécifications PDF.”
Toutes ces attaques exigent qu’un attaquant soit en mesure de modifier les fichiers PDF cryptés. Il s’agit notamment d’un poste permettant d’intercepter le trafic réseau de la victime ou d’avoir un accès physique à un système de stockage (comme l’inspection des appareils dans un aéroport, l’accès au poste de travail d’un employé pendant son absence, et plus). Cependant, dire qu’il s’agit là de critères qui diminuent la facilité d’utilisation du PDFex est faux. C’est précisément contre ces situations que le chiffrement était censé protéger, faisant de PDFex une vulnérabilité majeure dans le standard PDF.
Article “New PDFex attack can exfiltrate data from encrypted PDF files” traduit et adapté par ZDNet.fr
댓글