Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The OWASP Foundation                                                                        http://www.owasp.org          ...
Agenda•   Qu’est-ce qu’un Web Service ?•   SOAP•   REST•   Threat Modeling / ACME SA•   Réduction des risques•   Conclusio...
Bio•   18 years of experience in ICT Security•   Principal Consultant at MARET Consulting•   Expert & Lecturer at Universi...
Agenda•       Qu’est-ce qu’un Web Service ?•       SOAP•       REST•       Threat Modeling / ACME SA•       Réduction des ...
Web Service ?                XML, JSON,   Provider     Consumer     etc. 5
Un peu d’histoire•   1990 : DCE/RPC – Distributed Computing Environment•   1992 : CORBA – Common Object Request Broker Arc...
Typical Web Services environment  7Source: Mastering Web Services Security / www.wiley.com
Agenda•       Qu’est-ce qu’un Web Service ?•       SOAP•       REST•       Threat Modeling / ACME SA•       Réduction des ...
SOAP: Démystification des technologies• Langages      –   XML      –   WSDL : Descripteur du service      –   UDDI: Annuai...
Enveloppe SOAP                         - SOAP : Simple Object Access Protocol                         - Permet l’envoi de ...
SOAP request               SOAP response11
UDDI• Universal Description Discovery and Integration,  connu aussi sous lacronyme UDDI, est un annuaire  de services fond...
WSDL  • WSDL est une grammaire XML permettant    de décrire un Service Web.  • Le WSDL sert à décrire :          – le form...
WSDLhttp://predic8.com/wsdl-reading.htm      14
WSDL: exemple15
SOAP: Démystification des protocoles      Découverte                  UDDI      Description                WSDL        Mes...
Agenda•        Qu’est-ce qu’un Web Service ?•        SOAP•        REST•        Threat Modeling / ACME SA•        Réduction...
REST: Démystification des technologies• Langages       – XML       – JSON       – XHTML, HTML, PDF... as data formats• Pro...
Représentation REST (exemple JSON) 19
Méthodes REST20
REST: Démystification des protocoles        Découverte           ???        Description   WADL, Swagger ***           Mess...
Example22
Example Twitter (OAuth) 23
24
SOAP vs REST25
Agenda•        Qu’est-ce qu’un Web Service ?•        SOAP•        REST•        Threat Modeling / ACME SA•        Réduction...
27http://fr.wikipedia.org/wiki/Diagramme_de_flux_de_donn%C3%A9es
28
Modèle STRIDEhttps://www.owasp.org/index.php/Application_Threat_Modeling29
Menaces - DFD Acme SA• Threat 1      – Interception des messages (Information disclosure)      – Modification des messages...
Agenda•        Qu’est-ce qu’un Web Service ?•        SOAP•        REST•        Threat Modeling / ACME SA•        Réduction...
ACME SA: Réductiondes risques ?•    Chiffrement du transport•    AuthN•    SSL Mutual AuthN / X509•    WAF / XML Gateway• ...
Chiffrement du transport                 SOAP / XML           RESTHTTPS                         HTTPSSSL/TLS tunnelSSHIPSE...
AuthN              SOAP / XML                          RESTHTTP Basic, Digest,              HTTP Basic, Digest,HTTP Header...
SSL Mutual AuthN / X509 / PKI               SOAP / XML                                    RESTSSL/TLS Mutual AuthN**      ...
WAF / XML Gateway (Protection périmétrique)               SOAP / XML                     RESTReverse Proxy               R...
Intégrité et confidentialité des messages                 SOAP / XML                              RESTXML Signature       ...
Example XML Signature (SOAP)38
Example JSON “Signature”39
Code security                 SOAP / XML                                          REST- Data input validation             ...
Agenda•        Qu’est-ce qu’un Web Service ?•        SOAP•        REST•        Threat Modeling / ACME SA•        Réduction...
Conclusion•    SOAP:         –   Implémenter les standards WS-* liés à la sécurité?         –   Mettre en place un filtrag...
Approche périmétrique vs WS-Security ? 43
Questions?44
Merci / Thank you!Contact:      sma@maret-consulting.ch      @smaret      http://www.maret-consulting.ch      Slides:     ...
The OWASP Foundation                                                                        http://www.owasp.org          ...
47
SoapBox48
Capture HTTP49
Signer le message 50
Signer le message 51
Upcoming SlideShare
Loading in …5
×

Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012

9,753 views

Published on

Published in: Technology
  • comment je peux sécurise mon web service ? je travaille avec JEE
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012

  1. 1. The OWASP Foundation http://www.owasp.org Sécurité des Web Services (SOAP vs REST) Sylvain MARET Principal Consultant / MARET Consulting / @smaret OpenID Switzerland & OWASP SwitzerlandCopyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this documentunder the terms of the OWASP License.05/06.11.2012, Version 1.1 @smaret
  2. 2. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 2
  3. 3. Bio• 18 years of experience in ICT Security• Principal Consultant at MARET Consulting• Expert & Lecturer at University of Applied Sciences (Yverdon)• Swiss French Area delegate at OpenID Switzerland• Co-founder Application Security Forum #ASFWS• OWASP Member• Author of the blog: la Citadelle Electronique• http://ch.linkedin.com/in/smaret or @smaret• http://www.slideshare.net/smaret• Chosen field – AppSec / Digital Identity Security / Cyber Defense 3
  4. 4. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 4
  5. 5. Web Service ? XML, JSON, Provider Consumer etc. 5
  6. 6. Un peu d’histoire• 1990 : DCE/RPC – Distributed Computing Environment• 1992 : CORBA – Common Object Request Broker Architecture• 1990-1993 : Microsoft’s DCOM -- Distributed Component Object Model• 1995: RMI – Monde Java• Pour arriver à une standardisation (toujours en cours) des protocoles, outils, langages et interfaces – SOAP – REST – Etc. Web Service 6
  7. 7. Typical Web Services environment 7Source: Mastering Web Services Security / www.wiley.com
  8. 8. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 8
  9. 9. SOAP: Démystification des technologies• Langages – XML – WSDL : Descripteur du service – UDDI: Annuaire des services – Xpath• Protocoles – Transport: HTTP, HTTPS, SMTP, FTP, SMS, TFTP, SSH, etc. (TCP or UDP) – Message: Enveloppe SOAP• Sécurité – WS-Security (Signature & Chiffrement)• Autres éléments – AuthN: SAML, X509, Username & Password, Kerberos, HTTP Digest, etc. 9
  10. 10. Enveloppe SOAP - SOAP : Simple Object Access Protocol - Permet l’envoi de messages XML10 Source= wikipédia
  11. 11. SOAP request SOAP response11
  12. 12. UDDI• Universal Description Discovery and Integration, connu aussi sous lacronyme UDDI, est un annuaire de services fondé sur XML et plus particulièrement destiné aux services Web. 12
  13. 13. WSDL • WSDL est une grammaire XML permettant de décrire un Service Web. • Le WSDL sert à décrire : – le format de messages requis pour communiquer avec ce service – les méthodes que le client peut invoquer – la localisation du service – le protocole de communication (SOAP RPC ou SOAP orienté message) 13http://fr.wikipedia.org/wiki/Web_Services_Description_Language
  14. 14. WSDLhttp://predic8.com/wsdl-reading.htm 14
  15. 15. WSDL: exemple15
  16. 16. SOAP: Démystification des protocoles Découverte UDDI Description WSDL Message SOAP / XML HTTP, HTTPS, FTP, SFTP, SMS, SMTP Protocole (TCP or UDP) Transport IP 16
  17. 17. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 17
  18. 18. REST: Démystification des technologies• Langages – XML – JSON – XHTML, HTML, PDF... as data formats• Protocoles – HTTP(s)  Utilisation d’une URL – Méthode de communication (GET, POST, PUT, DELETE)• Sécurité – Sécurité du transport (SSL/TLS) – Sécurité des messages: HMAC / Doseta / JWS, etc. (Like XML Signature)• Autres éléments – Oauth, API Keys, etc. 18
  19. 19. Représentation REST (exemple JSON) 19
  20. 20. Méthodes REST20
  21. 21. REST: Démystification des protocoles Découverte ??? Description WADL, Swagger *** Message XML, JSON, etc. Protocole HTTP, HTTPS Transport TCP/IP 21*** Avant-gardiste!
  22. 22. Example22
  23. 23. Example Twitter (OAuth) 23
  24. 24. 24
  25. 25. SOAP vs REST25
  26. 26. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 26
  27. 27. 27http://fr.wikipedia.org/wiki/Diagramme_de_flux_de_donn%C3%A9es
  28. 28. 28
  29. 29. Modèle STRIDEhttps://www.owasp.org/index.php/Application_Threat_Modeling29
  30. 30. Menaces - DFD Acme SA• Threat 1 – Interception des messages (Information disclosure) – Modification des messages (Tampering) – Usurpation d’identité (Spoofing)• Threat 2 – Attaque de l’application • BoF • Injection • DoS & DDoS • Etc 30
  31. 31. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 31
  32. 32. ACME SA: Réductiondes risques ?• Chiffrement du transport• AuthN• SSL Mutual AuthN / X509• WAF / XML Gateway• Intégrité et confidentialité des messages• Secure Coding 32
  33. 33. Chiffrement du transport SOAP / XML RESTHTTPS HTTPSSSL/TLS tunnelSSHIPSECEtc. 33
  34. 34. AuthN SOAP / XML RESTHTTP Basic, Digest, HTTP Basic, Digest,HTTP Header HTTP HeaderMutual SSL Mutual SSLIP trust IP trustWS Security user name password OauthWS SAML Authentication token API KeysXML Signature JSON Web Token (JWT)KerberosEtc. 34
  35. 35. SSL Mutual AuthN / X509 / PKI SOAP / XML RESTSSL/TLS Mutual AuthN** SSL/TLS Mutual AuthN** 35** Man in the middle not possible… (As I Know)
  36. 36. WAF / XML Gateway (Protection périmétrique) SOAP / XML RESTReverse Proxy Reverse ProxyContrôle requêtes HTTP Contrôle requêtes HTTPRupture SSL/TLS Rupture SSL/TLSBlack List Black ListWhite List White ListValidation WSDLSignature & VerificationEncryption & DecryptionSAML 36
  37. 37. Intégrité et confidentialité des messages SOAP / XML RESTXML Signature •(p.ex: HMAC, Doseta)XML Encryption • JSON Web Signature (JWS) – Draft v7 • JSON Web Encryption http://tools.ietf.org/html/draft-ietf-jose-json-web-signature-07 37 ** Pas de chiffrement à ma connaissance
  38. 38. Example XML Signature (SOAP)38
  39. 39. Example JSON “Signature”39
  40. 40. Code security SOAP / XML REST- Data input validation - Data input validation- Data output encoding - Data output encoding- Pseudorandom data generation, high - Pseudorandom data generation, highentropy entropy- Strong / reliable data encryption algorithms - Strong / reliable data encryption algorithms- Data leakage prevention - Data leakage prevention- Robust error & exception handling - Robust error & exception handling- Anti-automation and expiration measures - Anti-automation and expiration measuresOWASP Application Security Verification Standard (ASVS):https://www.owasp.org/index.php/ASVSWASC web application weaknesses:http://projects.webappsec.org/w/page/13246978/Threat%20Classification 40
  41. 41. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 41
  42. 42. Conclusion• SOAP: – Implémenter les standards WS-* liés à la sécurité? – Mettre en place un filtrage applicatif (WAF, XML GW) – Complexe à mettre en œuvre (PKI, Secure coding, Cryptography, etc.) – Architecture à forte contrainte de sécurité• REST – Mettre en place un filtrage applicatif (WAF, XML GW) – Implémentation rapide et facile  tendance – Architecture de type Cloud, Intranet, Social Login, etc. – Emergence des standards (JSON Web Algorithms)• On attend avec impatience les standards sécu pour REST ??? – Pragmatique: protection périmétrique, chiffrement et Secure Coding ??? 42
  43. 43. Approche périmétrique vs WS-Security ? 43
  44. 44. Questions?44
  45. 45. Merci / Thank you!Contact: sma@maret-consulting.ch @smaret http://www.maret-consulting.ch Slides: http://slideshare.net/ASF-WS/ 45
  46. 46. The OWASP Foundation http://www.owasp.org Backup Slides By Sylvain MaretCopyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this documentunder the terms of the OWASP License. 46
  47. 47. 47
  48. 48. SoapBox48
  49. 49. Capture HTTP49
  50. 50. Signer le message 50
  51. 51. Signer le message 51

×