1 / 34

Plan

Plan. Introduction Attaques aux services web Sécurité des services Web Mécanismes de base de sécurité Sécurisation des services web Standards de sécurisation des services web Conclusion. Introduction. Les services Web sont utilisés de plus en plus pour des transactions d’affaires réelles

laksha
Download Presentation

Plan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Plan • Introduction • Attaques aux services web • Sécurité des services Web • Mécanismes de base de sécurité • Sécurisation des services web • Standards de sécurisation des services web • Conclusion

  2. Introduction • Les services Web sont utilisés de plus en plus pour des transactions d’affaires réelles • Une nouvelle technologie introduit de nouvelles menaces et vulnérabilités • Exple: le piratage des cartes bancaire Quelle sont les attaques aux services web ?? Comment sécuriser les services web??

  3. Attaques aux Services web “Les services Web XML vont réouvrir 70% des chemins d’attaques fermés par les pare-feu lors de la dernière décennie. Ils peuvent transporter virtuellement toutes les données utiles sur le port 80 et le pare-feu ne peut les arrêter.” - Gartner Group, 2003

  4. Attaques aux Services web: Quelques types d’attaque • Parsing: • Données utiles récursives • Données utiles surdimensionnées • Attaque de rejeu • Activité non détectée comme une intrusion: • Adresse source valide • Comportement du paquet normal • Requête HTTP bien formée M M M M Attaquant M Internet M M service M M M M M M M M M M M

  5. Attaques aux Services web :Quelques types d’attaque • Attaques classiques (Man-in-the-middle) • Eavesdropping • Interception et étude du trafic • Rejeu • Envoyer de nouveau une message capturer pour bénéficier d’un service • Perte d’intégrité • Modification des données interceptées

  6. Attaques aux Services web :Quelques types d’attaque • Attaque d’entités externes • Manipulation des liens URL utilisé par les messages SOAP rediriger vers une source malicieuse ou peu fiable Forcer à ouvrir des fichiers douteux

  7. Attaques aux Services web :Quelques types d’attaque 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>

  8. Attaques aux Services web :Quelques types d’attaque • Attaque d’entités externes • Détournement du routage • WS-Addressing permet de spécifier une route à suivre pour le trafic SOAP en utilisant des balises XML un pirate contrôle l’un de ces routes intermédiaires: • Insérer d’autres routes non fiables détourner de l’information confidentielle • Rediriger l’information à une destination inexistante  créer un déni de service

  9. Attaques aux Services web :Quelques types d’attaque • Contenu malicieux • Injection SQL Exemple:  <client> <NomduClient>ABC</NomduClient> <IDClient>12345</IDClient> </client> <Client> <NomduClient>ABC</NomduClient> <IDClient>12345; drop table utisateurs; --</IDClient> </client>

  10. Attaques aux Services web :Quelques types d’attaque • Contenu malicieux • Message SOAP avec fichier attaché • Fichier dans le message XML • De plus en plus d’applications supportent XML nativement (Office 2003,2007) • Buffer Overflow • Vérifier s’il y a vérification de la longueur maximale du champ • Exemple:service Web destiné à recevoir une liste de numéros de téléphone

  11. Sécurité des services Web:Mécanisme de base de sécurité • Authentification • Autorisation d’accès • Encryptage / Décryptage • Gestion des certificats • Signature électronique • Audit • Intégrité et confidentialité • Non-répudiation • Infrastructure à la clef public

  12. Sécurité des services Web:Sécurisation des services web • Sécurisation de l’infrastructure informatique • Sécurisation des connexions • Authentification et contrôle d’accès • Sécurisation du protocole SOAP • Standard de sécurité XML

  13. Sécurité des services Web:Sécurisation des services web • Sécurisation de l’infrastructure informatique • Une identification des risques(virus, pirate,…) • Une analyse des conséquences d'une violation de la sécurité • Intégrer les mesures de sécurité à touts les niveaux du réseau de l'entreprise(l'audit de sécurité). • Sécurisation des connexions Une des solutions les plus faciles pour sécuriser les services web et d'assurer la fiabilité de la connexion entre le client et le serveur. • le protocole SSL (Secure Sokets Layer) • Les réseaux privés virtuels (VPN, Virtyal Private Network).

  14. Sécurité des services Web:Sécurisation des services web • Authentification et contrôle d’accès • L’authentification est le processus qui consiste à vérifier l’identité d’une personne, d’un service et ou d’une application émetteur d’un message. • Pour qu’il y ait accès à un système, les informations concernant l’entité sont comparées avec des informations de contrôle des accès.

  15. Sécurité des services Web:Sécurisation des services web • Sécurisation du protocole SOAP Le message SOAP a besoin d’être encrypté pour protéger les contenus de changement. • Encrypter le corps SOAP et/ou des données définies dans les champs header SOAP. • Utiliser SSL (Secure Sockets Layer) pour encrypter le trafic HTTP. • Établir les connexions avec VPN qui est encrypté par défaut.

  16. Sécurité des services Web:Sécurisation des services web • Standard de sécurité XML Les techniques les plus simples pour la sécurité des services web sont: • l’identifiant de l’utilisateur et le password pour l’authentification; • Les listes de contrôle d’accès ou de permissions pour l’autorisation; • Des abrégés de message pour l’intégrité • SSL (Secure Sokets Layer) pour l’encryptage assurant ainsi la confidentialité.

  17. Sécurité des services Web:Standards de sécurisation des services web • XML Digital Signature : procure l’intégrité et la non-répudiation et l’authentification • XML Encryption : chiffre et déchiffre le contenu d’un message • XML Key Management Specification (XKMS) : procure une méthode d’obtention des clés cryptogra-phiques • SAML (Security Assertion Markup Language) : échange d’information sur l’authentification et l’autorisation des utilisateurs et des postes/serveurs

  18. Sécurité des services Web:Standards de sécurisation des services web • XML signature digitale  Signature numérique exprimée en XML • Portion (ex.: élément) ou tout le document peut être signé • Un ou plusieurs signatures XML dans un même document XML • Une signature s’applique à tout URI ou contenu non XML (ex.: un fichier .jpg) • Seulement ce qui est signé est considéré sécuritaire

  19. XML signature digitale Élimination des variations dans le message (ex.: crlf en Windows et lf en Unix <Signature> <SignedInfo> (CanonicalizationMethod) (SignatureMethod) (<Reference (URI=)? > (Transforms)? (DigestMethod) (DigestValue) </Reference>)+ </SignedInfo> (SignatureValue) (KeyInfo)? (Object)* </Signature> Pointe àun URI (ex.: URI="#someElementID") DSAwithSHA1 pour stratégie de clé publique Ou HMAC-SHA1 pour l’intégrité Algorithm="http://www.w3.org/2000/09/ xmldsig#sha1" Valeur du condensé (digest) exprimé en base64 Signature numérique du block SignedInfo exprimé en base64

  20. Sécurité des services Web:Standards de sécurisation des services web • Encryptage avec XML • Chiffre une portion du message • Algorithmes variés utilisé pour le cryptage • Utilise quelques balises de XML Signature (dont l’élément KeyInfo) • Chiffrement persistent • Dans la transmission d’un message SOAP qui passe par plusieurs points • En cas de stockage dans une base de données

  21. Sécurité des services Web:Standards de sécurisation des services web • Encryptage avec XML • Exemple sans chiffrement <?xml version='1.0'?> <InfoPaiementxmlns='http://test.org/details'> <Name>Luc Utilisateur</Name> <CarteCreditLimite='12,000' Currency=‘CA'> <Numero>1234 5678 9012 3456</Numero> <Emetteur>Banque Locale</Emetteur> <Expiration>12/06</Expiration> </CarteCredit> </InfoPaiement>

  22. Exemple avec chiffrementcomplet de l’élément 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>

  23. Exemple avec chiffrement ducontenu de l’élément 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>

  24. Exemple avec chiffrement ducontenu de l’élément CarteCredit • Super-encryptage : <?xml version='1.0'?> <InfoPaiementxmlns='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> Le super encryptage serait: <?xml version='1.0'?> <InfoPaiementxmlns='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>

  25. Sécurité des services Web:Standards de sécurisation des services web • XKMS(XML Key Management Specification ) • Permet la gestion des clés publiques utilisées par exemple avec XML Encryption et XML Signature • Définit deux services Web • XML Key Registration Service Specification (X-KRSS) supporte les opérations (register, recover, reissue, and revoke) qui gèrent le cycle de vie d’une clé publique • XML Key Information Service Specification (X-KISS) supporte les opérations (locate & validate) de requêtes pour obtenir et valider une clé publique

  26. Sécurité des services Web:Standards de sécurisation des services web • WS-Security ou Web Services Security(WSS) • Une spécification d‘une extension de SOAP • Définit une façon standard de représenter l'information sur la sécurité dans un message • WS-Security permet : • De passer des tokens pour l’authentification et l’autorisation dans le header du message SOAP • De signer de manière numérique tout ou une partie du message et transmettre la signature • De chiffrer tout ou une partie du message • De passer l’information sur les clés de chiffrement et de vérification de la signature

  27. WS-Security • Dans l’enveloppe SOAP, l’entête de sécurité inclut : • Horodateur (Timestamp) • Aide à prévenir les attaques de rejeu (replay) • Jetons identifiant le sujet et les clés • Username token: nom et mot de passe • X509: nom et clé publique • Autres incluant les billets Kerberos, et clés de session

  28. WS-Security • Signatures • Syntaxe donnée par le standard XML-DSIG • Lier ensemble une liste d’éléments du message, avec la clé dérivée d’un jeton de sécurité • Clés de chiffrement • Syntaxe donnée par le standard XML-ENC • Plusieurs éléments du message peuvent être chiffrés

  29. Exemple d’intégration des diversstandards en sécurité

  30. Nom d’utilisateur/mot de passe, certificats digitaux X.509, Assertions SAML, Tickets Kerberos <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>

  31. Sécurité des services Web:Standards de sécurisation des services web • SAML • SAML (une identité portable) permet le transport des attributs de sécurité d’un individu • Précède les services Web mais a été appliqué à ceux-ci et introduit dans WS-Security • Dans un contexte de commerce électronique, chaque entité conserve son mécanisme d’authentification et SAML permet la confiance inter-domaine. • Chaque organisation fait ou non le choix de faire confiance aux membres d’une autre organisation basé sur les assertions SAML

  32. Sécurité des services Web:Standards de sécurisation des services web • SAML • SAML définit trois types d’assertion • Authentification (mot de passe, Kerberos, X.509, etc.) • Autorisation (peut accéder une ressource donnée de la manière spécifiée) • Attribut d’entité (donne de l’information sur une assertion d’authentification ou d’autorisation) • SAML un protocole de requêtes/réponses pour échanger et générer les assertions

  33. Conclusion • Utiliser la sécurité au niveau du message si possible versus le niveau transport et les méthodes propriétaires • Surveiller l’évolution des standards • Surveiller l’évolution des pare-feu pour accommoder les services Web (i.e. pare-feu XML et XML Gateways) • Ne pas négliger l’impact de la sécurité sur la performance des services Web

  34. À retenir • WS-Security n’est pas suffisant • Les standards répondent à certains types d’attaques • Besoins d’heuristiques pour contrevenir aux autres types d’attaques (XDoS, XVirus, etc.) • Une nouvelle classe d’appareil réseau est nécessaire: le parefeu XML • Inspecte les messages XML lorsqu’ils franchissent les frontières de l’organisation • Ajoute un niveau de sécurité et d’interopérabilité à l’infrastructure • Implémente les standards et les heuristiques et permettent de mettre en place les pratiques exemplaires

More Related