SlideShare a Scribd company logo
LES WEB SERVICES
ET LEUR SECURITÉ
SÉMINAIRE SECURITÉ
LES WEB SERVICES ET LEUR SECURITÉ
QUE SONT LES WEB SERVICES ?
WEB SERVICES
Définition
DÉFINITION - SOA
DÉFINITION - WEB SERVICES




  •


  •
DÉFINITION - WEB SERVICES




•


•


•


•
EXEMPLE D’ARCHITECTURE
WEB SERVICES


                 Web Services
                   Registry




       Web Service          Web Services
        Provider               Client
WEB SERVICES
WEB SERVICES
COMPOSANTS


             •Extensible Markup Language
  XML        •A uniform data representation and exchange
              mechanism.


             •Universal Description, Discovery, and Integration
  UDDI       •A mechanism to register and locate WS based
              application.


             •Web Services Description Language
 WSDL        •A standard meta language to described the services
              offered.




 SOAP        •Simple Object Access Protocol
             •A standard way for communication.




 SAML
             •XML-based open standard for exchanging
              authentication and authorization data between
              security domains
XML
XML VS HTML


  <html>
  <body>
     <h2>John Doe</h2
     <p>2 Backroads Lane<br>
            New York<br>
          045935435<br>
          john.doe@gmail.com<br>
          </p>
  </body>
  </html>
XML VS HTML


          <?xml version=1.0?>
          <contact>
            <name>John Doe</name>
            <address>2 Backroads Lane</address>
            <country>New York</country>
            <phone>045935435</phone>
            <email>john.doe@gmail.com</email>
          </contact>
WSDL
WEB SERVICE DESCRIPTION LANGUAGE



  •



  •


  •



      



      



      



      
WEB SERVICE DESCRIPTION LANGUAGE




      <message name="GetStockPriceRequest">
         <part name="stock" type="xs:string"/>
      </message>
      <message name="GetStockPriceResponse">
         <part name="value" type="xs:string"/>
      </message>

      <portType name=“StocksRates">
          <operation name=“GetStockPrice">
               <input message=“GetStockPriceRequest"/>
               <output
      message=“GetStockPriceResponse"/>
          </operation>
      </portType>
SOAP
SIMPLE OBJECT ACCESS PROTOCOL




  •


  •


  •



  •


      


      
SIMPLE OBJECT ACCESS PROTOCOL




  <?xml version="1.0" encoding="UTF-8" ?>
  <soap:Envelope xmlns:soap=
   "http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
    <GetAirportInformation>
      <AirportIdentifier>N99</AirportIdentifier>
    </GetAirportInformation>
   </soap:Body>
  </soap:Envelope>
SIMPLE OBJECT ACCESS PROTOCOL



    <?xml version="1.0" encoding="UTF-8" ?>
    <soap:Envelope xmlns:soap=
     "http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
      <GetAirportInformationResponse>
        <GetAirportInformationResult>
         <Name>Brandywine Airport</Name>
         <Location>West Chester, PA</Location>
         <Length unit="feet">3347</Length>
        </GetAirportInformationResult>
      </GetAirportInformationResponse>
     </soap:Body>
    </soap:Envelope>
SAML
SECURITY ASSERTION MARKUP LANGUAGE
(SAML)
SAML
COMMENT SÉCURISER LES WEB SERVICES ?
POURQUOI SÉCURISER CES FLUX ?
LES RISQUES
ATTEINTE À LA RÉPUTATION



  •


  •


  •




  •


  •
FUITE D’INFORMATION



  •


  •


  •


  •




  •


  •
DENI DE SERVICE



  •


      


      


      




  •


  •
NON RESPECT DES SLAs



  •


  •


  •




  •


  •


  •
FAIL !!!
PRINCIPALES ATTAQUES
LES TYPES D’ATTAQUE


 XML-Based      • Utilise les faiblesses du langage XML (ex: entity expansion)



Bugs in back-   • Beaucoup de technologies utilisées impliquent un risque de
                  bug élevé.
end systems
    Code        • Les attaques XML injection sont simples à entreprendre. Ce
                  sont les attaques les plus répandues.
  Injection
  Denial of     • Flux important de messages, envoi de centaines d’éléments
                  encryptés peuvent mettre à mal un système complet et
  Service         affecter les SLAs.


 Man in the     • Les messages peuvent être interceptés. Ceci pose des soucis
                  de routage des messages et également d’intégrité.
  Middle
ATTAQUE XML : ENTITY EXPANSION


    <!DOCTYPE foo [
    <!ENTITY a "1234567890" >
    <!ENTITY b "&a;&a;&a;&a;&a;&a;&a;&a;" >
    <!ENTITY c "&b;&b;&b;&b;&b;&b;&b;&b;" >
    <!ENTITY d "&c;&c;&c;&c;&c;&c;&c;&c;" >
    <!ENTITY e "&d;&d;&d;&d;&d;&d;&d;&d;" >
    <!ENTITY f "&e;&e;&e;&e;&e;&e;&e;&e;" >
    <!ENTITY g "&f;&f;&f;&f;&f;&f;&f;&f;" >
    <!ENTITY h "&g;&g;&g;&g;&g;&g;&g;&g;" >
    <!ENTITY i "&h;&h;&h;&h;&h;&h;&h;&h;" >
    <!ENTITY j "&i;&i;&i;&i;&i;&i;&i;&i;" >
    <!ENTITY k "&j;&j;&j;&j;&j;&j;&j;&j;" >
    <!ENTITY l "&k;&k;&k;&k;&k;&k;&k;&k;" >
    <!ENTITY m "&l;&l;&l;&l;&l;&l;&l;&l;" >
    ]>

    <foo>&m;</foo>
ATTAQUE XML : XML ATTRIBUTE BLOWUP



   <?xml version="1.0"?>
    <foo
    a1=""
    a2=""
    ...
    a10000=""
   />
DENI DE SERVICE
                                                 Directement sur le Service
                                     SOAP
                                    <soapenv:Envelope
                                    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                                    xmlns:tem="http://tempuri.org/">
                                       <soapenv:Header/>
                                       <soapenv:Body>
                                           <tem:Login>
                                               <tem:loginID>
                                                   John Doe<a1>….</a1>
                                               </tem:loginID>
                                              <tem:password>
                                                   muahahah
                                              </tem:password>
                                           </tem:Login>
                                       </soapenv:Body>
                                    </soapenv:Envelope>
         Via le Portail
 HTML                        Frontal Web                           WS de gestion des comptes

Login: John Doe <a1>…</a1>
Password: ********
ATTAQUE XML : XML INJETION



    <?xml version="1.0" encoding="ISO-8859-1"?>
    <users>
           <user>
                       <uname>joepublic</uname>
                       <pwd>r3g</pwd>
                       <uid>10<uid/>
                       <mail>joepublic@example1.com</mail>
           </user>
           <user>
                       <uname>janedoe</uname>
                       <pwd>an0n</pwd>
                       <uid>500<uid/>    <mail>janedoe@example2.com</mail>
            </user>
    </users>




   Username: alice
   Password: iluvbob
   E-mail:   alice@example3.com</mail></user><user><uname>Hacker</uname>
             <pwd>l33tist</pwd><uid>0</uid><mail>hacker@exmaple_evil.net</mail>
ATTAQUE XML : XML INJETION



       <?xml version="1.0" encoding="ISO-8859-1"?>
       <users>
              <user>
                          <uname>joepublic</uname>
                          <pwd>r3g</pwd>
                          <uid>10<uid/>
                          <mail>joepublic@example1.com</mail>
              </user>
              ……
              <user>
                          <uname>Alice</uname>
                          <pwd>iluvbob</pwd>
                          <uid>501<uid/>
                          <mail>alice@example3.com</mail>
                          </user><user><uname>Hacker</uname><pwd>l33tist</pwd><uid>0</uid>
                          <mail>hacker@example_evil.net</mail>
               </user>
       </users>
INJETION Xpath




   •   Authentification basée sur l’expression:
         //user[name='$login' and pass='$pass']/account/text()

   •   Injection
           $login = whatever' or '1'='1' or 'a'='b
           $pass = whatever

   •   Exploitation de la précédence de l’opérateur AND
   •   L’expression devient
        //user[name='whatever' or '1'='1' or 'a'='b' and pass=‘whatever']/account/text()
                                                                           =         TRUE
                              TRUE             OR         FALSE
WEB SERVICES




 COMMENT SÉCURISER CES FLUX ?
LES QUESTIONS À SE POSER


•



•



•



•



•



•
COMMENT SE PROTÉGER ?


Message integrity (signature)
 • Ensure message integrity. Support for XML Signature.

Message confidentiality (encryption)
 • Ensure end-to-end data privacy. Support for both SSL and XML. Encryption are essential.

Authentication (SAML)
 • Verifying the identity of the requestor.

Access Control (SAML)
 • Ensuring that the requestor has appropriate access to the resource.

Schema Validation (WSDL)
 • Ensuring intergrity of the structure and content of the message.

Security Standards (WS-Security)
 • Supporting standards based security functions such as WS-Security.

Malicious attack protection (Black List)
 • Supporting protection against the lastest Web Services and XML-Based attacks.
WS-SECURITY


                 WS-Trust     WS-Federation         LibertyAlliance
        Trust
relationships     XKMS            SAML



                                                      WS-Policy
       SOAP     WS-Security   WS-Reliability                           Access
                                                  XACML         SAML



                                 XML Encryption                                 Implémentations les plus
        XML                                                                     courantes
                                 XML Signature



       HTTP                        HTTP Auth
                                                                                Sécurité habituelle des
                                                                                applications Web
        TCP                         SSL / TLS



          IP                          IPSec
WS-SECURITY


      <?xml version="1.0" encoding="UTF-8" ?>
      <soap:Envelope
       xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
       xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
       <soap:Header>
      <wsse:Security
          xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
          <ds:Signature>
            <ds:SignatureValue>DJbchm5gK...</ds:SignatureValue>
            ...
          </ds:Signature>
        </wsse:Security>
       </soap:Header>
       <soap:Body id="MsgBody">
        ...
       </soap:Body>
      </soap:Envelope>
WEB SERVICES




 UNE SOLUTION : LE PAREFEU
 APPLICATIF
FIREWALL APPLICATIF VS FIREWALL XML


  PARE-FEU APPLICATIF

     Détection     PARE-FEU XML
     d’attaques     Détection
    propres aux     d’attaques        Détection
    applications   communes :        d’attaques
                                    propres aux
                   SQL injection,   services web
                     XSS, etc.       (WSDL, …)
PROBLÉMATIQUE DES FIREWALLS
STANDARDS




                  X


                  X
PROBLÉMATIQUE DES FIREWALLS
STANDARDS
WEB APPLICATION FIREWALL




                       Legitimate Traffic
           Malicious Application Activity
Internet             Application Floods
              Network Attacks & Floods
                   Not allowed Services
WAF - POSITIONNEMENT
PRINCIPALES FONCTIONNALITÉS D’UN
FIREWALL XML
SON FONCTIONNEMENT TECHNIQUE
PETIT DÉJEUNER SÉCURITÉ
BEE-WARE V5




  •




  •




  •




  •
MANAGEMENT CENTRALISÉ



  •


  •




  •


  •               ʼ
  •


  •
TRAITEMENT DES FLUX PAR WORKFLOW


 •



 •



 •




 •
FIREWALL APPLICATIF



  •




  •



  •
FIREWALL APPLICATIF (SUITE)


  •



  •




  •




  •
PRINCIPE DU REVERSE PROXY DANS i-Suite
LA TECHNOLOGIE MISE À PART
i-Suite XML FIREWALL MODULE
i-Suite XML FIREWALL MODULE
XML FIREWALL MODULE SPÉCIFICATIONS
TRAITEMENT & SÉCURITÉ
TRAITEMENT & SÉCURITÉ
LE MARCHÉ –
ACTEURS PRINCIPAUX ET CHALLENGERS
DÉMO DE MANIPULATION D’UN FLUX XML
DÉMO DE MANIPULATION D’UN FLUX XML
MESSAGE SOAP SOURCE
SOAP MESSAGE SIGNATURE + HEADER
INSERTION
SOAP BODY ENCRYPTION
(doGoogleSearchResponse)
SOAP BODY UNENCRYPTION
SOAP MESSAGE SIGNATURE VALIDATION
VALIDATION DU SHÉMA WSDL




    <?xml version="1.0" encoding="utf-8"?>
    <nomComplet>Prenom Nom</nomComplet>




    <?xml version="1.0" encoding="ISO-8859-1"?>
    <nomComplet>Prenom <b> Nom </b></nomComplet>
DLP MISSION IMPOSSIBLE ?
PETIT DÉJEUNER SÉCURITÉ
CONTEXTE



  •


  •
L’INFRASTRUCTURE
CINÉMATIQUE
REQUÊTES




  •




  •




  •
DÉMO SÉCURITÉ DES WEBSERVICES
CONCLUSION




  •


  •


  •
QUESTIONS ?

More Related Content

PDF
HTML5 and CSS3 – exploring mobile possibilities - Frontend Conference Zürich
PDF
Fundamental JQuery
PDF
HTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile Event
PDF
Secure WordPress Development Practices
TXT
New text document
PDF
WordPress Admin UI - Future Proofing Your Admin Pages
PDF
Whirlwind Tour of SVG (plus RaphaelJS)
PPTX
User Interface Patterns and Nuxeo
HTML5 and CSS3 – exploring mobile possibilities - Frontend Conference Zürich
Fundamental JQuery
HTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile Event
Secure WordPress Development Practices
New text document
WordPress Admin UI - Future Proofing Your Admin Pages
Whirlwind Tour of SVG (plus RaphaelJS)
User Interface Patterns and Nuxeo

Similar to Séminaire Web Services (20)

PPT
Web Services Presentation - Introduction, Vulnerabilities, & Countermeasures
PDF
Who am I? Who are you? Who is anybody?
PDF
07 a breaking_xml_signature_and_encryption_-_juraj_somorovsky
PDF
07 a breaking_xml_signature_and_encryption_-_juraj_somorovsky
PPT
Mule webservices in detail
PPT
Web Services Security
PDF
Web service的自动化测试 soap ui的介绍
PPT
Soap vs-rest
PDF
Esri Web Applications February11 2011
PPTX
SOA Security
PDF
Restful Web Services
PPT
Web services
PDF
XML Encryption and Signature for Securing Web Services
PDF
XML Encryption and Signature for Securing Web Services
PDF
XML ENCRYPTION AND SIGNATURE FOR SECURING WEB SERVICES
PPTX
Web Services - A brief overview
PDF
SOAP-based Web Services
PPTX
Utilize the Full Power of GlassFish Server and Java EE Security
ODP
Hands-On XML Attacks
PDF
Crossplatformsecurityusingibmwebsphere
Web Services Presentation - Introduction, Vulnerabilities, & Countermeasures
Who am I? Who are you? Who is anybody?
07 a breaking_xml_signature_and_encryption_-_juraj_somorovsky
07 a breaking_xml_signature_and_encryption_-_juraj_somorovsky
Mule webservices in detail
Web Services Security
Web service的自动化测试 soap ui的介绍
Soap vs-rest
Esri Web Applications February11 2011
SOA Security
Restful Web Services
Web services
XML Encryption and Signature for Securing Web Services
XML Encryption and Signature for Securing Web Services
XML ENCRYPTION AND SIGNATURE FOR SECURING WEB SERVICES
Web Services - A brief overview
SOAP-based Web Services
Utilize the Full Power of GlassFish Server and Java EE Security
Hands-On XML Attacks
Crossplatformsecurityusingibmwebsphere
Ad

More from e-Xpert Solutions SA (20)

PDF
Event e-Xpert Solutions et Tufin - 28 mars 2019
PDF
Présentation d'e-Xpert Solutions et F5 Networks - Event Oct 2018
PDF
Mise en place d'un Use Case d'Adaptive Authentication avec F5 APM et Insight ...
PDF
Présentation de nos MVP - F5 devCentral - Event 09-10-18
PDF
2018-08_Présentation Corporate
PDF
2018 06 Presentation Cloudguard IaaS de Checkpoint
PDF
2018 06 Presentation Cloudguard SaaS de Checkpoint
PDF
2018 06 nouvelles APIs checkpoint e-Xpert solutions
PDF
2018 06 Demo Checkpoint et Splunk e-Xpert solutions
PPT
Fédération d’identité : des concepts Théoriques aux études de cas d’implément...
PPTX
Fédération d'identité, séminaire du 27 novembre 2014
PDF
Séminaire Evolution de la Mobilité - Subir ou gérer ?
PDF
Le DLP vu sous un angle pragmatique
PDF
Plus de mobilité ! Moins de sécurité ?
PDF
DDoS, la nouvelle arme des hackers
PDF
Sandboxing, une nouvelle défense contre les menaces intelligentes
PDF
Evolution du paysage sécurité
PDF
Partie III – APM Application Policy Manager
PDF
Partie II – ASM Application Security Manager
PDF
Partie I – Décodage technologie ADN
Event e-Xpert Solutions et Tufin - 28 mars 2019
Présentation d'e-Xpert Solutions et F5 Networks - Event Oct 2018
Mise en place d'un Use Case d'Adaptive Authentication avec F5 APM et Insight ...
Présentation de nos MVP - F5 devCentral - Event 09-10-18
2018-08_Présentation Corporate
2018 06 Presentation Cloudguard IaaS de Checkpoint
2018 06 Presentation Cloudguard SaaS de Checkpoint
2018 06 nouvelles APIs checkpoint e-Xpert solutions
2018 06 Demo Checkpoint et Splunk e-Xpert solutions
Fédération d’identité : des concepts Théoriques aux études de cas d’implément...
Fédération d'identité, séminaire du 27 novembre 2014
Séminaire Evolution de la Mobilité - Subir ou gérer ?
Le DLP vu sous un angle pragmatique
Plus de mobilité ! Moins de sécurité ?
DDoS, la nouvelle arme des hackers
Sandboxing, une nouvelle défense contre les menaces intelligentes
Evolution du paysage sécurité
Partie III – APM Application Policy Manager
Partie II – ASM Application Security Manager
Partie I – Décodage technologie ADN
Ad

Recently uploaded (20)

PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Modernizing your data center with Dell and AMD
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
cuic standard and advanced reporting.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Empathic Computing: Creating Shared Understanding
The Rise and Fall of 3GPP – Time for a Sabbatical?
Modernizing your data center with Dell and AMD
Spectral efficient network and resource selection model in 5G networks
Chapter 3 Spatial Domain Image Processing.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
CIFDAQ's Market Insight: SEC Turns Pro Crypto
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
NewMind AI Monthly Chronicles - July 2025
cuic standard and advanced reporting.pdf
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf

Séminaire Web Services

  • 1. LES WEB SERVICES ET LEUR SECURITÉ
  • 2. SÉMINAIRE SECURITÉ LES WEB SERVICES ET LEUR SECURITÉ
  • 3. QUE SONT LES WEB SERVICES ?
  • 6. DÉFINITION - WEB SERVICES • •
  • 7. DÉFINITION - WEB SERVICES • • • •
  • 9. WEB SERVICES Web Services Registry Web Service Web Services Provider Client
  • 12. COMPOSANTS •Extensible Markup Language XML •A uniform data representation and exchange mechanism. •Universal Description, Discovery, and Integration UDDI •A mechanism to register and locate WS based application. •Web Services Description Language WSDL •A standard meta language to described the services offered. SOAP •Simple Object Access Protocol •A standard way for communication. SAML •XML-based open standard for exchanging authentication and authorization data between security domains
  • 13. XML
  • 14. XML VS HTML <html> <body> <h2>John Doe</h2 <p>2 Backroads Lane<br> New York<br> 045935435<br> john.doe@gmail.com<br> </p> </body> </html>
  • 15. XML VS HTML <?xml version=1.0?> <contact> <name>John Doe</name> <address>2 Backroads Lane</address> <country>New York</country> <phone>045935435</phone> <email>john.doe@gmail.com</email> </contact>
  • 16. WSDL
  • 17. WEB SERVICE DESCRIPTION LANGUAGE • • •    
  • 18. WEB SERVICE DESCRIPTION LANGUAGE <message name="GetStockPriceRequest"> <part name="stock" type="xs:string"/> </message> <message name="GetStockPriceResponse"> <part name="value" type="xs:string"/> </message> <portType name=“StocksRates"> <operation name=“GetStockPrice"> <input message=“GetStockPriceRequest"/> <output message=“GetStockPriceResponse"/> </operation> </portType>
  • 19. SOAP
  • 20. SIMPLE OBJECT ACCESS PROTOCOL • • • •  
  • 21. SIMPLE OBJECT ACCESS PROTOCOL <?xml version="1.0" encoding="UTF-8" ?> <soap:Envelope xmlns:soap= "http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAirportInformation> <AirportIdentifier>N99</AirportIdentifier> </GetAirportInformation> </soap:Body> </soap:Envelope>
  • 22. SIMPLE OBJECT ACCESS PROTOCOL <?xml version="1.0" encoding="UTF-8" ?> <soap:Envelope xmlns:soap= "http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAirportInformationResponse> <GetAirportInformationResult> <Name>Brandywine Airport</Name> <Location>West Chester, PA</Location> <Length unit="feet">3347</Length> </GetAirportInformationResult> </GetAirportInformationResponse> </soap:Body> </soap:Envelope>
  • 23. SAML
  • 24. SECURITY ASSERTION MARKUP LANGUAGE (SAML)
  • 25. SAML
  • 26. COMMENT SÉCURISER LES WEB SERVICES ?
  • 29. ATTEINTE À LA RÉPUTATION • • • • •
  • 30. FUITE D’INFORMATION • • • • • •
  • 31. DENI DE SERVICE •    • •
  • 32. NON RESPECT DES SLAs • • • • • •
  • 35. LES TYPES D’ATTAQUE XML-Based • Utilise les faiblesses du langage XML (ex: entity expansion) Bugs in back- • Beaucoup de technologies utilisées impliquent un risque de bug élevé. end systems Code • Les attaques XML injection sont simples à entreprendre. Ce sont les attaques les plus répandues. Injection Denial of • Flux important de messages, envoi de centaines d’éléments encryptés peuvent mettre à mal un système complet et Service affecter les SLAs. Man in the • Les messages peuvent être interceptés. Ceci pose des soucis de routage des messages et également d’intégrité. Middle
  • 36. ATTAQUE XML : ENTITY EXPANSION <!DOCTYPE foo [ <!ENTITY a "1234567890" > <!ENTITY b "&a;&a;&a;&a;&a;&a;&a;&a;" > <!ENTITY c "&b;&b;&b;&b;&b;&b;&b;&b;" > <!ENTITY d "&c;&c;&c;&c;&c;&c;&c;&c;" > <!ENTITY e "&d;&d;&d;&d;&d;&d;&d;&d;" > <!ENTITY f "&e;&e;&e;&e;&e;&e;&e;&e;" > <!ENTITY g "&f;&f;&f;&f;&f;&f;&f;&f;" > <!ENTITY h "&g;&g;&g;&g;&g;&g;&g;&g;" > <!ENTITY i "&h;&h;&h;&h;&h;&h;&h;&h;" > <!ENTITY j "&i;&i;&i;&i;&i;&i;&i;&i;" > <!ENTITY k "&j;&j;&j;&j;&j;&j;&j;&j;" > <!ENTITY l "&k;&k;&k;&k;&k;&k;&k;&k;" > <!ENTITY m "&l;&l;&l;&l;&l;&l;&l;&l;" > ]> <foo>&m;</foo>
  • 37. ATTAQUE XML : XML ATTRIBUTE BLOWUP <?xml version="1.0"?> <foo a1="" a2="" ... a10000="" />
  • 38. DENI DE SERVICE Directement sur le Service SOAP <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:Header/> <soapenv:Body> <tem:Login> <tem:loginID> John Doe<a1>….</a1> </tem:loginID> <tem:password> muahahah </tem:password> </tem:Login> </soapenv:Body> </soapenv:Envelope> Via le Portail HTML Frontal Web WS de gestion des comptes Login: John Doe <a1>…</a1> Password: ********
  • 39. ATTAQUE XML : XML INJETION <?xml version="1.0" encoding="ISO-8859-1"?> <users> <user> <uname>joepublic</uname> <pwd>r3g</pwd> <uid>10<uid/> <mail>joepublic@example1.com</mail> </user> <user> <uname>janedoe</uname> <pwd>an0n</pwd> <uid>500<uid/> <mail>janedoe@example2.com</mail> </user> </users> Username: alice Password: iluvbob E-mail: alice@example3.com</mail></user><user><uname>Hacker</uname> <pwd>l33tist</pwd><uid>0</uid><mail>hacker@exmaple_evil.net</mail>
  • 40. ATTAQUE XML : XML INJETION <?xml version="1.0" encoding="ISO-8859-1"?> <users> <user> <uname>joepublic</uname> <pwd>r3g</pwd> <uid>10<uid/> <mail>joepublic@example1.com</mail> </user> …… <user> <uname>Alice</uname> <pwd>iluvbob</pwd> <uid>501<uid/> <mail>alice@example3.com</mail> </user><user><uname>Hacker</uname><pwd>l33tist</pwd><uid>0</uid> <mail>hacker@example_evil.net</mail> </user> </users>
  • 41. INJETION Xpath • Authentification basée sur l’expression: //user[name='$login' and pass='$pass']/account/text() • Injection $login = whatever' or '1'='1' or 'a'='b $pass = whatever • Exploitation de la précédence de l’opérateur AND • L’expression devient //user[name='whatever' or '1'='1' or 'a'='b' and pass=‘whatever']/account/text() = TRUE TRUE OR FALSE
  • 42. WEB SERVICES COMMENT SÉCURISER CES FLUX ?
  • 43. LES QUESTIONS À SE POSER • • • • • •
  • 44. COMMENT SE PROTÉGER ? Message integrity (signature) • Ensure message integrity. Support for XML Signature. Message confidentiality (encryption) • Ensure end-to-end data privacy. Support for both SSL and XML. Encryption are essential. Authentication (SAML) • Verifying the identity of the requestor. Access Control (SAML) • Ensuring that the requestor has appropriate access to the resource. Schema Validation (WSDL) • Ensuring intergrity of the structure and content of the message. Security Standards (WS-Security) • Supporting standards based security functions such as WS-Security. Malicious attack protection (Black List) • Supporting protection against the lastest Web Services and XML-Based attacks.
  • 45. WS-SECURITY WS-Trust WS-Federation LibertyAlliance Trust relationships XKMS SAML WS-Policy SOAP WS-Security WS-Reliability Access XACML SAML XML Encryption Implémentations les plus XML courantes XML Signature HTTP HTTP Auth Sécurité habituelle des applications Web TCP SSL / TLS IP IPSec
  • 46. WS-SECURITY <?xml version="1.0" encoding="UTF-8" ?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <soap:Header> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext"> <ds:Signature> <ds:SignatureValue>DJbchm5gK...</ds:SignatureValue> ... </ds:Signature> </wsse:Security> </soap:Header> <soap:Body id="MsgBody"> ... </soap:Body> </soap:Envelope>
  • 47. WEB SERVICES UNE SOLUTION : LE PAREFEU APPLICATIF
  • 48. FIREWALL APPLICATIF VS FIREWALL XML PARE-FEU APPLICATIF Détection PARE-FEU XML d’attaques Détection propres aux d’attaques Détection applications communes : d’attaques propres aux SQL injection, services web XSS, etc. (WSDL, …)
  • 51. WEB APPLICATION FIREWALL Legitimate Traffic Malicious Application Activity Internet Application Floods Network Attacks & Floods Not allowed Services
  • 56. BEE-WARE V5 • • • •
  • 57. MANAGEMENT CENTRALISÉ • • • • ʼ • •
  • 58. TRAITEMENT DES FLUX PAR WORKFLOW • • • •
  • 59. FIREWALL APPLICATIF • • •
  • 60. FIREWALL APPLICATIF (SUITE) • • • •
  • 61. PRINCIPE DU REVERSE PROXY DANS i-Suite
  • 65. XML FIREWALL MODULE SPÉCIFICATIONS
  • 68. LE MARCHÉ – ACTEURS PRINCIPAUX ET CHALLENGERS
  • 69. DÉMO DE MANIPULATION D’UN FLUX XML
  • 70. DÉMO DE MANIPULATION D’UN FLUX XML
  • 72. SOAP MESSAGE SIGNATURE + HEADER INSERTION
  • 76. VALIDATION DU SHÉMA WSDL <?xml version="1.0" encoding="utf-8"?> <nomComplet>Prenom Nom</nomComplet> <?xml version="1.0" encoding="ISO-8859-1"?> <nomComplet>Prenom <b> Nom </b></nomComplet>
  • 82. REQUÊTES • • •
  • 83. DÉMO SÉCURITÉ DES WEBSERVICES
  • 84. CONCLUSION • • •

Editor's Notes

  • #6: Avantages SOA :
  • #10: L’architecture des Web Services est basée sur l’intéraction de trois rôles:Service providerService registryService requestorCes rôles produisent les actions suivantes :Publish operationsFind operationBind operations.
  • #13: UDDI: Si l’@ du service change pas de souci si on s’appuie sur un annuaire (analogie avec le resto)