Le cadre des Web Services Partie 1 : Introduction



Documents pareils
XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Programmation Web Avancée Introduction aux services Web

Software Engineering and Middleware A Roadmap

Sécurité des Web Services (SOAP vs REST)

Les Services Web. Jean-Pierre BORG EFORT

Systèmes d'informations historique et mutations

CORBA. (Common Request Broker Architecture)

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Hébergement de sites Web

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?

OPC Factory Server- Réglage des paramètres de communication

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

NFP111 Systèmes et Applications Réparties

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

Les Architectures Orientées Services (SOA)

4. SERVICES WEB REST 46

Introduction aux «Services Web»

Architecture Orientée Service, JSON et API REST

Responsable du cours : Héla Hachicha. Année Universitaire :

Le modèle client-serveur

Urbanisme du Système d Information et EAI

Étude et applications de l approche MDA pour des plates-formes de Services Web

Sécurisation des architectures traditionnelles et des SOA

Architecture distribuée

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Introduction aux intergiciels

Architectures d'intégration de données

Problématiques de recherche. Figure Research Agenda for service-oriented computing

L architecture des services Web

Nombre de pages : 76. Les termes relatifs au socle ENT inscrits dans ce document sont définis dans le glossaire référencé : SocleENT_Glossaire.

Vulgarisation Java EE Java EE, c est quoi?

2 Chapitre 1 Introduction

Formation en Logiciels Libres. Fiche d inscription

De l Utilisation des VPNs pour l Administration et la Sécurité des Services Web

Architectures n-tiers Intergiciels à objets et services web

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Bienvenue sur Lab-Windows Il n'y a de vents favorables que pour ceux qui ont un cap

Web Services : Beyond the peer-to-peer architecture

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Prérequis. Résolution des problèmes WMI. Date 03/30/2010 Version 1.0 Référence 001 Auteur Antoine CRUE

Annexe C : Numéros de port couramment utilisés

Business Process Execution Language

Les nouvelles architectures des SI : Etat de l Art

Table des matières. Avant-propos

Mise en œuvre des serveurs d application

Etude critique de mécanismes de sécurité pour l architecture Jini

GRIDKIT: Pluggable Overlay Networks for Grid Computing

Master 2 Ecologie, Biodiversité, Evolution UE BADE - Pascal Rigolet

Tour d horizon des différents SSO disponibles

MEAD : temps réel et tolérance aux pannes pour CORBA

Groupe Eyrolles, 2004, ISBN :


République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

Nouvelles technologies pour l intégration : les ESB

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Environnements de Développement

Patrons de Conception (Design Patterns)

Solutions de gestion de la sécurité Livre blanc

GLOSSAIRE. On premise (sur site)

e-business, EAI et Business Intelligence Le triptyque gagnant profondément les structures des organisations et par conséquence

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Intégration de données

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes

Les applications Internet

CORBA haute performance

ENVOLE 1.5. Calendrier Envole

Module : IFC2. Markus Jaton

Introduction à la conception de systèmes d information

Programmation Web. Introduction

ABB personnalise son service client avec la plate-forme en ligne One ABB on the Web Jan Anders Solvik, Håkan Wärdell, Nathan Becker

Petite définition : Présentation :

Contribution à l allocation dynamique de ressources pour les composants expressifs dans les systèmes répartis

L3 informatique TP n o 2 : Les applications réseau

Oauth : un protocole d'autorisation qui authentifie?

Java et les bases de données

Mise à jour : Octobre 2011

Module BD et sites WEB

Urbanisation des Systèmes d'information

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Fiche Technique. Cisco Security Agent

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Jean-Philippe VIOLET Solutions Architect

Configuration Interface for MEssage ROuting

Architecture SOA Un Système d'information agile au service des entreprises et administrations

Analyse des techniques et des standards pour l interopérabilité entre plateformes

Bien architecturer une application REST

OmniVista 2700 Application complémentaires pour l OmniVista 2500 Network Management

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Transcription:

Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/21

Agenda (partie 1) 1/2 Introduction Services Web Introduction Historique de Sun RPC à CORBA L avenir? Sûreté du logiciel Simple? non! Architecture et Design Réalisation Sécurité en ingénierie du Logiciel p.2/21

Agenda (partie 2) 2/2 Sûreté des Services Web Risques Introduction aux éléments sécurités Introduction aux Bonnes pratiques Conclusion Bibliographief/réf/link Acronymes Q&R Sécurité en ingénierie du Logiciel p.3/21

Introduction 1/2 Pourquoi les Web Services? L historique... Protocoles de communication liés aux SEs, applications, API accessible à un type uniquement de SE, Complexité (structure base de données, langage utilisé,...), Interfaçage difficile, Services distribués, Sécurité en ingénierie du Logiciel p.4/21

Introduction 2/2 Pourquoi les Web Services? Internet Tim Berner Lee créa le premier client Web en 1990, Conçu pour une interface Homme-Machine, Evolution vers machine-machine, Parsing automatique difficile, Interface instable et propre à chaque technologie/site, Sécurité en ingénierie du Logiciel p.5/21

Services Web Une longue route... Plusieurs tentatives, -> SOAP, XML-RPC, WSDL,... Evolution constante (!) des standards, Sécurité en ingénierie du Logiciel p.6/21

Services Web - Origines Les origines du concept... SUN Remote Procedure Call Première approche de standardiser les interactions entre un client et un serveur via un modèle de Remote Procedure Call, Le serveur offre des procédures (identifiées par un nom) et le client demande au serveur l accès à une procédure donnée avec les valeurs (paramètres), XDR (external Data Representation) solutionne le (une partie) problème de la représentation binaire des données, Sécurité en ingénierie du Logiciel p.7/21

Services Web - Origines Microsoft DCOM (Distributed Component Object Model) (COM -> DCOM -> COM+) Pas uniquement des procédures (comme SUN RPC) mais aussi un interfaçage avec des objets ou appels de méthodes, DCOM se veut neutre par rapport à la plateforme, au langage et même au Transport, DCOM est resté dans l environnement Microsoft pour des questions de standardisation, DCOM est propriétaire. (->.NET normalisé ECMA) Sécurité en ingénierie du Logiciel p.8/21

Services Web - Origines CORBA (Common Object Request Broker Architecture) Fonctionne avec un dispatcher (ORB) pour les requêtes et les transferts vers un serveur donné, Utilisé sur des très larges projets, IDL (Interface Design Language) est un langage de description des services offerts par l application, La complexité de CORBA est souvent une source de problèmes (IDL complexes, transport IIOP & securité,...), Sécurité en ingénierie du Logiciel p.9/21

Services Web - Avenir Insatisfaction avec DCOM, SUN RPC, DCOM, RMI,... Sortir des problèmes de compatibilités systèmes, langage et format, Sortir du problème propriétaire et créer des standards, Utiliser l infrastructure Internet existante, Simplifier et limiter le temps de développement, -> XML-RPC, SOAP,... Un rêve? Les questions de performances, de gestion des erreurs, de sécurité des infrastructures distribuées utilisant les Services Web existent toujours... Sécurité en ingénierie du Logiciel p.10/21

Sûreté du logiciel If our software is buggy, what does that say about its security? Robert H. Morris Pourquoi est-il si difficile de réaliser des logiciels sûrs? Questions techniques, Facteurs humains, Facteurs économiques, Sécurité en ingénierie du Logiciel p.11/21

Sûreté du logiciel Architecture et Design : quelques bonnes questions... Contre qui se protéger? Que voulez-vous protéger dans votre logiciel? Quel est le point faible de votre logiciel? Que peut-il arriver de pire à votre logiciel? Quelle est votre architecture de sécurité? Quelles sont vos standards? Avez-vous utilisé les bonnes pratiques? Avez-vous testé la sécurité du logiciel? Sécurité en ingénierie du Logiciel p.12/21

Sûreté du logiciel quelques bonnes pratiques... Pensez à la sécurité de votre logiciel au début du design, Pensez à vos ennemis lors du design, Utilisez le minimum de privilèges pour votre logiciel, Utilisez une gestion solide et simple des erreurs, La simplicité sera votre maître mot, Utilisez des actions minimales par défaut, N utilisez pas l obscurcissement,... Sécurité en ingénierie du Logiciel p.13/21

Sûreté du logiciel Postfix MTA (Wietse Venema) un exemple de design sécurité pour un serveur de mail : Privilèges minimums (p.ex. chroot) surtout pour les composants en contact avec l extérieur, Isolation des processus (aucun accès direct), Environnement contrôlé (p.ex. master qui contrôle les autre processus), Confiance minimale entre les composants, Contrôle des entrées importantes et tronquées, Contrôle du nombres du processus, Clarté du design et du code source (cf. le Logiciel), Sécurité en ingénierie du Logiciel p.14/21

Sûreté des services web Les services web sont des logiciels donc vous avez tous les problèmes du logiciel plus : Une architecture décentralisée, Une administration décentralisée, Environnement hétérogène, (souvent) Ouvert à Internet, Des connections entre plusieurs points, Ainsi que tous les problèmes relatifs au différentes couches de transport utilisées (TCP/IP) par les services web... Sécurité en ingénierie du Logiciel p.15/21

Sûreté des services web Les points critiques : Authentification, Autorisation / Access Control, Single Sign On, Chiffrage (Encryption), Non-Repudiation (messages), Mesures de protection, Sécurité en ingénierie du Logiciel p.16/21

Conclusion Les standards autour des services web évoluent encore et ils existent encore un nombre important de risques sécurités (comme tous les logiciels, c est inevitable). Une bonne compréhension de l architecture des services web permet de mieux prévenir les risques et de créer des logiciels utilisant ces services. Le but majeur du cours est de créer un esprit de sécurité lors de la mise en pratique. Sécurité en ingénierie du Logiciel p.17/21

Bibliographie The Practice of Programming, Brian W. Kernighan, Rob Pike - Addison Wesley. 1999. ISBN 0-201-61586-X. Building Secure Software, John Viega, Gary McGraw - Addison Wesley. Summer, 2001. ISBN 020172152X. Web Services Essentials, Ethan Cerami - O Reilly. ISBN 0-596-00224-6. Programming Web Services with XML-RPC, Simon St. Laurent, Joe Johnston, Edd Dumbill - O Reilly. June 2001. ISBN 0-596-00119-3. Sécurité en ingénierie du Logiciel p.18/21

Liens http://www.w3.org/ (W3C) (de XML à SOAP en passant par HTTP) http://www.xmlrpc.com/ (de XML-RPC à XML-RPC) http://www.soapware.org/ (de SOAP à SOAP (librairies, serveur,...) http://www.w3.org/2002/ws/ (Services Web) http://www.webservices.org/ Sécurité en ingénierie du Logiciel p.19/21

Acronymes XML : Extensible Markup Language XML-RPC : XML-Remote Procedure Call SOAP : Simple Object Access Protocol WSDL : Web Service Definition Language UDDI : Universal Description, Discovery, and Integration SSL/TLS : Secure Socket Layer / Transport Layer Security Sécurité en ingénierie du Logiciel p.20/21

Q&R adulau@foo.be http://www.foo.be/cours/securite-webservices/ 3B12 DCC2 82FA 2931 2F5B 709A 09E2 CD49 44E6 CBCD Sécurité en ingénierie du Logiciel p.21/21