Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
F5 Networks
1. Description synthétique de la solution BIG-IP ASM ______________________________ 4
1.1. Fonctions clés ________________________________________________________________5
1.2. Les types d’attaques qu’ASM bloque ______________________________________________6
1.3. Bénéfices d’ASM ______________________________________________________________7
Contributeurs
Nom Département
Correcteurs
Nom Département
Révisions du document
17/09/2014 T. Megherbi 11.6 Ajouts des nouvelles fonctionnalités de la version 11.3 à 11.6
Documents liés
Avec l’explosion des applications web 2.0 et du trafic applicatif web, une quantité croissante de données sensibles
est exposée aux tentatives de vol, aux vulnérabilités de sécurité et aux vecteurs d’attaques.
F5 BIG-IP® Application Security Manager™ (ASM) est la solution de sécurité développée pour les applications Web.
En tant que Pare-feu Applicatif Web (Web Application Firewall ou WAF), la solution ASM (Application Security
Manager) permet d’assurer la sécurité des applications Web tout en préservant leur fonctionnement et leur
disponibilité. Elle intègre également, sur la même plateforme, des fonctions d’ADC, de Reverse-Proxy et d’anti-DDoS,
permettant ainsi de consolider en un point central tous les outils nécessaires à la publication sécurisée d’une
application.
La solution F5 BIG-IP® Application Security Manager™ (ASM) est un Pare-feu Applicatif Web totalement flexible qui
sécurise les applications web et ce quel que soit le mode de déploiement choisi : traditionnel ou alors en
environnement cloud, public et privé. L’administrateur de la solution a également toujours le choix d’utiliser l’outil
en mode dit "Bloquant", évitant ainsi les attaques éventuelles, ou en mode dit "Transparent", c’est à dire
uniquement comme un outil de surveillance de ses applications, capable aussi de générer des rapports sur
l’utilisation de ses applications.
ASM permet de contrôler très finement les échanges entre les utilisateurs et les serveurs Web. Les éléments pouvant
être analysés ou filtrés sont :
§ Des templates de configuration pré-définis pour les applications les plus populaires.
§ Des fonctionnalités d’apprentissage entièrement automatisé ou semi-automatisé permettant de construire
simplement une politique de sécurité pour chaque application.
§ Une base de signatures d’attaques (également appelée "liste noire").
§ Des outils simplifiant la création d’une "liste blanche" comprenant l’ensemble des objets constituant une
application web (URLs, paramètres, fichiers, méthodes, headers, cookies, etc…).
§ Des moteurs d'analyse du comportement des utilisateurs, permettant la détection et l'atténuation des
dénis de service (DoS/DDoS), des attaques "Brute-Force" et des aspirations de contenu ("Web Scraping").
§ Un suivi et un renforcement des sessions des utilisateurs tout au long de leur navigation.
§ Un moteur unique de protection contre les attaques de type CSRF, visant à exploiter la session d’un
utilisateur à son insu.
§ Une base de données de géolocalisation IP.
§ Une base de données de réputation IP.
§ Un firewall SOAP/XML et REST/JSON permettant la protection des applications de type "web service"
§ Une fonctionnalité unique de protection des applications utilisant les Web Sockets.
§ Un moteur de détection des fuites de données.
§ Une intégration avec des solutions tierces de type anti-virus, via le protocole ICAP, pour analyse du contenu
des fichiers postés par les utilisateurs.
§ Une interface douée de capacités à traiter des logs en masse ou à les exporter vers des systèmes tiers.
§ Un outil de génération et d'export de rapports.
F5 BIG-IP® Application Security Manager™ (ASM) protège les infrastructures web critiques des attaques ciblant la
couche applicative, que celles-ci visent à compromettre la disponibilité, la confidentialité ou l'intégrité du contenu
publié. Par exemple, ASM protège contre les attaques suivantes :
La création d’une nouvelle politique de sécurité ASM passe par l’utilisation d’un assistant de configuration qui
permet de faire certains choix stratégiques dès la création de la politique ASM, comme par exemple le fait d’être
dès le départ en mode bloquant ou transparent, ou d’opter pour un template de configuration, ou encore de choisir
des signatures d’attaques adaptées à l’application à protéger.
Afin de choisir un template de configuration adapté, il est recommandé de déterminer au préalable quelle(s)
approche(s) ASM devra utiliser pour sécuriser l’application. En effet, deux visions s’opposent généralement mais
peuvent très bien se compléter : l’approche positive et l’approche négative.
De même, l'administrateur devra déterminer le degré d'autonomie qu'il souhaite donner à ASM et son "Policy
Builder" dans la construction d'une politique de sécurité. En effet, l'administrateur peut décider :
§ de laisser ASM se configurer presque en totale autonomie, le "Policy Builder" ayant alors le droit de modifier
des éléments de configuration de la politique de sécurité sans accord préalable de l'administrateur.
§ de laisser ASM suggérer des modifications de la politique de sécurité, nécessitant accord préalable de
l'administrateur avant leur prise en compte effective dans la politique de sécurité.
§ de désactiver tout mécanisme d'apprentissage s'il estime que le template utilisé ne nécessitera pas de
modification ou des modifications pouvant être manuellement réalisées par l'administrateur s'il en a la
compétence.
Dans cette approche de la sécurité, appelée également liste blanche, l’administrateur ou l’exploitant doit connaître
l’application de façon assez complète à exhaustive. L’idée générale est de définir dans ASM l’architecture, la
structure de l’application à protéger, afin de bloquer tout ce qui n’aura pas été explicitement autorisé. Tous les
objets constituant l’application devront être définis, à savoir notamment les URI, les types de fichiers, les méthodes
HTTP, les cookies, les paramètres, etc... Il n’est pas toujours nécessaire de définir l’intégralité des objets mais la
philosophie de cette approche est d’être le moins générique possible. Par exemple pour simplifier la construction
d’une politique positive, il est possible de définir uniquement les URI du premier niveau d’arborescence sans
forcément définir les autres niveaux (déclarer /abc/* sans pour autant devoir déclarer /abc/def/ et /abc/ghi).
En suivant cette approche, les délais de réalisation de la politique de sécurité peuvent être plus ou moins longs,
suivant la complexité de l’application et le niveau de sécurité que l’on souhaite appliquer sur cette application. Ainsi,
pour être efficace dans cette approche et éviter aux administrateurs de la solution d’avoir un trop grand nombre de
saisies manuelles à effectuer, il est recommandé d’utiliser les outils d’auto-apprentissage d’ASM pour qu’il crée de
lui-même tous les objets de la Liste Blanche. Pour faciliter et accélérer ce traitement automatisé, il est recommandé
de placer ASM entre l’application et un outil de test automatisé de l’application web (scanner) ou une population
d’utilisateurs réputés légitimes.
Dans cette approche de la sécurité, appelée également liste noire, l’administrateur ou l’exploitant n’a pas besoin de
connaître finement le fonctionnement de l’application. L’idée générale est d’autoriser tout ce qui n’aura pas été
explicitement interdit. L’administrateur peut faire confiance aux bases de signatures fournies avec la solution ASM,
qui couvrent un très large spectre d’attaques possibles. Une connaissance générique de la sécurité des applications
Web et des applications à protéger est suffisante pour sélectionner les signatures à activer. Les délais de mise en
œuvre de la politique de sécurité sont très rapides, ce qui fait que ce mode de déploiement est aujourd’hui le plus
utilisé par les administrateurs d’ASM.
Dans ce cas de figure, une connaissance basique du fonctionnement de l’application à protéger permet de mettre
en œuvre une politique de sécurité plus efficiente. L’administrateur ou l’exploitant peut commencer par appliquer
une sécurité négative pour obtenir dans un premier temps un niveau de sécurité déjà robuste. Il peut ensuite
compléter cette sécurité avec une approche positive sur les éléments les plus critiques de l’application. Cela permet
d’augmenter le niveau de sécurité sans pour autant allonger considérablement les délais de mises en œuvre de la
politique de sécurité.
Pour certains types d’attaques web, il n’est pas toujours possible d’avoir une approche positive ou négative dans le
sens où chaque requête utilisateur, analysée de manière unitaire, serait toujours considérée comme légitime quel
L'analyse comportementale est un complément souvent indispensable, que l'approche globale soit positive ou
négative.
Certaines attaques web sont malheureusement réalisables sans que le trafic malveillant passe par ASM, rendant la
détection des requêtes illégitimes beaucoup plus difficile. C’est notamment le cas des attaques CSRF, où l’injection
de contenu malveillant se fait directement entre un site web corrompu (non protégé par ASM) et le navigateur de
l’utilisateur. L’attaque vise à utiliser à son insu et à travers son navigateur la session de l’utilisateur sur l’application
à protéger. Pour contrer ce type d’attaque, ASM sait injecter du contenu dans les pages web du site à protéger afin
de pouvoir différencier les actions réellement effectuées par l’utilisateur d’une session de celles effectuées sans son
accord.
Quelle que soit l’approche de la sécurité choisie (notamment positive ou négative), ASM peut mettre en œuvre son
moteur d’apprentissage automatisé. Il utilise alors le flux de production ou de qualification (un scanner web par
exemple) pour créer une politique de sécurité. Quand le flux analysé est un flux de production, toutes les sources ne
sont pas considérées comme "garanties" et un moteur d’analyse statistique est utilisé pour détecter l’activité
légitime des attaques pouvant avoir lieu pendant l’apprentissage. Par exemple, pour être considérée comme
légitime, une requête doit être vue de manière très répétitive sur plusieurs sessions utilisateur, en provenance de
plusieurs adresse IP et pendant une plage de temps ni trop longue ni trop courte. Lorsque le trafic de production est
trop faible pour réaliser une telle analyse statistique ou tout simplement pour accélérer le traitement, il est
également possible de définir une liste d’adresses IP de confiance, à partir desquelles ASM accélérera son
apprentissage.
§ Fundamental
§ Comprehensive
§ Passive Deployment Policy
§ Rapid Deployment Policy
§ Vulnerability Assessment Baseline
Pour faciliter la création et même l’évolution d’une politique de sécurité ASM tout au long du cycle de vie d’une
application, il est possible d’utiliser les rapports d’outils d’audit de vulnérabilités du marché. Les outils actuellement
supportés sont :
§ QualysGuard
Il suffit, en fonction de l’outil d’audit utilisé, soit de télécharger le rapport d’audit via l’interface d’administration,
soit de laisser ASM utiliser l’API de l’éditeur pour télécharger automatiquement ce rapport.
Dans le cas où le scanner à utiliser ne serait pas référencé, il est toujours possible d’utiliser un format générique
pour en importer le rapport de vulnérabilités. Dans ce cas, un travail de conversion de données entre le format du
scanner et le format d’ASM sera à effectuer.
Les politiques de sécurité ASM se composent de différents éléments que l’on retrouve sous les termes suivants :
Ce composant permet à ASM de s’assurer de la conformité des requêtes reçues avec le protocole HTTP. La liste des
critères d’évaluation est paramétrable. Ces options sont globales à la politique de sécurité ASM et non dépendantes
d’un contexte applicatif particulier.
Ce composant permet à ASM de détecter la présence de techniques d’évasion dans les requêtes HTTP reçues,
pouvant permettre à un hacker de contourner un autre système de protection mis en place par ASM lui-même ou
par le serveur web.
Une technique d’évasion courante est l’encodage de certains paramètres, permettant de masquer leur caractère
malveillant au regard de certains moteurs de sécurité. Afin que ces outils de protection restent efficaces, il appartient
à cette fonction de décoder ces paramètres donc de rendre lisible et interprétable tout le contenu des requêtes
HTTP.
Les options de paramétrage du composant Evasion Techniques sont globales à la politique de sécurité ASM et non
dépendantes d’un contexte applicatif particulier.
Ce composant permet de gérer les types de fichiers (HTML, PNG, GIF, JPEG…) autorisés ou interdits pour les
utilisateurs de l’application.
Pour les fichiers autorisés, les entrées sont créées par extension et l’on peut associer à cette extension des
contraintes complémentaires du type longueur de l’URL, longueur des requêtes, longueur des POST.
Pour la liste des fichiers interdits, seule l’extension du fichier est nécessaire.
Le composant URL permet de créer des listes d’URL autorisées ou interdites sur le serveur applicatif.
Ces URL sont constituées du chemin absolu à la ressource (/dir_1/dir_2/index.html) mais peuvent aussi contenir des
caractères génériques.
Le paramétrage d'une URL peut également inclure la définition des méthodes HTTP autorisées ou interdites sur celle-
ci. Ce paramètre préempte la liste des méthodes autorisées au global sur la politique ASM.
Il est aussi possible de préciser pour l’ensemble des URL de l’application les caractères spéciaux autorisés ou
interdits.
Il est possible en complément des listes blanches et noires de configurer ASM pour vérifier le "circuit" utilisateur
entre les pages web. Par exemple autoriser l’accès à la page page2.html uniquement si la précédente page était
index.html. Cette fonction s’appelle le "flow" et permet de créer des liaisons statiques ou dynamiques entre les URLs
autorisées.
Ce composant permet de gérer les différents paramètres envoyés par l’utilisateur de l’application à protéger. Il s’agit
le plus souvent des paramètres d’un formulaire HTML mais il peut aussi s’agir d’une liste de valeurs en format JSON
ou d’un contenu au format XML.
Chaque paramètre configuré dans la politique ASM repose principalement sur les points suivants :
§ Son nom
§ Son niveau (Global, URL ou Flow). En effet un même paramètre peut être utilisé sur plusieurs pages avec
des comportements différents, il est donc possible de définir si la configuration s’applique pour l’ensemble
de l’application, pour une URL spécifique ou un flow (liaison entre deux URLs).
§ Ses valeurs possibles : en fonction du type de valeur du paramètre la protection apportée par ASM va être
différente. En effet, ASM traitera différemment une saisie dans un formulaire HTML, un upload de fichier,
un paramètre JSON et fichier XML.
§
ASM contient par défaut une base de signatures d’attaques catégorisées. Il est possible de configurer globalement
pour l’intégralité du site web protégé les signatures utilisées sachant que pour tout objet de la politique il est aussi
possible d’ajouter ou de désactiver spécifiquement une ou plusieurs signatures.
Il est conseillé d'activer sur chaque politique ASM des signatures génériques (valables pour tout type d'application
web), ainsi que des signatures spécifiques au système protégé (par exemple les signatures spécifiques à MySQL si ce
type de base de données fait partie de la chaine applicative).
NB: le menu "Server Technologies" de chaque politique de sécurité permet de faciliter la sélection des groupes de
signatures.
Il faut configurer ASM pour détecter la saisie du formulaire d’authentification ainsi que les paramètres renseignés
par l’utilisateur, de même que les messages renvoyés par le serveur en cas de succès ou d’échec d’authentification.
Actuellement ASM supporte les mécanismes d’authentification suivants :
§ Formulaire HTML
§ HTTP basic
§ HTTP digest
§ NTLM
§ JSON / AJAX
NB: le Policy Builder peut être configuré pour détecter automatiquement les pages de login, évitant ainsi la saisie
manuelle des paramètres ci-dessus.
Une fois l’authentification détectée par ASM il est possible de configurer les parties du site web non accessibles sans
être authentifié ainsi que la durée de vie de la session.
L’utilisation du "Session Tracking" dans ASM permet aussi de mettre en place des contre-mesures automatiques
(comme le blocage complet d’une session) quand un seuil d’attaques pour un utilisateur est dépassé ou de modifier
la configuration de journalisation pour enregistrer l’ensemble de trafic (légitime et malveillant) quand une activité
suspecte est détectée pour un utilisateur.
De même, pour les environnements où le risque de faux positif est considéré comme bien plus important que le
risque de non blocage d’une requête malveillante, il est possible de commencer à bloquer les requêtes d’un
utilisateur qu’à partir de la nième requête suspecte détectées dans la même session.
NB: il est possible de définir une page de réponse spécifique pour le blocage des sessions volées.
Le composant "Header" permet la mise en place d’une politique sur les entêtes HTTP (comme les cookies) envoyés
par le client ou par le serveur.
Il est aussi possible de configurer les caractères spéciaux autorisés ou interdits dans les cookies.
Le composant "IP Addresses" permet de gérer des listes d’exceptions pour plusieurs moteurs dont la prise de
décision peut se baser sur l’adresse IP source, ainsi que la gestion de la base de réputation IP.
Le composant "Content Profile" permet la gestion du XML, du JSON ainsi que du Google Web Toolkit (GWT).
Ces profils sont nécessaires pour permettre à ASM de gérer les requêtes SOAP/XML, comprendre le format de
données JSON et formater des messages d’erreur spécifiquement pour ces environnements.
La mise en place d’une politique XML Firewall nécessite l’utilisation d’un fichier de description de service. Ce fichier
de description prend la forme d’un fichier WSDL ou XML qui doit être importé dans la console ASM.
Lorsqu’on ajoute la fonctionnalité de validation GWT à une politique de sécurité, le système peut détecter les
données GWT malformées, les requêtes et les valeurs de paramètres qui dépassent les limites de longueur définies,
les signatures d’attaques, et les méta-caractères illégaux dans les valeurs de paramètres.
La configuration du profil GWT permet le parsing du GWT et aussi de configurer les signatures d’attaques associées.
Les paramètres disponibles dans le profil "Plain Text" permettent de limiter les longueurs des "payloads" ou de
chaque ligne d’un "payload", ainsi que de définir les signatures d’attaques et les méta-caractères devant être
détectés.
Le composant "Data Guard" permet à ASM de vérifier dans le contenu des pages HTML générées par le serveur
applicatif la présence de valeurs "non autorisées" comme par exemple les numéros de carte bancaire.
Data Guard permet aussi d’analyser le contenu de fichiers téléchargés depuis l’application (PDF, Word, etc…) à la
recherche des mêmes chaînes de caractères suspectes.
En cas de détection, ASM peut bloquer la page ou simplement remplacer la chaîne par une suite de caractères "*".
Les attaques de type Cross-Site Request Forgery (CSRF) utilisent l'utilisateur comme déclencheur, celui-ci devient
complice sans en être conscient. L'attaque étant actionnée par l'utilisateur, un grand nombre de systèmes
d'authentification sont contournés.
§ Implique un site cible qui repose sur l'authentification d'un utilisateur pour effectuer certaines actions
§ Exploite cette confiance reposant uniquement dans l'authentification pour autoriser des actions
implicitement
§ Envoie des requêtes HTTP à l'insu de l'utilisateur pour déclencher ces actions au travers de sa session
authentifiée
Pour résumer, les sites sensibles au CSRF sont ceux qui acceptent les actions sur le simple fait de l'authentification à
un instant donné de l'utilisateur et non sur une autorisation explicite de l'utilisateur pour une action donnée.
Le composant CSRF d’ASM permet la mise en place d’un mécanisme de "tokenisation" des formulaires et des liens
afin de protéger les pages contre une utilisation frauduleuse de l’application web via le navigateur des utilisateurs
légitimes.
<a href="https://host.domain.com/default.aspx">
Devient :
<a href="https://host.domain.com/default.aspx?CSRT=17017154763700437104">
L’activation de la protection CSRF est réalisée en listant les pages sensibles aux attaques (les caractères génériques
sont supportés). Une page à risque contient généralement un formulaire permettant la saisie de données sensibles,
qui si elles sont manipulées peuvent présenter un intérêt pour un hacker. Exemple : la page de saisie d’un virement
d’une banque en ligne.
§ Journaliser l’évènement
§ Tester le client en vérifiant s’il est capable de répondre à un challenge JavaScript. Ceci permet de bloquer
les Bots les plus simples sans générer de perturbation pour les utilisateurs légitimes
§ Demander la saisie d’un CAPTCHA à l’utilisateur
§ Répondre à la source par une page de blocage
§ Répondre à la source par une page de type "Honey Pot" (fausse page d’authentification laissant croire à la
source que son comportement suspect n’a pas été détecté)
§ Couper la connexion TCP de la source
Certaines de ces actions peuvent être combinées et enchaînées. Par exemple, il est classique dans un premier temps
de répondre à la source par un challenge JavaScript puis si l’attaque continue de répondre cette fois avec un
CAPTCHA et enfin de couper la connexion TCP de la source si celle-ci parvenait in fine à contourner le système de
CAPTCHA d’ASM.
En cas de détection d’un comportement suspect, basée sur le dépassement d’un seuil de requêtes d’authentification
ayant échouées, ASM peut alors :
§ Journaliser l’événement
§ Tester les clients en vérifiant s’ils sont capables de répondre à un challenge JavaScript. Ceci permet de
bloquer les Bots les plus simples sans générer de perturbation pour les utilisateurs légitimes
§ Demander la saisie d’un CAPTCHA aux utilisateurs
§ Enchainer successivement ces trois actions
ASM met en œuvre les protections suivantes contre les attaques Web Scraping :
Protection Description
Détection des clients suspects ASM sait détecter et bloquer les clients ayant dans leur
navigateur des plugins ou extensions utilisables dans le
cadre d’attaques web scraping.
Détection de Bot ASM sait détecter et bloquer :
- une navigation trop rapide (changements de pages,
rafraichissements de pages) en provenance d’une
source identifiée
- des entrées clavier / souris / écran tactile suspectes,
potentiellement effectuées par un robot
Détection d’ouvertures anormales de sessions ASM sait détecter et bloquer :
- des ouvertures de sessions trop nombreuses
en provenance d’une même adresse IP
Il est ainsi possible de configurer une vérification antivirale pour les téléchargements de fichiers en HTTP et les pièces
jointes aux requêtes de type web service SOAP.
La figure ci-dessous montre un exemple d’intégration entre ASM et IBM InfoSphere Guardium :
La fonctionnalité de géolocalisation permet d’identifier la provenance géographique d’un client ou d’un utilisateur
d’application web, sur la base de son adresse IP.
Pour les applications protégées par ASM, il est possible d’utiliser la fonctionnalité de "Geolocation Enforcement"
pour retreindre ou autoriser l’utilisation d’une application à des pays spécifiques. Cela se fait en ajustant la liste des
pays ou des localisations qui sont autorisés ou bloqués dans une politique de sécurité.
Si un utilisateur essaie d’accéder à l’application web à partir d’une localisation non autorisée, ASM remonte une
alerte de violation.
ASM fournit un ensemble de mécanismes de détection des bots et des dénis de service (DoS/DDoS), couplé à des
systèmes de défense visant à en atténuer les effets.
Ces fonctions sont regroupées au sein d'un profil DoS, qui peut être associé à un "Virtual Server" (une application
protégée) indépendamment du profil ASM.
Le profil DoS se compose de plusieurs moteurs, combinant des bases de signatures de bots avec des mécanismes de
détection de comportements suspects. En voici la description :
La section "Mobile Applications" du profil DoS, créée dans ce but, permet d'établir des critères de conformité pour
applications mobiles (iOS ou Android) souhaitant se connecter au service web protégé.
L'identification des applications légitimes repose sur l'implémentation d'un SDK (fourni par F5) dans le code source
de l'application mobile. Au lancement de l'application, ce code va permettre à ASM de réaliser une vérification de
conformité de celle-ci et une analyse du comportement de l'utilisateur. Les applications mobiles non conformes,
émulées ou contrôlées par un "Bot" pourront alors être bloquées. De même, les téléphones identifiés comme
"Jailbroken" (iOS) ou "Rooted" (Android) peuvent être interdits d'accès.
Tous les vecteurs de détection peuvent s'additionner pour former une protection complète de l'application. De
même, les méthodes d'atténuation peuvent être combinées et jouées les unes après les autres, par ordre croissant
d'impact sur les utilisateurs, en fonction de la robustesse de l'attaque. Par exemple, il est recommandé de réaliser
en premier un challenge JavaScript des clients car celui-ci est totalement transparent pour les utilisateurs légitimes,
avant d'éventuellement challenger les clients avec un CAPTCHA ou de limiter de nombre de leurs requêtes.
Chaque seuil de transactions HTTP par seconde (TPS) est en réalité composé d'un double seuil :
§ Un premier, absolu, qui correspond au nombre maximal de TPS devant être comptées à travers le vecteur
de détection désigné.
§ Un second, relatif, qui correspond à un ratio d'augmentation du nombre de TPS sur le dernier relevé par
rapport à une moyenne mobile.
Ces seuils peuvent être soit définis manuellement par l'administrateur, soit automatiquement sur la base d'une
analyse du trafic web.
NB: les signatures créées peuvent être soumises à approbation de l'administrateur avant d'être utilisées par le
système pour bloquer le trafic malveillant.
ASM offre la capacité de protéger les flux FTP en effectuant des contrôles sur les tentatives de connexion
ou les commandes autorisées dans un canal FTP.
ASM offre la capacité de protéger les flux SMTP en effectuant des contrôles sur les tentatives de connexion
ou les commandes autorisées ainsi que la mise en place d’un mécanisme de "grey filtering".
Dans les propriétés générales de chaque politique ASM, il est possible de configurer si à la suite d'une détection
d’une attaque celle-ci doit engendrer un blocage, une alarme ou un apprentissage.
Pour chaque famille de violation il est donc possible de changer le comportement d’ASM. Cela permet par exemple
d'avoir une politique de sécurité bloquante sur certains critères éprouvés, tout en testant l'outil en mode non
bloquant sur des nouvelles fonctionnalités.
A partir de la version 12.0, ASM embarque un nouveau système d'apprentissage qui combine des éléments de
définition semi-automatiques et automatiques pour la construction de politiques de sécurité. Les moteurs de
définition semi-automatiques et automatiques étaient séparés dans les versions précédentes.
Désormais, il existe un seul écran pour les suggestions de modification des politiques de sécurité, quelle que soit la
méthode d'apprentissage.
L’intérêt de cette fonctionnalité est qu’elle apporte une visibilité complète pour les suggestions d’apprentissage et
les informations nécessaires pour les gérer à partir d’un seul endroit.
Dans le mode automatique, on peut laisser le système prendre les décisions, mais on peut aussi à tout moment voir
les suggestions en attente et prendre les actions appropriées avant que le système le fasse de lui-même, afin
d'accélérer la période d'apprentissage. Quel que soit le mode d'apprentissage choisi, chaque suggestion est associée
à un score de fiabilité, qui évolue en fonction du nombre d'utilisateurs uniques produisant la même suggestion et
de sa répétition à intervalles réguliers dans le temps. Lorsque le Unified Policy Builder est en mode automatique, les
suggestions ayant 100% de score de fiabilité sont acceptées par le système dans la politique ASM.
§ Filtrer et trier les suggestions par score de fiabilité et types de violations associées, afin de traiter en priorité
celles qui sont les plus importantes.
§ Pour chaque suggestion, visualiser en détails les logs complets de la requête à étudier et le jeu de violations
qui ont déclenché la suggestion.
§ Visualiser toutes les suggestions relatives à une entité (URL, paramètre…) afin par exemple de faire des
traitements groupés.
Concernant les actions possibles sur les suggestions, on peut effectuer les suivantes :
§ Accepter la suggestion : la politique ASM est modifiée de façon que les violations ne se reproduisent plus.
Dans tous les cas, il est possible de mettre un commentaire dans la suggestion pour décrire la violation et la raison
derrière la décision prise.
Enfin, la console de gestion des suggestions dispose d'une fonction de création de rapports dédiés permettant à la
fois d'obtenir une vue résumée et classée par catégories des suggestions en attente de traitement et objets ajoutés
à la politique, ainsi qu'une vue graphique de l'évolution dans le temps du nombre de suggestions et d'objets créés.
Pour chaque requête qui provoque une violation de sécurité, le système fournit une classification sur la base de
valeurs allant de 1 à 5, où la valeur 1 correspond sûrement à un faux positif et la valeur 5 correspond très
probablement à une attaque réelle sur l’application web.
Cette classification, qui facilite à l’administrateur la prise de décision concernant les suggestions d’apprentissage à
accepter, peut être consultée dans deux menus du module ASM.
Si la majorité des requêtes ont une classification (violation rating) basse, la politique de sécurité a de forte chance
d’être trop stricte et génère surement des faux positifs.
Si la majorité des requêtes ont une classification (rating) haute, la politique de sécurité est probablement définie
correctement mais le site web doit faire l’objet d’une attaque ou affiche un comportement vulnérable (envoi de
requêtes SQL ou uploads HTML).
Dans le cas où la classification (rating) est basse, la violation de sécurité est probablement un faux positif et l’on peut
envisager l’acception de la suggestion du moteur d’apprentissage (typiquement, en modifiant la politique de sécurité
pour autoriser la "violation" qui n’en est probablement pas une).
En revanche, si le niveau de classification est haut, la violation constitue probablement une menace réelle et il faut
analyser la requête avant de modifier ou pas la politique de sécurité.
Afin de faciliter la mise en œuvre de signatures d'attaques spécifiques à l'application protégée, il est recommandé
d'utiliser le menu "Server Technologies". Ce dernier propose d'ajouter pour le compte de l'administrateur les
signatures adéquates sur la base :
§ soit des choix de pile applicative faits par l'administrateur (saisie manuelle)
§ soit d'une détermination automatique grâce à un apprentissage fait par analyse du trafic applicatif.
Au fur et à mesure de l'apprentissage réalisé sur l'application protégée, l'arborescence de cette dernière pourra être
représentée, notamment lorsqu'il s'agit de créer une liste blanche. Chaque objet de la "Tree View" est en réalité un
lien vers un élément de la configuration de la politique ASM, ce qui facilite la recherche d'objets dans les politiques
complexes et donc in fine l'exploitation de la solution.
Lorsqu'ASM détecte une anomalie dans le trafic, il forge une réponse qui est envoyée au client de l'application. Par
défaut, cette réponse indique explicitement que la requête de l'utilisateur a été rejetée et spécifie un "Support ID",
qui est un identifiant que l'utilisateur bloqué peut donner à l'administrateur d'ASM s'il estime que sa requête était
légitime (faux positif).
En réalité, ASM permet de configurer plusieurs types de réponses pour une même policy, notamment selon le type
de requête (HTTP classique, XML, Ajax, JSON…), voire même d'afficher une page de saisie de CAPTCHA à l'utilisateur
dans certains cas (en particulier en cas de Brute-Force).
Enfin, quel que soit le type de page de réponse, son contenu est entièrement personnalisable, des headers au body.
ASM garde trace des modifications réalisées sur chacune de ses politiques. Parmi les informations sauvegardées, on
trouve notamment la date de l’événement, l’action réalisée et le nom de l’utilisateur à l’origine du changement de
configuration.
A chaque modification dans une politique ASM, le système garde en historique la version précédent le changement,
permettant un retour arrière rapide en cas d’erreur constatée après déploiement.
ASM met à disposition un outil de gestion des différences entre deux politiques. Il permet de mettre en évidence les
objets qui n’existent que dans l’une ou l’autre des deux politiques comparées. Chaque différence peut être
directement corrigée à partir de cette interface. Enfin, une fonction de fusion globale permet de faciliter les
changements en les traitant de manière groupée.
A partir de la version 13.0 d’ASM, son administrateur peut définir à la création de chaque politique si cette dernière
sera une "Security Policy" ou une "Parent Policy":
§ "Security Policy" : il s'agit tout simplement d'une politique ASM qui pourra être associée à un Virtual Server,
c'est à dire qui pourra avoir une action sur le trafic applicatif, comme toutes les politiques ASM des versions
antérieures.
§ "Parent Policy" : il s'agit d'un type de politique ASM permettant de suggérer voire d'imposer certains
paramètres à ses politiques "enfant", c'est à dire aux "Security Policies"
L'intérêt de cette fonctionnalité est de faciliter la gestion des politiques ASM, notamment lorsque celles-ci
deviennent nombreuses et qu'il devient donc plus difficile de s'assurer que chacune est bien en adéquation avec la
PSSI. En effet, une politique "Parent" peut par exemple décider d'activer un certain nombre de paramètres
correspondant à un minimum de sécurité requis, afin d'assurer la mise en conformité avec la PSSI de toutes les
applications protégées.
L'exemple suivant montre les paramètres d'une politique "Parent". Chacun peut avoir 3 états :
§ "Madatory" : toute politique "Security" en héritant devra avoir la même configuration que sa politique
"Parent". Si un changement doit avoir lieu, par exemple à cause d'un faux positif mis en évidence, seule la
politique "Parent" peut l'autoriser.
§ "Optional" : les politiques "Security" en héritant devront décider si elles acceptent les paramètres de leur
"Parent" ou si elles souhaitent les outrepasser.
§ "None" : la fonction d'héritage sera désactivée sur les paramètres désignés.
Afin de faciliter la configuration du module de sécurité ASM, ce dernier dispose d’un écran "Overview", global à
toutes les politiques, qui permet d’obtenir une vue synthétique des tâches restantes afin de finaliser la configuration
des politiques de sécurité.
Les signatures d'attaques sont développées et maintenues par F5. Elles sont mises à jour très régulièrement par une
équipe d’experts sécurité. La fréquence de mise à jour n’est pas fermement définie et peut varier dans le temps. Le
service a été lancé en 2007 sur la base d’une mise à jour de la base signature tous les 3 mois. L’actualité sécurité
peut conduire à une mise à disposition de nouvelles signatures plus rapidement.
Cette opération de mise à jour de la base de signature est réalisable de plusieurs façons :
Téléchargement automatique
Il est possible de demander au boîtier de récupérer les mises à jour sur le site de téléchargement F5. Cela n’est
possible que si le boîtier dispose d’une connexion internet. Si nécessaire, ASM peut utiliser un proxy explicit pour
réaliser cette connexion.
Téléchargement manuel
L’administrateur ou l’exploitant peut réaliser le téléchargement du fichier de signature sur le site downloads.f5.com.
Il est alors possible de déposer ce fichier sur l'instance ASM.
Il est important de noter que les nouvelles signatures peuvent être placées en état "Staging", c'est à dire soumises
à une période d'évaluation avant d'être éventuellement passées en mode bloquant. Cela permet d'éviter un risque
de faux positif lors d'une mise à jour de la base de signatures.
Concernant la base de données de réputation IP, une fois la licence associée présente dans le système, un processus
spécifique réalise à la mise à jour automatique de la base toutes les trois minutes, à destination du serveur hébergé
chez WebRoot, le fournisseur du service.
Par défaut la configuration d’ASM repose sur la journalisation locale des événements de sécurité (le trafic
légitime n’est pas journalisé). Mais il est aussi possible de journaliser les événements (et le trafic légitime) sur un
serveur externe de type Syslog. De plus, ASM supporte la journalisation simultanée vers de multiples destinations,
chacune pouvant avoir son propre format de "log".
Quand les journaux sont stockés localement, ils sont accessibles via l’interface d’administration et incluent
des informations complémentaires sur chaque événement (liste non exhaustive) :
Afin de réduire la charge de traitement unitaire des événements de sécurité, ASM embarque un moteur de
corrélation basé sur la source, la destination et le type d’attaque qui permet de regrouper les événements sous
forme d’incidents de sécurité. Ainsi, si un attaquant émet par exemple une suite d'injections SQL à destination d'une
même application, les événement de sécurité associés seront tous regroupés sous le même incident.
Il est possible d’afficher des journaux d’évènements spécifiques aux attaques DoS L7 afin d’obtenir des informations
détaillées sur les attaques et les éventuelles contre-mesures prises par ASM.
En complément des journaux d'évènements, il est possible via l’interface d’administration d'ASM de générer des
rapports graphiques sur les différents critères qui sont stockés dans sa base de données. Il est également possible
de faire envoyer des rapports de façon automatique par mail.
Lorsque la protection contre les dénis de service (DoS) est active sur le système, il est possible de visualiser les
graphiques, rapports et statistiques relatifs et les atténuations mises en œuvre par le système.
Le rapport liste les latences pour chaque URL séparément et peut aussi afficher une latence moyenne pour toutes
les URLs combinées.
ASM intègre la génération d'un rapport synthétique de conformité de la configuration de chacune de ses politiques
vis-à-vis des règles PCI-DSS.