Aller au contenu

Capacités de la Défense côté client

F5 Distributed Cloud Défense côté client (CSD) protège les applications web contre les attaques côté client en surveillant le comportement JavaScript directement dans le navigateur. L’équilibreur de charge F5 XC peut être configuré pour injecter le script de télémétrie CSD dans les pages servies au client. Ce script observe toute l’activité JavaScript — quels scripts se chargent, quels champs de formulaire ils lisent et quelles connexions réseau ils établissent. Les données de télémétrie sont envoyées à la Plateforme F5 XC où des modèles d’apprentissage automatique analysent le comportement des scripts, attribuent des scores de risque et signalent les anomalies. Les équipes de Sécurité examinent les détections dans la console CSD et agissent en autorisant ou en atténuant les domaines de scripts.

flowchart LR
    A["Browser JS"] --> B["CSD Telemetry Script"]
    B --> C["F5 XC Platform"]
    C --> D["ML Analysis"]
    D --> E["CSD Dashboard"]

CSD surveille trois catégories de comportements côté navigateur :

SignalCe que CSD observeExemple
Lectures de champs de formulaireQuels scripts accèdent à quels champs input présents dans le DOM de la page au moment du chargementmain.js lisant le champ password sur /login
Inventaire des scriptsTous les scripts JavaScript internes et tiers chargés sur chaque page, suivis par domaine sourceUne nouvelle balise <script> se chargeant depuis cdn.jsdelivr.net apparaissant sur la page de connexion
Interactions réseauDomaines impliqués dans l’activité réseau des scripts — inclut à la fois les domaines sources de chargement de scripts et les domaines de destination fetch/XHRDes scripts provenant de esm.sh et des cibles d’exfiltration de données comme www.httpbin.org apparaissant dans les domaines détectés
FonctionnalitéDescriptionEmplacement dans la console
Évaluation du risque des scriptsClassification automatique : Aucun risque, Faible risque, Risque élevéListe des scripts → Colonne Niveau de risque
Sensibilité des champs de formulaireClassification automatique des champs comme Sensibles (par le système) selon le type et le nom du champVue Champs de formulaire → Colonne Analyse
Chronologie des comportementsGraphiques du niveau de risque, du domaine source et du type de script dans le tempsDétail du script → Vue d’ensemble → Comportements au fil du temps
Attribution des utilisateurs affectésSuivi des utilisateurs impactés par adresse IP, géolocalisation, navigateur et appareilDétail du script → Onglet Utilisateurs affectés
Liste d’autorisation de domainesMarquer les domaines de scripts de confiance comme autorisésTableau de bord → ligne de domaine → Ajouter à la liste d’autorisation
Liste de mitigation de domainesBloquer les appels réseau et les lectures de champs de formulaire provenant de domaines de scripts spécifiques, empêchant l’exfiltration de donnéesTableau de bord → ligne de domaine → Ajouter à la liste de mitigation
Configuration des alertesNotifications pour les nouveaux domaines, les changements de risque et les comportements suspectsSection Notifications
Justification des scriptsAjouter des notes expliquant pourquoi un script est autorisé (conformité PCI DSS)Détail du script → Champ Justification
Suivi des transactionsCompteur mensuel d’événements de télémétrie confirmant que CSD est actifTableau de bord → Carte Transactions consommées
Filtres temporels et géographiquesFiltrer toutes les vues par plage temporelle (24h, 7j, 30j) et localisationContrôles de filtre dans la barre supérieure

Comprendre ce que CSD ne surveille pas est essentiel pour établir des attentes précises lors des démonstrations :

LimitationDétailVérifié
Champs créés dynamiquementCSD suit les champs input présents dans le DOM au chargement de la page. Les champs injectés par JavaScript après le chargement ne sont pas surveillés. Un <input> créé dynamiquement et lu par un script n’apparaît pas dans la vue Champs de formulaire.Oui — champ absent de /formFields après 10 minutes d’attente
Obscurcissement au niveau du codeCSD ne signale pas les techniques d’exécution de code dynamique ou les patterns d’obscurcissement comme signaux de détection distincts. Les collecteurs obscurcis produisent le même niveau de risque que les non-obscurcis — CSD suit les métadonnées comportementales, pas les patterns du code source.Oui — « Risque élevé » identique pour les deux techniques
Champs de formulaires superposésCSD ne suit que les champs de formulaire présents dans le DOM d’origine au chargement de la page. Les formulaires superposés injectés par JavaScript (une technique courante de skimming numérique) ne sont pas suivis — seules les lectures des champs d’origine sont détectées.Oui — champs superposés absents de /formFields après 10 minutes d’attente
Comportement du compteur du tableau de bordLes compteurs récapitulatifs « Trouvé et atténué » et « Trouvé et autorisé » ne changent qu’après qu’un administrateur ajoute explicitement un domaine à la liste de mitigation ou d’autorisation. Les compteurs « Action requise » et « Total trouvé » se mettent à jour automatiquement lorsque de nouveaux domaines sont détectés.Oui — « Trouvé et autorisé » est passé de 0 à 1 uniquement après un POST vers /allowed_domains

CSD répond directement à deux exigences PCI DSS v4.0 pour la sécurité des pages de paiement :

Exigence PCI DSSCe qu’elle requiertComment CSD y répond
6.4.3 — Gestion des scripts sur les pages de paiementMaintenir un inventaire de tous les scripts, fournir une autorisation écrite et une justification pour chacun, vérifier l’intégrité des scriptsLa liste des scripts fournit un inventaire complet ; le champ Justification documente l’autorisation ; la chronologie des comportements suit les modifications
11.6.1 — Détection des altérations sur les pages de paiementDétecter les modifications non autorisées des en-têtes HTTP et du contenu de la page de paiementLa télémétrie CSD détecte les nouvelles injections de scripts, les lectures non autorisées de champs de formulaire et les nouveaux domaines réseau — en alertant sur les changements de comportement de la page

Le tableau suivant associe les catégories courantes d’attaques côté client aux signaux de détection CSD qui se déclencheraient lors de chaque type d’attaque. Les types d’attaques marqués d’un * sont confirmés par la documentation officielle F5. Les types non marqués sont déduits sur la base des catégories de signaux de détection de CSD et peuvent ne pas être explicitement revendiqués par F5.

Catégorie d’attaqueDescriptionLectures de champsInjection de scriptsRéseau
Formjacking *Un script malveillant lit les valeurs des champs de formulaire et les exfiltreOuiOui
Skimming numérique *Injecte des formulaires superposés ou des scripts pour capturer les données de paiementOuiOuiOui
Attaque sur la chaîne d’approvisionnement *Une bibliothèque tierce compromise charge du code malveillantOuiOui
Exfiltration de données *Lit des données sensibles et les envoie vers des domaines externesOuiOui
Injection de scripts *Insère des balises <script> non autorisées dans la pageOuiOui
Cryptojacking *Injecte des scripts de minage de cryptomonnaieOuiOui
Manipulation du DOMInjecte ou modifie des éléments de la page pour tromper les utilisateursOui
Man-in-the-BrowserIntercepte les données de formulaire dans la session du navigateur — voir OWASP et MITRE T1185OuiOui
ClickjackingSuperpose des cadres invisibles pour détourner les clics des utilisateurs — voir OWASPOui
Persistance du skimmer webRéinjecte des scripts de skimming lors des navigations entre pages — voir Sansec Magecart ResearchOuiOui