SlideShare una empresa de Scribd logo
1 de 26
Institut National des Sciences Appliquées et de Technologie Tunisie

E-Services

Chapitre 5 – Sécurité des Services
Dr. Lilia SFAXI
GL5 - 2013-2014
1

Plan du Chapitre



Sécurité des Services



Sécurité des Web Services
2

Plan



Sécurité des Services



Sécurité des Web Services
3

Besoins de la Sécurité


Services exposent des fonctions métier : besoin de protéger :
o
o

Les données

o



Les règles métier
Les fonctionnalités

Problèmes de sécurité recouvrent plusieurs domaines
o

Protection des données sensibles

o

Authentification

o

Autorisation des utilisateurs

o

Protection contre les attaques de code et utilisateurs malveillants

o

Audit et journalisation des évènements et de l’activité des utilisateurs
OWASP

4

Open Web Applications Security Project



Organisation à but non lucratif, visant à améliorer la sécurité des logiciels



Permet de:
o

Rendre la sécurité des logiciels visible

o

Aider les organisations à prendre les décisions sur les risques de sécurité



Indépendant des vendeur, ne recommande pas de produits commerciaux



Plusieurs projets, par exemple:
o
o



Enterprise Security API: bibliothèque de contrôle de la sécurité des applications web
WebGoat: application web délibérément non sécurisée, permettant d’enseigner des leçons de
sécurité aux concepteurs d’applications (version J2EE, ASP.NET)

Définition d’un top 10 des risques des applications
OWASP

5

Top 10 des Risques de Sécurité des Applications (1/2)


A1 : Injection (SQL, OS, XPath, Hibernate…)
o



A2 : Violation de Gestion d’Authentification et de Session
o



Quand une application accepte des données non fiables et les envoie à un browser web sans validation
appropriée  permet aux attaquants d’exécuter du script dans le navigateur de la victime afin de
détourner des sessions utilisateur, défigurer des sites web ou rediriger les utilisateurs vers des sites
malveillants

A4 : Références directes non sécurisées à un objet
o



Compromettre les mots de passe, clés, jetons de session  s’approprier les identités des utilisateurs

A3 : Cross-Site Scripting (XSS)
o



Donnée non fiable est envoyée à un interpréteur en tant qu’élément d’une commande ou requête 
des commandes fortuites peuvent être exécutées, et des données non autorisées peuvent être accédées

Quand un développeur expose une référence vers un fichier, dossier, enregistrement de BD ou clé.

A5 : Mauvaise configuration de sécurité
o

Nécessité de mise en œuvre de paramètres de sécurité pour l’application, les serveurs et la plateforme
OWASP

6

Top 10 des Risques de Sécurité des Applications (2/2)


A6 : Exposition de données Sensibles
o



A7 : Manque de contrôle d’accès au niveau fonctionnel
o



L’application force le navigateur de la victime à envoyer une requête HTTP contenant le cookie de
session à une application web vulnérable.

A9 : Utilisation de composants avec des vulnérabilités connues
o



Les vérifications de contrôle d’accès doivent être faites sur le serveur lors de l’accès à chaque fonction.

A8 : Falsification de requête intersite (CSRF: Cross-Site Reference Forgery)
o



Nécessité de protéger les données sensibles telles que les num de cartes de crédit, informations
d’authentification… Possibilité de vol d’identité sinon.

Utilisation de bibliothèques, contextes et autres modules logiciels qui peuvent causer des pertes de
données sérieuses ou une prise de contrôle du serveur.

A10 : Redirections et renvois non validés
o

Redirection vers d’autres pages et sites sans validation: peuvent être des sites de fishing ou malware.
7

Plan



Sécurité des Services



Sécurité des Web Services
8

Web Services
9

Protocoles Utilisés

Découverte

UDDI

Description

WSDL

Message XML
Transport

XML-RPC/SOAP/XML
HTTP/SMTP/FTP/…
IP
10

Protocoles de Sécurité
Relations de confiance – WS Trust/WS Federation/Liberty
Alliance
SOAP – WS Security / SAML / WS Policy
XML – XML Signature / XML Encryption
HTTP – HTTP Authentication
TCP – SSL/TLS

IP - IPSec
Sécurité Web Classique
11

XML Signature


Objectif: signature numérique d’un document XML
o

Garantir l’authenticité et l’intégrité du document

o

Signature de tout ou partie du document XML



Recommendation W3C: XML Signature Syntax and Processing



Peut être:
o

Enveloppante : La signature contient l’élément à signer dans une balise Object

o

Enveloppée : La signature est un élément du contenu qu’elle signe.

o

Détachée : La signature est dans un élément externe à l’objet signé, dans le même
document ou dans un document externe.
12

XML Encryption


Objectif : chiffrement d’un document XML
o

Garantir la confidentialité de bout en bout du document



Recommendation W3C : XML Encryption Syntax and Processing



Possibilité d’encrypter tout ou partie du document, avec 1 ou différentes clés



Chiffrement symétrique
o

Clé connue des deux parties

o

Plusieurs clés communes et identifiant de la clé utilisée transmis

o

Transmission de la clé partagée encryptée avec la clef publique du correspondant
13

WS-Security


Standard OASIS, permet de sécuriser les services web



Objectifs
o
o

Confidentialité des messages

o



Authentification & Autorisation
Intégrité des messages

Fondation d’autres standards
WS-Secure
Conversation

WSFederation

WSAuthorization

WS-Policy

WS-Trust

WS-Privacy

WS-Security
WS-Secure
Conversation

WS-Security

WSFederation

WSAuthorization

WS-Policy

WS-Trust

14

WS-Privacy

WS-Security



Extension de SOAP : Définition d’un Header SOAP contenant l’information de sécurité



Confidentialité des messages SOAP
o
o

Utilisation d’une clef partagée

o



Utilisation de XML-Encryption pour un ou plusieurs éléments SOAP
Possibilité d’encrypter des éléments différents avec des clefs différentes

Intégrité des messages SOAP
o



Utilisation de XML-Signature

Authentification ou Autorisation
o

Utilisation des jetons de sécurité (Security Tokens) : login/mdp, certificat X509…
WS-Secure
Conversation

WS-Policy


WSAuthorization

WS-Policy

WS-Trust

WS-Privacy

WS-Security

Objectif: spécifier des informations et des exigences pour un WS
o

Pour la sécurité, qualité de service…

o



WSFederation

S’applique aussi bien au serveur qu’au client

Exemples:
o

Utilisation d’une version spécifique de SOAP

o

Exigence de signature

o

Information sur le format de la réponse (encryptée, signée...)

15
WS-Secure
Conversation

WS-Trust

WSFederation

WSAuthorization

WS-Policy

WS-Trust

WS-Privacy

WS-Security



Extension à la WS-Security



Gérer la génération, le renouvellement et la validation de jetons de sécurité



Problèmes
o
o



Émettre et obtenir des jetons de sécurité
Etablir et valider des relations de confiance

Permet de définir :
o

Les formats des messages permettant de demander des jetons ainsi que leurs réponses

o

Les mécanismes d’échange de clefs

o

Le concept de STS (Security Token Service)

o

Le principe de Délégation d’identité

16
WS-Secure
Conversation

Security Token Service


WSAuthorization

WS-Policy

STS

WSFederation

WS-Trust

17

WS-Privacy

WS-Security

Autorité en qui le client et le serveur ont confiance
o

Utilisé si le client et service sont dans des domaines de sécurité différents



Service web qui émet, valide ou échange un jeton de sécurité



Permet de :
o
o

Valider ou non un jeton de sécurité

o

Renouveler ou annuler un jeton de sécurité

o



Générer un jeton de sécurité basé sur des paramètres d’authentification

Transformer un jeton en un autre de type différent

Une demande de jeton de sécurité est envoyée par le client au STS via une requête RST (Request Security Token)
STS

1
2
Client

3
Service

1.

Client appelle STS pour s’authentifier, et obtient un jeton

1.

Client transfère le jeton à Service

1.

Service envoie le jeton au STS pour validation. (peut
également le faire en local, ou l’envoyer à un autre STS)
WS-Secure
Conversation

WSAuthorization

WS-Policy

Délégation d’Identité

WSFederation

WS-Trust

18

WS-Privacy

WS-Security



Utilisée si un service veut accéder à un autre service au nom du client



Extension du RST pour indiquer la délégation et le transfert des besoins
o

Utilisation par exemple de l’élément <wst:ActAs>

o

Demander au STS d’inclure dans le jeton de sécurité que ce service peut agir au nom de ce
client
1.
2.
3.

STS

1
2
Client

3

4
Service1

Service

6

5

4.
5.
6.

Client appelle STS pour s’authentifier, et obtient un jeton
Client transfère le jeton à Service
Service appelle STS pour s’authentifier en ajoutant un ActAs
à son RTS, référençant Client. Il obtient un jeton dont le sujet
est Client et contenant un ActAs référençant Service.
Service appelle Service1 en lui passant le jeton qu’il a reçu.
Service1 reconnait que Service agit au nom de Client, et lui
donne donc les accès vers la ressource demandée.
Service transfère la réponse à Client
WS-Secure
Conversation

WS-Privacy


WSFederation

WSAuthorization

WS-Policy

WS-Trust

WS-Privacy

WS-Security

Permet aux sites web de :
o

Spécifier leurs politiques de confidentialité

o



19

Vérifier que les requêtes entrantes respectent ces politiques

Décrire comment les politiques d’accès à un service web sont spécifiées et gérées
WS-Secure
Conversation

WS-Secure Conversation

WSFederation

WSAuthorization

WS-Policy

WS-Trust

20

WS-Privacy

WS-Security



Spécification des services web, permettant la création et le partage de contextes de
sécurité



Objectif:
o



Fournit une communication sécurisée entre les services web en utilisant les clefs de session
o



Établir des contextes de sécurité pour plusieurs échanges de messages SOAP, en réduisant le
surcoût de l’établissement des clefs

Clef de session: partagée par deux ou plusieurs entités dans un même contexte de sécurité

Établissement d’un nouveau contexte : génération d’un jeton de sécurité pour le contexte:
o

Par un STS (WS-Trust)

o

Par une des parties communicantes, il sera propagé ensuite par un message

o

Suite à une négociation
WS-Secure
Conversation

WS-Federation

WSFederation

WSAuthorization

WS-Policy

WS-Trust

21

WS-Privacy

WS-Security



Fédération : Ensemble de domaines ayant établi une relation de confiance



Spécification qui définit des mécanismes de fédération d’espaces de confiance
hétérogènes



Objectif:
o

SSO à travers des domaines de confiance en utilisant les identités de ces domaines



Extension de WS-Trust, s’appuie sur WS-Security, WS-Policy et WS-SecureConversation



Description de règles de confiance entre des environnements hétérogènes
o

Permet donc l’authentification mutuelle d’applications utilisant des mécanismes de sécurité
hétérogènes, comme Kerberos et X509
WS-Secure
Conversation

WS-Authorization


WS-Policy

WS-Trust

22

WS-Privacy

WS-Security

Vérifier qu’une requête reçue (SOAP Request) est une requête que l’envoyeur est autorisé à
émettre, donc que le service est autorisé à y répondre

WS-Authorization
o



WSAuthorization

Autorisation :
o



WSFederation

Spécification qui décrit comment gérer les données et les politiques d’autorisation

Comment définir les demandes d’accès dans les jetons de sécurité?
o

Utilisation (entre autres) des Assertions : SAML
WS-Secure
Conversation

Service Assertion Markup Language

WSAuthorization

WS-Policy

SAML

WSFederation

WS-Trust

WS-Privacy

WS-Security



Standard informatique définissant un protocole d’échange d’informations de sécurité



Propose une solution pour le problème de SSO (Single Sign On)



Utilise la XML-Encryption et XML-Signature



Principalement 3 rôles
o
o

Le fournisseur d’identité

o



L’utilisateur

Le fournisseur de service

Protocole de communication :
o

L’utilisateur envoie une requête au fournisseur de service

o

Le fournisseur de service demande une assertion d’identité au fournisseur d’identité (SAML)


Selon cette assertion, une décision de contrôle d’accès est prise

23
OWASP

Top 10 des Risques de Sécurité des Services Web



A1 : Manque d’authentification



A2 : Manque d’habilitation



A3 : Manque de trace d’audit



A4 : Manque de politique de sécurité



A5 : Défaillance XML



A6 : Détournement d’identité



A7 : Faiblesse de clefs



A8 : Stockage cryptographique non sécurisé



A9 : Communications non sécurisées



A10 : Manque de restriction d’accès à une URL

24
25

Sources



Sites Web




OWASP web site : https://www.owasp.org/index.php/Main_Page, consulté le 24/11/13

Présentations
o

Sébastien Gioria: Introduction à la sécurité des Web
Services, CONFOO, Montréal, Canada, 10 Mars 2011

Más contenido relacionado

La actualidad más candente

Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web servicesmohammed addoumi
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveurAmeni Ouertani
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring CloudFlorian Beaufumé
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOALilia Sfaxi
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESBLilia Sfaxi
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServicesLilia Sfaxi
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
Les web services
Les web servicesLes web services
Les web servicesdihiaselma
 
applications-reparties
applications-repartiesapplications-reparties
applications-repartiesmourad50
 

La actualidad más candente (20)

Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveur
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Soa & services web
Soa & services webSoa & services web
Soa & services web
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de Services
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Les web services
Les web servicesLes web services
Les web services
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 

Similar a Chp5 - Sécurité des Services

Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...
Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...
Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...Philippe Beraud
 
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 Sourceguest3be047
 
Vous avez dit protocoles Web d’authentification et d’autorisation ! De quoi p...
Vous avez dit protocoles Web d’authentification et d’autorisation ! De quoi p...Vous avez dit protocoles Web d’authentification et d’autorisation ! De quoi p...
Vous avez dit protocoles Web d’authentification et d’autorisation ! De quoi p...Microsoft
 
Strong Authentication with PKI
Strong Authentication with PKIStrong Authentication with PKI
Strong Authentication with PKISylvain Maret
 
Cours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCHILDZ Laurent
 
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 AzureNis
 
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/2Sylvain Maret
 
Webinar SSL Français
Webinar SSL FrançaisWebinar SSL Français
Webinar SSL FrançaisSSL247®
 
Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Microsoft Technet France
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécuritédihiaselma
 
Sécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-SecuritySécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-SecuritySlimen Belhaj Ali
 
Sécurités & Annuaires
Sécurités & AnnuairesSécurités & Annuaires
Sécurités & AnnuairesPaulin CHOUDJA
 
LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)Clément OUDOT
 

Similar a Chp5 - Sécurité des Services (20)

Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...
Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...
Vous avez dit protocoles Web d'authentification et d'autorisation ! De quoi p...
 
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
 
OpenSSO Aquarium Paris
OpenSSO Aquarium ParisOpenSSO Aquarium Paris
OpenSSO Aquarium Paris
 
Vous avez dit protocoles Web d’authentification et d’autorisation ! De quoi p...
Vous avez dit protocoles Web d’authentification et d’autorisation ! De quoi p...Vous avez dit protocoles Web d’authentification et d’autorisation ! De quoi p...
Vous avez dit protocoles Web d’authentification et d’autorisation ! De quoi p...
 
Strong Authentication with PKI
Strong Authentication with PKIStrong Authentication with PKI
Strong Authentication with PKI
 
Cours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZero
 
Sécurité informatique mobile cloud astoine maroc francais
Sécurité informatique mobile cloud astoine maroc francaisSécurité informatique mobile cloud astoine maroc francais
Sécurité informatique mobile cloud astoine maroc francais
 
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
 
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
 
OWASP TOP 10 Proactive
OWASP TOP 10 ProactiveOWASP TOP 10 Proactive
OWASP TOP 10 Proactive
 
Systemes authentification
Systemes authentificationSystemes authentification
Systemes authentification
 
SSL.pdf
SSL.pdfSSL.pdf
SSL.pdf
 
Webinar SSL Français
Webinar SSL FrançaisWebinar SSL Français
Webinar SSL Français
 
Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
PKI par la Pratique
PKI par la PratiquePKI par la Pratique
PKI par la Pratique
 
Sécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-SecuritySécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-Security
 
Sécurités & Annuaires
Sécurités & AnnuairesSécurités & Annuaires
Sécurités & Annuaires
 
LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)
 
Solution standard de compensation appliquée à une architecture e business séc...
Solution standard de compensation appliquée à une architecture e business séc...Solution standard de compensation appliquée à une architecture e business séc...
Solution standard de compensation appliquée à une architecture e business séc...
 

Más de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 

Más de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

Chp5 - Sécurité des Services

  • 1. Institut National des Sciences Appliquées et de Technologie Tunisie E-Services Chapitre 5 – Sécurité des Services Dr. Lilia SFAXI GL5 - 2013-2014
  • 2. 1 Plan du Chapitre  Sécurité des Services  Sécurité des Web Services
  • 4. 3 Besoins de la Sécurité  Services exposent des fonctions métier : besoin de protéger : o o Les données o  Les règles métier Les fonctionnalités Problèmes de sécurité recouvrent plusieurs domaines o Protection des données sensibles o Authentification o Autorisation des utilisateurs o Protection contre les attaques de code et utilisateurs malveillants o Audit et journalisation des évènements et de l’activité des utilisateurs
  • 5. OWASP 4 Open Web Applications Security Project  Organisation à but non lucratif, visant à améliorer la sécurité des logiciels  Permet de: o Rendre la sécurité des logiciels visible o Aider les organisations à prendre les décisions sur les risques de sécurité  Indépendant des vendeur, ne recommande pas de produits commerciaux  Plusieurs projets, par exemple: o o  Enterprise Security API: bibliothèque de contrôle de la sécurité des applications web WebGoat: application web délibérément non sécurisée, permettant d’enseigner des leçons de sécurité aux concepteurs d’applications (version J2EE, ASP.NET) Définition d’un top 10 des risques des applications
  • 6. OWASP 5 Top 10 des Risques de Sécurité des Applications (1/2)  A1 : Injection (SQL, OS, XPath, Hibernate…) o  A2 : Violation de Gestion d’Authentification et de Session o  Quand une application accepte des données non fiables et les envoie à un browser web sans validation appropriée  permet aux attaquants d’exécuter du script dans le navigateur de la victime afin de détourner des sessions utilisateur, défigurer des sites web ou rediriger les utilisateurs vers des sites malveillants A4 : Références directes non sécurisées à un objet o  Compromettre les mots de passe, clés, jetons de session  s’approprier les identités des utilisateurs A3 : Cross-Site Scripting (XSS) o  Donnée non fiable est envoyée à un interpréteur en tant qu’élément d’une commande ou requête  des commandes fortuites peuvent être exécutées, et des données non autorisées peuvent être accédées Quand un développeur expose une référence vers un fichier, dossier, enregistrement de BD ou clé. A5 : Mauvaise configuration de sécurité o Nécessité de mise en œuvre de paramètres de sécurité pour l’application, les serveurs et la plateforme
  • 7. OWASP 6 Top 10 des Risques de Sécurité des Applications (2/2)  A6 : Exposition de données Sensibles o  A7 : Manque de contrôle d’accès au niveau fonctionnel o  L’application force le navigateur de la victime à envoyer une requête HTTP contenant le cookie de session à une application web vulnérable. A9 : Utilisation de composants avec des vulnérabilités connues o  Les vérifications de contrôle d’accès doivent être faites sur le serveur lors de l’accès à chaque fonction. A8 : Falsification de requête intersite (CSRF: Cross-Site Reference Forgery) o  Nécessité de protéger les données sensibles telles que les num de cartes de crédit, informations d’authentification… Possibilité de vol d’identité sinon. Utilisation de bibliothèques, contextes et autres modules logiciels qui peuvent causer des pertes de données sérieuses ou une prise de contrôle du serveur. A10 : Redirections et renvois non validés o Redirection vers d’autres pages et sites sans validation: peuvent être des sites de fishing ou malware.
  • 11. 10 Protocoles de Sécurité Relations de confiance – WS Trust/WS Federation/Liberty Alliance SOAP – WS Security / SAML / WS Policy XML – XML Signature / XML Encryption HTTP – HTTP Authentication TCP – SSL/TLS IP - IPSec Sécurité Web Classique
  • 12. 11 XML Signature  Objectif: signature numérique d’un document XML o Garantir l’authenticité et l’intégrité du document o Signature de tout ou partie du document XML  Recommendation W3C: XML Signature Syntax and Processing  Peut être: o Enveloppante : La signature contient l’élément à signer dans une balise Object o Enveloppée : La signature est un élément du contenu qu’elle signe. o Détachée : La signature est dans un élément externe à l’objet signé, dans le même document ou dans un document externe.
  • 13. 12 XML Encryption  Objectif : chiffrement d’un document XML o Garantir la confidentialité de bout en bout du document  Recommendation W3C : XML Encryption Syntax and Processing  Possibilité d’encrypter tout ou partie du document, avec 1 ou différentes clés  Chiffrement symétrique o Clé connue des deux parties o Plusieurs clés communes et identifiant de la clé utilisée transmis o Transmission de la clé partagée encryptée avec la clef publique du correspondant
  • 14. 13 WS-Security  Standard OASIS, permet de sécuriser les services web  Objectifs o o Confidentialité des messages o  Authentification & Autorisation Intégrité des messages Fondation d’autres standards WS-Secure Conversation WSFederation WSAuthorization WS-Policy WS-Trust WS-Privacy WS-Security
  • 15. WS-Secure Conversation WS-Security WSFederation WSAuthorization WS-Policy WS-Trust 14 WS-Privacy WS-Security  Extension de SOAP : Définition d’un Header SOAP contenant l’information de sécurité  Confidentialité des messages SOAP o o Utilisation d’une clef partagée o  Utilisation de XML-Encryption pour un ou plusieurs éléments SOAP Possibilité d’encrypter des éléments différents avec des clefs différentes Intégrité des messages SOAP o  Utilisation de XML-Signature Authentification ou Autorisation o Utilisation des jetons de sécurité (Security Tokens) : login/mdp, certificat X509…
  • 16. WS-Secure Conversation WS-Policy  WSAuthorization WS-Policy WS-Trust WS-Privacy WS-Security Objectif: spécifier des informations et des exigences pour un WS o Pour la sécurité, qualité de service… o  WSFederation S’applique aussi bien au serveur qu’au client Exemples: o Utilisation d’une version spécifique de SOAP o Exigence de signature o Information sur le format de la réponse (encryptée, signée...) 15
  • 17. WS-Secure Conversation WS-Trust WSFederation WSAuthorization WS-Policy WS-Trust WS-Privacy WS-Security  Extension à la WS-Security  Gérer la génération, le renouvellement et la validation de jetons de sécurité  Problèmes o o  Émettre et obtenir des jetons de sécurité Etablir et valider des relations de confiance Permet de définir : o Les formats des messages permettant de demander des jetons ainsi que leurs réponses o Les mécanismes d’échange de clefs o Le concept de STS (Security Token Service) o Le principe de Délégation d’identité 16
  • 18. WS-Secure Conversation Security Token Service  WSAuthorization WS-Policy STS WSFederation WS-Trust 17 WS-Privacy WS-Security Autorité en qui le client et le serveur ont confiance o Utilisé si le client et service sont dans des domaines de sécurité différents  Service web qui émet, valide ou échange un jeton de sécurité  Permet de : o o Valider ou non un jeton de sécurité o Renouveler ou annuler un jeton de sécurité o  Générer un jeton de sécurité basé sur des paramètres d’authentification Transformer un jeton en un autre de type différent Une demande de jeton de sécurité est envoyée par le client au STS via une requête RST (Request Security Token) STS 1 2 Client 3 Service 1. Client appelle STS pour s’authentifier, et obtient un jeton 1. Client transfère le jeton à Service 1. Service envoie le jeton au STS pour validation. (peut également le faire en local, ou l’envoyer à un autre STS)
  • 19. WS-Secure Conversation WSAuthorization WS-Policy Délégation d’Identité WSFederation WS-Trust 18 WS-Privacy WS-Security  Utilisée si un service veut accéder à un autre service au nom du client  Extension du RST pour indiquer la délégation et le transfert des besoins o Utilisation par exemple de l’élément <wst:ActAs> o Demander au STS d’inclure dans le jeton de sécurité que ce service peut agir au nom de ce client 1. 2. 3. STS 1 2 Client 3 4 Service1 Service 6 5 4. 5. 6. Client appelle STS pour s’authentifier, et obtient un jeton Client transfère le jeton à Service Service appelle STS pour s’authentifier en ajoutant un ActAs à son RTS, référençant Client. Il obtient un jeton dont le sujet est Client et contenant un ActAs référençant Service. Service appelle Service1 en lui passant le jeton qu’il a reçu. Service1 reconnait que Service agit au nom de Client, et lui donne donc les accès vers la ressource demandée. Service transfère la réponse à Client
  • 20. WS-Secure Conversation WS-Privacy  WSFederation WSAuthorization WS-Policy WS-Trust WS-Privacy WS-Security Permet aux sites web de : o Spécifier leurs politiques de confidentialité o  19 Vérifier que les requêtes entrantes respectent ces politiques Décrire comment les politiques d’accès à un service web sont spécifiées et gérées
  • 21. WS-Secure Conversation WS-Secure Conversation WSFederation WSAuthorization WS-Policy WS-Trust 20 WS-Privacy WS-Security  Spécification des services web, permettant la création et le partage de contextes de sécurité  Objectif: o  Fournit une communication sécurisée entre les services web en utilisant les clefs de session o  Établir des contextes de sécurité pour plusieurs échanges de messages SOAP, en réduisant le surcoût de l’établissement des clefs Clef de session: partagée par deux ou plusieurs entités dans un même contexte de sécurité Établissement d’un nouveau contexte : génération d’un jeton de sécurité pour le contexte: o Par un STS (WS-Trust) o Par une des parties communicantes, il sera propagé ensuite par un message o Suite à une négociation
  • 22. WS-Secure Conversation WS-Federation WSFederation WSAuthorization WS-Policy WS-Trust 21 WS-Privacy WS-Security  Fédération : Ensemble de domaines ayant établi une relation de confiance  Spécification qui définit des mécanismes de fédération d’espaces de confiance hétérogènes  Objectif: o SSO à travers des domaines de confiance en utilisant les identités de ces domaines  Extension de WS-Trust, s’appuie sur WS-Security, WS-Policy et WS-SecureConversation  Description de règles de confiance entre des environnements hétérogènes o Permet donc l’authentification mutuelle d’applications utilisant des mécanismes de sécurité hétérogènes, comme Kerberos et X509
  • 23. WS-Secure Conversation WS-Authorization  WS-Policy WS-Trust 22 WS-Privacy WS-Security Vérifier qu’une requête reçue (SOAP Request) est une requête que l’envoyeur est autorisé à émettre, donc que le service est autorisé à y répondre WS-Authorization o  WSAuthorization Autorisation : o  WSFederation Spécification qui décrit comment gérer les données et les politiques d’autorisation Comment définir les demandes d’accès dans les jetons de sécurité? o Utilisation (entre autres) des Assertions : SAML
  • 24. WS-Secure Conversation Service Assertion Markup Language WSAuthorization WS-Policy SAML WSFederation WS-Trust WS-Privacy WS-Security  Standard informatique définissant un protocole d’échange d’informations de sécurité  Propose une solution pour le problème de SSO (Single Sign On)  Utilise la XML-Encryption et XML-Signature  Principalement 3 rôles o o Le fournisseur d’identité o  L’utilisateur Le fournisseur de service Protocole de communication : o L’utilisateur envoie une requête au fournisseur de service o Le fournisseur de service demande une assertion d’identité au fournisseur d’identité (SAML)  Selon cette assertion, une décision de contrôle d’accès est prise 23
  • 25. OWASP Top 10 des Risques de Sécurité des Services Web  A1 : Manque d’authentification  A2 : Manque d’habilitation  A3 : Manque de trace d’audit  A4 : Manque de politique de sécurité  A5 : Défaillance XML  A6 : Détournement d’identité  A7 : Faiblesse de clefs  A8 : Stockage cryptographique non sécurisé  A9 : Communications non sécurisées  A10 : Manque de restriction d’accès à une URL 24
  • 26. 25 Sources  Sites Web   OWASP web site : https://www.owasp.org/index.php/Main_Page, consulté le 24/11/13 Présentations o Sébastien Gioria: Introduction à la sécurité des Web Services, CONFOO, Montréal, Canada, 10 Mars 2011