- L'agent GPG stocke le mot de passe de la clé en mémoire vive.
- Ce mot de passe est lui-même chiffré : un dump de l mémoire vive ne permet pas de le retrouver en clair.
- Néanmoins, la clé de chiffrement de ce mot de passe étant aussi en mémoire, on peut la retrouver et déchiffrer le mot de passe à partir d'un tel dump : en l'état, la protection apportée par le chiffrement est illusoire (la fonctionnalité est présentée comme pouvant servir à terme avec un TPM)
- La clé privée protégée par le mot de passe est-elle aussi stockée en mémoire vive?
- Si oui, il est inutile stocker aussi le mot de passe, c'est absurde. J'en déduis que non
- Si non, ça fait une petite protection contre attaquant peu probable qui aurait accès à la mémoire vive (accès très difficile à obtenir) mais pas au système de fichiers (accès a priori moins difficile).
Seald fournit :
- un SDK fournissant le chiffrement de bout en bout aux applications avec gestion des équipements (sous-identités associées à une identité principale) et des groupes pour partager l'information
- un séquestre stockant les clés de déchiffrement de chaque couple (information, utilisateur OU groupe), clés elles-mêmes chiffrées par le mot de passe utilisateur (le déchiffrement s'opère donc côté client)
Une interview du fondateur présente de manière claire ce dispositif et ses limites. La principale : la "racine de confiance" se résume au code exécuté. S'agissant d'applications web le plus souvent, la principale faille est donc la prise de contrôle du serveur web qui distribue l'application javascript aux clients.
Une corruption de mémoire dans SQLite permettait, à partir d'un fichier de base de données compromis, de faire exécuter du code arbitraire au processus qui ouvre la base. Cela permettait ainsi de réaliser une élévation de privilèges sur iOS, via la base de données du carnet d'adresse.
L'attaquant utilise le caractère Turing-complet du SQL pour construire, en SQL, une ROP-chain permettant l'exécution de code.
Le client VPN AnyConnect de Cisco contient (contenait) de nombreuses failles de sécurité. En intégrant dans le logiciel un mécanisme de déploiement de configuration à distance et de mise à jour à distance de l'application sur les terminaux clients, celui-ci permet à un serveur compromis de prendre le contrôle de l'ensemble des clients.
Voir aussi CVE-2020-3433 : élévation de privilèges sur le client VPN Cisco AnyConnect (article en français, payant) : le client Windows contenait aussi des failles permettant à un processus malveillant sur la machine cliente d'effectuer une élévation de privilèges.