Comment détecter un attaquant qui consulte trop de données ?
Le moindre privilège ne suffit pas toujours : il faut parfois décider si chaque accès reste légitime au moment où il a lieu.
Un matin ordinaire chez CorgiBOX
CorgiBOX stocke les informations de ses clients dans une application maison : identité, contrat, historique du support, mais aussi données personnelles détaillées et éléments de facturation. Alice travaille au support. Son rôle lui donne un droit de lecture sur les dossiers clients, ce qui est parfaitement normal : c'est son métier.
Ce matin-là, son compte est compromis. L'attaquant se connecte, passe le MFA grâce à une session volée, ouvre un premier dossier, puis un deuxième. Puis vingt. Puis cent. Puis mille. Rien n'est techniquement anormal : le compte est valide, la session est valide, le droit est réellement attribué, le chemin d'accès est celui de tous les jours.
À quel moment ce comportement devient-il anormal ? La réponse n'est ni « il suffisait de mettre du MFA », ni « il suffisait de retirer à Alice le droit de lire beaucoup de fiches ». Un attaquant n'a pas toujours besoin d'obtenir un droit qu'il ne possède pas : il peut simplement abuser, beaucoup plus vite ou beaucoup plus largement que prévu, d'un droit parfaitement légitime.
Authentifier n'est pas autoriser
L'authentification répond à une question de confiance : qui es-tu, et quel niveau de garantie ai-je sur cette connexion ? L'autorisation répond à une autre question : que peux-tu faire ? Une architecture moderne peut aller un cran plus loin et demander si cette identité doit pouvoir effectuer cette action, sur cette ressource, dans ce contexte, maintenant.
Avoir correctement authentifié Alice à 8 h 40 ne signifie pas que tout ce que fait sa session à 9 h 15 doit rester autorisé. Le MFA reste important ; il ne traite simplement pas ce problème.
L'IGA non plus ne disparaît pas — au contraire. C'est elle qui gouverne les identités, les rôles, les habilitations, la séparation des tâches, les mouvements, les recertifications et le cycle de vie. Alice appartient-elle réellement au support ? Son rôle lui donne-t-il accès à cette population ? Ce droit est-il toujours justifié ? Ces réponses sont indispensables, mais le droit théorique ne suffit pas à trancher toutes les décisions au moment de l'action.
Ce qui peut entrer dans une décision d'accès
Une décision d'autorisation fine ne regarde pas seulement « rôle = support ». Elle combine plusieurs dimensions, dont certaines changent d'une minute à l'autre.
- 01
Le droit lui-même
Rôle, habilitation, population autorisée, et surtout relation réelle entre l'utilisateur et la ressource : Alice suit-elle ce client, ou ouvre-t-elle un dossier avec lequel elle n'a jamais eu d'interaction ?
- 02
Le contexte d'accès
Terminal connu ou non, origine, réseau, heure, environnement, niveau d'authentification obtenu lors de la connexion.
- 03
La sensibilité de la ressource
Une FAQ publique et un dossier de facturation détaillé n'appellent pas les mêmes conditions d'accès. La classification de la donnée fait partie de la décision.
- 04
Le risque
Session signalée, terminal compromis, anomalie remontée par un outil de sécurité, alerte du SOC, changement récent important sur le compte.
- 05
Le comportement
Navigation inhabituellement rapide, succession d'objets sans lien entre eux, endpoint jamais utilisé jusqu'ici, rupture nette avec les habitudes de la personne.
- 06
La volumétrie
Nombre d'objets consultés, nombre d'objets distincts, appels par unité de temps, volume exporté. C'est le signal le plus visible — et le plus trompeur pris isolément.
La volumétrie est un signal. Elle n'est pas, à elle seule, une preuve d'attaque.
PDP, PEP, PIP, PAP — en une minute
Quatre acronymes reviennent dès qu'on parle d'autorisation externalisée. Inutile de les apprendre par cœur : il suffit de voir qui fait quoi.
Le PAP est l'endroit où l'on administre les politiques : quelles règles voulons-nous appliquer ? Le PDP est le moteur qui prend la décision à partir des politiques, des attributs et du contexte. Le PEP est placé sur le chemin réel de l'action — application, API, API Gateway, composant d'Access Management, bastion — il interroge le PDP puis applique la réponse. Le PIP fournit les informations nécessaires à la décision : identité, rôle, organisation, caractéristiques de la ressource, niveau de risque, attributs métier.
Application, API, API Gateway, Access Management, bastion…
Politiques centralisées, attributs, contexte
- IGAIdentité · Rôle · Habilitations · SoD
- Access ManagementSession · Niveau d'authentification · Contexte de connexion
- MétierPropriétaire du dossier · Relation · Sensibilité · Classification
- SécuritéRisque de session · Signaux SOC · État du terminal
- UsageFréquence · Volumétrie · Historique · Comportement récent
Revenons à Alice
Alice appelle « GET /customers/12345 ». Le point de contrôle placé sur ce chemin peut transmettre au moteur de décision bien plus que son rôle.
Le rôle d'Alice reste valide dans les six lignes du haut. C'est la combinaison avec les trois dernières qui change la lecture de l'appel.
subject = alice
role = support
action = read
resource = customer/12345
customer.region = FR-IDF
customer.classification = personal-data
authentication.level = strong
device.trust = managed
session.risk = high
customersViewedLast5Min = 487
behaviourDeviation = highCe bloc est une représentation pédagogique des informations susceptibles d'entrer dans une décision, pas la syntaxe d'un produit particulier.
Le moteur d'autorisation n'invente pas le comportement
Point d'expertise important : installer un PDP ne crée pas un moteur comportemental. Pour savoir qu'Alice a ouvert 487 fiches en cinq minutes, quelqu'un doit avoir calculé ce chiffre. Selon le SI, il vient de l'application elle-même, de l'API Gateway, d'une couche de télémétrie, du SOC, d'un moteur de détection, d'un dispositif antifraude ou d'un service interne de scoring.
La chaîne est simple : la détection produit ou enrichit un signal, le PDP confronte ce signal aux politiques et au contexte métier, le PEP applique la décision sur l'action réelle.
Détecter une anomalie et décider ce que l'identité peut encore faire sont deux fonctions différentes. L'intérêt est justement de pouvoir les relier.
Une réponse plus riche qu'un simple blocage
Réduire l'autorisation à permit / deny ferme beaucoup de portes utiles. Selon les capacités du point d'enforcement, une même décision peut se traduire de plusieurs façons.
- Autoriser, refuser, ou autoriser en restreignant le périmètre
- Interdire l'export, masquer certains champs
- Demander une authentification renforcée à un humain, exiger une validation
- Appliquer un rate limiting sur l'API
- Déclencher une alerte et une réponse SOC
Le PDP décide ; encore faut-il que le PEP sache appliquer cette décision. C'est un critère de conception, pas un détail d'intégration.
PERMIT read customer
IF
subject.role == "support"
AND customer.region IN subject.allowedRegions
AND session.authenticationLevel >= requiredLevel
AND session.risk < HIGH
AND behaviour.customerViews5min < adaptiveThreshold
OTHERWISE
restrict
OR step-up
OR denyPseudo-politique pédagogique : ce n'est la syntaxe d'aucun produit. L'intérêt est de sortir progressivement du « if (user.isAdmin) » éparpillé dans le code métier.
Axiomatics, exemple concret de PDP
Ariovis travaille avec Axiomatics sur l'autorisation fine et dynamique. Dans une architecture cible, ce type de moteur joue le rôle de PDP : les politiques sont centralisées, les décisions sont prises en temps réel, et l'IGA devient l'une des sources d'information qui alimentent la décision — identités, modèle de rôles, règles, attributs de gouvernance.
L'application ne se contente alors plus de vérifier qu'Alice a le rôle Support : elle délègue une question plus précise, celle de savoir si Alice peut lire ce dossier, avec cette session, dans ce contexte. Les applications historiques et les SaaS non adaptés continuent de recevoir des habilitations classiques ; les applications modernes délèguent progressivement davantage. C'est une trajectoire, pas un basculement.
Puis arrive le batch de nuit
Chaque nuit, CorgiBOX exécute un traitement de rapprochement comptable, « corgibox-fiscal-reconciliation ». Pour faire son travail, il lit 100 000 factures. Si la règle avait été « plus de 1 000 lectures = attaque », CorgiBOX déclencherait un incident de sécurité toutes les nuits, et l'équipe finance apprendrait vite à ignorer les alertes.
Un accès massif peut être parfaitement légitime. Un accès minuscule peut être extrêmement suspect. C'est le contexte qui fait la différence.
Le batch est une identité, pas une exception
Les comptes de service ne sont pas des anomalies du SI qu'on tolère faute de mieux. Ce sont des identités non humaines, à gouverner et à contrôler comme les autres — avec d'autres attributs.
Dans ce contexte, 83 421 lectures sont parfaitement normales. Et il ne viendrait à personne l'idée de demander à ce batch de valider une notification sur son téléphone : les facteurs de confiance d'une identité non humaine sont ailleurs — identité du workload, certificat ou mécanisme cryptographique, credential adapté, origine, environnement, scheduler, application appelante, destination, pattern d'utilisation.
subject.type = workload
subject.id = fiscal-reconciliation
action = read
resource.type = invoice
environment = production
scheduler = nightly-finance
currentTime = 02:17
destination = finance-datalake
recordsRead = 83421
behaviourDeviation = normalUne identité technique peut avoir besoin d'un volume énorme de données sans avoir besoin d'un droit énorme sur tout, partout et tout le temps.
Le scénario intéressant : l'attaquant compromet le batch
Supposons maintenant que l'attaquant récupère le credential du compte de service. Techniquement, ce compte reste valide. Il essaie alors de s'en servir pour autre chose : appeler une autre API, lire un autre référentiel, atteindre des données RH, changer de destination, agir en pleine journée.
150 requêtes suffisent ici à sortir du cadre. Le PDP peut vérifier que ce compte appelle les ressources attendues, depuis le contexte attendu, pendant la fenêtre prévue, avec les actions et les destinations prévues. Compromettre le batch ne donne pas automatiquement carte blanche à l'attaquant.
subject.id = fiscal-reconciliation
action = read
resource.type = employee-directory
currentTime = 14:37
destination = unknown
behaviourDeviation = criticalLe credential est valide ; l'usage, lui, ne l'est plus.
Alice — compte humain compromis
487 fiches en 5 minutes
- Rôle légitime
- Session valide
- Origine inhabituelle
- Risque de session élevé
- Périmètre inhabituel
Challenger, restreindre ou refuser selon la politique
Batch finance — légitime
100 000 factures
- Workload attendu
- Horaire attendu
- API attendue
- Destination attendue
- Comportement normal
Autorisé
Batch compromis
150 requêtes seulement
- 14 h 37
- API RH
- Nouvelle destination
- Nouvel usage
- Écart de comportement critique
Refus ou réaction de sécurité
La volumétrie n'est qu'un signal parmi les autres.
Ce que cela change face au déplacement latéral
Un compte de service compromis ne doit pas se transformer en identité universelle permettant d'interroger tout ce qui est techniquement joignable depuis la machine. Lorsque les chemins sensibles disposent de points d'enforcement et s'appuient sur la politique dynamique, cela réduit fortement les possibilités d'abus et de déplacement latéral sur les ressources effectivement placées sous cette politique.
La nuance compte. Une architecture d'autorisation ne protège pas une ressource qui contourne le PDP, une API laissée sans contrôle, un accès direct à une base de données ou un chemin technique resté ouvert. C'est d'ailleurs pour cela que, dans une trajectoire Zero Trust, l'API Gateway est souvent un point d'enforcement pertinent pour les identités non humaines : le batch appelle la gateway, la gateway interroge le PDP, et la question n'est plus seulement « le token est-il valide ? » mais « cette identité technique peut-elle faire cette action sur cette API, dans ce contexte ? ». C'est un pattern parmi d'autres, pas l'unique architecture possible.
Stratégie IAM et Zero TrustAccess Management et CIAMGestion des accès à privilèges
Par où commencer, sans big bang
Aucune organisation n'externalise 100 % de ses autorisations du jour au lendemain, et ce n'est pas un objectif en soi. Le socle existant — IGA et Access Management — donne déjà la maîtrise des identités, des rôles, des habilitations, de l'authentification et des sessions.
L'autorisation fine s'introduit ensuite sur quelques cas où elle change vraiment quelque chose : accès aux données sensibles, API métier critique, opération financière, compte de service très puissant, agent IA, action d'administration. Les applications modernes délèguent progressivement davantage de décisions, et certaines organisations visent à terme une externalisation beaucoup plus large. On commence là où la valeur justifie la complexité.
Security Meets Business
Une politique de sécurité qui bloquerait toute identité lisant beaucoup de données arrêterait CorgiBOX en une nuit. Le métier a besoin de batchs, d'intégrations, de migrations, de sauvegardes et de traitements de masse. C'est justement pour cela que la sécurité doit comprendre le métier assez finement pour distinguer l'usage massif attendu de l'usage frauduleux.
Le but n'est pas de limiter arbitrairement l'entreprise pour la sécuriser. Le but est d'exprimer suffisamment précisément ce qu'est un usage légitime pour reconnaître plus vite ce qui ne l'est plus.
La bonne question
Alice dispose réellement du droit Support. Le batch dispose réellement d'un droit massif sur les factures. La question n'est donc pas de savoir qui lit le plus.
Elle est de savoir si cet accès reste cohérent avec l'identité, la ressource, l'action, le contexte, le comportement et le niveau de risque que nous avons décidé d'accepter.
Concevoir une autorisation fine et dynamique
Vos rôles disent qui peut accéder à une application. Nous pouvons vous aider à décider ce qu'une identité peut réellement faire au moment de chaque action : cas d'usage prioritaires, modèle de politiques, points d'enforcement, signaux à raccorder.