Reconmind, accueil

Attaque

Faille de logique métier

Aussi appeléBusiness logic flawAbus de logique métier

En résumé

Un défaut dans les règles propres à une application, exploitable en utilisant ses fonctions de façon légitime mais dans un ordre, un contexte ou une combinaison que ses concepteurs n’avaient pas prévus. Aucune syntaxe malveillante n’est nécessaire, ce qui la rend invisible aux outils automatiques.

Faille de logique métier, en détail

Contrairement à l’injection SQL : définition ou au XSS : définition, une faille de logique métier ne dépend pas d’une technique d’attaque connue mais d’une règle de gestion mal pensée ou mal appliquée. Cumuler deux remises qui devaient s’exclure, sauter une étape de validation en appelant directement l’étape suivante, demander un remboursement supérieur au montant payé, modifier un prix côté client : chaque action est autorisée prise isolément, c’est l’enchaînement qui pose problème.

Aucun scanner ne la détecte, parce qu’aucun outil ne sait ce que l’application est censée faire. Il faut comprendre le métier, lister les hypothèses que le développeur a faites (« l’utilisateur passera forcément par cette page », « ce champ ne peut pas être négatif ») et chercher comment les violer. Un analyste compare le comportement attendu, décrit dans la spécification, au comportement permis par les requêtes. La prévention se joue dès la conception : formaliser les règles et leurs exceptions, valider chaque règle côté serveur à chaque étape plutôt que seulement dans l’interface, et prévoir des tests qui tentent explicitement de contourner le parcours nominal. Les revues de conception avec un regard adverse, avant le développement, coûtent bien moins cher que la correction d’un abus déjà exploité.

Qu’est-ce que cela change pour vous ?

Ces failles touchent directement l’argent, les stocks ou les droits de votre activité, et elles échappent à la plupart des contrôles automatisés. Leur détection exige un test réalisé par une personne qui comprend votre modèle économique.

Exemple illustratif (fictif)

Imaginons une boutique en ligne où un code promotionnel limité à un usage par client peut être appliqué plusieurs fois, en passant par l’application mobile puis par le site web dont les contrôles ne sont pas partagés. Le cumul ramènerait certaines commandes à un prix nul.

La confusion fréquente

Penser qu’une application « propre » sur les vulnérabilités techniques est donc sûre. Un code irréprochable peut implémenter une règle de gestion exploitable ; les deux catégories de défauts sont indépendantes.

Comment le détecter chez vous ?

Aller plus loin

Termes liés

  • AttaqueIDOR / BOLA : définitionUn défaut de contrôle d’accès où l’application sert l’objet demandé sans vérifier qu’il appartient à l’utilisateur authentifié.
  • AttaqueCondition de course : définitionUne vulnérabilité où le résultat d’une opération dépend de l’ordre ou du moment auquel plusieurs requêtes concurrentes sont traitées.
  • MéthodeTest d’intrusion : définitionUne simulation d’attaque autorisée et encadrée, menée par des analystes, qui cherche à démontrer ce qu’un attaquant pourrait obtenir sur un périmètre défini.
  • TechniqueScan de vulnérabilités : définitionUne analyse automatisée qui compare un système (serveur, application, réseau) à une base de défauts connus : versions vulnérables, configurations par défaut, en-têtes manquants.

Revenir au glossaire complet

Réponse à toute demande sous 24 h ouvrées

Un périmètre à faire tester ?

Le cadrage est gratuit et sans engagement. Trente minutes suffisent à savoir si une mission est pertinente, laquelle, et ce qu’elle coûterait.

  • Accord de confidentialité systématique
  • Cadrage gratuit et sans engagement
  • Périmètre et prix écrits avant le début