SlideShare una empresa de Scribd logo
1 de 27
SÉCURITÉ DES WEB
SERVICES SOAP
SMAHI Zakaria
SOMMAIRE
 Qu’est ce qu’un WEB Service
 Web Services SOAP
 Risques et Menaces
 Réduction des risques
 Conclusion
 Questions
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.
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.
ENVIRONNEMENT A WEB SERVICES
TYPIQUE
SOURCE: Mastering Web Services Security
www.wiley.com
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)
LES ACTEURS DU WEB SERVICE
SOAP
LES ACTEURS DU WEB SERVICE
SOAP - WSDL
LES ACTEURS DU WEB SERVICE
SOAP – SOAP
Protocol header
SOAP envelope
SOAP header
SOAP body
SOAP 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
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é
RISQUES ET MENACES
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.).
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.
Attaques à base
XML
XDOS
Oversize/Réc
ursive
XML Bombe
Référence
externe
Envoi massif
de messages
SOAP
Injections
Injection SQL
Injection de
commandes
OS
Injection XML
Injection
XPath
INJECTION SQL DANS UN MESSAGE
SOAP OR 1 = 1
-- Injection SQL
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
RÉDUCTION DES RISQUES
 Chiffrement du transport.
 AuthN.
 X509/PKI
Intégrité et confidentialité des messages.
 Secure Coding.
 XML Firewall ou XML Security Gateway.
RÉDUCTION DES RISQUES
 Chiffrement du transport:
HTTPS
SSL/TLS Tunnel
SSH
…etc.
 AuthN:
 HTTP trust, HTTP Header
 WS SAML Authentication token
 Kerberos
…etc.
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.)
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
XML FIREWALLS/XML SECURITY
GATEWAYS
XML FIREWALLS/XML SECURITY
GATEWAYS
XML FIREWALLS/XML SECURITY
GATEWAYS
from netfilterqueue import NetfilterQueue
from 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
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).
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
Sécurité des web services soap
Sécurité des web services soap

Más contenido relacionado

La actualidad más candente

Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
Sébastien GIORIA
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID Lyon
Sébastien GIORIA
 
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime MauchausséeConférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Normandie Web Xperts
 
White paper - La sécurisation des web services
White paper - La sécurisation des web servicesWhite paper - La sécurisation des web services
White paper - La sécurisation des web services
Bee_Ware
 
Presentation des failles_de_securite
Presentation des failles_de_securitePresentation des failles_de_securite
Presentation des failles_de_securite
Borni Dhifi
 
Utilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open SourceUtilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open Source
guest3be047
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASP
yaboukir
 

La actualidad más candente (20)

Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
 
Introduction vulnérabilité web
Introduction vulnérabilité webIntroduction vulnérabilité web
Introduction vulnérabilité web
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID Lyon
 
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime MauchausséeConférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
 
Failles de sécurité
Failles de sécuritéFailles de sécurité
Failles de sécurité
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
 
Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuelles
 
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
 
White paper - La sécurisation des web services
White paper - La sécurisation des web servicesWhite paper - La sécurisation des web services
White paper - La sécurisation des web services
 
Vulnérabilité des sites web
Vulnérabilité des sites webVulnérabilité des sites web
Vulnérabilité des sites web
 
Securité web
Securité webSecurité web
Securité web
 
Presentation des failles_de_securite
Presentation des failles_de_securitePresentation des failles_de_securite
Presentation des failles_de_securite
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuelles
 
Cours Secu Web
Cours Secu WebCours Secu Web
Cours Secu Web
 
Webinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeWebinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme Thémée
 
Utilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open SourceUtilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open Source
 
Les firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAFLes firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAF
 
Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASP
 

Destacado

Destacado (16)

Javascript 2.0
Javascript 2.0 Javascript 2.0
Javascript 2.0
 
Owasp webgoat
Owasp webgoatOwasp webgoat
Owasp webgoat
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.net
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
 
Buffer Overflow exploitation
Buffer Overflow exploitationBuffer Overflow exploitation
Buffer Overflow exploitation
 
workshop initiation ssh
workshop initiation sshworkshop initiation ssh
workshop initiation ssh
 
Comprendre la securite web
Comprendre la securite webComprendre la securite web
Comprendre la securite web
 
Guide d'utilisation de nmap par smahi zakaria
Guide d'utilisation de nmap par smahi zakariaGuide d'utilisation de nmap par smahi zakaria
Guide d'utilisation de nmap par smahi zakaria
 
Javascript 1.0
Javascript 1.0 Javascript 1.0
Javascript 1.0
 
تجربتي مع المساهمة في المشاريع الحرة - اليوم الحر
تجربتي مع المساهمة  في المشاريع الحرة - اليوم الحر تجربتي مع المساهمة  في المشاريع الحرة - اليوم الحر
تجربتي مع المساهمة في المشاريع الحرة - اليوم الحر
 
JQuery
JQueryJQuery
JQuery
 
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain MaretASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
 
Chp5 - Sécurité des Services
Chp5 - Sécurité des ServicesChp5 - Sécurité des Services
Chp5 - Sécurité des Services
 
ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret
ASFWS 2012 WS Security - REST vs SOAP par Sylvain MaretASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret
ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret
 
Accroître la sécurité de son site internet et de Joomla! plus spécifiquement
Accroître la sécurité de son site internet et de Joomla! plus spécifiquementAccroître la sécurité de son site internet et de Joomla! plus spécifiquement
Accroître la sécurité de son site internet et de Joomla! plus spécifiquement
 
LinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedLinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-Presented
 

Similar a Sécurité des web services soap

Sécurités & Annuaires
Sécurités & AnnuairesSécurités & Annuaires
Sécurités & Annuaires
Paulin CHOUDJA
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services
Camus LANMADOUCELO
 
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIMise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Papa Cheikh Cisse
 
Cours SSI - Copie (1).pptx
Cours SSI - Copie (1).pptxCours SSI - Copie (1).pptx
Cours SSI - Copie (1).pptx
gorguindiaye
 

Similar a Sécurité des web services soap (20)

education
educationeducation
education
 
Introduction à La Sécurité Informatique 2/2
Introduction à La Sécurité Informatique 2/2Introduction à La Sécurité Informatique 2/2
Introduction à La Sécurité Informatique 2/2
 
Sécurités & Annuaires
Sécurités & AnnuairesSécurités & Annuaires
Sécurités & Annuaires
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services
 
Epitech securite-2012.key
Epitech securite-2012.keyEpitech securite-2012.key
Epitech securite-2012.key
 
ASFWS 2011 - L’importance du protocole HTTP dans la menace APT
ASFWS 2011 - L’importance du protocole HTTP dans la menace APTASFWS 2011 - L’importance du protocole HTTP dans la menace APT
ASFWS 2011 - L’importance du protocole HTTP dans la menace APT
 
20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif
 
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIMise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
 
Barcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphiaBarcamp presentation Cybersecurite by saphia
Barcamp presentation Cybersecurite by saphia
 
Attaques Informatiques
Attaques InformatiquesAttaques Informatiques
Attaques Informatiques
 
SRI.pdf
SRI.pdfSRI.pdf
SRI.pdf
 
Sécuriser votre chaîne d'information dans Azure
Sécuriser votre chaîne d'information dans AzureSécuriser votre chaîne d'information dans Azure
Sécuriser votre chaîne d'information dans Azure
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
Alphorm.com Formation Pentesting avec Metasploit
Alphorm.com Formation Pentesting avec MetasploitAlphorm.com Formation Pentesting avec Metasploit
Alphorm.com Formation Pentesting avec Metasploit
 
20100114 Waf V0.7
20100114 Waf V0.720100114 Waf V0.7
20100114 Waf V0.7
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
Cours SSI - Copie (1).pptx
Cours SSI - Copie (1).pptxCours SSI - Copie (1).pptx
Cours SSI - Copie (1).pptx
 
Cours SSI - Copie (1).pptx
Cours SSI - Copie (1).pptxCours SSI - Copie (1).pptx
Cours SSI - Copie (1).pptx
 
Cours SSI - Copie.pptx
Cours SSI - Copie.pptxCours SSI - Copie.pptx
Cours SSI - Copie.pptx
 

Sécurité des web services soap

  • 1. SÉCURITÉ DES WEB SERVICES SOAP SMAHI Zakaria
  • 2. SOMMAIRE  Qu’est ce qu’un WEB Service  Web Services SOAP  Risques et Menaces  Réduction des risques  Conclusion  Questions
  • 3. 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.
  • 4. 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.
  • 5. ENVIRONNEMENT A WEB SERVICES TYPIQUE SOURCE: Mastering Web Services Security www.wiley.com
  • 6. 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)
  • 7. LES ACTEURS DU WEB SERVICE SOAP
  • 8. LES ACTEURS DU WEB SERVICE SOAP - WSDL
  • 9. LES ACTEURS DU WEB SERVICE SOAP – SOAP Protocol header SOAP envelope SOAP header SOAP body SOAP 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
  • 10. 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é
  • 12. 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.).
  • 13. 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.
  • 14. Attaques à base XML XDOS Oversize/Réc ursive XML Bombe Référence externe Envoi massif de messages SOAP Injections Injection SQL Injection de commandes OS Injection XML Injection XPath
  • 15. INJECTION SQL DANS UN MESSAGE SOAP OR 1 = 1 -- Injection SQL
  • 16. 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
  • 17. RÉDUCTION DES RISQUES  Chiffrement du transport.  AuthN.  X509/PKI Intégrité et confidentialité des messages.  Secure Coding.  XML Firewall ou XML Security Gateway.
  • 18. RÉDUCTION DES RISQUES  Chiffrement du transport: HTTPS SSL/TLS Tunnel SSH …etc.  AuthN:  HTTP trust, HTTP Header  WS SAML Authentication token  Kerberos …etc.
  • 19. 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.)
  • 20. 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
  • 23. XML FIREWALLS/XML SECURITY GATEWAYS from netfilterqueue import NetfilterQueue from 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
  • 24. 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).
  • 25. 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