Keypair : Les clés RSA générées sont vulnérables

Keypair est une bibliothèque cryptographique en Javascript permettant de générer des paires de clés RSA au format PEM. Un ingénieur d’Axosoft a remarqué que la bibliothèque générait régulièrement les mêmes paires de clés RSA. Cette duplication de clés découle d’une génération aléatoire vulnérable.

Plus précisément, keypair n’utilise pas directement le générateur pseudo-aléatoire dit cryptographiquement sûr (CSPRNG) du système d’exploitation. A la place, elle utilise le CSPRNG pour initialiser son propre générateur AES-CMAC à l’aide de la méthode window.crypto.getRandomValues(). Toutefois, cette méthode n’est pas toujours disponible suivant l’environnement Javascript considéré. Contrairement à une exécution dans un navigateur, l’objet window n’est pas défini dans un environnement nodeJS.

Ainsi, lorsque window.crypto.getRandomValues() n’est pas disponible, le compteur du générateur AES-CMAC est initialisé à partir d’un générateur de nombre aléatoire Lehmer LCG lui-même initialisé avec Math.random. Bien que Math.random ne soit pas sûr, le problème de duplication des clés provient surtout d’une erreur d’encodage de la sortie du générateur Lehmer LCG.

Il en résulte que 97% de la sortie produite par le générateur Lehmer LCG correspond à des zéros, ce qui sera donc le cas des graines initialisant le générateur AES-CMAC. Par suite, les clés RSA générés sont relativement faciles à deviner, permettant à un attaquant de déchiffrer des données confidentielles ou obtenir des accès à des comptes victimes.

La vulnérabilité de keypair a entraîné la génération de clés SSH faibles par des logiciels reposant sur la bibliothèque. C’est le cas notamment du client Git GitKracken. GitHub a par conséquent révoqué des clés d’authentification SSH générées via la version vulnérable du logiciel. Les utilisateurs possédant ces clés ont été notifiés.

Identifiée en tant que CVE-2021-41117, la faille a été corrigée dans la version 1.0.4 de keypair.

IOMFB : La dernière vulnérabilité iOS exploitée activement

Référencée CVE-2021-30883, la dernière vulnérabilité corrigée par Apple dans sa dernière mise à jour iOS 15.0.2 affecte IOMobileFrameBuffer. Il s’agit plus particulièrement d’un bogue de corruption de mémoire qui permet à une application d’exécuter du code arbitraire sur des appareils vulnérables avec des privilèges liés au noyau.Le rapport d’Apple fait état d’une exploitation active de la faille.

Le chercheur en sécurité Saar Amar a étudié le patch (rétro-ingénierie) et publié une preuve de concept.

A noter qu’une nouvelle fois, Apple a corrigé silencieusement une faille, sans créditer le chercheur l’ayant découvert.

Rétro-ingénierie et cryptographie : (Dé)chiffrement de fichiers d’identification CyberArk

CyberArk propose des solutions de gestion des accès à privilèges. En particulier, CyberArk peut traiter différentes informations d’identification telles que des mots de passe, des tokens, des clés, etc. Ces informations sont stockées sous forme de fichiers chiffrés (.cred). Le chercheur Jelle Verger s’est intéressé aux mécanismes de protection des fichiers d’identification, plus particulièrement dans le cas de mots de passe.

Plusieurs méthodes de chiffrement sont possibles, la troisième étant celle par défaut :

  • Stockage machine protégé par DPAPI
  • Stockage utilisateur protégé par DPAPI
  • Personnalisé

L’algorithme personnalisé chiffre les données à l’aide d’une clé de 32 octets dérivée d’une clé de base à l’aide de la fonction de hachage SHA1. Cette clé de base est constituée de plusieurs éléments (adresse IP, nom d’utilisateur, etc.) dont un seul correspond à une valeur aléatoire de 20 octets stockée dans le champ AdditionnalInformation du fichier.

Par conséquent, il est possible de générer la clé de chiffrement AES à partir des ces différents éléments et de retrouver les mots de passe stockés. Le chercheur a développé un utilitaire python permettant le déchiffrement des fichiers d’identification CyberArk et disponible sur Github.

Usurpation de signature numérique dans OpenOffice et LibreOffice

Les signatures numériques utilisées dans les macros de document sont destinées à aider l’utilisateur à vérifier que le document n’a pas été modifié et qu’il peut être approuvé. 

Quatre chercheurs de l’Université de la Ruhr à Bochum (Allemagne) ont découvert des failles dans l’implémentation du mécanisme par OpenOffice et son fork LibreOffice. Ils ont montré qu’il était possible à un attaquant de :

  • manipuler l’horodatage des documents ODF signés
  • modifier le contenu d’un document
  • signer automatiquement un document avec une signature non fiable (document auto-signé), puis de modifier l’algorithme de signature en un algorithme invalide ou inconnu

Dans les deux derniers scénarios d’attaque – résultant d’une validation de certificat incorrecte – LibreOffice affiche de manière incorrecte un indicateur (signé correctement) suggérant que le document n’a pas été falsifié depuis la signature et présente une signature avec un algorithme inconnu comme une signature légitime émise par une partie de confiance.

Ya plus, je laisse ?

Une technique comme une autre pour exfiltrer des données sensibles : la carte SD cachée dans le sandwich au beurre de cacahuète.