Séminaire du 27 mars 2012
Partie II – ASM Application Security Manager




                                 1
Philippe Logean
Security Engineer
tel. +41 22 727 05 55

philippe.logean@e-xpertsolutions.com
www.e-xpertsolutions.com




                           2
Le Challenge




“70 % des 10 millions
d'incidents de sécurité sont
survenus sur le port 80"
                               DATA
Information Week




                                  3
La problématique




                            XML, Soap, Json

                              P2P, IM, http Tunneling
             http / https
                            Java, ActiveX, VBScript, etc.

                            Html, Dhtml




                                                 4
Protéger vos applications Web

                         F5 Big-IP
                         Application Security Manager




►   Protection contre les dernières menaces
►   Protège contre les attaques visant les failles des applications et des bases de données
►   Analyse, évalue le trafic utilisateur sur vos applications Web pour contenir les
    attaques inconnues
►   Améliore les performances de vos applications/sites Webs
►   Adopte un modèle de sécurité
►   PCI Compliance
►   Reporting

                                                                   5
Plusieurs niveaux de sécurité


Validation RFC
    ►  Requêtes http, cookies,…

Validation HTTP
    ►  Headers, méthodes, cookies,…

Profilage du trafic
    ►  Type de fichier autorisé , taille, URI, paramètre,…

Evaluation de chaque paramètre pour
    ► Valeur prédéfinie, longueur, jeux de caractères, patterns
      d’attaques,…



                                                       6
Protection contre les attaques connues…

►   Cross-site request forgery
►   Layer 7 DDoS
►   Cross-site scripting
►   SQL injection
►   Forceful Browsing
►   Brute Force
►   Parameter and HPP tampering
►   Session highjacking
►   Cookie manipulation
►   XML bombs

                    http://www.owasp.org/index.php/Category:Attack


                                                   7
Mais aussi


►   Filtrage basé sur des signatures d’attaques (+1700)
►   Templates de politique de sécurité pour plusieurs applications
►   DataGuard et cloaking (dissimulation)
►   Protection contre le Web scraping (extraction du contenu)
►   Support ICAP pour l’analyse de fichiers dans HTTP SOAP et SMTP
►   Filtrage basé sur la géolocalisation
►   Firewall XML
►   Sécurisation et reporting basé sur la session (ASM + APM)
►   Evaluation des vulnérabilités
►   Rapport de conformité PCI




                                                    8
Politiques prédéfinies




                         9
DataGuard and cloaking




                         10
Filtrage géolocalisé




                       11
Sécurité XML


►   Validation du format XML
►   Validation du Schéma/WSDL
►   Sélection des méthodes SOAP
►   Signatures d’attaques pour les plateformes XML
►   Protection du parseur de l’application
►   Protection Json/Ajax
►   Log complet des requêtes




                                                     12
Validation du schéma WSDL

Activation ou non des méthodes décrites dans le schéma WSDL




                                                      13
Validation du format XML
                                                                  Xml Message
                                               NameSpace (NS)
                                     element




                         attribute                     attribute’s value
            children
document




                                               depth




                       name                                                14
Construction de la politique de sécurité

Génération automatique de la politique de sécurité
    ►   Wizard de configuration permettant la définition initiale de la politique de
        sécurité
    ►   Policy Builder permet d’affiner la politique de sécurité en utilisant l’analyse
        heuristique et statistique pour les requêtes/réponses HTTP
    ►   Détection automatique des changements dans les applications Web et mise à
        jour «ASM Security Policy updates»


Resserrement de politique de sécurité
    ►   Plus les composants applicatif et l’interaction des utilisateurs seront appris,
        plus la politique de sécurité ASM sera spécifique
    ►   Resserrent graduel de la politique de sécurité limitant le risque de faux positifs




                                                                15
Log de requête / réponse




Log de la
requête HTTP
complète



    Réponse du
    serveur web




                              16
Log d’attaques




                 17
Rapport de géolocalisation




                             18
Conformité PCI




                 19
DÉMO ASM


           20
Topologie de démo




          <html>   <html>         <XML>        <XML>

 Client                Serveur Web                        Serveur
                                                         applicatif



   Internet                 DMZ                     intranet


                                           21
Cible > Serveur Web




            <html>   <html>         <XML>        <XML>

Attaquant                Serveur Web                        Serveur
                                                           applicatif



    Internet                  DMZ                     intranet


                                             22
Attaque > Injections SQL

Découverte du nom de la base de donnée et de la colonne user_id
    ►   ' HAVING 1=1--
Obtenir le nom de toute les colonnes de la table
    ►   ' UNION SELECT * FROM FSB_USERS WHERE USER_ID = 'JV' GROUP BY
        USER_ID HAVING 1 = 1;--
Connaitre le format des colonnes
    ►   ' UNION SELECT SUM(<column>) FROM FSB_USERS HAVING 1=1 --
INJECT USER
    ►   '; INSERT INTO FSB_USERS (USER_NAME, LOGIN_ID, PASSWORD,
        CREATION_DATE) VALUES('Mr Devil', 'devil', 'abc123', GETDATE());--
Vol d'argent
    ►   Manipulation du paramètre _ctl3:txtAmt




                                                        23
Protection du serveur web


                                                 http://172.20.1.171:8080


              http://172.20.1.170:80




          <html>             <html>          <XML>               <XML>

 Client                            Serveur Web                               Serveur
                                                                            applicatif



   Internet                            DMZ                              intranet


                                                             24
Protection du serveur web


https://bank.demo.lan                               http://172.20.1.171:8080


                 http://172.20.1.170:80


                   F5 ASM


            <html>              <html>          <XML>               <XML>

   Client                             Serveur Web                               Serveur
                                                                               applicatif



     Internet                             DMZ                              intranet


                                                                25
Cible > Serveur applicatif




            <html>   <html>         <XML>        <XML>

Attaquant                Serveur Web                        Serveur
                                                           applicatif



    Internet                  DMZ                     intranet


                                             26
Protection du serveur applicatif


https://bank.demo.lan                               http://172.20.1.171:8080


                 http://172.20.1.170:80


                   F5 ASM                                       F5 ASM


            <html>              <html>          <XML>               <XML>

   Client                             Serveur Web                               Serveur
                                                                               applicatif



     Internet                             DMZ                              intranet


                                                                27
Protection complète!




               F5 ASM                           F5 ASM


          <html>        <html>         <XML>        <XML>

 Client                     Serveur Web                        Serveur
                                                              applicatif



   Internet                      DMZ                     intranet


                                                28
Questions ?



 e-Xpert Solutions S.A. est une société Suisse de services spécialisée en sécurité
    de l’information dont les fondateurs ont fait de leur passion leur métier :

                   la sécurité des systèmes d'information




                                                           29

Partie II – ASM Application Security Manager

  • 1.
    Séminaire du 27mars 2012 Partie II – ASM Application Security Manager 1
  • 2.
    Philippe Logean Security Engineer tel.+41 22 727 05 55 philippe.logean@e-xpertsolutions.com www.e-xpertsolutions.com 2
  • 3.
    Le Challenge “70 %des 10 millions d'incidents de sécurité sont survenus sur le port 80" DATA Information Week 3
  • 4.
    La problématique XML, Soap, Json P2P, IM, http Tunneling http / https Java, ActiveX, VBScript, etc. Html, Dhtml 4
  • 5.
    Protéger vos applicationsWeb F5 Big-IP Application Security Manager ► Protection contre les dernières menaces ► Protège contre les attaques visant les failles des applications et des bases de données ► Analyse, évalue le trafic utilisateur sur vos applications Web pour contenir les attaques inconnues ► Améliore les performances de vos applications/sites Webs ► Adopte un modèle de sécurité ► PCI Compliance ► Reporting 5
  • 6.
    Plusieurs niveaux desécurité Validation RFC ► Requêtes http, cookies,… Validation HTTP ► Headers, méthodes, cookies,… Profilage du trafic ► Type de fichier autorisé , taille, URI, paramètre,… Evaluation de chaque paramètre pour ► Valeur prédéfinie, longueur, jeux de caractères, patterns d’attaques,… 6
  • 7.
    Protection contre lesattaques connues… ► Cross-site request forgery ► Layer 7 DDoS ► Cross-site scripting ► SQL injection ► Forceful Browsing ► Brute Force ► Parameter and HPP tampering ► Session highjacking ► Cookie manipulation ► XML bombs http://www.owasp.org/index.php/Category:Attack 7
  • 8.
    Mais aussi ► Filtrage basé sur des signatures d’attaques (+1700) ► Templates de politique de sécurité pour plusieurs applications ► DataGuard et cloaking (dissimulation) ► Protection contre le Web scraping (extraction du contenu) ► Support ICAP pour l’analyse de fichiers dans HTTP SOAP et SMTP ► Filtrage basé sur la géolocalisation ► Firewall XML ► Sécurisation et reporting basé sur la session (ASM + APM) ► Evaluation des vulnérabilités ► Rapport de conformité PCI 8
  • 9.
  • 10.
  • 11.
  • 12.
    Sécurité XML ► Validation du format XML ► Validation du Schéma/WSDL ► Sélection des méthodes SOAP ► Signatures d’attaques pour les plateformes XML ► Protection du parseur de l’application ► Protection Json/Ajax ► Log complet des requêtes 12
  • 13.
    Validation du schémaWSDL Activation ou non des méthodes décrites dans le schéma WSDL 13
  • 14.
    Validation du formatXML Xml Message NameSpace (NS) element attribute attribute’s value children document depth name 14
  • 15.
    Construction de lapolitique de sécurité Génération automatique de la politique de sécurité ► Wizard de configuration permettant la définition initiale de la politique de sécurité ► Policy Builder permet d’affiner la politique de sécurité en utilisant l’analyse heuristique et statistique pour les requêtes/réponses HTTP ► Détection automatique des changements dans les applications Web et mise à jour «ASM Security Policy updates» Resserrement de politique de sécurité ► Plus les composants applicatif et l’interaction des utilisateurs seront appris, plus la politique de sécurité ASM sera spécifique ► Resserrent graduel de la politique de sécurité limitant le risque de faux positifs 15
  • 16.
    Log de requête/ réponse Log de la requête HTTP complète Réponse du serveur web 16
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
    Topologie de démo <html> <html> <XML> <XML> Client Serveur Web Serveur applicatif Internet DMZ intranet 21
  • 22.
    Cible > ServeurWeb <html> <html> <XML> <XML> Attaquant Serveur Web Serveur applicatif Internet DMZ intranet 22
  • 23.
    Attaque > InjectionsSQL Découverte du nom de la base de donnée et de la colonne user_id ► ' HAVING 1=1-- Obtenir le nom de toute les colonnes de la table ► ' UNION SELECT * FROM FSB_USERS WHERE USER_ID = 'JV' GROUP BY USER_ID HAVING 1 = 1;-- Connaitre le format des colonnes ► ' UNION SELECT SUM(<column>) FROM FSB_USERS HAVING 1=1 -- INJECT USER ► '; INSERT INTO FSB_USERS (USER_NAME, LOGIN_ID, PASSWORD, CREATION_DATE) VALUES('Mr Devil', 'devil', 'abc123', GETDATE());-- Vol d'argent ► Manipulation du paramètre _ctl3:txtAmt 23
  • 24.
    Protection du serveurweb http://172.20.1.171:8080 http://172.20.1.170:80 <html> <html> <XML> <XML> Client Serveur Web Serveur applicatif Internet DMZ intranet 24
  • 25.
    Protection du serveurweb https://bank.demo.lan http://172.20.1.171:8080 http://172.20.1.170:80 F5 ASM <html> <html> <XML> <XML> Client Serveur Web Serveur applicatif Internet DMZ intranet 25
  • 26.
    Cible > Serveurapplicatif <html> <html> <XML> <XML> Attaquant Serveur Web Serveur applicatif Internet DMZ intranet 26
  • 27.
    Protection du serveurapplicatif https://bank.demo.lan http://172.20.1.171:8080 http://172.20.1.170:80 F5 ASM F5 ASM <html> <html> <XML> <XML> Client Serveur Web Serveur applicatif Internet DMZ intranet 27
  • 28.
    Protection complète! F5 ASM F5 ASM <html> <html> <XML> <XML> Client Serveur Web Serveur applicatif Internet DMZ intranet 28
  • 29.
    Questions ? e-XpertSolutions S.A. est une société Suisse de services spécialisée en sécurité de l’information dont les fondateurs ont fait de leur passion leur métier : la sécurité des systèmes d'information 29