Blog

Les développeurs à la conquête de la sécurité : Série Partage & Apprentissage - Problèmes de logique métier

March 28, 2019
Jaap Karan Singh

Contrairement à la plupart des autres vulnérabilités que nous avons abordées dans cette série « Share & Learn », les problèmes de logique métier ne sont pas directement liés à des erreurs de codage. Bien que les problèmes de code puissent faire partie du problème, les erreurs de logique métier résultent le plus souvent de défauts de conception ou d'hypothèses logiques incorrectes lors de la création initiale d'une application.

Les problèmes de logique métier peuvent survenir si un utilisateur effectue une action imprévue lors de l'utilisation d'une application. Cela peut être presque n'importe quoi : annuler une commande de manière inattendue, appliquer un code promo trop souvent ou simplement ignorer une étape attendue pour effectuer une action que l'application ne sait pas gérer. L'exploitation des failles de logique métier ne nécessite même aucune formation, juste un utilisateur malveillant doté d'un esprit curieux et prêt à sortir des sentiers battus.

Dans cet épisode, nous aborderons :

  • Comment les attaquants exploitent les failles de logique métier
  • Pourquoi les applications présentant des failles de logique métier sont dangereuses
  • Techniques permettant de prévenir les erreurs de logique métier.

Comment les attaquants exploitent-ils les problèmes de logique métier ?

Contrairement à la plupart des exploits, nous ne pouvons pas pointer du doigt des lignes de code spécifiques à l'origine de cette vulnérabilité. Tout repose sur des actions d'utilisateurs qui n'ont pas été anticipées et que les programmes ne savent pas gérer. Par exemple, imaginons qu'une application bancaire permette aux utilisateurs de transférer de l'argent vers d'autres comptes. Mais au lieu d'envoyer de l'argent, un utilisateur malveillant tente d'envoyer un montant négatif vers un autre compte. Comment l'application bancaire va-t-elle réagir ? Va-t-elle planter ? Va-t-elle refuser le transfert ? Ou pourrait-elle renvoyer de l'argent à l'utilisateur à l'origine du transfert pour équilibrer ce nombre négatif ?

Les sites de commerce électronique sont particulièrement, bien que non exclusivement, sensibles aux failles de logique métier car ils sont conçus pour interagir avec un grand nombre d'utilisateurs et comportent de nombreux composants. L'annulation inattendue de commandes par les utilisateurs, les tentatives d'application multiple de coupons uniques ou même la surcharge des paniers d'achat peuvent présenter aux applications des conditions qui n'ont pas été anticipées. Il n'y a vraiment aucun moyen de savoir comment un programme réagira face à une situation inconnue. Le meilleur scénario pourrait être la génération d'un message d'erreur, mais rien ne garantit que l'application ne prendra pas une mesure plus grave, comme fournir de la marchandise gratuitement.

Pourquoi les problèmes de logique métier sont-ils dangereux ?

Les problèmes de logique métier peuvent être extrêmement dangereux car ils peuvent être exploités par n'importe qui, même par quelqu'un sans formation en programmation ou en piratage. Cela ne nécessite en réalité que de l'expérimentation et du temps, en cliquant un peu partout et en essayant de trouver des failles dans la manière dont une application est conçue pour répondre. Et une fois qu'un utilisateur malveillant découvre une faille dans la logique métier d'un site, vous pouvez parier qu'il l'exploitera autant que possible.

Le plus grand danger est généralement financier, comme un utilisateur achetant 20 téléviseurs grand écran sans les payer, ou quelque chose de similaire. Mais les failles de logique métier peuvent également causer d'autres problèmes. Par exemple, si la fonction de mot de passe protégeant un site ne sait pas quoi faire si un utilisateur clique constamment sur « annuler », elle pourrait lui permettre de contourner complètement le processus de connexion.

Il n'y a vraiment aucun moyen d'anticiper l'ampleur des dégâts qu'un problème de logique métier pourrait causer. Souvent, la première indication d'un problème survient bien après que les utilisateurs ont commencé à les exploiter.

Résoudre les problèmes de logique métier

Malheureusement, l'utilisation d'outils courants comme les scanners de vulnérabilités ne permettra pas d'identifier ou de corriger les problèmes de logique métier, car le test de ces problèmes ne peut pas être facilement automatisé. La meilleure façon de les éviter est de mettre en œuvre une planification rigoureuse, une gestion des erreurs et des tests de cas négatifs pendant le développement de l'application. Cela nécessite d'abord un ensemble clairement défini de règles métier incluant toutes les actions possibles et souhaitées que l'application est censée effectuer.

Armé d'un plan de règles métier, l'un des meilleurs moyens d'empêcher l'introduction de failles de logique métier consiste à créer un organigramme montrant toutes les manières possibles dont les données et les transactions doivent circuler au sein d'une application. Cela inclut la modélisation du comportement pour chaque instance où un utilisateur est en mesure de faire un choix ou de saisir des données. Vérifiez constamment que les actions possibles dans le diagramme de flux correspondent aux fonctions du plan de règles métier.

Enfin, utilisez la modélisation des menaces pour aider à identifier les failles dans la logique métier pendant les phases de conception, de mise en œuvre et de test. Par mesure de sécurité, créez une action que le programme doit effectuer s'il rencontre une situation non spécifiquement anticipée. Cela pourrait être aussi simple que de refuser l'action et d'alerter un administrateur du problème rencontré.

Plus d'informations sur les problèmes de logique métier

Pour aller plus loin, vous pouvez consulter les pages de l'OWASP sur les problèmes de logique métier. Vous pouvez également mettre vos nouvelles connaissances défensives à l'épreuve avec la démo gratuite de la plateforme Secure Code Warrior, qui forme les équipes de cybersécurité à devenir les ultimes cyber-guerriers. Pour en savoir plus sur la lutte contre cette vulnérabilité et une galerie d'autres menaces, visitez le blog de Secure Code Warrior.

Prêt à traquer et neutraliser les vulnérabilités de logique métier dès maintenant ? Rendez-vous sur la plateforme pour tester vos compétences : [Commencer ici]

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é.