capability-based-security

6 posts

Vos dépendances peuvent lire vos variables d'environnement. JavaScript les laisse faire.

L'autorité ambiante signifie que n'importe quel code dans votre processus Node.js peut toucher le système de fichiers, le réseau et l'environnement. Voici comment l'éliminer avec lockdown, les compartments et le passage explicite de capabilities.

Une seule dépendance transitive compromise peut exfiltrer votre , écrire sur votre système de fichiers et ouvrir des connexions sortantes. Elle n'a pas besoin…

La proximité réseau n'est pas l'identité : comment les services s'authentifient sans autorité ambiante

La plupart de la confiance entre services vient de leur emplacement réseau, pas d'une preuve cryptographique. Voici comment les capabilities, le mTLS et SPIFFE permettent aux services de s'authentifier sans autorité ambiante, et pourquoi c'est plus difficile que ça ne devrait l'être.

Vos microservices partagent un VPC, donc ils se font confiance. Cette confiance est une autorité ambiante : la permission d'invoquer un service n'est accordée…

Vos dépendances peuvent lire n'importe quel fichier sur le disque. cap-std les force à demander la permission.

La bibliothèque standard de Rust accorde une autorité ambiante sur le système de fichiers à chaque dépendance. cap-std la remplace par des APIs basées sur les capabilities qui forcent le code à prouver qu'il a le droit d'accéder à un chemin avant de l'ouvrir.

N'importe quelle crate dans votre arbre de dépendances peut ouvrir , écrire dans votre répertoire , ou énumérer chaque fichier de votre projet. La bibliothèque…

Votre service est un complice involontaire : comment fonctionnent les attaques par député confus

Une attaque par député confus trompe un service privilégié pour qu'il utilise son autorité contre lui-même. Voici comment les attaquants exploitent la confiance implicite, et pourquoi la sécurité basée sur les capabilities est la solution.

Votre service dispose d'une clé API pour votre stockage cloud. Un utilisateur envoie une requête. Votre service écrit fidèlement un fichier. Le fichier…

Et si chaque fonction devait recevoir une autorisation au lieu de la supposer ?

La plupart du code s'exécute avec une autorité ambiante : chaque fonction peut toucher à tout. La sécurité basée sur les capacités renverse ce modèle en obligeant les fonctions à recevoir des permissions explicites et limitées.

Votre fonction a accès à la base de données, à la passerelle de paiement et au journal d'audit parce qu'elle se trouve par hasard dans le même processus. Si un…