Vous êtes sur la page 1sur 34

PLAN

Introduction Attaques aux services web Scurit des services Web


y y y

Mcanismes de base de scurit Scurisation des services web Standards de scurisation des services web

Conclusion

INTRODUCTION

Les services Web sont utiliss de plus en plus pour des transactions daffaires relles

Une nouvelle technologie introduit de nouvelles menaces et vulnrabilits

Exple: le piratage des cartes bancaire

Quelle sont les attaques aux services web ?? Comment scuriser les services web??

ATTAQUES AUX SERVICES WEB

Les services Web XML vont rouvrir 70% des chemins dattaques ferms par les pare-feu lors de la dernire dcennie. Ils peuvent transporter virtuellement toutes les donnes utiles sur le port 80 et le pare-feu ne peut les arrter. - Gartner Group, 2003

ATTAQUES AUX SERVICES WEB:


QUELQUES TYPES DATTAQUE Parsing:
Donnes utiles rcursives  Donnes utiles surdimensionnes  Attaque de rejeu


Activit non dtecte comme une intrusion:


  

Adresse source valide Comportement du paquet normal Requte HTTP bien forme
M M M M M M M M M M M M

Attaquant

Internet

service
M M

ATTAQUES AUX SERVICES WEB : QUELQUES TYPES DATTAQUE


Attaques classiques (Man-in-the-middle)




Eavesdropping

Interception et tude du trafic

Rejeu

Envoyer de nouveau une message capturer pour bnficier dun service

Perte dintgrit

Modification des donnes interceptes

ATTAQUES AUX SERVICES WEB : QUELQUES TYPES DATTAQUE

Attaque dentits externes

Manipulation des liens URL utilis par les messages SOAP

rediriger vers une source malicieuse ou peu fiable Forcer ouvrir des fichiers douteux

ATTAQUES AUX SERVICES WEB : QUELQUES TYPES DATTAQUE


Exemple:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.pirate.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.pirate.org/soap/encoding/"> <SOAP-ENV:Header> <m:Transaction xmlns:m="Some-URI">123</m:Transaction> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:GetClient xmlns:m="Some-URI"> <identifiant>ABC-123</identifiant> </m:GetClient> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

ATTAQUES AUX SERVICES WEB : QUELQUES TYPES DATTAQUE


Attaque dentits externes

Dtournement du routage


WS-Addressing permet de spcifier une route suivre pour le trafic SOAP en utilisant des balises XML un pirate contrle lun de ces routes intermdiaires:
Insrer dautres routes non fiables dtourner de linformation confidentielle  Rediriger linformation une destination inexistante crer un dni de service


ATTAQUES AUX SERVICES WEB : QUELQUES TYPES DATTAQUE


Contenu malicieux


Injection SQL Exemple:

<client> <NomduClient>ABC</NomduClient> <IDClient>12345</IDClient> </client> <Client> <NomduClient>ABC</NomduClient> <IDClient>12345; drop table utisateurs; -</IDClient> </client>

ATTAQUES AUX SERVICES WEB : QUELQUES TYPES DATTAQUE


Contenu malicieux


Message SOAP avec fichier attach


3 3

Fichier dans le message XML De plus en plus dapplications supportent XML nativement (Office 2003,2007)

Buffer Overflow
 

Vrifier sil y a vrification de la longueur maximale du champ Exemple:service Web destin recevoir une liste de numros de tlphone

SCURIT DES SERVICES WEB: MCANISME DE BASE DE SCURIT


Authentification Autorisation daccs Encryptage / Dcryptage Gestion des certificats Signature lectronique Audit Intgrit et confidentialit Non-rpudiation Infrastructure la clef public

SCURIT DES SERVICES WEB: SCURISATION DES SERVICES WEB


Scurisation de linfrastructure informatique Scurisation des connexions Authentification et contrle daccs Scurisation du protocole SOAP Standard de scurit XML

SCURIT DES SERVICES WEB: SCURISATION DES SERVICES WEB


Scurisation de linfrastructure informatique


Une identification des risques(virus, pirate,)  Une analyse des consquences d'une violation de la scurit  Intgrer les mesures de scurit touts les niveaux du rseau de l'entreprise(l'audit de scurit).


Scurisation des connexions Une des solutions les plus faciles pour scuriser les services web et d'assurer la fiabilit de la connexion entre le client et le serveur.
le protocole SSL (Secure Sokets Layer)  Les rseaux privs virtuels (VPN, Virtyal Private Network).


SCURIT DES SERVICES WEB: SCURISATION DES SERVICES WEB


Authentification et contrle daccs




Lauthentification est le processus qui consiste vrifier lidentit dune personne, dun service et ou dune application metteur dun message.

Pour quil y ait accs un systme, les informations concernant lentit sont compares avec des informations de contrle des accs.

SCURIT DES SERVICES WEB: SCURISATION DES SERVICES WEB


Scurisation du protocole SOAP Le message SOAP a besoin dtre encrypt pour protger les contenus de changement.


Encrypter le corps SOAP et/ou des donnes dfinies dans les champs header SOAP.

Utiliser SSL (Secure Sockets Layer) pour encrypter le trafic HTTP.

tablir les connexions avec VPN qui est encrypt par dfaut.

SCURIT DES SERVICES WEB: SCURISATION DES SERVICES WEB


Standard de scurit XML Les techniques les plus simples pour la scurit des services web sont:


lidentifiant de lutilisateur et le password pour lauthentification;

Les listes de contrle daccs ou de permissions pour lautorisation;

 

Des abrgs de message pour lintgrit SSL (Secure Sokets Layer) pour lencryptage assurant ainsi la confidentialit.

SCURIT DES SERVICES WEB: STANDARDS DE SCURISATION DES SERVICES WEB


XML Digital Signature : procure lintgrit et la non-rpudiation et lauthentification XML Encryption : chiffre et dchiffre le contenu dun message XML Key Management Specification (XKMS) : procure une mthode dobtention des cls cryptographiques SAML (Security Assertion Markup Language) : change dinformation sur lauthentification et lautorisation des utilisateurs et des postes/serveurs

SCURIT DES SERVICES WEB: STANDARDS DE SCURISATION DES SERVICES WEB


XML signature digitale Signature numrique exprime en XML


 

Portion (ex.: lment) ou tout le document peut tre sign Un ou plusieurs signatures XML dans un mme document XML

Une signature sapplique tout URI ou contenu non XML (ex.: un fichier .jpg)

Seulement ce qui est sign est considr scuritaire

XML SIGNATURE DIGITALE


<Signature> <SignedInfo> DSAwithSHA1 pour stratgie de cl publique Ou HMAC-SHA1 pour lintgrit

limination des variations dans le message (ex.: cr lf en Windows et lf en Unix

(CanonicalizationMethod) Pointe un URI (ex.: URI="#someElementID") (SignatureMethod) (<Reference (URI=)? > (Transforms)? (DigestMethod) (DigestValue) </Reference>)+ Algorithm="http://www.w3.o rg/2000/09/ xmldsig#sha1" Valeur du condens (digest) exprim en base64 Signature num rique du block SignedInfo exprim en base64

</SignedInfo> (SignatureValue) (KeyInfo)? (Object)* </Signature>

SCURIT DES SERVICES WEB: STANDARDS DE SCURISATION DES SERVICES WEB


Encryptage avec XML


  

Chiffre une portion du message Algorithmes varis utilis pour le cryptage Utilise quelques balises de XML Signature (dont llment KeyInfo)

Chiffrement persistent


Dans la transmission dun message SOAP qui passe par plusieurs points

En cas de stockage dans une base de donnes

SCURIT DES SERVICES WEB: STANDARDS DE SCURISATION DES SERVICES WEB


ENCRYPTAGE AVEC XML




Exemple sans chiffrement <?xml version='1.0'?> <InfoPaiement xmlns='http://test.org/details'> <Name>Luc Utilisateur</Name> <CarteCredit Limite='12,000' Currency=CA'> <Numero>1234 5678 9012 3456</Numero> <Emetteur>Banque Locale</Emetteur> <Expiration>12/06</Expiration> </CarteCredit> </InfoPaiement>

EXEMPLE AVEC CHIFFREMENT COMPLET DE LLMENT CARTECREDIT


<?xml version='1.0'?> <InfoPaiement xmlns='http://test.org/details'> <Name>Luc Utilisateur</Name> <EncryptedData Type='http://www.w3.org/2001/04/ xmlenc#Element xmlns='http://www.w3.org /2001 /04/ xmlenc#'> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData> </InfoPaiement>

EXEMPLE AVEC CHIFFREMENT DU CONTENU DE LLMENT CARTECREDIT


<?xml version='1.0'?> <InfoPaiement xmlns='http://test.org/details'> <Name>Luc Utilisateur</Name> <CarteCredit Limite='12,000' Monnaie=CA'> <EncryptedData xmlns='http://www.w3.org/2001/04/xmlenc#' Type='http://www.w3.org/2001/04/xmlenc#Content'> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData> </CarteCredit> </InfoPaiement>

EXEMPLE AVEC CHIFFREMENT DU CONTENU DE LLMENT CARTECREDIT


SUPER-ENCRYPTAGE :
<InfoPaiement xmlns='http://test.org/details'> <EncryptedData ID=ED1 xmlns='http://www.w3.org/2001/04/xmlenc#' Type='http://www.w3.org/2001/04/xmlenc#Content'> <CipherData> <CipherValue>original Encryptdonnees</CipherValue> </CipherData> </EncryptedData> </InfoPaiement>

<?xml version='1.0'?>

Le super encryptage serait:


<?xml version='1.0'?> <InfoPaiement xmlns='http://test.org/details'> <EncryptedData ID=ED1 xmlns='http://www.w3.org/2001/04/xmlenc#' Type='http://www.w3.org/2001/04/xmlenc#Content'> <CipherData> <CipherValue>nouveau Encryptdonnees </CipherValue> </CipherData> </EncryptedData> </InfoPaiement>

SCURIT DES SERVICES WEB: STANDARDS DE SCURISATION DES SERVICES WEB


XKMS(XML Key Management Specification )




Permet la gestion des cls publiques utilises par exemple avec XML Encryption et XML Signature

Dfinit deux services Web




XML Key Registration Service Specification (X-KRSS) supporte les oprations (register, recover, reissue, and revoke) qui grent le cycle de vie dune cl publique

XML Key Information Service Specification (X-KISS) supporte les oprations (locate & validate) de requtes pour obtenir et valider une cl publique

SCURIT DES SERVICES WEB: STANDARDS DE SCURISATION DES SERVICES WEB


WS-Security ou Web Services Security(WSS)


Une spcification dune extension de SOAP 3 Dfinit une faon standard de reprsenter l'information sur la scurit dans un message 3 WS-Security permet :  De passer des tokens pour lauthentification et lautorisation dans le header du message SOAP  De signer de manire numrique tout ou une partie du message et transmettre la signature  De chiffrer tout ou une partie du message  De passer linformation sur les cls de chiffrement et de vrification de la signature
3

WS-SECURITY

Dans lenveloppe SOAP, lentte de scurit inclut :




Horodateur (Timestamp)


Aide prvenir les attaques de rejeu (replay)

Jetons identifiant le sujet et les cls


  

Username token: nom et mot de passe X509: nom et cl publique Autres incluant les billets Kerberos, et cls de session

WS-SECURITY
Signatures
 

Syntaxe donne par le standard XML-DSIG Lier ensemble une liste dlments du message, avec la cl drive dun jeton de scurit

Cls de chiffrement
 

Syntaxe donne par le standard XML-ENC Plusieurs lments du message peuvent tre chiffrs

EXEMPLE DINTGRATION DES DIVERS


STANDARDS EN SCURIT

<S:Envelope> <S:Header> <wsse:Security> <!-- Security Token --> <wsse:UsernameToken> ... </wsse:UsernameToken> <!-- XML Signature --> <ds:Signature> ... <ds:Reference URI="#body"> ... </ds:Signature> <!-- XML Encryption Reference List --> <xenc:ReferenceList> <xenc:DataReference URI="#body"/> </xenc:ReferenceList> </wsse:Security> </S:Header> <S:Body> <!-- XML Encrypted Body --> <xenc:EncryptedData Id="body" Type="content"> ... </xenc:EncryptedData> </S:Body> </S:Envelope>

Nom dutilisateur/mot de passe, certificats digitaux X.509, Assertions SAML, Tickets Kerberos

SCURIT DES SERVICES WEB: STANDARDS DE SCURISATION DES SERVICES WEB


SAML
SAML (une identit portable) permet le transport des attributs de scurit dun individu Prcde les services Web mais a t appliqu ceux-ci et introduit dans WS-Security Dans un contexte de commerce lectronique, chaque entit conserve son mcanisme dauthentification et SAML permet la confiance inter-domaine. Chaque organisation fait ou non le choix de faire confiance aux membres dune autre organisation bas sur les assertions SAML

SCURIT DES SERVICES WEB: STANDARDS DE SCURISATION DES SERVICES WEB


SAML
3

SAML dfinit trois types dassertion


 

Authentification (mot de passe, Kerberos, X.509, etc.) Autorisation (peut accder une ressource donne de la manire spcifie)

Attribut dentit (donne de linformation sur une assertion dauthentification ou dautorisation)

SAML un protocole de requtes/rponses pour changer et gnrer les assertions

CONCLUSION

Utiliser la scurit au niveau du message si possible versus le niveau transport et les mthodes propritaires Surveiller lvolution des standards Surveiller lvolution des pare-feu pour accommoder les services Web (i.e. pare-feu XML et XML Gateways) Ne pas ngliger limpact de la scurit sur la performance des services Web

RETENIR

WS-Security nest pas suffisant  Les standards rpondent certains types dattaques  Besoins dheuristiques pour contrevenir aux autres types dattaques (XDoS, XVirus, etc.) Une nouvelle classe dappareil rseau est ncessaire: le parefeu XML  Inspecte les messages XML lorsquils franchissent les frontires de lorganisation  Ajoute un niveau de scurit et dinteroprabilit linfrastructure  Implmente les standards et les heuristiques et permettent de mettre en place les pratiques exemplaires

Vous aimerez peut-être aussi