Blog

Série OWASP Top 10 API : Coders Conquer Security - Assignation de masse

October 21, 2020
Matias Madou, Ph.D.

La vulnérabilité d'assignation de masse est apparue car de nombreux frameworks modernes encouragent les développeurs à utiliser des fonctions qui lient automatiquement les entrées des clients aux variables de code et aux objets internes. Cela permet de simplifier le code et d'accélérer les opérations.

Les attaquants peuvent exploiter cette méthode pour forcer des modifications sur des propriétés d'objets qui ne devraient jamais être mises à jour par un client. Cela entraîne généralement des problèmes métier, comme un utilisateur s'octroyant des privilèges d'administrateur, plutôt que de faire tomber un site web ou de voler des secrets d'entreprise. Les attaquants doivent également avoir une idée des relations entre les objets et la logique métier de l'application qu'ils exploitent.

Cependant, cela ne rend pas la vulnérabilité d'assignation de masse moins dangereuse entre les mains d'un utilisateur malveillant et astucieux.

Avant de passer au guide complet, essayez notre défi ludique pour voir comment vous vous en sortez :

Comment les attaquants peuvent-ils exploiter la vulnérabilité d'assignation de masse ?

Le scénario proposé par l'OWASP (et légèrement modifié par nos soins) suppose une application de covoiturage qui inclut différentes propriétés liées aux objets dans le code via l'assignation de masse. Celles-ci incluent des propriétés liées aux permissions que les utilisateurs peuvent modifier et des propriétés dépendantes du processus qui ne devraient être définies qu'en interne par l'application. Les deux utilisent l'assignation de masse pour lier les propriétés aux objets.

Dans ce scénario, l'application de covoiturage permet aux utilisateurs de mettre à jour leur profil, comme c'est souvent le cas dans de nombreuses applications orientées utilisateur. Cela se fait via un appel API envoyé à PUT, qui renvoie l'objet JSON suivant :

{"user_name":"SneakySnake", "age":17, "is_admin":false}

Parce que l'attaquant, M. SneakySnake dans ce cas, a compris la relation entre les propriétés et les objets, il peut renvoyer sa requête initiale pour mettre à jour son profil avec la chaîne suivante :

{"user_name":"SneakySnake","age":24,, "is_admin":true}

Comme le point de terminaison est vulnérable à l'assignation de masse, il accepte la nouvelle entrée comme valide. Non seulement notre pirate a ajouté quelques années à son profil, mais il s'est également octroyé des privilèges d'administrateur.

Éliminer la vulnérabilité d'assignation de masse

Aussi pratique que puisse être l'utilisation de la fonction d'assignation de masse dans certains frameworks, vous devriez l'éviter si vous souhaitez sécuriser vos API. Analysez plutôt les valeurs de la requête au lieu de les lier directement à un objet. Vous pouvez également utiliser un objet de transfert de données réduit, qui offrirait une commodité presque identique à la liaison directe, sans le risque associé.

Par mesure de précaution supplémentaire, les propriétés sensibles comme les privilèges d'administrateur de l'exemple ci-dessus pourraient être refusées afin qu'elles ne soient jamais acceptées par le serveur lors d'un appel API. Une idée encore meilleure serait de refuser toutes les propriétés par défaut, puis d'autoriser uniquement les propriétés spécifiques et non sensibles que vous souhaitez laisser les utilisateurs modifier. Ces mesures aident à verrouiller vos API et à éliminer la vulnérabilité d'assignation de masse de votre environnement.

Consultez les pages du blog Secure Code Warrior pour en savoir plus sur cette vulnérabilité et découvrir comment protéger votre organisation et vos clients contre d'autres failles de sécurité. Vous pouvez également demander une démonstration de la plateforme de formation Secure Code Warrior pour maintenir vos compétences en cybersécurité à jour.

Slogan

Gouvernez le développement assisté par IA avant la mise en production

Évaluez les risques liés à l'IA, appliquez des politiques de codage sécurisé dès le commit et accélérez la livraison sécurisée tout au long de votre cycle de développement.

Réserver une démo
Bibliothèque de ressources

Explorer plus d'articles

Accédez à du contenu expert sur le codage sécurisé, la gouvernance de l'IA et la gestion des risques logiciels.

tout parcourir
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

En savoir plus
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

En savoir plus
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Une culture de la sécurité : comment Sage a bâti son programme de champions

Découvrez comment Sage a renforcé sa sécurité grâce à une approche flexible axée sur les relations humaines, formant plus de 200 champions de la sécurité et obtenant une réduction mesurable des risques.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Mois de la sensibilisation à la cybersécurité 2026 : comprendre la sécurité de l'IA est essentiel à la défense de l'entreprise

Nous avons atteint un point où la plupart des grandes entreprises d'IA ont publiquement appelé à un ralentissement mondial du développement de l'IA afin de permettre aux garde-fous de sécurité de rattraper leur retard. Pourtant, la réalité est que de graves problèmes de sécurité se sont déjà concrétisés. Cela place d'innombrables responsables de la sécurité et équipes de direction dans une situation d'urgence, alors que les coûts financiers et les risques liés à la mise en œuvre de l'IA ne cessent de s'accumuler.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Levier 8 : Valoriser votre programme

Un programme de codage sécurisé a besoin de plus qu'un contenu de qualité pour réussir. Le levier 8 montre comment l'image de marque transforme la participation en une expérience convoitée, axée sur le statut.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Chaque employé est désormais en première ligne de la cybersécurité IA

Le paysage technologique des entreprises évolue à une vitesse que peu avaient anticipée avant qu'il ne soit trop tard. Nous avons officiellement franchi le cap du code écrit par l'humain et de l'assistance basique par copilote pour entrer dans l'ère du cycle de vie de développement agentique (ADLC). Si les agents IA autonomes promettent une efficacité sans précédent dans de multiples fonctions, ils apportent également une toute nouvelle catégorie de risques en matière de sécurité et de réglementation.

En savoir plus

Sécurisez le développement piloté par l'IA avant le déploiement

Identifiez les risques de développement, appliquez vos politiques et prévenez les vulnérabilités tout au long du cycle de vie de vos logiciels.

Réserver une démo
trust score
Aucun élément trouvé.