Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 4,419 views

 

Statistics

Views

Total Views
4,419
Views on SlideShare
4,419
Embed Views
0

Actions

Likes
0
Downloads
124
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • comment je peux sécurise mon web service ? je travaille avec JEE
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 2
  • 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. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 4
  • 5. Web Service ? XML, JSON, Provider Consumer etc. 5
  • 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. Typical Web Services environment 7Source: Mastering Web Services Security / www.wiley.com
  • 8. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 8
  • 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. Enveloppe SOAP - SOAP : Simple Object Access Protocol - Permet l’envoi de messages XML10 Source= wikipédia
  • 11. SOAP request SOAP response11
  • 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. 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. WSDLhttp://predic8.com/wsdl-reading.htm 14
  • 15. WSDL: exemple15
  • 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. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 17
  • 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. Représentation REST (exemple JSON) 19
  • 20. Méthodes REST20
  • 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. Example22
  • 23. Example Twitter (OAuth) 23
  • 24. 24
  • 25. SOAP vs REST25
  • 26. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 26
  • 27. 27http://fr.wikipedia.org/wiki/Diagramme_de_flux_de_donn%C3%A9es
  • 28. 28
  • 29. Modèle STRIDEhttps://www.owasp.org/index.php/Application_Threat_Modeling29
  • 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. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 31
  • 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. Chiffrement du transport SOAP / XML RESTHTTPS HTTPSSSL/TLS tunnelSSHIPSECEtc. 33
  • 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. 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. 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. 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. Example XML Signature (SOAP)38
  • 39. Example JSON “Signature”39
  • 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. Agenda• Qu’est-ce qu’un Web Service ?• SOAP• REST• Threat Modeling / ACME SA• Réduction des risques• Conclusion• Questions 41
  • 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. Approche périmétrique vs WS-Security ? 43
  • 44. Questions?44
  • 45. Merci / Thank you!Contact: sma@maret-consulting.ch @smaret http://www.maret-consulting.ch Slides: http://slideshare.net/ASF-WS/ 45
  • 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
  • 48. SoapBox48
  • 49. Capture HTTP49
  • 50. Signer le message 50
  • 51. Signer le message 51