45
Application Security Forum - 2012 Western Switzerland 7-8 novembre 2012 - Y-Parc / Yverdon-les- Bains https://www.appsec-forum.ch Initiation à la sécurité des Web Services (SOAP vs REST) Sylvain MARET Principal Consultant / MARET Consulting OpenID Switzerland & OWASP Switzerland 8.11.2012, Version 1.1 @smaret

ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

Embed Size (px)

DESCRIPTION

Avec l’expansion des services en lignes via le cloud ou tout simplement l’interconnexion des SI, le besoin d’exposer des services vers l’extérieur est croissant. Les WebServices sont une solution maintenant éprouvée depuis longtemps pour répondre à ce besoin. Que l’on utilise SOAP ou REST un problème se pose toujours : comment faire pour sécuriser l’accès à mon SI alors que j’en ouvre une porte en exposant mon métier ? Cette conférence tentera de répondre à ces questions en présentant des cas concrets d’implémentation.

Citation preview

Page 1: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

Application Security Forum - 2012Western Switzerland

7-8 novembre 2012 - Y-Parc / Yverdon-les-Bainshttps://www.appsec-forum.ch

Initiation à la sécurité des Web Services (SOAP vs REST)

Sylvain MARETPrincipal Consultant / MARET Consulting

OpenID Switzerland & OWASP Switzerland

08.11.2012, Version 1.1 @smaret

Page 2: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

2

Agenda

Qu’est-ce qu’un Web Service ? SOAP REST Threat Modeling / ACME SA Réduction des risques Conclusion Questions

Page 3: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

3

Bio 18 years of experience in ICT Security Principal Consultant at MARET Consulting Expert at Engineer School of Yverdon Swiss French Area delegate at OpenID Switzerland Co-founder Geneva Application Security Forum 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

Page 4: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

4

Agenda

Qu’est-ce qu’un Web Service ? SOAP REST Threat Modeling / ACME SA Réduction des risques Conclusion Questions

Page 5: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

5

Web Service: la base….

Page 6: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

6

Web Service ?

XML, JSON, etc.Consumer Provider

Page 7: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

7

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

Page 8: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

8

Agenda

Qu’est-ce qu’un Web Service ? SOAP REST Threat Modeling / ACME SA Réduction des risques Conclusion Questions

Page 9: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

9

SOAP vs REST ?

Page 10: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

10

SOAP: Les ingrédients

Page 11: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

11

SOAP: Démystification des technologies

Langages– XML– WSDL : Descripteur du service– UDDI: Annuaire des services

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.

Page 12: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

12

Enveloppe SOAP

- SOAP : Simple Object Access Protocol

- Permet l’envoi de messages XML

- Agnostique au moyen de transport- HTTP- HTTPS- FTP- etc.

Source= wikipédia

Page 13: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

13

SOAP request

SOAP response

Page 14: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

14

UDDI

Universal Description Discovery and Integration, connu aussi sous l'acronyme UDDI, est un annuaire de services fondé sur XML et plus particulièrement destiné aux services Web.

Page 15: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

15

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)

http://fr.wikipedia.org/wiki/Web_Services_Description_Language

Page 16: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

16

WSDL

http://predic8.com/wsdl-reading.htm

Page 17: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

17

WSDL: exemple

Page 18: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

18

SOAP: Démystification des protocoles

UDDI

WSDL

SOAP / XML

HTTP, HTTPS, FTP, SFTP, SMS, SMTP(TCP or UDP)

IP

Découverte

Description

Message

Protocole

Transport

Page 19: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

19

Agenda

Qu’est-ce qu’un Web Service ? SOAP REST Threat Modeling / ACME SA Réduction des risques Conclusion Questions

Page 20: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

20

REST: Les ingrédients

Page 21: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

21

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 (Like XML Signature)

Autres éléments– Oauth, API Keys

Page 22: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

22

Représentation REST (exemple JSON)

Page 23: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

23

Méthodes REST

Page 24: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

24

REST: Démystification des protocoles

XML, JSON, etc.

HTTP, HTTPS

TCP/IP

Message

Protocole

Transport

WADL, Swagger ***Description

*** Avant-gardiste mais peux utiliser

???Découverte

Page 25: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

25

Page 26: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

26

SOAP vs REST

Page 27: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

27

Agenda

Qu’est-ce qu’un Web Service ? SOAP REST Threat Modeling / ACME SA Réduction des risques Conclusion Questions

Page 28: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

28

http://fr.wikipedia.org/wiki/Diagramme_de_flux_de_donn%C3%A9es

Page 29: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

29

Page 30: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

30

Modèle STRIDE

https://www.owasp.org/index.php/Application_Threat_Modeling

Page 31: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

31

Menaces selon le 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

Page 32: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

32

Agenda

Qu’est-ce qu’un Web Service ? SOAP REST Threat Modeling / ACME SA Réduction des risques Conclusion Questions

Page 33: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

33

ACME SA: Réduction des risques ?

Chiffrement du transport AuthN SSL Mutual AuthN / X509 WAF / XML Gateway Intégrité et confidentialité des messages Secure Coding

Page 34: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

34

Chiffrement du transportSOAP / XML REST

HTTPSSSL/TLS tunnelSSHIPSECEtc.

HTTPS

Page 35: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

35

AuthNSOAP / XML REST

HTTP Basic, Digest, HTTP HeaderMutual SSLIP trustWS Security user name passwordWS SAML Authentication tokenXML SignatureKerberosEtc.

HTTP Basic, Digest, HTTP HeaderMutual SSLIP trustOauthAPI Keys

Page 36: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

36

SSL Mutual AuthN / X509 / PKISOAP / XML REST

SSL/TLS Mutual AuthN** SSL/TLS Mutual AuthN**

** Man in the middle not possible… (As I Know)

Page 37: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

37

WAF / XML Gateway (Protection périmétrique)SOAP / XML REST

Reverse ProxyContrôle requêtes HTTPRupture SSL/TLSBlack ListWhite ListValidation WSDLSignature & VerificationEncryption & DecryptionSAML

Reverse ProxyContrôle requêtes HTTPRupture SSL/TLSBlack ListWhite List

Page 38: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

38

Intégrité et confidentialité des messages

SOAP / XML RESTXML SignatureXML Encryption

•(p.ex: HMAC, Doseta)• JSON Signature• **

** Pas de chiffrement à ma connaissance

Page 39: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

39

Code securitySOAP / XML REST

- Data input validation- Data output encoding- Pseudorandom data generation, high entropy- Strong / reliable data encryption algorithms- Data leakage prevention- Robust error & exception handling- Anti-automation and expiration measures

- Data input validation- Data output encoding- Pseudorandom data generation, high entropy- Strong / reliable data encryption algorithms- Data leakage prevention- Robust error & exception handling- Anti-automation and expiration measures

OWASP Application Security Verification Standard (ASVS):https://www.owasp.org/index.php/ASVS WASC web application weaknesses:http://projects.webappsec.org/w/page/13246978/Threat%20Classification

Page 40: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

40

REST & OAuth

Page 41: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

41

Agenda

Qu’est-ce qu’un Web Service ? SOAP REST Threat Modeling / ACME SA Réduction des risques Conclusion Questions

Page 42: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

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.

On attend avec impatience les standards sécu pour REST ???– Pragmatique: protection périmétrique, chiffrement et Secure Coding ???

Page 43: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

43

Pour aller plus loin….

Page 44: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

44

Questions?

Page 45: ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret

45

Merci / Thank you!

Contact:[email protected]@smarethttp://www.maret-consulting.chSlides:

http://slideshare.net/ASF-WS/