sécurité des web services soap
TRANSCRIPT
![Page 1: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/1.jpg)
SÉCURITÉ DES WEB SERVICES SOAP
SMAHI Zakaria
![Page 2: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/2.jpg)
SOMMAIRE
Qu’est ce qu’un WEB Service
Web Services SOAP
Risques et Menaces
Réduction des risques
Conclusion
Questions
![Page 3: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/3.jpg)
QU’EST CE QU’UN WEB SERVICE Programmes accessibles à distance, qui peuvent être déployés sur n’importe quelle plateforme.
Il s’agit d’une forme d’un intergicielle (middleware) qui s’appuie sur des standards bien définis.
Conçus pour supporter l’interaction entre des groupes hétérogènes au sein d'un réseau.
![Page 4: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/4.jpg)
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 enfin à une standardisation (toujours en cours) des protocoles, outils, langages et interfaces.
WSDL
JSON
…etc.
Web Services
![Page 5: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/5.jpg)
ENVIRONNEMENT A WEB SERVICES TYPIQUE
SOURCE: Mastering Web Services Security www.wiley.com
![Page 6: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/6.jpg)
WEB SERVICES SOAP Langages:
XML
UDDI
WSDL
XPath
Protocoles:
Transport : HTTP, HTTPS, SMTP, FTP, SSH…etc.
Message: Enveloppe SOAP
Sécurité:
WS-Security (Signature – chiffrement)
![Page 7: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/7.jpg)
LES ACTEURS DU WEB SERVICE SOAP
![Page 8: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/8.jpg)
LES ACTEURS DU WEB SERVICE SOAP - WSDL
![Page 9: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/9.jpg)
LES ACTEURS DU WEB SERVICE SOAP – SOAP
Protocol header
SOAP envelope
SOAP headerSOAP header
SOAP body SOAP body
SOAP faultSOAP fault
Protocol de transport (ex : http)
Définit le document XML comme un message SOAP
Optionnelle : stockage des informations spécifique à la
transaction
Contenant des données à transporter
Gestion des erreurs
![Page 10: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/10.jpg)
RAPPEL MODÈLE STRIDEType Exemple Contrôle de sécurité
Spoofing Accèder et/ou utiliser des informations d’authentification d’un autre utilisateur (username/password).
Authentification
Tampering Modifier les données persistantes d’une base de données ou altérer les données en échange entre deux utilisateurs dans un réseau ouvert.
Intégrité
Repudiation Effectuer des opérations illégales sur un système non capable à retracer les opération interdites
Non-répudiation
Information disclosure
Lire des données en transit. Confidentialité
Denial of Service rendre les services ou les ressources d’une organisation indisponibles pendant un temps indéterminé
Disponiblité
Elevation of Privilege
Avoir un accès non autorisé à un système ( administateur, root).
Authorisation
![Page 11: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/11.jpg)
RISQUES ET MENACES
![Page 12: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/12.jpg)
RISQUES ET MENACES
Threat1: Interception des messages (Informtion disclosure). Modification des messages (Tampering). Usurpation d’identité (Spoofing). Threat2: « XML-Based attacks » Attaque de l’application (SQL Injections, XDOS, …etc.).
![Page 13: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/13.jpg)
XML-BASED ATTACKS
SOAP ne définit aucun mécanisme de sécurité. Le problème apparait avec la syntaxe dite pardonnable de XML. Il existe deux grandes familles d’attaques à base XML: Les attaques de déni de services XML. (XDOS) Les attaques par injection.
![Page 14: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/14.jpg)
Attaques à base XML
XDOS
Oversize/Récursive
XML Bombe
Référence externe
Envoi massif de messages
SOAP
Injections
Injection SQL
Injection de commandes
OS
Injection XML
Injection XPath
![Page 15: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/15.jpg)
INJECTION SQL DANS UN MESSAGE SOAP
OR 1 = 1 -- Injection SQL
![Page 16: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/16.jpg)
BOMBE XML DANS UNE MESSAGE SOAP
<?xml version=”1.0” encoding=”UTF-8”?>
< ! DOCTYPE SOAP-ENV: Envelope [ < ! ELEMENT SOAP-ENV: Envelope ANY> < ! ATTLIST SOAP-ENV: Envelope entityReference CDATA #IMPLIED>< ! ENTITY x0 "foo">< ! ENTITY x1 "foofoo" >< ! ENTITY x2 "foofoofoofoo" > ... < ! ENTITY x98 "&x97;&x97;" >
< ! ENTITY x99 "&x98;&x98;" > ] ><soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>
<soap:Body>
<keyword xmlns="urn:parasoft:ws:store">foo</keyword> </soap:Body></soap:Envelope>
< ! DOCTYPE SOAP-ENV: Envelope [ < ! ELEMENT SOAP-ENV: Envelope ANY> < ! ATTLIST SOAP-ENV: Envelope entityReference CDATA #IMPLIED>< ! ENTITY x0 "foo">< ! ENTITY x1 "foofoo" >< ! ENTITY x2 "foofoofoofoo" > ... < ! ENTITY x98 "&x97;&x97;" >
< ! ENTITY x99 "&x98;&x98;" > ] >
Bombe XML
![Page 17: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/17.jpg)
RÉDUCTION DES RISQUES
Chiffrement du transport.
AuthN.
X509/PKI
Intégrité et confidentialité des messages.
Secure Coding.
XML Firewall ou XML Security Gateway.
![Page 18: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/18.jpg)
RÉDUCTION DES RISQUES
Chiffrement du transport:
HTTPS
SSL/TLS Tunnel
SSH
…etc.
AuthN:
HTTP trust, HTTP Header
WS SAML Authentication token
Kerberos
…etc.
![Page 19: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/19.jpg)
RÉDUCTION DES RISQUES X905/PKI:
SSL/TLS Mutual AuthN
…etc.
Intégrité et confidentialité des messages:
XML Signature
XML Encryption
Secure Coding:
Validation des input, et l’encodage des output
Anti-automatisation
Tester son web service avant de le publier par des outils de tests (SOAPui, WS-fuzzer, SQLmap …etc.)
![Page 20: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/20.jpg)
XML FIREWALLS/XML SECURITY GATEWAYS Une nouvelle technologie introduite afin de sécuriser les web services contre les attaques.
Il est compatible aux différents protocoles de transport, et renforce les insertions de sécurité des messages de services, de port ou d’opération.
Actuellement, on a la tendance d’utiliser le terme «XML Security Gateway» pour les XML Firewall, car on attend de ces pare-feu un travail plus qu’un conventionnel pare-feu.
Les XML Firewalls utilisent soit des techniques exactes (basées sur les signatures) ou des méthodes probabilistes basées sur le data mining et l’intelligence artificielle pour la sécurisation des web services.
![Page 21: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/21.jpg)
XML FIREWALLS/XML SECURITY GATEWAYS
![Page 22: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/22.jpg)
XML FIREWALLS/XML SECURITY GATEWAYS
![Page 23: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/23.jpg)
XML FIREWALLS/XML SECURITY GATEWAYS
from netfilterqueue import NetfilterQueuefrom verification import verifier def verif(pkt) : if not (SOAPmessage(pkt.get_payload()) : pkt.accept() else : if verifier(pkt.get_payload()) : pkt.accept() else : pkt.drop()nfqueue = NetfilterQueue()nfqueue.bind(1, verif)try : nfqueue.run()except KeyboardInterrupt : print
![Page 24: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/24.jpg)
XML FIREWALLS/XML SECURITY GATEWAYS Statistiques des tests effectués:
170 messages injections SQL.
30 messages injections de commandes OS.
120 messages injections XML.
80 messages injections XPath.
150 bons messages déjà vu (période d’apprentissage).
150 bons messages nouveaux.
Un échantillon d’apprentissage de 10000 messages.
Résultats obtenus : 16 Faux Positifs (bon messages signalés malveillants à tord) et 0 faux négatifs (messages malveillants signalés bons par erreur).
![Page 25: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/25.jpg)
CONCLUSION
Implémenter les standards WS-Security.
Utiliser une sécurité périmétrique XML Firewalls.
Secure Coding !
WS-Security VS Sécurité Périmétrique ?
To SOAP or NOT ?
To SECURE SOAP or NOT? That’s the question
![Page 26: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/26.jpg)
Merci de votre attention
![Page 27: Sécurité des web services soap](https://reader036.vdocuments.site/reader036/viewer/2022062308/55d76830bb61ebd5238b45e7/html5/thumbnails/27.jpg)